All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: libspdm_dump_hex_str
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/support.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_hex_str(const uint8_t *buffer, size_t buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:44,1
    - Dst: libspdm_dump_data
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:45,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:50,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:46,1
    - Dst: libspdm_dump_data
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:51,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: libspdm_dump_hex
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/support.c
    functionUses: []
    functionsReached:
    - libspdm_dump_data
    - printf
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_hex(const uint8_t *data, size_t size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:70,1
    - Dst: fread
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:87,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:114,1
    - Dst: read
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:126,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:128,1
    - Dst: close
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:134,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:76,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:71,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:81,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:86,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:89,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:91,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:100,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:107,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:116,1
    - Dst: lseek
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:121,1
    - Dst: ftell
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:77,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:79,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:82,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:95,1
    - Dst: lseek
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:105,1
    - Dst: open
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:98,1
    - Dst: close
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:117,1
    - Dst: close
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:122,1
    - Dst: free
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:90,1
    - Dst: close
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:130,1
    - Dst: free
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:129,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 138
    functionName: libspdm_read_input_file
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/support.c
    functionUses: []
    functionsReached:
    - open
    - close
    - fread
    - free
    - ftell
    - malloc
    - printf
    - read
    - fopen
    - lseek
    - fseek
    - fclose
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_input_file(const char *file_name, void **file_data,
      size_t *file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: libspdm_dump_data
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/support.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_data(const uint8_t *buffer, size_t buffer_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:145,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:152,1
    - Dst: fwrite
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:150,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:151,1
    - Dst: printf
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:146,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/spdm_unit_test_common/support.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: libspdm_write_output_file
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/support.c
    functionUses: []
    functionsReached:
    - fopen
    - fwrite
    - fclose
    - printf
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_write_output_file(const char *file_name, const void *file_data,
      size_t file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:40,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: spdm_device_release_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_sender_buffer (void *context, const void
      *msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:64,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: spdm_device_release_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_receiver_buffer (void *context, const void
      *msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - spdm_test_context
    argTypes:
    - libspdm_test_context_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: libspdm_setup_test_context
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_setup_test_context(libspdm_test_context_t *spdm_test_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:137,1
    - Dst: free
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:140,1
    - Dst: free
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: libspdm_unit_test_group_teardown
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - free
    linkageType: ''
    returnType: int
    signature: 'int libspdm_unit_test_group_teardown(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:26,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: spdm_device_acquire_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_sender_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: libspdm_get_test_context
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_test_context_t*
    signature: 'libspdm_test_context_t *libspdm_get_test_context(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:49,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: spdm_device_acquire_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_receiver_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:86,1
    - Dst: libspdm_init_context
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:93,1
    - Dst: libspdm_register_transport_layer_func
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:98,1
    - Dst: libspdm_register_device_io_func
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:95,1
    - Dst: libspdm_get_context_size
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:86,1
    - Dst: libspdm_register_device_buffer_func
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:104,1
    - Dst: libspdm_get_sizeof_required_scratch_buffer
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:113,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:114,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:115,1
    - Dst: libspdm_register_cert_chain_buffer
      Src: /src/libspdm/unit_test/spdm_unit_test_common/common.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 131
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 131
    functionName: libspdm_unit_test_group_setup
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached:
    - libspdm_register_device_buffer_func
    - libspdm_set_scratch_buffer
    - libspdm_register_cert_chain_buffer
    - libspdm_get_sizeof_required_scratch_buffer
    - libspdm_register_transport_layer_func
    - libspdm_init_context
    - malloc
    - libspdm_register_device_io_func
    - libspdm_get_context_size
    linkageType: ''
    returnType: int
    signature: 'int libspdm_unit_test_group_setup(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - libspdm_error_target_t
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: libspdm_force_error
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_force_error (libspdm_error_target_t target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - libspdm_error_target_t
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: libspdm_release_error
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_release_error (libspdm_error_target_t target) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_unit_test_common/event_support.c:48,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 7
    argNames:
    - buffer
    - total_bytes
    - attributes
    - inc_event_lost
    - inc_meas_changed
    - inc_meas_pre_update
    - inc_cert_changed
    argTypes:
    - void*
    - uint8_t*
    - uint32_t
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 106
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 106
    functionName: generate_dmtf_event_group
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/event_support.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void generate_dmtf_event_group(void *buffer, uint8_t *total_bytes,
      uint32_t attributes, bool inc_event_lost, bool inc_meas_changed, bool inc_meas_pre_update,
      bool inc_cert_changed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/unit_test/spdm_unit_test_common/event_support.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - buffer
    - total_bytes
    - event_instance_id
    - event_type_id
    - event_detail
    argTypes:
    - void*
    - uint8_t*
    - uint32_t
    - uint16_t
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: generate_dmtf_event_data
    functionSourceFile: /src/libspdm/unit_test/spdm_unit_test_common/event_support.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void generate_dmtf_event_data(void *buffer, uint8_t *total_bytes,
      uint32_t event_instance_id, uint16_t event_type_id, void *event_detail) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_dmtf_subject_alt_name
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:94,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:91,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:98,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:102,1
    - Dst: libspdm_get_dmtf_subject_alt_name
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:120,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:111,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:117,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:128,1
    - Dst: libspdm_get_dmtf_subject_alt_name
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:133,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:137,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:139,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:165,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:149,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:89,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:124,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:141,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:150,1
    - Dst: libspdm_get_dmtf_subject_alt_name
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:159,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:154,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:143,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:152,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:113,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:112,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:110,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:136,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:138,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:163,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:164,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:156,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:97,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:99,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:100,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:104,1
    - Dst: libspdm_get_dmtf_subject_alt_name
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:107,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:115,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:123,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:125,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:126,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:130,1
    - Dst: libspdm_get_dmtf_subject_alt_name
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:146,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:151,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 166
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 166
    functionName: libspdm_test_crypt_spdm_get_dmtf_subject_alt_name
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - assert_string_equal
    - assert_true
    - free
    - libspdm_read_input_file
    - libspdm_get_dmtf_subject_alt_name
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_spdm_get_dmtf_subject_alt_name(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:412,1
    - Dst: libspdm_x509_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:416,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:428,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:432,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:434,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:460,1
    - Dst: libspdm_x509_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:423,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:440,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:448,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:452,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:414,1
    - Dst: libspdm_x509_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:435,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:450,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:447,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:459,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:421,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:429,1
    - Dst: libspdm_x509_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:453,1
    - Dst: libspdm_x509_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 463
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 463
    functionName: libspdm_test_crypt_spdm_x509_certificate_check_ex
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_x509_certificate_check_ex
    - assert_true
    - assert_false
    - free
    - libspdm_read_input_file
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_spdm_x509_certificate_check_ex(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:530,1
    - Dst: libspdm_verify_cert_chain_data_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:541,1
    - Dst: libspdm_verify_cert_chain_data_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:534,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:539,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:532,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:546,1
    - Dst: libspdm_verify_cert_chain_data_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:548,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:553,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:554,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:557,1
    - Dst: libspdm_verify_cert_chain_data_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:567,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:579,1
    - Dst: libspdm_verify_cert_chain_data_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:560,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:580,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:559,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:565,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:572,1
    - Dst: libspdm_verify_cert_chain_data_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 582
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 582
    functionName: libspdm_test_crypt_spdm_verify_cert_chain_data_ex
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_verify_cert_chain_data_ex
    - assert_true
    - assert_false
    - free
    - libspdm_read_input_file
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_spdm_verify_cert_chain_data_ex(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:673,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:678,1
    - Dst: libspdm_asym_sign
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:692,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:706,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:709,1
    - Dst: libspdm_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:750,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:776,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:788,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:801,1
    - Dst: libspdm_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:832,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:843,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:883,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:827,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:871,1
    - Dst: libspdm_asym_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:674,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:745,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:732,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:711,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:759,1
    - Dst: libspdm_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:793,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:814,1
    - Dst: libspdm_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:819,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:837,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:841,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:880,1
    - Dst: libspdm_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:862,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:680,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:690,1
    - Dst: libspdm_asym_sign
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:700,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:718,1
    - Dst: libspdm_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:724,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:746,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:775,1
    - Dst: libspdm_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:780,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:802,1
    - Dst: libspdm_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:806,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:815,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:824,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:858,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:884,1
    - Dst: libspdm_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:849,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:840,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:870,1
    - Dst: libspdm_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:875,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:854,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:679,1
    - Dst: libspdm_asym_sign_hash
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:712,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:716,1
    - Dst: libspdm_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:737,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:733,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:758,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:761,1
    - Dst: libspdm_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:767,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:789,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:811,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:828,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:857,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:867,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 111
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 887
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 887
    functionName: libspdm_test_crypt_asym_verify
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_asym_verify_ex
    - assert_true
    - libspdm_asym_sign
    - libspdm_zero_mem
    - free
    - libspdm_asym_sign_hash
    - libspdm_read_input_file
    - libspdm_asym_verify_hash_ex
    - libspdm_get_hash_size
    - libspdm_get_asym_signature_size
    - libspdm_asym_get_private_key_from_pem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_asym_verify(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_is_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1127,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1133,1
    - Dst: libspdm_is_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1137,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1128,1
    - Dst: libspdm_is_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1132,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1138,1
    - Dst: libspdm_is_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1142,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1143,1
    - Dst: libspdm_is_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1147,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1149
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1149
    functionName: libspdm_test_crypt_palindrome
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - assert_true
    - assert_false
    - libspdm_is_palindrome
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_palindrome(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1234,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1239,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1238,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1240,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1235,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1241,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1242,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1243,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1244,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1245,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1246,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1247,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1248,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1251
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1251
    functionName: libspdm_test_crypt_ecdsa_palindrome
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - assert_true
    - assert_false
    - libspdm_is_signature_buffer_palindrome
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_ecdsa_palindrome(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: libspdm_crypt_lib_teardown
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int libspdm_crypt_lib_teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:47,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:53,1
    - Dst: libspdm_get_dmtf_subject_alt_name_from_bytes
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:49,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:52,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:48,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:54,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:58,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:59,1
    - Dst: libspdm_get_dmtf_subject_alt_name_from_bytes
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:60,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:63,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:74,1
    - Dst: libspdm_get_dmtf_subject_alt_name_from_bytes
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:71,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:75,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:64,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:65,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:70,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:76,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 77
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 77
    functionName: libspdm_test_crypt_spdm_get_dmtf_subject_alt_name_from_bytes
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - assert_string_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_get_dmtf_subject_alt_name_from_bytes
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_spdm_get_dmtf_subject_alt_name_from_bytes(void
      **state) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:195,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:228,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:232,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:276,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:259,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:336,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:331,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:365,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:369,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:283,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:303,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:201,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:217,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:221,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:268,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:299,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:353,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:358,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:312,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:190,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:395,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:184,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:246,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:263,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:294,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:384,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:189,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:218,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:251,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:339,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:290,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:354,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:389,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:393,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:224,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:239,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:244,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:272,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:327,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:361,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:376,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:382,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:320,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:213,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:264,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:301,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:349,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:288,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:343,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:292,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:177,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:206,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:183,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:212,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:240,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:348,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:279,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:377,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:396,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:175,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:247,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:385,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:235,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:258,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:309,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:344,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:372,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:277,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:332,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:316,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:200,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:229,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:281,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:366,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:400,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:210,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:205,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:323,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:287,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:256,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:401,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:179,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:194,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:198,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:310,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:314,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:338,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:187,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:234,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:298,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:371,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:321,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:346,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:305,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:325,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:223,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:252,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:270,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:360,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:390,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 167
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 403
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 403
    functionName: libspdm_test_crypt_spdm_x509_certificate_check
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_x509_certificate_check
    - assert_true
    - assert_false
    - free
    - libspdm_read_input_file
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_spdm_x509_certificate_check(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:472,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:474,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:481,1
    - Dst: libspdm_x509_set_cert_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:483,1
    - Dst: libspdm_x509_set_cert_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:476,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:488,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:489,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:492,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:494,1
    - Dst: libspdm_x509_set_cert_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:495,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:517,1
    - Dst: libspdm_x509_set_cert_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:502,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:509,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:500,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:511,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:518,1
    - Dst: libspdm_x509_set_cert_certificate_check_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:512,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 521
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 521
    functionName: libspdm_test_crypt_spdm_x509_set_cert_certificate_check_ex
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_x509_set_cert_certificate_check_ex
    - assert_true
    - assert_false
    - free
    - libspdm_read_input_file
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_spdm_x509_set_cert_certificate_check_ex(void
      **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:592,1
    - Dst: libspdm_verify_certificate_chain_buffer_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:606,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:612,1
    - Dst: libspdm_verify_certificate_chain_buffer_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:598,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:604,1
    - Dst: libspdm_verify_certificate_chain_buffer_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:614,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:620,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:621,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:625,1
    - Dst: libspdm_verify_certificate_chain_buffer_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:631,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:653,1
    - Dst: libspdm_verify_certificate_chain_buffer_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:639,1
    - Dst: libspdm_verify_certificate_chain_buffer_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:647,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:654,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:637,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 656
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 656
    functionName: libspdm_test_crypt_spdm_verify_certificate_chain_buffer_ex
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_verify_certificate_chain_buffer_ex
    - assert_true
    - assert_false
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_spdm_verify_certificate_chain_buffer_ex(void
      **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:911,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:921,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:932,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:935,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:973,1
    - Dst: libspdm_req_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:977,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1003,1
    - Dst: libspdm_req_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1007,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1028,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1052,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1071,1
    - Dst: libspdm_req_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1077,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1055,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1111,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1069,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1099,1
    - Dst: libspdm_req_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1060,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1108,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:912,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:920,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:942,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:972,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:959,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:986,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1016,1
    - Dst: libspdm_req_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1020,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1042,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1065,1
    - Dst: libspdm_req_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1047,1
    - Dst: libspdm_req_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1090,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1085,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1043,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:919,1
    - Dst: libspdm_req_asym_sign
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:926,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:945,1
    - Dst: libspdm_req_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:951,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1002,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1015,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1029,1
    - Dst: libspdm_req_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1034,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1056,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1068,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1098,1
    - Dst: libspdm_req_asym_verify_hash_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1103,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1112,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1082,1
    - Dst: libspdm_req_asym_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:914,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:960,1
    - Dst: libspdm_req_asym_sign_hash
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:937,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:936,1
    - Dst: libspdm_req_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:964,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:985,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:988,1
    - Dst: libspdm_req_asym_verify_ex
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:994,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1039,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1095,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1086,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 111
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1114
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 1114
    functionName: libspdm_test_crypt_req_asym_verify
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_req_asym_get_private_key_from_pem
    - libspdm_req_asym_verify_ex
    - libspdm_hash_all
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_req_asym_sign_hash
    - assert_true
    - libspdm_req_asym_verify_hash_ex
    - libspdm_zero_mem
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - libspdm_get_asym_signature_size
    - libspdm_req_asym_sign
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_req_asym_verify(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1183,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1187,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1189,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1188,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1184,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1190,1
    - Dst: libspdm_is_signature_buffer_palindrome
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1191,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1194
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1194
    functionName: libspdm_test_crypt_rsa_palindrome
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - assert_true
    - assert_false
    - libspdm_is_signature_buffer_palindrome
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_crypt_rsa_palindrome(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1256
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1256
    functionName: libspdm_crypt_lib_setup
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int libspdm_crypt_lib_setup(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1266,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1275,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1271,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1273,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1269,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1277,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1279,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1281,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1283,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1285,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1289,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1292,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1295
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1295
    functionName: libspdm_crypt_lib_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int libspdm_crypt_lib_test_main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_crypt_lib_test_main
      Src: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1306
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1306
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_crypt/test_spdm_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_crypt_lib_test_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_encode_decode_test_main
      Src: /src/libspdm/unit_test/test_spdm_secured_message/test_spdm_secured_message.c:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/test_spdm_secured_message.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_encode_decode_test_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: get_max_random_number_count
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t get_max_random_number_count(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 63
    functionName: initialize_secured_message_context
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initialize_secured_message_context(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:125,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:143,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:137,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:138,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:132,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:149,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:159,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:161,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 166
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 166
    functionName: libspdm_test_secured_message_encode_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - assert_memory_equal
    - initialize_secured_message_context
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:319,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:311,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:308,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:316,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 324
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 324
    functionName: libspdm_test_secured_message_encode_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_decode_secured_message
    - assert_int_equal
    - initialize_secured_message_context
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:369,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:366,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:358,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 374
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 374
    functionName: libspdm_test_secured_message_encode_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_decode_secured_message
    - assert_int_equal
    - initialize_secured_message_context
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case6(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:592,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:593,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:610,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:605,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:604,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:611,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:616,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:618,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:623,1
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:630,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:646,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:643,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:631,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:650,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 652
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 652
    functionName: libspdm_test_secured_message_encode_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - libspdm_zero_mem
    - initialize_secured_message_context
    - libspdm_decode_secured_message
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case9(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:668,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:669,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:682,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:681,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:687,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:688,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:692,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:694,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:698,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:699,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:713,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:718,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:721,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:706,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 727
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 727
    functionName: libspdm_test_secured_message_encode_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - libspdm_zero_mem
    - initialize_secured_message_context
    - libspdm_decode_secured_message
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case10(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:829,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:849,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:844,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:830,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:843,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:850,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:855,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:857,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:861,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:862,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:891,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:873,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:888,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:895,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:883,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:867,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 897
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 897
    functionName: libspdm_test_secured_message_encode_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - libspdm_zero_mem
    - initialize_secured_message_context
    - libspdm_decode_secured_message
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sequence_number
    - sequence_number_buffer
    argTypes:
    - uint64_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: get_sequence_number
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t get_sequence_number(uint64_t sequence_number, uint8_t
      *sequence_number_buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - secured_message_version
    argTypes:
    - spdm_version_number_t
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: get_secured_spdm_version
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: spdm_version_number_t
    signature: 'static spdm_version_number_t get_secured_spdm_version(spdm_version_number_t
      secured_message_version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:909,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:913,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:911,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:912,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:910,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:914,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:915,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:916,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:917,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:918,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:925,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:923,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:920,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 928
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 928
    functionName: libspdm_secured_message_encode_decode_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_secured_message_encode_decode_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:76,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:88,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:92,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:82,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:87,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:95,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:105,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 111
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 111
    functionName: libspdm_test_secured_message_encode_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - assert_memory_equal
    - initialize_secured_message_context
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:180,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:193,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:194,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:201,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:211,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:213,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 217
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 217
    functionName: libspdm_test_secured_message_encode_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - assert_memory_equal
    - initialize_secured_message_context
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case3(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:245,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:240,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:246,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:251,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:253,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:257,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:267,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:269,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 274
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 274
    functionName: libspdm_test_secured_message_encode_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - assert_memory_equal
    - initialize_secured_message_context
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:407,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:419,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:411,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:414,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:422,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:426,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:430,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:452,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:463,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:466,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:470,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 476
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 476
    functionName: libspdm_test_secured_message_encode_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_decode_secured_message
    - assert_int_equal
    - initialize_secured_message_context
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:509,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:516,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:524,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:521,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:513,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:528,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:532,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:553,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:559,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:564,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:575,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:567,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:571,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 577
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 577
    functionName: libspdm_test_secured_message_encode_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_decode_secured_message
    - assert_int_equal
    - initialize_secured_message_context
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case8(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_secured_message_context
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:744,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:758,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:745,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:759,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:764,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:765,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:770,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:772,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:776,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:777,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:806,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:810,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:803,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:788,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:798,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c:782,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 812
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 812
    functionName: libspdm_test_secured_message_encode_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_secured_message/encode_decode.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - assert_int_equal
    - libspdm_zero_mem
    - initialize_secured_message_context
    - libspdm_decode_secured_message
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_secured_message_encode_case11(void **state) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:143,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:152,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:173,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 6
    argNames:
    - session_id
    - need_alignment
    - transport_message_size
    - transport_message
    - message_size
    - message
    argTypes:
    - uint32_t**
    - bool
    - size_t
    - void*
    - size_t*
    - void**
    constantsTouched: []
    func_position:
      end: 180
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 180
    functionName: libspdm_test_decode_message
    functionSourceFile: /src/libspdm/unit_test/spdm_transport_test_lib/test.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_test_decode_message(uint32_t **session_id,
      bool need_alignment, size_t transport_message_size, void *transport_message,
      size_t *message_size, void **message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - secured_message_version
    argTypes:
    - spdm_version_number_t
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: libspdm_test_get_secured_spdm_version
    functionSourceFile: /src/libspdm/unit_test/spdm_transport_test_lib/test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: spdm_version_number_t
    signature: 'spdm_version_number_t libspdm_test_get_secured_spdm_version( spdm_version_number_t
      secured_message_version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: libspdm_test_get_max_random_number_count
    functionSourceFile: /src/libspdm/unit_test/spdm_transport_test_lib/test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t libspdm_test_get_max_random_number_count(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sequence_number
    - sequence_number_buffer
    argTypes:
    - uint64_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: libspdm_test_get_sequence_number
    functionSourceFile: /src/libspdm/unit_test/spdm_transport_test_lib/test.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t libspdm_test_get_sequence_number(uint64_t sequence_number,
      uint8_t *sequence_number_buffer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:92,1
    - Dst: libspdm_read_uint32
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:108,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:109,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/test.c:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 6
    argNames:
    - session_id
    - need_alignment
    - message_size
    - message
    - transport_message_size
    - transport_message
    argTypes:
    - uint32_t*
    - bool
    - size_t
    - void*
    - size_t*
    - void**
    constantsTouched: []
    func_position:
      end: 119
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 119
    functionName: libspdm_test_encode_message
    functionSourceFile: /src/libspdm/unit_test/spdm_transport_test_lib/test.c
    functionUses: []
    functionsReached:
    - libspdm_read_uint32
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_test_encode_message(const uint32_t *session_id,
      bool need_alignment, size_t message_size, void *message, size_t *transport_message_size,
      void **transport_message) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_secured_message_context_via_session_id
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:109,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:138,1
    - Dst: libspdm_test_encode_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:121,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:126,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:125,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:142,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:143,1
    - Dst: libspdm_test_encode_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:149,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:152,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:153,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:162,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:163,1
    - Dst: libspdm_test_encode_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:159,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 8
    argNames:
    - spdm_context
    - session_id
    - is_app_message
    - is_request_message
    - message_size
    - message
    - transport_message_size
    - transport_message
    argTypes:
    - void*
    - uint32_t*
    - bool
    - bool
    - size_t
    - void*
    - size_t*
    - void**
    constantsTouched: []
    func_position:
      end: 170
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 170
    functionName: libspdm_transport_test_encode_message
    functionSourceFile: /src/libspdm/unit_test/spdm_transport_test_lib/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_encode_secured_message
    - LIBSPDM_DEBUG
    - libspdm_test_encode_message
    - libspdm_get_secured_message_context_via_session_id
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_transport_test_encode_message( void *spdm_context,
      const uint32_t *session_id, bool is_app_message, bool is_request_message, size_t
      message_size, void *message, size_t *transport_message_size, void **transport_message) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_last_spdm_error_struct
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:220,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:240,1
    - Dst: libspdm_test_decode_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:237,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:241,1
    - Dst: libspdm_get_secured_message_context_via_session_id
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:249,1
    - Dst: libspdm_set_last_spdm_error_struct
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:254,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:262,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:267,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:268,1
    - Dst: libspdm_secured_message_get_last_spdm_error_struct
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:270,1
    - Dst: libspdm_set_last_spdm_error_struct
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:272,1
    - Dst: libspdm_test_decode_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:301,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:310,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:293,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:305,1
    - Dst: libspdm_test_decode_message
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:278,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:281,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/spdm_transport_test_lib/common.c:306,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 8
    argNames:
    - spdm_context
    - session_id
    - is_app_message
    - is_request_message
    - transport_message_size
    - transport_message
    - message_size
    - message
    argTypes:
    - void*
    - uint32_t**
    - bool*
    - bool
    - size_t
    - void*
    - size_t*
    - void**
    constantsTouched: []
    func_position:
      end: 315
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 315
    functionName: libspdm_transport_test_decode_message
    functionSourceFile: /src/libspdm/unit_test/spdm_transport_test_lib/common.c
    functionUses: []
    functionsReached:
    - libspdm_test_decode_message
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_secured_message_get_last_spdm_error_struct
    - LIBSPDM_ASSERT
    - LIBSPDM_DEBUG
    - libspdm_set_last_spdm_error_struct
    - libspdm_decode_secured_message
    - libspdm_get_secured_message_context_via_session_id
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_transport_test_decode_message( void *spdm_context,
      uint32_t **session_id, bool *is_app_message, bool is_request_message, size_t
      transport_message_size, void *transport_message, size_t *message_size, void
      **message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: libspdm_dump_hex_str
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/support.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_hex_str(const uint8_t *buffer, size_t buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: libspdm_read_input_file
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/support.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_input_file(const char *file_name, void **file_data,
      size_t *file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: libspdm_write_output_file
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/support.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_write_output_file(const char *file_name, const void *file_data,
      size_t file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:53,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: spdm_device_acquire_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_receiver_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:34,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: spdm_device_acquire_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_sender_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - message_size
    - message
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 14
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 14
    functionName: spdm_responder_send_message
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_responder_send_message(void *spdm_context, size_t
      message_size, const void *message, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:44,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: spdm_device_release_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_sender_buffer ( void *context, const void
      *msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - message_size
    - message
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: spdm_responder_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_responder_receive_message(void *spdm_context,
      size_t *message_size, void **message, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:63,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: spdm_device_release_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_receiver_buffer ( void *context, const void
      *msg_buf_ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:80,1
    - Dst: libspdm_register_device_io_func
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:88,1
    - Dst: libspdm_init_context
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:84,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:86,1
    - Dst: libspdm_get_context_size
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:80,1
    - Dst: libspdm_register_transport_layer_func
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:90,1
    - Dst: libspdm_register_device_buffer_func
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:96,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:109,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:111,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:150,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:163,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:166,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:154,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:160,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 170
    functionName: spdm_server_init
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_init.c
    functionUses: []
    functionsReached:
    - libspdm_register_device_buffer_func
    - allocate_pool
    - libspdm_set_scratch_buffer
    - libspdm_zero_mem
    - libspdm_set_data
    - libspdm_register_transport_layer_func
    - libspdm_init_context
    - libspdm_register_device_io_func
    - libspdm_get_context_size
    linkageType: ''
    returnType: void*
    signature: 'void *spdm_server_init(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spdm_server_init
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_main.c:22,1
    - Dst: libspdm_responder_dispatch_message
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_main.c:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: spdm_dispatch
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_main.c
    functionUses: []
    functionsReached:
    - spdm_server_init
    - libspdm_responder_dispatch_message
    linkageType: ''
    returnType: void
    signature: 'void spdm_dispatch(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_dispatch
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_main.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: ModuleEntryPoint
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_responder/spdm_responder_main.c
    functionUses: []
    functionsReached:
    - spdm_dispatch
    linkageType: ''
    returnType: void
    signature: 'void ModuleEntryPoint(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - rand_data
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: libspdm_get_random_number_64
    functionSourceFile: /src/libspdm/unit_test/test_size/rnglib_null/rnglib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_get_random_number_64(uint64_t *rand_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 8
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 8
    functionName: __stack_chk_guard
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/compiler_stub.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void __stack_chk_guard (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: __stack_chk_fail
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/compiler_stub.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void __stack_chk_fail (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - ch
    - count
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 47
    functionName: memset
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *memset(void *dest, int ch, size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buf1
    - buf2
    - count
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: memcmp
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - libspdm_consttime_is_mem_equal
    linkageType: ''
    returnType: int
    signature: 'int memcmp(const void *buf1, const void *buf2, size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - count
    argTypes:
    - void*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: __memcpy
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: void*
    signature: 'static __attribute__((__used__)) void *__memcpy(void *dest, const
      void *src, unsigned int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - first_string
    - second_string
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: ascii_strcmp
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ascii_strcmp(const char *first_string, const char *second_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcmp
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: strcmp
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - ascii_strcmp
    linkageType: ''
    returnType: int
    signature: 'int strcmp(const char *s1, const char *s2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strlen
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: strlen
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - ascii_strlen
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int strlen(char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strstr
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: strstr
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - ascii_strstr
    linkageType: ''
    returnType: char*
    signature: 'char *strstr(char *str1, const char *str2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memscan
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - value
    - num
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: memchr
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - memscan
    linkageType: ''
    returnType: void*
    signature: 'const void * memchr ( const void * ptr, int value, size_t num ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - src
    - count
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: memmove
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *memmove(void *dest, const void *src, size_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - first_string
    - second_string
    - length
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: ascii_strncmp
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ascii_strncmp(const char *first_string, const char *second_string,
      size_t length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: ascii_strlen
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ascii_strlen(const char *string) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - string
    - search_string
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 175
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 175
    functionName: ascii_strstr
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *ascii_strstr(char *string, const char *search_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - value
    - num
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: memscan
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'const void * memscan ( const void * ptr, int value, size_t num ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memscan
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:204,1
    - Dst: ascii_strlen
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - str
    - ch
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: strchr
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - ascii_strlen
    - memscan
    linkageType: ''
    returnType: char*
    signature: 'const char * strchr ( const char * str, int ch ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strncmp
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - str1
    - str2
    - num
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: strncmp
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - ascii_strncmp
    linkageType: ''
    returnType: int
    signature: 'int strncmp ( const char * str1, const char * str2, size_t num ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - count
    argTypes:
    - void*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: memcpy
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/memory_intrinsics.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: void*
    signature: 'void *memcpy(void *dest, const void *src, unsigned int count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - di_int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: __ashldi3
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ashldi3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: di_int
    signature: 'di_int __ashldi3(di_int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 77
    functionName: _alldiv
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_s64x64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _alldiv(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_math_mult_u64x64
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_mult_s64x64.c:27,1
    - Dst: mult_u64x64
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_mult_s64x64.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - multiplicand
    - multiplier
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 95
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 95
    functionName: internal_math_mult_u64x64
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_mult_s64x64.c
    functionUses: []
    functionsReached:
    - mult_u64x64
    - internal_math_mult_u64x64
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t internal_math_mult_u64x64(uint64_t multiplicand, uint64_t
      multiplier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mult_u64x64
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_mult_s64x64.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - multiplicand
    - multiplier
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mult_s64x64
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_mult_s64x64.c
    functionUses: []
    functionsReached:
    - mult_u64x64
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mult_s64x64(const int64_t multiplicand, const int64_t multiplier) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 94
    functionName: _allmul
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_mult_s64x64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _allmul(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 45
    functionName: _aullshr
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_rshift_u64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _aullshr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 3
    argNames:
    - dividend
    - divisor
    - remainder
    argTypes:
    - uint64_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 89
    functionName: internal_math_div_rem_u64x32
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_u64x64_remainder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t internal_math_div_rem_u64x32(uint64_t dividend, uint32_t
      divisor, uint32_t *remainder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_math_div_rem_u64x64
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_u64x64_remainder.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - dividend
    - divisor
    - remainder
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: div_u64x64_remainder
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_u64x64_remainder.c
    functionUses: []
    functionsReached:
    - internal_math_div_rem_u64x64
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t div_u64x64_remainder(uint64_t dividend, uint64_t divisor,
      uint64_t *remainder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 169
    functionName: _aulldvrm
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_u64x64_remainder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _aulldvrm(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 45
    functionName: _allshr
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_rshift_s64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _allshr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 82
    functionName: _allrem
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_remainder_s64x64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _allrem(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 82
    functionName: _aullrem
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_remainder_u64x64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _aullrem(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 42
    functionName: _allshl
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_lshift_s64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _allshl(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 77
    functionName: _aulldiv
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_u64x64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _aulldiv(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: _ftol2
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_ftol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void _ftol2(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_math_div_rem_u64x64
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_s64x64_remainder.c:16,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - dividend
    - divisor
    - remainder
    argTypes:
    - int64_t
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: internal_math_div_rem_s64x64
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_s64x64_remainder.c
    functionUses: []
    functionsReached:
    - internal_math_div_rem_u64x64
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t internal_math_div_rem_s64x64(const int64_t dividend, const
      int64_t divisor, int64_t *remainder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 104
    functionName: _alldvrm
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_s64x64_remainder.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '__declspec(naked) void __cdecl _alldvrm(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_math_div_rem_s64x64
      Src: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_s64x64_remainder.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - dividend
    - divisor
    - remainder
    argTypes:
    - int64_t
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: div_s64x64_remainder
    functionSourceFile: /src/libspdm/unit_test/test_size/intrinsiclib/ia32/math_div_s64x64_remainder.c
    functionUses: []
    functionsReached:
    - internal_math_div_rem_s64x64
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t div_s64x64_remainder(const int64_t dividend, const int64_t
      divisor, int64_t *remainder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_find_free_mem_region
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:184,1
    - Dst: LIBSPDM_RT_SIZE_TO_PAGES
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:192,1
    - Dst: LIBSPDM_RT_PAGES_TO_SIZE
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:204,1
    - Dst: LIBSPDM_RT_SIZE_TO_PAGES
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - need_allocation_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 208
    functionName: libspdm_allocate_mem
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c
    functionUses: []
    functionsReached:
    - LIBSPDM_RT_SIZE_TO_PAGES
    - libspdm_find_free_mem_region
    - LIBSPDM_RT_PAGES_TO_SIZE
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_allocate_mem(size_t need_allocation_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_allocate_mem
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - need_allocation_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: allocate_pool
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c
    functionUses: []
    functionsReached:
    - libspdm_allocate_mem
    linkageType: ''
    returnType: void*
    signature: 'void *allocate_pool(size_t need_allocation_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_RT_SIZE_TO_PAGES
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:96,1
    - Dst: LIBSPDM_RT_SIZE_TO_PAGES
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:97,1
    - Dst: LIBSPDM_RT_PAGES_TO_SIZE
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:145,1
    - Dst: LIBSPDM_RT_PAGES_TO_SIZE
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:116,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - need_allocation_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 160
    functionName: libspdm_find_free_mem_region
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c
    functionUses: []
    functionsReached:
    - LIBSPDM_RT_SIZE_TO_PAGES
    - LIBSPDM_RT_PAGES_TO_SIZE
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_find_free_mem_region(size_t need_allocation_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_allocate_mem
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:252,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - need_allocation_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: allocate_zero_pool
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c
    functionUses: []
    functionsReached:
    - libspdm_allocate_mem
    - libspdm_set_mem
    linkageType: ''
    returnType: void*
    signature: 'void *allocate_zero_pool(size_t need_allocation_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_mem
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: free_pool
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c
    functionUses: []
    functionsReached:
    - libspdm_free_mem
    linkageType: ''
    returnType: void
    signature: 'void free_pool(void *buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - scratch_buffer
    - scratch_buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: libspdm_init_scratch_memory
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_init_scratch_memory(uint8_t *scratch_buffer, size_t scratch_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_RT_SIZE_TO_PAGES
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:223,1
    - Dst: LIBSPDM_RT_SIZE_TO_PAGES
      Src: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 242
    functionName: libspdm_free_mem
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_simple/malloclib.c
    functionUses: []
    functionsReached:
    - LIBSPDM_RT_SIZE_TO_PAGES
    linkageType: ''
    returnType: void
    signature: 'void libspdm_free_mem(void *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: libspdm_dump_hex_str
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/support.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_hex_str(const uint8_t *buffer, size_t buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: libspdm_write_output_file
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/support.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_write_output_file(const char *file_name, const void *file_data,
      size_t file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: libspdm_read_input_file
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/support.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_input_file(const char *file_name, void **file_data,
      size_t *file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:34,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: spdm_device_acquire_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_sender_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:53,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: spdm_device_acquire_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_receiver_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - message_size
    - message
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 14
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 14
    functionName: spdm_requester_send_message
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_requester_send_message(void *spdm_context, size_t
      message_size, const void *message, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - message_size
    - message
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: spdm_requester_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_requester_receive_message(void *spdm_context,
      size_t *message_size, void **message, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:44,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: spdm_device_release_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_sender_buffer ( void *context, const void
      *msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:63,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: spdm_device_release_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_receiver_buffer ( void *context, const void
      *msg_buf_ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_init_context
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:83,1
    - Dst: libspdm_register_device_io_func
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:87,1
    - Dst: libspdm_get_context_size
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:79,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:129,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:145,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:151,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:136,1
    - Dst: libspdm_register_transport_layer_func
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:89,1
    - Dst: libspdm_register_device_buffer_func
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:95,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:106,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:108,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:79,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:85,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:142,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:149,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:139,1
    - Dst: libspdm_init_connection
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:148,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:133,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 156
    functionName: spdm_client_init
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_init.c
    functionUses: []
    functionsReached:
    - libspdm_register_device_buffer_func
    - allocate_pool
    - LIBSPDM_STATUS_IS_ERROR
    - free_pool
    - libspdm_set_scratch_buffer
    - libspdm_zero_mem
    - libspdm_set_data
    - LIBSPDM_DEBUG
    - libspdm_register_transport_layer_func
    - libspdm_init_context
    - libspdm_register_device_io_func
    - libspdm_get_context_size
    - libspdm_init_connection
    linkageType: ''
    returnType: void*
    signature: 'void *spdm_client_init(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spdm_client_init
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_main.c:19,1
    - Dst: do_session_via_spdm
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_main.c:30,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_main.c:25,1
    - Dst: do_authentication_via_spdm
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_main.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: spdm_dispatch
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_main.c
    functionUses: []
    functionsReached:
    - do_authentication_via_spdm
    - LIBSPDM_STATUS_IS_ERROR
    - spdm_client_init
    - do_session_via_spdm
    linkageType: ''
    returnType: void
    signature: 'void spdm_dispatch(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_dispatch
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_main.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ModuleEntryPoint
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_main.c
    functionUses: []
    functionsReached:
    - spdm_dispatch
    linkageType: ''
    returnType: void
    signature: 'void ModuleEntryPoint(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c:17,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c:24,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c:25,1
    - Dst: libspdm_stop_session
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c:33,1
    - Dst: libspdm_start_session
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c:18,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c:34,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 40
    functionName: do_session_via_spdm
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_session.c
    functionUses: []
    functionsReached:
    - libspdm_start_session
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_stop_session
    - libspdm_zero_mem
    - LIBSPDM_DEBUG
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t do_session_via_spdm(void *spdm_context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:40,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:41,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:46,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:48,1
    - Dst: libspdm_challenge
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:55,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:57,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 9
    argNames:
    - context
    - slot_mask
    - total_digest_buffer
    - slot_id
    - cert_chain_size
    - cert_chain
    - measurement_hash_type
    - measurement_hash
    - auth_slot_mask
    argTypes:
    - void*
    - uint8_t*
    - void*
    - uint8_t
    - size_t*
    - void*
    - uint8_t
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: spdm_authentication
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c
    functionUses: []
    functionsReached:
    - libspdm_challenge
    - libspdm_get_digest
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_get_certificate
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_authentication(void *context, uint8_t *slot_mask,
      void *total_digest_buffer, uint8_t slot_id, size_t *cert_chain_size, void *cert_chain,
      uint8_t measurement_hash_type, void *measurement_hash, uint8_t *auth_slot_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:79,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:81,1
    - Dst: spdm_authentication
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:83,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:82,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: do_authentication_via_spdm
    functionSourceFile: /src/libspdm/unit_test/test_size/test_size_of_spdm_requester/spdm_requester_authentication.c
    functionUses: []
    functionsReached:
    - spdm_authentication
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t do_authentication_via_spdm(void *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/cryptstublib_dummy/rand_dummy.c:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: rand
    functionSourceFile: /src/libspdm/unit_test/test_size/cryptstublib_dummy/rand_dummy.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: int
    signature: 'int rand() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - timer
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: time
    functionSourceFile: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: time_t
    signature: 'time_t time(time_t *timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - timep
    - result
    argTypes:
    - time_t*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: gmtime_r
    functionSourceFile: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: struct tm*
    signature: 'struct tm *gmtime_r(const time_t *timep, struct tm *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - timer
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: gmtime
    functionSourceFile: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: struct tm*
    signature: 'struct tm *gmtime(const time_t *timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: _time64
    functionSourceFile: /src/libspdm/unit_test/test_size/cryptstublib_dummy/timeclock_dummy.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: time_t
    signature: 'time_t _time64(time_t *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AllocationSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: allocate_pool
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_null/malloclib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *allocate_pool(size_t AllocationSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - AllocationSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: allocate_zero_pool
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_null/malloclib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *allocate_zero_pool(size_t AllocationSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: free_pool
    functionSourceFile: /src/libspdm/unit_test/test_size/malloclib_null/malloclib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void free_pool(const void *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:34,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - salt
    - salt_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: libspdm_secured_message_set_response_data_salt
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_data_salt( void *spdm_secured_message_context,
      const void *salt, size_t salt_size) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:84,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:112,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:205,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:247,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:325,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:379,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:426,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:479,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:513,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:553,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:651,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:614,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:618,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:652,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:374,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:661,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:470,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:154,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:159,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:195,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:284,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:238,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:370,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:417,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:468,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:421,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:474,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:111,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:116,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:163,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:293,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:327,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:331,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:511,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:517,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:561,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:563,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:567,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:609,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:610,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:570,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:521,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:656,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:416,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:120,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:155,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:200,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:242,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:282,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:237,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:196,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:288,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:335,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:369,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 301
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 675
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 675
    functionName: libspdm_requester_heartbeat_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_heartbeat_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:772,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:795,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:787,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:775,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:794,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:799,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:804,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:809,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:814,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:823,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:825,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 826
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 826
    functionName: libspdm_test_requester_heartbeat_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:945,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:948,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:967,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:968,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:960,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:972,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:977,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:982,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:987,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:996,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:997,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:998,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 999
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 999
    functionName: libspdm_test_requester_heartbeat_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1120,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1123,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1142,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1135,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1143,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1147,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1152,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1157,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1162,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1171,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1174
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1174
    functionName: libspdm_test_requester_heartbeat_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1296,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1299,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1318,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1311,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1319,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1323,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1328,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1333,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1338,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1347,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1348,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1350
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1350
    functionName: libspdm_test_requester_heartbeat_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case8(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1468,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1492,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1491,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1487,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1479,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1495,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1498,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1501,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1504,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1513,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1515,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1532,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1517,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1533
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1533
    functionName: libspdm_test_requester_heartbeat_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1676,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1679,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1691,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1699,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1698,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1703,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1708,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1713,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1718,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1727,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1728,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1731,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1729,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1732
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1732
    functionName: libspdm_test_requester_heartbeat_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:21,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: libspdm_secured_message_set_response_data_encryption_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_data_encryption_key( void
      *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:708,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:730,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:723,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:711,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:731,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:736,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:737,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:738,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 739
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 739
    functionName: libspdm_test_requester_heartbeat_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case1(void **state) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:47,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: libspdm_requester_heartbeat_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_heartbeat_test_send_message(void
      *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:859,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:862,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:874,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:882,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:881,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:885,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:890,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:895,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:900,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:909,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:911,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:910,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 912
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 912
    functionName: libspdm_test_requester_heartbeat_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1032,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1055,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1047,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1054,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1035,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1059,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1064,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1069,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1074,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1083,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1085,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1084,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1086
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1086
    functionName: libspdm_test_requester_heartbeat_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1207,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1230,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1229,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1222,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1210,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1234,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1239,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1244,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1249,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1258,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1260,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1259,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1263
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1263
    functionName: libspdm_test_requester_heartbeat_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case7(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1383,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1386,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1406,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1405,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1398,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1410,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1415,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1420,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1425,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1434,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1436,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1438,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1441
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1441
    functionName: libspdm_test_requester_heartbeat_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1566,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1589,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1569,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1588,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1581,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1593,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1598,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1603,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1608,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1629,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1638,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1630,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1636,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1635,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1634,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1633,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1639
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1639
    functionName: libspdm_test_requester_heartbeat_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1760,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1777,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1778,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1770,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1763,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1781,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1785,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1789,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1793,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1803,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1805,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1806
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1806
    functionName: libspdm_test_requester_heartbeat_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1812,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1818,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1814,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1820,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1816,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1822,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1824,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1826,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1828,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1830,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1832,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1845,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1835,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1847,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c:1834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1850
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1850
    functionName: libspdm_requester_heartbeat_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_heartbeat_test_main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:39,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:44,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:41,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:43,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:40,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:45,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:47,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:48,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:49,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:51,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:52,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:59,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:55,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:60,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:57,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:53,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 9
    argNames:
    - spdm_context
    - session_id
    - event_instance_id
    - svh_id
    - svh_vendor_id_len
    - svh_vendor_id
    - event_type_id
    - event_detail_len
    - event_detail
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    - uint8_t
    - uint8_t
    - void*
    - uint16_t
    - uint16_t
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: process_event
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c
    functionUses: []
    functionsReached:
    - assert_ptr_equal
    - assert_int_equal
    - printf
    - libspdm_dump_hex
    - assert_memory_equal
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t process_event(void *spdm_context, uint32_t
      session_id, uint32_t event_instance_id, uint8_t svh_id, uint8_t svh_vendor_id_len,
      void *svh_vendor_id, uint16_t event_type_id, uint16_t event_detail_len, void
      *event_detail) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:193,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:225,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:214,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:233,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:210,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:237,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:245,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:247,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:248,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:250,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:251,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 254
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 254
    functionName: test_libspdm_requester_encap_event_ack_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    - set_standard_state
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:275,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:296,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:292,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:314,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:307,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:319,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:327,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:329,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:330,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:331,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:335,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:332,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 336
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 336
    functionName: test_libspdm_requester_encap_event_ack_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    - set_standard_state
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:104,1
    - Dst: libspdm_register_event_callback
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:109,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_register_event_callback
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:455,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:458,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:456,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:457,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:466,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 471
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 471
    functionName: libspdm_requester_encap_event_ack_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_event_ack_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:129,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:163,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:142,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:155,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:151,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:165,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:166,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:167,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:168,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:169,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 172
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 172
    functionName: test_libspdm_requester_encap_event_ack_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    - set_standard_state
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:360,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:373,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:379,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:386,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:393,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:404,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:412,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:419,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:427,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:433,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:447,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:445,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:444,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:441,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:443,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c:449,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 450
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 450
    functionName: test_libspdm_requester_encap_event_ack_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_event_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    - set_standard_state
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2659,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2668,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2677,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2662,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2678,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2680,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2681,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2684,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2687
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2687
    functionName: libspdm_test_requester_get_certificate_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3499,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3502,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3512,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3506,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3505,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3521,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3522,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3524,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3526
      start: 3476
    functionDepth: 0
    functionLinenumber: 3476
    functionLinenumberEnd: 3526
    functionName: libspdm_test_requester_get_certificate_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3674,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3684,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3681,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3677,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3680,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3693,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3697,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3698,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3699,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3701,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3707,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3706,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3704,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3702,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3710,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3711
      start: 3648
    functionDepth: 0
    functionLinenumber: 3648
    functionLinenumberEnd: 3711
    functionName: libspdm_test_requester_get_certificate_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case23(void **state) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:53,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:63,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:71,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:58,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:61,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:74,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:75,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:79,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:81,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:94,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 4
    argNames:
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 96
    functionName: libspdm_libspdm_read_responder_public_certificate_chain_expiration
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_libspdm_read_responder_public_certificate_chain_expiration(
      void **data, size_t *size, void **hash, size_t *hash_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2485,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2494,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2503,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2488,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2504,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2506,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2508,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2511
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2511
    functionName: libspdm_test_requester_get_certificate_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_libspdm_read_responder_public_certificate_chain_expiration
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3436,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3453,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3439,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3458,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3457,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3460,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3464,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3470
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3470
    functionName: libspdm_test_requester_get_certificate_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_libspdm_read_responder_public_certificate_chain_expiration
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2430,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2433,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2448,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2449,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2439,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2451,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2453,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2456
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2456
    functionName: libspdm_test_requester_get_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case3(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2965,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2968,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2986,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2973,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2991,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2992,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2994,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2998,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3003,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3004
      start: 2937
    functionDepth: 0
    functionLinenumber: 2937
    functionLinenumberEnd: 3004
    functionName: libspdm_test_requester_get_certificate_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - memcpy
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4194,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4200,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4218,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4227,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4236,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4241,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4246,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4254,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4259,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4262,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4273,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4284,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4279,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4300,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4331,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4260,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4207,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4197,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4245,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4309,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4314,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4281,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4315,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4317,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4341,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4297,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4215,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4244,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4247,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4242,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4264,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4265,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4278,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4283,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4292,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4336,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4340,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4326,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4337,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4332,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4201,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4263,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4282,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4301,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4335,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4318,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4334,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 114
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4342
      start: 4161
    functionDepth: 0
    functionLinenumber: 4161
    functionLinenumberEnd: 4342
    functionName: libspdm_test_requester_get_certificate_case30
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_set_data
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case30(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2338,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2341,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2351,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2345,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2344,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2359,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2362,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2371,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2376,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2377,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2393,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2400,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2383,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2396,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2379,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2401
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2401
    functionName: libspdm_test_requester_get_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_set_data
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2897,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2914,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2918,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2900,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2919,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2921,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2925,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2931
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2931
    functionName: libspdm_test_requester_get_certificate_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain_alias_cert
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4063,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4084,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4067,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4073,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4083,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4086,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4090,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4096
      start: 4035
    functionDepth: 0
    functionLinenumber: 4035
    functionLinenumberEnd: 4096
    functionName: libspdm_test_requester_get_certificate_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_alias_cert
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case28(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain_alias_cert
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4127,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4137,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4147,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4131,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4148,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4150,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4152
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4152
    functionName: libspdm_test_requester_get_certificate_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_alias_cert
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case29(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2275,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2293,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2284,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2278,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2294,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2296,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2298,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2301
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2301
    functionName: libspdm_test_requester_get_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case1(void **state) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:104,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:157,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:172,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 20
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 189
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 189
    functionName: libspdm_requester_get_certificate_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_get_certificate_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2832,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2852,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2841,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2851,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2835,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2854,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2858,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2864
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2864
    functionName: libspdm_test_requester_get_certificate_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case10(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3116,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3119,1
    - Dst: libspdm_get_certificate_choose_length
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3137,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3132,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3136,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3144,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3152
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3152
    functionName: libspdm_test_requester_get_certificate_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_get_certificate_choose_length
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3378,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3396,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3397,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3381,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3387,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3399,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3401
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3401
    functionName: libspdm_test_requester_get_certificate_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case18(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3997,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4010,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4003,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4004,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4000,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4019,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4020,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4022,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4023,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4026,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4029
      start: 3974
    functionDepth: 0
    functionLinenumber: 3974
    functionLinenumberEnd: 4029
    functionName: libspdm_test_requester_get_certificate_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case27(void **state) '
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1246,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1262,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1848,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1865,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2092,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1461,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1527,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2032,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1140,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:247,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:542,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:454,1
    - Dst: libspdm_read_responder_root_public_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1232,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1035,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1395,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1775,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2229,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:967,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1175,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:461,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:825,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:891,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1436,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1564,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1830,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1864,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1869,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:959,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:668,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1237,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1378,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1635,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1806,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:319,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:767,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:784,1
    - Dst: libspdm_read_responder_public_certificate_chain_by_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:850,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1136,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1502,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1714,1
    - Dst: libspdm_read_responder_public_certificate_chain_alias_cert
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2057,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2172,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1781,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:447,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:627,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:759,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1118,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1706,1
    - Dst: libspdm_read_responder_public_certificate_chain_per_slot
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1810,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2164,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2235,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1867,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1027,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:510,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:609,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:819,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:885,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1250,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1370,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1430,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2040,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2187,1
    - Dst: libspdm_read_responder_public_certificate_chain_alias_cert_till_dev_cert_ca
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2123,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1870,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:953,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1258,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1055,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:197,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:212,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:327,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:602,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:662,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:699,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1222,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1021,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1127,1
    - Dst: libspdm_libspdm_read_responder_public_certificate_chain_expiration
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1330,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1496,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1850,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1862,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2193,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1311,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:483,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:595,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1103,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:753,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1578,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1595,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1700,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1882,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1510,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:708,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1364,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1734,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1849,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1856,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1947,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1991,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:920,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1239,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:408,1
    - Dst: libspdm_read_responder_root_public_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1113,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1629,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1945,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2026,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:278,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:676,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1189,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1640,1
    - Dst: libspdm_read_responder_public_certificate_chain_per_slot
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1739,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1789,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1868,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1965,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1969,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2098,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:899,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1120,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:348,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:394,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:833,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1181,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1061,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1194,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1297,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:718,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1957,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:261,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:313,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:369,1
    - Dst: libspdm_read_responder_public_certificate_chain_by_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:984,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1131,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1303,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1316,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1570,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1840,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1907,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:714,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:253,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:556,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1444,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1648,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1665,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1828,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:1952,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2106,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2158,1
    CyclomaticComplexity: 193
    EdgeCount: 193
    ICount: 1432
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2246
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 2246
    functionName: libspdm_requester_get_certificate_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_transport_test_encode_message
    - libspdm_dump_hex
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_read_responder_public_certificate_chain_alias_cert
    - LIBSPDM_DEBUG
    - libspdm_get_asym_signature_size
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_read_responder_public_certificate_chain_by_size
    - libspdm_read_responder_root_public_certificate
    - free
    - libspdm_get_random_number
    - libspdm_get_scratch_buffer
    - libspdm_read_responder_public_certificate_chain_alias_cert_till_dev_cert_ca
    - libspdm_get_hash_size
    - libspdm_read_responder_public_certificate_chain_per_slot
    - libspdm_libspdm_read_responder_public_certificate_chain_expiration
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_get_certificate_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2599,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2618,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2617,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2608,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2602,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2620,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2624,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2630
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2630
    functionName: libspdm_test_requester_get_certificate_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case6(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2769,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2777,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2784,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2772,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2785,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2788,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2790,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2795,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2799,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2800
      start: 2745
    functionDepth: 0
    functionLinenumber: 2745
    functionLinenumberEnd: 2800
    functionName: libspdm_test_requester_get_certificate_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case9(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain_by_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3045,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3062,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3048,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3066,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3067,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3069,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3073,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3079
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3079
    functionName: libspdm_test_requester_get_certificate_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_by_size
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3325,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3334,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3328,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3344,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3345,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3347,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3349
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3349
    functionName: libspdm_test_requester_get_certificate_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3613,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3626,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3620,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3619,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3616,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3635,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3636,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3638,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3640
      start: 3590
    functionDepth: 0
    functionLinenumber: 3590
    functionLinenumberEnd: 3640
    functionName: libspdm_test_requester_get_certificate_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2540,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2558,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2543,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2549,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2559,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2563,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2566
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2566
    functionName: libspdm_test_requester_get_certificate_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case5(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3255,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3259,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3275,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3271,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3274,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3276,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3279,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3296
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3296
    functionName: libspdm_test_requester_get_certificate_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3555,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3558,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3561,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3568,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3562,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3577,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3578,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3580,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3582
      start: 3532
    functionDepth: 0
    functionLinenumber: 3532
    functionLinenumberEnd: 3582
    functionName: libspdm_test_requester_get_certificate_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3813,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3857,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3868,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3854,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3822,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3812,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3828,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3843,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3856,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3873,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3811,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3825,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3829,1
    - Dst: libspdm_read_responder_public_certificate_chain_per_slot
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3836,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3842,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3853,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3863,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3872,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3839,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3860,1
    - Dst: libspdm_challenge
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3864,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3869,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3874
      start: 3776
    functionDepth: 0
    functionLinenumber: 3776
    functionLinenumberEnd: 3874
    functionName: libspdm_test_requester_get_certificate_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - libspdm_challenge
    - free
    - libspdm_read_responder_public_certificate_chain_per_slot
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3926,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3939,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3933,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3932,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3929,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3950,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3951,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3959,1
    - Dst: libspdm_get_certificate_ex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3960,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3963,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3965,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3967,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3968
      start: 3880
    functionDepth: 0
    functionLinenumber: 3880
    functionLinenumberEnd: 3968
    functionName: libspdm_test_requester_get_certificate_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - free
    - libspdm_get_certificate_ex
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case26(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4354,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4358,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4366,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4382,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4374,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4391,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4401,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4409,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4419,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4421,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4356,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4360,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4376,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4384,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4368,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4393,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4403,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4362,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4370,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4378,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4386,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4395,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4405,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4348,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4352,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4350,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4364,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4372,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4380,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4388,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4398,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:4407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4424
      start: 4344
    functionDepth: 0
    functionLinenumber: 4344
    functionLinenumberEnd: 4424
    functionName: libspdm_requester_get_certificate_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_certificate_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2716,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2734,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2725,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2719,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2735,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2737,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:2738,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2739
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2739
    functionName: libspdm_test_requester_get_certificate_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case8(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain_by_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3187,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3209,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3191,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3208,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3204,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3217,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3225
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3225
    functionName: libspdm_test_requester_get_certificate_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_by_size
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3743,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3749,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3746,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3756,1
    - Dst: LIBSPDM_INTERNAL_DUMP_HEX
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3750,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3765,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3766,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3768,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c:3769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3770
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3770
    functionName: libspdm_test_requester_get_certificate_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - LIBSPDM_INTERNAL_DUMP_HEX
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case24(void **state) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:41,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:109,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:122,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:120,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:121,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 16
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 132
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 132
    functionName: libspdm_requester_negotiate_algorithms_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - assert_int_equal
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_negotiate_algorithms_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: libspdm_test_requester_negotiate_algorithms_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1508,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1533,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1537,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1553,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1554,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1557,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1512,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1513,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1516,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1562,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1500,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1505,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1504,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1520,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1521,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1524,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1541,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1538,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1528,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1545,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1549,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1546,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 69
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1563
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1563
    functionName: libspdm_test_requester_negotiate_algorithms_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case3(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1606
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1606
    functionName: libspdm_test_requester_negotiate_algorithms_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case7(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1614
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1614
    functionName: libspdm_test_requester_negotiate_algorithms_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case9(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1622
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1622
    functionName: libspdm_test_requester_negotiate_algorithms_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case11(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1631
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1631
    functionName: libspdm_test_requester_negotiate_algorithms_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case13(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1639
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1639
    functionName: libspdm_test_requester_negotiate_algorithms_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case15(void
      **state) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:140,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:169,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:154,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:282,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:340,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:352,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:432,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:537,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:553,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:674,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:858,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1155,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1201,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1231,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:736,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1378,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:782,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1299,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:200,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:238,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:269,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:385,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:464,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:478,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:567,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:583,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:689,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:720,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:828,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1061,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1185,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:766,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1108,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1346,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1362,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:185,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:324,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:371,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:318,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:416,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:597,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:613,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:627,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:658,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:705,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:968,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1092,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1330,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:905,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1014,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1139,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1411,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1236,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:952,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:216,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:222,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:244,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:262,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:300,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:401,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:447,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:494,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:507,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:523,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:998,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1283,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:874,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1045,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:643,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:812,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1252,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:921,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 788
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1420
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 1420
    functionName: libspdm_requester_negotiate_algorithm_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_copy_mem
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_negotiate_algorithm_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1451,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1448,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1455
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1455
    functionName: libspdm_test_requester_negotiate_algorithms_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1567
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1567
    functionName: libspdm_test_requester_negotiate_algorithms_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case4(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1610
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1610
    functionName: libspdm_test_requester_negotiate_algorithms_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case8(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1618
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1618
    functionName: libspdm_test_requester_negotiate_algorithms_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case10(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1626
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1626
    functionName: libspdm_test_requester_negotiate_algorithms_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case12(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1635
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1635
    functionName: libspdm_test_requester_negotiate_algorithms_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case14(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1643
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1643
    functionName: libspdm_test_requester_negotiate_algorithms_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case16(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2185,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2187,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2188,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2190,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2192,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2194,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2196,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2198,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2200,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2202,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2213,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2210,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2217,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2207,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2204,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2215,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2212,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2209,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2184,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2186,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2189,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2191,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2195,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2197,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2199,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2193,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2201,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2203,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2206,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2214,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2182,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2183,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2227,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2211,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2229,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2208,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2205,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2232
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2232
    functionName: libspdm_requester_negotiate_algorithms_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_negotiate_algorithms_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1686,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1716,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1714,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1721
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1721
    functionName: libspdm_test_requester_negotiate_algorithms_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case23(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: libspdm_test_requester_negotiate_algorithms_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case25(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1737
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1737
    functionName: libspdm_test_requester_negotiate_algorithms_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case27(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1745
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1745
    functionName: libspdm_test_requester_negotiate_algorithms_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case29(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1725
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1725
    functionName: libspdm_test_requester_negotiate_algorithms_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case24(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1733
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1733
    functionName: libspdm_test_requester_negotiate_algorithms_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case26(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: libspdm_test_requester_negotiate_algorithms_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case28(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1749
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1749
    functionName: libspdm_test_requester_negotiate_algorithms_case30
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case30(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1571
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1571
    functionName: libspdm_test_requester_negotiate_algorithms_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case5(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1647
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1647
    functionName: libspdm_test_requester_negotiate_algorithms_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case17(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1655
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1655
    functionName: libspdm_test_requester_negotiate_algorithms_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case19(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1663
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1663
    functionName: libspdm_test_requester_negotiate_algorithms_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case21(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1753
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1753
    functionName: libspdm_test_requester_negotiate_algorithms_case31
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case31(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2121,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2117,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2122,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2135,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2158,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2157,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2140,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2139,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2149,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2162,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2148,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2144,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2166,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2167,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2153,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2171,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2175,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2176,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2108,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2112,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2113,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2126,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2130,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 91
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2177
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2177
    functionName: libspdm_test_requester_negotiate_algorithms_case36
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case36(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1593,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1598,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1595,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1602
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1602
    functionName: libspdm_test_requester_negotiate_algorithms_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case6(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1651
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1651
    functionName: libspdm_test_requester_negotiate_algorithms_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case18(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1659
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1659
    functionName: libspdm_test_requester_negotiate_algorithms_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case20(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1667
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1667
    functionName: libspdm_test_requester_negotiate_algorithms_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case22(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1775,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1816,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1811,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1815,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1818,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1820,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1822,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1826
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1826
    functionName: libspdm_test_requester_negotiate_algorithms_case32
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_negotiate_algorithms
    - LIBSPDM_DEBUG
    - assert_memory_equal
    - libspdm_dump_hex
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case32(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1964,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2008,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2012,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1996,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1962,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1965,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1963,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1976,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1978,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2007,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2006,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2009,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1954,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1968,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1991,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1993,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2024,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2028,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2040,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1981,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2023,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2022,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2025,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2038,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2039,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:2041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 78
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2042
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 2042
    functionName: libspdm_test_requester_negotiate_algorithms_case35
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case35(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1843,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1877,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1873,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1875,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1876,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1885,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1887,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1888,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1889,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c:1892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1897
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1897
    functionName: libspdm_test_requester_negotiate_algorithms_case33
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case33(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1902
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1902
    functionName: libspdm_test_requester_negotiate_algorithms_case34
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_case34(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:55,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:64,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:68,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:72,1
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:60,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:76,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:80,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: libspdm_gen_req_info
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_key
    - free
    - libspdm_zero_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_gen_req_info() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: libspdm_clear_cached_csr
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - rename
    linkageType: ''
    returnType: void
    signature: 'void libspdm_clear_cached_csr() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:167,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:192,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:190,1
    - Dst: libspdm_read_requester_gen_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:177,1
    - Dst: libspdm_read_requester_gen_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:204,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:225,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:228,1
    - Dst: libspdm_read_requester_gen_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:239,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:250,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:252,1
    - Dst: libspdm_read_requester_gen_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:263,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:276,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:296,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:303,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 308
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 308
    functionName: libspdm_requester_get_csr_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    - assert_true
    - libspdm_transport_test_encode_message
    - libspdm_read_requester_gen_csr
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_get_csr_test_receive_message(\r
      void *spdm_context, size_t *response_size,\r void **response, uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:371,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:376,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:375,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 377
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 377
    functionName: libspdm_test_requester_get_csr_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - assert_memory_equal
    - libspdm_get_csr
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:455,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:462,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:461,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 463
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 463
    functionName: libspdm_test_requester_get_csr_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - assert_memory_equal
    - libspdm_get_csr
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_csr_ex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:579,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 584
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 584
    functionName: libspdm_test_requester_get_csr_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_csr_ex
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case7(void **state) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:119,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:145,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:153,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:143,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 158
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 158
    functionName: libspdm_requester_get_csr_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - assert_true
    - assert_memory_equal
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_get_csr_test_send_message(\r void
      *spdm_context, size_t request_size, const void *request,\r uint64_t timeout) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - csr_data
    - csr_len
    argTypes:
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: libspdm_read_requester_gen_csr
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_requester_gen_csr(void **csr_data, size_t *csr_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:590,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:594,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:596,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:598,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:592,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:600,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:601,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:611,1
    - Dst: libspdm_clear_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:614,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 619
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 619
    functionName: libspdm_requester_get_csr_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    - libspdm_clear_cached_csr
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_csr_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_gen_req_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:337,1
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 343
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 343
    functionName: libspdm_test_requester_get_csr_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_csr
    - libspdm_gen_req_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:407,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:419,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:410,1
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:416,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:420,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 422
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 422
    functionName: libspdm_test_requester_get_csr_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - assert_memory_equal
    - libspdm_get_csr
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_csr_ex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:496,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:500,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 502
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 502
    functionName: libspdm_test_requester_get_csr_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_csr_ex
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:537,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_csr.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 543
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 543
    functionName: libspdm_test_requester_get_csr_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_csr
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2929,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2949,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2945,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2954,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2932,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2955,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2965,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2966,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2967,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2968,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2982,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2980,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2971,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2983,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2984
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2984
    functionName: libspdm_test_requester_finish_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1649,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1652,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1665,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1669,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1674,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1675,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1685,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1686,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1687,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1688,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1691,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1701,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1711,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1700,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1703,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1709,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1712
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1712
    functionName: libspdm_test_requester_finish_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - assert_memory_equal
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3760,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3763,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3780,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3785,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3776,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3786,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3804,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3805,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3806,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3807,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3816,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3824,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3826,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3815,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3818,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3810,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3817,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3827
      start: 3727
    functionDepth: 0
    functionLinenumber: 3727
    functionLinenumberEnd: 3827
    functionName: libspdm_test_requester_finish_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - assert_memory_equal
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2231,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2234,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2251,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2256,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2247,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2257,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2267,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2268,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2269,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2270,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2273,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2284,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2282,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2286
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2286
    functionName: libspdm_test_requester_finish_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3134,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3156,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3152,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3161,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3137,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3162,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3171,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3181,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3182,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3199,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3197,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3184,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3187,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3201
      start: 3102
    functionDepth: 0
    functionLinenumber: 3102
    functionLinenumberEnd: 3201
    functionName: libspdm_test_requester_finish_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3833,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3835,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3837,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3845,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3853,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3860,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3857,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3865,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3870,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3874,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3843,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3851,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3868,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3841,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3849,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3858,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3863,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3856,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3884,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3839,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3847,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3855,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3862,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3866,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3872,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3889
      start: 3829
    functionDepth: 0
    functionLinenumber: 3829
    functionLinenumberEnd: 3889
    functionName: libspdm_requester_finish_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_finish_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2135,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2160,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2151,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2138,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2155,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2161,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2171,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2172,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2173,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2174,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2189,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2186,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2192
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2192
    functionName: libspdm_test_requester_finish_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3024,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3027,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3042,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3046,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3051,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3052,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3061,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3071,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3072,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3073,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3074,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3077,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3089,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3091,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3094,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3087,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3090,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3095
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3095
    functionName: libspdm_test_requester_finish_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1845,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1865,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1861,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1870,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1848,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1871,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1881,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1882,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1883,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1884,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1900,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1898,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1896,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1899,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1887,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1901
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1901
    functionName: libspdm_test_requester_finish_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1940,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1960,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1965,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1956,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1943,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1966,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1976,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1977,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1978,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1979,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1993,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1991,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1982,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1994,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1995
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1995
    functionName: libspdm_test_requester_finish_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case5(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2325,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2328,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2340,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2336,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2345,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2346,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2356,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2357,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2358,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2359,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2381,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2370,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2372,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2378,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2374,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2382
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2382
    functionName: libspdm_test_requester_finish_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2539,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2590,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2591,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2543,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2562,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2595,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2559,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2599,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2589,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2597,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2587,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2598,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2600,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2523,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2526,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2548,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2549,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2560,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2565,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2603
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2603
    functionName: libspdm_test_requester_finish_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2740,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2756,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2743,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2760,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2765,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2766,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2776,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2777,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2778,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2779,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2794,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2782,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2793,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2795
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2795
    functionName: libspdm_test_requester_finish_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3315
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3315
    functionName: libspdm_test_requester_finish_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3460,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3463,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3480,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3476,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3485,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3486,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3496,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3497,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3498,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3499,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3511,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3514,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3515,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3502,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3516
      start: 3428
    functionDepth: 0
    functionLinenumber: 3428
    functionLinenumberEnd: 3516
    functionName: libspdm_test_requester_finish_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1751,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1767,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1754,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1771,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1776,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1777,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1787,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1788,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1789,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1790,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1805,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1793,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1804,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1806
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1806
    functionName: libspdm_test_requester_finish_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3240,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3262,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3258,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3267,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3243,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3268,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3277,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3287,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3288,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3289,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3290,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3303,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3306,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3305,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3307
      start: 3208
    functionDepth: 0
    functionLinenumber: 3208
    functionLinenumberEnd: 3307
    functionName: libspdm_test_requester_finish_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1553,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1556,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1573,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1578,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1569,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1579,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1589,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1590,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1591,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1592,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1607,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1595,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1606,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1608
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1608
    functionName: libspdm_test_requester_finish_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case1(void **state) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:53,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:71,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:83,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:124,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:154,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:106,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:136,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:166,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:172,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:40,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:59,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:65,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:47,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:77,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:100,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:112,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:142,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:148,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:130,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:118,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:91,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:179,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:160,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 186
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 186
    functionName: libspdm_requester_finish_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_finish_test_send_message(void *spdm_context,
      size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3675,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3693,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3695,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3679,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3694,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3696,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3699,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3708,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3709,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3710,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3711,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3719,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3720
      start: 3639
    functionDepth: 0
    functionLinenumber: 3639
    functionLinenumberEnd: 3720
    functionName: libspdm_test_requester_finish_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - assert_memory_equal
    - libspdm_read_responder_public_key
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case23(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:26,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: libspdm_secured_message_set_response_finished_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_finished_key( void *spdm_secured_message_context,
      const void *key, size_t key_size) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:194,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:227,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:237,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:254,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:615,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:632,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:436,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:449,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:471,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:848,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1025,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1467,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:264,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:331,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:723,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:621,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:478,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:630,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:735,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1028,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:993,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1266,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1391,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1501,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1386,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1101,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1505,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1093,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1284,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:262,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:298,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:315,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:329,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:467,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:476,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:919,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1024,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1378,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1388,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1274,1
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1448,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1497,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1144,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1362,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:499,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:258,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:324,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:805,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:867,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:879,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1079,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1110,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1290,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1432,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1465,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:357,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:704,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:731,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:714,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:734,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1022,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1113,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1189,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1202,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1206,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:883,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1200,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1460,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1462,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:256,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:330,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:741,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:808,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:877,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:937,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1023,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1068,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1085,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1103,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1201,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1286,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1461,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1107,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:257,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:658,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:623,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:739,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:775,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:792,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:806,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:858,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:878,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:946,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1372,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1108,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1020,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1098,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1154,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:625,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:590,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:469,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:249,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:318,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:378,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:461,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:603,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:801,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:870,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1294,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1288,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1381,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1387,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1389,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:226,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:243,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:257,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:309,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:329,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:435,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:627,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:402,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:455,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:811,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1291,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1369,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1297,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1398,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:878,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1260,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1289,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:473,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:252,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:259,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:321,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:556,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:625,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:733,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:807,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:873,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1018,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1318,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1091,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1279,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:885,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1157,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:525,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:652,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:299,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:326,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:334,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:471,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:618,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:940,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:952,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1088,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1452,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1352,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1431,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:726,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:336,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:464,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:795,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1115,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1387,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:953,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1003,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1457,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1295,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1396,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:920,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1272,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1108,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1383,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:703,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:626,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:612,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:720,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:786,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:806,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:875,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:943,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:950,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1012,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1030,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1373,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:246,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:458,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:729,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:472,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:736,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:798,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:931,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:948,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:951,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1069,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1351,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1449,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1289,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1109,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1282,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1442,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1455,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:734,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:776,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:803,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:847,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:864,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:958,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1249,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1015,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:951,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1248,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1269,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1366,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1459,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1190,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1460,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:589,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:609,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:328,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:813,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:880,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:956,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:992,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1009,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1023,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1105,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1384,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:1496,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 709
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1514
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 1514
    functionName: libspdm_requester_finish_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_zero_mem
    - free
    - libspdm_read_requester_public_certificate_chain
    - libspdm_read_responder_public_key
    - libspdm_get_hash_size
    - libspdm_get_managed_buffer
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_finish_test_receive_message( void
      *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2036,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2056,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2061,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2052,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2039,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2062,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2072,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2073,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2074,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2075,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2078,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2087,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2091,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2094,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2090,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2089,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2095
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2095
    functionName: libspdm_test_requester_finish_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case6(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2418,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2434,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2440,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2439,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2430,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2458,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2461,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2462,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2463,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2464,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2466,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2469,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2488,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2471,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2489
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2489
    functionName: libspdm_test_requester_finish_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_session_info_init
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2644,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2664,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2660,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2669,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2647,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2670,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2680,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2681,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2682,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2683,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2698,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2697,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2695,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2699
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2699
    functionName: libspdm_test_requester_finish_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2834,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2854,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2859,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2850,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2837,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2860,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2870,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2871,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2872,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2873,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2887,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2876,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2885,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:2888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2889
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2889
    functionName: libspdm_test_requester_finish_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3355,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3373,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3382,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3377,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3358,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3383,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3392,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3402,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3403,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3404,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3418,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3421,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3420,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3408,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3422
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3422
    functionName: libspdm_test_requester_finish_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3569,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3631,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3556,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3573,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3578,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3579,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3617,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3623,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3601,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3604,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3618,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3588,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3598,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3600,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3625,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3559,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3599,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3616,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3627,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3614,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/finish.c:3628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3632
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3632
    functionName: libspdm_test_requester_finish_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - libspdm_secured_message_get_session_state
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - free
    - libspdm_get_hash_size
    - assert_memory_equal
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_finish_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:241,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:254,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:256,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:253,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:248,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - context
    - response
    - response_size
    argTypes:
    - void*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 263
    functionName: libspdm_requester_chunk_get_test_case4_build_digest_response
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_hash_size
    - libspdm_hash_all
    - libspdm_zero_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_requester_chunk_get_test_case4_build_digest_response(
      void* context, void* response, size_t* response_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - context
    - response
    - response_size
    argTypes:
    - void*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 286
    functionName: libspdm_requester_chunk_get_test_case5_case6_build_vendor_response
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_requester_chunk_get_test_case5_case6_build_vendor_response(
      void* context, void* response, size_t* response_size) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:344,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:363,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:392,1
    - Dst: libspdm_requester_chunk_get_test_case1_build_certificates_response
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:394,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:406,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:410,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:418,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:429,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:446,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:469,1
    - Dst: build_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:499,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:510,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:528,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:497,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:520,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:538,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 162
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 555
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 555
    functionName: libspdm_requester_chunk_get_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - libspdm_get_test_context
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_requester_chunk_get_test_case1_build_certificates_response
    - free
    - build_response_func
    - libspdm_transport_test_encode_message
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_chunk_get_test_receive_message(
      void* spdm_context, size_t* response_size, void** response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:747,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:752,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:750,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:751,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:763,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:768,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:773,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:774,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:781,1
    - Dst: libspdm_challenge
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:782,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:786,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:787,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 793
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 793
    functionName: libspdm_test_requester_chunk_get_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - libspdm_challenge
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_get_case3(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_sizeof_required_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:917,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:923,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:919,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:918,1
    - Dst: libspdm_vendor_send_request_receive_response
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:925,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 932
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 932
    functionName: libspdm_test_requester_chunk_get_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_vendor_send_request_receive_response
    - libspdm_set_scratch_buffer
    - libspdm_get_sizeof_required_scratch_buffer
    - malloc
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_chunk_get_case5(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:47,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:80,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - context
    - response
    - response_size
    - sub_cert_index
    - sub_cert_count
    argTypes:
    - void*
    - void*
    - size_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: libspdm_requester_chunk_get_test_case1_build_certificates_response
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_requester_chunk_get_test_case1_build_certificates_response(
      void *context, void *response, size_t *response_size, size_t sub_cert_index,
      size_t *sub_cert_count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:106,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:132,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:121,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:118,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:124,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:137,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:144,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 3
    argNames:
    - context
    - response
    - response_size
    argTypes:
    - void*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 153
    functionName: libspdm_requester_chunk_get_test_case2_build_measurements_response
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_random_number
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_requester_chunk_get_test_case2_build_measurements_response(
      void* context, void* response, size_t* response_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:294,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:305,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 319
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 319
    functionName: libspdm_requester_chunk_get_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_chunk_get_test_send_message( void*
      spdm_context, size_t request_size, const void* request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:662,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:683,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:678,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:688,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:665,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:689,1
    - Dst: libspdm_get_measurement
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:698,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:703,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:705,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:709,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 717
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 717
    functionName: libspdm_test_requester_chunk_get_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_get_measurement_hash_size
    - assert_int_equal
    - libspdm_get_measurement
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_get_case2(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_sizeof_required_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:969,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:975,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:971,1
    - Dst: libspdm_vendor_send_request_receive_response
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:977,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:970,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 984
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 984
    functionName: libspdm_test_requester_chunk_get_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_vendor_send_request_receive_response
    - libspdm_set_scratch_buffer
    - libspdm_get_sizeof_required_scratch_buffer
    - malloc
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_chunk_get_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:994,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:1002,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:998,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:1006,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:1012,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:1014,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:1025,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:1027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1030
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1030
    functionName: libspdm_requester_chunk_get_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_chunk_get_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:827,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:858,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:865,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:877,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:845,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:859,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:865,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:867,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:862,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:864,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:875,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:837,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:831,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:841,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:839,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:838,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:842,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:848,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:850,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:857,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:855,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 879
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 879
    functionName: libspdm_test_requester_chunk_get_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_get_data
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_get_case4(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:590,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:603,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:594,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:598,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:599,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:613,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:615,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:618,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:622,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c:627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 628
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 628
    functionName: libspdm_test_requester_chunk_get_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_get_case1(void** state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:42,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 58
    functionName: libspdm_test_get_key_exchange_request_size
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_get_dhe_pub_key_size
    linkageType: ''
    returnType: size_t
    signature: 'static size_t libspdm_test_get_key_exchange_request_size(const void
      *spdm_context, const void *buffer, size_t buffer_size) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:87,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:75,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:93,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:105,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:111,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:143,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:155,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:173,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:179,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:191,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:350,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:317,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:242,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:287,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:308,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:78,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:84,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:152,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:164,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:170,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:188,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:236,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:254,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:260,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:272,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:305,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:323,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:332,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:224,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:368,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:290,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:215,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:281,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:359,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:123,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:129,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:140,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:161,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:209,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:227,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:233,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:245,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:251,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:269,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:299,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:326,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:371,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:197,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:296,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:263,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:362,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:341,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:353,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:68,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:96,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:102,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:114,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:120,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:132,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:182,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:200,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:206,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:218,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:278,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:344,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:335,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c:314,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 272
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 378
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 378
    functionName: libspdm_requester_key_exchange_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_test_get_key_exchange_request_size
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_key_exchange_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_requester_get_capabilities_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:120,1
    - Dst: libspdm_requester_get_measurements_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:156,1
    - Dst: libspdm_requester_get_endpoint_info_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:207,1
    - Dst: libspdm_requester_get_endpoint_info_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:210,1
    - Dst: libspdm_requester_encap_challenge_auth_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:229,1
    - Dst: libspdm_requester_get_csr_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:262,1
    - Dst: libspdm_requester_encap_event_ack_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:241,1
    - Dst: libspdm_requester_get_capabilities_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:123,1
    - Dst: libspdm_requester_get_digests_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:135,1
    - Dst: libspdm_requester_get_digests_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:138,1
    - Dst: libspdm_requester_challenge_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:147,1
    - Dst: libspdm_requester_heartbeat_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:195,1
    - Dst: libspdm_requester_finish_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:177,1
    - Dst: libspdm_requester_key_update_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:198,1
    - Dst: libspdm_requester_encap_key_update_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:234,1
    - Dst: libspdm_requester_encap_endpoint_info_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:246,1
    - Dst: libspdm_requester_encap_endpoint_info_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:249,1
    - Dst: libspdm_requester_get_key_pair_info_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:292,1
    - Dst: libspdm_requester_chunk_get_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:268,1
    - Dst: libspdm_requester_get_event_types_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:280,1
    - Dst: libspdm_requester_get_version_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:113,1
    - Dst: libspdm_requester_negotiate_algorithms_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:127,1
    - Dst: libspdm_requester_get_certificate_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:141,1
    - Dst: libspdm_requester_get_measurements_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:153,1
    - Dst: libspdm_requester_get_measurement_extension_log_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:162,1
    - Dst: libspdm_requester_psk_exchange_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:183,1
    - Dst: libspdm_requester_end_session_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:201,1
    - Dst: libspdm_requester_encap_request_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:216,1
    - Dst: libspdm_requester_encap_digests_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:221,1
    - Dst: libspdm_requester_encap_certificate_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:224,1
    - Dst: libspdm_requester_get_key_pair_info_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:295,1
    - Dst: libspdm_requester_vendor_cmds_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:310,1
    - Dst: libspdm_requester_set_key_pair_info_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:304,1
    - Dst: libspdm_requester_get_version_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:116,1
    - Dst: libspdm_requester_negotiate_algorithms_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:130,1
    - Dst: libspdm_requester_psk_finish_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:189,1
    - Dst: libspdm_requester_key_exchange_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:171,1
    - Dst: libspdm_requester_key_exchange_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:168,1
    - Dst: libspdm_requester_encap_event_ack_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:238,1
    - Dst: libspdm_requester_set_certificate_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:256,1
    - Dst: libspdm_requester_get_event_types_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:277,1
    - Dst: libspdm_requester_subscribe_event_types_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:286,1
    - Dst: libspdm_requester_set_key_pair_info_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:301,1
    - Dst: libspdm_requester_vendor_cmds_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:313,1
    - Dst: libspdm_requester_chunk_send_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:271,1
    - Dst: libspdm_requester_subscribe_event_types_test_main
      Src: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c:283,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 186
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 319
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 319
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/test_spdm_requester.c
    functionUses: []
    functionsReached:
    - libspdm_requester_get_digests_test_main
    - libspdm_requester_negotiate_algorithms_test_main
    - libspdm_requester_encap_digests_test_main
    - libspdm_requester_get_certificate_test_main
    - libspdm_requester_end_session_test_main
    - libspdm_requester_chunk_get_test_main
    - libspdm_requester_get_key_pair_info_error_test_main
    - libspdm_requester_get_measurements_test_main
    - libspdm_requester_psk_finish_test_main
    - libspdm_requester_get_capabilities_error_test_main
    - libspdm_requester_get_version_test_main
    - libspdm_requester_psk_exchange_test_main
    - libspdm_requester_encap_endpoint_info_error_test_main
    - libspdm_requester_negotiate_algorithms_error_test_main
    - libspdm_requester_finish_test_main
    - libspdm_requester_encap_challenge_auth_test_main
    - libspdm_requester_encap_endpoint_info_test_main
    - libspdm_requester_encap_certificate_test_main
    - libspdm_requester_encap_request_test_main
    - libspdm_requester_subscribe_event_types_error_test_main
    - libspdm_requester_key_exchange_test_main
    - libspdm_requester_get_version_error_test_main
    - libspdm_requester_get_event_types_test_main
    - libspdm_requester_get_measurement_extension_log_test_main
    - libspdm_requester_encap_event_ack_test_main
    - libspdm_requester_chunk_send_test_main
    - libspdm_requester_vendor_cmds_error_test_main
    - libspdm_requester_get_key_pair_info_test_main
    - libspdm_requester_key_exchange_error_test_main
    - libspdm_requester_encap_event_ack_error_test_main
    - libspdm_requester_subscribe_event_types_test_main
    - libspdm_requester_get_endpoint_info_error_test_main
    - libspdm_requester_vendor_cmds_test_main
    - libspdm_requester_key_update_test_main
    - libspdm_requester_set_certificate_test_main
    - libspdm_requester_set_key_pair_info_error_test_main
    - libspdm_requester_get_event_types_error_test_main
    - libspdm_requester_get_csr_test_main
    - libspdm_requester_set_key_pair_info_test_main
    - libspdm_requester_get_digests_error_test_main
    - libspdm_requester_heartbeat_test_main
    - libspdm_requester_challenge_test_main
    - libspdm_requester_get_endpoint_info_test_main
    - libspdm_requester_get_capabilities_test_main
    - libspdm_requester_encap_key_update_test_main
    - libspdm_requester_get_measurements_error_test_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:21,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: libspdm_secured_message_set_response_data_encryption_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_response_data_encryption_key(
      void *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:706,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:728,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:709,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:721,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:729,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:733,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:734,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 736
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 736
    functionName: libspdm_test_requester_end_session_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case1(void **state) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:46,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 75
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 75
    functionName: libspdm_requester_end_session_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_end_session_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:859,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:874,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:862,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:882,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:881,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:885,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:890,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:895,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:900,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:909,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:911,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:910,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 912
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 912
    functionName: libspdm_test_requester_end_session_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1031,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1053,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1054,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1046,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1034,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1057,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1062,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1067,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1072,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1081,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1082,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1083,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1084
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1084
    functionName: libspdm_test_requester_end_session_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1208,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1231,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1230,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1211,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1223,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1234,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1239,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1244,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1249,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1258,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1262,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1260,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1263
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1263
    functionName: libspdm_test_requester_end_session_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case7(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1382,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1404,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1396,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1403,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1385,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1407,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1412,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1417,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1422,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1429,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1431,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1433,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1439,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1432,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1440
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1440
    functionName: libspdm_test_requester_end_session_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1563,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1586,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1599,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1578,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1594,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1625,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1626,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1585,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1566,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1604,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1632,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1638,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1589,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1628,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1633,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1634,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1636,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1627,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1639
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1639
    functionName: libspdm_test_requester_end_session_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case11(void **state) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:153,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:158,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:194,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:283,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:237,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:369,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:416,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:467,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:473,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:566,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:608,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:609,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:520,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:415,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:83,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:111,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:204,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:246,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:324,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:378,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:420,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:478,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:512,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:552,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:560,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:119,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:154,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:199,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:236,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:195,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:281,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:241,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:287,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:334,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:368,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:562,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:649,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:613,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:373,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:617,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:469,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:650,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:654,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:659,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:110,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:115,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:162,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:292,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:326,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:330,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:425,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:510,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:516,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:569,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 301
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 673
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 673
    functionName: libspdm_requester_end_session_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_end_session_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:34,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - salt
    - salt_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: libspdm_secured_message_set_response_data_salt
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_response_data_salt( void *spdm_secured_message_context,
      const void *salt, size_t salt_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:769,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:784,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:791,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:772,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:792,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:795,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:800,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:805,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:810,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:819,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:820,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:825,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:821,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:822,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 826
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 826
    functionName: libspdm_test_requester_end_session_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:945,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:948,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:968,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:960,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:967,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:971,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:976,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:981,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:986,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:995,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:996,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:997,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 998
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 998
    functionName: libspdm_test_requester_end_session_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1118,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1141,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1121,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1133,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1140,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1144,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1149,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1154,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1159,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1168,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1171,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1169,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1175
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1175
    functionName: libspdm_test_requester_end_session_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1296,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1299,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1318,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1319,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1311,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1322,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1327,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1332,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1337,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1346,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1347,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1349
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1349
    functionName: libspdm_test_requester_end_session_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case8(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1466,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1490,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1489,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1485,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1477,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1492,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1495,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1498,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1501,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1510,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1529,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1514,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1512,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1530
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1530
    functionName: libspdm_test_requester_end_session_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1737,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1745,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1743,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1739,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1741,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1747,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1749,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1751,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1753,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1755,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1759,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1769,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1771,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1774
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1774
    functionName: libspdm_requester_end_session_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_end_session_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1676,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1699,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1691,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1698,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1679,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1702,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1707,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1712,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1717,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1726,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1730,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1728,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/end_session.c:1727,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1731
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1731
    functionName: libspdm_test_requester_end_session_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session_case12(void **state) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:196,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:180,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:220,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:226,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:248,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:266,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:346,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:320,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:365,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:314,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:703,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:828,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:919,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:812,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:976,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:786,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:689,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:746,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:158,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:286,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:296,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:378,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:394,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:470,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:526,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:555,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:601,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:673,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:773,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:863,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:730,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:407,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:889,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1010,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:172,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:204,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:242,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:336,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:273,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:423,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:448,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:854,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:883,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:432,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:802,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:936,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:986,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:478,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:931,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:952,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:838,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:454,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:502,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:518,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:542,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:571,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:585,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:614,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:630,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:643,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:659,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:961,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:719,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1001,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:757,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:494,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 485
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1019
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 1019
    functionName: libspdm_requester_get_capabilities_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_copy_mem
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_capabilities_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1091,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1092,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1093,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1096
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1096
    functionName: libspdm_test_requester_get_capabilities_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1132,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1133,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1135,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1141
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1141
    functionName: libspdm_test_requester_get_capabilities_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1158,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1161,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1159,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1168
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1168
    functionName: libspdm_test_requester_get_capabilities_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1229,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1227,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1231
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1231
    functionName: libspdm_test_requester_get_capabilities_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1340,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1346,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1347,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1345,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1348,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1350,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1352,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1354,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1356,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1359
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1359
    functionName: libspdm_test_requester_get_capabilities_case32
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - LIBSPDM_DEBUG
    - libspdm_get_capabilities
    - libspdm_dump_hex
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case32(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1408,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1409,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1412,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1410,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1414,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1417
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1417
    functionName: libspdm_test_requester_get_capabilities_case35
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case35(void **state) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:68,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:136,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 150
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 150
    functionName: libspdm_requester_get_capabilities_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_capabilities_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1185,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1186,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1191
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1191
    functionName: libspdm_test_requester_get_capabilities_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1423,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1431,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1433,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1427,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1432,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1437,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1453,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1454,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1456,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1466,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1471
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1471
    functionName: libspdm_requester_get_capabilities_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_capabilities_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1046,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1049,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1047,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1048,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1054
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1054
    functionName: libspdm_test_requester_get_capabilities_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1376,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1380,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1377,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1378,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c:1383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1385
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1385
    functionName: libspdm_test_requester_get_capabilities_case33
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_case33(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_vendor_specific_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:541,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 543
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 543
    functionName: libspdm_test_requester_chunk_send_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_test_requester_chunk_send_vendor_specific_test_case
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case13(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:551,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:553,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:557,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:555,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:559,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:561,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:563,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:565,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:567,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:569,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:573,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:589,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:571,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:576,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 592
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 592
    functionName: libspdm_requester_chunk_send_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_chunk_send_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:451,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: libspdm_test_requester_chunk_send_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case2(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:465,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: libspdm_test_requester_chunk_send_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case4(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:507,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: libspdm_test_requester_chunk_send_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case10(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:528,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: libspdm_test_requester_chunk_send_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case12(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: libspdm_test_requester_chunk_send_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case3(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:472,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: libspdm_test_requester_chunk_send_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case5(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:515,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: libspdm_test_requester_chunk_send_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case11(void** state) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:126,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:156,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:150,1
    - Dst: libspdm_requester_chunk_send_test_case1_build_algorithms_response
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:146,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:166,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:185,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:203,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:223,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:250,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:271,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:322,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:292,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:331,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 133
    argCount: 4
    argNames:
    - context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 334
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 334
    functionName: libspdm_requester_chunk_send_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_requester_chunk_send_test_case1_build_algorithms_response
    - LIBSPDM_ASSERT
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_chunk_send_test_receive_message(
      void *context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:384,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - state
    - case_id
    argTypes:
    - void**
    - uint32_t
    constantsTouched: []
    func_position:
      end: 388
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 388
    functionName: libspdm_test_requester_chunk_send_generic_test_case
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_test_requester_chunk_send_generic_test_case(
      void** state, uint32_t case_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - context
    - response
    - response_size
    argTypes:
    - void*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: libspdm_requester_chunk_send_test_case1_build_algorithms_response
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_zero_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_requester_chunk_send_test_case1_build_algorithms_response(
      void* context, void* response, size_t* response_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_sizeof_required_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:424,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:425,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:426,1
    - Dst: libspdm_vendor_send_request_receive_response
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:432,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - state
    - case_id
    argTypes:
    - void**
    - uint32_t
    constantsTouched: []
    func_position:
      end: 438
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 438
    functionName: libspdm_test_requester_chunk_send_vendor_specific_test_case
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_vendor_send_request_receive_response
    - libspdm_set_scratch_buffer
    - libspdm_get_sizeof_required_scratch_buffer
    - malloc
    - libspdm_reset_message_a
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_test_requester_chunk_send_vendor_specific_test_case(
      void** state, uint32_t case_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:479,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: libspdm_test_requester_chunk_send_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case6(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:493,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: libspdm_test_requester_chunk_send_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case8(void** state) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:53,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:109,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:104,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 112
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 112
    functionName: libspdm_requester_chunk_send_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_chunk_send_test_send_message( void*
      spdm_context, size_t request_size, const void* request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:444,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: libspdm_test_requester_chunk_send_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case1(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:486,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: libspdm_test_requester_chunk_send_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case7(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_requester_chunk_send_generic_test_case
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:500,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: libspdm_test_requester_chunk_send_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_chunk_send_generic_test_case
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case9(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:117,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - spdm_version
    - hash_size
    - in_secret
    - out_secret
    - out_secret_size
    argTypes:
    - spdm_version_number_t
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: libspdm_compute_secret_update
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_expand
    - libspdm_bin_concat
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_compute_secret_update(spdm_version_number_t spdm_version,
      size_t hash_size, const uint8_t *in_secret, uint8_t *out_secret, size_t out_secret_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3852,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3870,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3857,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3863,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3873,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3874,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3884
      start: 3834
    functionDepth: 0
    functionLinenumber: 3834
    functionLinenumberEnd: 3884
    functionName: libspdm_test_requester_key_update_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4269,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4284,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4274,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4281,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4285,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4295
      start: 4252
    functionDepth: 0
    functionLinenumber: 4252
    functionLinenumberEnd: 4295
    functionName: libspdm_test_requester_key_update_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4597,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4602,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4608,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4618,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4615,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4619,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4629
      start: 4579
    functionDepth: 0
    functionLinenumber: 4579
    functionLinenumberEnd: 4629
    functionName: libspdm_test_requester_key_update_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case19(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4755,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4773,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4766,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4776,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4760,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4777,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4782,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4790
      start: 4738
    functionDepth: 0
    functionLinenumber: 4738
    functionLinenumberEnd: 4790
    functionName: libspdm_test_requester_key_update_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5135,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5147,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5141,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5151,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5160,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5163,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5164,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5174
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5174
    functionName: libspdm_test_requester_key_update_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case28(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5271,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5295,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5283,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5277,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5287,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5301,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5310,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5311,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5321
      start: 5251
    functionDepth: 0
    functionLinenumber: 5251
    functionLinenumberEnd: 5321
    functionName: libspdm_test_requester_key_update_case30
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case30(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5474,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5489,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5497,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5485,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5479,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5503,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5509,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5512,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5513,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5518,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5526
      start: 5455
    functionDepth: 0
    functionLinenumber: 5455
    functionLinenumberEnd: 5526
    functionName: libspdm_test_requester_key_update_case33
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case33(void **state) '
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:155,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:255,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:282,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:653,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:745,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:574,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:617,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:699,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:618,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:209,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:236,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:328,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:449,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:547,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:521,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:807,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:739,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:540,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:149,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:347,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:647,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:568,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:693,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:301,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:484,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:506,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:196,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:288,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:396,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:438,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:706,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:794,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:660,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:160,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:377,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:579,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:580,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:492,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:750,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:788,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:132,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:190,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:432,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:161,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:242,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:334,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:527,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:752,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:249,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:339,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:532,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:201,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:203,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:293,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:444,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:799,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:801,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:623,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:341,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:473,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:704,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:534,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:658,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:295,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:383,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:388,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:612,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:712,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:666,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:585,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:486,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:247,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:390,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:479,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:606,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:166,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:443,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:758,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 239
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 825
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 825
    functionName: libspdm_requester_key_update_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_get_session_info_via_session_id
    - libspdm_transport_test_decode_message
    - libspdm_get_test_context
    - memcpy
    - LIBSPDM_DEBUG
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_key_update_test_send_message( void
      *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5558,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5580,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5570,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5576,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5589,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5592,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5593,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5598,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5618
      start: 5538
    functionDepth: 0
    functionLinenumber: 5538
    functionLinenumberEnd: 5618
    functionName: libspdm_test_requester_key_update_case34
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case34(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5669,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5677,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5697,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5690,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5705,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5719,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5727,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5725,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5662,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5667,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5665,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5675,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5683,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5686,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5689,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5695,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5703,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5710,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5673,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5681,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5693,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5685,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5701,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5709,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5715,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5723,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5717,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5671,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5679,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5687,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5699,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5707,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5713,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5721,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5729,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5739,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5744
      start: 5658
    functionDepth: 0
    functionLinenumber: 5658
    functionLinenumberEnd: 5744
    functionName: libspdm_requester_key_update_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_key_update_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4212,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4233,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4230,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4234,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4223,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4244
      start: 4195
    functionDepth: 0
    functionLinenumber: 4195
    functionLinenumberEnd: 4244
    functionName: libspdm_test_requester_key_update_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4537,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4555,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4542,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4548,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4558,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4559,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4569
      start: 4520
    functionDepth: 0
    functionLinenumber: 4520
    functionLinenumberEnd: 4569
    functionName: libspdm_test_requester_key_update_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5406,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5431,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5418,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5422,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5412,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5434,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5435,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5445
      start: 5387
    functionDepth: 0
    functionLinenumber: 5387
    functionLinenumberEnd: 5445
    functionName: libspdm_test_requester_key_update_case32
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case32(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3609,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3622,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3623
      start: 3592
    functionDepth: 0
    functionLinenumber: 3592
    functionLinenumberEnd: 3623
    functionName: libspdm_test_requester_key_update_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    - libspdm_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3952,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3967,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3964,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3968,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3957,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3978
      start: 3935
    functionDepth: 0
    functionLinenumber: 3935
    functionLinenumberEnd: 3978
    functionName: libspdm_test_requester_key_update_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5071,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5076,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5094,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5088,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5082,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5097,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5098,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5108
      start: 5054
    functionDepth: 0
    functionLinenumber: 5054
    functionLinenumberEnd: 5108
    functionName: libspdm_test_requester_key_update_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case27(void **state) '
  - BBCount: 135
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1770,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1605,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2600,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2721,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3026,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3237,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3328,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3506,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3412,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3552,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2470,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2839,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2370,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3372,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:876,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1714,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1748,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1216,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1656,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2179,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2207,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2337,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2372,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2692,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2957,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3486,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2980,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3149,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:933,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1234,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1397,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1941,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2299,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2399,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2974,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3179,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3228,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3332,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2466,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2892,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3291,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1186,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1068,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1103,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1138,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1718,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1995,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2029,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2064,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2092,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2211,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2803,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2335,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2662,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1854,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1997,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2430,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2883,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3105,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2765,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1235,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1943,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1947,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2605,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2851,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2945,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3054,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3143,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3203,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3287,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3477,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3138,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3263,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3374,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1544,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1007,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1043,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1070,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1105,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1140,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1187,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1191,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1257,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1821,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2761,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3461,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3101,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1635,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1466,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:855,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1021,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1025,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1239,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1416,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1601,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2031,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2303,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3191,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3093,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3134,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2070,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3303,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3448,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1144,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1289,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1359,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1487,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:977,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1074,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1109,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1324,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2001,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2035,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3297,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3406,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2887,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3338,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:833,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:932,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1173,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1418,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2432,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2436,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2777,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2847,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2941,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2951,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3500,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3378,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1969,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2066,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2992,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3187,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1326,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1330,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1522,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:978,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1291,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1295,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1365,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1488,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1827,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1860,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3471,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3111,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3197,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2456,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3020,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1422,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1771,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1775,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2243,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2543,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2601,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2635,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2793,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2918,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2986,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3566,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3117,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3496,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2898,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1657,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1661,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1492,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1691,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:877,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:881,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:911,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:982,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1908,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2118,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2809,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3060,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2976,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3232,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:937,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:964,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1020,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1600,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2245,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2544,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2548,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2578,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2716,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2794,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2863,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3243,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2151,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3408,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2771,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2517,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1882,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1910,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2120,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2124,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2153,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2157,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2271,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2297,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2341,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2464,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3133,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3227,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2717,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2753,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3022,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1408,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2249,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2798,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2857,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3056,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3326,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3465,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3570,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3565,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2657,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3512,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1549,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1361,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1823,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1579,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1795,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1545,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1713,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1856,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:1914,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2205,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2658,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2376,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3344,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3494,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:2882,1
    CyclomaticComplexity: 284
    EdgeCount: 284
    ICount: 1239
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 3584
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 3584
    functionName: libspdm_requester_key_update_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_key_update_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3910,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3915,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3923,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3920,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3926
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3926
    functionName: libspdm_test_requester_key_update_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    - libspdm_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case7(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4820,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4831,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4844,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4837,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4847,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4848,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4853,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4873
      start: 4802
    functionDepth: 0
    functionLinenumber: 4802
    functionLinenumberEnd: 4873
    functionName: libspdm_test_requester_key_update_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case23(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5014,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5025,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5019,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5032,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5035,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5036,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5041,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5046
      start: 4997
    functionDepth: 0
    functionLinenumber: 4997
    functionLinenumberEnd: 5046
    functionName: libspdm_test_requester_key_update_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case26(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5202,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5227,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5218,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5214,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5208,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5230,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5231,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5241
      start: 5183
    functionDepth: 0
    functionLinenumber: 5183
    functionLinenumberEnd: 5241
    functionName: libspdm_test_requester_key_update_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case29(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5349,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5361,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5355,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5372,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5365,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5375,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5378
      start: 5330
    functionDepth: 0
    functionLinenumber: 5330
    functionLinenumberEnd: 5378
    functionName: libspdm_test_requester_key_update_case31
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case31(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5641,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5654,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5652,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5655,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:5645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5656
      start: 5624
    functionDepth: 0
    functionLinenumber: 5624
    functionLinenumberEnd: 5656
    functionName: libspdm_test_requester_key_update_case35
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    - libspdm_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case35(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3648,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3669,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3666,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3653,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3659,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3670,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3675,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3680
      start: 3631
    functionDepth: 0
    functionLinenumber: 3631
    functionLinenumberEnd: 3680
    functionName: libspdm_test_requester_key_update_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case2(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4069,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4090,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4080,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4087,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4091,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4096,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4116
      start: 4051
    functionDepth: 0
    functionLinenumber: 4051
    functionLinenumberEnd: 4116
    functionName: libspdm_test_requester_key_update_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4430,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4446,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4442,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4445,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4435,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4456
      start: 4413
    functionDepth: 0
    functionLinenumber: 4413
    functionLinenumberEnd: 4456
    functionName: libspdm_test_requester_key_update_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4655,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4665,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4669,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4668,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4671
      start: 4638
    functionDepth: 0
    functionLinenumber: 4638
    functionLinenumberEnd: 4671
    functionName: libspdm_test_requester_key_update_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    - libspdm_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4135,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4165,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4146,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4140,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4168,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4169,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4180,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4181,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4182,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4186
      start: 4118
    functionDepth: 0
    functionLinenumber: 4118
    functionLinenumberEnd: 4186
    functionName: libspdm_test_requester_key_update_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case11(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4005,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4025,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4022,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4009,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4015,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4026,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4031,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4036,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4039
      start: 3988
    functionDepth: 0
    functionLinenumber: 3988
    functionLinenumberEnd: 4039
    functionName: libspdm_test_requester_key_update_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:40,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:63,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:62,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:67,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 68
    functionName: libspdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_state( libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3798,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3810,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3813,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3814,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3803,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3824
      start: 3781
    functionDepth: 0
    functionLinenumber: 3781
    functionLinenumberEnd: 3824
    functionName: libspdm_test_requester_key_update_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4378,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4383,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4393,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4394,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4390,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4404
      start: 4361
    functionDepth: 0
    functionLinenumber: 4361
    functionLinenumberEnd: 4404
    functionName: libspdm_test_requester_key_update_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4956,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4974,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4967,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4977,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4961,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4978,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4988
      start: 4939
    functionDepth: 0
    functionLinenumber: 4939
    functionLinenumberEnd: 4988
    functionName: libspdm_test_requester_key_update_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:75,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:80,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:87,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:77,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:83,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:90,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:95,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - secured_message_context
    - m_rsp_secret_buffer
    - rsp_secret_fill
    - m_req_secret_buffer
    - req_secret_fill
    argTypes:
    - libspdm_secured_message_context_t*
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 106
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 106
    functionName: libspdm_set_standard_key_update_test_secrets
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_secrets( libspdm_secured_message_context_t
      *secured_message_context, uint8_t *m_rsp_secret_buffer, uint8_t rsp_secret_fill,
      uint8_t *m_req_secret_buffer, uint8_t req_secret_fill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3704,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3718,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3721,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3722
      start: 3687
    functionDepth: 0
    functionLinenumber: 3687
    functionLinenumberEnd: 3722
    functionName: libspdm_test_requester_key_update_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    - libspdm_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3747,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3752,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3762,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3763,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3759,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:3768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3773
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3773
    functionName: libspdm_test_requester_key_update_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4321,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4327,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4331,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4338,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4341,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4342,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4352
      start: 4304
    functionDepth: 0
    functionLinenumber: 4304
    functionLinenumberEnd: 4352
    functionName: libspdm_test_requester_key_update_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_secured_message_set_session_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4481,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4485,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4491,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4500,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4498,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4501,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4511
      start: 4464
    functionDepth: 0
    functionLinenumber: 4464
    functionLinenumberEnd: 4511
    functionName: libspdm_test_requester_key_update_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4697,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4702,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4715,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4708,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4718,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4719,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4729
      start: 4680
    functionDepth: 0
    functionLinenumber: 4680
    functionLinenumberEnd: 4729
    functionName: libspdm_test_requester_key_update_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4898,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4916,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4903,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4919,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4909,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4920,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/key_update.c:4925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4930
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 4930
    functionName: libspdm_test_requester_key_update_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case24(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:27,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: libspdm_requester_get_key_pair_info_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_get_key_pair_info_test_send_message(\r
      void *spdm_context, size_t request_size, const void *request,\r uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:303,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:381,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:383,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:396,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:401,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:405,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:449,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:450,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:451,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:577,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:455,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:519,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:558,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:250,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:378,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:372,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:329,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:335,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:402,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:406,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:424,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:429,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:513,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:514,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:515,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:456,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:552,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:273,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:279,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:305,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:379,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:403,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:453,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:469,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:474,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:487,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:493,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:539,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:516,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:507,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:296,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:256,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:302,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:306,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:348,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:380,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:404,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:444,1
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 231
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 578
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 578
    functionName: libspdm_test_requester_get_key_pair_info_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_key_pair_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_key_pair_info_case3(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:43,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:94,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:136,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:97,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 146
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 146
    functionName: libspdm_requester_get_key_pair_info_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_get_key_pair_info_test_receive_message(\r
      void *spdm_context, size_t *response_size,\r void **response, uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:584,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:594,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 599
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 599
    functionName: libspdm_requester_get_key_pair_info_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_key_pair_info_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:194,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:196,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:193,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:195,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:197,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 199
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 199
    functionName: libspdm_test_requester_get_key_pair_info_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_key_pair_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_key_pair_info_case1(void **state) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:27,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:34,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:46,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:40,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:52,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:58,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:64,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:70,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:78,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:98,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:111,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:109,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:114,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:107,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:122,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:137,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/challenge.c:130,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 144
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 144
    functionName: libspdm_requester_challenge_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/challenge.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_set_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_challenge_test_send_message(void
      *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:18,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 27
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 27
    functionName: libspdm_requester_set_key_pair_info_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_set_key_pair_info_test_send_message(\r
      void *spdm_context, size_t request_size, const void *request,\r uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:223,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 228
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 228
    functionName: libspdm_test_requester_set_key_pair_info_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_set_key_pair_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_key_pair_info_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:137,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:141,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:149,1
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: libspdm_test_requester_set_key_pair_info_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_set_key_pair_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_key_pair_info_case1(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:35,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:93,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:52,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:72,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 103
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 103
    functionName: libspdm_requester_set_key_pair_info_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_set_key_pair_info_test_receive_message(\r
      void *spdm_context, size_t *response_size,\r void **response, uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:234,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:248,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:238,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:236,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 253
    functionName: libspdm_requester_set_key_pair_info_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_set_key_pair_info_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:184,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 189
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 189
    functionName: libspdm_test_requester_set_key_pair_info_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_set_key_pair_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_key_pair_info_case2(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3674,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3697,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3696,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3693,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3685,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3704,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3718,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3719
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3719
    functionName: libspdm_test_requester_psk_exchange_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case10(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3820,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3851,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3837,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3834,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3845,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3852,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3857,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3858,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3859,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3860,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3869,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3870,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3873,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3867,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3865,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3874
      start: 3803
    functionDepth: 0
    functionLinenumber: 3803
    functionLinenumberEnd: 3874
    functionName: libspdm_test_requester_psk_exchange_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - LIBSPDM_DEBUG
    - free
    - assert_memory_equal
    - libspdm_send_receive_psk_exchange
    - libspdm_dump_hex
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case12(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4126,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4173,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4166,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4151,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4148,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4179,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4180,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4181,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4184,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4186,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4189,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4190
      start: 4109
    functionDepth: 0
    functionLinenumber: 4109
    functionLinenumberEnd: 4190
    functionName: libspdm_test_requester_psk_exchange_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - assert_memory_equal
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case16(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4283,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4305,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4323,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4308,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4330,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4331,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4336,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4338
      start: 4266
    functionDepth: 0
    functionLinenumber: 4266
    functionLinenumberEnd: 4338
    functionName: libspdm_test_requester_psk_exchange_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case18(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4598,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4627,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4645,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4652,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4630,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4653,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4665,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4666,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4667,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4668,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4672,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4671,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4673
      start: 4581
    functionDepth: 0
    functionLinenumber: 4581
    functionLinenumberEnd: 4673
    functionName: libspdm_test_requester_psk_exchange_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3747,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3762,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3780,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3781,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3750,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3786,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3787,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3788,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3789,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3793,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3794,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3800,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3795,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3796,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3801
      start: 3721
    functionDepth: 0
    functionLinenumber: 3721
    functionLinenumberEnd: 3801
    functionName: libspdm_test_requester_psk_exchange_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3904,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3907,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3926,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3914,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3920,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3927,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3933,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3934,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3935,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3936,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3939,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3943
      start: 3876
    functionDepth: 0
    functionLinenumber: 3876
    functionLinenumberEnd: 3943
    functionName: libspdm_test_requester_psk_exchange_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case13(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4209,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4234,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4256,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4231,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4249,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4257,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4262,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4264
      start: 4192
    functionDepth: 0
    functionLinenumber: 4192
    functionLinenumberEnd: 4264
    functionName: libspdm_test_requester_psk_exchange_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case17(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4357,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4397,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4404,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4379,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4382,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4405,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4410,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4412
      start: 4340
    functionDepth: 0
    functionLinenumber: 4340
    functionLinenumberEnd: 4412
    functionName: libspdm_test_requester_psk_exchange_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case19(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4692,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4730,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4709,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4712,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4724,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4731,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4736,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4738
      start: 4675
    functionDepth: 0
    functionLinenumber: 4675
    functionLinenumberEnd: 4738
    functionName: libspdm_test_requester_psk_exchange_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case23(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: libspdm_test_get_psk_exchange_request_size
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_test_get_psk_exchange_request_size(const void *spdm_context,
      const void *buffer, size_t buffer_size) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:959,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1185,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1200,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1951,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1968,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2066,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2095,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2289,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2485,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2845,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2593,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2834,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:515,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:532,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:911,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1173,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1267,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1528,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1824,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2487,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2571,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3019,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1083,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1437,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1605,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:662,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:719,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:926,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1848,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1841,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2119,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2194,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3049,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2830,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2585,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2838,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1842,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1451,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:741,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1103,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1111,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1607,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2587,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2830,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1194,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:410,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1718,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1439,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1962,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2036,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2184,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2197,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2436,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2585,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1395,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:416,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:913,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1347,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2327,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2573,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2972,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3099,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:690,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:830,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1216,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1305,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1986,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2192,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2341,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2441,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2658,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3057,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2978,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3059,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3093,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:550,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:526,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1166,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1319,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1479,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2825,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3071,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1658,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:359,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:745,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1474,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1585,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2097,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2849,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1827,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1844,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1107,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:476,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:747,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1911,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1037,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1088,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1307,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1700,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:694,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:392,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:680,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:688,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2241,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2369,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2928,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2685,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:409,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1717,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1724,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2243,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2711,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2718,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:921,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1683,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:514,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1196,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1342,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1964,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2041,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2447,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3094,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:944,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1446,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1838,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2464,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1551,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1466,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1544,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1567,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1063,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2125,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2465,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2580,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2974,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3090,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1591,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1584,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1862,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:316,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:528,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:954,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2083,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2329,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2471,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2600,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2607,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:430,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:516,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:577,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1053,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1066,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1738,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1703,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1720,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2221,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2336,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1155,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1314,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1524,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2220,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2227,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2356,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2934,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3066,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:395,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:412,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:985,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1334,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1787,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1061,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1411,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1992,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2414,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2781,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:556,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1184,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1950,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2085,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2364,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2738,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2795,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2803,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2900,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2952,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2608,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1685,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:701,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:870,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:927,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1605,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1826,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2450,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2467,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2808,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1186,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1391,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:720,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:729,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:799,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:949,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1451,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1840,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2120,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2119,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2705,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1470,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1536,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1714,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1570,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1587,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:722,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:406,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1110,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2170,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2203,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2853,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2694,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:598,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1112,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1952,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1424,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1552,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1655,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:356,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:898,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1828,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1959,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2290,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2341,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2461,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2550,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:523,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1268,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1319,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1426,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1217,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1987,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2360,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3020,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3071,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:543,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:551,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:664,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1338,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1403,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1581,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2092,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2485,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2560,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2712,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2697,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2951,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1868,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2112,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3079,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1475,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1090,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:902,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:436,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:704,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:724,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:888,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:896,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2037,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2217,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1429,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1702,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:394,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1089,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1096,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1294,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2696,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2948,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3046,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1716,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:408,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:979,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1191,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2206,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2223,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2558,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2659,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2710,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3073,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1210,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1979,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2057,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2937,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2954,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2972,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:716,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1343,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1855,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1660,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2314,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2319,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2463,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3095,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2725,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1292,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:528,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:396,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:477,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1152,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1297,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1284,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1569,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1913,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2814,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:547,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:745,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:953,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1072,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1744,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1583,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1863,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1039,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2097,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2411,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2586,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2534,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1473,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:955,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2116,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2609,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2831,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2832,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1939,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2219,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2675,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2936,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:503,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2950,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3044,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1196,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1611,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1964,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2072,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2167,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2306,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2363,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2491,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2732,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2563,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1213,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1341,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1704,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1835,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1983,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2049,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2070,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2365,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2449,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2698,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1110,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1459,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1452,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1711,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1859,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:403,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:718,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:930,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1086,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1937,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3086,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2316,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1453,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1731,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1226,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1526,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:423,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:501,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:506,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:937,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2121,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2205,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2969,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1075,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1092,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1789,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:661,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2075,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2915,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2714,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3093,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:431,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1571,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1739,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2451,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2733,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2901,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1320,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1578,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:622,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:872,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1216,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1986,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2343,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3036,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3072,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1676,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1393,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:550,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1218,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1321,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1598,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1988,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2207,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2486,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2828,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:552,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:751,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:909,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1178,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1327,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1929,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1942,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2536,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2569,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2616,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3069,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1840,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1435,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1606,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:703,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:493,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:928,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2852,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2938,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:357,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:408,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1716,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1088,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1656,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2292,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2428,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2710,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2965,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2817,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2708,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2854,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:427,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1270,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1735,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2729,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3022,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2816,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1036,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2325,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2458,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2973,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1303,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:705,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1418,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1815,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1910,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2342,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2349,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2478,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2607,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3055,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2604,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1583,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1691,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:383,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:536,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:529,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:953,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1116,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2039,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2081,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2583,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:530,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:746,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1074,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1473,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1602,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1668,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1862,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1220,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2098,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2247,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2852,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:912,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:932,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1864,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1921,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2099,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2214,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2572,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2589,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2661,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2241,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1818,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1438,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1455,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1805,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1813,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2105,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2234,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2242,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2945,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1558,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:373,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:386,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1182,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1694,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1948,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2064,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2363,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2688,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2818,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2958,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1204,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1420,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1523,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:512,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:479,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1076,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1153,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1197,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1341,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1965,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1198,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:713,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:924,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1786,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1966,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2328,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2345,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2412,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2463,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2780,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:736,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1306,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1323,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1449,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1689,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1972,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2482,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2858,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3058,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3075,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:772,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:869,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1561,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2084,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2101,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1175,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1738,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:430,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2168,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2219,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2339,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2438,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2533,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2732,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1797,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1317,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1390,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1556,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:1740,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:381,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:432,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2238,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2734,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:2950,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 1651
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 3109
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 3109
    functionName: libspdm_requester_psk_exchange_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - libspdm_allocate_rsp_session_id
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_dump_hex
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - LIBSPDM_DEBUG
    - libspdm_psk_handshake_secret_hkdf_expand
    - libspdm_get_test_context
    - libspdm_append_managed_buffer
    - free
    - libspdm_build_opaque_data_version_selection_data
    - libspdm_get_random_number
    - libspdm_get_managed_buffer
    - libspdm_get_opaque_data_version_selection_data_size
    - libspdm_bin_concat
    - libspdm_get_hash_size
    - libspdm_hkdf_expand
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_psk_exchange_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4431,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4479,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4457,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4472,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4454,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4480,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4485,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4487
      start: 4414
    functionDepth: 0
    functionLinenumber: 4414
    functionLinenumberEnd: 4487
    functionName: libspdm_test_requester_psk_exchange_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case20(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4897,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4917,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4929,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4914,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4935,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4936,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4941,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4942,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4943,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4944,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4948
      start: 4880
    functionDepth: 0
    functionLinenumber: 4880
    functionLinenumberEnd: 4948
    functionName: libspdm_test_requester_psk_exchange_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case26(void **state) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:81,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:87,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:99,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:105,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:123,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:137,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:166,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:172,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:184,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:190,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:253,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:262,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:271,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:292,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:62,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:90,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:126,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:108,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:114,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:193,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:199,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:211,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:217,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:229,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:280,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:256,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:289,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:265,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:69,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:117,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:134,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:149,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:155,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:220,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:226,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:238,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:244,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:208,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:274,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:283,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:78,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:72,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:96,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:146,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:158,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:164,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:175,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:181,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:247,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:202,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:301,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:235,1
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:298,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 216
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 308
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 308
    functionName: libspdm_requester_psk_exchange_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_test_get_psk_exchange_request_size
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_psk_exchange_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3139,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3160,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3161,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3142,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3154,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3165,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3167
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3167
    functionName: libspdm_test_requester_psk_exchange_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case1(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4506,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4538,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4553,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4535,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4560,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4571,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4572,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4573,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4574,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4578,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4579
      start: 4489
    functionDepth: 0
    functionLinenumber: 4489
    functionLinenumberEnd: 4579
    functionName: libspdm_test_requester_psk_exchange_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4981,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4984,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4999,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4993,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5005,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5006,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5012,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5013,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5014,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5015,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5018,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5021,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 5022
      start: 4950
    functionDepth: 0
    functionLinenumber: 4950
    functionLinenumberEnd: 5022
    functionName: libspdm_test_requester_psk_exchange_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case27(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3198,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3213,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3219,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3220,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3201,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3225,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3227,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3228,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3232
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3232
    functionName: libspdm_test_requester_psk_exchange_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3317,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3339,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3338,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3320,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3332,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3344,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3346
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3346
    functionName: libspdm_test_requester_psk_exchange_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3432,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3454,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3435,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3453,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3447,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3459,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3460,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3461,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3462,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3466
      start: 3405
    functionDepth: 0
    functionLinenumber: 3405
    functionLinenumberEnd: 3466
    functionName: libspdm_test_requester_psk_exchange_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3553,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3568,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3574,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3575,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3580,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3581,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3582
      start: 3527
    functionDepth: 0
    functionLinenumber: 3527
    functionLinenumberEnd: 3582
    functionName: libspdm_test_requester_psk_exchange_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case8(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3962,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3987,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3984,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4001,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4008,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4009,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4014,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4015,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4016,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4019,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4020,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4024,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4021,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4025
      start: 3945
    functionDepth: 0
    functionLinenumber: 3945
    functionLinenumberEnd: 4025
    functionName: libspdm_test_requester_psk_exchange_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - assert_memory_equal
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case14(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4757,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4795,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4777,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4789,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4774,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4796,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4801,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4802,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4803,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4804,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4807,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4808
      start: 4740
    functionDepth: 0
    functionLinenumber: 4740
    functionLinenumberEnd: 4808
    functionName: libspdm_test_requester_psk_exchange_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3260,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3282,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3281,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3263,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3275,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3287,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3289
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3289
    functionName: libspdm_test_requester_psk_exchange_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3374,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3395,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3396,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3377,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3389,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3401,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3403
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3403
    functionName: libspdm_test_requester_psk_exchange_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3494,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3497,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3509,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3515,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3516,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3522,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3525
      start: 3468
    functionDepth: 0
    functionLinenumber: 3468
    functionLinenumberEnd: 3525
    functionName: libspdm_test_requester_psk_exchange_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case7(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3611,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3626,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3632,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3633,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3639,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3640,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3641,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3642,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3646,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:3649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3650
      start: 3584
    functionDepth: 0
    functionLinenumber: 3584
    functionLinenumberEnd: 3650
    functionName: libspdm_test_requester_psk_exchange_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case9(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4044,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4066,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4083,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4090,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4069,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4091,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4096,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4097,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4098,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4101,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4106,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4103,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4107
      start: 4027
    functionDepth: 0
    functionLinenumber: 4027
    functionLinenumberEnd: 4107
    functionName: libspdm_test_requester_psk_exchange_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_hash_size
    - assert_memory_equal
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case15(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4827,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4844,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4859,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4865,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4847,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4866,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4871,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4872,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4873,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4874,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:4877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 4878
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4878
    functionName: libspdm_test_requester_psk_exchange_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5036,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5044,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5060,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5052,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5068,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5076,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5038,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5046,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5054,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5062,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5070,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5078,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5028,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5030,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5032,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5040,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5064,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5056,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5048,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5072,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5034,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5042,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5050,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5058,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5066,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5074,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5088,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c:5090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5093
      start: 5024
    functionDepth: 0
    functionLinenumber: 5024
    functionLinenumberEnd: 5093
    functionName: libspdm_requester_psk_exchange_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_psk_exchange_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:48,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context, uint32_t
      *session_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:110,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:135,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:119,1
    - Dst: generate_dmtf_event_group
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:126,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:118,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:136,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 154
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 154
    functionName: receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - LIBSPDM_ASSERT
    - generate_dmtf_event_group
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t receive_message( void *spdm_context, size_t
      *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:67,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:79,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:70,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:84,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:71,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:85,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:89,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:90,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:91,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_transport_test_decode_message
    - libspdm_get_session_info_via_session_id
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t send_message( void *spdm_context, size_t request_size,
      const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:186,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:196,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: libspdm_requester_get_event_types_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_event_types_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:180,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:179,1
    - Dst: libspdm_get_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 181
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 181
    functionName: libspdm_test_requester_get_event_types_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_event_types.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_event_types
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_event_types_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:276,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:286,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:290,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:283,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:291,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:293,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:294,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:295,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 297
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 297
    functionName: test_libspdm_requester_encap_challenge_auth_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_random_number
    - libspdm_get_encap_response_challenge_auth
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:222,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:233,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:232,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:236,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:229,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:237,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:239,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:240,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:241,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 243
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 243
    functionName: test_libspdm_requester_encap_challenge_auth_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_random_number
    - libspdm_get_encap_response_challenge_auth
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: test_libspdm_requester_encap_challenge_auth_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:520,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:545,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:542,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:527,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:546,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:549,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:552,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:555,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:558,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:559,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:560,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:562,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 563
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 563
    functionName: test_libspdm_requester_encap_challenge_auth_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_mut_c
    - libspdm_zero_mem
    - free
    - libspdm_get_random_number
    - libspdm_get_encap_response_challenge_auth
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:569,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:571,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:575,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:573,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:574,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:577,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:579,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:581,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:589,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 594
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 594
    functionName: libspdm_requester_encap_challenge_auth_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_challenge_auth_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:86,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:106,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:94,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:103,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:107,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:108,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:112,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:115,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:117,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:126,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:122,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:120,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:124,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 127
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 127
    functionName: test_libspdm_requester_encap_challenge_auth_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - assert_int_equal
    - libspdm_reset_message_mut_c
    - free
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - assert_null
    - libspdm_get_encap_response_challenge_auth
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:168,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:182,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:179,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:178,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:175,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:185,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:186,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:187,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 189
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 189
    functionName: test_libspdm_requester_encap_challenge_auth_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_random_number
    - libspdm_get_encap_response_challenge_auth
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_key
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:329,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:342,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:334,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:343,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:347,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:348,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:351,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:357,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:358,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:359,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:363,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 364
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 364
    functionName: test_libspdm_requester_encap_challenge_auth_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_req_asym_signature_size
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_read_requester_public_key
    - free
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_encap_response_challenge_auth
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:443,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:456,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:451,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:415,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:422,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:436,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:444,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:452,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:449,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:433,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:429,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:439,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:442,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:446,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:463,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:467,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:432,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:461,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c:465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 468
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 468
    functionName: test_libspdm_requester_encap_challenge_auth_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_mut_c
    - libspdm_zero_mem
    - free
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - assert_null
    - libspdm_get_asym_signature_size
    - libspdm_get_encap_response_challenge_auth
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_challenge_auth_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:262,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:276,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:281,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:268,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:282,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:284,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:286,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:288,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:289,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 295
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 295
    functionName: test_libspdm_requester_encap_key_update_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:117,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:120,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:118,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:127,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:123,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:130,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:134,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - secured_message_context
    - m_rsp_secret_buffer
    - rsp_secret_fill
    - m_req_secret_buffer
    - req_secret_fill
    argTypes:
    - libspdm_secured_message_context_t*
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: libspdm_set_standard_key_update_test_secrets
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_secrets( libspdm_secured_message_context_t
      *secured_message_context, uint8_t *m_rsp_secret_buffer, uint8_t rsp_secret_fill,
      uint8_t *m_req_secret_buffer, uint8_t req_secret_fill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:411,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:423,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:431,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:436,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:437,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:439,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:441,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:443,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:444,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:447,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 450
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 450
    functionName: test_libspdm_requester_encap_key_update_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:481,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:500,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:492,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:504,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:488,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:505,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:507,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:509,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:511,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:512,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 518
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 518
    functionName: test_libspdm_requester_encap_key_update_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_secured_message_set_session_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:593,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:613,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:607,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:612,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:599,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:615,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:617,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:619,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:620,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 626
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 626
    functionName: test_libspdm_requester_encap_key_update_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:775,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:798,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:803,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:792,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:781,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:804,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:806,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:808,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:810,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 812
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 812
    functionName: test_libspdm_requester_encap_key_update_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:837,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:843,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:862,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:853,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:856,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:867,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:868,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:870,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:872,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:874,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:879,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 882
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 882
    functionName: test_libspdm_requester_encap_key_update_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1041,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1055,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1047,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1064,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1058,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1069,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1070,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1072,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1074,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1076,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1078
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1078
    functionName: test_libspdm_requester_encap_key_update_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:106,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 110
    functionName: spdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void spdm_set_standard_key_update_test_state( libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:154,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - spdm_version
    - hash_size
    - in_secret
    - out_secret
    - out_secret_size
    argTypes:
    - spdm_version_number_t
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: libspdm_compute_secret_update
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_expand
    - libspdm_bin_concat
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_compute_secret_update(spdm_version_number_t spdm_version,
      size_t hash_size, const uint8_t *in_secret, uint8_t *out_secret, size_t out_secret_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1084,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1088,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1092,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1086,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1090,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1094,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1096,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1098,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1100,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1102,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1106,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1110,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1118,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1108,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1104,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1123
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1123
    functionName: libspdm_requester_encap_key_update_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_key_update_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:191,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:216,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:205,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:197,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:211,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:217,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:219,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:221,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:223,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:225,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 231
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 231
    functionName: test_libspdm_requester_encap_key_update_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:319,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:353,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:339,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:347,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:358,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:359,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:363,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:365,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:368,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:369,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:370,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:372,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:377,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:371,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 380
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 380
    functionName: test_libspdm_requester_encap_key_update_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:544,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:554,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:553,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:556,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:548,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:558,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 562
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 562
    functionName: test_libspdm_requester_encap_key_update_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:658,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:673,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:679,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:663,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:678,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:681,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:683,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:685,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 687
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 687
    functionName: test_libspdm_requester_encap_key_update_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - spdm_set_standard_key_update_test_state
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:717,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:723,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:736,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:737,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:731,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:739,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:741,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:743,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:744,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 750
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 750
    functionName: test_libspdm_requester_encap_key_update_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:907,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:926,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:932,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:913,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:937,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:938,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:940,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:942,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 946
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 946
    functionName: test_libspdm_requester_encap_key_update_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:972,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:986,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:995,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:978,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:989,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1000,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1001,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1003,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1005,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1007,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1012,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c:1009,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1015
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 1015
    functionName: test_libspdm_requester_encap_key_update_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_get_encap_response_key_update
    - spdm_set_standard_key_update_test_state
    - libspdm_set_standard_key_update_test_secrets
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_libspdm_requester_encap_key_update_case13(void **state) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:22,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:72,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:71,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:66,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:33,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 29
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 97
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 97
    functionName: libspdm_requester_encap_request_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_transport_test_decode_message
    - libspdm_get_test_context
    - memcpy
    - LIBSPDM_DEBUG
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_encap_request_test_send_message(void
      *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:708,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:712,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:725,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:726,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:720,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:727,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 729
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 729
    functionName: libspdm_test_requester_encap_request_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:814,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:832,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:818,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:831,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:826,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:833,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:834,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 835
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 835
    functionName: libspdm_test_requester_encap_request_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: libspdm_test_requester_encap_request_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case6(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1105,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1106,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1108
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1108
    functionName: libspdm_test_requester_encap_request_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_register_get_encap_response_func
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case11(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1133,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1135,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1136
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1136
    functionName: libspdm_test_requester_encap_request_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_register_get_encap_response_func
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case12(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1197,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1201,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1205,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1199,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1203,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1207,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1211,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1213,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1214,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1215,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1218,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1229,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1234
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1234
    functionName: libspdm_requester_encap_request_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_request_test_main(void) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:143,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:228,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:214,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:285,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:397,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:404,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:433,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:520,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:556,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:589,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:608,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:661,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:485,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:469,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:625,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:156,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:170,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:280,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:263,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:341,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:348,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:375,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:392,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:533,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:600,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:570,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:506,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:643,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:651,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:110,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:126,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:186,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:206,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:265,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:289,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:298,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:318,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:336,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:377,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:455,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:581,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:128,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:148,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:184,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:201,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:249,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:241,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:302,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:320,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:361,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:418,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:668,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:645,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 404
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 676
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 676
    functionName: libspdm_requester_encap_request_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_get_test_context
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_write_uint24
    - libspdm_transport_test_encode_message
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_encap_request_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:759,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:776,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:763,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:777,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:771,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:778,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:779,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 780
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 780
    functionName: libspdm_test_requester_encap_request_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: libspdm_test_requester_encap_request_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:865,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:882,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:869,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:877,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:883,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:884,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 886
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 886
    functionName: libspdm_test_requester_encap_request_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:920,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:938,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:937,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:924,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:932,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:939,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 941
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 941
    functionName: libspdm_test_requester_encap_request_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case7(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:972,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:993,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:992,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:979,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:987,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:994,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 996
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 996
    functionName: libspdm_test_requester_encap_request_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case8(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1030,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1037,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1050,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1045,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1051,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1052,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1053,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1054
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1054
    functionName: libspdm_test_requester_encap_request_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case9(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1077,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1079,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1080
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1080
    functionName: libspdm_test_requester_encap_request_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - libspdm_register_get_encap_response_func
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case10(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1163,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1170,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1184,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1179,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1171,1
    - Dst: libspdm_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1186,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1187,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_request.c:1188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1189
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1189
    functionName: libspdm_test_requester_encap_request_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_encapsulated_request
    - assert_int_equal
    - libspdm_read_requester_public_certificate_chain
    - free
    - libspdm_reset_message_encap_e
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case13(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:227,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:252,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:247,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:242,1
    - Dst: libspdm_get_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:257,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:259,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:263,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:265,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:267,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:268,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:274,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 275
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 275
    functionName: libspdm_test_requester_encap_certificate_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_get_encap_response_certificate
    - TEST_DEBUG_PRINT
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: libspdm_test_requester_encap_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:497,1
    - Dst: libspdm_get_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:514,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:519,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:518,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:523,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:524,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:525,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 528
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 528
    functionName: libspdm_test_requester_encap_certificate_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:534,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:536,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:542,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:540,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:538,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:544,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:552,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 557
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 557
    functionName: libspdm_requester_encap_certificate_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_certificate_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:68,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:88,1
    - Dst: libspdm_get_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:80,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:85,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:84,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:90,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:91,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:96,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 99
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 99
    functionName: libspdm_test_requester_encap_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate_case1(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:329,1
    - Dst: libspdm_get_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:337,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:340,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:348,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:370,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:323,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:364,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:378,1
    - Dst: libspdm_read_responder_public_certificate_chain_by_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:314,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:335,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:369,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:355,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:371,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:374,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:325,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:327,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:324,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:345,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:359,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 380
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 380
    functionName: libspdm_test_requester_encap_certificate_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_by_size
    - free
    - libspdm_get_encap_response_certificate
    - TEST_DEBUG_PRINT
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:146,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:161,1
    - Dst: libspdm_get_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:170,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:166,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:157,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:179,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:180,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:184,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 185
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 185
    functionName: libspdm_test_requester_encap_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_get_encap_response_certificate
    - TEST_DEBUG_PRINT
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate_case3(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:410,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:422,1
    - Dst: TEST_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:427,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:434,1
    - Dst: libspdm_get_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:431,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:440,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:442,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:444,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:445,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:448,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:451,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:467,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c:460,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 468
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 468
    functionName: libspdm_test_requester_encap_certificate_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_get_encap_response_certificate
    - TEST_DEBUG_PRINT
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate_case6(void **state) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:83,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:240,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:397,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:429,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:441,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:489,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:302,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:473,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:512,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:97,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:122,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:106,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:129,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:145,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:167,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:173,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:198,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:246,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:292,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:495,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:211,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:222,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:457,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:468,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:519,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:151,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:191,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:273,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:262,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:318,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:327,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:343,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:352,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:368,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:377,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:402,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 262
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 530
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 530
    functionName: libspdm_requester_get_version_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_copy_mem
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_version_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: libspdm_test_requester_get_version_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:606,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 608
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 608
    functionName: libspdm_test_requester_get_version_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:657,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 659
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 659
    functionName: libspdm_test_requester_get_version_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:721,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:723,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 725
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 725
    functionName: libspdm_test_requester_get_version_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_case15(void **state) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:27,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:63,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 75
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 75
    functionName: libspdm_requester_get_version_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_version_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:793,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:801,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:806,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:797,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:807,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:819,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 824
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 824
    functionName: libspdm_requester_get_version_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_version_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:745,1
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:754,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:750,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:755,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:748,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:756,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:758,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:760,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:761,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:764,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_version.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 767
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 767
    functionName: libspdm_test_requester_get_version_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_version
    - assert_int_equal
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:123,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:141,1
    - Dst: libspdm_get_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:131,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:135,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:138,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:146,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 150
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 150
    functionName: test_spdm_requester_encap_get_digests_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_hash_size
    - libspdm_get_encap_response_digest
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_requester_encap_get_digests_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: test_spdm_requester_encap_get_digests_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_requester_encap_get_digests_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:342,1
    - Dst: libspdm_reset_message_encap_d
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:369,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:360,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:359,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:351,1
    - Dst: libspdm_get_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:372,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:377,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:378,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:384,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:402,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:399,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:396,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 406
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 406
    functionName: test_spdm_requester_encap_get_digests_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_reset_message_encap_d
    - libspdm_session_info_init
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_get_encap_response_digest
    - libspdm_secured_message_set_session_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_requester_encap_get_digests_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:412,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:414,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:420,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:416,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:418,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:422,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:430,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 435
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 435
    functionName: libspdm_requester_encap_digests_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_digests_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:58,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:75,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:72,1
    - Dst: libspdm_get_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:67,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:71,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:78,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 84
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 84
    functionName: test_spdm_requester_encap_get_digests_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_hash_size
    - libspdm_get_encap_response_digest
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_requester_encap_get_digests_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:182,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:195,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:194,1
    - Dst: libspdm_get_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:201,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:203,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 207
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 207
    functionName: test_spdm_requester_encap_get_digests_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_hash_size
    - libspdm_get_encap_response_digest
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_requester_encap_get_digests_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:240,1
    - Dst: libspdm_get_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:262,1
    - Dst: libspdm_reset_message_encap_d
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:259,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:248,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:266,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:267,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:272,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:275,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:277,1
    - Dst: libspdm_reset_message_encap_d
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:285,1
    - Dst: libspdm_get_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:288,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:301,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:293,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:292,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:296,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 302
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 302
    functionName: test_spdm_requester_encap_get_digests_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_reset_message_encap_d
    - libspdm_session_info_init
    - libspdm_get_hash_size
    - libspdm_get_encap_response_digest
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_requester_encap_get_digests_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:53,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 56
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context, uint32_t
      *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:201,1
    - Dst: libspdm_subscribe_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:207,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:212,1
    - Dst: generate_dmtf_event_group
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: libspdm_test_requester_subscribe_event_types_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_subscribe_event_types
    - assert_int_equal
    - generate_dmtf_event_group
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_subscribe_event_types_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:124,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:141,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:131,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:140,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:125,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 156
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 156
    functionName: receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t receive_message( void *spdm_context, size_t
      *response_size, void **response, uint64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:72,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:76,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:89,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:84,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:75,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:94,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:95,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:96,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:99,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:102,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 107
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 107
    functionName: send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_transport_test_decode_message
    - libspdm_get_session_info_via_session_id
    - LIBSPDM_ASSERT
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t send_message( void *spdm_context, size_t request_size,
      const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:257,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:264,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:259,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:258,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 267
    functionName: libspdm_requester_subscribe_event_types_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_subscribe_event_types_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:181,1
    - Dst: libspdm_subscribe_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: libspdm_test_requester_subscribe_event_types_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_subscribe_event_types
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_subscribe_event_types_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:232,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:244,1
    - Dst: generate_dmtf_event_group
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:233,1
    - Dst: libspdm_subscribe_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 245
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 245
    functionName: libspdm_test_requester_subscribe_event_types_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/subscribe_event_types.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_subscribe_event_types
    - assert_int_equal
    - generate_dmtf_event_group
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_subscribe_event_types_case3(void
      **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:41,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: libspdm_requester_vendor_cmds_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_vendor_cmds_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:142,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:158,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:153,1
    - Dst: libspdm_vendor_send_request_receive_response
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 159
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 159
    functionName: libspdm_test_requester_vendor_cmds_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_vendor_send_request_receive_response
    - printf
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_vendor_cmds_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:164,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:174,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: libspdm_requester_vendor_cmds_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_vendor_cmds_test_main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:69,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:80,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:95,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:76,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:86,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:96,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:99,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 112
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 112
    functionName: libspdm_requester_vendor_cmds_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/vendor_request.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_transport_test_decode_message
    - libspdm_get_test_context
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_vendor_cmds_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1306,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1329,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1309,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1328,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1321,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1332,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1335,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1340,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1345,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1350,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1358,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1362,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1360,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1363
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1363
    functionName: libspdm_test_requester_psk_finish_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2117,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2140,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2143,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2139,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2132,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2146,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2151,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2156,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2161,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2169,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2173,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2171,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2174
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2174
    functionName: libspdm_test_requester_psk_finish_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1016,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1031,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1019,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1038,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1039,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1042,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1045,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1050,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1055,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1060,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1070,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1073,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1071,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1076,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1072,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1077
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1077
    functionName: libspdm_test_requester_psk_finish_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:944,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:959,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:966,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:947,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:967,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:970,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:973,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:975,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:976,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:977,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 978
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 978
    functionName: libspdm_test_requester_psk_finish_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2404,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2430,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2452,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2453,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2437,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2448,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2466,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2424,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2423,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2407,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2433,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2450,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2462,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2451,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2463,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2415,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2427,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2440,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2467
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2467
    functionName: libspdm_test_requester_psk_finish_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_dump_hex
    - libspdm_secured_message_get_session_state
    - LIBSPDM_DEBUG
    - libspdm_secured_message_set_response_handshake_encryption_key
    - free
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - assert_memory_equal
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - spdm_secured_message_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: libspdm_secured_message_set_dummy_finished_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_dummy_finished_key( void *spdm_secured_message_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2473,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2481,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2477,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2475,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2479,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2483,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2485,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2487,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2489,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2491,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2493,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2513,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2515,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2501,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2497,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2503,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2499,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2518
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2518
    functionName: libspdm_requester_psk_finish_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_psk_finish_test_main(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1798,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1809,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1817,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1822,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1821,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1825,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1827,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1830,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1833,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1836,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1850,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1848,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1844,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1865,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1846,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1866
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1866
    functionName: libspdm_test_requester_psk_finish_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - libspdm_session_info_init
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2308,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2311,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2331,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2330,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2323,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2334,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2337,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2342,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2347,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2352,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2362,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2364,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2365,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2360,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2366
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2366
    functionName: libspdm_test_requester_psk_finish_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:29,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: libspdm_secured_message_set_response_handshake_encryption_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_handshake_encryption_key(
      void *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:56,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:108,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:114,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:113,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:103,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:118,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:121,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 23
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 130
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 130
    functionName: libspdm_requester_psk_finish_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_get_session_info_via_session_id
    - libspdm_transport_test_decode_message
    - libspdm_get_test_context
    - memcpy
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_psk_finish_test_send_message(void
      *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1601,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1616,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1604,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1624,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1623,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1627,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1630,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1635,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1640,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1645,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1653,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1657,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1655,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1658
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1658
    functionName: libspdm_test_requester_psk_finish_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case8(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1698,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1713,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1701,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1720,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1721,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1724,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1727,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1732,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1737,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1742,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1750,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1755,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1760,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1763,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1752,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1756,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1754,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1764
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1764
    functionName: libspdm_test_requester_psk_finish_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case9(void **state) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:138,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:165,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:301,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:379,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:385,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:433,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:480,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:533,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:522,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:567,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:575,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:707,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:715,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:845,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:528,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:208,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:213,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:249,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:254,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:291,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:338,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:389,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:423,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:471,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:524,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:879,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:615,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:889,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:617,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:663,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:607,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:621,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:754,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:758,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:624,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:664,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:793,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:801,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:835,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:836,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:170,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:166,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:217,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:259,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:347,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:381,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:565,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:571,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:668,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:706,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:711,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:878,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:475,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:884,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:174,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:209,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:250,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:296,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:336,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:292,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:342,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:424,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:428,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:470,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:672,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:749,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:792,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:893,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:797,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:750,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:840,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 388
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 906
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 906
    functionName: libspdm_requester_psk_finish_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_psk_finish_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:43,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - salt
    - salt_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: libspdm_secured_message_set_response_handshake_salt
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_handshake_salt( void *spdm_secured_message_context,
      const void *salt, size_t salt_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1504,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1519,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1527,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1507,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1526,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1530,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1533,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1538,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1543,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1548,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1556,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1562,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1558,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1560,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1563
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1563
    functionName: libspdm_test_requester_psk_finish_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2021,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2047,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2044,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2043,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2036,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2050,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2055,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2060,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2065,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2073,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2077,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2075,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2076,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2078
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2078
    functionName: libspdm_test_requester_psk_finish_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1210,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1213,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1225,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1232,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1233,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1236,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1239,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1244,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1249,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1254,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1262,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1267,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1266,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1264,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1268
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1268
    functionName: libspdm_test_requester_psk_finish_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1922,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1902,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1923,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1934,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1952,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1974,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1980,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1915,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1926,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1944,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1968,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1976,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1977,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1967,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1978,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1899,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1929,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1939,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1975,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1969,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1970,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1981
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1981
    functionName: libspdm_test_requester_psk_finish_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1115,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1130,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1118,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1137,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1138,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1141,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1144,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1149,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1154,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1159,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1167,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1171,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1169,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1172
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1172
    functionName: libspdm_test_requester_psk_finish_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1404,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1419,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1427,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1426,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1407,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1430,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1433,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1438,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1443,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1448,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1458,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1461,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1459,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1464,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1460,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:1456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1465
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1465
    functionName: libspdm_test_requester_psk_finish_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2214,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2237,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2229,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2236,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2240,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2243,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2248,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2253,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2258,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2266,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2270,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2268,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c:2269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2271
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2271
    functionName: libspdm_test_requester_psk_finish_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - libspdm_secured_message_set_response_handshake_salt
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1314
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1314
    functionName: libspdm_test_requester_get_digests_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1370
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1370
    functionName: libspdm_test_requester_get_digests_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1453,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1459,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1458,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1456,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1460,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1463,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1465,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1467,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1471
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1471
    functionName: libspdm_test_requester_get_digests_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - LIBSPDM_DEBUG
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case23(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1950,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1972,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1951,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1959,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1971,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1974
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1974
    functionName: libspdm_test_requester_get_digests_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_d
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case29(void **state) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:32,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:82,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 98
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 98
    functionName: libspdm_requester_get_digests_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_digests_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1195
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1195
    functionName: libspdm_test_requester_get_digests_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: libspdm_test_requester_get_digests_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1362
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1362
    functionName: libspdm_test_requester_get_digests_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1426
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1426
    functionName: libspdm_test_requester_get_digests_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1895,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1913,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1914,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1906,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1898,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1915,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1922,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1925
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1925
    functionName: libspdm_test_requester_get_digests_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_d
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case28(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1232,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1235,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1251,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1253,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1221,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1230,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1247,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1237,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1239,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1244,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1248,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1246,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1254,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1255,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1259,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1263,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1224,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1234,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1254,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1266
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1266
    functionName: libspdm_test_requester_get_digests_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_get_data
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: libspdm_test_requester_get_digests_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1386
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1386
    functionName: libspdm_test_requester_get_digests_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1322
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1322
    functionName: libspdm_test_requester_get_digests_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1378
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1378
    functionName: libspdm_test_requester_get_digests_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1282
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1282
    functionName: libspdm_test_requester_get_digests_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1402
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1402
    functionName: libspdm_test_requester_get_digests_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case19(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1513,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1539,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1554,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1584,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1595,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1569,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1600,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1602,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1623,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1516,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1531,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1544,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1558,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1560,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1546,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1551,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1555,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1553,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1565,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1596,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1614,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1615,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1520,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1535,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1570,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1586,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1597,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1605,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1607,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1609,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1611,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1618,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1534,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1536,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1561,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1562,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1579,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1580,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1582,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1593,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1598,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1613,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1608,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 97
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1628
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1628
    functionName: libspdm_test_requester_get_digests_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - libspdm_get_certificate
    - free
    - libspdm_get_hash_size
    - libspdm_get_data
    - libspdm_dump_hex
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1745,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1756,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1758,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1759,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1748,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1760,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1761,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1765,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1770,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1772,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1773,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1775,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1776
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1776
    functionName: libspdm_test_requester_get_digests_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_reset_message_d
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case26(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1274
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1274
    functionName: libspdm_test_requester_get_digests_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1338
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1338
    functionName: libspdm_test_requester_get_digests_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1394
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1394
    functionName: libspdm_test_requester_get_digests_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case18(void **state) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:216,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:491,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:499,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:612,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:577,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:933,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1147,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1169,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:121,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:157,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1159,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1178,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:942,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1160,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:619,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:583,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:265,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:440,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:835,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:987,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:817,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:816,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:919,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:135,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:710,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:772,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1034,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1060,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:444,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:755,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:763,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:870,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:821,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:928,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:632,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:270,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:410,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:806,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:777,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1135,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:908,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:571,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:106,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:129,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:374,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:465,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:538,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:716,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:134,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:170,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:292,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:815,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:876,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:686,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:628,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:239,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:261,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:379,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:427,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:435,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:504,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:656,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:921,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:563,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:929,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:623,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:690,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:927,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:136,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:986,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1049,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1106,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1114,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:884,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:253,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:508,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1039,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:140,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:174,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:746,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1093,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:768,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:195,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:543,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:681,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1001,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:348,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:362,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:370,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:525,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:533,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:795,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:937,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:981,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:540,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:604,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:165,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:317,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:968,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1081,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1022,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 657
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1187
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 1187
    functionName: libspdm_requester_get_digests_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_zero_mem
    - free
    - libspdm_get_hash_size
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_digests_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1298
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1298
    functionName: libspdm_test_requester_get_digests_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: libspdm_test_requester_get_digests_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1418
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1418
    functionName: libspdm_test_requester_get_digests_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2000,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2003,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1983,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1981,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1985,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1987,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1991,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1993,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1989,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1995,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1997,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1999,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2006,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1979,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1980,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2017,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2019,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2007,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2004,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1982,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1984,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1986,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1988,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1996,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1990,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1992,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1994,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1998,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2001,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2005,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:2002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2022
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 2022
    functionName: libspdm_requester_get_digests_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_digests_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1290
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1290
    functionName: libspdm_test_requester_get_digests_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1346
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1346
    functionName: libspdm_test_requester_get_digests_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1410
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1410
    functionName: libspdm_test_requester_get_digests_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1678,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1707,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1681,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1697,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1708,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1714,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1704,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1706,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1699,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1715,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1719,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1677,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1694,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1714,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1690,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1684,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1691,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1692,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1695,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1711,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1721
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1721
    functionName: libspdm_test_requester_get_digests_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_get_data
    - libspdm_secured_message_set_session_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1802,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1812,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1805,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1849,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1851,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1852,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1853,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1854,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1859,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1862,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_digests.c:1865,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1869
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1869
    functionName: libspdm_test_requester_get_digests_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_reset_message_d
    - libspdm_reset_message_b
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_case27(void **state) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: libspdm_test_get_measurement_request_size
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t libspdm_test_get_measurement_request_size(const void
      *spdm_context, const void *buffer, size_t buffer_size) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:110,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:173,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:179,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:371,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:377,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:396,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:131,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:236,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:242,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:272,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:278,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:341,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:423,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:403,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:160,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:335,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:429,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:85,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:101,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:95,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:137,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:200,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:206,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:157,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:263,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:269,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:305,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:299,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:170,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:362,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:368,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:395,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:450,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:233,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:122,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:128,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:227,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:296,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:389,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:413,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:326,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:420,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:332,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:290,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:92,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:191,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:197,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:387,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:149,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:254,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:260,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:410,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:353,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:359,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:317,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:323,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:441,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:447,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:392,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:218,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:113,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:119,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:182,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:188,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:224,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:460,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:281,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:287,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:344,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:394,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:350,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:380,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:245,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:83,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:104,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:140,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:146,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:209,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:215,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:251,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:457,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:308,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:314,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:432,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c:438,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 327
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 467
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 467
    functionName: libspdm_requester_get_measurements_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_decode_message
    - memcpy
    - libspdm_test_get_measurement_request_size
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_measurements_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:26,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:52,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:34,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:28,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:42,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:67,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:68,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:69,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:70,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:71,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c:78,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 86
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 86
    functionName: libspdm_requester_get_endpoint_info_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_decode_message
    - memcpy
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_endpoint_info_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:38,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:30,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:39,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:86,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:87,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:105,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:79,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:57,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:75,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:96,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:113,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:109,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:37,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:41,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:60,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:85,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:100,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:106,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:107,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:25,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:26,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:45,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:52,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:56,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:59,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:77,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:76,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:89,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:93,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 120
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 120
    functionName: libspdm_requester_set_certificate_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_test_context
    - libspdm_transport_test_decode_message
    - libspdm_get_session_info_via_session_id
    - assert_true
    - memcpy
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_set_certificate_test_send_message(\r
      void *spdm_context, size_t request_size, const void *request,\r uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:337,1
    - Dst: libspdm_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:341,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:343,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 345
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 345
    functionName: libspdm_test_requester_set_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_set_certificate
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:449,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:461,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:455,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:456,1
    - Dst: libspdm_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:460,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 464
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 464
    functionName: libspdm_test_requester_set_certificate_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_set_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_certificate_ex
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:522,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 526
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 526
    functionName: libspdm_test_requester_set_certificate_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_set_certificate_ex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:552,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:561,1
    - Dst: libspdm_set_certificate_ex
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 562
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 562
    functionName: libspdm_test_requester_set_certificate_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain
    - libspdm_set_certificate_ex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case8(void **state) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:128,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:189,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:219,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:168,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:147,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:220,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:224,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:228,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:254,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:275,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:283,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:300,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 310
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 310
    functionName: libspdm_requester_set_certificate_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - assert_true
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_set_certificate_test_receive_message(\r
      void *spdm_context, size_t *response_size,\r void **response, uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:604,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:610,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:608,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:612,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:606,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:614,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:615,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:616,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:626,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 631
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 631
    functionName: libspdm_requester_set_certificate_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_set_certificate_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:402,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: libspdm_test_requester_set_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_set_certificate
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:371,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:378,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:377,1
    - Dst: libspdm_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 379
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 379
    functionName: libspdm_test_requester_set_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_set_certificate
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:491,1
    - Dst: libspdm_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:495,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:498,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 499
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 499
    functionName: libspdm_test_requester_set_certificate_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_set_certificate
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:588,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:597,1
    - Dst: libspdm_set_certificate_ex
      Src: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 598
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 598
    functionName: libspdm_test_requester_set_certificate_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/set_certificate.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain
    - libspdm_set_certificate_ex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case9(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:27,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:51,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 73
    functionName: generate_mel_entry_test
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_write_uint24
    - libspdm_zero_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void generate_mel_entry_test() '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_generate_long_mel
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:362,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:534,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:584,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:398,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:542,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:627,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:654,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:186,1
    - Dst: libspdm_generate_long_mel
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:353,1
    - Dst: libspdm_generate_long_mel
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:272,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:242,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:236,1
    - Dst: libspdm_generate_long_mel
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:434,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:404,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:592,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:619,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:662,1
    - Dst: libspdm_measurement_extension_log_collection
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:204,1
    - Dst: libspdm_generate_long_mel
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:281,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:317,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:323,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:485,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:479,1
    - Dst: libspdm_generate_long_mel
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:443,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 343
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 672
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 672
    functionName: libspdm_requester_get_measurement_extension_log_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_measurement_extension_log_collection
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_generate_long_mel
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_get_measurement_extension_log_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:104,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:118,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:110,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:124,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:132,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:137,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:145,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 70
    argCount: 1
    argNames:
    - measurement_hash_algo
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 154
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 154
    functionName: libspdm_generate_long_mel
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_write_uint24
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_generate_long_mel(uint32_t measurement_hash_algo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:784,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:801,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:799,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:786,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 803
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 803
    functionName: libspdm_test_requester_get_measurement_extension_log_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case3(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:828,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:843,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:830,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:846,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 847
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 847
    functionName: libspdm_test_requester_get_measurement_extension_log_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case4(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:926,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:936,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:928,1
    - Dst: generate_mel_entry_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:930,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:933,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:937,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 939
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 939
    functionName: libspdm_test_requester_get_measurement_extension_log_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - generate_mel_entry_test
    - assert_int_equal
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - libspdm_reset_message_b
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case6(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1017,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1023,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1026,1
    - Dst: generate_mel_entry_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1021,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1027
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1027
    functionName: libspdm_test_requester_get_measurement_extension_log_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - generate_mel_entry_test
    - assert_int_equal
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case8(void
      **state) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 178
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 178
    functionName: libspdm_requester_get_measurement_extension_log_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_requester_get_measurement_extension_log_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1077,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1079,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1085,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1083,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1081,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1087,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1089,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1091,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1093,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1104,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1109
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1109
    functionName: libspdm_requester_get_measurement_extension_log_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_measurement_extension_log_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:696,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:714,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:712,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 715
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 715
    functionName: libspdm_test_requester_get_measurement_extension_log_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:739,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:757,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:754,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:756,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 758
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 758
    functionName: libspdm_test_requester_get_measurement_extension_log_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:872,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:890,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:889,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:887,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 891
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 891
    functionName: libspdm_test_requester_get_measurement_extension_log_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case5(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:973,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:979,1
    - Dst: generate_mel_entry_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:977,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:982,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 983
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 983
    functionName: libspdm_test_requester_get_measurement_extension_log_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - generate_mel_entry_test
    - assert_int_equal
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case7(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1061,1
    - Dst: generate_mel_entry_test
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1065,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1070,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1063,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c:1067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1071
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1071
    functionName: libspdm_test_requester_get_measurement_extension_log_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - generate_mel_entry_test
    - assert_int_equal
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log_case9(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:115,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:148,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:175,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:142,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:120,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:121,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:163,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:170,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:168,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:103,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:111,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:130,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:132,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:134,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:138,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:146,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:154,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:159,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 176
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 176
    functionName: libspdm_test_requester_encap_endpoint_info_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_hash_all
    - assert_int_equal
    - assert_true
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_append_message_encap_e
    - libspdm_verify_endpoint_info_signature
    - libspdm_reset_message_encap_e
    - libspdm_get_asym_signature_size
    - libspdm_generate_device_endpoint_info
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_key
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:326,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:343,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:339,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:337,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:335,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:347,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:351,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:353,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:359,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:364,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:368,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:371,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:378,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:375,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:373,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 381
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 381
    functionName: libspdm_test_requester_encap_endpoint_info_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - assert_int_equal
    - assert_true
    - libspdm_read_requester_public_key
    - libspdm_get_random_number
    - libspdm_append_message_encap_e
    - libspdm_verify_endpoint_info_signature
    - libspdm_reset_message_encap_e
    - libspdm_get_asym_signature_size
    - libspdm_generate_device_endpoint_info
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:410,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:421,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:418,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:427,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:414,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 430
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 430
    functionName: libspdm_test_requester_encap_endpoint_info_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_generate_device_endpoint_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:557,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:565,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:559,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:561,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:563,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:573,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 578
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 578
    functionName: libspdm_requester_encap_endpoint_info_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_endpoint_info_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:231,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:279,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:284,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:281,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:215,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:222,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:243,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:245,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:249,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:257,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:286,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:232,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:226,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:274,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:259,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:241,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:253,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:270,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:277,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 287
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 287
    functionName: libspdm_test_requester_encap_endpoint_info_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_hash_all
    - assert_int_equal
    - assert_true
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_append_message_encap_e
    - libspdm_verify_endpoint_info_signature
    - libspdm_reset_message_encap_e
    - libspdm_get_asym_signature_size
    - libspdm_generate_device_endpoint_info
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:488,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:487,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:501,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:543,1
    - Dst: libspdm_append_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:538,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:545,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:548,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:478,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:505,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:507,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:509,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:534,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:541,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:513,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:529,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:550,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:482,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:500,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:523,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:470,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c:517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 551
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 551
    functionName: libspdm_test_requester_encap_endpoint_info_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/encap_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_hash_all
    - assert_int_equal
    - assert_true
    - libspdm_session_info_init
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_append_message_encap_e
    - libspdm_verify_endpoint_info_signature
    - libspdm_reset_message_encap_e
    - libspdm_get_asym_signature_size
    - libspdm_generate_device_endpoint_info
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:53,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 56
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context, uint32_t
      *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:200,1
    - Dst: libspdm_subscribe_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:205,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 207
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 207
    functionName: libspdm_test_requester_subscribe_event_types_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_subscribe_event_types
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_subscribe_event_types_err_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:122,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:123,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:139,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:129,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:138,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 154
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 154
    functionName: receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t receive_message( void *spdm_context, size_t
      *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:72,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:75,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:76,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:84,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:89,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:90,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:95,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:96,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:97,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:98,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 105
    functionName: send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_transport_test_decode_message
    - libspdm_get_session_info_via_session_id
    - LIBSPDM_ASSERT
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t send_message( void *spdm_context, size_t request_size,
      const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:244,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:249,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:245,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:246,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: libspdm_requester_subscribe_event_types_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_subscribe_event_types_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:172,1
    - Dst: libspdm_subscribe_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:176,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:177,1
    - Dst: libspdm_subscribe_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:181,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 183
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 183
    functionName: libspdm_test_requester_subscribe_event_types_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_subscribe_event_types
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_subscribe_event_types_err_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:225,1
    - Dst: libspdm_subscribe_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:230,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: libspdm_test_requester_subscribe_event_types_err_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/subscribe_event_types_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_subscribe_event_types
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_subscribe_event_types_err_case3(void
      **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:39,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:43,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:41,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:44,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:40,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:45,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:47,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:48,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:49,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:51,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:55,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:57,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:53,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:54,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 9
    argNames:
    - spdm_context
    - session_id
    - event_instance_id
    - svh_id
    - svh_vendor_id_len
    - svh_vendor_id
    - event_type_id
    - event_detail_len
    - event_detail
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    - uint8_t
    - uint8_t
    - void*
    - uint16_t
    - uint16_t
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: process_event
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_dump_hex
    - assert_ptr_equal
    - printf
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t process_event(void *spdm_context, uint32_t
      session_id, uint32_t event_instance_id, uint8_t svh_id, uint8_t svh_vendor_id_len,
      void *svh_vendor_id, uint16_t event_type_id, uint16_t event_detail_len, void
      *event_detail) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:186,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:225,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:207,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:233,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:203,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:235,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:236,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:237,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:238,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:239,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 242
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 242
    functionName: test_libspdm_requester_encap_event_ack_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:318,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:347,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:349,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:331,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:350,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:351,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:352,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:353,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 356
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 356
    functionName: test_libspdm_requester_encap_event_ack_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:102,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:103,1
    - Dst: libspdm_register_event_callback
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_register_event_callback
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:361,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:364,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:362,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:363,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:372,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 377
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 377
    functionName: libspdm_requester_encap_event_ack_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_event_ack_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:261,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:282,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:292,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:290,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:275,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:293,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:294,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:295,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:296,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 299
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 299
    functionName: test_libspdm_requester_encap_event_ack_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:127,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:156,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:158,1
    - Dst: libspdm_get_encap_response_event_ack
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:148,1
    - Dst: generate_dmtf_event_data
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:141,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:159,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:160,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:161,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:162,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 165
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 165
    functionName: test_libspdm_requester_encap_event_ack_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_event_ack_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_encap_response_event_ack
    - assert_int_equal
    - generate_dmtf_event_data
    linkageType: ''
    returnType: void
    signature: 'static void test_libspdm_requester_encap_event_ack_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:48,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context, uint32_t
      *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:174,1
    - Dst: libspdm_get_event_types
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:176,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: libspdm_test_requester_get_event_types_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_event_types
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_event_types_err_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:67,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:70,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:71,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:79,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:84,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:85,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:89,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:90,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:91,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_transport_test_decode_message
    - libspdm_get_session_info_via_session_id
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t send_message( void *spdm_context, size_t request_size,
      const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:186,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:196,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: libspdm_requester_get_event_types_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_event_types_error_test_main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:110,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:119,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:136,1
    - Dst: generate_dmtf_event_group
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:127,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:118,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:137,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c:143,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 155
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 155
    functionName: receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - LIBSPDM_ASSERT
    - generate_dmtf_event_group
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t receive_message( void *spdm_context, size_t
      *response_size, void **response, uint64_t timeout) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:42,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 58
    functionName: libspdm_test_get_key_exchange_request_size
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_dhe_pub_key_size
    linkageType: ''
    returnType: size_t
    signature: 'static size_t libspdm_test_get_key_exchange_request_size(const void
      *spdm_context, const void *buffer, size_t buffer_size) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:87,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:75,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:93,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:105,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:111,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:143,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:155,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:173,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:179,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:191,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:299,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:323,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:224,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:290,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:215,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:281,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:332,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:78,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:84,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:152,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:164,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:170,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:188,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:236,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:254,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:260,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:272,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:305,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:197,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:296,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:263,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:341,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:326,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:140,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:129,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:123,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:161,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:209,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:227,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:233,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:245,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:251,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:269,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:278,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:344,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:335,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:314,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:68,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:96,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:102,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:114,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:120,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:132,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:182,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:200,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:206,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:218,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:317,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:242,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:308,1
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c:287,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 248
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 351
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 351
    functionName: libspdm_requester_key_exchange_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/key_exchange_err.c
    functionUses: []
    functionsReached:
    - libspdm_test_get_key_exchange_request_size
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_key_exchange_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 61
    functionName: libspdm_test_get_measurement_request_size
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t libspdm_test_get_measurement_request_size(const void
      *spdm_context, const void *buffer, size_t buffer_size) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:154,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:160,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:190,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:196,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:411,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:125,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:131,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:253,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:259,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:352,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:322,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:377,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:316,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:358,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:95,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:79,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:89,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:181,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:187,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:217,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:223,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:77,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:262,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:268,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:304,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:298,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:361,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:163,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:169,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:375,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:390,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:98,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:104,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:134,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:140,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:226,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:232,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:331,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:325,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:295,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:289,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:86,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:172,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:178,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:368,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:384,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:399,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:143,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:235,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:241,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:277,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:393,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:271,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:340,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:334,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:107,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:113,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:199,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:205,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:373,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:286,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:280,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:349,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:376,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:151,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:343,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:116,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:122,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:208,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:214,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:250,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:408,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:244,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:402,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:313,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:307,1
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c:370,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 294
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 418
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 418
    functionName: libspdm_requester_get_measurements_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_measurements_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_decode_message
    - memcpy
    - libspdm_test_get_measurement_request_size
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_measurements_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c:18,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: libspdm_requester_get_key_pair_info_error_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_get_key_pair_info_error_test_send_message(\r
      void *spdm_context, size_t request_size, const void *request,\r uint64_t timeout) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c:33,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: libspdm_requester_get_key_pair_info_error_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_get_key_pair_info_error_test_receive_message(\r
      void *spdm_context, size_t *response_size,\r void **response, uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c:77,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: libspdm_test_requester_get_key_pair_info_error_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_key_pair_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_key_pair_info_error_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c:96,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c:99,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: libspdm_requester_get_key_pair_info_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_key_pair_info_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:563,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 565
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 565
    functionName: libspdm_test_requester_get_version_err_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:599,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: libspdm_test_requester_get_version_err_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:661,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 663
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 663
    functionName: libspdm_test_requester_get_version_err_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:699,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 701
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 701
    functionName: libspdm_test_requester_get_version_err_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case10(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:782,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 796
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 796
    functionName: libspdm_test_requester_get_version_err_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_get_version
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:639,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:641,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 643
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 643
    functionName: libspdm_test_requester_get_version_err_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:675,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:682,1
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:681,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 683
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 683
    functionName: libspdm_test_requester_get_version_err_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:757,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 759
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 759
    functionName: libspdm_test_requester_get_version_err_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:542,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:544,1
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:543,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: libspdm_test_requester_get_version_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_force_error
    - libspdm_get_version
    - assert_int_equal
    - libspdm_release_error
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:524,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: libspdm_test_requester_get_version_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case1(void **state) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:27,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:63,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 75
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 75
    functionName: send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t send_message( void *spdm_context, size_t request_size,
      const void *request, uint64_t timeout) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:83,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:200,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:435,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:451,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:490,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:129,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:107,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:145,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:169,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:176,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:218,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:251,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:267,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:296,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:321,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:467,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:346,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:189,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:375,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:407,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:419,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:446,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:497,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:473,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:123,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:100,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:151,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:224,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:305,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:277,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:240,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:330,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:355,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:380,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 246
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 508
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 508
    functionName: receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_copy_mem
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t receive_message( void *spdm_context, size_t
      *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:737,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 739
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 739
    functionName: libspdm_test_requester_get_version_err_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:842,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 844
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 844
    functionName: libspdm_test_requester_get_version_err_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:718,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 720
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 720
    functionName: libspdm_test_requester_get_version_err_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:824,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 826
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 826
    functionName: libspdm_test_requester_get_version_err_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:849,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:851,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:852,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:850,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:853,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:854,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:855,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:856,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:857,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:858,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:859,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:865,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:876,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:878,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:861,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:862,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:866,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 881
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 881
    functionName: libspdm_requester_get_version_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_version_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:581,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: libspdm_test_requester_get_version_err_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:617,1
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:618,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:619,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c:621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: libspdm_test_requester_get_version_err_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_version_err.c
    functionUses: []
    functionsReached:
    - libspdm_force_error
    - libspdm_get_version
    - assert_int_equal
    - libspdm_release_error
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_version_err_case6(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:41,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: libspdm_requester_vendor_cmds_err_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_vendor_cmds_err_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:171,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:183,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: libspdm_requester_vendor_cmds_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_vendor_cmds_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:147,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:160,1
    - Dst: libspdm_vendor_send_request_receive_response
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:151,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:161,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 166
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 166
    functionName: libspdm_test_requester_vendor_cmds_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_vendor_send_request_receive_response
    - printf
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_vendor_cmds_err_case1(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:69,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:86,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:78,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:95,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:74,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:96,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:103,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:105,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c:109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 116
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 116
    functionName: libspdm_requester_vendor_cmds_err_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/vendor_request_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_transport_test_decode_message
    - libspdm_get_test_context
    - libspdm_zero_mem
    - libspdm_transport_test_encode_message
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_vendor_cmds_err_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:180,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:185,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:192,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:189,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:182,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:196,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:200,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 206
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 206
    functionName: libspdm_test_requester_encap_endpoint_info_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:246,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:239,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:243,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:236,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:250,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:252,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:254,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 260
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 260
    functionName: libspdm_test_requester_encap_endpoint_info_err_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:394,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:403,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:399,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:406,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:396,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:410,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:412,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:414,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 420
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 420
    functionName: libspdm_test_requester_encap_endpoint_info_err_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:455,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:460,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:457,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:467,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:464,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:471,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:473,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:475,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 481
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 481
    functionName: libspdm_test_requester_encap_endpoint_info_err_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:659,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:671,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:661,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:668,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:664,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:675,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:677,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:679,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 685
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 685
    functionName: libspdm_test_requester_encap_endpoint_info_err_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:691,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:693,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:697,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:695,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:699,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:701,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:703,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:705,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:709,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:711,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:721,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 724
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 724
    functionName: libspdm_requester_encap_endpoint_info_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_encap_endpoint_info_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:128,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:133,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:140,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:130,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:137,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:146,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:148,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 154
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 154
    functionName: libspdm_test_requester_encap_endpoint_info_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:342,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:345,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:349,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:356,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:352,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:358,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:360,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 366
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 366
    functionName: libspdm_test_requester_encap_endpoint_info_err_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:288,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:293,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:290,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:297,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:300,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:306,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:308,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 314
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 314
    functionName: libspdm_test_requester_encap_endpoint_info_err_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:513,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:515,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:525,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:522,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:518,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:529,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:531,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 539
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 539
    functionName: libspdm_test_requester_encap_endpoint_info_err_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_int_equal
    - libspdm_reset_message_encap_e
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:571,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:589,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:584,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:580,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:590,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:605,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:607,1
    - Dst: libspdm_get_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:610,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:617,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:621,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:623,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:625,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c:629,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 631
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 631
    functionName: libspdm_test_requester_encap_endpoint_info_err_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/encap_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_endpoint_info
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_encap_e
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_endpoint_info_err_case9(void **state) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_endpoint_info_err.c:26,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_endpoint_info_err.c:48,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_endpoint_info_err.c:35,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_endpoint_info_err.c:28,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_endpoint_info_err.c:55,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_endpoint_info_err.c:65,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 21
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 72
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 72
    functionName: libspdm_requester_get_endpoint_info_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - memcpy
    - LIBSPDM_ASSERT
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_endpoint_info_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3035,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3060,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3062
      start: 3018
    functionDepth: 0
    functionLinenumber: 3018
    functionLinenumberEnd: 3062
    functionName: libspdm_test_requester_negotiate_algorithms_error_case42
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case42(void**
      state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1936,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1939,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1940
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1940
    functionName: libspdm_test_requester_negotiate_algorithms_error_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case9(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2831,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2833,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2835
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2835
    functionName: libspdm_test_requester_negotiate_algorithms_error_case37
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case37(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1749,1
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1751,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1753,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1755,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1756
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1756
    functionName: libspdm_test_requester_negotiate_algorithms_error_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_negotiate_algorithms
    - libspdm_release_error
    - libspdm_force_error
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1801,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1806,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1804,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1808
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1808
    functionName: libspdm_test_requester_negotiate_algorithms_error_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case4(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1910,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1913,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1914
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1914
    functionName: libspdm_test_requester_negotiate_algorithms_error_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case8(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2026,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2029,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2028,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2032
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2032
    functionName: libspdm_test_requester_negotiate_algorithms_error_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case12(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2070,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2072,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2074
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2074
    functionName: libspdm_test_requester_negotiate_algorithms_error_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case14(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2496,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2522,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2523
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2523
    functionName: libspdm_test_requester_negotiate_algorithms_error_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case28(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2586,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2611,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2613
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2613
    functionName: libspdm_test_requester_negotiate_algorithms_error_case30
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case30(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2805,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2807,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2809
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2809
    functionName: libspdm_test_requester_negotiate_algorithms_error_case36
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case36(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1775,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1777,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1780,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1782
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1782
    functionName: libspdm_test_requester_negotiate_algorithms_error_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case3(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1827,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1829,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1834
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1834
    functionName: libspdm_test_requester_negotiate_algorithms_error_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case5(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2049,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2052,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2051,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2053
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2053
    functionName: libspdm_test_requester_negotiate_algorithms_error_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case13(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2091,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2094,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2093,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2095
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2095
    functionName: libspdm_test_requester_negotiate_algorithms_error_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case15(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2541,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2567,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2568
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2568
    functionName: libspdm_test_requester_negotiate_algorithms_error_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case29(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2631,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2656,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2658
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2658
    functionName: libspdm_test_requester_negotiate_algorithms_error_case31
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case31(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2271,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2297,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2298
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2298
    functionName: libspdm_test_requester_negotiate_algorithms_error_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case23(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2706,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2709,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2710
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2710
    functionName: libspdm_test_requester_negotiate_algorithms_error_case33
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case33(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2779,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2782,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2783
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2783
    functionName: libspdm_test_requester_negotiate_algorithms_error_case35
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case35(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3008,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3011,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3012
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3012
    functionName: libspdm_test_requester_negotiate_algorithms_error_case41
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case41(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1856,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1862,1
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1858,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1860,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1863
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1863
    functionName: libspdm_test_requester_negotiate_algorithms_error_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_negotiate_algorithms
    - libspdm_release_error
    - libspdm_force_error
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case6(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2244,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2247,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2248
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2248
    functionName: libspdm_test_requester_negotiate_algorithms_error_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case22(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2680,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2682,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2684
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2684
    functionName: libspdm_test_requester_negotiate_algorithms_error_case32
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case32(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2729,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2753,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2755
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2755
    functionName: libspdm_test_requester_negotiate_algorithms_error_case34
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case34(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2958,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2984,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2985
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2985
    functionName: libspdm_test_requester_negotiate_algorithms_error_case40
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case40(void**
      state) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:34,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:102,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 134
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 134
    functionName: libspdm_requester_negotiate_algorithms_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_negotiate_algorithms_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1882,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1889,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1885,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1886,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1891
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1891
    functionName: libspdm_test_requester_negotiate_algorithms_error_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case7(void
      **state) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:156,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:569,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:629,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:922,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1411,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1646,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1661,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1330,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1520,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1444,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1395,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:906,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1615,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1216,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:434,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:783,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1233,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:496,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:525,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1015,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1428,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1109,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1599,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:418,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:767,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1535,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:999,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1202,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:240,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:246,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:466,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:480,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:509,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1093,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1186,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1156,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:187,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:171,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1062,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:224,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:449,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:737,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1311,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:721,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1379,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1581,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:373,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:284,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:875,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1046,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1140,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:859,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1489,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:202,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:218,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:271,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1364,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1566,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:555,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:615,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:676,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:264,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:302,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:403,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1474,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1280,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:829,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:142,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:326,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:342,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:539,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:599,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:660,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:953,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:969,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:645,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:387,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:585,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1264,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:813,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1692,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:354,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:320,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:690,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:706,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 964
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1701
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 1701
    functionName: libspdm_requester_negotiate_algorithm_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_negotiate_algorithm_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1966,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1968,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1970,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1973
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1973
    functionName: libspdm_test_requester_negotiate_algorithms_error_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case10(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2112,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2114,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2116
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2116
    functionName: libspdm_test_requester_negotiate_algorithms_error_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case16(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2154,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2156,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2158
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2158
    functionName: libspdm_test_requester_negotiate_algorithms_error_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case18(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2196,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2199,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2200
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2200
    functionName: libspdm_test_requester_negotiate_algorithms_error_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case20(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2316,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2342,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2343
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2343
    functionName: libspdm_test_requester_negotiate_algorithms_error_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case24(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2406,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2431,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2433
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2433
    functionName: libspdm_test_requester_negotiate_algorithms_error_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case26(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2908,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2933,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2935
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2935
    functionName: libspdm_test_requester_negotiate_algorithms_error_case39
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case39(void**
      state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1720,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1723,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1722,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1727
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1727
    functionName: libspdm_test_requester_negotiate_algorithms_error_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:1999,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2002,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2001,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2004
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 2004
    functionName: libspdm_test_requester_negotiate_algorithms_error_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case11(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2133,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2135,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2137
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2137
    functionName: libspdm_test_requester_negotiate_algorithms_error_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case17(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2175,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2179
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2179
    functionName: libspdm_test_requester_negotiate_algorithms_error_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case19(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2218,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2221,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2222
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2222
    functionName: libspdm_test_requester_negotiate_algorithms_error_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case21(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2387,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2388
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2388
    functionName: libspdm_test_requester_negotiate_algorithms_error_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case25(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2451,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2476,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2478
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2478
    functionName: libspdm_test_requester_negotiate_algorithms_error_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case27(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3117,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3118,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3143,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3160,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3172,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3174,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3146,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3149,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3152,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3138,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3141,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3119,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3121,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3123,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3125,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3133,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3134,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3129,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3131,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3127,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3136,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3144,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3155,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3158,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3161,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3147,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3150,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3153,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3156,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3142,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3145,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3148,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3120,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3122,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3124,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3126,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3130,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3132,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3128,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3135,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3137,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3139,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3140,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3159,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3162,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3151,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3154,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3177
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3177
    functionName: libspdm_requester_negotiate_algorithms_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_negotiate_algorithms_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2858,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2883,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:2884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2885
      start: 2841
    functionDepth: 0
    functionLinenumber: 2841
    functionLinenumberEnd: 2885
    functionName: libspdm_test_requester_negotiate_algorithms_error_case38
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case38(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3085,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3110,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c:3111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3112
      start: 3068
    functionDepth: 0
    functionLinenumber: 3068
    functionLinenumberEnd: 3112
    functionName: libspdm_test_requester_negotiate_algorithms_error_case43
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/negotiate_algorithms_err.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_negotiate_algorithms_error_case43(void**
      state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1128,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1130
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1130
    functionName: libspdm_test_requester_get_capabilities_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1147,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1149
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1149
    functionName: libspdm_test_requester_get_capabilities_err_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case3(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1348,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1350
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1350
    functionName: libspdm_test_requester_get_capabilities_err_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case12(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1743,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1745
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1745
    functionName: libspdm_test_requester_get_capabilities_err_case30
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case30(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1885,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1889,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1886,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1890
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1890
    functionName: libspdm_test_requester_get_capabilities_err_case36
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_force_error
    - assert_int_equal
    - libspdm_get_capabilities
    - libspdm_release_error
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case36(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1963,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1965,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1966
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1966
    functionName: libspdm_test_requester_get_capabilities_err_case39
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case39(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1167,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1169
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1169
    functionName: libspdm_test_requester_get_capabilities_err_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case4(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1998,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2000,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2002,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2004,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2012,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2014,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2006,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2010,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2008,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2016,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2021,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2032,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2035,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2029,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2018,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1996,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1997,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2026,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2023,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2020,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2034,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2031,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1999,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2001,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2003,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2005,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2009,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2007,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2013,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2011,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2015,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2017,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2025,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2028,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2033,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2022,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2045,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2047,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2019,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2030,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2027,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:2024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2050
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2050
    functionName: libspdm_requester_get_capabilities_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_capabilities_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1105,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1107
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1107
    functionName: libspdm_test_requester_get_capabilities_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1322,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1324
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1324
    functionName: libspdm_test_requester_get_capabilities_err_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case11(void
      **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1704,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1706,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1707,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1720
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1720
    functionName: libspdm_test_requester_get_capabilities_err_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case29(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1858,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1860,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1859,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1863
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1863
    functionName: libspdm_test_requester_get_capabilities_err_case35
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_force_error
    - assert_int_equal
    - libspdm_get_capabilities
    - libspdm_release_error
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case35(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1275,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1277
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1277
    functionName: libspdm_test_requester_get_capabilities_err_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case9(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1573,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1578,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1581
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1581
    functionName: libspdm_test_requester_get_capabilities_err_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case23(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1617,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1622,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1623
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1623
    functionName: libspdm_test_requester_get_capabilities_err_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case25(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1659,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1664,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1665
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1665
    functionName: libspdm_test_requester_get_capabilities_err_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case27(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1811,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1813
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1813
    functionName: libspdm_test_requester_get_capabilities_err_case33
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case33(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1595,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1600,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1603
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1603
    functionName: libspdm_test_requester_get_capabilities_err_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case24(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1637,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1641,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1645
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1645
    functionName: libspdm_test_requester_get_capabilities_err_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case26(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1679,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1684,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1685
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1685
    functionName: libspdm_test_requester_get_capabilities_err_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case28(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1836
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1836
    functionName: libspdm_test_requester_get_capabilities_err_case34
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case34(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1988,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1990,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1991
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1991
    functionName: libspdm_test_requester_get_capabilities_err_case40
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case40(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1211,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1213
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1213
    functionName: libspdm_test_requester_get_capabilities_err_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case6(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1233,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1235
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1235
    functionName: libspdm_test_requester_get_capabilities_err_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case7(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1369
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1369
    functionName: libspdm_test_requester_get_capabilities_err_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case13(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1431,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1433
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1433
    functionName: libspdm_test_requester_get_capabilities_err_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case16(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1761,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1763
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1763
    functionName: libspdm_test_requester_get_capabilities_err_case31
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case31(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1938,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1941
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1941
    functionName: libspdm_test_requester_get_capabilities_err_case38
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case38(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1252,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1254
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1254
    functionName: libspdm_test_requester_get_capabilities_err_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case8(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1386,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1388
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1388
    functionName: libspdm_test_requester_get_capabilities_err_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case14(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1189
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1189
    functionName: libspdm_test_requester_get_capabilities_err_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case5(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1301
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1301
    functionName: libspdm_test_requester_get_capabilities_err_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case10(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1405,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1407
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1407
    functionName: libspdm_test_requester_get_capabilities_err_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case15(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1912,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1915
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1915
    functionName: libspdm_test_requester_get_capabilities_err_case37
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case37(void
      **state) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:56,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 137
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 137
    functionName: libspdm_requester_get_capabilities_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_capabilities_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1450,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1454
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1454
    functionName: libspdm_test_requester_get_capabilities_err_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case17(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1491,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1496,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1499
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1499
    functionName: libspdm_test_requester_get_capabilities_err_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case19(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1538,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1539
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1539
    functionName: libspdm_test_requester_get_capabilities_err_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case21(void
      **state) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:145,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:426,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:490,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:499,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:515,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:528,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:544,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:574,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:587,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:616,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:720,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:916,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1068,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:663,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:760,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:897,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:786,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:812,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:990,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1052,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:396,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1000,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:167,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:207,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:235,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:298,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:332,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:260,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:372,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:380,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:404,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:420,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:964,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:889,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1016,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:862,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:856,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:348,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:282,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:442,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:474,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:558,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:603,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:632,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:646,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:677,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:693,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:828,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:940,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1078,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:747,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:924,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:704,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:837,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:466,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:183,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:159,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:191,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:213,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:229,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:251,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:356,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:324,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:276,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:308,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:974,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1042,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:450,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:731,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:776,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1026,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:802,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:949,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 531
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1088
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 1088
    functionName: libspdm_requester_get_capabilities_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_transport_test_encode_message
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_capabilities_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1473,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1477
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1477
    functionName: libspdm_test_requester_get_capabilities_err_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case18(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1513,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1518,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1519
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1519
    functionName: libspdm_test_requester_get_capabilities_err_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case20(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1553,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1557,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1559
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1559
    functionName: libspdm_test_requester_get_capabilities_err_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case22(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1786,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c:1787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1788
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1788
    functionName: libspdm_test_requester_get_capabilities_err_case32
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_capabilities_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_capabilities_err_case32(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1087,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1094,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1090,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1093,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1092,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1095,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1100
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1100
    functionName: libspdm_test_requester_get_digests_err_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1412,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1417,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1418,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1419,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1420
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1420
    functionName: libspdm_test_requester_get_digests_err_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case19(void **state) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:25,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 80
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 80
    functionName: libspdm_requester_get_digests_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_digests_test_send_message(
      void *spdm_context, size_t request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1052,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1057,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1060,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1055,1
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1059,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1061,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1063,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1064
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1064
    functionName: libspdm_test_requester_get_digests_err_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_release_error
    - libspdm_reset_message_b
    - libspdm_force_error
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1594
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1594
    functionName: libspdm_test_requester_get_digests_err_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case25(void **state) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:335,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:790,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:506,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:542,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:500,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:535,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:685,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:678,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:834,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:116,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:153,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:275,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:463,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:722,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:236,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:244,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:222,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:666,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:632,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:716,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:117,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:119,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:157,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:847,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:329,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:365,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:814,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:88,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:253,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:390,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:603,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:527,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:331,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:827,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:832,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:690,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:782,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:382,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:459,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:140,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:148,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:300,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:330,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:395,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:546,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:838,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:842,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:723,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:825,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:324,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:683,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:776,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:727,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:833,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:399,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:687,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:248,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:316,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:420,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:612,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:454,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:111,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:123,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:555,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:708,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:178,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:446,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:608,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:721,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:494,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:578,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:551,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:741,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:638,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:103,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:199,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:486,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 443
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 863
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 863
    functionName: libspdm_requester_get_digests_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_zero_mem
    - free
    - libspdm_get_hash_size
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_requester_get_digests_test_receive_message(
      void *spdm_context, size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:918,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:923,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:926,1
    - Dst: libspdm_force_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:925,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:921,1
    - Dst: libspdm_release_error
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:927,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 930
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 930
    functionName: libspdm_test_requester_get_digests_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_release_error
    - libspdm_reset_message_b
    - libspdm_force_error
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1019,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1026,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1025,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1022,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1024,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1028,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1030
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1030
    functionName: libspdm_test_requester_get_digests_err_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1337,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1341,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1343,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1346
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1346
    functionName: libspdm_test_requester_get_digests_err_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_digest
    - libspdm_zero_mem
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:986,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:993,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:989,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:992,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:991,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 997
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 997
    functionName: libspdm_test_requester_get_digests_err_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1443,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1450,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1448,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1449,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1455
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1455
    functionName: libspdm_test_requester_get_digests_err_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1185,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1191,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1192,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1196
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1196
    functionName: libspdm_test_requester_get_digests_err_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: libspdm_test_requester_get_digests_err_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1293,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1296,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1298,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1300,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1305
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1305
    functionName: libspdm_test_requester_get_digests_err_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case14(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1516,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1523,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1527,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1525,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1526,1
    - Dst: LIBSPDM_ASSERT_INT_EQUAL_CASE
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1544
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1544
    functionName: libspdm_test_requester_get_digests_err_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - LIBSPDM_ASSERT_INT_EQUAL_CASE
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:885,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:890,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:892,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:891,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:888,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 896
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 896
    functionName: libspdm_test_requester_get_digests_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:953,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:960,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:956,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:959,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:958,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 964
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 964
    functionName: libspdm_test_requester_get_digests_err_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: libspdm_test_requester_get_digests_err_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1478,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1481,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1484,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1483,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1485,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1490
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1490
    functionName: libspdm_test_requester_get_digests_err_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1153,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1158,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1161,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1159,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1162
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1162
    functionName: libspdm_test_requester_get_digests_err_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1377,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1384,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1383,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1380,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1389
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1389
    functionName: libspdm_test_requester_get_digests_err_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1586
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1586
    functionName: libspdm_test_requester_get_digests_err_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1602,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1604,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1606,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1608,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1612,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1614,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1616,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1610,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1621,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1622,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1603,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1601,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1605,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1607,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1611,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1609,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1615,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1613,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1620,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1633,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1599,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1600,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1623,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1638
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1638
    functionName: libspdm_requester_get_digests_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_get_digests_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1123,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1126,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1129,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1130,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1131
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1131
    functionName: libspdm_test_requester_get_digests_err_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1218,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1221,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1223,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1225,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1224,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1230
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1230
    functionName: libspdm_test_requester_get_digests_err_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1260,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1265,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1267,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1266,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1263,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1271
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1271
    functionName: libspdm_test_requester_get_digests_err_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1313
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1313
    functionName: libspdm_test_requester_get_digests_err_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1566,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1569,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1572,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1571,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1573,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c:1576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1578
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1578
    functionName: libspdm_test_requester_get_digests_err_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/get_digests_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_digests_err_case23(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c:18,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: libspdm_requester_set_key_pair_info_err_test_send_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_set_key_pair_info_err_test_send_message(\r
      void *spdm_context, size_t request_size, const void *request,\r uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c:76,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: libspdm_test_requester_set_key_pair_info_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_key_pair_info
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_key_pair_info_err_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c:93,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c:99,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: libspdm_requester_set_key_pair_info_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_requester_set_key_pair_info_error_test_main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c:33,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: libspdm_requester_set_key_pair_info_err_test_receive_message
    functionSourceFile: /src/libspdm/unit_test/test_spdm_requester/error_test/set_key_pair_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t libspdm_requester_set_key_pair_info_err_test_receive_message(\r
      void *spdm_context, size_t *response_size,\r void **response, uint64_t timeout) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:138,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:141,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:145,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:153,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:166,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:161,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:182,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:122,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:128,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:175,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:177,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:170,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:180,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:108,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:118,1
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:136,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:149,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:173,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:127,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 183
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 183
    functionName: libspdm_test_responder_endpoint_info_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_reset_message_e
    - libspdm_get_random_number
    - libspdm_verify_endpoint_info_signature
    - libspdm_append_message_e
    - libspdm_get_asym_signature_size
    - libspdm_get_response_endpoint_info
    - libspdm_generate_device_endpoint_info
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:531,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:513,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:579,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:527,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:547,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:550,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:554,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:558,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:512,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:536,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:537,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:584,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:564,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:586,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:589,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:517,1
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:545,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:582,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:575,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:562,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:570,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 592
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 592
    functionName: libspdm_test_responder_endpoint_info_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - assert_true
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_reset_message_e
    - libspdm_get_random_number
    - libspdm_verify_endpoint_info_signature
    - libspdm_append_message_e
    - libspdm_get_asym_signature_size
    - libspdm_get_response_endpoint_info
    - libspdm_secured_message_set_session_state
    - libspdm_generate_device_endpoint_info
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:226,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:235,1
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:233,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:242,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:238,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:246,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:250,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:252,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:258,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:263,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:267,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:270,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:277,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:279,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:272,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 280
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 280
    functionName: libspdm_test_responder_endpoint_info_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_get_asym_signature_size
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - libspdm_verify_endpoint_info_signature
    - libspdm_append_message_e
    - libspdm_read_responder_public_key
    - libspdm_get_response_endpoint_info
    - libspdm_generate_device_endpoint_info
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:597,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:600,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:598,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:601,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:599,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:609,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 614
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 614
    functionName: libspdm_responder_endpoint_info_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_endpoint_info_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:440,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:450,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:442,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:454,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:460,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 463
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 463
    functionName: libspdm_test_responder_endpoint_info_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_generate_device_endpoint_info
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:339,1
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:356,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:369,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:386,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:381,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:393,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:324,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:375,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:390,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:358,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:365,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:373,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:402,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:343,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:348,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:349,1
    - Dst: libspdm_append_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:395,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:397,1
    - Dst: libspdm_verify_endpoint_info_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c:400,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 403
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 403
    functionName: libspdm_test_responder_endpoint_info_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_reset_message_e
    - libspdm_get_random_number
    - libspdm_verify_endpoint_info_signature
    - libspdm_append_message_e
    - libspdm_get_asym_signature_size
    - libspdm_get_response_endpoint_info
    - libspdm_generate_device_endpoint_info
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:51,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:67,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:68,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:59,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:74,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:78,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:79,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:81,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 83
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 83
    functionName: libspdm_test_responder_heartbeat_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:197,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:221,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:216,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:207,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:215,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:225,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:228,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:230,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:231,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 235
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 235
    functionName: libspdm_test_responder_heartbeat_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:600,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:615,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:619,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:609,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:608,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:620,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:623,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 625
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 625
    functionName: libspdm_test_responder_heartbeat_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:274,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:284,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:298,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:292,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:293,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:302,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:303,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:305,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:309,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:312,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 313
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 313
    functionName: libspdm_test_responder_heartbeat_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:121,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:145,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:139,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:140,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:131,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:149,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:150,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:152,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:154,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:156,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 158
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 158
    functionName: libspdm_test_responder_heartbeat_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:631,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:633,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:640,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:637,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:635,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:643,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:645,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:646,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:654,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 659
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 659
    functionName: libspdm_responder_heartbeat_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_heartbeat_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:438,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:448,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:462,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:456,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:457,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:466,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:467,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:469,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:471,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:473,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 475
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 475
    functionName: libspdm_test_responder_heartbeat_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:513,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:523,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:532,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:531,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:550,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:554,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:555,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:557,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:559,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:560,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:562,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:566,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 567
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 567
    functionName: libspdm_test_responder_heartbeat_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:354,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:364,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:378,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:372,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:373,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:383,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:389,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:391,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:393,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:394,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:397,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c:396,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 398
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 398
    functionName: libspdm_test_responder_heartbeat_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:52,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 56
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:77,1
    - Dst: libspdm_get_response_subscribe_event_types_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:86,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:91,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:92,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:94,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:95,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:96,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: libspdm_test_responder_subscribe_event_types_ack_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - assert_true
    - libspdm_get_response_subscribe_event_types_ack
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_subscribe_event_types_ack_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:160,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:164,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:161,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: libspdm_responder_subscribe_event_types_ack_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_subscribe_event_types_ack_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:121,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:142,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:143,1
    - Dst: libspdm_get_response_subscribe_event_types_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:137,1
    - Dst: generate_dmtf_event_group
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:131,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:146,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:147,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 150
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 150
    functionName: libspdm_test_responder_subscribe_event_types_ack_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/subscribe_event_types_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - set_standard_state
    - assert_true
    - generate_dmtf_event_group
    - libspdm_get_response_subscribe_event_types_ack
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_subscribe_event_types_ack_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:138,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:147,1
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:140,1
    - Dst: libspdm_get_response_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:149,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:151,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 153
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 153
    functionName: libspdm_test_responder_key_pair_info_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_key_pair_info
    - assert_int_equal
    - libspdm_read_total_key_pairs
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_pair_info_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:98,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:109,1
    - Dst: libspdm_get_response_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:102,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:105,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 111
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 111
    functionName: libspdm_test_responder_key_pair_info_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_key_pair_info
    - assert_int_equal
    - libspdm_read_total_key_pairs
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_pair_info_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:202,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:208,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:206,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:204,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:215,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 220
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 220
    functionName: libspdm_responder_key_pair_info_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_key_pair_info_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:47,1
    - Dst: libspdm_get_response_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:54,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:58,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:61,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:57,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 65
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 65
    functionName: libspdm_test_responder_key_pair_info_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_key_pair_info
    - assert_int_equal
    - libspdm_read_total_key_pairs
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_pair_info_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:192,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:194,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:190,1
    - Dst: libspdm_get_response_key_pair_info
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 196
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 196
    functionName: libspdm_test_responder_key_pair_info_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_key_pair_info
    - assert_int_equal
    - libspdm_read_total_key_pairs
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_pair_info_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1082,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1089,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1086,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1087,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1091,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1093,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1094,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1096
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1096
    functionName: libspdm_test_responder_algorithms_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1155,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1182,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1192,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1194,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1198
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1198
    functionName: libspdm_test_responder_algorithms_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1282,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1312,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1313,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1315,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1316,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1318
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1318
    functionName: libspdm_test_responder_algorithms_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1402,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1435,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1432,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1433,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1427,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1436,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1438
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1438
    functionName: libspdm_test_responder_algorithms_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1616,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1643,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1646,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1644,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1638,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1647,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1649
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1649
    functionName: libspdm_test_responder_algorithms_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1730,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1758,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1752,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1757,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1760,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1761,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1763
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1763
    functionName: libspdm_test_responder_algorithms_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1910,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1938,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1937,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1942,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1932,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1943,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1945,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1946,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1949,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1951,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1954,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1959,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1963,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1956,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1961,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1965
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1965
    functionName: libspdm_test_responder_algorithms_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1990,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2027,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2019,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2023,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2028,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2032,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2033,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2035,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2037,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2039,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2041,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2046,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2044,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2051
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 2051
    functionName: libspdm_test_responder_algorithms_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_reset_message_a
    - libspdm_get_response_algorithms
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:980,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:985,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:984,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 989
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 989
    functionName: libspdm_test_responder_algorithms_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1119,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1123,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1124,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1128,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1126,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1131
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1131
    functionName: libspdm_test_responder_algorithms_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1222,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1247,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1253,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1255,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1252,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1256,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1258
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1258
    functionName: libspdm_test_responder_algorithms_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1342,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1373,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1375,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1372,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1376,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1378
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1378
    functionName: libspdm_test_responder_algorithms_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1462,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1493,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1495,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1492,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1487,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1496,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1498
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1498
    functionName: libspdm_test_responder_algorithms_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1673,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1703,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1695,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1700,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1701,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1704,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1706
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1706
    functionName: libspdm_test_responder_algorithms_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1787,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1815,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1817,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1814,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1809,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1818,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1820
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1820
    functionName: libspdm_test_responder_algorithms_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2078,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2106,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2111,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2112,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2113,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2114,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2116,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2118,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2122
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2122
    functionName: libspdm_test_responder_algorithms_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1844,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1866,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1871,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1874,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1872,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1875,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1877
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1877
    functionName: libspdm_test_responder_algorithms_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2270,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2305,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2301,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2300,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2295,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2309
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2309
    functionName: libspdm_test_responder_algorithms_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1011,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1020,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1018,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1015,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1016,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1023
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1023
    functionName: libspdm_test_responder_algorithms_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1522,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1552,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1547,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1555,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1553,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1558
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1558
    functionName: libspdm_test_responder_algorithms_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2677,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2688,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2693,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2718,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2715,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2710,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2741,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2765,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2778,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2782,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2762,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2671,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2666,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2700,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2742,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2755,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2759,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2783,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2785,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2787,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2658,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2672,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2674,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2694,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2716,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2696,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2732,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2736,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2745,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2760,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2676,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2680,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2722,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2737,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2739,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2764,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2768,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 97
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2789
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2789
    functionName: libspdm_test_responder_algorithms_case30
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case30(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2336,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2369,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2366,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2370,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2372
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2372
    functionName: libspdm_test_responder_algorithms_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1046,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1055,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1051,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1053,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1050,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1056,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1059
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1059
    functionName: libspdm_test_responder_algorithms_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1578,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1586,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1587,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1589,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1581,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1590,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:1591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1592
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1592
    functionName: libspdm_test_responder_algorithms_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2462,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2492,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2487,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2493,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2495,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2496,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2498
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2498
    functionName: libspdm_test_responder_algorithms_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case27(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2937,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2939,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2941,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2949,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2965,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2973,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2957,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2981,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2989,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2993,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2947,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2955,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2963,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2971,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2979,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2987,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:3082,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:3084,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2945,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2953,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2969,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2961,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2977,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2985,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2997,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2943,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2951,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2967,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2959,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2975,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2983,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2991,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 80
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3087
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 3087
    functionName: libspdm_responder_algorithms_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_algorithms_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2588,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2596,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2597,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2591,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2599,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2600,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2602
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2602
    functionName: libspdm_test_responder_algorithms_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case29(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2885,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2895,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2901,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2903,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2900,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2905,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2907,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2916,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2919,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2924,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2927,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2929,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2930,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2931
      start: 2864
    functionDepth: 0
    functionLinenumber: 2864
    functionLinenumberEnd: 2931
    functionName: libspdm_test_responder_algorithms_case32
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case32(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2399,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2430,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2432,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2424,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2429,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2433,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2435
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2435
    functionName: libspdm_test_responder_algorithms_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case26(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2818,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2834,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2831,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2826,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2836,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2837,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2843,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2846,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2851,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2856,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2852,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2857,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2858
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2858
    functionName: libspdm_test_responder_algorithms_case31
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case31(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2146,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2183,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2199,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2212,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2238,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2187,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2201,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2206,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2239,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2189,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2207,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2214,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2228,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2213,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2233,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2182,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2211,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2240,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 76
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2243
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2243
    functionName: libspdm_test_responder_algorithms_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case23(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2525,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2550,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2555,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2558,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2559,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/algorithms.c:2560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2561
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2561
    functionName: libspdm_test_responder_algorithms_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case28(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:169,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:182,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:177,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:180,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:185,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:186,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:191,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:192,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 195
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 195
    functionName: libspdm_test_responder_challenge_auth_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1223,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1232,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1237,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1239,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1243,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1241,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1235,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1248,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1261,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1263,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1227,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1225,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1236,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1238,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1250,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1245,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1240,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1242,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1229,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1246,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1266
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1266
    functionName: libspdm_responder_challenge_auth_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_challenge_auth_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:86,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:104,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:100,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:105,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:107,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:109,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:111,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:112,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:121,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:119,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:117,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:116,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 122
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 122
    functionName: libspdm_test_responder_challenge_auth_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - assert_null
    - libspdm_get_asym_signature_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: libspdm_test_responder_challenge_auth_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:422,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:430,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:437,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:433,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:434,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:438,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:440,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:441,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:442,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 444
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 444
    functionName: libspdm_test_responder_challenge_auth_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:365,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:381,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:378,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:373,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:376,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:384,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:386,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:388,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 390
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 390
    functionName: libspdm_test_responder_challenge_auth_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case6(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:532,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:542,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:546,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:539,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:543,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:547,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:547,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:549,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:552,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:553,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:563,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:562,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 564
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 564
    functionName: libspdm_test_responder_challenge_auth_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:657,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:665,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:668,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:669,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:672,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:673,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:673,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:675,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:678,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:679,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:681,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:680,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 682
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 682
    functionName: libspdm_test_responder_challenge_auth_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:476,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:488,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:491,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:484,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:487,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:492,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:494,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:495,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:496,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 498
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 498
    functionName: libspdm_test_responder_challenge_auth_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:597,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:611,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:615,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:618,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:619,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:621,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:623,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 625
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 625
    functionName: libspdm_test_responder_challenge_auth_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:774,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:789,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:782,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:786,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:785,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:790,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:790,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:792,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:794,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:796,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:798,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:797,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 800
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 800
    functionName: libspdm_test_responder_challenge_auth_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1025,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1039,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1037,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1030,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1042,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1043,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1045,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1047,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1049,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1051,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1056,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1054,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1057
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1057
    functionName: libspdm_test_responder_challenge_auth_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_asym_signature_size
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_read_responder_public_key
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:250,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:247,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:242,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:245,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:251,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:253,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:255,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:257,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:258,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 261
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 261
    functionName: libspdm_test_responder_challenge_auth_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:715,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:723,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:727,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:726,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:730,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:731,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:731,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:733,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:735,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:737,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:738,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:740,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 741
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 741
    functionName: libspdm_test_responder_challenge_auth_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:968,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:973,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:978,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:969,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:974,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:979,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:981,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:982,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:983,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 989
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 989
    functionName: libspdm_test_responder_challenge_auth_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1175,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1198,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1196,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1182,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1199,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1202,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1207,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1210,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1211,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1213,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1216,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1215,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1217
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1217
    functionName: libspdm_test_responder_challenge_auth_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_zero_mem
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:892,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:903,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:905,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:907,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:899,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:912,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:913,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:916,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:917,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:919,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:925,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:924,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:923,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:921,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:930,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 931
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 931
    functionName: libspdm_test_responder_challenge_auth_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1092,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1104,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1098,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1107,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1106,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1110,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1113,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1117,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1118,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1120,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1122,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1127,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1136,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1131,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1133,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1125,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1126,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:1138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1139
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1139
    functionName: libspdm_test_responder_challenge_auth_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_zero_mem
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:298,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:312,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:305,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:309,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:308,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:313,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:318,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:319,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:320,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:321,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:322,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 324
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 324
    functionName: libspdm_test_responder_challenge_auth_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:834,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:846,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:845,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:842,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:849,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:850,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:852,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:853,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:854,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c:855,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 856
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 856
    functionName: libspdm_test_responder_challenge_auth_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_reset_message_c
    - free
    - libspdm_get_response_challenge_auth
    - libspdm_get_random_number
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_auth_case14(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:43,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - spdm_context
    - '#if'
    - session_id
    - '#endif'
    - resp_standard_id
    - resp_vendor_id_len
    - resp_vendor_id
    argTypes:
    - void*
    - LIBSPDM_PASS_SESSION_ID*
    - uint16_t*
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: libspdm_vendor_get_id_func_test
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_vendor_get_id_func_test( void *spdm_context,#if
      LIBSPDM_PASS_SESSION_ID const uint32_t *session_id,#endif uint16_t *resp_standard_id,
      uint8_t *resp_vendor_id_len, void *resp_vendor_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:83,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:94,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 9
    argNames:
    - spdm_context
    - '#if'
    - session_id
    - '#endif'
    - req_standard_id
    - req_vendor_id_len
    - req_vendor_id
    - req_size
    - req_data
    - resp_size
    - resp_data
    argTypes:
    - void*
    - LIBSPDM_PASS_SESSION_ID*
    - uint16_t
    - uint8_t
    - void*
    - uint16_t
    - void*
    - uint16_t*
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 98
    functionName: libspdm_vendor_response_func_test
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - printf
    - assert_int_equal
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_vendor_response_func_test( void *spdm_context,#if
      LIBSPDM_PASS_SESSION_ID const uint32_t *session_id,#endif uint16_t req_standard_id,
      uint8_t req_vendor_id_len, const void *req_vendor_id, uint16_t req_size, const
      void *req_data, uint16_t *resp_size, void *resp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:134,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:141,1
    - Dst: libspdm_register_vendor_callback_func
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:142,1
    - Dst: libspdm_register_vendor_get_id_callback_func
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:139,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:135,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:144,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:148,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:150,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:155,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:158,1
    - Dst: libspdm_get_vendor_defined_response
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:162,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:177,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:170,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 178
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 178
    functionName: libspdm_test_responder_vendor_cmds_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_register_vendor_callback_func
    - libspdm_register_vendor_get_id_callback_func
    - libspdm_get_vendor_defined_response
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_vendor_cmds_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:183,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:193,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: libspdm_responder_vendor_cmds_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/vendor_response.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_vendor_cmds_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:311,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:322,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:316,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:321,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:315,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:331,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:336,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:337,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 342
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 342
    functionName: libspdm_test_responder_respond_if_ready_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_get_hash_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1051
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1051
    functionName: libspdm_test_responder_respond_if_ready_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1082,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1092,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1086,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1087,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1093,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1102,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1108,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1110,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1111,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1113,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1114
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1114
    functionName: libspdm_test_responder_respond_if_ready_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1145,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1155,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1149,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1150,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1156,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1165,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1170,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1171,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1175,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1177
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1177
    functionName: libspdm_test_responder_respond_if_ready_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1210,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1221,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1220,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1214,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1215,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1230,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1235,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1236,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1240,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1241,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1242,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1243,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1244,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1246
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1246
    functionName: libspdm_test_responder_respond_if_ready_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1278,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1283,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1282,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1289,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1288,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1298,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1303,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1306,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1309
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1309
    functionName: libspdm_test_responder_respond_if_ready_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1339,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1349,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1343,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1344,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1350,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1359,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1364,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1365,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1368,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1370
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1370
    functionName: libspdm_test_responder_respond_if_ready_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:274,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: libspdm_secured_message_set_request_finished_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_request_finished_key( void
      *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:542,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:549,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:543,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:558,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:548,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:559,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:564,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:565,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:568,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 570
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 570
    functionName: libspdm_test_responder_respond_if_ready_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_get_random_number
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:632,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:650,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:673,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:637,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:639,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:665,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:670,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:674,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:682,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:684,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:620,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:634,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:641,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:671,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:677,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:676,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:655,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:677,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:635,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:644,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:649,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:656,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:681,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 685
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 685
    functionName: libspdm_test_responder_respond_if_ready_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_copy_mem
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_asym_signature_size
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - free
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_get_opaque_data_version_selection_data_size
    - libspdm_get_response_respond_if_ready
    - libspdm_secured_message_get_session_state
    - libspdm_get_hash_size
    - libspdm_dhe_new
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:757,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:759,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:765,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:766,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:771,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:775,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:780,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:784,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:777,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:791,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:743,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:762,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:778,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:785,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:809,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:806,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:768,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:773,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:779,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:758,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:760,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:778,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:790,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:808,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:800,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:810,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:805,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 811
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 811
    functionName: libspdm_test_responder_respond_if_ready_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_respond_if_ready
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1377,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1378,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1390,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1386,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1382,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1391,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1395,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1396,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1400,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1401,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1402,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1404,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1415,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1417,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1403,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1420
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1420
    functionName: libspdm_responder_respond_if_ready_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_respond_if_ready_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:888,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:917,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:919,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:859,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:880,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:876,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:872,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:893,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:911,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:918,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:920,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:882,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:887,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:894,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:903,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:909,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:912,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:913,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:913,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 921
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 921
    functionName: libspdm_test_responder_respond_if_ready_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_opaque_data_version_selection_data_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:972,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:993,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1015,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1008,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1036,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1038,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1040,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:988,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:989,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:994,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1005,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1007,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1030,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1035,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:999,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1000,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1002,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1008,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1020,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1039,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:992,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:996,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1010,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1014,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1009,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:1021,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1041
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 1041
    functionName: libspdm_test_responder_respond_if_ready_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_respond_if_ready
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:457,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:467,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:468,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:473,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:474,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:483,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:484,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:489,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:490,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:490,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:498,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:492,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:496,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:495,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 499
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 499
    functionName: libspdm_test_responder_respond_if_ready_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - free
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:379,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:387,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:394,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:388,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:393,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:403,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:408,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:409,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:412,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:413,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:417,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:414,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 418
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 418
    functionName: libspdm_test_responder_respond_if_ready_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - free
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1037,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1076,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1069,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1015,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1048,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1060,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1054,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1074,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1032,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1034,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1059,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1059,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1070,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1072,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1077,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1031,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1033,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1025,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1045,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1046,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1051,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1056,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1065,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1058,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1061,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1078
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1078
    functionName: libspdm_test_responder_finish_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1241,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1257,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1259,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1251,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1258,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1260,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1263,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1271,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1272,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1274,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1277,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1284,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1286,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1289,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1288,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1282,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1290
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1290
    functionName: libspdm_test_responder_finish_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1880,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1898,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1899,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1912,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1913,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1917,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1904,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1920,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1921,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1928,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1930,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1887,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1891,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1911,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1926,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1872,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1886,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1888,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1901,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1906,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1908,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1910,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1889,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1911,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1936
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1936
    functionName: libspdm_test_responder_finish_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - assert_memory_equal
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2016,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2018,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2027,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2028,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2030,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2032,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2039,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2062,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2070,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2074,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2019,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2045,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2055,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2063,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2078,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2080,1
    - Dst: libspdm_read_requester_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2003,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2035,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2042,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2064,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2065,1
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1999,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2011,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2017,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2022,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2044,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2056,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2059,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2063,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2075,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 79
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2082
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 2082
    functionName: libspdm_test_responder_finish_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_req_asym_signature_size
    - libspdm_hash_all
    - libspdm_get_managed_buffer_size
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_read_requester_public_key
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_responder_public_key
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:62,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: libspdm_secured_message_set_request_finished_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_request_finished_key( void *spdm_secured_message_context,
      const void *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:866,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:917,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:924,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:944,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:945,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:961,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:864,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:876,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:870,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:882,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:895,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:900,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:926,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:937,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:943,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:960,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:894,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:896,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:912,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:921,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:910,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:914,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:909,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:942,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:950,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:954,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:955,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:854,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:881,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:897,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:927,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:936,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:940,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:943,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:958,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 83
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 962
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 962
    functionName: libspdm_test_responder_finish_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1148,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1153,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1175,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1186,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1188,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1193,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1147,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1149,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1141,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1161,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1162,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1167,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1172,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1174,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1181,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1185,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1150,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1175,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1192,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1131,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1164,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1177,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1176,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1170,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1194
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1194
    functionName: libspdm_test_responder_finish_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1758,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1763,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1793,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1789,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1807,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1821,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1826,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1741,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1757,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1759,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1772,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1773,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1777,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1784,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1794,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1808,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1809,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1743,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1760,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1790,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1793,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1804,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1807,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1819,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1825,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1731,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1747,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1775,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1787,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1780,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1806,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1814,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1818,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1823,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1827,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1828
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1828
    functionName: libspdm_test_responder_finish_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2772,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2830,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2820,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2823,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2848,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2850,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2851,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2770,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2776,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2782,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2801,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2806,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2832,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2843,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2849,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2864,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2865,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2800,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2802,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2815,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2816,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2827,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2818,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2856,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2860,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2866,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2758,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2787,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2788,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2803,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2833,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2842,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2846,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2849,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2867,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 83
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2868
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2868
    functionName: libspdm_test_responder_finish_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case23(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:258,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:263,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:285,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:301,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:302,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:241,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:259,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:257,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:274,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:280,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:284,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:300,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:260,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:285,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:296,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:298,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:304,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:251,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:271,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:272,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:277,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:282,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:291,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:287,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:286,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 305
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 305
    functionName: libspdm_test_responder_finish_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:478,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:496,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:511,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:517,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:533,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:495,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:497,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:522,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:544,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:547,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:488,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:494,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:508,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:509,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:523,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:519,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:524,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:528,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:514,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:532,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:541,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:500,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:522,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:539,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:543,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:546,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 548
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 548
    functionName: libspdm_test_responder_finish_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2593,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2615,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2609,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2636,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2639,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2676,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2682,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2695,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2699,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2605,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2656,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2651,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2663,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2649,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2648,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2683,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2684,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2693,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2603,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2620,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2621,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2634,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2665,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2666,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2675,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2679,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2682,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2697,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2633,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2635,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2653,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2660,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2681,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2689,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2700,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 83
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2701
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2701
    functionName: libspdm_test_responder_finish_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:138,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:163,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:177,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:129,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:149,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:150,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:155,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:164,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:169,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:165,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:158,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:174,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:136,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:141,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:163,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:179,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:119,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:135,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:137,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:152,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:162,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 180
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 180
    functionName: libspdm_test_responder_finish_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: libspdm_test_responder_finish_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3428,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3457,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3458,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3473,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3503,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3512,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3517,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3524,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3532,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3536,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3442,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3490,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3500,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3493,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3522,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3525,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3540,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3541,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3440,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3452,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3446,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3471,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3476,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3502,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3513,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3526,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3527,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3470,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3472,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3485,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3497,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3488,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3486,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3525,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3538,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3539,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3542
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3542
    functionName: libspdm_test_responder_finish_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case27(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3766,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3776,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3796,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3816,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3803,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3818,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3811,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3822,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3817,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3831,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3793,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3792,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3799,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3816,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3828,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3790,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3795,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3805,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3815,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3808,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3813,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3826,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3833,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3834
      start: 3721
    functionDepth: 0
    functionLinenumber: 3721
    functionLinenumberEnd: 3834
    functionName: libspdm_test_responder_finish_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case29(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3281,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3302,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3332,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3342,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3353,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3361,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3370,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3355,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3271,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3317,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3322,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3329,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3315,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3314,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3367,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3369,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3365,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3257,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3275,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3269,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3286,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3287,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3300,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3305,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3331,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3341,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3346,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3356,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3299,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3301,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3326,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3319,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3351,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3368,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 85
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3371
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3371
    functionName: libspdm_test_responder_finish_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case26(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3617,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3623,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3647,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3684,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3695,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3712,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3698,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3703,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3613,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3656,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3659,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3671,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3664,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3657,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3696,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3709,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3711,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3599,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3611,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3628,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3629,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3642,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3644,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3673,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3674,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3683,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3688,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3697,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3641,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3643,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3668,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3661,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3693,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3696,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3707,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 85
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3713
      start: 3549
    functionDepth: 0
    functionLinenumber: 3549
    functionLinenumberEnd: 3713
    functionName: libspdm_test_responder_finish_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case28(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3852,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3860,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3869,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3865,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3884,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3892,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3840,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3842,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3844,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3854,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3866,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3862,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3882,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3890,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3894,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3846,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3856,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3863,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3875,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3871,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3880,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3888,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3849,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3858,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3868,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3873,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3876,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3878,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3886,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3902,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3907
      start: 3836
    functionDepth: 0
    functionLinenumber: 3836
    functionLinenumberEnd: 3907
    functionName: libspdm_responder_finish_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test_setup
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_finish_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3106,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3164,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3157,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3154,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3182,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3185,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3199,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3116,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3104,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3110,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3135,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3140,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3166,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3196,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3198,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3134,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3136,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3150,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3149,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3161,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3152,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3184,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3194,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3092,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3121,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3122,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3137,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3167,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3176,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3180,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3183,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3197,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3200
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3200
    functionName: libspdm_test_responder_finish_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case25(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:377,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:402,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:413,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:415,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:420,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:422,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:368,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:374,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:388,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:389,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:394,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:399,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:404,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:403,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:408,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:412,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:375,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:380,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:402,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:419,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:358,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:376,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:391,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:397,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:401,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 423
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 423
    functionName: libspdm_test_responder_finish_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:623,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:648,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:659,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:661,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:665,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:614,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:634,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:635,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:649,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:640,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:654,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:650,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:658,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:621,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:626,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:648,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:666,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:604,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:622,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:620,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:637,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:645,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:647,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:643,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:663,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 667
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 667
    functionName: libspdm_test_responder_finish_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1400
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1400
    functionName: libspdm_test_responder_finish_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1574,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1623,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1620,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1630,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1648,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1650,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1651,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1653,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1663,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1665,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1586,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1601,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1606,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1632,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1643,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1649,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1658,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1662,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1671,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1600,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1590,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1584,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1602,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1615,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1627,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1618,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1616,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1669,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1670,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1603,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1633,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1642,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1646,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1649,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1667,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1672
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1672
    functionName: libspdm_test_responder_finish_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2472,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2490,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2503,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2504,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2509,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2514,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2519,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2518,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2523,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2527,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2491,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2531,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2482,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2488,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2506,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2512,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2516,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2489,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2494,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2529,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2533,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2534
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2534
    functionName: libspdm_test_responder_finish_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2967,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2969,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2987,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2994,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3015,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3023,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3027,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3033,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2949,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2970,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3000,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3010,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3016,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3031,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3034,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2939,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2990,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2985,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2997,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2983,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2982,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3017,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3018,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3032,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2925,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2943,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2937,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2954,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2955,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2968,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2973,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2999,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3009,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3013,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:3016,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 3035
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 3035
    functionName: libspdm_test_responder_finish_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case24(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:735,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:770,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:787,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:713,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:731,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:746,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:767,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:769,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:794,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:730,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:732,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:770,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:784,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:788,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:789,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:790,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:791,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:729,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:723,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:743,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:744,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:771,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:762,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:776,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:772,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:765,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:780,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:781,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 795
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 795
    functionName: libspdm_test_responder_finish_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1358,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1373,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1388,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1369,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1370,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1384,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1386,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1391,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1374,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1356,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1383,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1379,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1375,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1339,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1355,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1357,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1349,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1392
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1392
    functionName: libspdm_test_responder_finish_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1452,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1485,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1491,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1497,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1503,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1507,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1469,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1496,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1514,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1470,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1468,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1462,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1482,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1483,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1488,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1493,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1495,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1498,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1512,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1471,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1474,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1496,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1500,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1508,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1510,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:1515,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1516
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1516
    functionName: libspdm_test_responder_finish_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2140,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2156,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2162,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2186,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2212,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2223,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2229,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2241,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2243,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2248,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2152,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2182,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2196,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2198,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2203,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2195,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2210,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2230,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2231,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2236,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2150,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2167,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2168,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2181,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2183,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2213,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2222,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2226,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2229,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2240,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2247,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2180,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2200,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2207,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2228,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2245,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2250
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2250
    functionName: libspdm_test_responder_finish_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2349,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2351,1
    - Dst: libspdm_get_req_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2368,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2366,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2370,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2365,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2377,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2398,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2406,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2410,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2413,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2308,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2336,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2352,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2383,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2392,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2399,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2418,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2419,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2321,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2373,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2380,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2400,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2401,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2415,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2411,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2417,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2325,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2318,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2331,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2337,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2350,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2355,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2382,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2393,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2396,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/finish.c:2399,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2420
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2420
    functionName: libspdm_test_responder_finish_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_get_response_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_req_asym_signature_size
    - libspdm_get_managed_buffer_size
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_reset_message_a
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_append_managed_buffer
    - free
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:43,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:56,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:57,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:51,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:60,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:61,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:62,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 64
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 64
    functionName: libspdm_test_responder_chunk_get_rsp_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - libspdm_zero_mem
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case1(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:102,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:119,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:116,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:110,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:115,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:120,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:121,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 123
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 123
    functionName: libspdm_test_responder_chunk_get_rsp_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - libspdm_zero_mem
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case2(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:273,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:281,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:286,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:290,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:291,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:292,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 294
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 294
    functionName: libspdm_test_responder_chunk_get_rsp_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - libspdm_zero_mem
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case5(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:217,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:231,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:225,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:230,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:235,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:236,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 238
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 238
    functionName: libspdm_test_responder_chunk_get_rsp_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - libspdm_zero_mem
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case4(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:460,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:465,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:463,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:475,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:466,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:483,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:488,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:489,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:492,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:493,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:495,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 496
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 496
    functionName: libspdm_test_responder_chunk_get_rsp_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case8(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:619,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:614,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:620,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:663,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:665,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:617,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:631,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:651,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:662,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:660,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:656,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:673,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:628,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:630,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:632,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:643,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:661,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:664,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:668,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:657,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 675
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 675
    functionName: libspdm_test_responder_chunk_get_rsp_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case10(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:750,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:768,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:771,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:777,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:725,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:737,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:758,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:763,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:767,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:720,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:734,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:726,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:736,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:738,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:764,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:772,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:770,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:723,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:769,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 70
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 779
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 779
    functionName: libspdm_test_responder_chunk_get_rsp_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case11(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_sizeof_required_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1040,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1050,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1042,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1041,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1047,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1052,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1053,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1058,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1068,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1076,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1082,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1081,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1088,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1089,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1086,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1090
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1090
    functionName: libspdm_test_responder_chunk_get_rsp_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - libspdm_set_scratch_buffer
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_get_sizeof_required_scratch_buffer
    - malloc
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case14(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1097,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1103,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1099,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1105,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1101,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1107,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1109,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1111,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1113,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1115,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1121,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1117,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1133,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1119,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1131,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1136
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1136
    functionName: libspdm_responder_chunk_get_rsp_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_chunk_get_rsp_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:160,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:168,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:178,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:179,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 181
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 181
    functionName: libspdm_test_responder_chunk_get_rsp_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - libspdm_zero_mem
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case3(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:330,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:344,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:338,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:347,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:343,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:348,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:349,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 351
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 351
    functionName: libspdm_test_responder_chunk_get_rsp_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - libspdm_zero_mem
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case6(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:388,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:393,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:394,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:391,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:403,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:411,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:416,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:417,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:420,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:421,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:423,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 424
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 424
    functionName: libspdm_test_responder_chunk_get_rsp_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case7(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:532,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:537,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:538,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:535,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:548,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:562,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:565,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:566,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:568,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 569
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 569
    functionName: libspdm_test_responder_chunk_get_rsp_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case9(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:824,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:830,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:842,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:854,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:872,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:875,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:868,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:827,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:841,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:871,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:838,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:840,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:874,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:876,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:881,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:829,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:862,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:873,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:867,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 883
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 883
    functionName: libspdm_test_responder_chunk_get_rsp_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case12(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:989,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:987,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:985,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:994,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:935,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:975,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:984,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:986,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:980,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:930,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:936,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:950,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:953,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:967,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:981,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:988,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:947,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:933,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:949,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c:951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 80
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 996
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 996
    functionName: libspdm_test_responder_chunk_get_rsp_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_get_response_chunk_get
    - assert_int_equal
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_rsp_case13(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:789,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:818,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:823,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:814,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:794,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:824,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:828,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:833,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:834,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:835,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 836
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 836
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case8(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1099,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1125,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1134,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1104,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1129,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1135,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1139,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1143,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1147
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1147
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case12(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:640,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:646,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:670,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:675,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:666,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:676,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:679,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:680,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:681,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 683
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 683
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case6(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:713,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:720,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:744,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:749,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:740,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:750,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:753,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:754,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:755,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 759
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 759
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case7(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1022,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1051,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1056,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1047,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1026,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1057,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1061,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1065,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1066,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1067,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1068,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1069
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1069
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case11(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1189,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1196,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1218,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1223,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1214,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1224,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1228,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1232,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1233,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1234,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1237,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1235,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1238
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1238
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case13(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:491,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:497,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:522,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:527,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:517,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:528,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:531,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:532,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 535
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 535
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case4(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:566,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:592,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:572,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:596,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:601,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:602,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:605,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:606,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:607,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 609
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 609
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case5(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1160
    functionName: libspdm_test_responder_chunk_send_ack_reset_send_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_reset_send_state(libspdm_context_t*
      spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1654,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1690,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1663,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1685,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1681,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1691,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1695,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1699,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1700,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1701,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1704,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1705
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1705
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case19(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:412,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:450,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:441,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:445,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:421,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:451,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:454,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:455,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:456,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 458
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 458
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case3(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1577,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1610,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1605,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1601,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1586,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1611,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1615,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1619,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1620,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1621,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1622,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1624,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1625
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1625
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case18(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1878,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1887,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1895,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1904,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1912,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1880,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1889,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1898,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1906,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1914,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1870,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1872,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1874,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1882,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1891,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1900,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1908,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1876,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1884,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1902,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1893,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1910,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1922,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1927
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1927
    functionName: libspdm_responder_chunk_send_ack_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_chunk_send_ack_test_main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:142,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:172,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:187,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:150,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:195,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:200,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:201,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:204,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:205,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:207,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:217,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:221,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:222,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:223,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:209,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:208,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:218,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 224
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 224
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case0
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case0(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:945,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:971,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:950,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:975,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:980,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:981,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:985,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:989,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:990,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:991,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:992,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 993
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 993
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case10(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1500,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1533,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1528,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1509,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1524,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1534,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1538,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1542,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1543,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1544,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1547,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1548
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1548
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case17(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1816,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1849,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1840,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1819,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1844,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1850,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1854,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1858,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1859,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1860,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1863,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1861,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1864
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1864
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case21(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 111
    functionName: libspdm_test_responder_chunk_send_ack_setup_algo_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_setup_algo_state(libspdm_context_t*
      spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:335,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:363,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:372,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:343,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:373,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:376,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:377,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:378,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 380
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 380
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case2(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:866,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:891,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:902,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:871,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:897,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:903,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:907,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:911,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:912,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:913,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:914,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 915
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 915
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case9(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1344,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1379,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1351,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1370,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1374,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1380,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1384,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1388,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1389,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1390,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1391,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1394
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1394
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case15(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1423,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1456,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1451,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1432,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1447,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1457,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1461,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1465,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1466,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1467,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1468,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1470,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1471
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1471
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case16(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1735,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1766,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1762,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1771,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1744,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1772,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1776,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1780,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1781,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1782,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1783,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1785,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1786
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1786
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case20(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:255,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:290,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:286,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:266,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:295,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:296,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:300,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:301,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 303
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 303
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case1(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1267,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1291,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1274,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1295,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1300,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1301,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1305,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1309,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1310,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1311,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1312,1
    - Dst: libspdm_test_responder_chunk_send_ack_reset_send_state
      Src: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c:1314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1315
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1315
    functionName: libspdm_test_responder_chunk_send_ack_rsp_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    - libspdm_test_responder_chunk_send_ack_reset_send_state
    - libspdm_get_response_chunk_send
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_rsp_case14(void** state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:976,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1018,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1010,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1003,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1013,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1019,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1021,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1023,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1025,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1028,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1035,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1042,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1040,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1038,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1032,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1043
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1043
    functionName: libspdm_test_responder_key_exchange_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:474,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:484,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:481,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:489,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:490,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:492,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:494,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:496,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:499,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:503,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:506,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:507,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:520,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:515,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:517,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:513,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:518,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 522
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 522
    functionName: libspdm_test_responder_key_exchange_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:301,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:311,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:316,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:308,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:317,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:319,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:321,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:323,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:326,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:330,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:338,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:336,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:340,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:333,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:334,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 343
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 343
    functionName: libspdm_test_responder_key_exchange_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case3(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1066,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1097,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1104,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1112,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1107,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1113,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1115,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1117,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1119,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1122,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1136,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1126,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1132,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1134,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1137
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1137
    functionName: libspdm_test_responder_key_exchange_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1486,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1480,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1489,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1495,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1497,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1499,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1511,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1515,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1522,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1504,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1516,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1477,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1494,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1501,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1514,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1523,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1521,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1508,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1524
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1524
    functionName: libspdm_test_responder_key_exchange_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1889,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1892,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1898,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1914,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1909,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1915,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1917,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1919,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1921,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1924,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1932,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1933,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1939,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1937,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1928,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1936,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1935,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1940
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1940
    functionName: libspdm_test_responder_key_exchange_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_session_info_init
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:386,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:401,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:393,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:402,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:396,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:404,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:406,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:408,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:411,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:415,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:428,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:423,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:425,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:421,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:426,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:418,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 429
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 429
    functionName: libspdm_test_responder_key_exchange_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:656,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:671,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:679,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:681,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:686,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:676,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:690,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:702,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:693,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:709,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:649,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:677,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:704,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:706,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:705,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:703,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:699,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:683,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:695,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:694,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 710
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 710
    functionName: libspdm_test_responder_key_exchange_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case7(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1162,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1214,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1226,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1225,1
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1192,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1202,1
    - Dst: libspdm_read_requester_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1195,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1199,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1210,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1212,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1232,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1207,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1221,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1224,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1208,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1230,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1217,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1233,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1235
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1235
    functionName: libspdm_test_responder_key_exchange_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_free_session_id
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_secured_message_get_session_state
    - libspdm_read_requester_public_key
    - libspdm_get_dhe_pub_key_size
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_read_responder_public_key
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2049,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2058,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2074,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2066,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2087,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2089,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2046,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2056,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2072,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2064,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2040,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2042,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2044,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2054,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2062,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2078,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2070,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2052,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2060,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2068,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2076,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2092
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2092
    functionName: libspdm_responder_key_exchange_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_key_exchange_test_main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1298,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1327,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1333,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1328,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1259,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1299,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1308,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1320,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1317,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1305,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1326,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1337,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1293,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1290,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1284,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1301,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1303,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1321,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1322,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1338
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1338
    functionName: libspdm_test_responder_key_exchange_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_asym_signature_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_get_opaque_data_version_selection_data_size
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case15(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1397,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1427,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1423,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1435,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1403,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1419,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1431,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1429,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1418,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1392,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1383,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1389,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1399,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1401,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1406,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1424,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1361,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1396,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1413,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1436
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1436
    functionName: libspdm_test_responder_key_exchange_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - assert_memory_equal
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1570,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1587,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1582,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1577,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1588,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1590,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1592,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1594,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1597,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1601,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1607,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1604,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1605,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1612,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1609,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1611,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1613
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1613
    functionName: libspdm_test_responder_key_exchange_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2002,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2011,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2032,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1985,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2001,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2008,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2023,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2016,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2030,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1995,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1986,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1992,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2004,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2006,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2020,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2024,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2026,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2025,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2031,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:2029,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2034
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 2034
    functionName: libspdm_test_responder_key_exchange_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - assert_true
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_key_exchange_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:129,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:140,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:145,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:135,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:146,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:148,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:150,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:152,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:155,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:159,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:163,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:168,1
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:162,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:169,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:164,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 175
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 175
    functionName: libspdm_test_responder_key_exchange_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1660,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1678,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1672,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1677,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1667,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1680,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1682,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1732,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1735,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1736,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1742,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1738,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1740,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1743,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1744
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1744
    functionName: libspdm_test_responder_key_exchange_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:217,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:232,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:227,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:233,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:224,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:235,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:237,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:239,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:242,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:246,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:252,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:254,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:250,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:257,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 258
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 258
    functionName: libspdm_test_responder_key_exchange_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1804,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1801,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1795,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1811,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1827,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1817,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1841,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1838,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1813,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1815,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1820,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1833,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1834,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1792,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1810,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1824,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1840,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:1830,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1842
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1842
    functionName: libspdm_test_responder_key_exchange_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:566,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:582,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:576,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:573,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:581,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:584,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:586,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:588,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:591,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:595,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:606,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:601,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:603,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:605,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:598,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c:599,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 607
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 607
    functionName: libspdm_test_responder_key_exchange_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - assert_int_equal
    - libspdm_dhe_free
    - free
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:23,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 6
    argNames:
    - spdm_context
    - subcode
    - param2
    - request_attributes
    - endpoint_info_size
    - endpoint_info
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - void*
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: get_endpoint_info_callback
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t get_endpoint_info_callback (\r void *spdm_context,\r
      uint8_t subcode,\r uint8_t param2,\r uint8_t request_attributes,\r uint32_t
      endpoint_info_size,\r const void *endpoint_info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:332,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:360,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:352,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:356,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 363
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 363
    functionName: libspdm_test_responder_encap_get_endpoint_info_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_generate_device_endpoint_info
    - libspdm_process_encap_response_endpoint_info
    - assert_int_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_endpoint_info_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:242,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:267,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:273,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:252,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:248,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:289,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:291,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:296,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 300
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 300
    functionName: libspdm_test_responder_encap_get_endpoint_info_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_requester_public_key
    - libspdm_process_encap_response_endpoint_info
    - libspdm_get_random_number
    - assert_null
    - libspdm_get_asym_signature_size
    - libspdm_generate_device_endpoint_info
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_endpoint_info_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:516,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:522,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:520,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:518,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:530,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 535
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 535
    functionName: libspdm_responder_encap_get_endpoint_info_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_endpoint_info.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_encap_get_endpoint_info_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:242,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:259,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:252,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:253,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:261,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:263,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:264,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:266,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 268
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 268
    functionName: libspdm_test_responder_certificate_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:140,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:151,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:154,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:152,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:148,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:156,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:157,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:158,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 161
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 161
    functionName: libspdm_test_responder_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1351,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1366,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1367,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1362,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1369,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1370,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1371,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1374
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1374
    functionName: libspdm_test_responder_certificate_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: libspdm_test_responder_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1319,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1313,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1317,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1316,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1321,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1322,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1323,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1325
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1325
    functionName: libspdm_test_responder_certificate_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:356,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:374,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:370,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:376,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:380,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:381,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:385,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:387,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:388,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:393,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 394
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 394
    functionName: libspdm_test_responder_certificate_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - TEST_LIBSPDM_DEBUG_PRINT
    - free
    - libspdm_get_response_certificate
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case7(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:437,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:456,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:452,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:462,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:467,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:470,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:474,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:477,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:480,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:481,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:489,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 490
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 490
    functionName: libspdm_test_responder_certificate_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - TEST_LIBSPDM_DEBUG_PRINT
    - free
    - libspdm_get_response_certificate
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case8(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:813,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:838,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:822,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:834,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:803,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:816,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:841,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:844,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:823,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:848,1
    - Dst: libspdm_read_responder_public_certificate_chain_by_size
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:784,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:793,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:795,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:792,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:828,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:797,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:805,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:809,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:831,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:842,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:850,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 852
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 852
    functionName: libspdm_test_responder_certificate_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_by_size
    - TEST_LIBSPDM_DEBUG_PRINT
    - free
    - libspdm_get_response_certificate
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case11(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:884,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:905,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:901,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:909,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:897,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:915,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:918,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:921,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:922,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:924,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:927,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:953,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:932,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:944,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 954
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 954
    functionName: libspdm_test_responder_certificate_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - TEST_LIBSPDM_DEBUG_PRINT
    - free
    - libspdm_get_response_certificate
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1138,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1141,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1156,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1162,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1158,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1166,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1167,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1168,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1169,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1170,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1174
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1174
    functionName: libspdm_test_responder_certificate_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - free
    - libspdm_get_response_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1392,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1400,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1416,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1408,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1389,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1398,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1406,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1415,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1424,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1426,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1386,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1396,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1404,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1413,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1411,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1380,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1382,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1384,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1394,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1410,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1429
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1429
    functionName: libspdm_responder_certificate_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_certificate_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:298,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:311,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:313,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:310,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:315,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:317,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 319
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 319
    functionName: libspdm_test_responder_certificate_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case6(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain_by_size
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:660,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:677,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:685,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:689,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:712,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:723,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:671,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:719,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:703,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:715,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:683,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:722,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:697,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:704,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:725,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:729,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:675,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:673,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:672,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:692,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:709,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:735,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 737
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 737
    functionName: libspdm_test_responder_certificate_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_by_size
    - TEST_LIBSPDM_DEBUG_PRINT
    - free
    - libspdm_get_response_certificate
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1060,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1081,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1065,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1078,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1061,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1082,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1085,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1087,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1088,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1090,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1093,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1096,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1097
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1097
    functionName: libspdm_test_responder_certificate_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_certificate
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:190,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:202,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:201,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:204,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:206,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:208,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:209,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 212
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 212
    functionName: libspdm_test_responder_certificate_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1250,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1258,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1261,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1262,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1264,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1266,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1268,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1270
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1270
    functionName: libspdm_test_responder_certificate_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:71,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:84,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:91,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:87,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:88,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:94,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:96,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:99,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: libspdm_test_responder_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case1(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:542,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:565,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:555,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:567,1
    - Dst: TEST_LIBSPDM_DEBUG_PRINT
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:560,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:572,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:578,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:581,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:588,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:594,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:620,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:610,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:607,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:602,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:612,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:614,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 621
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 621
    functionName: libspdm_test_responder_certificate_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - TEST_LIBSPDM_DEBUG_PRINT
    - free
    - libspdm_get_response_certificate
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:985,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:994,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:999,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1002,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1003,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1006,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1007,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1008,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1009,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1013,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1015,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1023,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1018,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1024
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1024
    functionName: libspdm_test_responder_certificate_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_get_response_certificate
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1200,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1213,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1214,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1210,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1216,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1217,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1218,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1219,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/certificate.c:1221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1222
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1222
    functionName: libspdm_test_responder_certificate_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:64,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:74,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:88,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:83,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:82,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:92,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:95,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 98
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 98
    functionName: libspdm_test_responder_end_session_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:212,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:236,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:230,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:222,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:240,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:241,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:243,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:245,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:246,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 250
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 250
    functionName: libspdm_test_responder_end_session_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:441,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:465,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:459,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:451,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:460,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:469,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:470,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:472,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:474,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:476,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 478
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 478
    functionName: libspdm_test_responder_end_session_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:516,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:534,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:552,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:535,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:526,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:557,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:559,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:562,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:563,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:569,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:565,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:566,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:564,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 570
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 570
    functionName: libspdm_test_responder_end_session_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:289,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:308,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:313,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:307,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:317,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:318,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:320,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:322,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:324,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:327,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 328
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 328
    functionName: libspdm_test_responder_end_session_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:136,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:146,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:160,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:155,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:154,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:164,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:165,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:167,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:169,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:171,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 173
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 173
    functionName: libspdm_test_responder_end_session_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:601,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:618,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:623,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:609,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:617,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:627,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:628,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:630,1
    - Dst: assert_int_not_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:631,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 634
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 634
    functionName: libspdm_test_responder_end_session_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - assert_int_not_equal
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:640,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:644,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:646,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:649,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:642,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:652,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:654,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:656,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:664,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 669
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 669
    functionName: libspdm_responder_end_session_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_end_session_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:363,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:379,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:380,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:385,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:371,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:389,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:390,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:395,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:396,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:397,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:400,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:398,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/end_session.c:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 401
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 401
    functionName: libspdm_test_responder_end_session_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:190,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:205,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:196,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:194,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:195,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:209,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:214,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:215,1
    - Dst: libspdm_process_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:233,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:236,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 238
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 238
    functionName: libspdm_test_responder_encap_challenge_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_process_encap_response_challenge_auth
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_challenge_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:331,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:337,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:341,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:338,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:339,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:343,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:352,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:353,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:354,1
    - Dst: libspdm_process_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:370,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:374,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 375
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 375
    functionName: libspdm_test_responder_encap_challenge_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_read_requester_public_key
    - free
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_b
    - libspdm_get_asym_signature_size
    - libspdm_process_encap_response_challenge_auth
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_challenge_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:257,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:262,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:272,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:261,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:263,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:276,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:281,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:282,1
    - Dst: libspdm_process_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:300,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:303,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 305
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 305
    functionName: libspdm_test_responder_encap_challenge_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_process_encap_response_challenge_auth
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_challenge_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:122,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:128,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:127,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:137,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:126,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:141,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:146,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:147,1
    - Dst: libspdm_process_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:165,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:168,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 170
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 170
    functionName: libspdm_test_responder_encap_challenge_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_reset_message_c
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_process_encap_response_challenge_auth
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_challenge_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:482,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:486,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:488,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:490,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:484,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:492,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:500,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 505
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 505
    functionName: libspdm_responder_encap_challenge_auth_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_encap_challenge_auth_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1060,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1088,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1066,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1079,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1075,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1095,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1100,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1103,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1105,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1107,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1111,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1114
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1114
    functionName: libspdm_test_responder_key_update_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1585,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1600,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1605,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1590,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1606,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1608,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1612
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1612
    functionName: libspdm_test_responder_key_update_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_get_response_key_update
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1697,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1722,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1718,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1703,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1709,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1727,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1728,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1730,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1732,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1734,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1739,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1742
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1742
    functionName: libspdm_test_responder_key_update_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_zero_mem
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:973,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:988,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:979,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:992,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1001,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1008,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1013,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1014,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1016,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1018,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1022,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1025,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1020,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1028
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1028
    functionName: libspdm_test_responder_key_update_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1416,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1444,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1431,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1422,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1435,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1451,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1456,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1457,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1459,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1463
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1463
    functionName: libspdm_test_responder_key_update_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1493,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1516,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1499,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1512,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1508,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1523,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1532,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1537,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1544,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1549,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1550,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1554,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1556
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1556
    functionName: libspdm_test_responder_key_update_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1641,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1662,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1646,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1656,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1661,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1664,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1668
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1668
    functionName: libspdm_test_responder_key_update_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_get_response_key_update
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:468,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:490,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:491,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:477,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:485,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:497,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:499,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:501,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:502,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:504,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:508,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 511
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 511
    functionName: libspdm_test_responder_key_update_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1351,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1357,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1367,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1372,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1373,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1375,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1377,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1379,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1380,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1386
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1386
    functionName: libspdm_test_responder_key_update_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1848,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1861,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1865,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1853,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1870,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1871,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1873,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1877
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1877
    functionName: libspdm_test_responder_key_update_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_zero_mem
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case23(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1771,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1777,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1788,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1796,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1783,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1799,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1804,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1805,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1807,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1809,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1816,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1811,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1819
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1819
    functionName: libspdm_test_responder_key_update_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_zero_mem
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:544,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:562,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:567,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:568,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:554,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:570,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:572,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:574,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:575,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 581
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 581
    functionName: libspdm_test_responder_key_update_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1978,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2001,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1990,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1995,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1984,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2004,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2009,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2010,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2012,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2014,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2016,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2018,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2021,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2024
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 2024
    functionName: libspdm_test_responder_key_update_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_zero_mem
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:605,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:625,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:643,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:638,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:631,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:644,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:646,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:648,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:650,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:653,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:655,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:656,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:657,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:662,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:654,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 665
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 665
    functionName: libspdm_test_responder_key_update_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2174,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2182,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2190,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2198,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2206,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2214,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2162,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2166,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2164,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2176,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2200,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2192,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2184,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2208,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2216,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2168,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2178,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2186,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2194,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2202,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2210,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2171,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2180,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2196,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2188,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2204,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2212,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2224,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2229
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2229
    functionName: libspdm_responder_key_update_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_key_update_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:197,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:221,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:209,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:203,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:216,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:222,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:224,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:228,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:230,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 236
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 236
    functionName: libspdm_test_responder_key_update_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:330,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:352,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:353,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:347,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:355,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:357,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:358,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:359,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:361,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 367
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 367
    functionName: libspdm_test_responder_key_update_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:766,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:790,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:773,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:785,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:777,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:791,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:793,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:795,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:797,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:798,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 804
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 804
    functionName: libspdm_test_responder_key_update_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_secured_message_set_session_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:909,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:915,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:928,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:929,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:931,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:933,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:935,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:936,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:939,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 942
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 942
    functionName: libspdm_test_responder_key_update_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1906,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1929,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1925,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1918,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1912,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1934,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1935,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1937,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1939,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1941,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1946,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1949
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1949
    functionName: libspdm_test_responder_key_update_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_zero_mem
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2123,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2142,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2143,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2137,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2129,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2147,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2149,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2150,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2156
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2156
    functionName: libspdm_test_responder_key_update_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case27(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:107,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 111
    functionName: libspdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_state( libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:267,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:286,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:273,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:281,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:289,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:291,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:293,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:294,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 300
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 300
    functionName: libspdm_test_responder_key_update_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:160,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - spdm_version
    - hash_size
    - in_secret
    - out_secret
    - out_secret_size
    argTypes:
    - spdm_version_number_t
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: libspdm_compute_secret_update
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_expand
    - libspdm_bin_concat
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_compute_secret_update(spdm_version_number_t spdm_version,
      size_t hash_size, const uint8_t *in_secret, uint8_t *out_secret, size_t out_secret_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:397,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:420,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:406,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:414,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:419,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:422,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:424,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:426,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:427,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:429,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 435
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 435
    functionName: libspdm_test_responder_key_update_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:696,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:721,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:708,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:716,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:722,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:724,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:726,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:728,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:729,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 735
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 735
    functionName: libspdm_test_responder_key_update_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:835,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:847,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:852,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:858,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:841,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:863,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:864,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:866,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:868,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:870,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:872,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:875,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 878
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 878
    functionName: libspdm_test_responder_key_update_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1249,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1268,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1255,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1264,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1272,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1279,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1288,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1293,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1309,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1311,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1312,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1305,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1315,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1318
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1318
    functionName: libspdm_test_responder_key_update_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2054,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2066,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2071,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2060,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2077,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2081,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2086,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2087,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2089,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:2091,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2093
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2093
    functionName: libspdm_test_responder_key_update_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_zero_mem
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case26(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:118,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:130,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:126,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:120,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:123,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:133,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:138,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - secured_message_context
    - m_rsp_secret_buffer
    - rsp_secret_fill
    - m_req_secret_buffer
    - req_secret_fill
    argTypes:
    - libspdm_secured_message_context_t*
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 149
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 149
    functionName: libspdm_set_standard_key_update_test_secrets
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_secrets( libspdm_secured_message_context_t
      *secured_message_context, uint8_t *m_rsp_secret_buffer, uint8_t rsp_secret_fill,
      uint8_t *m_req_secret_buffer, uint8_t req_secret_fill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1146,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1169,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1165,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1161,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1152,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1176,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1185,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1190,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1196,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1201,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1204,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1208,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1213,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1210,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1206,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/key_update.c:1202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1216
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1216
    functionName: libspdm_test_responder_key_update_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - assert_int_equal
    - libspdm_get_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - spdm_context
    - subcode
    - param2
    - request_attributes
    - endpoint_info_size
    - endpoint_info
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - void*
    constantsTouched: []
    func_position:
      end: 442
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 442
    functionName: get_endpoint_info_callback_encap_response
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t get_endpoint_info_callback_encap_response ( void
      *spdm_context, uint8_t subcode, uint8_t param2, uint8_t request_attributes,
      uint32_t endpoint_info_size, const void *endpoint_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:664,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:672,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:675,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:683,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:701,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:707,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:712,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:716,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:717,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 718
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 718
    functionName: libspdm_test_get_response_encapsulated_response_ack_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case2(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:825,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:836,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:833,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:828,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:834,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:838,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 841
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 841
    functionName: libspdm_test_get_response_encapsulated_response_ack_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_encapsulated_response_ack
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case4(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:477,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:500,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:499,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:490,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:494,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:512,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:513,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:516,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:517,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:520,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:526,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:537,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:528,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:535,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 539
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 539
    functionName: libspdm_test_get_response_encapsulated_request_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_encap_e
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case8(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:754,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:771,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:782,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:770,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:763,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:800,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:804,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:805,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 806
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 806
    functionName: libspdm_test_get_response_encapsulated_response_ack_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case3(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:862,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:870,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:868,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:872,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:867,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 875
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 875
    functionName: libspdm_test_get_response_encapsulated_response_ack_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_encapsulated_response_ack
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case5(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1157,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1163,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1192,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1182,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1193,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1195,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1197,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1199,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1200,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1204
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1204
    functionName: libspdm_test_get_response_encapsulated_response_ack_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_get_response_encapsulated_response_ack
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case9(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:279,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:297,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:290,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:296,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:301,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:303,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:305,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 307
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 307
    functionName: libspdm_test_get_response_encapsulated_request_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:230,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:241,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:239,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:238,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:233,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:243,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 246
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 246
    functionName: libspdm_test_get_response_encapsulated_request_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:346,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:354,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:362,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:366,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:372,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:373,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:377,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:379,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:381,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 383
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 383
    functionName: libspdm_test_get_response_encapsulated_request_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_reset_message_b
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case6(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:898,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:916,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:908,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:914,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:913,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:918,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 921
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 921
    functionName: libspdm_test_get_response_encapsulated_response_ack_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_encapsulated_response_ack
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case6(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:185,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:194,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:195,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:197,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:199,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 202
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 202
    functionName: libspdm_test_get_response_encapsulated_request_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:413,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:423,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:425,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:416,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:422,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:426,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 428
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 428
    functionName: libspdm_test_get_response_encapsulated_request_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case7(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:960,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:971,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:979,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:997,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:968,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1003,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1008,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1012,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1013,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1015,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1020,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1017,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1021
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 1021
    functionName: libspdm_test_get_response_encapsulated_response_ack_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case7(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:71,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:88,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:79,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:89,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:82,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:92,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:94,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:96,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 98
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 98
    functionName: libspdm_test_get_response_encapsulated_request_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:575,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:596,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:586,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:583,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:590,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:605,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:609,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:613,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:619,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:623,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 625
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 625
    functionName: libspdm_test_get_response_encapsulated_response_ack_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - free
    - libspdm_get_hash_size
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case1(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1057,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1078,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1068,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1072,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1065,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1087,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1091,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1095,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1105,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1115,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1117,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1106,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1108,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1110,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1112,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1118
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1118
    functionName: libspdm_test_get_response_encapsulated_response_ack_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - free
    - libspdm_get_hash_size
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case8(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:128,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:140,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:136,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:147,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:146,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:151,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:153,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:155,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 157
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 157
    functionName: libspdm_test_get_response_encapsulated_request_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_encapsulated_request
    - assert_int_equal
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1243,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1211,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1217,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1234,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1241,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1248,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1215,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1221,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1213,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1229,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1236,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1261,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1263,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1250,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1253,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1239,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1224,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1226,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_response.c:1245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1266
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1266
    functionName: libspdm_responder_encapsulated_response_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_encapsulated_response_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:132,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:146,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 147
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 147
    functionName: test_spdm_responder_encap_get_digests_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_process_encap_response_digest
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_digests_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:223,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:234,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 235
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 235
    functionName: test_spdm_responder_encap_get_digests_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_process_encap_response_digest
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_digests_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:270,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:273,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:285,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:279,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:283,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:304,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:305,1
    - Dst: libspdm_reset_message_encap_d
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:311,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:316,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:318,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:320,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:321,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:334,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:335,1
    - Dst: libspdm_reset_message_encap_d
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:326,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:332,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 68
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 336
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 336
    functionName: test_spdm_responder_encap_get_digests_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_reset_message_encap_d
    - libspdm_session_info_init
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_process_encap_response_digest
    - libspdm_reset_message_b
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_digests_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:479,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:483,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:485,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:487,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:481,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:489,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:491,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:499,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 504
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 504
    functionName: spdm_responder_encap_get_digests_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int spdm_responder_encap_get_digests_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:40,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:55,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:43,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:60,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:49,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:64,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 67
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 67
    functionName: test_spdm_responder_encap_get_digests_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_process_encap_response_digest
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_digests_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:93,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:96,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:104,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 108
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 108
    functionName: test_spdm_responder_encap_get_digests_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_process_encap_response_digest
    - assert_int_equal
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_digests_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:178,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:196,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:185,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 197
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 197
    functionName: test_spdm_responder_encap_get_digests_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_get_hash_size
    - libspdm_process_encap_response_digest
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_digests_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:374,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:382,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:389,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:377,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:392,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:402,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:445,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:446,1
    - Dst: libspdm_reset_message_encap_d
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:451,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:456,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:459,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:466,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:469,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:463,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c:458,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 90
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 473
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 473
    functionName: test_spdm_responder_encap_get_digests_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_reset_message_encap_d
    - libspdm_session_info_init
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_process_encap_response_digest
    - libspdm_reset_message_b
    - libspdm_secured_message_set_session_state
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_digests_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:152,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:168,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:162,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:177,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:173,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:179,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:191,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:192,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:200,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:203,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 204
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 204
    functionName: libspdm_test_responder_psk_exchange_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:324,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:334,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:349,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:345,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:340,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:351,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:355,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:358,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:359,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:363,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:365,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:364,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 368
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 368
    functionName: libspdm_test_responder_psk_exchange_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:664,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:685,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:680,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:674,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:689,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:691,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:709,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:712,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:713,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:714,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:718,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:722,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:721,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:724,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:728,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:723,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 729
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 729
    functionName: libspdm_test_responder_psk_exchange_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case7(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1181,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1206,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1222,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1227,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1216,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1231,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1233,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1241,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1244,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1247,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1256,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1257
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1257
    functionName: libspdm_test_responder_psk_exchange_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case12(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1373,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1406,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1416,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1396,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1411,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1418,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1426,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1429,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1430,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1431,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1435,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1437,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1439,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1443
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1443
    functionName: libspdm_test_responder_psk_exchange_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case14(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1558,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1581,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1591,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1609,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1600,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1612,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1613,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1618,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1620,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1622,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1626
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1626
    functionName: libspdm_test_responder_psk_exchange_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_random_number
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:407,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:417,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:423,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:428,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:432,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:434,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:438,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:441,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:442,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:444,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:449,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:448,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 452
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 452
    functionName: libspdm_test_responder_psk_exchange_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:242,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:267,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:263,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:252,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:258,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:269,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:273,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:276,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:277,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:279,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:283,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:281,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 285
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 285
    functionName: libspdm_test_responder_psk_exchange_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case2(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:749,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:776,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:782,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:787,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:768,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:791,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:793,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:802,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:805,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:806,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:811,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:810,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:816,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:818,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:814,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:806,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:821,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 822
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 822
    functionName: libspdm_test_responder_psk_exchange_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - assert_memory_equal
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:856,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:867,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:877,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:859,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:873,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:881,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:883,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:891,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:894,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:895,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:899,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:901,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:902,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:903,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:905,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:896,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:907,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 908
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 908
    functionName: libspdm_test_responder_psk_exchange_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case9(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1278,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1322,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1306,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1327,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1316,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1331,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1333,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1341,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1344,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1347,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1351,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1352
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1352
    functionName: libspdm_test_responder_psk_exchange_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case13(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1464,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1497,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1507,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1487,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1511,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1520,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1523,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1524,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1525,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1529,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1531,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1533,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1536,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1537
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1537
    functionName: libspdm_test_responder_psk_exchange_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_free_session_id
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1666,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1690,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1669,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1685,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1679,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1694,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1696,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1704,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1707,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1708,1
    - Dst: libspdm_secured_message_get_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1709,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1723,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1718,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1720,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1716,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1714,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1712,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1724
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1724
    functionName: libspdm_test_responder_psk_exchange_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - libspdm_session_info_init
    - libspdm_secured_message_get_session_state
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1736,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1746,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1754,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1758,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1730,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1734,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1732,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1744,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1764,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1752,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1756,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1742,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1750,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1762,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1739,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1748,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1760,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1772,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:1774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1777
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1777
    functionName: libspdm_responder_psk_exchange_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_psk_exchange_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:583,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:608,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:593,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:599,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:604,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:610,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:614,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:617,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:618,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:620,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:624,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 626
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 626
    functionName: libspdm_test_responder_psk_exchange_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:493,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:518,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:514,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:503,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:509,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:520,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:524,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:527,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:528,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:534,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:536,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:538,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:539,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:541,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c:542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 543
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 543
    functionName: libspdm_test_responder_psk_exchange_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:246,1
    - Dst: libspdm_acquire_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:256,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:250,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:255,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:251,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:260,1
    - Dst: libspdm_build_response
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:265,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:267,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:273,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:274,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:275,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:280,1
    - Dst: libspdm_release_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:281,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:279,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 282
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 282
    functionName: libspdm_test_responder_receive_send_rsp_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_zero_mem
    - libspdm_release_sender_buffer
    - libspdm_build_response
    - libspdm_acquire_sender_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_receive_send_rsp_case2(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 7
    argNames:
    - spdm_context
    - session_id
    - is_app_message
    - request_size
    - request
    - response_size
    - response
    argTypes:
    - void*
    - uint32_t*
    - bool
    - size_t
    - void*
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: my_test_get_response_func
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t my_test_get_response_func( void *spdm_context, const
      uint32_t *session_id, bool is_app_message, size_t request_size, const void *request,
      size_t *response_size, void *response) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:327,1
    - Dst: libspdm_acquire_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:337,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:331,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:336,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:332,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:341,1
    - Dst: libspdm_register_vendor_get_id_callback_func
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:344,1
    - Dst: libspdm_register_vendor_callback_func
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:345,1
    - Dst: libspdm_build_response
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:347,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:349,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:358,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:357,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:356,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:355,1
    - Dst: libspdm_release_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:363,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:362,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 364
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 364
    functionName: libspdm_test_responder_receive_send_rsp_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_zero_mem
    - libspdm_register_vendor_get_id_callback_func
    - libspdm_register_vendor_callback_func
    - libspdm_release_sender_buffer
    - libspdm_build_response
    - libspdm_acquire_sender_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_receive_send_rsp_case3(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - spdm_context
    - '#if'
    - session_id
    - '#endif'
    - resp_standard_id
    - resp_vendor_id_len
    - resp_vendor_id
    argTypes:
    - void*
    - LIBSPDM_PASS_SESSION_ID*
    - uint16_t*
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: my_test_get_vendor_id_func
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t my_test_get_vendor_id_func( void *spdm_context,#if
      LIBSPDM_PASS_SESSION_ID const uint32_t *session_id,#endif uint16_t *resp_standard_id,
      uint8_t *resp_vendor_id_len, void *resp_vendor_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 9
    argNames:
    - spdm_context
    - '#if'
    - session_id
    - '#endif'
    - req_standard_id
    - req_vendor_id_len
    - req_vendor_id
    - req_size
    - req_data
    - resp_size
    - resp_data
    argTypes:
    - void*
    - LIBSPDM_PASS_SESSION_ID*
    - uint16_t
    - uint8_t
    - void*
    - uint16_t
    - void*
    - uint16_t*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: my_test_get_response_func2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t my_test_get_response_func2( void *spdm_context,#if
      LIBSPDM_PASS_SESSION_ID const uint32_t *session_id,#endif uint16_t req_standard_id,
      uint8_t req_vendor_id_len, const void *req_vendor_id, uint16_t req_size, const
      void *req_data, uint16_t *resp_size, void *resp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:503,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:512,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:505,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:521,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:509,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 526
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 526
    functionName: libspdm_responder_receive_send_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test_setup
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_receive_send_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:140,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:141,1
    - Dst: libspdm_acquire_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:169,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:184,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:194,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:168,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:183,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:172,1
    - Dst: libspdm_build_response
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:189,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:190,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:135,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:154,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:164,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:186,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:193,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:108,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:117,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:130,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:163,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:185,1
    - Dst: libspdm_release_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:191,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 201
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 201
    functionName: libspdm_test_responder_receive_send_rsp_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_asym_free
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_release_sender_buffer
    - libspdm_build_response
    - libspdm_acquire_sender_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_receive_send_rsp_case1(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:432,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:460,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:483,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:489,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:405,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:427,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:414,1
    - Dst: libspdm_acquire_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:466,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:481,1
    - Dst: libspdm_release_sender_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:487,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:493,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:437,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:438,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:465,1
    - Dst: libspdm_build_response
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:471,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:474,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:480,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:469,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:490,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:451,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:461,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:484,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:485,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/receive_send.c:486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 497
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 497
    functionName: libspdm_test_responder_receive_send_rsp_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/receive_send.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_asym_free
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_release_sender_buffer
    - libspdm_build_response
    - libspdm_acquire_sender_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_receive_send_rsp_case4(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:52,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 56
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:77,1
    - Dst: libspdm_get_response_supported_event_types
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:84,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:91,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:90,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:89,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:92,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:94,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:98,1
    - Dst: libspdm_dump_data
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:101,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 103
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 103
    functionName: libspdm_test_responder_supported_event_types_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - set_standard_state
    - LIBSPDM_DEBUG
    - libspdm_dump_data
    - libspdm_get_response_supported_event_types
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_supported_event_types_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:108,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:116,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: libspdm_responder_supported_event_types_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/supported_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_supported_event_types_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:63,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:67,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:93,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:144,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:104,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:152,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:88,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:90,1
    - Dst: libspdm_read_responder_public_certificate_chain_per_slot
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:99,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:132,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:128,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:126,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:151,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:83,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:75,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:87,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:94,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:125,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:113,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:136,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:121,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 153
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 153
    functionName: libspdm_test_responder_set_certificate_rsp_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_read_responder_public_certificate_chain_per_slot
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:429,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:446,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:434,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:438,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:430,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:454,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:459,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:461,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:464,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 466
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 466
    functionName: libspdm_test_responder_set_certificate_rsp_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:190,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:195,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:211,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:203,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:215,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:216,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:218,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:220,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:222,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:224,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 226
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 226
    functionName: libspdm_test_responder_set_certificate_rsp_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:506,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:518,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:526,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:510,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:530,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:531,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:535,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:537,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:539,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 541
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 541
    functionName: libspdm_test_responder_set_certificate_rsp_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:660,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:680,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:684,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:664,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:672,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:685,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:687,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:690,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:691,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 692
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 692
    functionName: libspdm_test_responder_set_certificate_rsp_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:932,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:936,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:958,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:946,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:954,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:959,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:961,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:964,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:965,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 966
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 966
    functionName: libspdm_test_responder_set_certificate_rsp_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1076,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1099,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1103,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1080,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1088,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1104,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1106,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1108,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1112,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1115
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1115
    functionName: libspdm_test_responder_set_certificate_rsp_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1121,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1127,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1123,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1129,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1125,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1131,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1133,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1135,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1137,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1139,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1142,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1151,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1153,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1143,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1156
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1156
    functionName: libspdm_responder_set_certificate_rsp_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_set_certificate_rsp_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:343,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:363,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:347,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:367,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:355,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:368,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:370,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:372,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:374,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:375,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:379,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 380
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 380
    functionName: libspdm_test_responder_set_certificate_rsp_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:265,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:287,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:278,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:270,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:291,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:292,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:294,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:296,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:297,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:298,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:301,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 303
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 303
    functionName: libspdm_test_responder_set_certificate_rsp_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain_alias_cert_till_dev_cert_ca
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:585,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:605,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:609,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:589,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:597,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:610,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:612,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:615,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 617
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 617
    functionName: libspdm_test_responder_set_certificate_rsp_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_responder_public_certificate_chain_alias_cert_till_dev_cert_ca
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:735,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:755,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:759,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:739,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:747,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:760,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:762,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:764,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:766,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:768,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 770
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 770
    functionName: libspdm_test_responder_set_certificate_rsp_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case9(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:830,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:850,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:862,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:874,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:867,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:879,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:883,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:849,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:845,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:854,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:863,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:875,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:888,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:829,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:852,1
    - Dst: ftell
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:868,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:869,1
    - Dst: fstat
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:878,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:871,1
    - Dst: close
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:885,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:834,1
    - Dst: fopen
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:861,1
    - Dst: open
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:873,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 889
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 889
    functionName: libspdm_test_responder_set_certificate_rsp_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - open
    - fstat
    - assert_int_equal
    - close
    - libspdm_session_info_init
    - assert_false
    - free
    - ftell
    - malloc
    - libspdm_get_response_set_certificate
    - printf
    - fopen
    - libspdm_secured_message_set_session_state
    - fseek
    - fclose
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1004,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1018,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1026,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1008,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1031,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1032,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1034,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1035,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1036,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1038,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c:1039,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1040
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1040
    functionName: libspdm_test_responder_set_certificate_rsp_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - free
    - malloc
    - libspdm_get_response_set_certificate
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_rsp_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:62,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:83,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:84,1
    - Dst: libspdm_process_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 85
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 85
    functionName: libspdm_test_responder_encap_key_update_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_process_encap_response_key_update
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_key_update_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:187,1
    - Dst: libspdm_process_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 202
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 202
    functionName: libspdm_test_responder_encap_key_update_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_process_encap_response_key_update
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_key_update_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:151,1
    - Dst: libspdm_process_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:162,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 165
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 165
    functionName: libspdm_test_responder_encap_key_update_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_process_encap_response_key_update
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_key_update_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:250,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:254,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:258,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:256,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:252,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:266,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: libspdm_responder_encap_key_update_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_encap_key_update_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:37,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 40
    functionName: libspdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_state(libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:129,1
    - Dst: libspdm_process_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:125,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: libspdm_test_responder_encap_key_update_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_process_encap_response_key_update
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_key_update_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:223,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:243,1
    - Dst: libspdm_process_encap_response_key_update
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 244
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 244
    functionName: libspdm_test_responder_encap_key_update_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_process_encap_response_key_update
    - libspdm_set_standard_key_update_test_state
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_key_update_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:791,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:799,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:794,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:797,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:795,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:801,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: libspdm_test_responder_capabilities_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:822,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:825,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:830,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:828,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:826,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 835
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 835
    functionName: libspdm_test_responder_capabilities_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:488,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:492,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:498,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:496,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:491,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 503
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 503
    functionName: libspdm_test_responder_capabilities_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1152,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1155,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1158,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1156,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1160,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1162,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1165
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1165
    functionName: libspdm_test_responder_capabilities_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case26(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:524,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:527,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:534,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:532,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:528,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 538
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 538
    functionName: libspdm_test_responder_capabilities_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1182,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1189,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1186,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1192,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1193,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1196
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1196
    functionName: libspdm_test_responder_capabilities_case27
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case27(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1208,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1216,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1220,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1236,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1228,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1244,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1252,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1210,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1230,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1238,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1222,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1246,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1212,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1224,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1232,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1240,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1248,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1260,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1262,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1202,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1206,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1204,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1214,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1218,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1226,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1234,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1242,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1265
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1265
    functionName: libspdm_responder_capabilities_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_capabilities_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:659,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:665,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:663,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:662,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:667,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:668,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 670
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 670
    functionName: libspdm_test_responder_capabilities_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:624,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:628,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:627,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:630,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:632,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:634,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 637
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 637
    functionName: libspdm_test_responder_capabilities_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:688,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:692,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:691,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:696,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 700
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 700
    functionName: libspdm_test_responder_capabilities_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: libspdm_test_responder_capabilities_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: libspdm_test_responder_capabilities_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:853,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:856,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:859,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:861,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:857,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:863,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:865,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 866
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 866
    functionName: libspdm_test_responder_capabilities_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:718,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:728,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:726,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:722,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: libspdm_test_responder_capabilities_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: libspdm_test_responder_capabilities_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:760,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:763,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:768,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:764,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:766,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:770,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 773
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 773
    functionName: libspdm_test_responder_capabilities_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:884,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:887,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:890,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:888,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:892,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:894,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 897
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 897
    functionName: libspdm_test_responder_capabilities_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:557,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:563,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:565,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:560,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:567,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:568,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 571
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 571
    functionName: libspdm_test_responder_capabilities_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:979,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:983,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:985,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:987,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:982,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:989,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 992
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 992
    functionName: libspdm_test_responder_capabilities_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case20(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:914,1
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:917,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:920,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:921,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:925,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:927,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 930
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 930
    functionName: libspdm_test_responder_capabilities_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_reset_message_a
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1014,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1024,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1022,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1018,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1026
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1026
    functionName: libspdm_test_responder_capabilities_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1088,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1095,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1091,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1096,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1093,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1098,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1099,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1101,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1103
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1103
    functionName: libspdm_test_responder_capabilities_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:590,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:596,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:594,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:593,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:598,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:600,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:602,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 605
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 605
    functionName: libspdm_test_responder_capabilities_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:948,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:956,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:954,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:952,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:951,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:958,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 961
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 961
    functionName: libspdm_test_responder_capabilities_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 996
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 996
    functionName: libspdm_test_responder_capabilities_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1046,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1058,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1054,1
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1050,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1053,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1060,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1062,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1064,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1070
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1070
    functionName: libspdm_test_responder_capabilities_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_memory_equal
    - libspdm_get_response_capabilities
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case23(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1121,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1125,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1124,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1129,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1127,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1131,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/capabilities.c:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1134
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1134
    functionName: libspdm_test_responder_capabilities_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/capabilities.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:57,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:72,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:67,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:75,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:71,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:78,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 84
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 84
    functionName: libspdm_test_responder_digests_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_hash_size
    - libspdm_get_response_digests
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:185,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:182,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:183,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:178,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:189,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 192
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 192
    functionName: libspdm_test_responder_digests_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_digests
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: libspdm_test_responder_digests_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:222,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:232,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:237,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:227,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:239,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:241,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:242,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 245
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 245
    functionName: libspdm_test_responder_digests_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_digests
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:278,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:283,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:290,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:288,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:292,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 295
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 295
    functionName: libspdm_test_responder_digests_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_digests
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:463,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:464,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:456,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:459,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:469,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:472,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:474,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:479,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:483,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:490,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:494,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:497,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:491,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:486,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 500
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 500
    functionName: libspdm_test_responder_digests_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_hash_size
    - libspdm_reset_message_d
    - libspdm_get_response_digests
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:526,1
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:557,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:560,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:564,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:548,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:565,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:571,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:573,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:577,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:585,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:591,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:588,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 595
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 595
    functionName: libspdm_test_responder_digests_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_reset_message_d
    - assert_memory_equal
    - libspdm_get_response_digests
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:645,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:649,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:654,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:651,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:647,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:657,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:659,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:661,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:663,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:665,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:674,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:666,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 679
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 679
    functionName: libspdm_responder_digests_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_digests_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:124,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:129,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:134,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:133,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:136,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:138,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:139,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 142
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 142
    functionName: libspdm_test_responder_digests_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_digests
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:331,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:332,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:336,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:337,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:341,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 344
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 344
    functionName: libspdm_test_responder_digests_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_digests
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:401,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:397,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:387,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:383,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:402,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:405,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:408,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 414
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 414
    functionName: libspdm_test_responder_digests_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_hash_size
    - libspdm_secured_message_set_session_state
    - libspdm_get_response_digests
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_d
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:626,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:636,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:629,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:634,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:633,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:637,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/digests.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 639
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 639
    functionName: libspdm_test_responder_digests_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/digests.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_reset_message_d
    - libspdm_get_response_digests
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case11(void **state) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_responder_challenge_auth_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:133,1
    - Dst: libspdm_responder_endpoint_info_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:148,1
    - Dst: libspdm_responder_set_key_pair_info_ack_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:166,1
    - Dst: libspdm_responder_finish_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:188,1
    - Dst: libspdm_responder_heartbeat_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:206,1
    - Dst: libspdm_responder_key_update_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:209,1
    - Dst: libspdm_responder_chunk_get_rsp_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:262,1
    - Dst: libspdm_responder_receive_send_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:266,1
    - Dst: libspdm_responder_version_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:111,1
    - Dst: libspdm_responder_certificate_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:127,1
    - Dst: libspdm_responder_digests_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:124,1
    - Dst: libspdm_responder_measurements_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:139,1
    - Dst: libspdm_responder_psk_exchange_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:194,1
    - Dst: libspdm_responder_end_session_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:212,1
    - Dst: spdm_responder_encap_get_digests_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:220,1
    - Dst: libspdm_responder_encap_challenge_auth_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:228,1
    - Dst: libspdm_responder_encapsulated_response_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:233,1
    - Dst: libspdm_responder_encap_key_update_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:236,1
    - Dst: libspdm_responder_capabilities_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:115,1
    - Dst: libspdm_responder_endpoint_info_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:145,1
    - Dst: libspdm_responder_measurement_extension_log_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:154,1
    - Dst: libspdm_responder_psk_finish_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:200,1
    - Dst: libspdm_responder_respond_if_ready_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:175,1
    - Dst: libspdm_responder_set_certificate_rsp_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:250,1
    - Dst: libspdm_responder_chunk_send_ack_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:270,1
    - Dst: libspdm_responder_subscribe_event_types_ack_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:282,1
    - Dst: libspdm_responder_vendor_cmds_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:294,1
    - Dst: libspdm_responder_algorithms_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:119,1
    - Dst: libspdm_responder_key_pair_info_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:160,1
    - Dst: libspdm_responder_key_exchange_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:182,1
    - Dst: spdm_responder_encap_get_certificate_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:223,1
    - Dst: libspdm_responder_encap_get_endpoint_info_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:240,1
    - Dst: libspdm_responder_encap_get_endpoint_info_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:243,1
    - Dst: libspdm_responder_csr_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:256,1
    - Dst: libspdm_responder_supported_event_types_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:276,1
    - Dst: libspdm_responder_supported_event_types_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:279,1
    - Dst: libspdm_responder_subscribe_event_types_ack_error_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:285,1
    - Dst: libspdm_responder_vendor_cmds_test_main
      Src: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c:291,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 158
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 300
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/test_spdm_responder.c
    functionUses: []
    functionsReached:
    - libspdm_responder_capabilities_test_main
    - libspdm_responder_vendor_cmds_test_main
    - libspdm_responder_subscribe_event_types_ack_error_test_main
    - libspdm_responder_set_key_pair_info_ack_test_main
    - libspdm_responder_chunk_get_rsp_test_main
    - libspdm_responder_vendor_cmds_error_test_main
    - libspdm_responder_encapsulated_response_test_main
    - libspdm_responder_receive_send_test_main
    - libspdm_responder_digests_test_main
    - libspdm_responder_chunk_send_ack_test_main
    - libspdm_responder_respond_if_ready_test_main
    - libspdm_responder_algorithms_test_main
    - libspdm_responder_finish_test_main
    - libspdm_responder_measurements_test_main
    - libspdm_responder_subscribe_event_types_ack_test_main
    - libspdm_responder_heartbeat_test_main
    - libspdm_responder_supported_event_types_test_main
    - libspdm_responder_version_test_main
    - spdm_responder_encap_get_certificate_test_main
    - libspdm_responder_challenge_auth_test_main
    - libspdm_responder_key_update_test_main
    - spdm_responder_encap_get_digests_test_main
    - libspdm_responder_key_exchange_test_main
    - libspdm_responder_set_certificate_rsp_test_main
    - libspdm_responder_encap_get_endpoint_info_error_test_main
    - libspdm_responder_encap_challenge_auth_test_main
    - libspdm_responder_csr_test_main
    - libspdm_responder_supported_event_types_error_test_main
    - libspdm_responder_endpoint_info_test_main
    - libspdm_responder_psk_exchange_test_main
    - libspdm_responder_encap_key_update_test_main
    - libspdm_responder_psk_finish_test_main
    - libspdm_responder_end_session_test_main
    - libspdm_responder_certificate_test_main
    - libspdm_responder_encap_get_endpoint_info_test_main
    - libspdm_responder_measurement_extension_log_test_main
    - libspdm_responder_endpoint_info_error_test_main
    - libspdm_responder_key_pair_info_test_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:48,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:65,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:68,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:58,1
    - Dst: libspdm_write_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:118,1
    - Dst: libspdm_write_uint32
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:110,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:115,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:33,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:72,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:124,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:83,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:86,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:69,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:79,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:82,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:97,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:122,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 73
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 125
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 125
    functionName: libspdm_test_responder_set_key_pair_info_ack_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_total_key_pairs
    - libspdm_get_response_set_key_pair_info_ack
    - libspdm_write_uint16
    - libspdm_write_uint32
    - libspdm_zero_mem
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_key_pair_info_ack_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:184,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:187,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:221,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:200,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:224,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:231,1
    - Dst: libspdm_write_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:253,1
    - Dst: libspdm_write_uint32
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:256,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:269,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:194,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:197,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:204,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:219,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:201,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:243,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:265,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:267,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:278,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:281,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:148,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:192,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:215,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:217,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:228,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:261,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:264,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:277,1
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:163,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:214,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:211,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:227,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:271,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:274,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 98
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 284
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 284
    functionName: libspdm_test_responder_set_key_pair_info_ack_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_total_key_pairs
    - libspdm_get_response_set_key_pair_info_ack
    - libspdm_write_uint16
    - libspdm_write_uint32
    - libspdm_zero_mem
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_key_pair_info_ack_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:350,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:413,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:419,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:427,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:430,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:435,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:471,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:477,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:492,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:332,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:348,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:389,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:385,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:383,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:411,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:437,1
    - Dst: libspdm_write_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:458,1
    - Dst: libspdm_write_uint32
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:461,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:467,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:475,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:502,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:470,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:496,1
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:320,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:344,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:346,1
    - Dst: libspdm_write_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:370,1
    - Dst: libspdm_write_uint32
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:373,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:379,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:387,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:407,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:409,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:484,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:448,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:343,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:340,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:360,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:395,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:403,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:406,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:431,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:433,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:498,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:473,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:500,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 149
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 503
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 503
    functionName: libspdm_test_responder_set_key_pair_info_ack_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_read_total_key_pairs
    - libspdm_get_response_set_key_pair_info_ack
    - libspdm_write_uint16
    - libspdm_write_uint32
    - libspdm_zero_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_key_pair_info_ack_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:509,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:522,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:511,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:520,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 525
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 525
    functionName: libspdm_responder_set_key_pair_info_ack_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/set_key_pair_info_ack.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_set_key_pair_info_ack_test_main(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - src
    - src_len
    - dst
    - dst_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: libspdm_find_buffer
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_consttime_is_mem_equal
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_find_buffer(uint8_t *src, size_t src_len, uint8_t *dst,
      size_t dst_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: libspdm_set_csr_after_reset
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - rename
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_set_csr_after_reset() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:327,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:348,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:364,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:368,1
    - Dst: libspdm_gen_req_info
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:361,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:371,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:372,1
    - Dst: assert_memory_not_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:376,1
    - Dst: libspdm_check_csr_basic_constraints
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:379,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:381,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:386,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:388,1
    - Dst: libspdm_find_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:384,1
    - Dst: libspdm_find_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:388,1
    - Dst: libspdm_find_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:386,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:384,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 391
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 391
    functionName: libspdm_test_responder_csr_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - libspdm_check_csr_basic_constraints
    - assert_true
    - libspdm_gen_req_info
    - libspdm_zero_mem
    - libspdm_find_buffer
    - free
    - malloc
    - assert_memory_not_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:790,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:820,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:832,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:823,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:809,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:836,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:839,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:840,1
    - Dst: assert_memory_not_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:844,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:847,1
    - Dst: libspdm_find_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:847,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:850,1
    - Dst: libspdm_find_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:850,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:853,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 854
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 854
    functionName: libspdm_test_responder_csr_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_find_buffer
    - free
    - malloc
    - assert_memory_not_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1053,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1082,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1109,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1099,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1104,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1112,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1139,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1147,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1149,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1151,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 68
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1154
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1154
    functionName: libspdm_test_responder_csr_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - strlen
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:63,1
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:69,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:73,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:64,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:77,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:81,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:85,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:89,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:97,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 102
    functionName: libspdm_gen_req_info
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_key
    - free
    - libspdm_zero_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_gen_req_info() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: libspdm_set_csr_before_reset
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - rename
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_set_csr_before_reset() '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:215,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:245,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:221,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:230,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:237,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:253,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:260,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:265,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:271,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:276,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:294,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:300,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:281,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:303,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:287,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 3
    argNames:
    - csr
    - csr_len
    - is_device_cert_model
    argTypes:
    - uint8_t*
    - uint16_t
    - bool
    constantsTouched: []
    func_position:
      end: 308
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 308
    functionName: libspdm_check_csr_basic_constraints
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_asn1_get_tag
    - libspdm_consttime_is_mem_equal
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_check_csr_basic_constraints(uint8_t *csr, uint16_t csr_len,
      bool is_device_cert_model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:468,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:504,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:497,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:508,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:486,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:511,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:512,1
    - Dst: assert_memory_not_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:516,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:520,1
    - Dst: libspdm_find_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:520,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:527,1
    - Dst: libspdm_find_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:524,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 528
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 528
    functionName: libspdm_test_responder_csr_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - assert_true
    - libspdm_zero_mem
    - libspdm_find_buffer
    - free
    - malloc
    - assert_memory_not_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case3(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_csr_before_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:707,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:684,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:680,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:709,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:720,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:736,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:740,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:734,1
    - Dst: libspdm_set_csr_after_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:743,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:764,1
    - Dst: libspdm_test_clear_cached_last_request
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:772,1
    - Dst: libspdm_test_read_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:679,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:707,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:738,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:765,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:773,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:674,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:683,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:728,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:743,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:756,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:733,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:752,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:761,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:769,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 774
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 774
    functionName: libspdm_test_responder_csr_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - libspdm_test_read_cached_csr
    - assert_int_equal
    - assert_true
    - assert_false
    - libspdm_zero_mem
    - free
    - libspdm_set_csr_after_reset
    - libspdm_set_csr_before_reset
    - malloc
    - libspdm_test_clear_cached_last_request
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1990,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1992,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1994,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2002,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2032,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2018,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2010,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2000,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2008,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2016,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1998,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2006,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2014,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2027,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1996,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2004,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2012,1
    - Dst: libspdm_clear_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2030,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:2019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2035
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 2035
    functionName: libspdm_responder_csr_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    - libspdm_clear_cached_csr
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_csr_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:423,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:441,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:437,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:443,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:445,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:447,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:449,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 452
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 452
    functionName: libspdm_test_responder_csr_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - malloc
    - assert_int_equal
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:607,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:635,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:624,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:646,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:642,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:648,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:650,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:652,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:654,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 657
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 657
    functionName: libspdm_test_responder_csr_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:870,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:908,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:897,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:888,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:899,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:912,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:913,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:915,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:917,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:919,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 921
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 921
    functionName: libspdm_test_responder_csr_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: libspdm_clear_cached_csr
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - rename
    linkageType: ''
    returnType: void
    signature: 'void libspdm_clear_cached_csr() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_write_output_file
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: libspdm_test_clear_cached_last_request
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_write_output_file
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_clear_cached_last_request() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1362,1
    - Dst: libspdm_set_csr_after_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1427,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1466,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1469,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1471,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1479,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1375,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1371,1
    - Dst: libspdm_set_csr_before_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1399,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1414,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1431,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1433,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1473,1
    - Dst: libspdm_test_clear_cached_last_request
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1478,1
    - Dst: libspdm_test_read_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1370,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1401,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1435,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1449,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1430,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1427,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1453,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1461,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1468,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1475,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1374,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1399,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1421,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1437,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 76
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1480
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1480
    functionName: libspdm_test_responder_csr_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - libspdm_test_read_cached_csr
    - assert_int_equal
    - assert_true
    - assert_false
    - libspdm_zero_mem
    - free
    - libspdm_set_csr_after_reset
    - libspdm_set_csr_before_reset
    - malloc
    - libspdm_test_clear_cached_last_request
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - csr_pointer
    - csr_len
    argTypes:
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: libspdm_test_read_cached_csr
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_test_read_cached_csr(uint8_t **csr_pointer, size_t *csr_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:544,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:581,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:577,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:559,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:570,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:584,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:585,1
    - Dst: assert_memory_not_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:588,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 591
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 591
    functionName: libspdm_test_responder_csr_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - libspdm_zero_mem
    - free
    - malloc
    - assert_memory_not_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:938,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:997,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:967,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:989,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:994,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1021,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1025,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1028,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1029,1
    - Dst: assert_memory_not_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1033,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1035,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1036
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 1036
    functionName: libspdm_test_responder_csr_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - libspdm_copy_mem
    - libspdm_zero_mem
    - free
    - malloc
    - assert_memory_not_equal
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case9(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1255,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1251,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1280,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1291,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1311,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1307,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1305,1
    - Dst: libspdm_test_clear_cached_last_request
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1340,1
    - Dst: libspdm_set_csr_after_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1344,1
    - Dst: libspdm_test_read_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1250,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1278,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1309,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1331,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1333,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1341,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1245,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1254,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1299,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1335,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1344,1
    - Dst: libspdm_set_csr_before_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1278,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1320,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1325,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1330,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1345
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1345
    functionName: libspdm_test_responder_csr_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - libspdm_test_read_cached_csr
    - assert_int_equal
    - assert_true
    - assert_false
    - libspdm_zero_mem
    - free
    - libspdm_set_csr_after_reset
    - libspdm_set_csr_before_reset
    - malloc
    - libspdm_test_clear_cached_last_request
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case12(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1923,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1936,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1935,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1932,1
    - Dst: libspdm_test_read_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1931,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1951,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1963,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1968,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1973,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1974,1
    - Dst: libspdm_test_clear_cached_last_request
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1981,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1976,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1977,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1978,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1982,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1984
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1984
    functionName: libspdm_test_responder_csr_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - libspdm_test_read_cached_csr
    - assert_int_equal
    - assert_false
    - libspdm_zero_mem
    - free
    - malloc
    - libspdm_test_clear_cached_last_request
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1173,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1212,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1195,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1215,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1208,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1216,1
    - Dst: assert_memory_not_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1220,1
    - Dst: libspdm_check_csr_basic_constraints
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1223,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1225,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1228
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1228
    functionName: libspdm_test_responder_csr_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - assert_int_equal
    - libspdm_check_csr_basic_constraints
    - assert_true
    - libspdm_zero_mem
    - free
    - malloc
    - assert_memory_not_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case11(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_read_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1509,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1574,1
    - Dst: libspdm_set_csr_after_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1566,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1569,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1633,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1634,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1641,1
    - Dst: libspdm_test_clear_cached_last_request
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1646,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1636,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1501,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1513,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1538,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1560,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1576,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1572,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1570,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1599,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1601,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1618,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1627,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1566,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1603,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1632,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1643,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1647,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1639,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1510,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1514,1
    - Dst: libspdm_set_csr_before_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1538,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1540,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1553,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1589,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1593,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1598,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1605,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1628,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1630,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1637,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 100
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1648
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1648
    functionName: libspdm_test_responder_csr_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - libspdm_test_read_cached_csr
    - assert_int_equal
    - assert_true
    - assert_false
    - libspdm_zero_mem
    - free
    - libspdm_set_csr_after_reset
    - libspdm_set_csr_before_reset
    - malloc
    - libspdm_test_clear_cached_last_request
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case14(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1681,1
    - Dst: libspdm_set_csr_before_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1706,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1728,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1797,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1798,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1799,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1813,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1817,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1822,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1829,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1854,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1883,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1892,1
    - Dst: libspdm_test_clear_cached_last_request
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1904,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1887,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1708,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1737,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1735,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1764,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1766,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1793,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1795,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1856,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1849,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1858,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1895,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1889,1
    - Dst: libspdm_set_csr_after_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1901,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1878,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1899,1
    - Dst: assert_false
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1678,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1682,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1706,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1721,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1739,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1768,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1792,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1823,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1825,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1832,1
    - Dst: libspdm_set_csr_after_reset
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1860,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1882,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1853,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1874,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1827,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1845,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1885,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1669,1
    - Dst: libspdm_test_read_cached_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1677,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1754,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1741,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1763,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1758,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1734,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1770,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1783,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1787,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1897,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1893,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1905,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/csr.c:1901,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 159
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1906
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1906
    functionName: libspdm_test_responder_csr_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    - libspdm_test_read_cached_csr
    - assert_int_equal
    - assert_true
    - assert_false
    - libspdm_zero_mem
    - free
    - libspdm_set_csr_after_reset
    - libspdm_set_csr_before_reset
    - malloc
    - libspdm_test_clear_cached_last_request
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:413,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:432,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:423,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:431,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:437,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:450,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:452,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:444,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:445,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:453,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:465,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:467,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:471,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:474,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:435,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:440,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:464,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:454,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:460,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:455,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:469,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:436,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:453,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:447,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 475
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 475
    functionName: libspdm_test_responder_psk_finish_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:217,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:205,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:222,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:231,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:233,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:235,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:236,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:248,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:218,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:228,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:244,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:246,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:251,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:195,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:214,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:213,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:219,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:239,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:243,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:226,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:234,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 252
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 252
    functionName: libspdm_test_responder_psk_finish_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:550,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:561,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:585,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:590,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:527,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:546,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:545,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:551,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:568,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:579,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:558,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:559,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:567,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:567,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:589,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:592,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:593,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:549,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:537,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:554,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:578,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:566,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:569,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:574,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:564,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 594
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 594
    functionName: libspdm_test_responder_psk_finish_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:750,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:769,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:760,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:768,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:774,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:803,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:811,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:787,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:815,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:821,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:781,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:782,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:784,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:804,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:772,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:777,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:806,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:805,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:828,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:773,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:804,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:816,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:818,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:822,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:823,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:824,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 829
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 829
    functionName: libspdm_test_responder_psk_finish_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1006,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1007,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1012,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1027,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1044,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1019,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1020,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1028,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1040,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1042,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1047,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1010,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1015,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1029,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1035,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1030,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1025,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1039,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:988,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1011,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1022,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1028,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1046,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1048
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 1048
    functionName: libspdm_test_responder_psk_finish_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1226,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1227,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1244,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1249,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1214,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1213,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1222,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1195,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1218,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1242,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1248,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1217,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1219,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1230,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1237,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1241,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1232,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1250
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1250
    functionName: libspdm_test_responder_psk_finish_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1532,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1536,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1550,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1554,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1557,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1549,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1533,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1542,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1548,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1571,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1512,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1520,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1529,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1528,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1534,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1545,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1547,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1565,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1567,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1539,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1540,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1548,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1558,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1560,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1572
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1572
    functionName: libspdm_test_responder_psk_finish_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - assert_memory_equal
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:38,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: libspdm_secured_message_set_request_finished_key
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_request_finished_key( void
      *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:647,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:671,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:688,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:689,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:703,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:678,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:679,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:687,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:699,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:701,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:706,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:669,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:666,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:665,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:657,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:674,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:684,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:694,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:686,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:698,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:670,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:681,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:687,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 707
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 707
    functionName: libspdm_test_responder_psk_finish_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1578,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1580,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1582,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1584,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1587,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1590,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1592,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1594,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1596,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1598,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1614,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1602,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1599,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1612,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1604,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1617
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1617
    functionName: libspdm_responder_psk_finish_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_psk_finish_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:91,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:113,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:115,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:132,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:133,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:122,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:123,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:131,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:143,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:145,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:109,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:110,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:101,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:118,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:128,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:130,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:142,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:138,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:114,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:131,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:125,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 148
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 148
    functionName: libspdm_test_responder_psk_finish_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:302,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:324,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:326,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:343,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:344,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:358,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:325,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:333,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:334,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:342,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:356,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:360,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:321,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:320,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:312,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:329,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:339,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:349,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:341,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:353,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:336,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:342,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:359,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 363
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 363
    functionName: libspdm_test_responder_psk_finish_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:901,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:909,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:910,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:930,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:918,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:932,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:937,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:897,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:896,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:902,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:915,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:917,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:878,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:912,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:918,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:936,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:900,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:905,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:919,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:920,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:929,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:925,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:934,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 938
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 938
    functionName: libspdm_test_responder_psk_finish_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1095,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1117,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1113,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1118,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1114,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1119,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1122,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1126,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1127,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1129,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1144,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1142,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1140,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1133,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1138,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1146
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1146
    functionName: libspdm_test_responder_psk_finish_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_set_psk_hint
    - assert_int_equal
    - libspdm_session_info_init
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1317,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1318,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1323,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1352,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1340,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1348,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1330,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1331,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1339,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1359,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1321,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1326,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1338,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1341,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1336,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1357,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1299,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1322,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1333,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1343,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1353,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1355,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1361
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1361
    functionName: libspdm_test_responder_psk_finish_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1410,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1444,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1450,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1463,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1465,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1470,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1432,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1434,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1451,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1452,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1458,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1462,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1433,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1441,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1442,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1454,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1450,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1469,1
    - Dst: libspdm_session_info_set_psk_hint
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1429,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1428,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1437,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1447,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1449,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c:1467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1471
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1471
    functionName: libspdm_test_responder_psk_finish_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_session_info_set_psk_hint
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_case13(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:55,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:75,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:67,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:61,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:58,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:98,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:104,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:108,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:111,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 115
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 115
    functionName: test_spdm_responder_encap_get_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_process_encap_response_certificate
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_certificate_case1(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:302,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:308,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:305,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:322,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:314,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:344,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:350,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:357,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:360,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 361
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 361
    functionName: test_spdm_responder_encap_get_certificate_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_process_encap_response_certificate
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_certificate_case4(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:207,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:228,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:213,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:210,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:219,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:252,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:258,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:262,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:265,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 269
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 269
    functionName: test_spdm_responder_encap_get_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_process_encap_response_certificate
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_certificate_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:577,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:579,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:586,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:584,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:581,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:588,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:596,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 601
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 601
    functionName: spdm_responder_encap_get_certificate_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int spdm_responder_encap_get_certificate_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:406,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:434,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:454,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:469,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:472,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:488,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:501,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:512,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:520,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:551,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:564,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:403,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:447,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:451,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:456,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:465,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:473,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:499,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:562,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:568,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:452,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:477,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:464,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:493,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:496,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:531,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:536,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:539,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:556,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:559,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:445,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:413,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:475,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:489,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:497,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:513,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:532,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:540,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:552,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:560,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:567,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 123
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 571
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 571
    functionName: test_spdm_responder_encap_get_certificate_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_process_encap_response_certificate
    - libspdm_zero_mem
    - libspdm_reset_message_mut_b
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - assert_memory_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_certificate_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:145,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:154,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:148,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:165,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:161,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:167,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 172
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 172
    functionName: test_spdm_responder_encap_get_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_process_encap_response_certificate
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void test_spdm_responder_encap_get_certificate_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_version
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:64,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:74,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:69,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:68,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: libspdm_test_responder_version_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_version
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:155,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:150,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:149,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 159
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 159
    functionName: libspdm_test_responder_version_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: libspdm_test_responder_version_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:226,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:229,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:239,1
    - Dst: libspdm_get_response_version
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:236,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:240,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:243,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:245,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:247,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:254,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 256
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 256
    functionName: libspdm_test_responder_version_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_version
    - libspdm_set_mem
    - assert_memory_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:261,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:269,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:265,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:267,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:263,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:271,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:273,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:281,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 286
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 286
    functionName: libspdm_responder_version_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_version_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_version
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:191,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:190,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:187,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:192,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:193,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: libspdm_test_responder_version_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_version
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:109,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:118,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:114,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:116,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:113,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:119,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/version.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: libspdm_test_responder_version_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_version
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: libspdm_test_responder_version_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:214,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:218,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:224,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:223,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:220,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:228,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:229,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:230,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 235
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 235
    functionName: libspdm_test_responder_measurements_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:557,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:562,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:560,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:564,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:567,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:568,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:571,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:575,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 580
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 580
    functionName: libspdm_test_responder_measurements_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1235,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1241,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1239,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1244,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1245,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1247,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1249,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1251,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1255
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1255
    functionName: libspdm_test_responder_measurements_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1882,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1877,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1879,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1883,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1902,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1931,1
    - Dst: libspdm_read_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1919,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1933,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1940,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1871,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1898,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1929,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1926,1
    - Dst: libspdm_verify_measurement_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1935,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1874,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1888,1
    - Dst: libspdm_read_uint24
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1915,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1908,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1907,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1886,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1891,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1942
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1942
    functionName: libspdm_test_responder_measurements_case29
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_append_message_m
    - libspdm_hash_all
    - libspdm_verify_measurement_signature
    - assert_int_equal
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_response_measurements
    - libspdm_read_uint24
    - libspdm_read_uint16
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case29(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1582,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1597,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1584,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1588,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1599,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1602,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1603,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1606,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1610,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1613,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1619,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1620
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1620
    functionName: libspdm_test_responder_measurements_case26
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_measurements
    - free
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case26(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:453,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:468,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:480,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:505,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:508,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:511,1
    - Dst: libspdm_verify_measurement_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:522,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:456,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:489,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:490,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:473,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:464,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:459,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:461,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:465,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:470,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:484,1
    - Dst: libspdm_read_uint24
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:497,1
    - Dst: libspdm_read_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:501,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:513,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:515,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 524
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 524
    functionName: libspdm_test_responder_measurements_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_append_message_m
    - libspdm_hash_all
    - libspdm_verify_measurement_signature
    - assert_int_equal
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_response_measurements
    - libspdm_read_uint24
    - libspdm_read_uint16
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1114,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1129,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1131,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1116,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1120,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1134,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1135,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1138,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1142,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1145,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1147,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1151
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1151
    functionName: libspdm_test_responder_measurements_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_measurements
    - free
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case18(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1183,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1190,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1188,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1194,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1193,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1196,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1200,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1204
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1204
    functionName: libspdm_test_responder_measurements_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case19(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:895,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:908,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:907,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:903,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:898,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:910,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:912,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:914,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 920
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 920
    functionName: libspdm_test_responder_measurements_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1057,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1064,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1062,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1068,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1067,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1070,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1072,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1074,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1080
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1080
    functionName: libspdm_test_responder_measurements_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case17(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1376,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1379,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1389,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1392,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1388,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1395,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1396,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1399,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1401,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1406
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1406
    functionName: libspdm_test_responder_measurements_case23
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_session_info_init
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_get_asym_signature_size
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case23(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1439,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1451,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1452,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1455,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1446,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1456,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1459,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1463,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1469,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1470,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1488,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1486,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1491,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1480,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1476,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1495
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1495
    functionName: libspdm_test_responder_measurements_case24
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - assert_memory_equal
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case24(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1523,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1532,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1527,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1529,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1539,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1549
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1549
    functionName: libspdm_test_responder_measurements_case25
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case25(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:664,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:670,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:668,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:673,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:674,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:677,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:681,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:684,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 692
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 692
    functionName: libspdm_test_responder_measurements_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 851
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 851
    functionName: libspdm_test_responder_measurements_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case13(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1291,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1302,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1295,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1306,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1298,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1309,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1313,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1317,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1323,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1328,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1339
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1339
    functionName: libspdm_test_responder_measurements_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:612,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:618,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:616,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:621,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:624,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:626,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:628,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 632
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 632
    functionName: libspdm_test_responder_measurements_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2748,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2757,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2773,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2765,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2785,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2793,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2801,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2809,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2751,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2759,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2775,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2767,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2779,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2787,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2795,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2803,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2819,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2739,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2743,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2741,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2753,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2769,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2777,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2761,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2781,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2789,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2797,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2745,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2755,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2771,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2763,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2783,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2791,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2799,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2805,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2807,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2822
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2822
    functionName: libspdm_responder_measurements_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_measurements_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1007,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1012,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1015,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1016,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1018,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1020,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1022,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1026
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1026
    functionName: libspdm_test_responder_measurements_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case16(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2247,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2256,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2261,1
    - Dst: libspdm_read_uint24
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2288,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2280,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2281,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2310,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2313,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2259,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2264,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2308,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2304,1
    - Dst: libspdm_verify_measurement_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2315,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2317,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2250,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2255,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2252,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2275,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2298,1
    - Dst: libspdm_read_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2292,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2320,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2244,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2271,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2322
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2322
    functionName: libspdm_test_responder_measurements_case32
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_append_message_m
    - libspdm_hash_all
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_verify_measurement_signature
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_response_measurements
    - libspdm_read_uint24
    - libspdm_read_uint16
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case32(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2508,1
    - Dst: libspdm_read_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2553,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2541,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2542,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2570,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2573,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2580,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2568,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2557,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2564,1
    - Dst: libspdm_verify_measurement_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2575,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2513,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2516,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2511,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2522,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2536,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2558,1
    - Dst: libspdm_read_uint24
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2549,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2505,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2520,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2525,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2532,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2582
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2582
    functionName: libspdm_test_responder_measurements_case34
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_append_message_m
    - libspdm_hash_all
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_verify_measurement_signature
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_response_measurements
    - libspdm_read_uint24
    - libspdm_read_uint16
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case34(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:387,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:396,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:393,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:391,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:397,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:399,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:401,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:403,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 407
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 407
    functionName: libspdm_test_responder_measurements_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:325,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:335,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:334,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:331,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:329,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:341,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:343,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:345,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:346,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:348,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 352
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 352
    functionName: libspdm_test_responder_measurements_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: libspdm_test_responder_measurements_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:793,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:802,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:799,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:803,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:797,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:807,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:812,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:820,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:822,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:825,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:830,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:835,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 843
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 843
    functionName: libspdm_test_responder_measurements_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:953,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:958,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:960,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:964,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:963,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:966,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:968,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:970,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:972,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 974
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 974
    functionName: libspdm_test_responder_measurements_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case15(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2127,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2125,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2122,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2130,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2131,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2136,1
    - Dst: libspdm_read_uint24
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2163,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2180,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2150,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2183,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2134,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2139,1
    - Dst: libspdm_verify_measurement_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2185,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2155,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2156,1
    - Dst: libspdm_read_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2167,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2190,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2119,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2146,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2174,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2178,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2171,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2192
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2192
    functionName: libspdm_test_responder_measurements_case31
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_append_message_m
    - libspdm_hash_all
    - libspdm_verify_measurement_signature
    - assert_int_equal
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_response_measurements
    - libspdm_read_uint24
    - libspdm_read_uint16
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case31(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2380,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2385,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2382,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2386,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2391,1
    - Dst: libspdm_read_uint24
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2418,1
    - Dst: libspdm_copy_signature_swap_endian
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2428,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2405,1
    - Dst: libspdm_read_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2422,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2374,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2389,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2401,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2426,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2447,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2377,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2410,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2411,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2440,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2443,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2450,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2394,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2434,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2438,1
    - Dst: libspdm_verify_measurement_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2445,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2452
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2452
    functionName: libspdm_test_responder_measurements_case33
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_append_message_m
    - libspdm_hash_all
    - libspdm_copy_signature_swap_endian
    - assert_int_equal
    - libspdm_verify_measurement_signature
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_response_measurements
    - libspdm_read_uint24
    - libspdm_read_uint16
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case33(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2693,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2717,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2708,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2721,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2695,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2724,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2725,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2727,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2728,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2729,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2730
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2730
    functionName: libspdm_test_responder_measurements_case36
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_reset_message_m
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case36(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1783,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1794,1
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1788,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1799,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1796,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1802,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1803,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1805,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1808,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1811,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1813,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1818,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1819
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1819
    functionName: libspdm_test_responder_measurements_case28
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_measurements
    - free
    - libspdm_get_asym_signature_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_read_responder_public_key
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case28(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:149,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:159,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:162,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:158,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:155,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:164,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 173
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 173
    functionName: libspdm_test_responder_measurements_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:268,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:272,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:278,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:277,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:274,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:280,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:282,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:284,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:285,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 290
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 290
    functionName: libspdm_test_responder_measurements_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:725,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:731,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:733,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:728,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:736,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:737,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:741,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:746,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:754,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:756,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 761
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 761
    functionName: libspdm_test_responder_measurements_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2002,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2005,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2000,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2006,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2011,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2025,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2055,1
    - Dst: libspdm_read_uint24
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2038,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2058,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2065,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1994,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2009,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2021,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2046,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2053,1
    - Dst: libspdm_append_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2049,1
    - Dst: libspdm_verify_measurement_signature
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2060,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:1997,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2030,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2031,1
    - Dst: libspdm_read_uint16
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2042,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2014,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2062,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2067
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 2067
    functionName: libspdm_test_responder_measurements_case30
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_append_message_m
    - libspdm_hash_all
    - libspdm_verify_measurement_signature
    - assert_int_equal
    - assert_true
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_response_measurements
    - libspdm_read_uint24
    - libspdm_read_uint16
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_m
    - libspdm_get_asym_signature_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case30(void** state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2616,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2624,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2631,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2632,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2627,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2636,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2640,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurements.c:2642,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 2649
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2649
    functionName: libspdm_test_responder_measurements_case35
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_get_response_measurements
    - libspdm_reset_message_m
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case35(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:79,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:97,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:93,1
    - Dst: libspdm_measurement_extension_log_collection
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:86,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:82,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:99,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:100,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:101,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 103
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 103
    functionName: libspdm_test_responder_measurement_extension_log_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_measurement_extension_log
    - libspdm_measurement_extension_log_collection
    - assert_memory_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurement_extension_log_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:206,1
    - Dst: libspdm_measurement_extension_log_collection
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:213,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:223,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:209,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:219,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:225,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:227,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 230
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 230
    functionName: libspdm_test_responder_measurement_extension_log_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_measurement_extension_log
    - libspdm_measurement_extension_log_collection
    - assert_memory_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurement_extension_log_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_measurement_extension_log_collection
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:328,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:342,1
    - Dst: libspdm_get_response_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:339,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:348,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:344,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:350,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:351,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:352,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 355
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 355
    functionName: libspdm_test_responder_measurement_extension_log_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_measurement_extension_log
    - libspdm_measurement_extension_log_collection
    - assert_memory_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurement_extension_log_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:361,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:363,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:367,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:365,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:369,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:377,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 382
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 382
    functionName: libspdm_responder_measurement_extension_log_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_measurement_extension_log_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_measurement_extension_log_collection
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:269,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:286,1
    - Dst: libspdm_get_response_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:279,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:283,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:284,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 289
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 289
    functionName: libspdm_test_responder_measurement_extension_log_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_measurement_extension_log
    - libspdm_measurement_extension_log_collection
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurement_extension_log_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_measurement_extension_log_collection
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:142,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:155,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:161,1
    - Dst: libspdm_get_response_measurement_extension_log
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:152,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:157,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:163,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:164,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:165,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 168
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 168
    functionName: libspdm_test_responder_measurement_extension_log_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_measurement_extension_log
    - libspdm_measurement_extension_log_collection
    - assert_memory_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurement_extension_log_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - spdm_context
    - subcode
    - param2
    - request_attributes
    - endpoint_info_size
    - endpoint_info
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - void*
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: get_endpoint_info_callback_in_err
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: libspdm_return_t
    signature: "libspdm_return_t get_endpoint_info_callback_in_err (\r void *spdm_context,\r
      uint8_t subcode,\r uint8_t param2,\r uint8_t request_attributes,\r uint32_t
      endpoint_info_size,\r const void *endpoint_info) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:330,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:339,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:334,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:333,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:343,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:348,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:349,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:359,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:378,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:381,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:383,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 387
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 387
    functionName: libspdm_test_responder_encap_get_endpoint_info_err_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_process_encap_response_endpoint_info
    - libspdm_get_hash_size
    - libspdm_reset_message_encap_e
    - libspdm_generate_device_endpoint_info
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_endpoint_info_err_case3(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:424,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:437,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:433,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:428,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:427,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:442,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:443,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:453,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:457,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:473,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:479,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:495,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 496
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 496
    functionName: libspdm_test_responder_encap_get_endpoint_info_err_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_process_encap_response_endpoint_info
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_encap_e
    - libspdm_get_asym_signature_size
    - libspdm_generate_device_endpoint_info
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_endpoint_info_err_case4(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:580,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:586,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:584,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:588,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:582,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:596,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 601
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 601
    functionName: libspdm_responder_encap_get_endpoint_info_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_encap_get_endpoint_info_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:169,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:226,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:235,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:252,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:265,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:276,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:287,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:289,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:239,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:257,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:280,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:291,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:285,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:156,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:159,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:174,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:175,1
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:185,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:244,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:246,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:259,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:272,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:160,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:165,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:189,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:205,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:233,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:231,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:248,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:211,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:261,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 95
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 293
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 293
    functionName: libspdm_test_responder_encap_get_endpoint_info_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_process_encap_response_endpoint_info
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_encap_e
    - libspdm_get_asym_signature_size
    - libspdm_generate_device_endpoint_info
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_endpoint_info_err_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:60,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:69,1
    - Dst: libspdm_reset_message_encap_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:64,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:63,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:73,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:78,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:79,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:98,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:100,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:102,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:111,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:115,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 117
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 117
    functionName: libspdm_test_responder_encap_get_endpoint_info_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_process_encap_response_endpoint_info
    - libspdm_get_hash_size
    - libspdm_reset_message_encap_e
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_endpoint_info_err_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_generate_device_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:530,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:560,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:550,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:562,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:555,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:565,1
    - Dst: libspdm_process_encap_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:570,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 573
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 573
    functionName: libspdm_test_responder_encap_get_endpoint_info_err_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/encap_get_endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_generate_device_endpoint_info
    - libspdm_process_encap_response_endpoint_info
    - assert_int_equal
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_endpoint_info_err_case5(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:49,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 53
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:149,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:150,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:155,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: libspdm_responder_subscribe_event_types_ack_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_subscribe_event_types_ack_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:117,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:135,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:136,1
    - Dst: libspdm_get_response_subscribe_event_types_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:129,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:134,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:137,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 139
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 139
    functionName: libspdm_test_responder_subscribe_event_types_ack_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_response_subscribe_event_types_ack
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_subscribe_event_types_ack_err_case2(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:74,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:92,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:91,1
    - Dst: libspdm_get_response_subscribe_event_types_ack
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:86,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:93,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:94,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 96
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 96
    functionName: libspdm_test_responder_subscribe_event_types_ack_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/subscribe_event_types_ack_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_response_subscribe_event_types_ack
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_subscribe_event_types_ack_err_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_vendor_callback_func
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:101,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:107,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:103,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:114,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:109,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:117,1
    - Dst: libspdm_get_vendor_defined_response
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:121,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:124,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 130
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 130
    functionName: libspdm_test_responder_vendor_cmds_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - assert_int_equal
    - libspdm_register_vendor_callback_func
    - libspdm_get_vendor_defined_response
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_vendor_cmds_err_case1(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:60,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:67,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 9
    argNames:
    - spdm_context
    - '#if'
    - session_id
    - '#endif'
    - req_standard_id
    - req_vendor_id_len
    - req_vendor_id
    - req_size
    - req_data
    - resp_size
    - resp_data
    argTypes:
    - void*
    - LIBSPDM_PASS_SESSION_ID*
    - uint16_t
    - uint8_t
    - void*
    - uint16_t
    - void*
    - uint16_t*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: libspdm_vendor_response_func_err_test
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - printf
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'static libspdm_return_t libspdm_vendor_response_func_err_test( void
      *spdm_context,#if LIBSPDM_PASS_SESSION_ID const uint32_t *session_id,#endif
      uint16_t req_standard_id, uint8_t req_vendor_id_len, const void *req_vendor_id,
      uint16_t req_size, const void *req_data, uint16_t *resp_size, void *resp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:185,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:194,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:186,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: libspdm_responder_vendor_cmds_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_vendor_cmds_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:150,1
    - Dst: libspdm_register_vendor_get_id_callback_func
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:153,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:171,1
    - Dst: libspdm_get_vendor_defined_response
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:168,1
    - Dst: libspdm_register_vendor_callback_func
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:152,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:172,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:176,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:177,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:178,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 180
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 180
    functionName: libspdm_test_responder_vendor_cmds_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/vendor_response_err.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - set_standard_state
    - libspdm_register_vendor_callback_func
    - libspdm_register_vendor_get_id_callback_func
    - libspdm_get_vendor_defined_response
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_vendor_cmds_err_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:134,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:146,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:143,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:139,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:136,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:150,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:152,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:153,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 159
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 159
    functionName: libspdm_test_responder_endpoint_info_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:386,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:395,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:391,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:388,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:398,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:402,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:404,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:406,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 412
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 412
    functionName: libspdm_test_responder_endpoint_info_err_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:254,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:259,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:266,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:263,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:256,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:270,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:272,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:274,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:275,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 282
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 282
    functionName: libspdm_test_responder_endpoint_info_err_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:318,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:327,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:330,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:320,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:323,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:338,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:340,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:342,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:343,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:345,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 351
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 351
    functionName: libspdm_test_responder_endpoint_info_err_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case4(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:565,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:567,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:577,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:574,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:570,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:581,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:583,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:585,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 591
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 591
    functionName: libspdm_test_responder_endpoint_info_err_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:625,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:628,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:635,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:632,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:639,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:641,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:643,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 649
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 649
    functionName: libspdm_test_responder_endpoint_info_err_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case9(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:812,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:824,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:817,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:821,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:814,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:828,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:830,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:832,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:836,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 838
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 838
    functionName: libspdm_test_responder_endpoint_info_err_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case12(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:967,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:972,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:969,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:979,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:976,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:983,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:985,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:987,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 993
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 993
    functionName: libspdm_test_responder_endpoint_info_err_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case14(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:998,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1000,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:999,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1002,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1004,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1005,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1006,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1007,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1008,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1009,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1010,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1021,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1012,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1023,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1011,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1026
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1026
    functionName: libspdm_responder_endpoint_info_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_endpoint_info_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:193,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:195,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:205,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:202,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:198,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:209,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:211,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:212,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:213,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 220
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 220
    functionName: libspdm_test_responder_endpoint_info_err_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:445,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:454,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:450,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:457,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:447,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:461,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:463,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:465,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 471
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 471
    functionName: libspdm_test_responder_endpoint_info_err_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:505,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:510,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:507,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:514,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:523,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:525,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:529,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 531
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 531
    functionName: libspdm_test_responder_endpoint_info_err_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case7(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:683,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:688,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:685,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:695,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:692,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:699,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:701,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:703,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:707,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 709
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 709
    functionName: libspdm_test_responder_endpoint_info_err_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case10(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:749,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:761,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:751,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:754,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:758,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:765,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:767,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:769,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 775
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 775
    functionName: libspdm_test_responder_endpoint_info_err_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_endpoint_info
    - libspdm_get_random_number
    - libspdm_reset_message_e
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case11(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:874,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:899,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:893,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:889,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:898,1
    - Dst: libspdm_reset_message_e
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:907,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:909,1
    - Dst: libspdm_get_response_endpoint_info
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:912,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:916,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:919,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:925,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:923,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:927,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 933
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 933
    functionName: libspdm_test_responder_endpoint_info_err_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/endpoint_info_err.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - assert_int_equal
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_get_hash_size
    - libspdm_reset_message_e
    - libspdm_get_random_number
    - libspdm_get_response_endpoint_info
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_endpoint_info_err_case13(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:49,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 53
    functionName: set_standard_state
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void set_standard_state(libspdm_context_t *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_standard_state
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:74,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:91,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:90,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:89,1
    - Dst: libspdm_get_response_supported_event_types
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:84,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:92,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: libspdm_test_responder_supported_event_types_err_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c
    functionUses: []
    functionsReached:
    - set_standard_state
    - libspdm_get_response_supported_event_types
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_responder_supported_event_types_err_case1(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:104,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:109,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: libspdm_responder_supported_event_types_error_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_responder/error_test/supported_event_types_err.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_responder_supported_event_types_error_test_main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_fips_run_selftest
      Src: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c:21,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c:22,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c:24,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 27
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 27
    functionName: libspdm_test_fips
    functionSourceFile: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c
    functionUses: []
    functionsReached:
    - assert_true
    - libspdm_fips_run_selftest
    - LIBSPDM_DEBUG
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_fips(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: libspdm_crypt_lib_teardown
    functionSourceFile: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int libspdm_crypt_lib_teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: libspdm_crypt_lib_setup
    functionSourceFile: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int libspdm_crypt_lib_setup(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_crypt_lib_test_main
      Src: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c
    functionUses: []
    functionsReached:
    - libspdm_crypt_lib_test_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c:42,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: libspdm_crypt_lib_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_fips/test_spdm_fips.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int libspdm_crypt_lib_test_main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/strdup.c:11,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/strdup.c:12,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/cmockalib/strdup.c:17,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: strdup
    functionSourceFile: /src/libspdm/unit_test/cmockalib/strdup.c
    functionUses: []
    functionsReached:
    - memcpy
    - malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char * strdup (const char* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_double_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_double_macros.c:29,1
    - Dst: assert_double_not_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_double_macros.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: double_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_double_macros.c
    functionUses: []
    functionsReached:
    - assert_double_not_equal
    - assert_double_equal
    linkageType: ''
    returnType: void
    signature: 'static void double_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_double_macros.c:35,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_double_macros.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_double_macros.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:9,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 12
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 12
    functionName: setup_only
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: 'static int setup_only(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: prestate_setup
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: 'static int prestate_setup(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:23,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: malloc_setup_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - free
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void malloc_setup_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:55,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: prestate_setup_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void prestate_setup_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:29,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: malloc_teardown_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - malloc
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void malloc_teardown_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: teardown_only
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: 'static int teardown_only(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: prestate_teardown
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: 'static int prestate_teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:63,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: prestate_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void prestate_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:70,1
    - Dst: cmocka_unit_test_setup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:71,1
    - Dst: cmocka_unit_test_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:73,1
    - Dst: cmocka_unit_test_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:74,1
    - Dst: cmocka_unit_test_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:72,1
    - Dst: cmocka_unit_test_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:75,1
    - Dst: cmocka_unit_test_prestate
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:76,1
    - Dst: cmocka_unit_test_prestate_setup_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:77,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_fixtures.c
    functionUses: []
    functionsReached:
    - cmocka_unit_test_teardown
    - cmocka_unit_test_prestate_setup_teardown
    - cmocka_run_group_tests
    - cmocka_unit_test_prestate
    - cmocka_unit_test_setup
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mock_test_a_called
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - function_called
    linkageType: ''
    returnType: void
    signature: 'static void mock_test_a_called(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: mock_test_c_called
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - function_called
    linkageType: ''
    returnType: void
    signature: 'static void mock_test_c_called(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:37,1
    - Dst: expect_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:38,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:41,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:42,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:39,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:43,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: test_does_succeed_for_multiple_calls
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - mock_test_a_called
    - expect_function_calls
    - expect_function_call
    linkageType: ''
    returnType: void
    signature: 'static void test_does_succeed_for_multiple_calls(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ignore_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: test_ordering_does_ignore_no_calls
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - ignore_function_calls
    linkageType: ''
    returnType: void
    signature: 'static void test_ordering_does_ignore_no_calls(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:77,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:78,1
    - Dst: mock_test_b_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:82,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:79,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:81,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: test_ordering_does_work_across_different_functions
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - mock_test_b_called
    - mock_test_a_called
    - expect_function_call
    linkageType: ''
    returnType: void
    signature: 'static void test_ordering_does_work_across_different_functions(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: mock_test_b_called
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - function_called
    linkageType: ''
    returnType: void
    signature: 'static void mock_test_b_called(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:27,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:30,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:31,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: test_does_succeed_for_expected
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - mock_test_a_called
    - expect_function_call
    linkageType: ''
    returnType: void
    signature: 'static void test_does_succeed_for_expected(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ignore_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:51,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:53,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:55,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: test_ordering_does_ignore_calls
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - ignore_function_calls
    - mock_test_a_called
    linkageType: ''
    returnType: void
    signature: 'static void test_ordering_does_ignore_calls(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call_any
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:67,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:69,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:71,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: test_ordering_does_expect_at_least_one_call
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - expect_function_call_any
    - mock_test_a_called
    linkageType: ''
    returnType: void
    signature: 'static void test_ordering_does_expect_at_least_one_call(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ignore_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:89,1
    - Dst: mock_test_b_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:95,1
    - Dst: mock_test_c_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:94,1
    - Dst: ignore_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:90,1
    - Dst: expect_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:91,1
    - Dst: mock_test_c_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: test_ordering_ignores_out_of_order_properly
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - ignore_function_calls
    - mock_test_c_called
    - mock_test_b_called
    - expect_function_calls
    linkageType: ''
    returnType: void
    signature: 'static void test_ordering_ignores_out_of_order_properly(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:101,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:103,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:102,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:104,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:105,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:106,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:107,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: torture_string_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c
    functionUses: []
    functionsReached:
    - assert_string_equal
    linkageType: ''
    returnType: void
    signature: 'static void torture_string_equal(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_string_not_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: torture_string_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c
    functionUses: []
    functionsReached:
    - assert_string_not_equal
    linkageType: ''
    returnType: void
    signature: 'static void torture_string_not_equal(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c:34,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c:35,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_string.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: test_skip1
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c
    functionUses: []
    functionsReached:
    - assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_skip1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_false
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: test_skip2
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c
    functionUses: []
    functionsReached:
    - assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_skip2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:46,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:47,1
    - Dst: cmocka_set_skip_filter
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:53,1
    - Dst: cmocka_set_test_filter
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:51,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:48,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c
    functionUses: []
    functionsReached:
    - cmocka_set_skip_filter
    - cmocka_set_test_filter
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_false
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: test_fail
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip_filter.c
    functionUses: []
    functionsReached:
    - assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_fail(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip.c:25,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: test_check_skip
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip.c
    functionUses: []
    functionsReached:
    - assert_true
    - skip
    linkageType: ''
    returnType: void
    signature: 'static void test_check_skip(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip.c:33,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_skip.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: test_ok1
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c
    functionUses: []
    functionsReached:
    - assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_ok1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_false
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: test_fail
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c
    functionUses: []
    functionsReached:
    - assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_fail(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:44,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:45,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:46,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:51,1
    - Dst: cmocka_set_test_filter
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c
    functionUses: []
    functionsReached:
    - cmocka_set_test_filter
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: test_ok2
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_wildcard.c
    functionUses: []
    functionsReached:
    - assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_ok2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_float_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_float_macros.c:29,1
    - Dst: assert_float_not_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_float_macros.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: float_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_float_macros.c
    functionUses: []
    functionsReached:
    - assert_float_not_equal
    - assert_float_equal
    linkageType: ''
    returnType: void
    signature: 'static void float_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_float_macros.c:35,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_float_macros.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_float_macros.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c:12,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 15
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 15
    functionName: group_setup_failing
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: int
    signature: 'static int group_setup_failing(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_false
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: test_false
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c
    functionUses: []
    functionsReached:
    - assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_false(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: test_true
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c
    functionUses: []
    functionsReached:
    - assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_true(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c:31,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c:35,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_assert.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:23,1
    - Dst: mock_function
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - times
    - expectedValue
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: mock_function_call_times
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c
    functionUses: []
    functionsReached:
    - mock_function
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void mock_function_call_times(size_t times, int expectedValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:40,1
    - Dst: will_return_maybe
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:41,1
    - Dst: mock_function_call_times
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: test_will_return_maybe_for_one_mock_call
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c
    functionUses: []
    functionsReached:
    - rand
    - will_return_maybe
    - mock_function_call_times
    linkageType: ''
    returnType: void
    signature: 'static void test_will_return_maybe_for_one_mock_call(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mock
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: mock_function
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c
    functionUses: []
    functionsReached:
    - mock
    linkageType: ''
    returnType: int
    signature: 'int mock_function(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:51,1
    - Dst: rand
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:52,1
    - Dst: mock_function_call_times
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:54,1
    - Dst: will_return_maybe
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: test_will_return_maybe_for_more_than_one_call
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c
    functionUses: []
    functionsReached:
    - rand
    - will_return_maybe
    - mock_function_call_times
    linkageType: ''
    returnType: void
    signature: 'static void test_will_return_maybe_for_more_than_one_call(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: will_return_maybe
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: test_will_return_maybe_for_no_calls
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c
    functionUses: []
    functionsReached:
    - will_return_maybe
    linkageType: ''
    returnType: void
    signature: 'static void test_will_return_maybe_for_no_calls(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:59,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:67,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:61,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:25,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: setup
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c
    functionUses: []
    functionsReached:
    - malloc
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int setup(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: int_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void int_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:56,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:64,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:60,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c
    functionUses: []
    functionsReached:
    - cmocka_unit_test_setup_teardown
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: teardown
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: 'static int teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: null_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_groups.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void null_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:10,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:11,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: group_setup
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c
    functionUses: []
    functionsReached:
    - malloc
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int group_setup(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: test_value_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_value_equal(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_in_range
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: test_value_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c
    functionUses: []
    functionsReached:
    - assert_in_range
    linkageType: ''
    returnType: void
    signature: 'static void test_value_range(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: group_teardown
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: 'static int group_teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:43,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:48,1
    - Dst: cmocka_unit_test_prestate
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:45,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_fixtures.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    - cmocka_unit_test_prestate
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:31,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:34,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:32,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:35,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:37,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: test_strmatch_null
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c
    functionUses: []
    functionsReached:
    - c_strmatch
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_strmatch_null(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:63,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:67,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:69,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:66,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:64,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: test_strmatch_single
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c
    functionUses: []
    functionsReached:
    - c_strmatch
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_strmatch_single(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:79,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:83,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:82,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:80,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:85,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: test_strmatch_wildcard
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c
    functionUses: []
    functionsReached:
    - c_strmatch
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_strmatch_wildcard(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:47,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:50,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:53,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:48,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:51,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: test_strmatch_empty
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c
    functionUses: []
    functionsReached:
    - c_strmatch
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_strmatch_empty(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:91,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:93,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:92,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:97,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_strmatch.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:12,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 13
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 13
    functionName: test_segfault_recovery
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c
    functionUses: []
    functionsReached:
    - raise
    linkageType: ''
    returnType: void
    signature: 'static void test_segfault_recovery(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_segfault_recovery
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: test_segfault_recovery2
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c
    functionUses: []
    functionsReached:
    - test_segfault_recovery
    linkageType: ''
    returnType: void
    signature: 'static void test_segfault_recovery2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:32,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:37,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:33,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_segfault_recovery
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:17,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: test_segfault_recovery1
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c
    functionUses: []
    functionsReached:
    - test_segfault_recovery
    linkageType: ''
    returnType: void
    signature: 'static void test_segfault_recovery1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_segfault_recovery
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: test_segfault_recovery3
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_exception_handler.c
    functionUses: []
    functionsReached:
    - test_segfault_recovery
    linkageType: ''
    returnType: void
    signature: 'static void test_segfault_recovery3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: group_setup_failing
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int group_setup_failing(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c:28,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c:29,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_false
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: test_false
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c
    functionUses: []
    functionsReached:
    - assert_false
    linkageType: ''
    returnType: void
    signature: 'static void test_false(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c:17,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: test_true
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_group_setup_fail.c
    functionUses: []
    functionsReached:
    - assert_true
    linkageType: ''
    returnType: void
    signature: 'static void test_true(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c:25,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: setup
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c
    functionUses: []
    functionsReached:
    - malloc
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int setup(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: int_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void int_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: teardown
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: 'static int teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c:56,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c:60,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c
    functionUses: []
    functionsReached:
    - cmocka_unit_test_setup_teardown
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: null_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_basics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void null_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mock
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: mock_function
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c
    functionUses: []
    functionsReached:
    - mock
    linkageType: ''
    returnType: int
    signature: 'int mock_function(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:54,1
    - Dst: will_return_always
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: test_will_return_always_fails_for_no_calls
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c
    functionUses: []
    functionsReached:
    - will_return_always
    - rand
    linkageType: ''
    returnType: void
    signature: 'static void test_will_return_always_fails_for_no_calls(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: test_will_return_fails_for_no_calls
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c
    functionUses: []
    functionsReached:
    - will_return
    linkageType: ''
    returnType: void
    signature: 'static void test_will_return_fails_for_no_calls(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:23,1
    - Dst: mock_function
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - times
    - expectedValue
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: mock_function_call_times
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c
    functionUses: []
    functionsReached:
    - mock_function
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'void mock_function_call_times(size_t times, int expectedValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:41,1
    - Dst: mock_function_call_times
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:45,1
    - Dst: will_return_count
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:44,1
    - Dst: rand
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: test_will_return_count_fails_for_unreturned_items
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c
    functionUses: []
    functionsReached:
    - rand
    - will_return_count
    - mock_function_call_times
    linkageType: ''
    returnType: void
    signature: 'static void test_will_return_count_fails_for_unreturned_items(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: teardown
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: 'static int teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:67,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:75,1
    - Dst: cmocka_unit_test_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:69,1
    - Dst: cmocka_unit_test_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_returns_fail.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test_teardown
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: null_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_cmockery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void null_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_cmockery.c:28,1
    - Dst: run_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_cmockery.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_cmockery.c
    functionUses: []
    functionsReached:
    - unit_test
    - run_tests
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c:26,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c:30,1
    - Dst: S_ISDIR
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c:30,1
    - Dst: assert_return_code
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: test_assert_return_code
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c
    functionUses: []
    functionsReached:
    - stat
    - assert_true
    - assert_return_code
    - S_ISDIR
    linkageType: ''
    returnType: void
    signature: 'static void test_assert_return_code(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c:36,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: int_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void int_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: int_test_ignored
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c
    functionUses: []
    functionsReached:
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void int_test_ignored(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 12
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 12
    functionName: setup_fail
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int setup_fail(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: teardown
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: 'static int teardown(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: setup_ok
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: 'static int setup_ok(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c:48,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c:52,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_setup_fail.c
    functionUses: []
    functionsReached:
    - cmocka_unit_test_setup_teardown
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros_fail.c:28,1
    - Dst: assert_return_code
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros_fail.c:29,1
    - Dst: close
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros_fail.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: test_assert_return_code_fail
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros_fail.c
    functionUses: []
    functionsReached:
    - open
    - assert_return_code
    - close
    linkageType: ''
    returnType: void
    signature: 'static void test_assert_return_code_fail(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros_fail.c:38,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros_fail.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_assert_macros_fail.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:26,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:30,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:29,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:27,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: test_does_fail_for_unexpected_call
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - mock_test_a_called
    - expect_function_call
    linkageType: ''
    returnType: void
    signature: 'static void test_does_fail_for_unexpected_call(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: mock_test_b_called
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - function_called
    linkageType: ''
    returnType: void
    signature: 'static void mock_test_b_called(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:46,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:48,1
    - Dst: mock_test_b_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:50,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: test_ordering_fails_out_of_order
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - mock_test_b_called
    - expect_function_call
    linkageType: ''
    returnType: void
    signature: 'static void test_ordering_fails_out_of_order(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call_any
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:67,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:70,1
    - Dst: ignore_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:68,1
    - Dst: mock_test_c_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: test_fails_out_of_order_if_no_calls_found_on_any
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - ignore_function_calls
    - mock_test_c_called
    - expect_function_call_any
    - mock_test_a_called
    linkageType: ''
    returnType: void
    signature: 'static void test_fails_out_of_order_if_no_calls_found_on_any(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mock_test_a_called
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - function_called
    linkageType: ''
    returnType: void
    signature: 'static void mock_test_a_called(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: mock_test_c_called
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - function_called
    linkageType: ''
    returnType: void
    signature: 'static void mock_test_c_called(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:37,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:40,1
    - Dst: expect_function_call
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: test_does_fail_for_unmade_expected_call
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - mock_test_a_called
    - expect_function_call
    linkageType: ''
    returnType: void
    signature: 'static void test_does_fail_for_unmade_expected_call(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_call_any
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:56,1
    - Dst: mock_test_c_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:60,1
    - Dst: mock_test_b_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:59,1
    - Dst: ignore_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: test_ordering_fails_out_of_order_for_at_least_once_calls
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - ignore_function_calls
    - mock_test_c_called
    - mock_test_b_called
    - expect_function_call_any
    linkageType: ''
    returnType: void
    signature: 'static void test_ordering_fails_out_of_order_for_at_least_once_calls(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_function_calls
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:77,1
    - Dst: mock_test_a_called
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: test_fails_if_zero_count_used
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - mock_test_a_called
    - expect_function_calls
    linkageType: ''
    returnType: void
    signature: 'static void test_fails_if_zero_count_used(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:84,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:86,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:85,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:87,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:88,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:89,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:90,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_ordering_fail.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:21,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:24,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:27,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:22,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:25,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:28,1
    - Dst: test_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 31
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 31
    functionName: torture_test_malloc
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - test_free
    - assert_non_null
    - test_malloc
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void torture_test_malloc(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:43,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:46,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:44,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:49,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:47,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:50,1
    - Dst: test_realloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:53,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:54,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:57,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:58,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:60,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:61,1
    - Dst: test_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: torture_test_realloc
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c
    functionUses: []
    functionsReached:
    - test_realloc
    - assert_string_equal
    - assert_int_equal
    - test_free
    - assert_non_null
    - test_malloc
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void torture_test_realloc(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:74,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:79,1
    - Dst: test_realloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:78,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: torture_test_realloc_set0
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c
    functionUses: []
    functionsReached:
    - test_realloc
    - test_malloc
    - assert_null
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void torture_test_realloc_set0(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:84,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:89,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:86,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/tests/test_alloc.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1564
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1564
    functionName: check_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - values_equal_display_error
    linkageType: ''
    returnType: int
    signature: 'static int check_value(const LargestIntegralType value, const LargestIntegralType
      check_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: declare_initialize_value_pointer_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1631,1
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1633,1
    - Dst: discard_const
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - function
    - parameter
    - file
    - line
    - string
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1635
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1635
    functionName: _expect_not_string
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - discard_const
    - _expect_check
    - declare_initialize_value_pointer_pointer
    linkageType: ''
    returnType: void
    signature: 'void _expect_not_string( const char* const function, const char* const
      parameter, const char* const file, const int line, const char* string, const
      int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1991
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1991
    functionName: libc_free
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void libc_free(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - group_name
    - num_tests
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2530
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2530
    functionName: cmprintf_group_start_standard
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - print_message
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_group_start_standard(const char *group_name,
      const size_t num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1998
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 1998
    functionName: libc_realloc
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void*
    signature: 'static void *libc_realloc(void *ptr, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: discard_const_p
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2110,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2130,1
    - Dst: ARRAY_SIZE
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2124,1
    - Dst: _assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2117,1
    - Dst: cast_ptr_to_largest_integral_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2117,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2140,1
    - Dst: list_remove
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2145,1
    - Dst: discard_const_p
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2147,1
    - Dst: memset
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2148,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2150
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2150
    functionName: _test_free
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - discard_const_p
    - _assert_true
    - list_remove
    - cm_print_error
    - free
    - _fail
    - ARRAY_SIZE
    - cast_ptr_to_largest_integral_type
    - memset
    linkageType: ''
    returnType: void
    signature: 'void _test_free(void* const ptr, const char* file, const int line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2542,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2559,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2545,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2556,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2549,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2563,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2570,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 7
    argNames:
    - group_name
    - total_executed
    - total_passed
    - total_failed
    - total_errors
    - total_skipped
    - cm_tests
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - struct CMUnitTestState*
    constantsTouched: []
    func_position:
      end: 2576
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2576
    functionName: cmprintf_group_finish_standard
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - print_message
    - print_error
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_group_finish_standard(const char *group_name,
      size_t total_executed, size_t total_passed, size_t total_failed, size_t total_errors,
      size_t total_skipped, struct CMUnitTestState *cm_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_range
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 7
    argNames:
    - function
    - parameter
    - file
    - line
    - minimum
    - maximum
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - LargestIntegralType
    - int
    constantsTouched: []
    func_position:
      end: 1556
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1556
    functionName: _expect_not_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - expect_range
    linkageType: ''
    returnType: void
    signature: 'void _expect_not_in_range( const char* const function, const char*
      const parameter, const char* const file, const int line, const LargestIntegralType
      minimum, const LargestIntegralType maximum, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - map_value
    - symbol
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: symbol_names_match
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int symbol_names_match(const void *map_value, const void *symbol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1582
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1582
    functionName: check_not_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - values_not_equal_display_error
    linkageType: ''
    returnType: int
    signature: 'static int check_not_value(const LargestIntegralType value, const
      LargestIntegralType check_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - function
    - parameter
    - file
    - line
    - value
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - int
    constantsTouched: []
    func_position:
      end: 1574
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1574
    functionName: _expect_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _expect_check
    linkageType: ''
    returnType: void
    signature: 'void _expect_value( const char* const function, const char* const
      parameter, const char* const file, const int line, const LargestIntegralType
      value, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1641,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1643,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1645,1
    - Dst: memory_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1647
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1647
    functionName: check_memory
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - memory_equal_display_error
    - cast_largest_integral_type_to_pointer
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int check_memory(const LargestIntegralType value, const LargestIntegralType
      check_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - function
    - parameter
    - file
    - line
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1720
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1720
    functionName: _expect_any
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _expect_check
    linkageType: ''
    returnType: void
    signature: 'void _expect_any( const char* const function, const char* const parameter,
      const char* const file, const int line, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - location
    - file
    - line
    argTypes:
    - SourceLocation*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: set_source_location
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void set_source_location( SourceLocation * const location,
      const char * const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - ListNode*
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: list_initialize
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ListNode*
    signature: 'static ListNode * list_initialize(ListNode * const node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:647,1
    - Dst: list_remove_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:649,1
    - Dst: list_empty
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - head
    - cleanup_value
    - cleanup_value_data
    argTypes:
    - ListNode*
    - CleanupListValue
    - void*
    constantsTouched: []
    func_position:
      end: 652
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 652
    functionName: list_free
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_remove_free
    - list_empty
    - assert_non_null
    linkageType: ''
    returnType: ListNode*
    signature: 'static ListNode * list_free( ListNode * const head, const CleanupListValue
      cleanup_value, void * const cleanup_value_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:682,1
    - Dst: list_empty
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - head
    - output
    argTypes:
    - ListNode*
    - ListNode**
    constantsTouched: []
    func_position:
      end: 689
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 689
    functionName: list_first
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_empty
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int list_first(ListNode * const head, ListNode **output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - value
    - range_min
    - range_max
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1343
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1343
    functionName: integer_not_in_range_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int integer_not_in_range_display_error( const LargestIntegralType
      value, const LargestIntegralType range_min, const LargestIntegralType range_max) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1278,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1294,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1298,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - value
    - check_integer_set
    - invert
    argTypes:
    - LargestIntegralType
    - CheckIntegerSet*
    - int
    constantsTouched: []
    func_position:
      end: 1303
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1303
    functionName: value_in_set_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int value_in_set_display_error( const LargestIntegralType value,
      const CheckIntegerSet * const check_integer_set, const int invert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1082,1
    - Dst: set_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1087,1
    - Dst: add_symbol_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1088,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 8
    argNames:
    - function
    - parameter
    - file
    - line
    - check_function
    - check_data
    - event
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - CheckParameterValue
    - LargestIntegralType
    - CheckParameterEvent*
    - int
    constantsTouched: []
    func_position:
      end: 1090
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1090
    functionName: _expect_check
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - set_source_location
    - malloc
    - add_symbol_value
    linkageType: ''
    returnType: void
    signature: 'void _expect_check( const char* const function, const char* const
      parameter, const char* const file, const int line, const CheckParameterValue
      check_function, const LargestIntegralType check_data, CheckParameterEvent *
      const event, const int count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cm_get_output
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2263,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2270,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2273,1
    - Dst: exit
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2276,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2277
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2277
    functionName: _fail
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - exit_test
    - exit
    - cm_get_output
    - cm_print_error
    linkageType: ''
    returnType: void
    signature: 'void _fail(const char * const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - location
    argTypes:
    - SourceLocation*
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: source_location_is_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int source_location_is_set(const SourceLocation * const location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:567,1
    - Dst: initialize_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:572,1
    - Dst: list_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:573,1
    - Dst: list_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:570,1
    - Dst: initialize_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:569,1
    - Dst: initialize_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 576
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 576
    functionName: teardown_testing
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - initialize_source_location
    - list_free
    linkageType: ''
    returnType: void
    signature: 'static void teardown_testing(const char *test_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:669,1
    - Dst: equal_func
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:671,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - head
    - value
    - equal_func
    - output
    argTypes:
    - ListNode*
    - void*
    - EqualityFunction
    - ListNode**
    constantsTouched: []
    func_position:
      end: 677
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 677
    functionName: list_find
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - equal_func
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int list_find(ListNode * const head, const void *value, const
      EqualityFunction equal_func, ListNode **output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:740,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:741,1
    - Dst: list_find
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:745,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:748,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:742,1
    - Dst: list_initialize
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:750,1
    - Dst: list_add_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:751,1
    - Dst: list_add_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:757,1
    - Dst: add_symbol_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - symbol_map_head
    - symbol_names
    - number_of_symbol_names
    - value
    - refcount
    argTypes:
    - ListNode*
    - char*
    - size_t
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 764
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 764
    functionName: add_symbol_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - add_symbol_value
    - list_initialize
    - assert_true
    - list_find
    - assert_non_null
    - list_add_value
    - malloc
    linkageType: ''
    returnType: void
    signature: 'static void add_symbol_value(ListNode * const symbol_map_head, const
      char * const symbol_names[], const size_t number_of_symbol_names, const void*
      value, const int refcount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1711
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1711
    functionName: check_any
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int check_any(const LargestIntegralType value, const LargestIntegralType
      check_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:594,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:596,1
    - Dst: list_add
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:599,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - head
    - value
    - refcount
    argTypes:
    - ListNode*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 600
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 600
    functionName: list_add_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_add
    - malloc
    - assert_non_null
    linkageType: ''
    returnType: ListNode*
    signature: 'static ListNode * list_add_value(ListNode * const head, const void
      *value, const int refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast_ptr_to_largest_integral_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:704,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:705,1
    - Dst: list_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:711,1
    - Dst: list_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:707,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - value
    - cleanup_value_data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 717
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 717
    functionName: free_symbol_map_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - free
    - list_free
    - cast_ptr_to_largest_integral_type
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void free_symbol_map_value(const void *value, void *cleanup_value_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1368,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1373
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1373
    functionName: string_not_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - strcmp
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int string_not_equal_display_error( const char * const left,
      const char * const right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2363,1
    - Dst: fflush
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2365,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2364,1
    - Dst: OutputDebugString
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 2369
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2369
    functionName: vprint_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - fprintf
    - vsnprintf
    - fflush
    - OutputDebugString
    linkageType: ''
    returnType: void
    signature: 'void vprint_error(const char* const format, va_list args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2374,1
    - Dst: vprint_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2375,1
    - Dst: va_end
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2377
    functionName: print_message
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - va_end
    - vprint_message
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void print_message(const char* const format, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:374,1
    - Dst: cm_longjmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:386,1
    - Dst: abort
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:384,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:377,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:383,1
    - Dst: exit
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - quit_application
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: exit_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - exit
    - cm_longjmp
    - abort
    - print_error
    - getenv
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void exit_test(const int quit_application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - head
    argTypes:
    - ListNode*
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: list_empty
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int list_empty(const ListNode * const head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:695,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - value
    - cleanup_value_data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: free_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - free
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void free_value(const void *value, void *cleanup_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1106,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1110,1
    - Dst: set_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1112,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1107,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1108,1
    - Dst: list_add_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - function_name
    - file
    - line
    - count
    argTypes:
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1116
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1116
    functionName: _expect_function_call
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - assert_true
    - assert_non_null
    - list_add_value
    - malloc
    - set_source_location
    linkageType: ''
    returnType: void
    signature: 'void _expect_function_call( const char * const function_name, const
      char * const file, const int line, const int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - value
    - range_min
    - range_max
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1323
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1323
    functionName: integer_in_range_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int integer_in_range_display_error( const LargestIntegralType
      value, const LargestIntegralType range_min, const LargestIntegralType range_max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1353,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1358
    functionName: string_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - strcmp
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int string_equal_display_error( const char * const left, const
      char * const right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_set
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 7
    argNames:
    - function
    - parameter
    - file
    - line
    - values
    - number_of_values
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1493
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1493
    functionName: _expect_not_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - expect_set
    linkageType: ''
    returnType: void
    signature: 'void _expect_not_in_set( const char* const function, const char* const
      parameter, const char* const file, const int line, const LargestIntegralType
      values[], const size_t number_of_values, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1500,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1502,1
    - Dst: integer_in_range_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1505
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1505
    functionName: check_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - integer_in_range_display_error
    - cast_largest_integral_type_to_pointer
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int check_in_range(const LargestIntegralType value, const LargestIntegralType
      check_value_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1876,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1879
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1879
    functionName: _assert_int_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - values_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_int_equal( const LargestIntegralType a, const LargestIntegralType
      b, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memory_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1910,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1911,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - size
    - file
    - line
    argTypes:
    - void*
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1913
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1913
    functionName: _assert_memory_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - memory_equal_display_error
    - _fail
    linkageType: ''
    returnType: void
    signature: 'void _assert_memory_equal(const void * const a, const void * const
      b, const size_t size, const char* const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value_in_set_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1951,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - value
    - values
    - number_of_values
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1954
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1954
    functionName: _assert_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - value_in_set_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_in_set(const LargestIntegralType value, const LargestIntegralType
      values[], const size_t number_of_values, const char* const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_allocated_blocks_list
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2230,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2235,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2232,1
    - Dst: discard_const
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2239,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2242,1
    - Dst: discard_const_p
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - check_point
    argTypes:
    - ListNode*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2246
    functionName: free_allocated_blocks
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - discard_const_p
    - get_allocated_blocks_list
    - discard_const
    - free
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void free_allocated_blocks(const ListNode * const check_point) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2872,1
    - Dst: ARRAY_SIZE
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2891,1
    - Dst: IsDebuggerPresent
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2881,1
    - Dst: signal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2892,1
    - Dst: SetUnhandledExceptionFilter
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2896,1
    - Dst: initialize_testing
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2902,1
    - Dst: cm_setjmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2906,1
    - Dst: test_func
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2908,1
    - Dst: fail_if_blocks_allocated
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2910,1
    - Dst: setup_func
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2913,1
    - Dst: fail_if_leftover_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2926,1
    - Dst: signal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2939,1
    - Dst: teardown_func
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2920,1
    - Dst: SetUnhandledExceptionFilter
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2943,1
    - Dst: ARRAY_SIZE
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2938,1
    - Dst: teardown_testing
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2933,1
    - Dst: fail_if_blocks_allocated
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2922,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 6
    argNames:
    - function_name
    - test_func
    - setup_func
    - teardown_func
    - state
    - heap_check_point
    argTypes:
    - char*
    - CMUnitTestFunction
    - CMFixtureFunction
    - CMFixtureFunction
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 2950
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2950
    functionName: cmocka_run_one_test_or_fixture
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - fail_if_leftover_values
    - test_func
    - setup_func
    - teardown_func
    - signal
    - cm_setjmp
    - IsDebuggerPresent
    - initialize_testing
    - fail_if_blocks_allocated
    - ARRAY_SIZE
    - check_point_allocated_blocks
    - SetUnhandledExceptionFilter
    - teardown_testing
    linkageType: ''
    returnType: int
    signature: 'static int cmocka_run_one_test_or_fixture(const char *function_name,
      CMUnitTestFunction test_func, CMFixtureFunction setup_func, CMFixtureFunction
      teardown_func, void ** const volatile state, const void *const heap_check_point) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1885,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1888
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1888
    functionName: _assert_int_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - values_not_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_int_not_equal( const LargestIntegralType a, const LargestIntegralType
      b, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memory_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1919,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - size
    - file
    - line
    argTypes:
    - void*
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1923
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1923
    functionName: _assert_memory_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - memory_not_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_memory_not_equal(const void * const a, const void * const
      b, const size_t size, const char* const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value_in_set_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1963,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - value
    - values
    - number_of_values
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1966
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1966
    functionName: _assert_not_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - value_in_set_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_not_in_set(const LargestIntegralType value, const LargestIntegralType
      values[], const size_t number_of_values, const char* const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_run_one_test_or_fixture
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2961,1
    - Dst: cmocka_run_one_test_or_fixture
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2968,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - function_name
    - setup_func
    - teardown_func
    - state
    - heap_check_point
    argTypes:
    - char*
    - CMFixtureFunction
    - CMFixtureFunction
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 2977
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2977
    functionName: cmocka_run_group_fixture
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cmocka_run_one_test_or_fixture
    linkageType: ''
    returnType: int
    signature: 'static int cmocka_run_group_fixture(const char *function_name, CMFixtureFunction
      setup_func, CMFixtureFunction teardown_func, void **state, const void *const
      heap_check_point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_set
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 7
    argNames:
    - function
    - parameter
    - file
    - line
    - values
    - number_of_values
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1482
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1482
    functionName: _expect_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - expect_set
    linkageType: ''
    returnType: void
    signature: 'void _expect_in_set( const char* const function, const char* const
      parameter, const char* const file, const int line, const LargestIntegralType
      values[], const size_t number_of_values, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1620,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1621,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1623
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1623
    functionName: check_not_string
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - string_not_equal_display_error
    - cast_largest_integral_type_to_pointer
    linkageType: ''
    returnType: int
    signature: 'static int check_not_string(const LargestIntegralType value, const
      LargestIntegralType check_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_memory_setup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - function
    - parameter
    - file
    - line
    - memory
    - size
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1702
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1702
    functionName: _expect_not_memory
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - expect_memory_setup
    linkageType: ''
    returnType: void
    signature: 'void _expect_not_memory( const char* const function, const char* const
      parameter, const char* const file, const int line, const void* const memory,
      const size_t size, const int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float_compare
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1153,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - left
    - right
    - epsilon
    argTypes:
    - float
    - float
    - float
    constantsTouched: []
    func_position:
      end: 1159
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1159
    functionName: float_values_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - float_compare
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int float_values_equal_display_error(const float left, const
      float right, const float epsilon) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_symbol_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1728,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1739,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1747,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1736,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1750,1
    - Dst: source_location_is_set
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1753,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1754,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1759,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1762,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 5
    argNames:
    - function_name
    - parameter_name
    - file
    - line
    - value
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1764
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1764
    functionName: _check_expected
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    - free
    - get_symbol_value
    - _fail
    - exit_test
    - source_location_is_set
    linkageType: ''
    returnType: void
    signature: 'void _check_expected( const char * const function_name, const char
      * const parameter_name, const char* file, const int line, const LargestIntegralType
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _test_malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2097,1
    - Dst: memset
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - number_of_elements
    - size
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2102
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2102
    functionName: _test_calloc
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _test_malloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void * _test_calloc(const size_t number_of_elements, const size_t
      size, const char* file, const int line) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3522,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3532,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3619,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3621,1
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3494,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3577,1
    - Dst: _run_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3585,1
    - Dst: fail_if_blocks_allocated
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3628,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3521,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3505,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3533,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3538,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3624,1
    - Dst: _run_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3602,1
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3544,1
    - Dst: _run_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3547,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3615,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3627,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3616,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 2
    argNames:
    - tests
    - number_of_tests
    argTypes:
    - UnitTest*
    - size_t
    constantsTouched: []
    func_position:
      end: 3631
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3631
    functionName: _run_group_tests
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _run_test
    - free
    - exit_test
    - fail_if_blocks_allocated
    - malloc
    - print_error
    - check_point_allocated_blocks
    - print_message
    linkageType: ''
    returnType: int
    signature: 'int _run_group_tests(const UnitTest * const tests, const size_t number_of_tests) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - left
    - right
    - epsilon
    argTypes:
    - float
    - float
    - float
    constantsTouched: []
    func_position:
      end: 1146
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1146
    functionName: float_compare
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int float_compare(const float left, const float right, const
      float epsilon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1512,1
    - Dst: integer_not_in_range_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1515,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1517
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1517
    functionName: check_not_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - integer_not_in_range_display_error
    - cast_largest_integral_type_to_pointer
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int check_not_in_range(const LargestIntegralType value, const
      LargestIntegralType check_value_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2012,1
    - Dst: vsnprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2014,1
    - Dst: libc_realloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2033,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2032,1
    - Dst: libc_calloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2023,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2042,1
    - Dst: vsnprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2044,1
    - Dst: va_end
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2047,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 2049
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2049
    functionName: vcm_print_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - libc_calloc
    - libc_realloc
    - va_end
    - memcpy
    - va_copy
    - vsnprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void vcm_print_error(const char* const format, va_list args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: display_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2252,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2255,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2257,1
    - Dst: free_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - check_point
    - test_name
    argTypes:
    - ListNode*
    - char*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2259
    functionName: fail_if_blocks_allocated
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - exit_test
    - display_allocated_blocks
    - free_allocated_blocks
    - cm_print_error
    linkageType: ''
    returnType: void
    signature: 'static void fail_if_blocks_allocated(const ListNode * const check_point,
      const char * const test_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1060,1
    - Dst: set_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1063,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1061,1
    - Dst: add_symbol_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - function_name
    - file
    - line
    - value
    - count
    argTypes:
    - char*
    - char*
    - int
    - LargestIntegralType
    - int
    constantsTouched: []
    func_position:
      end: 1066
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1066
    functionName: _will_return
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - set_source_location
    - assert_true
    - malloc
    - add_symbol_value
    linkageType: ''
    returnType: void
    signature: 'void _will_return(const char * const function_name, const char * const
      file, const int line, const LargestIntegralType value, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1458,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1463,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1465,1
    - Dst: declare_initialize_value_pointer_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1462,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1464,1
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 8
    argNames:
    - function
    - parameter
    - file
    - line
    - values
    - number_of_values
    - check_function
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - size_t
    - CheckParameterValue
    - int
    constantsTouched: []
    func_position:
      end: 1471
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1471
    functionName: expect_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _expect_check
    - assert_true
    - memcpy
    - assert_non_null
    - malloc
    - declare_initialize_value_pointer_pointer
    linkageType: ''
    returnType: void
    signature: 'static void expect_set( const char* const function, const char* const
      parameter, const char* const file, const int line, const LargestIntegralType
      values[], const size_t number_of_values, const CheckParameterValue check_function,
      const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1598,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1599,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1601
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1601
    functionName: check_string
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - string_equal_display_error
    - cast_largest_integral_type_to_pointer
    linkageType: ''
    returnType: int
    signature: 'static int check_string(const LargestIntegralType value, const LargestIntegralType
      check_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_range
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 7
    argNames:
    - function
    - parameter
    - file
    - line
    - minimum
    - maximum
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - LargestIntegralType
    - int
    constantsTouched: []
    func_position:
      end: 1545
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1545
    functionName: _expect_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - expect_range
    linkageType: ''
    returnType: void
    signature: 'void _expect_in_range( const char* const function, const char* const
      parameter, const char* const file, const int line, const LargestIntegralType
      minimum, const LargestIntegralType maximum, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:633,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:634,1
    - Dst: list_remove
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - node
    - cleanup_value
    - cleanup_value_data
    argTypes:
    - ListNode*
    - CleanupListValue
    - void*
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: list_remove_free
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_remove
    - free
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void list_remove_free( ListNode * const node, const CleanupListValue
      cleanup_value, void * const cleanup_value_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2996,1
    - Dst: CMOCKA_CLOCK_GETTIME
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3012,1
    - Dst: cmocka_run_one_test_or_fixture
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2998,1
    - Dst: cmocka_run_one_test_or_fixture
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3016,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3006,1
    - Dst: CMOCKA_CLOCK_GETTIME
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3038,1
    - Dst: cm_secdiff
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3039,1
    - Dst: cmocka_run_one_test_or_fixture
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3044,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3052,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - test_state
    argTypes:
    - struct CMUnitTestState*
    constantsTouched: []
    func_position:
      end: 3060
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 3060
    functionName: cmocka_run_one_tests
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cmocka_run_one_test_or_fixture
    - cm_secdiff
    - cm_print_error
    - CMOCKA_CLOCK_GETTIME
    - check_point_allocated_blocks
    linkageType: ''
    returnType: int
    signature: 'static int cmocka_run_one_tests(struct CMUnitTestState *test_state) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3098,1
    - Dst: cmocka_run_group_fixture
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3126,1
    - Dst: cmocka_run_one_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3147,1
    - Dst: vcm_free_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3198,1
    - Dst: vcm_free_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3234,1
    - Dst: fail_if_blocks_allocated
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3237,1
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3069,1
    - Dst: libc_calloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3084,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3082,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3174,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3188,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3197,1
    - Dst: cmocka_run_group_fixture
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3208,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3219,1
    - Dst: cmprintf_group_finish
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3224,1
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3106,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3184,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3160,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3167,1
    - Dst: vcm_free_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3216,1
    - Dst: discard_const_p
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3234,1
    - Dst: libc_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3236,1
    - Dst: cmprintf_group_start
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3120,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3139,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3153,1
    - Dst: cmprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3201,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3215,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 5
    argNames:
    - group_name
    - tests
    - num_tests
    - group_setup
    - group_teardown
    argTypes:
    - char*
    - struct CMUnitTest*
    - size_t
    - CMFixtureFunction
    - CMFixtureFunction
    constantsTouched: []
    func_position:
      end: 3240
      start: 3062
    functionDepth: 0
    functionLinenumber: 3062
    functionLinenumberEnd: 3240
    functionName: _cmocka_run_group_tests
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - c_strmatch
    - cmprintf
    - discard_const_p
    - cmprintf_group_start
    - assert_true
    - cmocka_run_one_tests
    - libc_free
    - fail_if_blocks_allocated
    - cmprintf_group_finish
    - cmocka_run_group_fixture
    - print_error
    - vcm_free_error
    - check_point_allocated_blocks
    - snprintf
    - libc_calloc
    linkageType: ''
    returnType: int
    signature: 'int _cmocka_run_group_tests(const char *group_name, const struct CMUnitTest
      * const tests, const size_t num_tests, CMFixtureFunction group_setup, CMFixtureFunction
      group_teardown) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1528,1
    - Dst: declare_initialize_value_pointer_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1529,1
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - function
    - parameter
    - file
    - line
    - minimum
    - maximum
    - check_function
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - LargestIntegralType
    - CheckParameterValue
    - int
    constantsTouched: []
    func_position:
      end: 1534
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1534
    functionName: expect_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - malloc
    - _expect_check
    - declare_initialize_value_pointer_pointer
    linkageType: ''
    returnType: void
    signature: 'static void expect_range( const char* const function, const char*
      const parameter, const char* const file, const int line, const LargestIntegralType
      minimum, const LargestIntegralType maximum, const CheckParameterValue check_function,
      const int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:619,1
    - Dst: cleanup_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - node
    - cleanup_value
    - cleanup_value_data
    argTypes:
    - ListNode*
    - CleanupListValue
    - void*
    constantsTouched: []
    func_position:
      end: 626
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 626
    functionName: list_remove
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cleanup_value
    - assert_non_null
    linkageType: ''
    returnType: ListNode*
    signature: 'static ListNode * list_remove( ListNode * const node, const CleanupListValue
      cleanup_value, void * const cleanup_value_data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: list_first
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:988,1
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1018,1
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1006,1
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:996,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1022,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1027,1
    - Dst: list_remove_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1034,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1037,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1043,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1046,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1051,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - function
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1053
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1053
    functionName: _function_called
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - strcmp
    - cm_print_error
    - exit_test
    - list_remove_free
    - list_first
    linkageType: ''
    returnType: void
    signature: 'void _function_called(const char *const function, const char *const
      file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_in_set_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1444,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1447
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1447
    functionName: check_not_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - value_in_set_display_error
    - cast_largest_integral_type_to_pointer
    linkageType: ''
    returnType: int
    signature: 'static int check_not_in_set(const LargestIntegralType value, const
      LargestIntegralType check_value_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - function
    - parameter
    - file
    - line
    - value
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - LargestIntegralType
    - int
    constantsTouched: []
    func_position:
      end: 1592
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1592
    functionName: _expect_not_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _expect_check
    linkageType: ''
    returnType: void
    signature: 'void _expect_not_value( const char* const function, const char* const
      parameter, const char* const file, const int line, const LargestIntegralType
      value, const int count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1773,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1775,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - result
    - expression
    - file
    - line
    argTypes:
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1779
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1779
    functionName: mock_assert
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - longjmp
    - cm_print_error
    linkageType: ''
    returnType: void
    signature: 'void mock_assert(const int result, const char* const expression, const
      char* const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libc_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - err_msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2054
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2054
    functionName: vcm_free_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - libc_free
    linkageType: ''
    returnType: void
    signature: 'static void vcm_free_error(char *err_msg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:435,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:443,1
    - Dst: MAX
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:447,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:444,1
    - Dst: strlen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:442,1
    - Dst: memmove
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:452,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:455,1
    - Dst: strstr
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:460,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - src
    - src_len
    - pattern
    - repl
    - str_replaced
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 464
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 464
    functionName: c_strreplace
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - MAX
    - memmove
    - memcpy
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int c_strreplace(char *src, size_t src_len, const char *pattern,
      const char *repl, int *str_replaced) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: c_strmatch
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:496,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - str
    - pattern
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 522
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 522
    functionName: c_strmatch
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - c_strmatch
    linkageType: ''
    returnType: int
    signature: 'static int c_strmatch(const char *str, const char *pattern) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_initialize
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1977
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1977
    functionName: get_allocated_blocks_list
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_initialize
    linkageType: ''
    returnType: ListNode*
    signature: 'static ListNode * get_allocated_blocks_list(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:394,1
    - Dst: exit
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:399,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: _skip
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - exit_test
    - cm_print_error
    - exit
    linkageType: ''
    returnType: void
    signature: 'void _skip(const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_values_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1858,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - epsilon
    - file
    - line
    argTypes:
    - double
    - double
    - double
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1861
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1861
    functionName: _assert_double_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - double_values_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_double_equal(const double a, const double b, const double
      epsilon, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1893,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1896
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1896
    functionName: _assert_string_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - string_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_string_equal(const char * const a, const char * const
      b, const char * const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2382,1
    - Dst: va_end
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2384,1
    - Dst: vprint_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2385
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2385
    functionName: print_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - vprint_error
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void print_error(const char* const format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_values_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1868,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - epsilon
    - file
    - line
    argTypes:
    - double
    - double
    - double
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1871
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1871
    functionName: _assert_double_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - double_values_not_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_double_not_equal(const double a, const double b, const
      double epsilon, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1901,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1904
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1904
    functionName: _assert_string_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - string_not_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_string_not_equal(const char * const a, const char * const
      b, const char *file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1264
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1264
    functionName: values_not_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int values_not_equal_display_error(const LargestIntegralType
      left, const LargestIntegralType right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_memory_setup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - function
    - parameter
    - file
    - line
    - memory
    - size
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1678
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1678
    functionName: _expect_memory
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - expect_memory_setup
    linkageType: ''
    returnType: void
    signature: 'void _expect_memory( const char* const function, const char* const
      parameter, const char* const file, const int line, const void* const memory,
      const size_t size, const int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2350,1
    - Dst: fflush
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2352,1
    - Dst: OutputDebugString
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2354,1
    - Dst: printf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 2356
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2356
    functionName: vprint_message
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - vsnprintf
    - fflush
    - printf
    - OutputDebugString
    linkageType: ''
    returnType: void
    signature: 'void vprint_message(const char* const format, va_list args) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3252,1
    - Dst: signal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3269,1
    - Dst: ARRAY_SIZE
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3268,1
    - Dst: SetUnhandledExceptionFilter
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3273,1
    - Dst: IsDebuggerPresent
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3257,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3279,1
    - Dst: initialize_testing
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3281,1
    - Dst: cm_setjmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3283,1
    - Dst: Function
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3284,1
    - Dst: fail_if_leftover_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3285,1
    - Dst: fail_if_blocks_allocated
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3290,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3301,1
    - Dst: SetUnhandledExceptionFilter
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3313,1
    - Dst: signal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3309,1
    - Dst: ARRAY_SIZE
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3308,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3296,1
    - Dst: teardown_testing
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3303,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 5
    argNames:
    - function_name
    - Function
    - state
    - function_type
    - heap_check_point
    argTypes:
    - char*
    - UnitTestFunction
    - void**
    - UnitTestFunctionType
    - void*
    constantsTouched: []
    func_position:
      end: 3320
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3320
    functionName: _run_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - fail_if_leftover_values
    - signal
    - cm_setjmp
    - IsDebuggerPresent
    - initialize_testing
    - fail_if_blocks_allocated
    - Function
    - ARRAY_SIZE
    - check_point_allocated_blocks
    - print_message
    - SetUnhandledExceptionFilter
    - teardown_testing
    linkageType: ''
    returnType: int
    signature: 'int _run_test( const char * const function_name, const UnitTestFunction
      Function, void ** const volatile state, const UnitTestFunctionType function_type,
      const void* const heap_check_point) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3331,1
    - Dst: check_point_allocated_blocks
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3392,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3459,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3457,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3352,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3453,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3454,1
    - Dst: fail_if_blocks_allocated
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3474,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3369,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3409,1
    - Dst: _run_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3414,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3446,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3471,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3472,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3462,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3466,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3348,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3373,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3401,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:3407,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 74
    argCount: 2
    argNames:
    - tests
    - number_of_tests
    argTypes:
    - UnitTest*
    - size_t
    constantsTouched: []
    func_position:
      end: 3476
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3476
    functionName: _run_tests
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - assert_true
    - _run_test
    - free
    - exit_test
    - fail_if_blocks_allocated
    - malloc
    - print_error
    - assert_null
    - check_point_allocated_blocks
    - print_message
    linkageType: ''
    returnType: int
    signature: 'int _run_tests(const UnitTest * const tests, const size_t number_of_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - location
    argTypes:
    - SourceLocation*
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: initialize_source_location
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void initialize_source_location(SourceLocation * const location) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1658,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1662,1
    - Dst: declare_initialize_value_pointer_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1660,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1661,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1663,1
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - function
    - parameter
    - file
    - line
    - memory
    - size
    - check_function
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - void*
    - size_t
    - CheckParameterValue
    - int
    constantsTouched: []
    func_position:
      end: 1668
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1668
    functionName: expect_memory_setup
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _expect_check
    - assert_true
    - memcpy
    - assert_non_null
    - malloc
    - declare_initialize_value_pointer_pointer
    linkageType: ''
    returnType: void
    signature: 'static void expect_memory_setup( const char* const function, const
      char* const parameter, const char* const file, const int line, const void *
      const memory, const size_t size, const CheckParameterValue check_function, const
      int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2336,1
    - Dst: vcm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2338,1
    - Dst: vprint_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2340,1
    - Dst: va_end
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2333
    functionDepth: 0
    functionLinenumber: 2333
    functionLinenumberEnd: 2343
    functionName: cm_print_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - vprint_error
    - va_end
    - vcm_print_error
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void cm_print_error(const char * const format, ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2393,1
    - Dst: strcasecmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2399,1
    - Dst: strcasecmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2401,1
    - Dst: strcasecmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2395,1
    - Dst: strcasecmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2407
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2407
    functionName: cm_get_output
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - getenv
    linkageType: ''
    returnType: enum cm_message_output
    signature: 'static enum cm_message_output cm_get_output(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_compare
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1231,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - left
    - right
    - epsilon
    argTypes:
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1239
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1239
    functionName: double_values_not_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - double_compare
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int double_values_not_equal_display_error(const double left,
      const double right, const double epsilon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1786,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - result
    - expression
    - file
    - line
    argTypes:
    - LargestIntegralType
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1789
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1789
    functionName: _assert_true
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - cm_print_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_true(const LargestIntegralType result, const char * const
      expression, const char * const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_initialize
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:527,1
    - Dst: initialize_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:530,1
    - Dst: initialize_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:528,1
    - Dst: list_initialize
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:531,1
    - Dst: list_initialize
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:529,1
    - Dst: initialize_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: initialize_testing
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - initialize_source_location
    - list_initialize
    linkageType: ''
    returnType: void
    signature: 'void initialize_testing(const char *test_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:778,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:780,1
    - Dst: list_find
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:784,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:779,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:781,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:788,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:789,1
    - Dst: list_first
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:796,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:797,1
    - Dst: list_remove_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:805,1
    - Dst: get_symbol_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:810,1
    - Dst: list_empty
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:814,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:820,1
    - Dst: list_remove_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:815,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - head
    - symbol_names
    - number_of_symbol_names
    - output
    argTypes:
    - ListNode*
    - char*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 822
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 822
    functionName: get_symbol_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_empty
    - assert_true
    - list_find
    - cm_print_error
    - assert_non_null
    - list_remove_free
    - get_symbol_value
    - list_first
    linkageType: ''
    returnType: int
    signature: 'static int get_symbol_value( ListNode * const head, const char * const
      symbol_names[], const size_t number_of_symbol_names, void **output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:853,1
    - Dst: list_empty
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:863,1
    - Dst: list_remove_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:868,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:860,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:854,1
    - Dst: remove_always_return_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:871,1
    - Dst: list_empty
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:876,1
    - Dst: list_remove_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:877,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - map_head
    - number_of_symbol_names
    argTypes:
    - ListNode*
    - size_t
    constantsTouched: []
    func_position:
      end: 881
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 881
    functionName: remove_always_return_values
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - remove_always_return_values
    - list_empty
    - assert_true
    - assert_non_null
    - list_remove_free
    linkageType: ''
    returnType: void
    signature: 'static void remove_always_return_values(ListNode * const map_head,
      const size_t number_of_symbol_names) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - left
    - right
    - epsilon
    argTypes:
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1205
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1205
    functionName: double_compare
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int double_compare(const double left, const double right, const
      double epsilon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float_values_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1838,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - epsilon
    - file
    - line
    argTypes:
    - float
    - float
    - float
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1841
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1841
    functionName: _assert_float_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - float_values_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_float_equal(const float a, const float b, const float
      epsilon, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: integer_in_range_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1930,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - value
    - minimum
    - maximum
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1933
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1933
    functionName: _assert_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - integer_in_range_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_in_range( const LargestIntegralType value, const LargestIntegralType
      minimum, const LargestIntegralType maximum, const char* const file, const int
      line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remove_always_return_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:539,1
    - Dst: check_for_leftover_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:540,1
    - Dst: remove_always_return_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:546,1
    - Dst: remove_always_return_values_from_list
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:554,1
    - Dst: check_for_leftover_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:547,1
    - Dst: check_for_leftover_values_list
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:555,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 562
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 562
    functionName: fail_if_leftover_values
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - remove_always_return_values
    - exit_test
    - check_for_leftover_values
    - check_for_leftover_values_list
    - remove_always_return_values_from_list
    linkageType: ''
    returnType: void
    signature: 'static void fail_if_leftover_values(const char *test_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_empty
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:888,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:894,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:895,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - head
    - error_message
    argTypes:
    - ListNode*
    - char*
    constantsTouched: []
    func_position:
      end: 901
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 901
    functionName: check_for_leftover_values_list
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    - list_empty
    linkageType: ''
    returnType: size_t
    signature: 'static size_t check_for_leftover_values_list(const ListNode * head,
      const char * const error_message) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1823,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1829,1
    - Dst: strerror
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1825,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1827,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 6
    argNames:
    - result
    - rlen
    - error
    - expression
    - file
    - line
    argTypes:
    - LargestIntegralType
    - size_t
    - LargestIntegralType
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1831
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1831
    functionName: _assert_return_code
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - strerror
    - cm_print_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_return_code(const LargestIntegralType result, size_t
      rlen, const LargestIntegralType error, const char * const expression, const
      char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float_values_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1848,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - epsilon
    - file
    - line
    argTypes:
    - float
    - float
    - float
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1851
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1851
    functionName: _assert_float_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - float_values_not_equal_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_float_not_equal(const float a, const float b, const float
      epsilon, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: integer_not_in_range_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1939,1
    - Dst: _fail
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - value
    - minimum
    - maximum
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1942
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1942
    functionName: _assert_not_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _fail
    - integer_not_in_range_display_error
    linkageType: ''
    returnType: void
    signature: 'void _assert_not_in_range( const LargestIntegralType value, const
      LargestIntegralType minimum, const LargestIntegralType maximum, const char*
      const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1984
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1984
    functionName: libc_calloc
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void*
    signature: 'static void *libc_calloc(size_t nmemb, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float_compare
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1166,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - left
    - right
    - epsilon
    argTypes:
    - float
    - float
    - float
    constantsTouched: []
    func_position:
      end: 1172
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1172
    functionName: float_values_not_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - float_compare
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int float_values_not_equal_display_error(const float left,
      const float right, const float epsilon) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_compare
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1214,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - left
    - right
    - epsilon
    argTypes:
    - double
    - double
    - double
    constantsTouched: []
    func_position:
      end: 1222
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1222
    functionName: double_values_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - double_compare
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int double_values_equal_display_error(const double left, const
      double right, const double epsilon) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strsignal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2285,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2290,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2288,1
    - Dst: exit
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2294
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2294
    functionName: exception_handler
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - exit_test
    - strsignal
    - cm_print_error
    - exit
    linkageType: ''
    returnType: CMOCKA_NORETURN
    signature: 'CMOCKA_NORETURN static void exception_handler(int sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: declare_initialize_value_pointer_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1609,1
    - Dst: _expect_check
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1611,1
    - Dst: discard_const
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - function
    - parameter
    - file
    - line
    - string
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1613
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1613
    functionName: _expect_string
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - discard_const
    - _expect_check
    - declare_initialize_value_pointer_pointer
    linkageType: ''
    returnType: void
    signature: 'void _expect_string( const char* const function, const char* const
      parameter, const char* const file, const int line, const char* string, const
      int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1685,1
    - Dst: memory_not_equal_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1688,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1689,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1692
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1692
    functionName: check_not_memory
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - memory_not_equal_display_error
    - cast_largest_integral_type_to_pointer
    - assert_non_null
    linkageType: ''
    returnType: int
    signature: 'static int check_not_memory(const LargestIntegralType value, const
      LargestIntegralType check_value_data) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2478,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2516,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2443,1
    - Dst: fopen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2446,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2456,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2517,1
    - Dst: c_strreplace
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2441,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2439,1
    - Dst: fopen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2448,1
    - Dst: fopen
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2458,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2520,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2513,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2498,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2505,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2479,1
    - Dst: getenv
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2434,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2472,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2501,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2491,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 7
    argNames:
    - group_name
    - total_executed
    - total_failed
    - total_errors
    - total_skipped
    - total_runtime
    - cm_tests
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - size_t
    - double
    - struct CMUnitTestState*
    constantsTouched: []
    func_position:
      end: 2522
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2522
    functionName: cmprintf_group_finish_xml
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - c_strreplace
    - getenv
    - fprintf
    - fopen
    - snprintf
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_group_finish_xml(const char *group_name, size_t
      total_executed, size_t total_failed, size_t total_errors, size_t total_skipped,
      double total_runtime, struct CMUnitTestState *cm_tests) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:834,1
    - Dst: list_remove_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - map_head
    argTypes:
    - ListNode*
    constantsTouched: []
    func_position:
      end: 843
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 843
    functionName: remove_always_return_values_from_list
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_remove_free
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: 'static void remove_always_return_values_from_list(ListNode * const
      map_head) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_symbol_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:952,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:963,1
    - Dst: source_location_is_set
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:965,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:959,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:966,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:971,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:974,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - function
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 977
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 977
    functionName: _mock
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    - free
    - get_symbol_value
    - exit_test
    - source_location_is_set
    linkageType: ''
    returnType: LargestIntegralType
    signature: 'LargestIntegralType _mock(const char * const function, const char*
      const file, const int line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1429
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1429
    functionName: memory_not_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int memory_not_equal_display_error( const char* const a, const
      char* const b, const size_t size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _test_malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2165,1
    - Dst: _test_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2188,1
    - Dst: _test_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2169,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2185,1
    - Dst: _test_malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - size
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2191
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2191
    functionName: _test_realloc
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - _test_free
    - _test_malloc
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'void *_test_realloc(void *ptr, const size_t size, const char *file,
      const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_allocated_blocks_list
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2197
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2197
    functionName: check_point_allocated_blocks
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - get_allocated_blocks_list
    linkageType: ''
    returnType: ListNode*
    signature: 'static const ListNode * check_point_allocated_blocks(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cm_get_output
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2739,1
    - Dst: cmprintf_group_finish_xml
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2760,1
    - Dst: cmprintf_group_finish_tap
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2754,1
    - Dst: cmprintf_group_finish_standard
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 8
    argNames:
    - group_name
    - total_executed
    - total_passed
    - total_failed
    - total_errors
    - total_skipped
    - total_runtime
    - cm_tests
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - double
    - struct CMUnitTestState*
    constantsTouched: []
    func_position:
      end: 2769
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2769
    functionName: cmprintf_group_finish
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cmprintf_group_finish_tap
    - cmprintf_group_finish_xml
    - cmprintf_group_finish_standard
    - cm_get_output
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_group_finish(const char *group_name, size_t total_executed,
      size_t total_passed, size_t total_failed, size_t total_errors, size_t total_skipped,
      double total_runtime, struct CMUnitTestState *cm_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - enum cm_message_output
    constantsTouched: []
    func_position:
      end: 2798
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2798
    functionName: cmocka_set_message_output
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cmocka_set_message_output(enum cm_message_output output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cm_get_output
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2778,1
    - Dst: cmprintf_standard
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2782,1
    - Dst: cmprintf_tap
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2788,1
    - Dst: cmprintf_subunit
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2785,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - type
    - test_number
    - test_name
    - error_message
    argTypes:
    - enum cm_printf_type
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2793
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2793
    functionName: cmprintf
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cmprintf_tap
    - cmprintf_standard
    - cm_get_output
    - cmprintf_subunit
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf(enum cm_printf_type type, size_t test_number,
      const char *test_name, const char *error_message) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2803
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2803
    functionName: cmocka_set_test_filter
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cmocka_set_test_filter(const char *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:605,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - head
    - new_node
    argTypes:
    - ListNode*
    - ListNode*
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: list_add
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - assert_non_null
    linkageType: ''
    returnType: ListNode*
    signature: 'static ListNode * list_add(ListNode * const head, ListNode *new_node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:912,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:920,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:926,1
    - Dst: list_empty
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:923,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:913,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:932,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:937,1
    - Dst: check_for_leftover_values
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:938,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - map_head
    - error_message
    - number_of_symbol_names
    argTypes:
    - ListNode*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 945
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 945
    functionName: check_for_leftover_values
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - list_empty
    - assert_true
    - cm_print_error
    - assert_non_null
    - check_for_leftover_values
    linkageType: ''
    returnType: size_t
    signature: 'static size_t check_for_leftover_values( const ListNode * const map_head,
      const char * const error_message, const size_t number_of_symbol_names) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1389,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1397,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1404
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1404
    functionName: memory_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int memory_equal_display_error(const char* const a, const char*
      const b, const size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2808
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2808
    functionName: cmocka_set_skip_filter
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cmocka_set_skip_filter(const char *pattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_allocated_blocks_list
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2061,1
    - Dst: memset
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2078,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2070,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2067,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2069,1
    - Dst: memset
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2079,1
    - Dst: memset
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2080,1
    - Dst: set_source_location
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2084,1
    - Dst: list_add
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2089,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2091
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2091
    functionName: _test_malloc
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - get_allocated_blocks_list
    - assert_true
    - assert_non_null
    - list_add
    - malloc
    - set_source_location
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void * _test_malloc(const size_t size, const char* file, const int
      line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - group_name
    - total_executed
    - total_passed
    - total_skipped
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2628
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2628
    functionName: cmprintf_group_finish_tap
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - print_message
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_group_finish_tap(const char *group_name, size_t
      total_executed, size_t total_passed, size_t total_skipped) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2687,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2690,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2695,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2699,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2693,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - type
    - test_name
    - error_message
    argTypes:
    - enum cm_printf_type
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2705
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2705
    functionName: cmprintf_subunit
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - print_message
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_subunit(enum cm_printf_type type, const char
      *test_name, const char *error_message) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - time1
    - time0
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 2844
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2844
    functionName: cm_tspecdiff
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct timespec
    signature: 'static struct timespec cm_tspecdiff(struct timespec time1, struct
      timespec time0) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2639,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2642,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2661,1
    - Dst: strdup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2647,1
    - Dst: strchr
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2656,1
    - Dst: libc_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2668,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2672,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2675,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 4
    argNames:
    - type
    - test_number
    - test_name
    - error_message
    argTypes:
    - enum cm_printf_type
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2679
    functionName: cmprintf_tap
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - strchr
    - strdup
    - print_message
    - libc_free
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_tap(enum cm_printf_type type, size_t test_number,
      const char *test_name, const char *error_message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cm_get_output
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2712,1
    - Dst: cmprintf_group_start_tap
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2721,1
    - Dst: cmprintf_group_start_standard
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - group_name
    - num_tests
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2726
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2726
    functionName: cmprintf_group_start
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cmprintf_group_start_standard
    - cmprintf_group_start_tap
    - cm_get_output
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_group_start(const char *group_name, const size_t
      num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cm_tspecdiff
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - clock1
    - clock0
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 2857
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2857
    functionName: cm_secdiff
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_tspecdiff
    linkageType: ''
    returnType: double
    signature: 'static double cm_secdiff(struct timespec clock1, struct timespec clock0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_in_set_display_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1435,1
    - Dst: cast_largest_integral_type_to_pointer
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - check_value_data
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1438
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1438
    functionName: check_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - value_in_set_display_error
    - cast_largest_integral_type_to_pointer
    linkageType: ''
    returnType: int
    signature: 'static int check_in_set(const LargestIntegralType value, const LargestIntegralType
      check_value_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_allocated_blocks_list
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2203,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2207,1
    - Dst: discard_const
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2211,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2213,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2206,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2216,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - check_point
    argTypes:
    - ListNode*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2225
    functionName: display_allocated_blocks
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    - get_allocated_blocks_list
    - discard_const
    - assert_non_null
    linkageType: ''
    returnType: size_t
    signature: 'static size_t display_allocated_blocks(const ListNode * const check_point) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2303,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2311,1
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2308,1
    - Dst: fflush
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2307,1
    - Dst: exit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - exception_pointers
    argTypes:
    - EXCEPTION_POINTERS*
    constantsTouched: []
    func_position:
      end: 2330
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2330
    functionName: exception_filter
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - exit_test
    - fflush
    - ARRAY_SIZE
    - cm_print_error
    linkageType: ''
    returnType: LONG
    signature: 'static LONG WINAPI exception_filter(EXCEPTION_POINTERS *exception_pointers) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cm_print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    constantsTouched: []
    func_position:
      end: 1251
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1251
    functionName: values_equal_display_error
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - cm_print_error
    linkageType: ''
    returnType: int
    signature: 'static int values_equal_display_error(const LargestIntegralType left,
      const LargestIntegralType right) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2584,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2591,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2593,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2587,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2596,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2600,1
    - Dst: print_error
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2602,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - type
    - test_name
    - error_message
    argTypes:
    - enum cm_printf_type
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2605
      start: 2578
    functionDepth: 0
    functionLinenumber: 2578
    functionLinenumberEnd: 2605
    functionName: cmprintf_standard
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - print_message
    - print_error
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_standard(enum cm_printf_type type, const char
      *test_name, const char *error_message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2611,1
    - Dst: print_message
      Src: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c:2615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2616
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2616
    functionName: cmprintf_group_start_tap
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/src/cmocka.c
    functionUses: []
    functionsReached:
    - print_message
    linkageType: ''
    returnType: void
    signature: 'static void cmprintf_group_start_tap(const size_t num_tests) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 6
    argNames:
    - result
    - rlen
    - error
    - expression
    - file
    - line
    argTypes:
    - LargestIntegralType
    - size_t
    - LargestIntegralType
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: _assert_return_code
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_return_code(const LargestIntegralType result, size_t
      rlen, const LargestIntegralType error, const char * const expression, const
      char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:17,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: _assert_int_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_int_equal( const LargestIntegralType a, const LargestIntegralType
      b, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:65,1
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:72,1
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: _assert_string_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_weak_guard_sink__
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_string_not_equal(const char * const a, const char * const
      b, const char *file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:101,1
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:108,1
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - a
    - b
    - size
    - file
    - line
    argTypes:
    - void*
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: _assert_memory_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_weak_guard_sink__
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_memory_not_equal(const void * const a, const void * const
      b, const size_t size, const char* const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - value
    - minimum
    - maximum
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: _assert_not_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_not_in_range( const LargestIntegralType value, const
      LargestIntegralType minimum, const LargestIntegralType maximum, const char*
      const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:8,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - result
    - expression
    - file
    - line
    argTypes:
    - LargestIntegralType
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: _assert_true
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_true(const LargestIntegralType result, const char* const
      expression, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: _assert_int_not_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_int_not_equal( const LargestIntegralType a, const LargestIntegralType
      b, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:48,1
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:49,1
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: _assert_string_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_weak_guard_sink__
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_string_equal(const char * const a, const char * const
      b, const char * const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:83,1
    - Dst: __coverity_weak_guard_sink__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:84,1
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - a
    - b
    - size
    - file
    - line
    argTypes:
    - void*
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: _assert_memory_equal
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_weak_guard_sink__
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_memory_equal(const void * const a, const void * const
      b, const size_t size, const char* const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - value
    - minimum
    - maximum
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - LargestIntegralType
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: _assert_in_range
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_in_range( const LargestIntegralType value, const LargestIntegralType
      minimum, const LargestIntegralType maximum, const char* const file, const int
      line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - value
    - values
    - number_of_values
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: _assert_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_in_set( const LargestIntegralType value, const LargestIntegralType
      values[], const size_t number_of_values, const char* const file, const int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - value
    - values
    - number_of_values
    - file
    - line
    argTypes:
    - LargestIntegralType
    - LargestIntegralType
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: _assert_not_in_set
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_assert_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void _assert_not_in_set( const LargestIntegralType value, const LargestIntegralType
      values[], const size_t number_of_values, const char* const file, const int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_internal_model.c:3,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - quit_application
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 4
    functionName: exit_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/coverity/coverity_internal_model.c
    functionUses: []
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void exit_test(const int quit_application) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: _unit_test_dummy
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/include/cmocka.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void _unit_test_dummy(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leak_memory
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: leak_memory_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c
    functionUses: []
    functionsReached:
    - leak_memory
    linkageType: ''
    returnType: void
    signature: 'static void leak_memory_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_underflow
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: buffer_underflow_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c
    functionUses: []
    functionsReached:
    - buffer_underflow
    linkageType: ''
    returnType: void
    signature: 'static void buffer_underflow_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c:47,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c:51,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c:49,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_overflow
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: buffer_overflow_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module_test.c
    functionUses: []
    functionsReached:
    - buffer_overflow
    linkageType: ''
    returnType: void
    signature: 'static void buffer_overflow_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:152,1
    - Dst: find_operator_function_by_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:152,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: test_find_operator_function_by_string_null_string
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - array_length
    - expect_assert_failure
    - find_operator_function_by_string
    linkageType: ''
    returnType: void
    signature: 'static void test_find_operator_function_by_string_null_string(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:246,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:246,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: test_perform_operation_null_number_of_intermediate_values
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - expect_assert_failure
    - array_length
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_null_number_of_intermediate_values(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:325,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:329,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:328,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:328,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:329,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: test_perform_operation_unknown_operator
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - array_length
    - expect_string
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_unknown_operator(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:375,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:378,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:379,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:379,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:378,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: test_perform_operation_no_integer_after_operator
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - array_length
    - expect_string
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_no_integer_after_operator(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:460,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:462,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:464,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:466,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:472,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:474,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:470,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:468,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:476,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:478,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:457,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:458,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:480,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:459,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:461,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:463,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:465,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:469,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:467,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:471,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:475,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:473,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:66,1
    - Dst: vsnprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:68,1
    - Dst: va_end
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:71,1
    - Dst: va_start
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:67,1
    - Dst: check_expected_ptr
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - file
    - format
    - '...'
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: example_test_fprintf
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - va_start
    - assert_true
    - vsnprintf
    - va_end
    - check_expected_ptr
    linkageType: ''
    returnType: int
    signature: 'int example_test_fprintf(FILE* const file, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_expected
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:90,1
    - Dst: mock
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:92,1
    - Dst: check_expected
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: binary_operator
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - mock
    - check_expected
    linkageType: ''
    returnType: int
    signature: 'static int binary_operator(int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:190,1
    - Dst: find_operator_function_by_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:192,1
    - Dst: cast_ptr_to_largest_integral_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:191,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: test_find_operator_function_by_string_found
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - find_operator_function_by_string
    - array_length
    - cast_ptr_to_largest_integral_type
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_find_operator_function_by_string_found(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:227,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:227,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: test_perform_operation_null_operator_functions
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - expect_assert_failure
    - array_length
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_null_operator_functions(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:80,1
    - Dst: va_end
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:84,1
    - Dst: check_expected_ptr
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:83,1
    - Dst: vsnprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: example_test_printf
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - va_end
    - vsnprintf
    - check_expected_ptr
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int example_test_printf(const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:108,1
    - Dst: subtract
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:108,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:109,1
    - Dst: subtract
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: test_subtract
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - subtract
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_subtract(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:175,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:176,1
    - Dst: find_operator_function_by_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: test_find_operator_function_by_string_not_found
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - array_length
    - assert_null
    - find_operator_function_by_string
    linkageType: ''
    returnType: void
    signature: 'static void test_find_operator_function_by_string_not_found(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:209,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:209,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: test_perform_operation_null_args
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - expect_assert_failure
    - array_length
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_null_args(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:446,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:447,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:448,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:451,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:449,1
    - Dst: example_main
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:451,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 452
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 452
    functionName: test_example_main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - example_main
    - array_length
    - expect_string
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_example_main(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:100,1
    - Dst: add
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:101,1
    - Dst: add
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:100,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: test_add
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - add
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_add(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:300,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:303,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:303,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:304,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: test_perform_operation_first_arg_not_integer
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - array_length
    - expect_string
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_first_arg_not_integer(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:433,1
    - Dst: example_main
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:433,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: test_example_main_no_args
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - example_main
    - array_length
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_example_main_no_args(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:279,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:282,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: test_perform_operation_no_arguments
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_no_arguments(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:124,1
    - Dst: divide
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:125,1
    - Dst: divide
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: test_divide
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - divide
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_divide(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:116,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:117,1
    - Dst: multiply
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:116,1
    - Dst: multiply
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: test_multiply
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - multiply
    linkageType: ''
    returnType: void
    signature: 'static void test_multiply(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:140,1
    - Dst: find_operator_function_by_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: test_find_operator_function_by_string_null_functions
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - expect_assert_failure
    - find_operator_function_by_string
    linkageType: ''
    returnType: void
    signature: 'static void test_find_operator_function_by_string_null_functions(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:132,1
    - Dst: divide
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: test_divide_by_zero
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - divide
    - expect_assert_failure
    linkageType: ''
    returnType: void
    signature: 'static void test_divide_by_zero(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:161,1
    - Dst: find_operator_function_by_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: test_find_operator_function_by_string_valid_null_functions
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - assert_null
    - find_operator_function_by_string
    linkageType: ''
    returnType: void
    signature: 'static void test_find_operator_function_by_string_valid_null_functions(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:265,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:266,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:265,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: test_perform_operation_null_intermediate_values
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - expect_assert_failure
    - array_length
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_null_intermediate_values(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:350,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:353,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:353,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:354,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: test_perform_operation_missing_argument
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - perform_operation
    - array_length
    - expect_string
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation_missing_argument(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:403,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:405,1
    - Dst: expect_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:408,1
    - Dst: expect_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:404,1
    - Dst: expect_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:409,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:410,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:412,1
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:412,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:413,1
    - Dst: array_length
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:413,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:416,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:419,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:420,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:418,1
    - Dst: test_free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 422
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 422
    functionName: test_perform_operation
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator_test.c
    functionUses: []
    functionsReached:
    - expect_value
    - will_return
    - assert_int_equal
    - test_free
    - array_length
    - assert_non_null
    - perform_operation
    linkageType: ''
    returnType: void
    signature: 'static void test_perform_operation(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: add
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int add(int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: multiply
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int multiply(int a, int b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:183,1
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:186,1
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:185,1
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:184,1
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:187,1
    - Dst: strtol
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:196,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:199,1
    - Dst: calloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:206,1
    - Dst: find_operator_function_by_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:213,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:220,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:228,1
    - Dst: strtol
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:234,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:249,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:237,1
    - Dst: function
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 7
    argNames:
    - number_of_arguments
    - arguments
    - number_of_operator_functions
    - operator_functions
    - number_of_intermediate_values
    - intermediate_values
    - error_occurred
    argTypes:
    - int
    - char*
    - size_t
    - OperatorFunction*
    - int*
    - int**
    - int*
    constantsTouched: []
    func_position:
      end: 255
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 255
    functionName: perform_operation
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c
    functionUses: []
    functionsReached:
    - strtol
    - assert
    - function
    - free
    - fprintf
    - calloc
    - find_operator_function_by_string
    linkageType: ''
    returnType: int
    signature: 'int perform_operation( int number_of_arguments, char *arguments[],
      const size_t number_of_operator_functions, const OperatorFunction * const operator_functions,
      int * const number_of_intermediate_values, int ** const intermediate_values,
      int * const error_occurred) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: subtract
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int subtract(int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: divide
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int divide(int a, int b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: perform_operation
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:262,1
    - Dst: printf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:275,1
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:274,1
    - Dst: printf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:278,1
    - Dst: printf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:272,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c
    functionUses: []
    functionsReached:
    - perform_operation
    - assert
    - printf
    - free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:147,1
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:153,1
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - number_of_operator_functions
    - operator_functions
    - operator_string
    argTypes:
    - size_t
    - OperatorFunction*
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: find_operator_function_by_string
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/calculator.c
    functionUses: []
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: BinaryOperator
    signature: 'BinaryOperator find_operator_function_by_string( const size_t number_of_operator_functions,
      const OperatorFunction * const operator_functions, const char* const operator_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: leak_memory
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void leak_memory(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c:45,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: buffer_overflow
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c
    functionUses: []
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: 'void buffer_overflow(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c:51,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: buffer_underflow
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/allocate_module.c
    functionUses: []
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: 'void buffer_underflow(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: get_status_code_string
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * get_status_code_string(const unsigned int status_code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - status_code_string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: string_to_status_code
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int string_to_status_code(const char* const status_code_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: increment_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: increment_value_fail
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c
    functionUses: []
    functionsReached:
    - increment_value
    linkageType: ''
    returnType: void
    signature: 'static void increment_value_fail(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:37,1
    - Dst: increment_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: increment_value_assert
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c
    functionUses: []
    functionsReached:
    - increment_value
    - expect_assert_failure
    linkageType: ''
    returnType: void
    signature: 'static void increment_value_assert(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:50,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:51,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:54,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:45,1
    - Dst: decrement_value
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: decrement_value_fail
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module_test.c
    functionUses: []
    functionsReached:
    - decrement_value
    - expect_assert_failure
    linkageType: ''
    returnType: void
    signature: 'static void decrement_value_fail(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: increment_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void increment_value(int * const value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: decrement_value
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_module.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void decrement_value(int * const value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: null_test_success
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/simple_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void null_test_success(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/simple_test.c:13,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/simple_test.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/simple_test.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:27,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:28,1
    - Dst: get_status_code_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:27,1
    - Dst: get_status_code_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: get_status_code_string_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c
    functionUses: []
    functionsReached:
    - assert_string_equal
    - get_status_code_string
    linkageType: ''
    returnType: void
    signature: 'static void get_status_code_string_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:35,1
    - Dst: string_to_status_code
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:36,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:36,1
    - Dst: string_to_status_code
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: string_to_status_code_test
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c
    functionUses: []
    functionsReached:
    - string_to_status_code
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void string_to_status_code_test(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:41,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:44,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/assert_macro_test.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - order
    - dish_out
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: chef_cook
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/chef.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int chef_cook(const char *order, char **dish_out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: chef_strerror
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/chef.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *chef_strerror(int error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_expected_ptr
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:62,1
    - Dst: mock_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:64,1
    - Dst: mock_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:69,1
    - Dst: mock_ptr_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:74,1
    - Dst: strdup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:75,1
    - Dst: mock_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - order
    - dish_out
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: __wrap_chef_cook
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c
    functionUses: []
    functionsReached:
    - strdup
    - mock_type
    - check_expected_ptr
    - mock_ptr_type
    linkageType: ''
    returnType: int
    signature: 'int __wrap_chef_cook(const char *order, char **dish_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:115,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:119,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:120,1
    - Dst: cast_ptr_to_largest_integral_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:122,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:122,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:123,1
    - Dst: waiter_process
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:126,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:129,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:131,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: test_order_hotdog
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c
    functionUses: []
    functionsReached:
    - waiter_process
    - expect_string
    - assert_int_equal
    - will_return
    - assert_string_equal
    - free
    - cast_ptr_to_largest_integral_type
    linkageType: ''
    returnType: void
    signature: 'static void test_order_hotdog(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:170,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:171,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:145,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:149,1
    - Dst: cast_ptr_to_largest_integral_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:155,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:155,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:150,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:156,1
    - Dst: waiter_process
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:159,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:162,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 165
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 165
    functionName: test_bad_dish
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c
    functionUses: []
    functionsReached:
    - waiter_process
    - expect_string
    - assert_int_equal
    - will_return
    - cast_ptr_to_largest_integral_type
    - assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_bad_dish(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chef_cook
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:90,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:99,1
    - Dst: chef_strerror
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:93,1
    - Dst: strcmp
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:98,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - order
    - dish
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: waiter_process
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/chef_wrap/waiter_test_wrap.c
    functionUses: []
    functionsReached:
    - strcmp
    - chef_strerror
    - chef_cook
    - free
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int waiter_process(const char *order, char **dish) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:44,1
    - Dst: setlocale
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:55,1
    - Dst: read
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:49,1
    - Dst: strdup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:55,1
    - Dst: close
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:50,1
    - Dst: setlocale
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:60,1
    - Dst: sscanf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:61,1
    - Dst: setlocale
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:62,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c:63,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - uptime_path
    - uptime_secs
    - idle_secs
    argTypes:
    - char*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 77
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 77
    functionName: uptime
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/proc_uptime.c
    functionUses: []
    functionsReached:
    - open
    - close
    - strdup
    - sscanf
    - free
    - setlocale
    - read
    linkageType: ''
    returnType: int
    signature: 'int uptime(const char *uptime_path, double *uptime_secs, double *idle_secs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_expected_ptr
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:47,1
    - Dst: mock_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:50,1
    - Dst: mock_type
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - uptime_path
    - uptime_secs
    - idle_secs
    argTypes:
    - char*
    - double*
    - double*
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: __wrap_uptime
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c
    functionUses: []
    functionsReached:
    - mock_type
    - check_expected_ptr
    linkageType: ''
    returnType: int
    signature: 'int __wrap_uptime(const char *uptime_path, double *uptime_secs, double
      *idle_secs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:90,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:93,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:97,1
    - Dst: calc_uptime
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:100,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:96,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:103,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:104,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: test_calc_uptime_hour_minute
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c
    functionUses: []
    functionsReached:
    - expect_string
    - will_return
    - assert_string_equal
    - calc_uptime
    - assert_non_null
    - free
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void test_calc_uptime_hour_minute(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:136,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:142,1
    - Dst: calc_uptime
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:146,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:139,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:143,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:149,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:150,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: test_calc_uptime_days_hours_minutes
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c
    functionUses: []
    functionsReached:
    - expect_string
    - will_return
    - assert_string_equal
    - calc_uptime
    - assert_non_null
    - free
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void test_calc_uptime_days_hours_minutes(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:67,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:70,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:74,1
    - Dst: calc_uptime
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:77,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:73,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:80,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:81,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: test_calc_uptime_minutes
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c
    functionUses: []
    functionsReached:
    - expect_string
    - will_return
    - assert_string_equal
    - calc_uptime
    - assert_non_null
    - free
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void test_calc_uptime_minutes(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:113,1
    - Dst: calc_uptime
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:123,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:116,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:120,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:119,1
    - Dst: assert_non_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:126,1
    - Dst: assert_string_equal
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:127,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: test_calc_uptime_days_minutes
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c
    functionUses: []
    functionsReached:
    - expect_string
    - will_return
    - assert_string_equal
    - calc_uptime
    - assert_non_null
    - free
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void test_calc_uptime_days_minutes(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:159,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:164,1
    - Dst: will_return
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:165,1
    - Dst: expect_string
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:162,1
    - Dst: calc_uptime
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:167,1
    - Dst: assert_null
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:168,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: test_calc_uptime_null
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c
    functionUses: []
    functionsReached:
    - expect_string
    - will_return
    - calc_uptime
    - free
    - UNUSED
    - assert_null
    linkageType: ''
    returnType: void
    signature: 'static void test_calc_uptime_null(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:176,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:178,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:179,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:177,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:180,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/test_uptime.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uptime
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:34,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:43,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:51,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:68,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:59,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:77,1
    - Dst: snprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:86,1
    - Dst: strdup
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 95
    functionName: calc_uptime
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c
    functionUses: []
    functionsReached:
    - uptime
    - strdup
    - snprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *calc_uptime(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calc_uptime
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:102,1
    - Dst: printf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:108,1
    - Dst: free
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:110,1
    - Dst: fprintf
      Src: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/cmockalib/cmocka/example/mock/uptime/uptime.c
    functionUses: []
    functionsReached:
    - calc_uptime
    - fprintf
    - printf
    - free
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/support.c:8,1
    - Dst: UINT64_C
      Src: /src/libspdm/unit_test/test_spdm_common/support.c:8,1
    - Dst: libspdm_le_to_be_64
      Src: /src/libspdm/unit_test/test_spdm_common/support.c:8,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: libspdm_test_common_context_data_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/support.c
    functionUses: []
    functionsReached:
    - UINT64_C
    - libspdm_le_to_be_64
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_common_context_data_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/support.c:14,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_common/support.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: libspdm_common_support_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/support.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int libspdm_common_support_test_main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_common_context_data_test_main
      Src: /src/libspdm/unit_test/test_spdm_common/test_spdm_common.c:14,1
    - Dst: libspdm_common_support_test_main
      Src: /src/libspdm/unit_test/test_spdm_common/test_spdm_common.c:18,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 23
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/test_spdm_common.c
    functionUses: []
    functionsReached:
    - libspdm_common_support_test_main
    - libspdm_common_context_data_test_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1255,1
    - Dst: libspdm_process_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1265,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1260,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1269,1
    - Dst: libspdm_build_opaque_data_version_selection_data_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1262,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1272
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1272
    functionName: libspdm_test_process_opaque_data_selection_version_data_case17
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_multi_element_opaque_data_version_selection_data_size
    - assert_int_equal
    - libspdm_build_opaque_data_version_selection_data_test
    - free
    - libspdm_process_opaque_data_version_selection_data
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_selection_version_data_case17(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1285,1
    - Dst: libspdm_secured_message_get_context_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1290,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1290,1
    - Dst: libspdm_get_context_size_without_secured_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1285,1
    - Dst: libspdm_init_context_with_secured_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1293,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1295,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1300,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1304,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1309
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1309
    functionName: libspdm_test_secured_message_context_location_selection_case18
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - assert_ptr_equal
    - assert_int_equal
    - free
    - libspdm_secured_message_get_context_size
    - libspdm_init_context_with_secured_context
    - libspdm_get_context_size_without_secured_context
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_secured_message_context_location_selection_case18(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:962,1
    - Dst: libspdm_process_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:973,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:968,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:977,1
    - Dst: libspdm_build_multi_element_opaque_data_supported_version_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:970,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 980
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 980
    functionName: libspdm_test_process_opaque_data_supported_version_data_case10
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_process_opaque_data_supported_version_data
    - libspdm_build_multi_element_opaque_data_supported_version_test
    - free
    - malloc
    - libspdm_get_multi_element_opaque_data_supported_version_data_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_supported_version_data_case10(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:906,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:922,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:909,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:920,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:912,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:923,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:924,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:931,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:933,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 936
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 936
    functionName: libspdm_test_set_data_case9
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_ptr_equal
    - assert_int_equal
    - memcpy
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_set_data
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_set_data_case9(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_secured_message_export_master_secret
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1328,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1331,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1337,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1336,1
    - Dst: libspdm_secured_message_clear_export_master_secret
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1333,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1339,1
    - Dst: libspdm_secured_message_export_master_secret
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1350,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1353,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1356,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1358,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1376,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1378,1
    - Dst: libspdm_secured_message_export_master_secret
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1369,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1381,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1382
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1382
    functionName: libspdm_test_export_master_secret_case19
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_clear_export_master_secret
    - assert_int_equal
    - libspdm_secured_message_export_master_secret
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_export_master_secret_case19(void **state) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_init_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1473,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1492,1
    - Dst: assert_int_not_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1504,1
    - Dst: libspdm_assign_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1510,1
    - Dst: assert_int_not_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1524,1
    - Dst: assert_int_not_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1527,1
    - Dst: libspdm_assign_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1530,1
    - Dst: libspdm_get_context_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1472,1
    - Dst: libspdm_allocate_req_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1503,1
    - Dst: assert_ptr_not_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1511,1
    - Dst: libspdm_allocate_req_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1523,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1526,1
    - Dst: libspdm_generate_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1529,1
    - Dst: assert_ptr_not_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1531,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1496,1
    - Dst: assert_int_not_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1507,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1517,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1514,1
    - Dst: libspdm_allocate_req_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1513,1
    - Dst: libspdm_allocate_req_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1534,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1537,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1472,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1489,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1506,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1516,1
    - Dst: libspdm_generate_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1509,1
    - Dst: libspdm_allocate_rsp_session_id
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1536,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1540,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 100
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1542
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1542
    functionName: libspdm_test_max_session_count_case21
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_generate_session_id
    - libspdm_allocate_rsp_session_id
    - libspdm_assign_session_id
    - assert_ptr_not_equal
    - assert_int_equal
    - libspdm_zero_mem
    - libspdm_set_data
    - free
    - libspdm_init_context
    - libspdm_allocate_req_session_id
    - malloc
    - assert_int_not_equal
    - libspdm_get_context_size
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_max_session_count_case21(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1389,1
    - Dst: libspdm_init_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1391,1
    - Dst: libspdm_check_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1393,1
    - Dst: libspdm_get_context_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1389,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1394,1
    - Dst: libspdm_register_transport_layer_func
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1396,1
    - Dst: libspdm_register_device_buffer_func
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1403,1
    - Dst: libspdm_check_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1411,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1412,1
    - Dst: libspdm_register_transport_layer_func
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1414,1
    - Dst: libspdm_check_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1421,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1423
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1423
    functionName: libspdm_test_check_context_case20
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_register_device_buffer_func
    - assert_int_equal
    - libspdm_check_context
    - libspdm_register_transport_layer_func
    - libspdm_init_context
    - malloc
    - libspdm_get_context_size
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_check_context_case20(void **state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:137,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:149,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:184,1
    - Dst: libspdm_get_connection_version
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:146,1
    - Dst: libspdm_get_connection_version
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:191,1
    - Dst: libspdm_get_multi_element_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:195,1
    - Dst: libspdm_get_multi_element_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:204,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:214,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:217,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 4
    argNames:
    - spdm_context
    - data_out_size
    - data_out
    - element_num
    argTypes:
    - libspdm_context_t*
    - size_t*
    - void*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 220
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 220
    functionName: libspdm_build_multi_element_opaque_data_supported_version_test
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_connection_version
    - libspdm_zero_mem
    - LIBSPDM_DEBUG
    - libspdm_write_uint24
    - libspdm_get_multi_element_opaque_data_supported_version_data_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_build_multi_element_opaque_data_supported_version_test(libspdm_context_t
      *spdm_context, size_t *data_out_size, void *data_out, uint8_t element_num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:521,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:523,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:533,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:532,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:530,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 537
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 537
    functionName: libspdm_test_common_context_data_case4
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_data
    - libspdm_set_data
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_common_context_data_case4(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_connection_version
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - spdm_context
    - version_count
    - element_num
    argTypes:
    - libspdm_context_t*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: libspdm_get_multi_element_opaque_data_supported_version_data_size
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_connection_version
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_multi_element_opaque_data_supported_version_data_size(
      libspdm_context_t *spdm_context, uint8_t version_count, uint8_t element_num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:421,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:423,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:427,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:424,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:433,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:435,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:438,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:440,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:441,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:442,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 446
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 446
    functionName: libspdm_test_common_context_data_case2
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_data
    - libspdm_set_data
    - assert_ptr_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_common_context_data_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:472,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:478,1
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:485,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:474,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:475,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:487,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:490,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:492,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:493,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:494,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 499
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 499
    functionName: libspdm_test_common_context_data_case3
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_data
    - libspdm_set_data
    - assert_ptr_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_common_context_data_case3(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:633,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:660,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:636,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:640,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:643,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:662,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:667,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:669,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:670,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:672,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:673,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 674
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 674
    functionName: libspdm_test_verify_peer_cert_chain_buffer_case6
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_ptr_equal
    - assert_int_equal
    - libspdm_verify_peer_cert_chain_buffer
    - libspdm_x509_get_cert_from_cert_chain
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_verify_peer_cert_chain_buffer_case6(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:820,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:827,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:844,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:823,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:830,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:846,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:853,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:855,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:856,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:868,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:870,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:871,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:874,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:873,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 875
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 875
    functionName: libspdm_test_verify_peer_cert_chain_buffer_case8
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_ptr_equal
    - assert_int_equal
    - libspdm_verify_peer_cert_chain_buffer
    - libspdm_x509_get_cert_from_cert_chain
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_verify_peer_cert_chain_buffer_case8(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1169,1
    - Dst: libspdm_build_opaque_data_version_selection_data_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1176,1
    - Dst: libspdm_process_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1179,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1183,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1174,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1186
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1186
    functionName: libspdm_test_process_opaque_data_selection_version_data_case15
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_multi_element_opaque_data_version_selection_data_size
    - assert_int_equal
    - libspdm_build_opaque_data_version_selection_data_test
    - free
    - libspdm_process_opaque_data_version_selection_data
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_selection_version_data_case15(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1212,1
    - Dst: libspdm_process_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1222,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1217,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1226,1
    - Dst: libspdm_build_opaque_data_version_selection_data_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1219,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1229
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1229
    functionName: libspdm_test_process_opaque_data_selection_version_data_case16
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_multi_element_opaque_data_version_selection_data_size
    - assert_int_equal
    - libspdm_build_opaque_data_version_selection_data_test
    - free
    - libspdm_process_opaque_data_version_selection_data
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_selection_version_data_case16(void
      **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_verify_peer_cert_chain_buffer_integrity
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:45,1
    - Dst: libspdm_verify_peer_cert_chain_buffer_authority
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - spdm_context
    - cert_chain_buffer
    - cert_chain_buffer_size
    - trust_anchor
    - trust_anchor_size
    argTypes:
    - void*
    - void*
    - size_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: libspdm_verify_peer_cert_chain_buffer
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_verify_peer_cert_chain_buffer_authority
    - libspdm_verify_peer_cert_chain_buffer_integrity
    linkageType: ''
    returnType: bool
    signature: 'static bool libspdm_verify_peer_cert_chain_buffer(void *spdm_context,
      const void *cert_chain_buffer, size_t cert_chain_buffer_size, const void **trust_anchor,
      size_t *trust_anchor_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:381,1
    - Dst: assert_memory_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:390,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:383,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:388,1
    - Dst: libspdm_get_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:386,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:391,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 395
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 395
    functionName: libspdm_test_common_context_data_case1
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_data
    - libspdm_set_data
    - assert_memory_equal
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_common_context_data_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:568,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:584,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:588,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:586,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 589
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 589
    functionName: libspdm_test_verify_peer_cert_chain_buffer_case5
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_int_equal
    - libspdm_verify_peer_cert_chain_buffer
    - libspdm_x509_get_cert_from_cert_chain
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_verify_peer_cert_chain_buffer_case5(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:718,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:728,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:749,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:721,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:725,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:751,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:758,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:760,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:761,1
    - Dst: libspdm_verify_peer_cert_chain_buffer
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:768,1
    - Dst: assert_ptr_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:771,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:770,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:773,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:774,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 775
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 775
    functionName: libspdm_test_verify_peer_cert_chain_buffer_case7
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - assert_ptr_equal
    - assert_int_equal
    - libspdm_verify_peer_cert_chain_buffer
    - libspdm_x509_get_cert_from_cert_chain
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_verify_peer_cert_chain_buffer_case7(void **state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:300,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:310,1
    - Dst: libspdm_get_connection_version
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:307,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:355,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - spdm_context
    - data_out_size
    - data_out
    - element_num
    argTypes:
    - libspdm_context_t*
    - size_t*
    - void*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 361
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 361
    functionName: libspdm_build_opaque_data_version_selection_data_test
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_multi_element_opaque_data_version_selection_data_size
    - libspdm_get_connection_version
    - libspdm_zero_mem
    - LIBSPDM_DEBUG
    - libspdm_write_uint24
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_build_opaque_data_version_selection_data_test(const
      libspdm_context_t *spdm_context, size_t *data_out_size, void *data_out, uint8_t
      element_num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1002,1
    - Dst: libspdm_build_multi_element_opaque_data_supported_version_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1010,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1017,1
    - Dst: libspdm_process_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1013,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1008,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1019,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1020
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1020
    functionName: libspdm_test_process_opaque_data_supported_version_data_case11
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_process_opaque_data_supported_version_data
    - libspdm_build_multi_element_opaque_data_supported_version_test
    - free
    - malloc
    - libspdm_get_multi_element_opaque_data_supported_version_data_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_supported_version_data_case11(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1081,1
    - Dst: libspdm_process_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1092,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1087,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1096,1
    - Dst: libspdm_build_multi_element_opaque_data_supported_version_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1089,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1098,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1099
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1099
    functionName: libspdm_test_process_opaque_data_supported_version_data_case13
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_process_opaque_data_supported_version_data
    - libspdm_build_multi_element_opaque_data_supported_version_test
    - free
    - malloc
    - libspdm_get_multi_element_opaque_data_supported_version_data_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_supported_version_data_case13(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1622,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1684,1
    - Dst: libspdm_get_element_from_opaque_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1678,1
    - Dst: libspdm_get_element_from_opaque_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1685,1
    - Dst: LIBSPDM_ARRAY_SIZE
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1671,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 69
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1692
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1692
    functionName: libspdm_test_process_opaque_data_case22
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_element_from_opaque_data
    - libspdm_set_mem
    - LIBSPDM_ARRAY_SIZE
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_process_opaque_data_case22(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1041,1
    - Dst: libspdm_build_multi_element_opaque_data_supported_version_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1049,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1047,1
    - Dst: libspdm_process_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1052,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1056,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1058,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1059
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1059
    functionName: libspdm_test_process_opaque_data_supported_version_data_case12
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - assert_int_equal
    - libspdm_process_opaque_data_supported_version_data
    - libspdm_build_multi_element_opaque_data_supported_version_test
    - free
    - malloc
    - libspdm_get_multi_element_opaque_data_supported_version_data_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_supported_version_data_case12(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_multi_element_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1125,1
    - Dst: libspdm_process_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1135,1
    - Dst: libspdm_build_opaque_data_version_selection_data_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1132,1
    - Dst: assert_int_equal
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1139,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1130,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1142
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1142
    functionName: libspdm_test_process_opaque_data_selection_version_data_case14
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_multi_element_opaque_data_version_selection_data_size
    - assert_int_equal
    - libspdm_build_opaque_data_version_selection_data_test
    - free
    - libspdm_process_opaque_data_version_selection_data
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_selection_version_data_case14(void
      **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1707,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1710,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1712,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1717,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1725,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1734,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1741,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1747,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1749,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1704,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1705,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1719,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1727,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1737,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1744,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1706,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1709,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1711,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1714,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1721,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1729,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1738,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1723,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:1731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1752
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1752
    functionName: libspdm_common_context_data_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - cmocka_unit_test
    - cmocka_run_group_tests
    linkageType: ''
    returnType: int
    signature: 'int libspdm_common_context_data_test_main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_connection_version
      Src: /src/libspdm/unit_test/test_spdm_common/context_data.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - spdm_context
    - element_num
    argTypes:
    - libspdm_context_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 259
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 259
    functionName: libspdm_get_multi_element_opaque_data_version_selection_data_size
    functionSourceFile: /src/libspdm/unit_test/test_spdm_common/context_data.c
    functionUses: []
    functionsReached:
    - libspdm_get_connection_version
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_multi_element_opaque_data_version_selection_data_size(
      const libspdm_context_t *spdm_context, uint8_t element_num) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:162,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:163,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:217,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:219,1
    - Dst: libspdm_aead_chacha20_poly1305_decrypt
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:225,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:233,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:272,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:273,1
    - Dst: libspdm_aead_sm4_gcm_decrypt
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:279,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:286,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:261,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:278,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:166,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:167,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:172,1
    - Dst: libspdm_aead_chacha20_poly1305_encrypt
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:198,1
    - Dst: libspdm_aead_aes_gcm_decrypt
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:173,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:178,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:205,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:237,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:246,1
    - Dst: libspdm_aead_sm4_gcm_encrypt
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:255,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:294,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:269,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:141,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:155,1
    - Dst: libspdm_aead_aes_gcm_encrypt
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:148,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:144,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:170,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:190,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:182,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:209,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:224,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:240,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:276,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:242,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:301,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:293,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:159,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:185,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:186,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:194,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:212,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:214,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:222,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:250,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:265,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:268,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:290,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/aead_verify.c:298,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 105
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 304
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 304
    functionName: libspdm_validate_crypt_aead_cipher
    functionSourceFile: /src/libspdm/unit_test/test_crypt/aead_verify.c
    functionUses: []
    functionsReached:
    - libspdm_aead_sm4_gcm_decrypt
    - libspdm_aead_chacha20_poly1305_encrypt
    - memcmp
    - libspdm_aead_chacha20_poly1305_decrypt
    - libspdm_my_print
    - libspdm_aead_sm4_gcm_encrypt
    - libspdm_aead_aes_gcm_encrypt
    - libspdm_aead_aes_gcm_decrypt
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_aead_cipher(void) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:65,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:76,1
    - Dst: libspdm_ec_compute_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:92,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:95,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:157,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:176,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:228,1
    - Dst: libspdm_ec_generate_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:242,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:246,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:269,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:353,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:359,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:194,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:87,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:122,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:218,1
    - Dst: libspdm_ec_generate_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:233,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:263,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:272,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:319,1
    - Dst: libspdm_ec_get_pub_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:333,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:337,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:358,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:426,1
    - Dst: libspdm_ec_compute_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:173,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:68,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:111,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:119,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:125,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:146,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:149,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:192,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:206,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:257,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:369,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:168,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:203,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:186,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:58,1
    - Dst: libspdm_ec_compute_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:102,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:105,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:115,1
    - Dst: libspdm_ec_compute_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:183,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:224,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:287,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:375,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:291,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:48,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:60,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:91,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:106,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:209,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:128,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:187,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:244,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:267,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:323,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:368,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:367,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:154,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:73,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:85,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:120,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:235,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:277,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:282,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:299,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:335,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:345,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:382,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:309,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:141,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:172,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:225,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:326,1
    - Dst: libspdm_ecdsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:354,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:376,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:406,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:411,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:423,1
    - Dst: libspdm_ec_set_pub_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:387,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:163,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:182,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:166,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:82,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:101,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:113,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:201,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:237,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:316,1
    - Dst: libspdm_ec_set_priv_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:396,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:293,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:114,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:167,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:202,1
    - Dst: libspdm_ecdsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:278,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:283,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:300,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:318,1
    - Dst: libspdm_ec_set_pub_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:342,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:346,1
    - Dst: libspdm_ecdsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:364,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:389,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:420,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:158,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:67,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:77,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:96,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:177,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:148,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:292,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:372,1
    - Dst: libspdm_ecdsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:407,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:415,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:419,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:195,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:212,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:220,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:241,1
    - Dst: libspdm_ec_generate_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:324,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:357,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:386,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:398,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:399,1
    - Dst: libspdm_ecdsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:416,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:232,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:253,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:258,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:302,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:311,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:332,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:394,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:78,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:97,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:200,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:159,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:178,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:281,1
    - Dst: libspdm_ecdsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:288,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:296,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:315,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:344,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:378,1
    - Dst: libspdm_ecdsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:264,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:64,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:57,1
    - Dst: libspdm_ec_generate_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:83,1
    - Dst: libspdm_ec_generate_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:164,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:139,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:196,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:245,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:268,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:328,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:410,1
    - Dst: libspdm_ec_generate_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:155,1
    - Dst: libspdm_ec_generate_key
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:74,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:86,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:121,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:217,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:236,1
    - Dst: libspdm_ecdsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:254,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:259,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:336,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:380,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:188,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:210,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:107,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:129,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:138,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:145,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:227,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:308,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:327,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:363,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:390,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:341,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify.c:379,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 331
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 429
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 429
    functionName: libspdm_validate_crypt_ec
    functionSourceFile: /src/libspdm/unit_test/test_crypt/ec_verify.c
    functionUses: []
    functionsReached:
    - libspdm_ec_set_pub_key
    - libspdm_ec_set_priv_key
    - memcmp
    - libspdm_ec_generate_key
    - libspdm_ec_compute_key
    - libspdm_ec_free
    - libspdm_my_print
    - libspdm_ecdsa_sign
    - libspdm_ec_get_pub_key
    - libspdm_ec_new_by_nid
    - libspdm_ecdsa_verify
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_ec(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:29,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:31,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:34,1
    - Dst: libspdm_eddsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:41,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:44,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:49,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:54,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:64,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:69,1
    - Dst: libspdm_eddsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:79,1
    - Dst: libspdm_ecd_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:32,1
    - Dst: libspdm_eddsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:50,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:59,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:53,1
    - Dst: libspdm_ecd_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:62,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:89,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:74,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:86,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:82,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:40,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:45,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:57,1
    - Dst: libspdm_eddsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:70,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:61,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:73,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:78,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 92
    functionName: libspdm_validate_crypt_ecd
    functionSourceFile: /src/libspdm/unit_test/test_crypt/ecd_verify.c
    functionUses: []
    functionsReached:
    - libspdm_eddsa_sign
    - libspdm_ecd_free
    - libspdm_eddsa_verify
    - libspdm_my_print
    - libspdm_ecd_new_by_nid
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_ecd(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:12,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: libspdm_ascii_str_len
    functionSourceFile: /src/libspdm/unit_test/test_crypt/test_crypt.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_ascii_str_len(const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: libspdm_my_print
    functionSourceFile: /src/libspdm/unit_test/test_crypt/test_crypt.c
    functionUses: []
    functionsReached:
    - LIBSPDM_DEBUG
    linkageType: ''
    returnType: void
    signature: 'void libspdm_my_print(const char *message) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_cryptest_main
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_crypt/test_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_cryptest_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_validate_crypt_aead_cipher
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:55,1
    - Dst: libspdm_validate_crypt_rsa
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:62,1
    - Dst: libspdm_validate_crypt_x509
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:85,1
    - Dst: libspdm_validate_crypt_ecd
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:132,1
    - Dst: libspdm_validate_crypt_prng
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:157,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:35,1
    - Dst: libspdm_validate_crypt_hkdf
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:48,1
    - Dst: libspdm_validate_crypt_hmac
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:43,1
    - Dst: libspdm_validate_crypt_digest
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:38,1
    - Dst: libspdm_validate_crypt_rsa_2
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:69,1
    - Dst: libspdm_validate_crypt_x509
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:80,1
    - Dst: libspdm_validate_crypt_x509
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:101,1
    - Dst: libspdm_validate_crypt_sm2
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:144,1
    - Dst: libspdm_validate_crypt_sm2_2
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:151,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:36,1
    - Dst: libspdm_validate_crypt_ec_2
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:125,1
    - Dst: libspdm_validate_crypt_dh
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:113,1
    - Dst: libspdm_validate_crypt_x509
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:75,1
    - Dst: libspdm_validate_crypt_x509
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:96,1
    - Dst: libspdm_validate_crypt_x509
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:107,1
    - Dst: libspdm_validate_crypt_ec
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:120,1
    - Dst: libspdm_validate_crypt_x509
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:90,1
    - Dst: libspdm_validate_crypt_ecd_2
      Src: /src/libspdm/unit_test/test_crypt/test_crypt.c:137,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 93
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 163
    functionName: libspdm_cryptest_main
    functionSourceFile: /src/libspdm/unit_test/test_crypt/test_crypt.c
    functionUses: []
    functionsReached:
    - libspdm_validate_crypt_ecd
    - libspdm_validate_crypt_sm2_2
    - libspdm_validate_crypt_rsa
    - libspdm_validate_crypt_aead_cipher
    - libspdm_validate_crypt_x509
    - libspdm_validate_crypt_digest
    - libspdm_validate_crypt_prng
    - libspdm_validate_crypt_hkdf
    - libspdm_validate_crypt_sm2
    - libspdm_my_print
    - libspdm_validate_crypt_ec_2
    - libspdm_validate_crypt_ecd_2
    - libspdm_validate_crypt_ec
    - libspdm_validate_crypt_dh
    - libspdm_validate_crypt_rsa_2
    - libspdm_validate_crypt_hmac
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_cryptest_main(void) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:205,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:281,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:307,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:274,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:314,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:347,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:389,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:403,1
    - Dst: libspdm_sha256_new
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:438,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:441,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:556,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:564,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:532,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:457,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:621,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:226,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:176,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:201,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:208,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:211,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:232,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:328,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:377,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:412,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:487,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:493,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:560,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:303,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:154,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:182,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:192,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:220,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:320,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:333,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:355,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:425,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:431,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:458,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:625,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:514,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:248,1
    - Dst: libspdm_rsa_check_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:318,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:353,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:419,1
    - Dst: libspdm_sha256_init
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:445,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:465,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:480,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:494,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:554,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:573,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:610,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:545,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:297,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:312,1
    - Dst: libspdm_rsa_check_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:394,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:420,1
    - Dst: libspdm_sha256_final
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:462,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:466,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:491,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:510,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:517,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:589,1
    - Dst: libspdm_rsa_new
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:558,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:604,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:161,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:168,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:174,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:193,1
    - Dst: libspdm_rsa_generate_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:269,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:221,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:294,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:338,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:344,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:348,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:474,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:544,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:597,1
    - Dst: libspdm_rsa_pkcs1_sign_with_nid
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:506,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:603,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:426,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:234,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:250,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:288,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:159,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:180,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:243,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:305,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:259,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:384,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:397,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:416,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:531,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:484,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:616,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:148,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:183,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:214,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:229,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:321,1
    - Dst: libspdm_rsa_generate_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:330,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:341,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:356,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:364,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:371,1
    - Dst: libspdm_sha256_update
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:453,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:410,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:137,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:141,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:215,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:361,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:365,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:378,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:418,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:456,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:464,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:476,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:596,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:404,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:411,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:440,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:235,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:219,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:251,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:298,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:306,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:273,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:346,1
    - Dst: libspdm_rsa_check_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:376,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:388,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:530,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:543,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:566,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:267,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:386,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:395,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:435,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:447,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:500,1
    - Dst: libspdm_rsa_pkcs1_sign_with_nid
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:520,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:525,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:498,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:574,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:590,1
    - Dst: libspdm_ascii_str_len
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:454,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:628,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:533,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:578,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:279,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:285,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:264,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:282,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:151,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:153,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:181,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:198,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:289,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:319,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:580,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:524,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:437,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:449,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:332,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:427,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:617,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:143,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:169,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:172,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:175,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:162,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:187,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:340,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:363,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:370,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:401,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:538,1
    - Dst: libspdm_rsa_check_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:424,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:296,1
    - Dst: libspdm_rsa_new
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:140,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:379,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:396,1
    - Dst: libspdm_rsa_check_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:409,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:448,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:501,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:509,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:516,1
    - Dst: libspdm_rsa_pss_sign
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:600,1
    - Dst: libspdm_rsa_pss_verify
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:612,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:594,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:605,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:567,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:405,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:200,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:207,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:213,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:222,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:324,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:372,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:486,1
    - Dst: libspdm_rsa_new
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:478,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:523,1
    - Dst: libspdm_rsa_pkcs1_verify_with_nid
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:540,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:615,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:626,1
    - Dst: libspdm_rsa_pss_sign
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:586,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:470,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:571,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:240,1
    - Dst: libspdm_rsa_get_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:256,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:287,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:258,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:313,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:242,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:166,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:190,1
    - Dst: libspdm_rsa_new
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:268,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:390,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:549,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:354,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify.c:581,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 416
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 632
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 632
    functionName: libspdm_validate_crypt_rsa
    functionSourceFile: /src/libspdm/unit_test/test_crypt/rsa_verify.c
    functionUses: []
    functionsReached:
    - memcmp
    - libspdm_rsa_new
    - libspdm_zero_mem
    - libspdm_rsa_pss_sign
    - libspdm_rsa_pss_verify
    - libspdm_sha256_update
    - libspdm_sha256_final
    - libspdm_rsa_pkcs1_sign_with_nid
    - libspdm_rsa_pkcs1_verify_with_nid
    - libspdm_rsa_generate_key
    - libspdm_sha256_init
    - allocate_pool
    - libspdm_my_print
    - libspdm_sha256_free
    - libspdm_ascii_str_len
    - libspdm_rsa_get_key
    - libspdm_rsa_free
    - libspdm_rsa_set_key
    - free_pool
    - libspdm_rsa_check_key
    - libspdm_sha256_new
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_rsa(void) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:102,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:225,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:218,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:203,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:238,1
    - Dst: libspdm_sha384_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:184,1
    - Dst: libspdm_sha512_update
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:231,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:333,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:339,1
    - Dst: libspdm_sha3_384_final
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:334,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:130,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:146,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:164,1
    - Dst: libspdm_sha384_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:168,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:197,1
    - Dst: libspdm_sha512_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:246,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:241,1
    - Dst: libspdm_sha3_256_new
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:274,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:323,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:338,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:418,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:175,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:215,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:99,1
    - Dst: libspdm_ascii_str_len
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:93,1
    - Dst: libspdm_sha256_init
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:107,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:114,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:191,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:309,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:414,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:200,1
    - Dst: libspdm_sha256_final
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:123,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:118,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:262,1
    - Dst: libspdm_sha3_512_update
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:376,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:415,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:318,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:97,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:230,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:213,1
    - Dst: libspdm_sha512_init
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:223,1
    - Dst: libspdm_sha3_256_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:300,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:365,1
    - Dst: libspdm_sha3_512_new
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:368,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:375,1
    - Dst: libspdm_sha3_512_final
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:381,1
    - Dst: libspdm_sha512_final
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:239,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:134,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:250,1
    - Dst: libspdm_sha512_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:234,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:320,1
    - Dst: libspdm_sha3_384_hash_all
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:353,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:403,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:328,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:196,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:180,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:145,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:305,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:311,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:190,1
    - Dst: libspdm_sha384_hash_all
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:198,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:183,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:92,1
    - Dst: libspdm_sha256_new
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:100,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:110,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:150,1
    - Dst: libspdm_sha512_new
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:216,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:286,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:292,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:425,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:367,1
    - Dst: libspdm_sha256_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:126,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:160,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:167,1
    - Dst: libspdm_sha384_update
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:173,1
    - Dst: libspdm_sha512_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:242,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:261,1
    - Dst: libspdm_sha3_256_init
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:277,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:291,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:304,1
    - Dst: libspdm_sha3_384_new
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:321,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:222,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:106,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:139,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:142,1
    - Dst: libspdm_sha384_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:188,1
    - Dst: libspdm_sha512_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:226,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:255,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:266,1
    - Dst: libspdm_sha3_512_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:394,1
    - Dst: libspdm_sm3_256_hash_all
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:416,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:117,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:133,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:249,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:157,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:276,1
    - Dst: libspdm_sha3_512_hash_all
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:400,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:405,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:351,1
    - Dst: libspdm_sha384_final
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:181,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:204,1
    - Dst: libspdm_sha384_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:176,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:258,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:356,1
    - Dst: libspdm_sha3_512_init
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:371,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:399,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:155,1
    - Dst: libspdm_sha384_init
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:165,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:172,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:233,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:273,1
    - Dst: libspdm_sha3_256_hash_all
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:306,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:380,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:386,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:427,1
    - Dst: libspdm_sha256_hash_all
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:140,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:192,1
    - Dst: libspdm_sha3_384_free
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:347,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:370,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:385,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:398,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:412,1
    - Dst: libspdm_sha3_384_update
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:329,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:254,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:109,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:122,1
    - Dst: libspdm_sha256_update
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:115,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:138,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:271,1
    - Dst: libspdm_sha3_256_update
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:282,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:358,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:125,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:132,1
    - Dst: libspdm_sha384_new
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:158,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:208,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:248,1
    - Dst: libspdm_sha512_hash_all
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:256,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:281,1
    - Dst: libspdm_sha3_256_final
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:287,1
    - Dst: libspdm_sha3_384_init
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:324,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hash_verify.c:352,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 275
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 434
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 434
    functionName: libspdm_validate_crypt_digest
    functionSourceFile: /src/libspdm/unit_test/test_crypt/hash_verify.c
    functionUses: []
    functionsReached:
    - libspdm_sha3_256_new
    - libspdm_sha3_512_init
    - libspdm_sha384_hash_all
    - libspdm_sha512_hash_all
    - libspdm_sha3_384_hash_all
    - memcmp
    - libspdm_sha384_init
    - libspdm_zero_mem
    - libspdm_sha3_256_free
    - libspdm_sha256_update
    - libspdm_sha256_final
    - libspdm_sha3_512_final
    - libspdm_sha3_256_hash_all
    - libspdm_sm3_256_hash_all
    - libspdm_sha3_384_update
    - libspdm_sha3_256_update
    - libspdm_sha512_new
    - libspdm_sha512_final
    - libspdm_sha3_512_hash_all
    - libspdm_sha384_update
    - libspdm_sha256_hash_all
    - libspdm_sha3_512_free
    - libspdm_sha512_free
    - libspdm_sha3_384_new
    - libspdm_sha256_init
    - libspdm_sha384_free
    - libspdm_sha3_512_update
    - libspdm_my_print
    - libspdm_sha384_new
    - libspdm_ascii_str_len
    - libspdm_sha256_free
    - libspdm_sha512_update
    - libspdm_sha3_512_new
    - libspdm_sha256_new
    - libspdm_sha3_384_free
    - libspdm_sha3_384_init
    - libspdm_sha3_384_final
    - libspdm_sha512_init
    - libspdm_sha3_256_final
    - libspdm_sha3_256_init
    - libspdm_sha384_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_digest(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:46,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:51,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:78,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:80,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:86,1
    - Dst: libspdm_hmac_sha3_256_new
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:94,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:103,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:111,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:123,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:124,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:157,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:134,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:161,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:162,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:156,1
    - Dst: libspdm_hmac_sha256_new
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:49,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:74,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:81,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:93,1
    - Dst: libspdm_hmac_sha3_256_set_key
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:100,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:102,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:107,1
    - Dst: libspdm_hmac_sha3_256_update
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:108,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:110,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:115,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:119,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:145,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:48,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:58,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:66,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:73,1
    - Dst: libspdm_hmac_sha256_final
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:71,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:82,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:96,1
    - Dst: libspdm_hmac_sha3_256_final
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:116,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:118,1
    - Dst: libspdm_hmac_sm3_256_new
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:132,1
    - Dst: libspdm_hmac_sm3_256_update
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:146,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:149,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:41,1
    - Dst: libspdm_hmac_sha256_set_key
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:55,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:57,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:62,1
    - Dst: libspdm_hmac_sha256_update
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:63,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:65,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:70,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:91,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:131,1
    - Dst: libspdm_hmac_sm3_256_set_key
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:138,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:129,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:140,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:141,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:153,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:148,1
    - Dst: libspdm_hmac_sm3_256_final
      Src: /src/libspdm/unit_test/test_crypt/hmac_verify.c:154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 166
    functionName: libspdm_validate_crypt_hmac
    functionSourceFile: /src/libspdm/unit_test/test_crypt/hmac_verify.c
    functionUses: []
    functionsReached:
    - libspdm_hmac_sha3_256_set_key
    - memcmp
    - libspdm_hmac_sha3_256_final
    - free_pool
    - libspdm_hmac_sha256_final
    - libspdm_hmac_sha3_256_new
    - libspdm_zero_mem
    - libspdm_my_print
    - libspdm_hmac_sha256_set_key
    - libspdm_hmac_sha3_256_update
    - libspdm_hmac_sm3_256_set_key
    - libspdm_hmac_sm3_256_final
    - libspdm_hmac_sm3_256_update
    - libspdm_hmac_sha256_new
    - libspdm_hmac_sm3_256_new
    - libspdm_hmac_sha256_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_hmac(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:108,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:113,1
    - Dst: libspdm_sm2_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:109,1
    - Dst: libspdm_sm2_dsa_sign
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:123,1
    - Dst: libspdm_sm2_get_public_key_from_der
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:136,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:139,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:135,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:162,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:168,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:171,1
    - Dst: libspdm_sm2_dsa_verify
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:177,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:140,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:143,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:153,1
    - Dst: libspdm_sm2_dsa_verify
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:149,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:155,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:158,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:163,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:175,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:182,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:186,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:181,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:121,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:127,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:154,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:147,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:190,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:105,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:116,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:128,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:131,1
    - Dst: libspdm_sm2_get_public_key_from_x509
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:164,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:167,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:189,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify2.c:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 192
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 192
    functionName: libspdm_validate_crypt_sm2_2
    functionSourceFile: /src/libspdm/unit_test/test_crypt/sm2_verify2.c
    functionUses: []
    functionsReached:
    - libspdm_sm2_dsa_free
    - libspdm_sm2_get_private_key_from_pem
    - libspdm_sm2_dsa_sign
    - libspdm_my_print
    - libspdm_sm2_get_public_key_from_der
    - libspdm_sm2_dsa_verify
    - libspdm_sm2_get_public_key_from_x509
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_sm2_2(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:115,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:126,1
    - Dst: libspdm_ecdsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:133,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:136,1
    - Dst: libspdm_ecdsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:158,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:157,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:171,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:183,1
    - Dst: libspdm_ecdsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:184,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:187,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:189,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:153,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:150,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:162,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:170,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:176,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:179,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:144,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:161,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:149,1
    - Dst: libspdm_ec_get_public_key_from_der
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:145,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:163,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:166,1
    - Dst: libspdm_ec_get_public_key_from_x509
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:172,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:175,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:123,1
    - Dst: libspdm_ec_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:119,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:118,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:132,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:137,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:140,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:188,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:192,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:195,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/unit_test/test_crypt/ec_verify2.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 198
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 198
    functionName: libspdm_validate_crypt_ec_2
    functionSourceFile: /src/libspdm/unit_test/test_crypt/ec_verify2.c
    functionUses: []
    functionsReached:
    - libspdm_ec_get_public_key_from_x509
    - libspdm_ec_get_public_key_from_der
    - libspdm_ecdsa_sign
    - libspdm_my_print
    - libspdm_ec_free
    - libspdm_ec_get_private_key_from_pem
    - libspdm_ecdsa_verify
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_ec_2(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:511,1
    - Dst: libspdm_rsa_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:515,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:519,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:533,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:594,1
    - Dst: libspdm_rsa_pkcs1_verify_with_nid
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:595,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:599,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:601,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:605,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:608,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:514,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:522,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:526,1
    - Dst: libspdm_rsa_pkcs1_sign_with_nid
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:528,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:537,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:556,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:558,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:561,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:573,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:576,1
    - Dst: libspdm_rsa_pkcs1_sign_with_nid
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:538,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:544,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:542,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:547,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:557,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:565,1
    - Dst: libspdm_rsa_pkcs1_verify_with_nid
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:566,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:570,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:572,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:580,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:600,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:643,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:585,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:586,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:532,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:551,1
    - Dst: libspdm_rsa_get_public_key_from_der
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:552,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:543,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:571,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:581,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:587,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:590,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:602,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:644,1
    - Dst: libspdm_rsa_get_public_key_from_x509
      Src: /src/libspdm/unit_test/test_crypt/rsa_verify2.c:582,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 76
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 648
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 648
    functionName: libspdm_validate_crypt_rsa_2
    functionSourceFile: /src/libspdm/unit_test/test_crypt/rsa_verify2.c
    functionUses: []
    functionsReached:
    - libspdm_rsa_get_public_key_from_x509
    - allocate_pool
    - libspdm_rsa_pkcs1_verify_with_nid
    - libspdm_rsa_get_private_key_from_pem
    - free_pool
    - libspdm_rsa_get_public_key_from_der
    - libspdm_my_print
    - libspdm_rsa_pkcs1_sign_with_nid
    - libspdm_rsa_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_rsa_2(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:24,1
    - Dst: libspdm_random_bytes
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:29,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:26,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:35,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:31,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:37,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:41,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/rand_verify.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 48
    functionName: libspdm_validate_crypt_prng
    functionSourceFile: /src/libspdm/unit_test/test_crypt/rand_verify.c
    functionUses: []
    functionsReached:
    - libspdm_random_bytes
    - libspdm_my_print
    - memcmp
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_prng(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:37,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:40,1
    - Dst: libspdm_dh_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:45,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:56,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:80,1
    - Dst: libspdm_dh_compute_key
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:81,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:84,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:86,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:92,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:94,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:44,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:47,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:52,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:70,1
    - Dst: libspdm_dh_compute_key
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:71,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:74,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:76,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:85,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:90,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:93,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:31,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:48,1
    - Dst: libspdm_dh_generate_key
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:62,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:61,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:64,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:66,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:75,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:99,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:101,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:105,1
    - Dst: libspdm_dh_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:38,1
    - Dst: libspdm_dh_generate_key
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:53,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:55,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:57,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:65,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:98,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:100,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:107,1
    - Dst: libspdm_dh_free
      Src: /src/libspdm/unit_test/test_crypt/dh_verify.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 110
    functionName: libspdm_validate_crypt_dh
    functionSourceFile: /src/libspdm/unit_test/test_crypt/dh_verify.c
    functionUses: []
    functionsReached:
    - libspdm_dh_generate_key
    - memcmp
    - libspdm_dh_compute_key
    - libspdm_my_print
    - libspdm_dh_new_by_nid
    - libspdm_dh_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_dh(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:16,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:22,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:25,1
    - Dst: ftell
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:23,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:17,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:27,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:28,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:32,1
    - Dst: fread
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:33,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:35,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:37,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:41,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:36,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 44
    functionName: libspdm_read_input_file
    functionSourceFile: /src/libspdm/unit_test/test_crypt/os_support.c
    functionUses: []
    functionsReached:
    - fread
    - free
    - ftell
    - malloc
    - printf
    - fopen
    - fseek
    - fclose
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_input_file(const char *file_name, void **file_data,
      size_t *file_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:51,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:52,1
    - Dst: fwrite
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:56,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:57,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:58,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_crypt/os_support.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: libspdm_write_output_file
    functionSourceFile: /src/libspdm/unit_test/test_crypt/os_support.c
    functionUses: []
    functionsReached:
    - fopen
    - fwrite
    - fclose
    - printf
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_write_output_file(const char *file_name, const void *file_data,
      size_t file_size) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:52,1
    - Dst: fwrite
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:57,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:59,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:53,1
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:58,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:63,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 3
    argNames:
    - csr_pointer
    - csr_len
    - base_asym_algo
    argTypes:
    - void*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 66
    functionName: libspdm_write_csr_to_file
    functionSourceFile: /src/libspdm/unit_test/test_crypt/x509_verify.c
    functionUses: []
    functionsReached:
    - fopen
    - fwrite
    - fclose
    - printf
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_write_csr_to_file(const void * csr_pointer, size_t csr_len,
      uint32_t base_asym_algo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: libspdm_dump_hex_str
    functionSourceFile: /src/libspdm/unit_test/test_crypt/x509_verify.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_hex_str(const uint8_t *buffer, size_t buffer_size) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:187,1
    - Dst: libspdm_x509_verify_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:220,1
    - Dst: libspdm_x509_verify_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:232,1
    - Dst: libspdm_x509_verify_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:256,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:291,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:306,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:379,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:406,1
    - Dst: libspdm_x509_get_issuer_orgnization_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:435,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:480,1
    - Dst: libspdm_x509_get_common_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:351,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:303,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:343,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:144,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:145,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:173,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:183,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:274,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:320,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:230,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:579,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:215,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:396,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:441,1
    - Dst: libspdm_x509_get_extension_data
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:447,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:471,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:509,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:316,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:384,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:538,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:154,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:155,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:164,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:165,1
    - Dst: libspdm_x509_verify_cert
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:195,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:212,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:438,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:468,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:544,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:207,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:340,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:389,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:393,1
    - Dst: libspdm_x509_get_issuer_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:404,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:411,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:419,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:423,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:583,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:174,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:175,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:184,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:185,1
    - Dst: libspdm_x509_get_subject_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:333,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:242,1
    - Dst: libspdm_x509_set_date_time
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:485,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:488,1
    - Dst: libspdm_rsa_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:520,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:567,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:576,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:285,1
    - Dst: libspdm_x509_get_organization_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:366,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:382,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:402,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:429,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:446,1
    - Dst: libspdm_gen_x509_csr
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:551,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:268,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:331,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:282,1
    - Dst: libspdm_x509_get_issuer_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:407,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:573,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:227,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:251,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:270,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:327,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:312,1
    - Dst: libspdm_x509_get_subject_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:336,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:372,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:409,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:495,1
    - Dst: libspdm_sm2_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:529,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:555,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:224,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:295,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:248,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:302,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:310,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:299,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:324,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:369,1
    - Dst: libspdm_x509_get_version
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:377,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:434,1
    - Dst: libspdm_x509_compare_date_time
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:494,1
    - Dst: allocate_pool
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:335,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:350,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:354,1
    - Dst: libspdm_x509_verify_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:208,1
    - Dst: libspdm_x509_verify_cert_chain
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:244,1
    - Dst: libspdm_x509_get_validity
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:464,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:490,1
    - Dst: libspdm_get_aysm_nid_from_file_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:515,1
    - Dst: libspdm_ec_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:525,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:562,1
    - Dst: free_pool
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:338,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:346,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:201,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:218,1
    - Dst: libspdm_x509_get_serial_number
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:390,1
    - Dst: libspdm_x509_get_issuer_common_name
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:420,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:426,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:452,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:505,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:147,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:198,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:360,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:458,1
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:506,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:143,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:194,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:398,1
    - Dst: libspdm_x509_set_date_time
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:475,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:478,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:497,1
    - Dst: libspdm_ecd_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:534,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:157,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:177,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:357,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:167,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:239,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:254,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:263,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:414,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:558,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:570,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:236,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:281,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:289,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:260,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:278,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:153,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:163,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:365,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:512,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:547,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:323,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:455,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 342
    argCount: 2
    argNames:
    - Path
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 587
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 587
    functionName: libspdm_validate_crypt_x509
    functionSourceFile: /src/libspdm/unit_test/test_crypt/x509_verify.c
    functionUses: []
    functionsReached:
    - memcmp
    - libspdm_rsa_get_private_key_from_pem
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_x509_get_organization_name
    - libspdm_x509_compare_date_time
    - libspdm_get_aysm_nid_from_file_name
    - libspdm_x509_get_serial_number
    - libspdm_x509_verify_cert_chain
    - libspdm_x509_get_common_name
    - libspdm_x509_get_issuer_orgnization_name
    - libspdm_x509_get_subject_name
    - libspdm_copy_mem
    - libspdm_x509_get_issuer_common_name
    - libspdm_x509_construct_certificate
    - libspdm_x509_verify_cert
    - LIBSPDM_DEBUG
    - libspdm_read_input_file
    - libspdm_ec_get_private_key_from_pem
    - libspdm_x509_get_validity
    - allocate_pool
    - libspdm_my_print
    - libspdm_x509_set_date_time
    - free
    - libspdm_x509_get_issuer_name
    - libspdm_x509_get_extension_data
    - libspdm_sm2_get_private_key_from_pem
    - free_pool
    - libspdm_x509_get_version
    - libspdm_gen_x509_csr
    - libspdm_ecd_get_private_key_from_pem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_x509(char *Path, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:70,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:78,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:72,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:76,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:74,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:80,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/unit_test/test_crypt/x509_verify.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - Path
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: libspdm_get_aysm_nid_from_file_name
    functionSourceFile: /src/libspdm/unit_test/test_crypt/x509_verify.c
    functionUses: []
    functionsReached:
    - libspdm_consttime_is_mem_equal
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_aysm_nid_from_file_name(char *Path, size_t len) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:117,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:118,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:119,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:135,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:141,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:150,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:180,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:191,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:204,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:211,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:253,1
    - Dst: libspdm_hkdf_sha384_extract
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:257,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:304,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:274,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:273,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:281,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:219,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:305,1
    - Dst: libspdm_hkdf_sm3_256_extract
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:213,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:99,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:105,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:124,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:154,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:160,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:175,1
    - Dst: libspdm_hkdf_sha3_256_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:181,1
    - Dst: libspdm_hkdf_sha3_256_extract_and_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:193,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:209,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:212,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:235,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:236,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:267,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:269,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:310,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:256,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:286,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:192,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:231,1
    - Dst: libspdm_hkdf_sha384_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:275,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:300,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:106,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:103,1
    - Dst: libspdm_hkdf_sha256_extract
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:107,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:123,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:136,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:137,1
    - Dst: libspdm_hkdf_sha256_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:125,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:167,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:187,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:200,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:248,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:291,1
    - Dst: libspdm_hkdf_sm3_256_extract_and_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:237,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:306,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:285,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:287,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:263,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:244,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:113,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:131,1
    - Dst: libspdm_hkdf_sha256_extract_and_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:143,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:142,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:155,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:156,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:165,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:168,1
    - Dst: libspdm_hkdf_sha3_256_extract
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:169,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:179,1
    - Dst: libspdm_hkdf_sm3_256_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:225,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:268,1
    - Dst: libspdm_hkdf_sha384_extract_and_expand
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:293,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:292,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:255,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:224,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/test_crypt/hkdf_verify.c:223,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 129
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 315
    functionName: libspdm_validate_crypt_hkdf
    functionSourceFile: /src/libspdm/unit_test/test_crypt/hkdf_verify.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_sha384_extract_and_expand
    - libspdm_hkdf_sha384_expand
    - memcmp
    - libspdm_hkdf_sm3_256_extract_and_expand
    - libspdm_hkdf_sha384_extract
    - libspdm_zero_mem
    - libspdm_my_print
    - libspdm_hkdf_sha3_256_extract
    - libspdm_hkdf_sha3_256_extract_and_expand
    - libspdm_hkdf_sha256_expand
    - libspdm_hkdf_sm3_256_expand
    - libspdm_hkdf_sha256_extract
    - libspdm_hkdf_sha3_256_expand
    - libspdm_hkdf_sm3_256_extract
    - libspdm_hkdf_sha256_extract_and_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_hkdf(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:96,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:101,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:104,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:134,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:140,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:143,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:152,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:156,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:147,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:160,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:80,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:91,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:108,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:125,1
    - Dst: libspdm_eddsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:122,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:113,1
    - Dst: libspdm_ecd_get_public_key_from_der
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:109,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:127,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:130,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:135,1
    - Dst: libspdm_ecd_get_private_key_from_pem
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:84,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:88,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:83,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:114,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:117,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:126,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:159,1
    - Dst: libspdm_eddsa_sign
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:97,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:100,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:121,1
    - Dst: libspdm_ecd_get_public_key_from_x509
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:136,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:139,1
    - Dst: libspdm_eddsa_verify
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:148,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:151,1
    - Dst: libspdm_ecd_free
      Src: /src/libspdm/unit_test/test_crypt/ecd_verify2.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 163
    functionName: libspdm_validate_crypt_ecd_2
    functionSourceFile: /src/libspdm/unit_test/test_crypt/ecd_verify2.c
    functionUses: []
    functionsReached:
    - libspdm_eddsa_sign
    - libspdm_ecd_free
    - libspdm_eddsa_verify
    - libspdm_ecd_get_public_key_from_der
    - libspdm_my_print
    - libspdm_ecd_get_private_key_from_pem
    - libspdm_ecd_get_public_key_from_x509
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_ecd_2(void) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:53,1
    - Dst: libspdm_sm2_key_exchange_generate_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:87,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:121,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:213,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:210,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:228,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:65,1
    - Dst: libspdm_sm2_key_exchange_generate_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:96,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:198,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:219,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:239,1
    - Dst: libspdm_sm2_dsa_sign
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:241,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:248,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:267,1
    - Dst: libspdm_sm2_key_exchange_init
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:76,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:81,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:91,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:190,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:259,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:69,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:100,1
    - Dst: libspdm_sm2_key_exchange_compute_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:106,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:129,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:149,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:61,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:163,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:215,1
    - Dst: libspdm_sm2_dsa_generate_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:211,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:247,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:80,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:90,1
    - Dst: libspdm_sm2_dsa_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:203,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:264,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:134,1
    - Dst: memcmp
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:128,1
    - Dst: libspdm_sm2_key_exchange_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:58,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:99,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:110,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:170,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:186,1
    - Dst: libspdm_sm2_dsa_verify
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:254,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:261,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:157,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:131,1
    - Dst: libspdm_sm2_key_exchange_init
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:66,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:71,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:183,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:222,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:232,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:104,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:156,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:202,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:182,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:231,1
    - Dst: libspdm_sm2_key_exchange_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:51,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:120,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:138,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:260,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:153,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:175,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:126,1
    - Dst: libspdm_sm2_dsa_sign
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:165,1
    - Dst: libspdm_sm2_dsa_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:147,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:70,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:115,1
    - Dst: libspdm_sm2_dsa_new_by_nid
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:196,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:130,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:268,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:206,1
    - Dst: libspdm_sm2_dsa_get_pub_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:220,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:224,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:75,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:137,1
    - Dst: libspdm_sm2_dsa_generate_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:154,1
    - Dst: libspdm_sm2_dsa_verify
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:177,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:205,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:188,1
    - Dst: libspdm_sm2_dsa_set_pub_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:229,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:233,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:146,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:41,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:60,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:111,1
    - Dst: libspdm_sm2_key_exchange_compute_key
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:117,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:195,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:142,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:171,1
    - Dst: libspdm_sm2_key_exchange_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:122,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:246,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:79,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:89,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:223,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:252,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:109,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:57,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:50,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:86,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:95,1
    - Dst: libspdm_my_print
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:98,1
    - Dst: libspdm_sm2_dsa_free
      Src: /src/libspdm/unit_test/test_crypt/sm2_verify.c:214,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 187
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 272
    functionName: libspdm_validate_crypt_sm2
    functionSourceFile: /src/libspdm/unit_test/test_crypt/sm2_verify.c
    functionUses: []
    functionsReached:
    - libspdm_sm2_dsa_new_by_nid
    - libspdm_sm2_dsa_free
    - libspdm_sm2_key_exchange_compute_key
    - memcmp
    - libspdm_sm2_dsa_sign
    - libspdm_sm2_dsa_get_pub_key
    - libspdm_my_print
    - libspdm_sm2_key_exchange_new_by_nid
    - libspdm_sm2_dsa_verify
    - libspdm_sm2_key_exchange_init
    - libspdm_sm2_key_exchange_generate_key
    - libspdm_sm2_key_exchange_free
    - libspdm_sm2_dsa_generate_key
    - libspdm_sm2_dsa_set_pub_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_validate_crypt_sm2(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:31,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - data
    - size
    - is_cert_chain
    argTypes:
    - void**
    - size_t*
    - bool
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: libspdm_read_dice_certificate_chain
    functionSourceFile: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_dice_certificate_chain( void **data, size_t *size,
      bool is_cert_chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: libspdm_spdm_sample_teardown
    functionSourceFile: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int libspdm_spdm_sample_teardown(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:98,1
    - Dst: libspdm_verify_cert_dicetcbinfo
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:101,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:103,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: libspdm_test_spdm_verify_cert_dicetcdinfo
    functionSourceFile: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    - assert_true
    - libspdm_verify_cert_dicetcbinfo
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_spdm_verify_cert_dicetcdinfo(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: libspdm_spdm_sample_setup
    functionSourceFile: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int libspdm_spdm_sample_setup(void **state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:52,1
    - Dst: libspdm_init_context
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:56,1
    - Dst: libspdm_get_context_size
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:52,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:54,1
    - Dst: libspdm_read_dice_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:64,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:66,1
    - Dst: libspdm_read_dice_certificate_chain
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:72,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:74,1
    - Dst: libspdm_verify_spdm_cert_chain_with_dice
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:77,1
    - Dst: assert_true
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:80,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:83,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:82,1
    - Dst: free
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: libspdm_test_spdm_verify_cert_chain_callback_function
    functionSourceFile: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c
    functionUses: []
    functionsReached:
    - libspdm_read_dice_certificate_chain
    - assert_true
    - libspdm_verify_spdm_cert_chain_with_dice
    - free
    - libspdm_init_context
    - malloc
    - libspdm_get_context_size
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_spdm_verify_cert_chain_callback_function(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:119,1
    - Dst: cmocka_unit_test
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:121,1
    - Dst: cmocka_run_group_tests
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: libspdm_spdm_sample_test_main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c
    functionUses: []
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: 'int libspdm_spdm_sample_test_main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_spdm_sample_test_main
      Src: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/test_spdm_sample/test_spdm_sample.c
    functionUses: []
    functionsReached:
    - libspdm_spdm_sample_test_main
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c:38,1
    - Dst: libspdm_test_x509_certificate_check
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c:46,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c:45,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_x509_certificate_check
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: libspdm_test_x509_certificate_check
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_spdm_crypt/test_x509_certificate_check/x509_certificate_check.c
    functionUses: []
    functionsReached:
    - libspdm_x509_certificate_check
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_x509_certificate_check(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:17,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:19,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: spdm_device_acquire_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_sender_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: libspdm_get_test_context
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_test_context_t*
    signature: 'libspdm_test_context_t *libspdm_get_test_context(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:36,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: spdm_device_acquire_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t spdm_device_acquire_receiver_buffer ( void *context,
      void **msg_buf_ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:69,1
    - Dst: libspdm_register_transport_layer_func
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:80,1
    - Dst: libspdm_get_context_size
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:69,1
    - Dst: libspdm_init_context
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:75,1
    - Dst: libspdm_register_device_io_func
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:77,1
    - Dst: libspdm_register_device_buffer_func
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:86,1
    - Dst: libspdm_get_sizeof_required_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:95,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:96,1
    - Dst: libspdm_set_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 103
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 103
    functionName: libspdm_unit_test_group_setup
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - libspdm_register_device_buffer_func
    - libspdm_set_scratch_buffer
    - libspdm_get_sizeof_required_scratch_buffer
    - libspdm_register_transport_layer_func
    - libspdm_init_context
    - malloc
    - libspdm_register_device_io_func
    - libspdm_get_context_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_unit_test_group_setup(void **State) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:122,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:123,1
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:131,1
    - Dst: ftell
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:129,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:128,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:133,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:134,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:138,1
    - Dst: fread
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:139,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:141,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:142,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:143,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: libspdm_read_input_file
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - fread
    - free
    - ftell
    - malloc
    - printf
    - fopen
    - fseek
    - fclose
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_input_file(const char *file_name, void **file_data,
      size_t *file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: libspdm_dump_hex_str
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_hex_str(const uint8_t *buffer, size_t buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:27,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: spdm_device_release_sender_buffer
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_sender_buffer ( void *context, const void
      *msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:46,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - context
    - msg_buf_ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: spdm_device_release_receiver_buffer
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void spdm_device_release_receiver_buffer ( void *context, const void
      *msg_buf_ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - spdm_test_context
    argTypes:
    - libspdm_test_context_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: libspdm_setup_test_context
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_setup_test_context(libspdm_test_context_t *spdm_test_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:110,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: libspdm_unit_test_group_teardown
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_unit_test_group_teardown(void **State) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:157,1
    - Dst: fwrite
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:162,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:163,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:158,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:164,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - file_name
    - file_data
    - file_size
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: libspdm_write_output_file
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - fopen
    - fwrite
    - fclose
    - printf
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_write_output_file(const char *file_name, const void *file_data,
      size_t file_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: libspdm_dump_data
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_data(const uint8_t *buffer, size_t buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:202,1
    - Dst: libspdm_dump_data
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:203,1
    - Dst: libspdm_dump_data
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:209,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:204,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:208,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 212
    functionName: libspdm_dump_hex
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/common.c
    functionUses: []
    functionsReached:
    - libspdm_dump_data
    - printf
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dump_hex(const uint8_t *data, size_t size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_max_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:25,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 42
    functionName: libspdm_alignment_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c
    functionUses: []
    functionsReached:
    - libspdm_get_max_buffer_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_alignment_size(size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:147,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:157,1
    - Dst: exit
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:148,1
    - Dst: libspdm_init_test_buffer
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:154,1
    - Dst: libspdm_get_max_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:154,1
    - Dst: libspdm_run_test_harness
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:161,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 165
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c
    functionUses: []
    functionsReached:
    - exit
    - libspdm_get_max_buffer_size
    - free
    - printf
    - libspdm_init_test_buffer
    - libspdm_run_test_harness
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:53,1
    - Dst: klee_make_symbolic
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:67,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:74,1
    - Dst: fopen
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:71,1
    - Dst: fputs
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:73,1
    - Dst: exit
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:75,1
    - Dst: fseek
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:77,1
    - Dst: ftell
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:79,1
    - Dst: rewind
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:80,1
    - Dst: printf
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:83,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:84,1
    - Dst: fread
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:88,1
    - Dst: fclose
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:94,1
    - Dst: libspdm_alignment_size
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:96,1
    - Dst: exit
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:85,1
    - Dst: fputs
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:90,1
    - Dst: exit
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:92,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c:91,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - file_name
    - max_buffer_size
    - test_buffer
    - buffer_size
    argTypes:
    - char*
    - size_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 103
    functionName: libspdm_init_test_buffer
    functionSourceFile: /src/libspdm/unit_test/fuzzing/spdm_unit_fuzzing_common/toolchain_harness.c
    functionUses: []
    functionsReached:
    - fputs
    - rewind
    - exit
    - fread
    - klee_make_symbolic
    - free
    - ftell
    - malloc
    - printf
    - libspdm_alignment_size
    - fopen
    - fseek
    - fclose
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_init_test_buffer(const char *file_name, size_t max_buffer_size,
      void **test_buffer, size_t *buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c:48,1
    - Dst: libspdm_test_transport_mctp_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c:55,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c:53,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_transport_mctp_decode_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_transport_mctp_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: libspdm_test_transport_mctp_decode_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_decode_message/spdm_transport_mctp_decode_message.c
    functionUses: []
    functionsReached:
    - libspdm_transport_mctp_decode_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_mctp_decode_message(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c:64,1
    - Dst: libspdm_test_transport_mctp_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c:86,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c:88,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 89
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_transport_mctp_encode_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c:39,1
    - Dst: libspdm_transport_mctp_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 50
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 50
    functionName: libspdm_test_transport_mctp_encode_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_mctp_encode_message/transport_mctp_encode_message.c
    functionUses: []
    functionsReached:
    - libspdm_transport_mctp_encode_message
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_mctp_encode_message(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:80,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:85,1
    - Dst: libspdm_test_transport_pci_doe_decode_discovery
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:89,1
    - Dst: libspdm_test_transport_pci_doe_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:87,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c
    functionUses: []
    functionsReached:
    - libspdm_test_transport_pci_doe_decode_message
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_transport_pci_doe_decode_discovery
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_transport_pci_doe_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: libspdm_test_transport_pci_doe_decode_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c
    functionUses: []
    functionsReached:
    - libspdm_transport_pci_doe_decode_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_pci_doe_decode_message(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_pci_doe_decode_discovery_request
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:56,1
    - Dst: libspdm_pci_doe_decode_discovery_response
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:68,1
    - Dst: libspdm_pci_doe_decode_discovery_request_version
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: libspdm_test_transport_pci_doe_decode_discovery
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_decode_message/spdm_transport_pci_doe_decode_message.c
    functionUses: []
    functionsReached:
    - libspdm_pci_doe_decode_discovery_request_version
    - libspdm_pci_doe_decode_discovery_request
    - libspdm_pci_doe_decode_discovery_response
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_pci_doe_decode_discovery(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:39,1
    - Dst: libspdm_transport_pci_doe_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 49
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 49
    functionName: libspdm_test_transport_pci_doe_encode_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c
    functionUses: []
    functionsReached:
    - libspdm_transport_pci_doe_encode_message
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_pci_doe_encode_message(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:91,1
    - Dst: libspdm_test_transport_pci_doe_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:113,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:115,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 116
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_transport_pci_doe_encode_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:72,1
    - Dst: libspdm_pci_doe_encode_discovery
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: libspdm_test_transport_pci_doe_encode_discovery
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_pci_doe_encode_message/spdm_transport_pci_doe_encode_message.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_pci_doe_encode_discovery
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_pci_doe_encode_discovery(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_transport_tcp_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: libspdm_test_transport_tcp_decode_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c
    functionUses: []
    functionsReached:
    - libspdm_transport_tcp_decode_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_tcp_decode_message(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c:48,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c:53,1
    - Dst: libspdm_test_transport_tcp_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c:55,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_decode_message/spdm_transport_tcp_decode_message.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_transport_tcp_decode_message
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c:55,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c:72,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c:69,1
    - Dst: libspdm_test_transport_tcp_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c
    functionUses: []
    functionsReached:
    - libspdm_test_transport_tcp_encode_message
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_transport_tcp_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 42
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 42
    functionName: libspdm_test_transport_tcp_encode_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_transport/test_spdm_transport_tcp_encode_message/spdm_transport_tcp_encode_message.c
    functionUses: []
    functionsReached:
    - libspdm_transport_tcp_encode_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_transport_tcp_encode_message(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:53,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:70,1
    - Dst: libspdm_encode_secured_message
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:82,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:66,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 87
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 87
    functionName: libspdm_test_encode_secured_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c
    functionUses: []
    functionsReached:
    - libspdm_encode_secured_message
    - libspdm_session_info_init
    - LIBSPDM_ASSERT
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_encode_secured_message(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:101,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:124,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:120,1
    - Dst: libspdm_test_encode_secured_message
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_encode_secured_message/spdm_encode_secured_message.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_encode_secured_message
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c:47,1
    - Dst: libspdm_decode_secured_message
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 59
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 59
    functionName: libspdm_test_decode_secured_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c
    functionUses: []
    functionsReached:
    - libspdm_decode_secured_message
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_decode_secured_message(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c:70,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c:79,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c:75,1
    - Dst: libspdm_test_decode_secured_message
      Src: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c
    functionUses: []
    functionsReached:
    - libspdm_test_decode_secured_message
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_secured_message/test_spdm_decode_secured_message/spdm_decode_secured_message.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_process_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: libspdm_test_process_opaque_data_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c
    functionUses: []
    functionsReached:
    - libspdm_process_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:80,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:92,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:87,1
    - Dst: libspdm_test_process_opaque_data_case1
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:88,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:89,1
    - Dst: libspdm_test_process_opaque_data_case2
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:93,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_process_opaque_data_case1
    - libspdm_unit_test_group_setup
    - libspdm_test_process_opaque_data_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_process_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: libspdm_test_process_opaque_data_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_spdm_common/test_process_opaque_data/test_process_opaque_data_supported_version_data.c
    functionUses: []
    functionsReached:
    - libspdm_process_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_opaque_data_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:27,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: libspdm_secured_message_set_response_handshake_encryption_key
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_handshake_encryption_key(
      void *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:71,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:99,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:94,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:103,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 112
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 112
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:211,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:227,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:234,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:235,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:215,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:238,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:242,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:245,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:249,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:254,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:257,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:258,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:256,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 259
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 259
    functionName: libspdm_test_requester_psk_finish_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_secured_message_set_response_handshake_salt
    - libspdm_reset_message_f
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_reset_message_k
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - spdm_secured_message_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: libspdm_secured_message_set_dummy_finished_key
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_dummy_finished_key(void *spdm_secured_message_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:40,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - salt
    - salt_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: libspdm_secured_message_set_response_handshake_salt
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_handshake_salt(void *spdm_secured_message_context,
      const void *salt, size_t salt_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:137,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:161,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:160,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:153,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:141,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:164,1
    - Dst: libspdm_secured_message_set_response_handshake_encryption_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:168,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:171,1
    - Dst: libspdm_secured_message_set_response_handshake_salt
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:175,1
    - Dst: libspdm_secured_message_set_dummy_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:180,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:183,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:184,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:182,1
    - Dst: libspdm_send_receive_psk_finish
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 185
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 185
    functionName: libspdm_test_requester_psk_finish_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_secured_message_set_response_handshake_salt
    - libspdm_reset_message_f
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_response_handshake_encryption_key
    - libspdm_reset_message_k
    - libspdm_secured_message_set_dummy_finished_key
    - libspdm_send_receive_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_finish_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:272,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:280,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:283,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:278,1
    - Dst: libspdm_test_requester_psk_finish_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:279,1
    - Dst: libspdm_test_requester_psk_finish_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:284,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_psk_finish_case1
    - libspdm_test_requester_psk_finish_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_finish/psk_finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:123,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 126
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 126
    functionName: libspdm_test_requester_chunk_get_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_get_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:44,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:88,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:71,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:61,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 96
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 96
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:139,1
    - Dst: libspdm_test_requester_chunk_get_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:146,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:147,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_chunk_get_case1
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_get/chunk_get.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:142,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:143,1
    - Dst: libspdm_get_asym_signature_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:141,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:144,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:146,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:161,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:173,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:177,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:190,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:167,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:208,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:218,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:244,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:241,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:93,1
    - Dst: libspdm_dhe_compute_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:163,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:191,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:188,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:196,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:199,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:219,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:226,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:244,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:222,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:247,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:100,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:159,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:200,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:208,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:216,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:197,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:218,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:229,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:233,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:237,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:247,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:156,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:181,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:194,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:199,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:201,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:210,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:245,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:248,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:249,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:258,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 116
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 263
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 263
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_dhe_generate_key
    - libspdm_transport_test_encode_message
    - libspdm_dump_hex
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_dhe_compute_key
    - LIBSPDM_DEBUG
    - libspdm_get_asym_signature_size
    - libspdm_get_test_context
    - libspdm_dhe_free
    - libspdm_append_managed_buffer
    - free
    - libspdm_build_opaque_data_version_selection_data
    - libspdm_get_random_number
    - libspdm_get_managed_buffer
    - libspdm_get_dhe_pub_key_size
    - libspdm_get_opaque_data_version_selection_data_size
    - libspdm_bin_concat
    - libspdm_get_hash_size
    - libspdm_dhe_new
    - libspdm_hkdf_expand
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:370,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:386,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:390,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:395,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:374,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:396,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:404,1
    - Dst: libspdm_send_receive_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:406,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:410,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:412,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 418
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 418
    functionName: libspdm_test_requester_key_exchange_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_key_exchange
    - libspdm_get_hash_size
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_exchange_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:541,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:544,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:559,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:563,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:553,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:568,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:569,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:577,1
    - Dst: libspdm_send_receive_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:579,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:585,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:587,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 594
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 594
    functionName: libspdm_test_requester_key_exchange_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_session_info_init
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_key_exchange
    - libspdm_get_hash_size
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_exchange_case4(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:720,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:732,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:724,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:736,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:741,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:742,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:751,1
    - Dst: libspdm_send_receive_key_exchange_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:752,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:761,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:763,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 769
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 769
    functionName: libspdm_test_requester_key_exchange_ex_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_send_receive_key_exchange_ex
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_exchange_ex_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:47,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 62
    functionName: libspdm_test_get_key_exchange_request_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_get_dhe_pub_key_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_test_get_key_exchange_request_size(const void *spdm_context,
      const void *buffer, size_t buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:293,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:305,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:314,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:309,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:297,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:315,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:323,1
    - Dst: libspdm_send_receive_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:325,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:329,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:332,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 339
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 339
    functionName: libspdm_test_requester_key_exchange_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_key_exchange
    - libspdm_get_hash_size
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_exchange_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_get_key_exchange_request_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:77,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_test_get_key_exchange_request_size
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:450,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:472,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:462,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:453,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:468,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:477,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:478,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:486,1
    - Dst: libspdm_send_receive_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:488,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:494,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:500,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 503
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 503
    functionName: libspdm_test_requester_key_exchange_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_session_info_init
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_key_exchange
    - libspdm_get_hash_size
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_exchange_case3(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:632,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:650,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:654,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:644,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:635,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:659,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:660,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:668,1
    - Dst: libspdm_send_receive_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:670,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:676,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:678,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 685
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 685
    functionName: libspdm_test_requester_key_exchange_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_session_info_init
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_key_exchange
    - libspdm_get_hash_size
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_exchange_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:790,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:797,1
    - Dst: libspdm_test_requester_key_exchange_case3
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:798,1
    - Dst: libspdm_test_requester_key_exchange_ex_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:811,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:806,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:792,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:799,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:812,1
    - Dst: libspdm_test_requester_key_exchange_case5
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:807,1
    - Dst: libspdm_test_requester_key_exchange_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:793,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:802,1
    - Dst: libspdm_test_requester_key_exchange_case4
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:803,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:808,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:782,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:788,1
    - Dst: libspdm_test_requester_key_exchange_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:789,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:794,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:810,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 813
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 813
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_key_exchange_case5
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_key_exchange_case2
    - libspdm_test_requester_key_exchange_case3
    - libspdm_test_requester_key_exchange_case4
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_key_exchange_case1
    - libspdm_setup_test_context
    - libspdm_test_requester_key_exchange_ex_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 822
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:104,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:160,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:163,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:167,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:97,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:117,1
    - Dst: libspdm_get_opaque_data_version_selection_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:120,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:118,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:145,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:146,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:171,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:123,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:135,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:147,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:137,1
    - Dst: libspdm_psk_handshake_secret_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:153,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:166,1
    - Dst: libspdm_build_opaque_data_version_selection_data
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:125,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:128,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:133,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:136,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:146,1
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:150,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:143,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:148,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:165,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 70
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 176
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 176
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - libspdm_hmac_all
    - libspdm_init_managed_buffer
    - libspdm_transport_test_encode_message
    - libspdm_dump_hex
    - libspdm_copy_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - LIBSPDM_DEBUG
    - libspdm_psk_handshake_secret_hkdf_expand
    - libspdm_get_test_context
    - libspdm_append_managed_buffer
    - free
    - libspdm_build_opaque_data_version_selection_data
    - libspdm_get_random_number
    - libspdm_get_managed_buffer
    - libspdm_get_opaque_data_version_selection_data_size
    - libspdm_bin_concat
    - libspdm_get_hash_size
    - libspdm_hkdf_expand
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:272,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:291,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:276,1
    - Dst: libspdm_send_receive_psk_exchange_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:293,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:284,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:303,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 306
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 306
    functionName: libspdm_test_requester_psk_exchange_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_psk_exchange_ex
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:404,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:416,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:423,1
    - Dst: libspdm_send_receive_psk_exchange_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:425,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:408,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:435,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 439
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 439
    functionName: libspdm_test_requester_psk_exchange_ex_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_psk_exchange_ex
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_ex_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: libspdm_test_get_psk_exchange_request_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_test_get_psk_exchange_request_size(const void *spdm_context,
      const void *buffer, size_t buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:207,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:230,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:211,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:223,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:229,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:236,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 239
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 239
    functionName: libspdm_test_requester_psk_exchange_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_get_psk_exchange_request_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:65,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_test_get_psk_exchange_request_size
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:339,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:361,1
    - Dst: libspdm_send_receive_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:362,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:343,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:355,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:368,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 371
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 371
    functionName: libspdm_test_requester_psk_exchange_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_zero_mem
    - free
    - libspdm_reset_message_k
    - libspdm_send_receive_psk_exchange
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_psk_exchange_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:453,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:459,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:463,1
    - Dst: libspdm_test_requester_psk_exchange_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:460,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:461,1
    - Dst: libspdm_test_requester_psk_exchange_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:464,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:465,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:467,1
    - Dst: libspdm_test_requester_psk_exchange_ex_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:468,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:469,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:474,1
    - Dst: libspdm_test_requester_psk_exchange_case3
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:473,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 475
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 475
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_psk_exchange_case2
    - libspdm_test_requester_psk_exchange_ex_case1
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_psk_exchange_case3
    - libspdm_test_requester_psk_exchange_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_psk_exchange/psk_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:74,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:103,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:83,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:88,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:115,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:125,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:130,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 146
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 146
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:209,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:215,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:216,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:220,1
    - Dst: libspdm_set_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 221
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 221
    functionName: libspdm_test_requester_set_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_set_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:33,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:38,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:45,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:47,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:43,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_transport_test_decode_message
    - memcpy
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:166,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:171,1
    - Dst: libspdm_set_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: libspdm_test_requester_set_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_set_certificate
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_certificate_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:234,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:246,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:243,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:241,1
    - Dst: libspdm_test_requester_set_certificate_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:242,1
    - Dst: libspdm_test_requester_set_certificate_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:247,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 249
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_set_certificate_case1
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_set_certificate_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_certificate/set_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 104
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 104
    functionName: libspdm_test_requester_get_key_pair_info
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_key_pair_info
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_key_pair_info(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:118,1
    - Dst: libspdm_test_requester_get_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:125,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:126,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_get_key_pair_info
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:38,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:40,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:46,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_key_pair_info/get_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:22,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: libspdm_secured_message_set_response_data_encryption_key
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_data_encryption_key(void
      *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:65,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:97,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:88,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:77,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:93,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 106
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 106
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:204,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:208,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:227,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:220,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:228,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:230,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:234,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:237,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:241,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:248,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 250
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 250
    functionName: libspdm_test_requester_heartbeat_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:34,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - salt
    - salt_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: libspdm_secured_message_set_response_data_salt
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_data_salt(void *spdm_secured_message_context,
      const void *salt, size_t salt_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:132,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:155,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:148,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:156,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:136,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:158,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:162,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:165,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:169,1
    - Dst: libspdm_heartbeat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:176,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 178
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 178
    functionName: libspdm_test_requester_heartbeat_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_heartbeat
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_heartbeat_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:263,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:269,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:271,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:273,1
    - Dst: libspdm_test_requester_heartbeat_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:270,1
    - Dst: libspdm_test_requester_heartbeat_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:274,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 276
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 276
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_heartbeat_case2
    - libspdm_setup_test_context
    - libspdm_test_requester_heartbeat_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_heartbeat/heartbeat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - spdm_context
    - slot_id
    - cert_chain_size
    - cert_chain
    - trust_anchor
    - trust_anchor_size
    argTypes:
    - void*
    - uint8_t
    - size_t
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: libspdm_test_verify_spdm_cert_chain
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_test_verify_spdm_cert_chain(void *spdm_context, uint8_t
      slot_id, size_t cert_chain_size, const void *cert_chain, const void **trust_anchor,
      size_t *trust_anchor_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:100,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:111,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:104,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:108,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:122,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:124,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:125,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:126,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 135
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 135
    functionName: libspdm_test_requester_get_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_asym_free
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:222,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:244,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:233,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:226,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:230,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:246,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:247,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:248,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 257
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 257
    functionName: libspdm_test_requester_get_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_asym_free
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case3(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:366,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:373,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:369,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:372,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:379,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:389,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:390,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:398,1
    - Dst: libspdm_get_certificate_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:399,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:402,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:407,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 412
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 412
    functionName: libspdm_test_requester_get_certificate_in_session_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - libspdm_asym_free
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - LIBSPDM_DEBUG
    - free
    - libspdm_get_certificate_ex
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_in_session_case1(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:43,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:67,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_verify_spdm_cert_chain_func
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:158,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:168,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:160,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:164,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:171,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:182,1
    - Dst: libspdm_get_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:184,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:185,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:186,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 195
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 195
    functionName: libspdm_test_requester_get_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_asym_free
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_get_certificate
    - free
    - libspdm_register_verify_spdm_cert_chain_func
    - libspdm_reset_message_b
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_verify_spdm_cert_chain_func
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:280,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:282,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:293,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:290,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:286,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:304,1
    - Dst: libspdm_get_certificate_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:305,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:307,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:308,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 317
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 317
    functionName: libspdm_test_requester_get_certificate_ex_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_asym_free
    - libspdm_zero_mem
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_register_verify_spdm_cert_chain_func
    - libspdm_reset_message_b
    - libspdm_get_certificate_ex
    - libspdm_dump_hex
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_certificate_ex_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:425,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:431,1
    - Dst: libspdm_test_requester_get_certificate_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:432,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:436,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:433,1
    - Dst: libspdm_test_requester_get_certificate_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:437,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:438,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:440,1
    - Dst: libspdm_test_requester_get_certificate_case3
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:441,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:442,1
    - Dst: libspdm_test_requester_get_certificate_ex_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:445,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:446,1
    - Dst: libspdm_test_requester_get_certificate_in_session_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:449,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:448,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:450,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 451
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 451
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_get_certificate_case2
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_get_certificate_case3
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_get_certificate_ex_case1
    - libspdm_test_requester_get_certificate_case1
    - libspdm_setup_test_context
    - libspdm_test_requester_get_certificate_in_session_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_certificate/get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:136,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:151,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:142,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:141,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:140,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:155,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:160,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:161,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:168,1
    - Dst: libspdm_challenge
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:169,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:174,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 177
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 177
    functionName: libspdm_test_requester_challenge_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_reset_message_c
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - libspdm_challenge
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_challenge_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:199,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:205,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:214,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:204,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:203,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:218,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:223,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:224,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:233,1
    - Dst: libspdm_challenge_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:234,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:238,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 244
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 244
    functionName: libspdm_test_requester_challenge_ex_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_reset_message_c
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_zero_mem
    - libspdm_challenge_ex
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_b
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_challenge_ex_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:256,1
    - Dst: libspdm_test_requester_challenge_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:263,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:266,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:262,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:264,1
    - Dst: libspdm_test_requester_challenge_ex_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:267,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_challenge_ex_case1
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_challenge_case1
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:22,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: libspdm_secured_message_set_response_finished_key
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_response_finished_key(void *spdm_secured_message_context,
      const void *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:98,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:114,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:119,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:110,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:102,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:120,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:130,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:131,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:132,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:133,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:135,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:144,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:147,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:148,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:150,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 153
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 153
    functionName: libspdm_test_send_receive_finish_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_reset_message_f
    - libspdm_session_info_init
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_send_receive_finish_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:277,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:295,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:300,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:291,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:281,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:301,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:309,1
    - Dst: libspdm_read_requester_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:311,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:319,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:320,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:322,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:340,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:334,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:337,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:338,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:321,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:324,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 343
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 343
    functionName: libspdm_test_send_receive_finish_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_reset_message_f
    - libspdm_session_info_init
    - libspdm_read_requester_public_certificate_chain
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_reset_message_k
    - libspdm_asym_free
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_send_receive_finish_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:47,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:59,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:188,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:192,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:209,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:204,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:200,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:210,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:220,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:221,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:222,1
    - Dst: libspdm_secured_message_set_response_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:223,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:225,1
    - Dst: libspdm_send_receive_finish
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:234,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:237,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:238,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:236,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 243
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 243
    functionName: libspdm_test_send_receive_finish_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_reset_message_f
    - libspdm_session_info_init
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_secured_message_set_response_finished_key
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_send_receive_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_send_receive_finish_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:356,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:367,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:364,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:362,1
    - Dst: libspdm_test_send_receive_finish_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:363,1
    - Dst: libspdm_test_send_receive_finish_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:368,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:369,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:371,1
    - Dst: libspdm_test_send_receive_finish_case3
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:372,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 374
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 374
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_send_receive_finish_case2
    - libspdm_test_send_receive_finish_case1
    - libspdm_test_send_receive_finish_case3
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_finish/finish.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:155,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:159,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:174,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:167,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:175,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:177,1
    - Dst: libspdm_send_receive_encap_request
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:178,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:179,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 181
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 181
    functionName: libspdm_test_requester_encap_request
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - libspdm_reset_message_mut_b
    - free
    - libspdm_send_receive_encap_request
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request(void **State) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:41,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:53,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:96,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:72,1
    - Dst: libspdm_get_connection_version
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:79,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:104,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 118
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 118
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_get_connection_version
    - libspdm_get_test_context
    - libspdm_get_session_info_via_session_id
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:211,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:223,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:231,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:215,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:230,1
    - Dst: libspdm_register_get_encap_response_func
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:233,1
    - Dst: libspdm_send_receive_encap_request
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:234,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:235,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 237
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 237
    functionName: libspdm_test_requester_encap_request_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - libspdm_reset_message_mut_b
    - free
    - libspdm_send_receive_encap_request
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_register_get_encap_response_func
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_request_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:243,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:249,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:254,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:251,1
    - Dst: libspdm_test_requester_encap_request
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:250,1
    - Dst: libspdm_test_requester_encap_request_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:255,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 258
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_encap_request_case2
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    - libspdm_test_requester_encap_request
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_request/encap_request.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - salt
    - salt_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: libspdm_secured_message_set_response_data_salt
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_response_data_salt(void *spdm_secured_message_context,
      const void *salt, size_t salt_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:129,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:133,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:154,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:152,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:145,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:156,1
    - Dst: libspdm_secured_message_set_response_data_encryption_key
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:160,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:163,1
    - Dst: libspdm_secured_message_set_response_data_salt
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:167,1
    - Dst: libspdm_send_receive_end_session
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:173,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 175
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 175
    functionName: libspdm_test_requester_end_session
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_secured_message_set_response_data_salt
    - libspdm_session_info_init
    - libspdm_secured_message_set_response_data_encryption_key
    - free
    - libspdm_send_receive_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_end_session(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: libspdm_secured_message_set_response_data_encryption_key
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_response_data_encryption_key(void
      *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:63,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:75,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:91,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:86,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 104
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 104
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:188,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:194,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:196,1
    - Dst: libspdm_test_requester_end_session
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_end_session
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_end_session/end_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:49,1
    - Dst: libspdm_get_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:65,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:68,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 69
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 69
    functionName: libspdm_test_requester_encap_challenge
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - libspdm_get_encap_response_challenge_auth
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_challenge(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:80,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:88,1
    - Dst: libspdm_test_requester_encap_challenge
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:87,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_encap_challenge
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_challenge_auth/encap_challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c:38,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c:49,1
    - Dst: libspdm_get_encap_response_digest
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 50
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 50
    functionName: libspdm_test_requester_encap_digests
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_reset_message_mut_b
    - libspdm_get_encap_response_digest
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_digests(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c:61,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c:67,1
    - Dst: libspdm_test_requester_encap_digests
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c:68,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_encap_digests
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_digests/encap_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:112,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 115
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 115
    functionName: libspdm_test_requester_chunk_send_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_chunk_send_case1(void **State) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:42,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:73,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:67,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:55,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 85
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 85
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:128,1
    - Dst: libspdm_test_requester_chunk_send_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:136,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:135,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_chunk_send_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_chunk_send/chunk_send.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_version
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: libspdm_test_requester_get_version
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_get_version
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_version(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:34,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:41,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:75,1
    - Dst: libspdm_test_requester_get_version
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:84,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:86,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_version/get_version.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_get_version
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:85,1
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:94,1
    - Dst: libspdm_set_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 108
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 108
    functionName: libspdm_test_requester_set_key_pair_info
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_set_key_pair_info
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_set_key_pair_info(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:38,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:46,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:40,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:122,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:130,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:128,1
    - Dst: libspdm_test_requester_set_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_set_key_pair_info
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_set_key_pair_info/set_key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:77,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:83,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:85,1
    - Dst: libspdm_test_requester_encap_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_encap_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:49,1
    - Dst: libspdm_get_encap_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:58,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:63,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c:65,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 66
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 66
    functionName: libspdm_test_requester_encap_certificate
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_mut_b
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_certificate(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_certificate/encap_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:173,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:174,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:177,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:183,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 185
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 185
    functionName: libspdm_test_requester_get_digests_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_session_info_init
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_digests_case2(void **State) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:37,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:75,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:48,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:86,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:52,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:90,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:94,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 105
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:124,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:133,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:131,1
    - Dst: libspdm_get_digest
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 134
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 134
    functionName: libspdm_test_requester_get_digests_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_get_digest
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_digests_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:198,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:210,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:205,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:207,1
    - Dst: libspdm_test_requester_get_digests_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:206,1
    - Dst: libspdm_test_requester_get_digests_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:211,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 214
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 214
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_get_digests_case2
    - libspdm_test_requester_get_digests_case1
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_digests/get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:179,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:197,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:206,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:201,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:183,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:207,1
    - Dst: libspdm_get_measurement
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:218,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:221,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 227
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 227
    functionName: libspdm_test_requester_get_measurement_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_get_measurement
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_get_measurement_request_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:72,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_test_get_measurement_request_size
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:326,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:341,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:355,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:359,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:342,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:364,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:365,1
    - Dst: libspdm_get_measurement
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:375,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:378,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:379,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 385
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 385
    functionName: libspdm_test_requester_get_measurement_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_session_info_init
    - libspdm_get_measurement
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - libspdm_asym_free
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:481,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:500,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:485,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:505,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:496,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:506,1
    - Dst: libspdm_get_measurement_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:518,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:523,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:524,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 530
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 530
    functionName: libspdm_test_requester_get_measurement_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_measurement_ex
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - spdm_context
    - buffer
    - buffer_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 62
    functionName: libspdm_test_get_measurement_request_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_test_get_measurement_request_size(const void *spdm_context,
      const void *buffer, size_t buffer_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:88,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:137,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:103,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:126,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:99,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:141,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:145,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 156
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 156
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:252,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:256,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:276,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:267,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:271,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:277,1
    - Dst: libspdm_get_measurement_ex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:289,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:294,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:295,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 301
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 301
    functionName: libspdm_test_requester_get_measurement_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_measurement_ex
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:408,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:412,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:428,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:433,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:424,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:434,1
    - Dst: libspdm_get_measurement
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:444,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:448,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:449,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 455
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 455
    functionName: libspdm_test_requester_get_measurement_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_get_measurement
    - libspdm_asym_free
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_reset_message_m
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:543,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:551,1
    - Dst: libspdm_test_requester_get_measurement_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:550,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:554,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:549,1
    - Dst: libspdm_test_requester_get_measurement_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:555,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:556,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:559,1
    - Dst: libspdm_test_requester_get_measurement_case3
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:560,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:561,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:569,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:571,1
    - Dst: libspdm_test_requester_get_measurement_case4
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:565,1
    - Dst: libspdm_test_requester_get_measurement_case5
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:570,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:564,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 572
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 572
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_get_measurement_case2
    - libspdm_test_requester_get_measurement_case4
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_get_measurement_case3
    - libspdm_test_requester_get_measurement_case5
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    - libspdm_test_requester_get_measurement_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurements/get_measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:73,1
    - Dst: libspdm_get_capabilities
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: libspdm_test_requester_get_capabilities
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_capabilities
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_capabilities(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:41,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:53,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:90,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:100,1
    - Dst: libspdm_test_requester_get_capabilities
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:98,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_capabilities/get_capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_get_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:70,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - spdm_version
    - hash_size
    - in_secret
    - out_secret
    - out_secret_size
    argTypes:
    - spdm_version_number_t
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: libspdm_compute_secret_update
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_expand
    - libspdm_bin_concat
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_compute_secret_update(spdm_version_number_t spdm_version,
      size_t hash_size, const uint8_t *in_secret, uint8_t *out_secret, size_t out_secret_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:170,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:188,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:215,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:207,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:175,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:219,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 232
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 232
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:281,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:285,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:290,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:300,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 301
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 301
    functionName: libspdm_test_requester_key_update_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_compute_secret_update
    - libspdm_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case2(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:33,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:56,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:49,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:55,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 60
    functionName: libspdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_state(libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:84,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:94,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:87,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:85,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:90,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:96,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:99,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - secured_message_context
    - m_rsp_secret_buffer
    - rsp_secret_fill
    - m_req_secret_buffer
    - req_secret_fill
    argTypes:
    - libspdm_secured_message_context_t*
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 106
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 106
    functionName: libspdm_set_standard_key_update_test_secrets
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_secrets( libspdm_secured_message_context_t
      *secured_message_context, uint8_t *m_rsp_secret_buffer, uint8_t rsp_secret_fill,
      uint8_t *m_req_secret_buffer, uint8_t req_secret_fill) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:128,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:140,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:139,1
    - Dst: memcpy
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:134,1
    - Dst: LIBSPDM_STATUS_IS_ERROR
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 153
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 153
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - LIBSPDM_STATUS_IS_ERROR
    - libspdm_get_session_info_via_session_id
    - libspdm_transport_test_decode_message
    - memcpy
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:249,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:253,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:258,1
    - Dst: libspdm_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 265
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 265
    functionName: libspdm_test_requester_key_update_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_compute_secret_update
    - libspdm_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_key_update_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:314,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:325,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:320,1
    - Dst: libspdm_test_requester_key_update_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:321,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:322,1
    - Dst: libspdm_test_requester_key_update_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:326,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_key_update_case1
    - libspdm_test_requester_key_update_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_key_update/key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:217,1
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:221,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 223
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 223
    functionName: libspdm_test_requester_get_csr_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    - libspdm_get_csr
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case2(void **State) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:76,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:90,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:117,1
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:105,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:85,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:128,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:134,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 150
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 150
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    - libspdm_transport_test_encode_message
    - libspdm_get_scratch_buffer
    - libspdm_copy_mem
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_csr
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: libspdm_test_requester_get_csr_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_csr
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_csr_case1(void **State) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:35,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:45,1
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:49,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:40,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:47,1
    - Dst: libspdm_transport_test_decode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:50,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_session_info_via_session_id
    - libspdm_transport_test_decode_message
    - memcpy
    - LIBSPDM_DEBUG
    - libspdm_dump_hex
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:236,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:248,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:243,1
    - Dst: libspdm_test_requester_get_csr_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:244,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:245,1
    - Dst: libspdm_test_requester_get_csr_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:249,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_get_csr_case1
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_get_csr_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_csr/get_csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:100,1
    - Dst: libspdm_vendor_send_request_receive_response
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:104,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 113
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 113
    functionName: libspdm_test_requester_vendor_cmds_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_vendor_send_request_receive_response
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_vendor_cmds_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:127,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:136,1
    - Dst: libspdm_test_requester_vendor_cmds_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:135,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_vendor_cmds_case1
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:57,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:70,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:110,1
    - Dst: libspdm_get_measurement_extension_log
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:114,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 116
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 116
    functionName: libspdm_test_requester_get_measurement_extension_log
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_measurement_extension_log
    - libspdm_zero_mem
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_get_measurement_extension_log(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:130,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:137,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:139,1
    - Dst: libspdm_test_requester_get_measurement_extension_log
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_get_measurement_extension_log
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:41,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:59,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:60,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 81
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 81
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_zero_mem
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_measurement_extension_log/get_measurement_extension_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:40,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 43
    functionName: libspdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_state(libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:83,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - spdm_version
    - hash_size
    - in_secret
    - out_secret
    - out_secret_size
    argTypes:
    - spdm_version_number_t
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: libspdm_compute_secret_update
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_expand
    - libspdm_bin_concat
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_compute_secret_update(spdm_version_number_t spdm_version,
      size_t hash_size, const uint8_t *in_secret, uint8_t *out_secret, size_t out_secret_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:114,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:119,1
    - Dst: libspdm_get_encap_response_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:133,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 136
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 136
    functionName: libspdm_test_requester_encap_key_update
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_get_encap_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_compute_secret_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_encap_key_update(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:50,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:51,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:57,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:61,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:53,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:63,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:66,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - secured_message_context
    - m_rsp_secret_buffer
    - rsp_secret_fill
    - m_req_secret_buffer
    - req_secret_fill
    argTypes:
    - libspdm_secured_message_context_t*
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: libspdm_set_standard_key_update_test_secrets
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_secrets( libspdm_secured_message_context_t
      *secured_message_context, uint8_t *m_rsp_secret_buffer, uint8_t rsp_secret_fill,
      uint8_t *m_req_secret_buffer, uint8_t req_secret_fill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:147,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:153,1
    - Dst: libspdm_test_requester_encap_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:154,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_encap_key_update
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:65,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: libspdm_test_requester_negotiate_algorithms_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_negotiate_algorithms_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:104,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 126
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 126
    functionName: libspdm_test_requester_negotiate_algorithms_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_negotiate_algorithms_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:204,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:211,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:208,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:218,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:215,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:222,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:225,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:229,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:232,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:242,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:244,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:256,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 257
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 257
    functionName: libspdm_test_requester_negotiate_algorithms_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_negotiate_algorithms_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:85,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: libspdm_test_requester_negotiate_algorithms_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_negotiate_algorithms_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:31,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:38,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:43,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:142,1
    - Dst: libspdm_negotiate_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 165
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 165
    functionName: libspdm_test_requester_negotiate_algorithms_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    - libspdm_negotiate_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_requester_negotiate_algorithms_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:270,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:276,1
    - Dst: libspdm_test_requester_negotiate_algorithms_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:277,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:278,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:281,1
    - Dst: libspdm_test_requester_negotiate_algorithms_case2
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:282,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:283,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:285,1
    - Dst: libspdm_test_requester_negotiate_algorithms_case3
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:286,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:287,1
    - Dst: libspdm_test_requester_negotiate_algorithms_case4
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:291,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:292,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:290,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:297,1
    - Dst: libspdm_test_requester_negotiate_algorithms_case5
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:296,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 298
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_negotiate_algorithms/negotiate_algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_test_requester_negotiate_algorithms_case2
    - libspdm_test_requester_negotiate_algorithms_case1
    - libspdm_unit_test_group_teardown
    - libspdm_test_requester_negotiate_algorithms_case5
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_negotiate_algorithms_case3
    - libspdm_setup_test_context
    - libspdm_test_requester_negotiate_algorithms_case4
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:103,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:104,1
    - Dst: libspdm_get_event_types
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 111
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 111
    functionName: libspdm_test_requester_get_event_types_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    - libspdm_get_event_types
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_test_requester_get_event_types_case1(void **state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - spdm_context
    - request_size
    - request
    - timeout
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: libspdm_device_send_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_send_message(void *spdm_context, size_t
      request_size, const void *request, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:124,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:133,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:131,1
    - Dst: libspdm_test_requester_get_event_types_case1
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_requester_get_event_types_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:41,1
    - Dst: libspdm_transport_test_encode_message
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:57,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:52,1
    - Dst: libspdm_get_session_info_via_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c:44,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - spdm_context
    - response_size
    - response
    - timeout
    argTypes:
    - void*
    - size_t*
    - void**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: libspdm_device_receive_message
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_transport_test_encode_message
    - libspdm_get_session_info_via_session_id
    - libspdm_get_test_context
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_device_receive_message(void *spdm_context,
      size_t *response_size, void **response, uint64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_requester/test_spdm_requester_get_event_types/get_event_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:76,1
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:82,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 86
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionName: libspdm_test_responder_csr_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_get_response_csr
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:97,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:111,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:113,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:116,1
    - Dst: libspdm_test_responder_csr_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:112,1
    - Dst: libspdm_test_responder_csr_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:117,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_csr_case1
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_csr_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_csr
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 44
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 44
    functionName: libspdm_test_responder_csr_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_csr
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_csr_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_csr/csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:89,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:97,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: libspdm_test_get_response_encapsulated_request_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_encapsulated_request
    - libspdm_reset_message_mut_c
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:187,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: libspdm_test_get_response_encapsulated_request_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_encapsulated_request
    - libspdm_reset_message_mut_c
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:219,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:234,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:227,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:235,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: libspdm_test_get_response_encapsulated_response_ack_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_mut_b
    - free
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case1(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:288,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:301,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:306,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:310,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:303,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 312
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 312
    functionName: libspdm_test_get_response_encapsulated_response_ack_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_mut_b
    - free
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case3(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:384,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:392,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:399,1
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:395,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 401
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 401
    functionName: libspdm_test_get_response_encapsulated_response_ack_case6
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_mut_b
    - free
    - libspdm_get_response_encapsulated_response_ack
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case6(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:47,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:63,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:57,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:55,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 64
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 64
    functionName: libspdm_test_get_response_encapsulated_request_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_encapsulated_request
    - libspdm_reset_message_mut_c
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:123,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:126,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 132
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 132
    functionName: libspdm_test_get_response_encapsulated_request_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_encapsulated_request
    - libspdm_reset_message_mut_c
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 261
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 261
    functionName: libspdm_test_get_response_encapsulated_response_ack_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_encapsulated_response_ack
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case2(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: libspdm_test_get_response_encapsulated_response_ack_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_encapsulated_response_ack
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case4(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:418,1
    - Dst: libspdm_test_get_response_encapsulated_request_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:419,1
    - Dst: libspdm_test_get_response_encapsulated_response_ack_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:441,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:435,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:440,1
    - Dst: libspdm_test_get_response_encapsulated_request_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:436,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:450,1
    - Dst: libspdm_test_get_response_encapsulated_response_ack_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:451,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:467,1
    - Dst: libspdm_test_get_response_encapsulated_response_ack_case6
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:468,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:415,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:425,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:437,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:447,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:457,1
    - Dst: libspdm_test_get_response_encapsulated_request_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:414,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:413,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:423,1
    - Dst: libspdm_test_get_response_encapsulated_request_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:424,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:431,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:445,1
    - Dst: libspdm_test_get_response_encapsulated_response_ack_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:446,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:455,1
    - Dst: libspdm_test_get_response_encapsulated_response_ack_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:456,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:463,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:407,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:420,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:442,1
    - Dst: libspdm_test_get_response_encapsulated_request_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:430,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:429,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:452,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:461,1
    - Dst: libspdm_test_get_response_encapsulated_response_ack_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:462,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 470
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 470
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_test_get_response_encapsulated_response_ack_case1
    - libspdm_test_get_response_encapsulated_response_ack_case4
    - libspdm_test_get_response_encapsulated_request_case5
    - libspdm_unit_test_group_teardown
    - libspdm_test_get_response_encapsulated_request_case4
    - libspdm_test_get_response_encapsulated_response_ack_case2
    - libspdm_test_get_response_encapsulated_response_ack_case3
    - libspdm_test_get_response_encapsulated_response_ack_case5
    - libspdm_test_get_response_encapsulated_request_case1
    - libspdm_unit_test_group_setup
    - libspdm_test_get_response_encapsulated_request_case3
    - libspdm_setup_test_context
    - libspdm_test_get_response_encapsulated_response_ack_case6
    - libspdm_test_get_response_encapsulated_request_case2
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:158,1
    - Dst: libspdm_get_response_encapsulated_request
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:161,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: libspdm_test_get_response_encapsulated_request_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_encapsulated_request
    - libspdm_reset_message_mut_c
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_request_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_encapsulated_response_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 357
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 357
    functionName: libspdm_test_get_response_encapsulated_response_ack_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_response/encap_response.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_encapsulated_response_ack
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_response_encapsulated_response_ack_case5(void
      **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:40,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 43
    functionName: libspdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_state(libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:82,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - spdm_version
    - hash_size
    - in_secret
    - out_secret
    - out_secret_size
    argTypes:
    - spdm_version_number_t
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: libspdm_compute_secret_update
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_expand
    - libspdm_bin_concat
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_compute_secret_update(spdm_version_number_t spdm_version,
      size_t hash_size, const uint8_t *in_secret, uint8_t *out_secret, size_t out_secret_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:152,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:177,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:169,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:161,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:176,1
    - Dst: libspdm_get_encap_request_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:179,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:180,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 182
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 182
    functionName: libspdm_test_get_encap_request_key_update_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - libspdm_get_encap_request_key_update
    - free
    - malloc
    - libspdm_reset_message_b
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_encap_request_key_update_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:115,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:120,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:124,1
    - Dst: libspdm_init_key_update_encap_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:128,1
    - Dst: libspdm_process_encap_response_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 132
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 132
    functionName: libspdm_test_process_encap_response_key_update_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_compute_secret_update
    - libspdm_process_encap_response_key_update
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_init_key_update_encap_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_process_encap_response_key_update_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:50,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:56,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:60,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:53,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:51,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:62,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:65,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - secured_message_context
    - m_rsp_secret_buffer
    - rsp_secret_fill
    - m_req_secret_buffer
    - req_secret_fill
    argTypes:
    - libspdm_secured_message_context_t*
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 72
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 72
    functionName: libspdm_set_standard_key_update_test_secrets
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_secrets( libspdm_secured_message_context_t
      *secured_message_context, uint8_t *m_rsp_secret_buffer, uint8_t rsp_secret_fill,
      uint8_t *m_req_secret_buffer, uint8_t req_secret_fill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:202,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:211,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:229,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:219,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:228,1
    - Dst: libspdm_get_encap_request_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:231,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:232,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 234
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 234
    functionName: libspdm_test_get_encap_request_key_update_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - libspdm_get_encap_request_key_update
    - free
    - malloc
    - libspdm_reset_message_b
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_encap_request_key_update_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:240,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:248,1
    - Dst: libspdm_test_process_encap_response_key_update_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:247,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:251,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:246,1
    - Dst: libspdm_test_get_encap_request_key_update_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:252,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:253,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:256,1
    - Dst: libspdm_test_get_encap_request_key_update_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:257,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached:
    - libspdm_test_get_encap_request_key_update_case1
    - libspdm_unit_test_group_teardown
    - libspdm_test_process_encap_response_key_update_case1
    - libspdm_unit_test_group_setup
    - libspdm_test_get_encap_request_key_update_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_key_update/encap_key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_version
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c:26,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 30
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 30
    functionName: libspdm_test_responder_version
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_version
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_version(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c:41,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c:53,1
    - Dst: libspdm_test_responder_version
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c:56,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_version/version.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_version
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_measurement_extension_log
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 49
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 49
    functionName: libspdm_test_responder_measurement_extension_log
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_measurement_extension_log
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurement_extension_log(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c:60,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c:75,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c:73,1
    - Dst: libspdm_test_responder_measurement_extension_log
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_measurement_extension_log
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurement_extension_log/measurement_extension_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:73,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:87,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:85,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:84,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:80,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:89,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:91,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:94,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:99,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:102,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 105
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 105
    functionName: libspdm_test_responder_key_exchange_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - libspdm_dhe_free
    - free
    - libspdm_reset_message_k
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case1(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:207,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:219,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:224,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:214,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 225
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 225
    functionName: libspdm_test_responder_key_exchange_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - free
    - libspdm_reset_message_k
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case3(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:351,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:358,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:363,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:365,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:362,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:367,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:369,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:372,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:377,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:380,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 383
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 383
    functionName: libspdm_test_responder_key_exchange_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - libspdm_dhe_free
    - free
    - libspdm_reset_message_k
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case5(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:488,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:500,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:499,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:495,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:502,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:504,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:506,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:509,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:514,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:517,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 520
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 520
    functionName: libspdm_test_responder_key_exchange_case7
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - libspdm_dhe_free
    - free
    - libspdm_reset_message_k
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case7(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:143,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:156,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:150,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:154,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:153,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:158,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:160,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:163,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:168,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:171,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 174
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 174
    functionName: libspdm_test_responder_key_exchange_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - libspdm_dhe_free
    - free
    - libspdm_reset_message_k
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:420,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:432,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:427,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:431,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:434,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:436,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:438,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:441,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:446,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:449,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 452
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 452
    functionName: libspdm_test_responder_key_exchange_case6
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - libspdm_dhe_free
    - free
    - libspdm_reset_message_k
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case6(void **State) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_free_session_id
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:548,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:589,1
    - Dst: libspdm_read_responder_public_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:579,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:585,1
    - Dst: libspdm_read_requester_public_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:582,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:590,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:592,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:594,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:596,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:599,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:609,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:604,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:610,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:607,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 611
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 611
    functionName: libspdm_test_responder_key_exchange_case8
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_free_session_id
    - libspdm_get_response_key_exchange
    - libspdm_dhe_free
    - libspdm_read_requester_public_key
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_k
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - free
    - libspdm_read_responder_public_key
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case8(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:634,1
    - Dst: libspdm_test_responder_key_exchange_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:635,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:639,1
    - Dst: libspdm_test_responder_key_exchange_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:640,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:652,1
    - Dst: libspdm_test_responder_key_exchange_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:653,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:662,1
    - Dst: libspdm_test_responder_key_exchange_case7
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:663,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:617,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:631,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:659,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:669,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:629,1
    - Dst: libspdm_test_responder_key_exchange_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:630,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:657,1
    - Dst: libspdm_test_responder_key_exchange_case6
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:658,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:648,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:667,1
    - Dst: libspdm_test_responder_key_exchange_case8
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:668,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:636,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:641,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:646,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:654,1
    - Dst: libspdm_test_responder_key_exchange_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:647,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 670
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 670
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_key_exchange_case5
    - libspdm_test_responder_key_exchange_case1
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_key_exchange_case2
    - libspdm_test_responder_key_exchange_case3
    - libspdm_test_responder_key_exchange_case6
    - libspdm_test_responder_key_exchange_case7
    - libspdm_test_responder_key_exchange_case8
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_key_exchange_case4
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:272,1
    - Dst: libspdm_register_cert_chain_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:279,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:282,1
    - Dst: libspdm_dhe_new
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:287,1
    - Dst: libspdm_get_dhe_pub_key_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:286,1
    - Dst: libspdm_dhe_generate_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:289,1
    - Dst: libspdm_dhe_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:291,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:293,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:296,1
    - Dst: libspdm_get_response_key_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:301,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:306,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 307
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 307
    functionName: libspdm_test_responder_key_exchange_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_key_exchange
    - libspdm_dhe_free
    - libspdm_register_cert_chain_buffer
    - free
    - libspdm_reset_message_k
    - libspdm_dhe_generate_key
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_dhe_pub_key_size
    - libspdm_reset_message_a
    - libspdm_dhe_new
    - libspdm_build_opaque_data_supported_version_data
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_exchange_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:81,1
    - Dst: libspdm_get_leaf_cert_public_key_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:82,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:97,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:98,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:57,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:63,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:72,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:94,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:103,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:110,1
    - Dst: libspdm_process_encap_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:105,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:100,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:62,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:76,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:101,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:111,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:49,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:61,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 114
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 114
    functionName: libspdm_test_responder_encap_challenge_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_hash_all
    - libspdm_asym_free
    - libspdm_reset_message_c
    - libspdm_get_leaf_cert_public_key_from_cert_chain
    - free
    - libspdm_get_hash_size
    - libspdm_get_random_number
    - libspdm_reset_message_b
    - libspdm_process_encap_response_challenge_auth
    - libspdm_dump_hex
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_challenge_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:157,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:163,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:168,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:165,1
    - Dst: libspdm_test_responder_encap_challenge_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:164,1
    - Dst: libspdm_test_get_encap_request_challenge_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:169,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_encap_challenge_case1
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_get_encap_request_challenge_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:132,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:137,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:148,1
    - Dst: libspdm_get_encap_request_challenge
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:147,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:145,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:149,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: libspdm_test_get_encap_request_challenge_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - libspdm_reset_message_mut_c
    - free
    - libspdm_get_encap_request_challenge
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_encap_request_challenge_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_challenge/encap_challenge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:112,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:123,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:116,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:117,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:122,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:131,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:135,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 137
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 137
    functionName: libspdm_test_responder_respond_if_ready_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_reset_message_c
    - libspdm_reset_message_b
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:200,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:212,1
    - Dst: libspdm_test_responder_respond_if_ready
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:208,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:209,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:207,1
    - Dst: libspdm_test_responder_respond_if_ready_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:213,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:214,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:216,1
    - Dst: libspdm_test_responder_respond_if_ready_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:217,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 220
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_respond_if_ready
    - libspdm_test_responder_respond_if_ready_case2
    - libspdm_test_responder_respond_if_ready_case3
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:169,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:173,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:179,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:174,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:180,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:188,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:192,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 194
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 194
    functionName: libspdm_test_responder_respond_if_ready_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_reset_message_c
    - libspdm_reset_message_b
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:55,1
    - Dst: libspdm_get_scratch_buffer_last_spdm_request_capacity
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:60,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:65,1
    - Dst: libspdm_get_scratch_buffer_cache_spdm_request_capacity
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:66,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:59,1
    - Dst: libspdm_get_response_respond_if_ready
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:74,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:78,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: libspdm_test_responder_respond_if_ready
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_respond_if_ready
    - libspdm_get_scratch_buffer_last_spdm_request_capacity
    - libspdm_get_scratch_buffer_cache_spdm_request_capacity
    - libspdm_reset_message_c
    - libspdm_reset_message_b
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_respond_if_ready(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_if_ready/respond_if_ready.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c:55,1
    - Dst: libspdm_get_response_supported_event_types
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c:61,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 65
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 65
    functionName: libspdm_test_responder_event_types_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_get_response_supported_event_types
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_event_types_case1(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c:76,1
    - Dst: libspdm_test_responder_event_types_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c:90,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c:91,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_event_types_case1
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_supported_event_types/event_types.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:59,1
    - Dst: libspdm_register_cert_chain_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:74,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:72,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:67,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:63,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:77,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:85,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:87,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:88,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: libspdm_test_responder_encap_get_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_register_cert_chain_buffer
    - libspdm_process_encap_response_certificate
    - libspdm_asym_free
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_reset_message_mut_b
    - free
    - libspdm_reset_message_b
    - libspdm_dump_hex
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_certificate_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_verify_spdm_cert_chain_func
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:191,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:202,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:198,1
    - Dst: libspdm_register_cert_chain_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:213,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:194,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:216,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:224,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:227,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:228,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:231,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 234
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 234
    functionName: libspdm_test_responder_encap_get_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_register_cert_chain_buffer
    - libspdm_process_encap_response_certificate
    - libspdm_asym_free
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_reset_message_mut_b
    - free
    - libspdm_register_verify_spdm_cert_chain_func
    - libspdm_dump_hex
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_certificate_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - spdm_context
    - slot_id
    - cert_chain_size
    - cert_chain
    - trust_anchor
    - trust_anchor_size
    argTypes:
    - void*
    - uint8_t
    - size_t
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: libspdm_test_verify_spdm_cert_chain
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_test_verify_spdm_cert_chain(void *spdm_context, uint8_t
      slot_id, size_t cert_chain_size, const void *cert_chain, const void **trust_anchor,
      size_t *trust_anchor_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:123,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:127,1
    - Dst: libspdm_dump_hex
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:131,1
    - Dst: libspdm_register_cert_chain_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:143,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:146,1
    - Dst: libspdm_process_encap_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:154,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:157,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:158,1
    - Dst: libspdm_asym_free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 164
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 164
    functionName: libspdm_test_responder_encap_get_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_register_cert_chain_buffer
    - libspdm_process_encap_response_certificate
    - libspdm_asym_free
    - libspdm_x509_get_cert_from_cert_chain
    - libspdm_reset_message_mut_b
    - free
    - libspdm_dump_hex
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_certificate_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:254,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:259,1
    - Dst: libspdm_reset_message_mut_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:271,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:267,1
    - Dst: libspdm_get_encap_request_get_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:269,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:272,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 274
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 274
    functionName: libspdm_test_get_encap_request_get_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_mut_b
    - free
    - libspdm_get_encap_request_get_certificate
    - malloc
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_encap_request_get_certificate_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:280,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:292,1
    - Dst: libspdm_test_responder_encap_get_certificate_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:287,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:286,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:288,1
    - Dst: libspdm_test_responder_encap_get_certificate_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:293,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:294,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:297,1
    - Dst: libspdm_test_responder_encap_get_certificate_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:298,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:299,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:304,1
    - Dst: libspdm_test_get_encap_request_get_certificate_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:303,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 305
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 305
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_encap_get_certificate_case3
    - libspdm_test_responder_encap_get_certificate_case2
    - libspdm_unit_test_group_setup
    - libspdm_test_get_encap_request_get_certificate_case2
    - libspdm_test_responder_encap_get_certificate_case1
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_certificate/encap_get_certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:126,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:140,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:134,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 141
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 141
    functionName: libspdm_test_responder_challenge_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:47,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:55,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:61,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 62
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 62
    functionName: libspdm_test_responder_challenge_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:209,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:217,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:223,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 224
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 224
    functionName: libspdm_test_responder_challenge_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:291,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:299,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:305,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 306
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 306
    functionName: libspdm_test_responder_challenge_case7
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case7(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:87,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:100,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:95,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 101
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 101
    functionName: libspdm_test_responder_challenge_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:169,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:179,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:182,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 183
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 183
    functionName: libspdm_test_responder_challenge_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:253,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:263,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:264,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 267
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 267
    functionName: libspdm_test_responder_challenge_case6
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case6(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:332,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:354,1
    - Dst: libspdm_reset_message_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:339,1
    - Dst: libspdm_get_response_challenge_auth
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 355
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 355
    functionName: libspdm_test_responder_challenge_case8
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_challenge_auth
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_c
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_challenge_case8(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:361,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:375,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:385,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:400,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:395,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:410,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:378,1
    - Dst: libspdm_test_responder_challenge_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:379,1
    - Dst: libspdm_test_responder_challenge_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:389,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:388,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:403,1
    - Dst: libspdm_test_responder_challenge_case7
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:404,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:380,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:390,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:405,1
    - Dst: libspdm_test_responder_challenge_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:374,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:373,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:383,1
    - Dst: libspdm_test_responder_challenge_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:384,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:393,1
    - Dst: libspdm_test_responder_challenge_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:394,1
    - Dst: libspdm_test_responder_challenge_case6
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:399,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:398,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:408,1
    - Dst: libspdm_test_responder_challenge_case8
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 411
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 411
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_challenge_case4
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_challenge_case2
    - libspdm_test_responder_challenge_case3
    - libspdm_test_responder_challenge_case8
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_challenge_case1
    - libspdm_test_responder_challenge_case5
    - libspdm_test_responder_challenge_case6
    - libspdm_test_responder_challenge_case7
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_challenge_auth/challenge_auth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 39
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 39
    functionName: libspdm_test_responder_key_pair_info
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_key_pair_info
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_pair_info(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c:50,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c:63,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c:65,1
    - Dst: libspdm_test_responder_key_pair_info
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_pair_info/key_pair_info.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_key_pair_info
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_register_vendor_get_id_callback_func
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:65,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:76,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:75,1
    - Dst: libspdm_get_vendor_defined_response
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:81,1
    - Dst: libspdm_register_vendor_callback_func
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: libspdm_test_responder_vendor_cmds_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached:
    - libspdm_session_info_init
    - libspdm_register_vendor_callback_func
    - libspdm_register_vendor_get_id_callback_func
    - libspdm_get_vendor_defined_response
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_vendor_cmds_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 5
    argNames:
    - spdm_context
    - '#if'
    - session_id
    - '#endif'
    - resp_standard_id
    - resp_vendor_id_len
    - resp_vendor_id
    argTypes:
    - void*
    - LIBSPDM_PASS_SESSION_ID*
    - uint16_t*
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: libspdm_vendor_get_id_func_test
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_vendor_get_id_func_test( void *spdm_context,#if
      LIBSPDM_PASS_SESSION_ID const uint32_t *session_id,#endif uint16_t *resp_standard_id,
      uint8_t *resp_vendor_id_len, void *resp_vendor_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 9
    argNames:
    - spdm_context
    - '#if'
    - session_id
    - '#endif'
    - req_standard_id
    - req_vendor_id_len
    - req_vendor_id
    - req_size
    - req_data
    - resp_size
    - resp_data
    argTypes:
    - void*
    - LIBSPDM_PASS_SESSION_ID*
    - uint16_t
    - uint8_t
    - void*
    - uint16_t
    - void*
    - uint16_t*
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: libspdm_vendor_response_func_test
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_vendor_response_func_test( void *spdm_context,#if
      LIBSPDM_PASS_SESSION_ID const uint32_t *session_id,#endif uint16_t req_standard_id,
      uint8_t req_vendor_id_len, const void *req_vendor_id, uint16_t req_size, const
      void *req_data, uint16_t *resp_size, void *resp_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:95,1
    - Dst: libspdm_test_responder_vendor_cmds_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:103,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:102,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_vendor_cmds_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_vendor_cmds/vendor_cmds.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:268,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:277,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:282,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:290,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:280,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:296,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:301,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:306,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:308,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 309
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 309
    functionName: libspdm_test_responder_psk_exchange_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_reset_message_k
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case4(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:136,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:145,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:148,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:153,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 156
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 156
    functionName: libspdm_test_responder_psk_exchange_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_reset_message_k
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case2(void **State) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:424,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:438,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:446,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:433,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:436,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:452,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:457,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:461,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 464
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 464
    functionName: libspdm_test_responder_psk_exchange_case6
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_reset_message_k
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case6(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:69,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:83,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:91,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:81,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:78,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:97,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:102,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:106,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 109
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 109
    functionName: libspdm_test_responder_psk_exchange_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_reset_message_k
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case1(void **State) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:347,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:360,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:357,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:370,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:362,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:376,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:381,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:386,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 389
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 389
    functionName: libspdm_test_responder_psk_exchange_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_reset_message_k
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case5(void **State) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:502,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:511,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:524,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:516,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:514,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:530,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:535,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:540,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:542,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 543
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 543
    functionName: libspdm_test_responder_psk_exchange_case7
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_reset_message_k
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case7(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:566,1
    - Dst: libspdm_test_responder_psk_exchange_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:567,1
    - Dst: libspdm_test_responder_psk_exchange_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:579,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:587,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:578,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:594,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:568,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:580,1
    - Dst: libspdm_test_responder_psk_exchange_case6
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:588,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:549,1
    - Dst: libspdm_test_responder_psk_exchange_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:562,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:561,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:574,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:589,1
    - Dst: libspdm_test_responder_psk_exchange_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:584,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:583,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:563,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:572,1
    - Dst: libspdm_test_responder_psk_exchange_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:573,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:585,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:592,1
    - Dst: libspdm_test_responder_psk_exchange_case7
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 595
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 595
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_psk_exchange_case5
    - libspdm_test_responder_psk_exchange_case4
    - libspdm_test_responder_psk_exchange_case1
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_psk_exchange_case6
    - libspdm_test_responder_psk_exchange_case3
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_psk_exchange_case7
    - libspdm_test_responder_psk_exchange_case2
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:191,1
    - Dst: libspdm_get_random_number
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:213,1
    - Dst: libspdm_get_opaque_data_supported_version_data_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:203,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:200,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:205,1
    - Dst: libspdm_build_opaque_data_supported_version_data
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:219,1
    - Dst: libspdm_get_response_psk_exchange
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:224,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 228
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 228
    functionName: libspdm_test_responder_psk_exchange_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_exchange_rsp/psk_exchange_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_build_opaque_data_supported_version_data
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_psk_exchange
    - free
    - libspdm_get_opaque_data_supported_version_data_size
    - libspdm_get_random_number
    - libspdm_reset_message_a
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_exchange_case3(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:182,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:186,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: libspdm_test_responder_finish_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_k
    - libspdm_get_response_finish
    - libspdm_reset_message_f
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case3(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:106,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:110,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:128,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:127,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:137,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:90,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:113,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:114,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:116,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:126,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:121,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:136,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:139,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:108,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:123,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:125,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:132,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:105,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:99,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:107,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:126,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 140
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 140
    functionName: libspdm_test_responder_finish_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - libspdm_reset_message_f
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - libspdm_get_response_finish
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:31,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: libspdm_secured_message_set_request_finished_key
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_secured_message_set_request_finished_key(void *spdm_secured_message_context,
      const void *key, size_t key_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:236,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:239,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 242
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 242
    functionName: libspdm_test_responder_finish_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_k
    - libspdm_get_response_finish
    - libspdm_reset_message_f
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case5(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:509,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:523,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:531,1
    - Dst: libspdm_test_responder_finish_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:540,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:541,1
    - Dst: libspdm_test_responder_finish_case6
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:544,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:545,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:539,1
    - Dst: libspdm_test_responder_finish_case7
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:548,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:549,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:551,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:553,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:547,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:526,1
    - Dst: libspdm_test_responder_finish_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:522,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:521,1
    - Dst: libspdm_test_responder_finish_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:527,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:528,1
    - Dst: libspdm_test_responder_finish_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:532,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:533,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:535,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:543,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:537,1
    - Dst: libspdm_test_responder_finish_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:536,1
    - Dst: libspdm_test_responder_finish_case8
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 554
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 554
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_finish_case4
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_finish_case6
    - libspdm_test_responder_finish_case8
    - libspdm_test_responder_finish_case5
    - libspdm_test_responder_finish_case1
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_finish_case3
    - libspdm_test_responder_finish_case7
    - libspdm_setup_test_context
    - libspdm_test_responder_finish_case2
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:157,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:160,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: libspdm_test_responder_finish_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_k
    - libspdm_get_response_finish
    - libspdm_reset_message_f
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:208,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:212,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 214
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 214
    functionName: libspdm_test_responder_finish_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_k
    - libspdm_get_response_finish
    - libspdm_reset_message_f
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case4(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:268,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:271,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 274
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 274
    functionName: libspdm_test_responder_finish_case6
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_k
    - libspdm_get_response_finish
    - libspdm_reset_message_f
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case6(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:310,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:319,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:325,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:326,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:327,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:328,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:330,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:332,1
    - Dst: libspdm_get_response_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:336,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:339,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:340,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 343
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 343
    functionName: libspdm_test_responder_finish_case7
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_f
    - libspdm_session_info_init
    - libspdm_get_response_finish
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_finish_case7(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:52,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: libspdm_test_responder_algorithms_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:125,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 129
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 129
    functionName: libspdm_test_responder_algorithms_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:188,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 192
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 192
    functionName: libspdm_test_responder_algorithms_case6
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case6(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:249,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 253
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 253
    functionName: libspdm_test_responder_algorithms_case8
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case8(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:306,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 310
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 310
    functionName: libspdm_test_responder_algorithms_case10
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case10(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:381,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:398,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:389,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:402,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:395,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:409,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:413,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:420,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:424,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:431,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:436,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 446
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 446
    functionName: libspdm_test_responder_algorithms_case12
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case12(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:82,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: libspdm_test_responder_algorithms_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: libspdm_test_responder_algorithms_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:156,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 160
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 160
    functionName: libspdm_test_responder_algorithms_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:219,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 223
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 223
    functionName: libspdm_test_responder_algorithms_case7
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case7(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:271,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: libspdm_test_responder_algorithms_case9
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case9(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:333,1
    - Dst: libspdm_get_response_algorithms
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 358
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 358
    functionName: libspdm_test_responder_algorithms_case11
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_algorithms
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_algorithms_case11(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:469,1
    - Dst: libspdm_test_responder_algorithms_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:470,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:479,1
    - Dst: libspdm_test_responder_algorithms_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:480,1
    - Dst: libspdm_test_responder_algorithms_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:485,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:494,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:484,1
    - Dst: libspdm_test_responder_algorithms_case6
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:495,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:504,1
    - Dst: libspdm_test_responder_algorithms_case8
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:505,1
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:457,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:471,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:486,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:496,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:506,1
    - Dst: libspdm_test_responder_algorithms_case11
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:519,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:474,1
    - Dst: libspdm_test_responder_algorithms_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:475,1
    - Dst: libspdm_test_responder_algorithms_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:490,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:489,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:499,1
    - Dst: libspdm_test_responder_algorithms_case7
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:500,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:509,1
    - Dst: libspdm_test_responder_algorithms_case9
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:510,1
    - Dst: libspdm_test_responder_algorithms_case10
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:515,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:520,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:518,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:525,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:476,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:481,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:491,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:501,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:511,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:514,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:516,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:523,1
    - Dst: libspdm_test_responder_algorithms_case12
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 526
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 526
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_algorithms/algorithms.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_algorithms_case4
    - libspdm_test_responder_algorithms_case8
    - libspdm_test_responder_algorithms_case10
    - libspdm_test_responder_algorithms_case12
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_algorithms_case3
    - libspdm_test_responder_algorithms_case6
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_algorithms_case5
    - libspdm_test_responder_algorithms_case9
    - libspdm_test_responder_algorithms_case2
    - libspdm_setup_test_context
    - libspdm_test_responder_algorithms_case7
    - libspdm_test_responder_algorithms_case11
    - libspdm_test_responder_algorithms_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:56,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:75,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:81,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:66,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:74,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 86
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 86
    functionName: libspdm_test_responder_heartbeat_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: libspdm_test_responder_heartbeat_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_heartbeat
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:173,1
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:198,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:183,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:192,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:191,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 203
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 203
    functionName: libspdm_test_responder_heartbeat_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_response_heartbeat
    - libspdm_session_info_init
    - free
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_heartbeat
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: libspdm_test_responder_heartbeat_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_heartbeat
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_heartbeat_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:209,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:222,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:227,1
    - Dst: libspdm_test_responder_heartbeat_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:223,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:224,1
    - Dst: libspdm_test_responder_heartbeat_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:228,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:229,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:232,1
    - Dst: libspdm_test_responder_heartbeat_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:233,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:234,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:236,1
    - Dst: libspdm_test_responder_heartbeat_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:237,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 239
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached:
    - libspdm_setup_test_context
    - libspdm_test_responder_heartbeat_case3
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_heartbeat_case2
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_heartbeat_case1
    - libspdm_test_responder_heartbeat_case4
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_heartbeat_ack/heartbeat_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c:54,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c:67,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c:69,1
    - Dst: libspdm_test_responder_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_set_key_pair_info_ack
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c:36,1
    - Dst: libspdm_get_response_set_key_pair_info_ack
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: libspdm_test_responder_set_key_pair_info_ack
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_key_pair_info_ack/set_key_pair_info_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_set_key_pair_info_ack
    - libspdm_read_total_key_pairs
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_key_pair_info_ack(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: libspdm_test_responder_capabilities_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: libspdm_test_responder_capabilities_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_capabilities
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: libspdm_test_responder_capabilities_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_capabilities
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_capabilities_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:86,1
    - Dst: libspdm_test_responder_capabilities_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:104,1
    - Dst: libspdm_test_responder_capabilities_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:100,1
    - Dst: libspdm_test_responder_capabilities_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:102,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:97,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_capabilities/capabilities.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_capabilities_case3
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_capabilities_case2
    - libspdm_setup_test_context
    - libspdm_test_responder_capabilities_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:125,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:128,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:139,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:130,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:131,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:140,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:141,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 156
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 156
    functionName: libspdm_test_responder_chunk_get_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_chunk_get
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:262,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:268,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:265,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:276,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:267,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:277,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:278,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 295
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 295
    functionName: libspdm_test_responder_chunk_get_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_chunk_get
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:193,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:199,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:196,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:207,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:198,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:208,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:209,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 224
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 224
    functionName: libspdm_test_responder_chunk_get_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_chunk_get
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_scratch_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:55,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:61,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:69,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:58,1
    - Dst: libspdm_get_scratch_buffer_large_message_offset
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:60,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:70,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:71,1
    - Dst: libspdm_get_response_chunk_get
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 88
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 88
    functionName: libspdm_test_responder_chunk_get_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_chunk_get
    - libspdm_get_scratch_buffer_large_message_offset
    - libspdm_zero_mem
    - libspdm_get_scratch_buffer
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_get_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:306,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:315,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:313,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:318,1
    - Dst: libspdm_test_responder_chunk_get_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:314,1
    - Dst: libspdm_test_responder_chunk_get_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:319,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:320,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:323,1
    - Dst: libspdm_test_responder_chunk_get_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:324,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:325,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:328,1
    - Dst: libspdm_test_responder_chunk_get_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:329,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 331
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_chunk_get_case3
    - libspdm_test_responder_chunk_get_case2
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_chunk_get_case4
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_chunk_get_case1
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_get/chunk_get.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:120,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: libspdm_test_responder_digests_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_digests
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:69,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: libspdm_test_responder_digests_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_digests
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:94,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: libspdm_test_responder_digests_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_digests
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:39,1
    - Dst: libspdm_get_response_digests
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:43,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 48
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 48
    functionName: libspdm_test_responder_digests_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_get_response_digests
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_digests_case1(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:136,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:151,1
    - Dst: libspdm_test_responder_digests_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:150,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:154,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:149,1
    - Dst: libspdm_test_responder_digests_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:155,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:156,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:159,1
    - Dst: libspdm_test_responder_digests_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:160,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:161,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:164,1
    - Dst: libspdm_test_responder_digests_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:165,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_digests_case3
    - libspdm_test_responder_digests_case2
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_digests_case1
    - libspdm_test_responder_digests_case4
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_digests/digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:123,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:125,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:142,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:136,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 144
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 144
    functionName: libspdm_test_responder_measurements_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    - free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case3(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:43,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:47,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 54
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 54
    functionName: libspdm_test_responder_measurements_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case1(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:225,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:234,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: libspdm_test_responder_measurements_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case5(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:85,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:89,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:91,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 98
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 98
    functionName: libspdm_test_responder_measurements_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    - libspdm_reset_message_m
    - libspdm_get_response_measurements
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case2(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:171,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:188,1
    - Dst: libspdm_get_response_measurements
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:194,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:174,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:192,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:196,1
    - Dst: libspdm_reset_message_m
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 202
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 202
    functionName: libspdm_test_responder_measurements_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - libspdm_get_response_measurements
    - free
    - libspdm_reset_message_m
    - libspdm_secured_message_set_session_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_measurements_case4(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:247,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:259,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:264,1
    - Dst: libspdm_test_responder_measurements_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:260,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:261,1
    - Dst: libspdm_test_responder_measurements_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:265,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:266,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:269,1
    - Dst: libspdm_test_responder_measurements_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:270,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:271,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:277,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:280,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:282,1
    - Dst: libspdm_test_responder_measurements_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:276,1
    - Dst: libspdm_test_responder_measurements_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:281,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 284
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_measurements_case2
    - libspdm_test_responder_measurements_case4
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_measurements_case3
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_measurements_case5
    - libspdm_setup_test_context
    - libspdm_test_responder_measurements_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_measurements/measurements.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:55,1
    - Dst: libspdm_get_response_end_session
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:79,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:74,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:73,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:65,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 84
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 84
    functionName: libspdm_test_responder_end_session
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_session_info_init
    - free
    - libspdm_get_response_end_session
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_end_session(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:90,1
    - Dst: libspdm_test_responder_end_session
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:98,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:100,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_end_session/end_session.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_end_session
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:41,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:45,1
    - Dst: libspdm_process_encap_response_digest
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: libspdm_test_responder_encap_get_digests_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_process_encap_response_digest
    - libspdm_reset_message_mut_c
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_encap_get_digests_case1(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:65,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:72,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:80,1
    - Dst: libspdm_reset_message_mut_c
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:83,1
    - Dst: libspdm_get_encap_request_get_digest
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:82,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:84,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: libspdm_test_get_encap_request_get_digest_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_encap_request_get_digest
    - libspdm_reset_message_mut_c
    - free
    - malloc
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_get_encap_request_get_digest_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:92,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:103,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:100,1
    - Dst: libspdm_test_responder_encap_get_digests_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:99,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:98,1
    - Dst: libspdm_test_get_encap_request_get_digest_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:104,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_encap_get_digests_case1
    - libspdm_test_get_encap_request_get_digest_case2
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_encap_get_digests/encap_get_digests.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:36,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - spdm_secured_message_context
    - key
    - key_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: libspdm_secured_message_set_request_finished_key
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_secured_message_set_request_finished_key(void
      *spdm_secured_message_context, const void *key, size_t key_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:161,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:165,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:185,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:176,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:188,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:143,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:160,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:162,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:171,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:182,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:186,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:163,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:176,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:173,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:152,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:168,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:169,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:178,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:177,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 189
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 189
    functionName: libspdm_test_responder_psk_finish_rsp_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - libspdm_reset_message_f
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_rsp_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:241,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:249,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:251,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:257,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:258,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:271,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:264,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:252,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:254,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:274,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:265,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:277,1
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:233,1
    - Dst: libspdm_init_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:260,1
    - Dst: libspdm_get_managed_buffer_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:266,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:275,1
    - Dst: libspdm_hmac_all
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:267,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:250,1
    - Dst: libspdm_append_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:262,1
    - Dst: libspdm_get_managed_buffer
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:265,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 278
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 278
    functionName: libspdm_test_responder_psk_finish_rsp_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_get_managed_buffer_size
    - libspdm_hash_all
    - libspdm_reset_message_f
    - libspdm_hmac_all
    - libspdm_session_info_init
    - libspdm_init_managed_buffer
    - libspdm_append_managed_buffer
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_managed_buffer
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_rsp_case3(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:71,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:89,1
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:88,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:90,1
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:80,1
    - Dst: libspdm_secured_message_set_request_finished_key
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:91,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:93,1
    - Dst: libspdm_get_response_psk_finish
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:97,1
    - Dst: libspdm_reset_message_f
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:100,1
    - Dst: libspdm_reset_message_k
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:101,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 104
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 104
    functionName: libspdm_test_responder_psk_finish_rsp_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_read_responder_public_certificate_chain
    - libspdm_reset_message_f
    - libspdm_session_info_init
    - free
    - libspdm_reset_message_k
    - libspdm_get_hash_size
    - libspdm_secured_message_set_request_finished_key
    - libspdm_get_response_psk_finish
    - libspdm_secured_message_set_session_state
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_psk_finish_rsp_case1(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:284,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:300,1
    - Dst: libspdm_test_responder_psk_finish_rsp_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:297,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:296,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:298,1
    - Dst: libspdm_test_responder_psk_finish_rsp_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:301,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:302,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:305,1
    - Dst: libspdm_test_responder_psk_finish_rsp_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:306,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 309
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_psk_finish_rsp_case3
    - libspdm_setup_test_context
    - libspdm_test_responder_psk_finish_rsp_case2
    - libspdm_test_responder_psk_finish_rsp_case1
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_psk_finish_rsp/psk_finish_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:77,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:78,1
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 87
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 87
    functionName: libspdm_test_responder_set_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    - libspdm_get_response_set_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_set_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: libspdm_test_responder_set_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_set_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_set_certificate_case1(void **State) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:100,1
    - Dst: libspdm_test_responder_set_certificate_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:117,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:118,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:121,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:116,1
    - Dst: libspdm_test_responder_set_certificate_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:122,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_set_certificate_case1
    - libspdm_test_responder_set_certificate_case2
    - libspdm_unit_test_group_setup
    - libspdm_setup_test_context
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_set_certificate/set_certificate_rsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 145
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 145
    functionName: libspdm_test_responder_certificate_case4
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case4(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:84,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:92,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:96,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 98
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 98
    functionName: libspdm_test_responder_certificate_case2
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case2(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:45,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:57,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:58,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 59
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 59
    functionName: libspdm_test_responder_certificate_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: libspdm_test_responder_certificate_case3
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case3(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_responder_public_certificate_chain
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:171,1
    - Dst: libspdm_get_response_certificate
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:179,1
    - Dst: free
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:184,1
    - Dst: libspdm_reset_message_b
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 185
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 185
    functionName: libspdm_test_responder_certificate_case5
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_certificate
    - libspdm_read_responder_public_certificate_chain
    - free
    - libspdm_reset_message_b
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_certificate_case5(void **State) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:191,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:210,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:205,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:207,1
    - Dst: libspdm_test_responder_certificate_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:206,1
    - Dst: libspdm_test_responder_certificate_case2
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:211,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:212,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:215,1
    - Dst: libspdm_test_responder_certificate_case3
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:216,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:217,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:220,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:227,1
    - Dst: libspdm_test_responder_certificate_case5
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:226,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:222,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:225,1
    - Dst: libspdm_test_responder_certificate_case4
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached:
    - libspdm_test_responder_certificate_case1
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_certificate_case4
    - libspdm_test_responder_certificate_case2
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_certificate_case3
    - libspdm_setup_test_context
    - libspdm_test_responder_certificate_case5
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_certificate/certificate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_test_responder_chunk_send_ack_setup_algo_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c:81,1
    - Dst: libspdm_get_response_chunk_send
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c:137,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 150
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 150
    functionName: libspdm_test_responder_chunk_send_ack_case1
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - libspdm_get_response_chunk_send
    - libspdm_test_responder_chunk_send_ack_setup_algo_state
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_case1(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c:161,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c:168,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c:170,1
    - Dst: libspdm_test_responder_chunk_send_ack_case1
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_test_responder_chunk_send_ack_case1
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_reset_message_a
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - spdm_context
    argTypes:
    - libspdm_context_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 59
    functionName: libspdm_test_responder_chunk_send_ack_setup_algo_state
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c
    functionUses: []
    functionsReached:
    - libspdm_reset_message_a
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_chunk_send_ack_setup_algo_state(libspdm_context_t
      *spdm_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_chunk_send_ack/chunk_send_ack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_session_info_init
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:49,1
    - Dst: libspdm_secured_message_set_session_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - spdm_context
    - session_id
    argTypes:
    - libspdm_context_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 53
    functionName: libspdm_set_standard_key_update_test_state
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_secured_message_set_session_state
    - libspdm_session_info_init
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_state(libspdm_context_t
      *spdm_context, uint32_t *session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_bin_concat
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:100,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - spdm_version
    - hash_size
    - in_secret
    - out_secret
    - out_secret_size
    argTypes:
    - spdm_version_number_t
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: libspdm_compute_secret_update
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_hkdf_expand
    - libspdm_bin_concat
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_compute_secret_update(spdm_version_number_t spdm_version,
      size_t hash_size, const uint8_t *in_secret, uint8_t *out_secret, size_t out_secret_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:60,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:68,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:72,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:62,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:65,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:75,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:78,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - secured_message_context
    - m_rsp_secret_buffer
    - rsp_secret_fill
    - m_req_secret_buffer
    - req_secret_fill
    argTypes:
    - libspdm_secured_message_context_t*
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 88
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 88
    functionName: libspdm_set_standard_key_update_test_secrets
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void libspdm_set_standard_key_update_test_secrets( libspdm_secured_message_context_t
      *secured_message_context, uint8_t *m_rsp_secret_buffer, uint8_t rsp_secret_fill,
      uint8_t *m_req_secret_buffer, uint8_t req_secret_fill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_standard_key_update_test_state
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:136,1
    - Dst: libspdm_get_response_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:151,1
    - Dst: libspdm_set_standard_key_update_test_secrets
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:141,1
    - Dst: libspdm_compute_secret_update
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - State
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: libspdm_test_responder_key_update
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_set_standard_key_update_test_secrets
    - libspdm_set_standard_key_update_test_state
    - libspdm_get_response_key_update
    - libspdm_compute_secret_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_test_responder_key_update(void **State) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: libspdm_get_max_buffer_size
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_max_buffer_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_setup_test_context
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:161,1
    - Dst: libspdm_unit_test_group_setup
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:174,1
    - Dst: libspdm_unit_test_group_teardown
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:176,1
    - Dst: libspdm_test_responder_key_update
      Src: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached:
    - libspdm_unit_test_group_teardown
    - libspdm_setup_test_context
    - libspdm_unit_test_group_setup
    - libspdm_test_responder_key_update
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - test_buffer
    - test_buffer_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: libspdm_run_test_harness
    functionSourceFile: /src/libspdm/unit_test/fuzzing/test_responder/test_spdm_responder_key_update/key_update.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_run_test_harness(void *test_buffer, size_t test_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha256_context
    - new_sha256_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: libspdm_sha256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_duplicate(const void *sha256_context, void *new_sha256_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_hash_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:312,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: libspdm_sha256_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - hash_md_hash_all
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_hash_all(const void *data, size_t data_size, uint8_t
      *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:486,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sha512_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: libspdm_sha512_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_init
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_init(void *sha512_context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - md
    - md_ctx
    argTypes:
    - EVP_MD*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: hash_md_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_DigestInit
    linkageType: ''
    returnType: bool
    signature: 'bool hash_md_init(const EVP_MD *md, void *md_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - md_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: hash_md_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: bool
    signature: 'bool hash_md_update(void *md_ctx, const void *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:220,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sha256_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: libspdm_sha256_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - hash_md_init
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_init(void *sha256_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_hash_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:580,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: libspdm_sha512_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_hash_all
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_hash_all(const void *data, size_t data_size, uint8_t
      *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - md_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: hash_md_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void hash_md_free(void *md_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_copy
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - md_ctx
    - new_md_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: hash_md_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_copy
    linkageType: ''
    returnType: bool
    signature: 'bool hash_md_duplicate(const void *md_ctx, void *new_md_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - md
    - data
    - data_size
    - hash_value
    argTypes:
    - EVP_MD*
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: hash_md_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_Digest
    linkageType: ''
    returnType: bool
    signature: 'bool hash_md_hash_all(const EVP_MD *md, const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: libspdm_sha256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha256_free(void *sha256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:352,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sha384_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: libspdm_sha384_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_init
    - EVP_sha384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_init(void *sha384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_hash_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:446,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: libspdm_sha384_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_hash_all
    - EVP_sha384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_hash_all(const void *data, size_t data_size, uint8_t
      *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: libspdm_sha512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha512_free(void *sha512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: hash_md_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: void*
    signature: 'void *hash_md_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - md_ctx
    - hash_value
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: hash_md_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - EVP_DigestFinal
    linkageType: ''
    returnType: bool
    signature: 'bool hash_md_final(void *md_ctx, void *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: libspdm_sha256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: libspdm_sha384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha384_free(void *sha384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha384_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: libspdm_sha384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_final(void *sha384_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: libspdm_sha512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: libspdm_sha512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_final(void *sha512_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha256_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: libspdm_sha256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_final(void *sha256_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha512_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: libspdm_sha512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_update(void *sha512_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha256_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: libspdm_sha256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_update(void *sha256_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha384_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: libspdm_sha384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_update(void *sha384_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: libspdm_sha384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha384_context
    - new_sha384_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: libspdm_sha384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_duplicate(const void *sha384_context, void *new_sha384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512_context
    - new_sha512_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: libspdm_sha512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha.c
    functionUses: []
    functionsReached:
    - hash_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_duplicate(const void *sha512_context, void *new_sha512_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: libspdm_sm3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c
    functionUses: []
    functionsReached:
    - hash_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sm3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sm3_context
    - new_sm3_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: libspdm_sm3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c
    functionUses: []
    functionsReached:
    - hash_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_duplicate(const void *sm3_context, void *new_sm3_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sm3_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: libspdm_sm3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c
    functionUses: []
    functionsReached:
    - hash_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_final(void *sm3_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_hash_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:152,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: libspdm_sm3_256_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c
    functionUses: []
    functionsReached:
    - EVP_sm3
    - hash_md_hash_all
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sm3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: libspdm_sm3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c
    functionUses: []
    functionsReached:
    - hash_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sm3_256_free(void *sm3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sm3_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: libspdm_sm3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c
    functionUses: []
    functionsReached:
    - hash_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_update(void *sm3_context, const void *data, size_t
      data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:59,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sm3_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: libspdm_sm3_256_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sm3.c
    functionUses: []
    functionsReached:
    - EVP_sm3
    - hash_md_init
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_init(void *sm3_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: libspdm_sha3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha3_256_free(void *sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:59,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sha3_256_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: libspdm_sha3_256_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_init
    - EVP_sha3_256
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_init(void *sha3_256_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:193,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sha3_384_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: libspdm_sha3_384_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_init
    - EVP_sha3_384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_init(void *sha3_384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_hash_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:287,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: libspdm_sha3_384_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_hash_all
    - EVP_sha3_384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha3_512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: libspdm_sha3_512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha3_512_free(void *sha3_512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_hash_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:421,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: libspdm_sha3_512_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_512
    - hash_md_hash_all
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: libspdm_sha3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha3_384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: libspdm_sha3_384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha3_384_free(void *sha3_384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha3_384_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: libspdm_sha3_384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_final(void *sha3_384_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: libspdm_sha3_512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha3_512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: libspdm_sha3_384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha3_384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha3_512_context
    - new_sha3_512_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: libspdm_sha3_512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_duplicate(const void *sha3_512_context, void
      *new_sha3_512_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha3_256_context
    - new_sha3_256_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: libspdm_sha3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_duplicate(const void *sha3_256_context, void
      *new_sha3_256_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_hash_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:153,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: libspdm_sha3_256_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_hash_all
    - EVP_sha3_256
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:327,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sha3_512_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: libspdm_sha3_512_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_512
    - hash_md_init
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_init(void *sha3_512_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha3_256_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: libspdm_sha3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_update(void *sha3_256_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha3_384_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: libspdm_sha3_384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_update(void *sha3_384_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha3_384_context
    - new_sha3_384_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: libspdm_sha3_384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_duplicate(const void *sha3_384_context, void
      *new_sha3_384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha3_512_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: libspdm_sha3_512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_final(void *sha3_512_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha3_256_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: libspdm_sha3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_final(void *sha3_256_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha3_512_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: libspdm_sha3_512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hash/sha3.c
    functionUses: []
    functionsReached:
    - hash_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_update(void *sha3_512_context, const void *data,
      size_t data_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:169,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:175,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:169,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:172,1
    - Dst: EVP_aes_192_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:172,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:175,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:183,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:183,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:188,1
    - Dst: PEM_read_bio_ECPrivateKey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:196,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:207,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - ec_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 210
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 210
    functionName: libspdm_ec_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c
    functionUses: []
    functionsReached:
    - BIO_write
    - PEM_read_bio_ECPrivateKey
    - BIO_free
    - EVP_aes_192_cbc
    - BIO_s_mem
    - EVP_aes_128_cbc
    - BIO_new
    - EVP_add_cipher
    - EVP_aes_256_cbc
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **ec_context) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:93,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:99,1
    - Dst: EVP_aes_192_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:96,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:96,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:93,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:99,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:107,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:107,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:112,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:119,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:130,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - rsa_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 133
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 133
    functionName: libspdm_rsa_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_free
    - EVP_aes_192_cbc
    - PEM_read_bio_RSAPrivateKey
    - BIO_s_mem
    - EVP_aes_128_cbc
    - BIO_new
    - EVP_add_cipher
    - EVP_aes_256_cbc
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **rsa_context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:44,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:51,1
    - Dst: ascii_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - size
    - flag
    - key
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: PasswordCallback
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c
    functionUses: []
    functionsReached:
    - ascii_str_len
    - libspdm_zero_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: int
    signature: 'int PasswordCallback(char *buf, const int size, const int flag, const
      void *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:18,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: ascii_str_len
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ascii_str_len(const char *string) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:248,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:251,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:254,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:248,1
    - Dst: EVP_aes_192_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:251,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:254,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:262,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:262,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:267,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:274,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:291,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:280,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - ecd_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 294
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 294
    functionName: libspdm_ecd_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_free
    - EVP_aes_192_cbc
    - PEM_read_bio_PrivateKey
    - BIO_s_mem
    - EVP_aes_128_cbc
    - BIO_new
    - EVP_add_cipher
    - EVP_aes_256_cbc
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **ecd_context) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:341,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:352,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:341,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:358,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:346,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:359,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:359,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c:371,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - sm2_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 374
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 374
    functionName: libspdm_sm2_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pem/pem.c
    functionUses: []
    functionsReached:
    - BIO_write
    - EC_KEY_get0_group
    - BIO_free
    - EC_GROUP_get_curve_name
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_get0_EC_KEY
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **sm2_context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: tolower
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int tolower(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: getuid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uid_t
    signature: 'uid_t getuid(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:30,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:38,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:38,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:31,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: strncasecmp
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - tolower
    linkageType: ''
    returnType: int
    signature: 'int strncasecmp(const char *s1, const char *s2, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: geteuid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uid_t
    signature: 'uid_t geteuid(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: getegid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gid_t
    signature: 'gid_t getegid(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: GetLastError
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int GetLastError () '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:56,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:71,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:63,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:63,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:57,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: strcasecmp
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - tolower
    linkageType: ''
    returnType: int
    signature: 'int strcasecmp(const char *s1, const char *s2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: getgid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gid_t
    signature: 'gid_t getgid(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: SetLastError
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SetLastError(int e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - format
    - '...'
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: sscanf
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/sys_call/crt_wrapper_host.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int sscanf(const char *buffer, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: libspdm_rsa_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - RSA_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_rsa_new(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RSA_verify
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:353,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 356
    functionName: libspdm_rsa_pkcs1_verify_with_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - RSA_verify
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pkcs1_verify_with_nid(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t
      sig_size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:401,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:429,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:408,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:415,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:422,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:436,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:443,1
    - Dst: allocate_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:453,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:458,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:460,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:467,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:463,1
    - Dst: RSA_verify_PKCS1_PSS
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:465,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 470
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 470
    functionName: libspdm_rsa_pss_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - allocate_pool
    - EVP_sha3_256
    - RSA_size
    - free_pool
    - EVP_sha384
    - LIBSPDM_ASSERT
    - RSA_verify_PKCS1_PSS
    - EVP_sha256
    - EVP_sha3_512
    - RSA_public_decrypt
    - EVP_sha3_384
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_verify(void *rsa_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t sig_size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:514,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:528,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:535,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:542,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:521,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:549,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:556,1
    - Dst: allocate_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:566,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:571,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:573,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:576,1
    - Dst: RSA_verify_PKCS1_PSS
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:579,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:581,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 584
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 584
    functionName: libspdm_rsa_pss_verify_fips
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - allocate_pool
    - EVP_sha3_256
    - RSA_size
    - free_pool
    - EVP_sha384
    - LIBSPDM_ASSERT
    - RSA_verify_PKCS1_PSS
    - EVP_sha256
    - EVP_sha3_512
    - RSA_public_decrypt
    - EVP_sha3_384
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_verify_fips(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t
      sig_size) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get0_factors
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:122,1
    - Dst: RSA_get0_crt_params
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:124,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:165,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:196,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:196,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:212,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:236,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:255,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:259,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:145,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:159,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:194,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:196,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:192,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:183,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:216,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:229,1
    - Dst: RSA_set0_crt_params
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:236,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:237,1
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:120,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:141,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:161,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:163,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:179,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:231,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:233,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:253,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:257,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:256,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:149,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:165,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:166,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:165,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:220,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:236,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:254,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:258,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:252,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 144
    argCount: 4
    argNames:
    - rsa_context
    - key_tag
    - big_number
    - bn_size
    argTypes:
    - void*
    - libspdm_rsa_key_tag_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 262
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 262
    functionName: libspdm_rsa_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - RSA_get0_factors
    - RSA_set0_key
    - BN_new
    - RSA_get0_key
    - RSA_get0_crt_params
    - BN_dup
    - BN_bin2bn
    - BN_free
    - RSA_set0_crt_params
    - RSA_set0_factors
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_set_key(void *rsa_context, const libspdm_rsa_key_tag_t
      key_tag, const uint8_t *big_number, size_t bn_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rsa_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: libspdm_rsa_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - RSA_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_rsa_free(void *rsa_context) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:108,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:130,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:123,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:131,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:123,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - ecd_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 137
    functionName: libspdm_ecd_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached:
    - evp_pkey_copy_downgraded
    - EVP_PKEY_new_raw_public_key
    - EVP_PKEY_free
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_set_pub_key(void *ecd_context, const uint8_t *public_key,
      size_t public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ecd_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: libspdm_ecd_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_ecd_free(void *ecd_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ecd_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: libspdm_ecd_check_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_check_key(const void *ecd_context) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:340,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:378,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:368,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:383,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:353,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:385,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:388,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:395,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:398,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:400,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:404,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 43
    argCount: 8
    argNames:
    - ecd_context
    - hash_nid
    - context
    - context_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 406
    functionName: libspdm_eddsa_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - libspdm_zero_mem
    - EVP_DigestSign
    - OSSL_PARAM_octet_string
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_eddsa_sign(const void *ecd_context, size_t hash_nid,
      const uint8_t *context, size_t context_size, const uint8_t *message, size_t
      size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:448,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:490,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:488,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:483,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:461,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:493,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:500,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:503,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:505,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:509,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 8
    argNames:
    - ecd_context
    - hash_nid
    - context
    - context_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 511
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 511
    functionName: libspdm_eddsa_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - EVP_DigestVerify
    - EVP_MD_CTX_free
    - EVP_MD_CTX_new
    - OSSL_PARAM_octet_string
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_eddsa_verify(const void *ecd_context, size_t hash_nid,
      const uint8_t *context, size_t context_size, const uint8_t *message, size_t
      size, const uint8_t *signature, size_t sig_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:50,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:54,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:60,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:56,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:62,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: libspdm_ecd_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_ecd_new_by_nid(size_t nid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:166,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:181,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:181,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:188,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:187,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:192,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - ecd_context
    - private_key
    - private_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 194
    functionName: libspdm_ecd_set_pri_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached:
    - evp_pkey_copy_downgraded
    - EVP_PKEY_new_raw_private_key
    - EVP_PKEY_free
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_set_pri_key(void *ecd_context, const uint8_t *private_key,
      size_t private_key_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:224,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:239,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c:240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - ecd_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 246
    functionName: libspdm_ecd_get_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_raw_public_key
    - libspdm_zero_mem
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_pub_key(void *ecd_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - ecd_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: libspdm_ecd_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_generate_key(void *ecd_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:602,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:616,1
    - Dst: libspdm_internal_x509_get_nid_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:624,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:632,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 5
    argNames:
    - cert
    - cert_size
    - request_nid
    - common_name
    - common_name_size
    argTypes:
    - uint8_t*
    - size_t
    - int32_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 635
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 635
    functionName: libspdm_internal_x509_get_issuer_nid_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - libspdm_x509_construct_certificate
    - X509_get_issuer_name
    - libspdm_internal_x509_get_nid_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_internal_x509_get_issuer_nid_name(const uint8_t *cert,
      size_t cert_size, const int32_t request_nid, char *common_name, size_t *common_name_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:794,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:818,1
    - Dst: X509_get_serialNumber
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:804,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:829,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - cert
    - cert_size
    - serial_number
    - serial_number_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 833
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 833
    functionName: libspdm_x509_get_serial_number
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_get_serialNumber
    - libspdm_x509_construct_certificate
    - X509_free
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_serial_number(const uint8_t *cert, size_t cert_size,
      uint8_t *serial_number, size_t *serial_number_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1019,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1047,1
    - Dst: OBJ_length
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1040,1
    - Dst: X509_get_signature_nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1027,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1033,1
    - Dst: OBJ_get0_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1047,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1056,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 4
    argNames:
    - cert
    - cert_size
    - oid
    - oid_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1060
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1060
    functionName: libspdm_x509_get_signature_algorithm
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - OBJ_length
    - libspdm_x509_construct_certificate
    - OBJ_nid2obj
    - OBJ_get0_data
    - X509_get_signature_nid
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_signature_algorithm(const uint8_t *cert, size_t
      cert_size, uint8_t *oid, size_t *oid_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_get_extension_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - cert
    - cert_size
    - basic_constraints
    - basic_constraints_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1491
    functionName: libspdm_x509_get_extended_basic_constraints
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_x509_get_extension_data
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_extended_basic_constraints(const uint8_t *cert,
      size_t cert_size, uint8_t *basic_constraints, size_t *basic_constraints_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1530,1
    - Dst: RSAPublicKey_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1549,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1541,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1549,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1542,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1559,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1563,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - cert
    - cert_size
    - rsa_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 1567
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1567
    functionName: libspdm_rsa_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - EVP_PKEY_get0_RSA
    - libspdm_x509_construct_certificate
    - EVP_PKEY_free
    - X509_get_pubkey
    - RSAPublicKey_dup
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **rsa_context) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1970,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1979,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - cert
    - cert_size
    - tbs_cert
    - tbs_cert_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1991
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1991
    functionName: libspdm_x509_get_tbs_cert
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - ASN1_get_object
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_tbs_cert(const uint8_t *cert, size_t cert_size,
      uint8_t **tbs_cert, size_t *tbs_cert_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:731,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:744,1
    - Dst: X509_get_version
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:740,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - cert
    - cert_size
    - version
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 747
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 747
    functionName: libspdm_x509_get_version
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - libspdm_x509_construct_certificate
    - X509_get_version
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_version(const uint8_t *cert, size_t cert_size,
      size_t *version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_get_extension_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - cert
    - cert_size
    - usage
    - usage_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1459
    functionName: libspdm_x509_get_extended_key_usage
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_x509_get_extension_data
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_extended_key_usage(const uint8_t *cert, size_t
      cert_size, uint8_t *usage, size_t *usage_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1827,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1830,1
    - Dst: X509_STORE_set_flags
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1880,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1903,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1914,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1833,1
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1840,1
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1849,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1865,1
    - Dst: X509_STORE_set_flags
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1876,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1889,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1885,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1895,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1911,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1830,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1827,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1861,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1907,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1833,1
    - Dst: X509_STORE_set_flags
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1873,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1896,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 68
    argCount: 4
    argNames:
    - cert
    - cert_size
    - ca_cert
    - ca_cert_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1917
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1917
    functionName: libspdm_x509_verify_cert
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - X509_free
    - X509_STORE_CTX_init
    - libspdm_x509_construct_certificate
    - EVP_sha384
    - X509_STORE_set_flags
    - X509_verify_cert
    - X509_STORE_CTX_free
    - EVP_sha256
    - X509_STORE_free
    - X509_STORE_add_cert
    - X509_STORE_CTX_cleanup
    - EVP_add_digest
    - X509_STORE_CTX_new
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_verify_cert(const uint8_t *cert, size_t cert_size,
      const uint8_t *ca_cert, size_t ca_cert_size) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1111,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1121,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1120,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1137,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1139,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1152,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1154,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1166,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 6
    argNames:
    - cert
    - cert_size
    - from
    - from_size
    - to
    - to_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1170
    functionName: libspdm_x509_get_validity
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - libspdm_x509_construct_certificate
    - X509_get0_notAfter
    - X509_get0_notBefore
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_validity(const uint8_t *cert, size_t cert_size,
      uint8_t *from, size_t *from_size, uint8_t *to, size_t *to_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:66,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - cert_size
    - single_x509_cert
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 74
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: libspdm_x509_construct_certificate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - d2i_X509
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_construct_certificate(const uint8_t *cert, size_t
      cert_size, uint8_t **single_x509_cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_internal_x509_get_subject_nid_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - common_name
    - common_name_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: libspdm_x509_get_common_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_internal_x509_get_subject_nid_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_common_name(const uint8_t *cert, size_t cert_size,
      char *common_name, size_t *common_name_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:874,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:898,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:906,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:884,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:891,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 4
    argNames:
    - cert
    - cert_size
    - cert_issuer
    - issuer_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 910
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 910
    functionName: libspdm_x509_get_issuer_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - i2d_X509_NAME
    - libspdm_x509_construct_certificate
    - X509_get_issuer_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_issuer_name(const uint8_t *cert, size_t cert_size,
      uint8_t *cert_issuer, size_t *issuer_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ptr
    - end
    - length
    - tag
    argTypes:
    - uint8_t**
    - uint8_t*
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 289
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 289
    functionName: libspdm_asn1_get_tag
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - ASN1_get_object
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_asn1_get_tag(uint8_t **ptr, const uint8_t *end, size_t
      *length, uint32_t tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_internal_x509_get_issuer_nid_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - common_name
    - common_name_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 945
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 945
    functionName: libspdm_x509_get_issuer_common_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_internal_x509_get_issuer_nid_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_issuer_common_name(const uint8_t *cert, size_t
      cert_size, char *common_name, size_t *common_name_size) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1358,1
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1366,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1377,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1378,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1367,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1382,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1386,1
    - Dst: OBJ_length
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1391,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1392,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1395,1
    - Dst: OBJ_get0_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1395,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1429,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1414,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1415,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 73
    argCount: 6
    argNames:
    - cert
    - cert_size
    - oid
    - oid_size
    - extension_data
    - extension_data_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1433
    functionName: libspdm_x509_get_extension_data
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - OBJ_length
    - sk_X509_EXTENSION_num
    - ASN1_STRING_length
    - libspdm_x509_construct_certificate
    - libspdm_copy_mem
    - X509_EXTENSION_get_object
    - sk_X509_EXTENSION_value
    - OBJ_get0_data
    - X509_get0_extensions
    - libspdm_consttime_is_mem_equal
    - ASN1_STRING_get0_data
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_extension_data(const uint8_t *cert, size_t cert_size,
      const uint8_t *oid, size_t oid_size, uint8_t *extension_data, size_t *extension_data_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_strstr
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2262,1
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2268,1
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2266,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2272,1
    - Dst: libspdm_strstr
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2270,1
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2276,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2277,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2281,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2284,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - x509_name
    - subject_name
    argTypes:
    - X509_NAME*
    - char*
    constantsTouched: []
    func_position:
      end: 2292
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2292
    functionName: libspdm_set_subject_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_NAME_add_entry_by_txt
    - libspdm_get_str_len
    - LIBSPDM_DEBUG
    - libspdm_strstr
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_set_subject_name(X509_NAME *x509_name, char *subject_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1606,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1625,1
    - Dst: EC_KEY_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1625,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1617,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1618,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1634,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1638,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - cert
    - cert_size
    - ec_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 1642
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1642
    functionName: libspdm_ec_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - libspdm_x509_construct_certificate
    - EVP_PKEY_free
    - EC_KEY_dup
    - EVP_PKEY_get0_EC_KEY
    - X509_get_pubkey
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **ec_context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1291,1
    - Dst: X509_get_key_usage
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1299,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - cert
    - cert_size
    - usage
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1310
    functionName: libspdm_x509_get_key_usage
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - libspdm_x509_construct_certificate
    - X509_get_key_usage
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_key_usage(const uint8_t *cert, size_t cert_size,
      size_t *usage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_VA_START
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:190,1
    - Dst: libspdm_x509_construct_certificate_stack_v
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:191,1
    - Dst: LIBSPDM_VA_END
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - x509_stack
    - '...'
    argTypes:
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: libspdm_x509_construct_certificate_stack
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_x509_construct_certificate_stack_v
    - LIBSPDM_VA_START
    - LIBSPDM_VA_END
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_construct_certificate_stack(uint8_t **x509_stack,
      ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - x509_stack
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: libspdm_x509_stack_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - sk_X509_pop_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_x509_stack_free(void *x509_stack) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:522,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:552,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:536,1
    - Dst: libspdm_internal_x509_get_nid_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 5
    argNames:
    - cert
    - cert_size
    - request_nid
    - common_name
    - common_name_size
    argTypes:
    - uint8_t*
    - size_t
    - int32_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 555
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 555
    functionName: libspdm_internal_x509_get_subject_nid_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - libspdm_x509_construct_certificate
    - libspdm_internal_x509_get_nid_name
    - X509_get_subject_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_internal_x509_get_subject_nid_name(const uint8_t *cert,
      size_t cert_size, const int32_t request_nid, char *common_name, size_t *common_name_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_internal_x509_get_subject_nid_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - name_buffer
    - name_buffer_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 706
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 706
    functionName: libspdm_x509_get_organization_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_internal_x509_get_subject_nid_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_organization_name(const uint8_t *cert, size_t
      cert_size, char *name_buffer, size_t *name_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - date_time1
    - date_time2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: libspdm_x509_compare_date_time
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_compare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t libspdm_x509_compare_date_time(const void *date_time1, const
      void *date_time2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1751,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1762,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1767,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1780,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 3
    argNames:
    - cert
    - cert_size
    - sm2_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 1784
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1784
    functionName: libspdm_sm2_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_get_pubkey
    - libspdm_x509_construct_certificate
    - EVP_PKEY_is_a
    - X509_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **sm2_context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2162,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 5
    argNames:
    - cert_chain
    - cert_chain_length
    - cert_index
    - cert
    - cert_length
    argTypes:
    - uint8_t*
    - size_t
    - int32_t
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2197
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2197
    functionName: libspdm_x509_get_cert_from_cert_chain
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - ASN1_get_object
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_cert_from_cert_chain(const uint8_t *cert_chain,
      size_t cert_chain_length, const int32_t cert_index, const uint8_t **cert, size_t
      *cert_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - dst
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2213
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2213
    functionName: libspdm_get_str_len
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_get_str_len(char *dst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2223,1
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2227,1
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2223,1
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2227,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2229,1
    - Dst: libspdm_get_str_len
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2235
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2235
    functionName: libspdm_strstr
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_consttime_is_mem_equal
    - libspdm_get_str_len
    linkageType: ''
    returnType: char*
    signature: 'char *libspdm_strstr(char *src, char *dst) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2545,1
    - Dst: RSAPublicKey_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2562,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2579,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2582,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2597,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2637,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2649,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2672,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2676,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2692,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2718,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2720,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2536,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2557,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2563,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2592,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2619,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2640,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2657,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2681,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2688,1
    - Dst: X509_REQ_add_extensions
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2696,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2703,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2710,1
    - Dst: X509V3_EXT_conf_nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2664,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2512,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2538,1
    - Dst: X509_REQ_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2531,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2544,1
    - Dst: EC_KEY_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2573,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2581,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2631,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2643,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2668,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2675,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2697,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2682,1
    - Dst: X509_REQ_sign
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2700,1
    - Dst: i2d_X509_REQ
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2707,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2719,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2542,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2580,1
    - Dst: X509_REQ_set_version
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2590,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2568,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2574,1
    - Dst: libspdm_set_subject_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2600,1
    - Dst: libspdm_set_attribute_for_req
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2611,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2621,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2634,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2646,1
    - Dst: X509_get_ext_count
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2678,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2684,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 143
    argCount: 10
    argNames:
    - hash_nid
    - asym_nid
    - requester_info
    - requester_info_length
    - is_ca
    - context
    - subject_name
    - csr_len
    - csr_pointer
    - base_cert
    argTypes:
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - bool
    - void*
    - char*
    - size_t*
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2723
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2723
    functionName: libspdm_gen_x509_csr
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_REQ_set_pubkey
    - EVP_sha3_256
    - sk_X509_EXTENSION_new_null
    - EVP_PKEY_free
    - X509_REQ_set_version
    - STACK_OF
    - i2d_X509_REQ
    - EVP_sm3
    - EVP_PKEY_assign_EC_KEY
    - sk_X509_EXTENSION_push
    - OBJ_nid2obj
    - LIBSPDM_DEBUG
    - EVP_PKEY_set1_RSA
    - EVP_sha256
    - X509_get_ext_count
    - sk_X509_EXTENSION_free
    - EVP_sha512
    - libspdm_set_attribute_for_req
    - X509_REQ_get_subject_name
    - X509_REQ_free
    - EVP_PKEY_dup
    - EVP_PKEY_set1_EC_KEY
    - EVP_PKEY_new
    - X509_REQ_sign
    - RSAPublicKey_dup
    - EVP_PKEY_assign_RSA
    - EVP_sha3_384
    - X509_REQ_add_extensions
    - OBJ_cmp
    - X509V3_EXT_conf_nid
    - X509_get_ext
    - EVP_sha384
    - X509_EXTENSION_get_object
    - X509_REQ_new
    - EC_KEY_dup
    - libspdm_set_subject_name
    - EVP_sha3_512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_gen_x509_csr(size_t hash_nid, size_t asym_nid, uint8_t
      *requester_info, size_t requester_info_length, bool is_ca, void *context, char
      *subject_name, size_t *csr_len, uint8_t *csr_pointer, void *base_cert) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:101,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:117,1
    - Dst: LIBSPDM_VA_ARG
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:127,1
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:141,1
    - Dst: LIBSPDM_VA_ARG
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:132,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:145,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:153,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:155,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:161,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - x509_stack
    - args
    argTypes:
    - uint8_t**
    - LIBSPDM_VA_LIST
    constantsTouched: []
    func_position:
      end: 167
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 167
    functionName: libspdm_x509_construct_certificate_stack_v
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - LIBSPDM_VA_ARG
    - sk_X509_pop_free
    - libspdm_x509_construct_certificate
    - sk_X509_push
    - sk_X509_new_null
    - STACK_OF
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_construct_certificate_stack_v(uint8_t **x509_stack,
      LIBSPDM_VA_LIST args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - x509_cert
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: libspdm_x509_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_x509_free(void *x509_cert) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:328,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:360,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:345,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:338,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 4
    argNames:
    - cert
    - cert_size
    - cert_subject
    - subject_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 364
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 364
    functionName: libspdm_x509_get_subject_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - i2d_X509_NAME
    - libspdm_x509_construct_certificate
    - X509_get_subject_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_subject_name(const uint8_t *cert, size_t cert_size,
      uint8_t *cert_subject, size_t *subject_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:421,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:431,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:441,1
    - Dst: LIBSPDM_MIN
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:459,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:443,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:460,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:471,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 4
    argNames:
    - x509_name
    - request_nid
    - common_name
    - common_name_size
    argTypes:
    - X509_NAME*
    - int32_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 475
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 475
    functionName: libspdm_internal_x509_get_nid_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_MIN
    - OPENSSL_free
    - X509_NAME_get_entry
    - ASN1_STRING_to_UTF8
    - X509_NAME_ENTRY_get_data
    - X509_NAME_get_index_by_NID
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_internal_x509_get_nid_name(X509_NAME *x509_name, const
      int32_t request_nid, char *common_name, size_t *common_name_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_internal_x509_get_issuer_nid_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - name_buffer
    - name_buffer_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 981
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 981
    functionName: libspdm_x509_get_issuer_orgnization_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_internal_x509_get_issuer_nid_name
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_issuer_orgnization_name(const uint8_t *cert,
      size_t cert_size, char *name_buffer, size_t *name_buffer_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1205,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1227,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1211,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1236,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - date_time_str
    - date_time
    - date_time_size
    argTypes:
    - char*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1239
    functionName: libspdm_x509_set_date_time
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - ASN1_TIME_set_string_X509
    - ASN1_TIME_free
    - ASN1_TIME_new
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_set_date_time(const char *date_time_str, void *date_time,
      size_t *date_time_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_construct_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1681,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1709,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1692,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:1696,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - cert
    - cert_size
    - ecd_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 1713
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1713
    functionName: libspdm_ecd_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - X509_get_pubkey
    - libspdm_x509_construct_certificate
    - X509_free
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **ecd_context) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2039,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2057,1
    - Dst: libspdm_is_root_certificate
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2058,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2048,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2065,1
    - Dst: libspdm_x509_verify_cert
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2089,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - root_cert
    - root_cert_length
    - cert_chain
    - cert_chain_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2108
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2108
    functionName: libspdm_x509_verify_cert_chain
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - libspdm_is_root_certificate
    - ASN1_get_object
    - libspdm_x509_verify_cert
    - libspdm_asn1_get_tag
    - libspdm_consttime_is_mem_equal
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_verify_cert_chain(const uint8_t *root_cert, size_t
      root_cert_length, const uint8_t *cert_chain, size_t cert_chain_length) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_REQ_INFO
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2342,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2351,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2369,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2388,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2378,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2344,1
    - Dst: X509_REQ_INFO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2345,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2355,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2410,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2437,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2436,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2441,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2344,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2363,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2373,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2421,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2438,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2376,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2382,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2427,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c:2399,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 4
    argNames:
    - req
    - req_info
    - req_info_len
    - public_key
    argTypes:
    - X509_REQ*
    - uint8_t*
    - size_t
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2459
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2459
    functionName: libspdm_set_attribute_for_req
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/x509.c
    functionUses: []
    functionsReached:
    - i2d_PUBKEY
    - X509_REQ_add1_attr_by_NID
    - X509_REQ_INFO_free
    - X509_REQ_get_subject_name
    - OBJ_obj2nid
    - OPENSSL_free
    - ASN1_OBJECT_free
    - X509_REQ_set_subject_name
    - libspdm_asn1_get_tag
    - libspdm_consttime_is_mem_equal
    - d2i_ASN1_OBJECT
    - d2i_X509_REQ_INFO
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_set_attribute_for_req(X509_REQ *req, uint8_t *req_info,
      size_t req_info_len, EVP_PKEY *public_key) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:35,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:44,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:39,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:46,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:41,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:51,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:53,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:56,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:58,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:60,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:73,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:63,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:78,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:71,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:65,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:80,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:76,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:67,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 85
    functionName: libspdm_sm2_dsa_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sm2_dsa_new_by_nid(size_t nid) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:230,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:235,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:249,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:235,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:233,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:250,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:255,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:256,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:262,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:268,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:274,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:277,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:278,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:285,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:288,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:269,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:279,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 3
    argNames:
    - sm2_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 291
    functionName: libspdm_sm2_dsa_get_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - BN_num_bytes
    - EC_GROUP_get_curve_name
    - BN_new
    - EC_POINT_get_affine_coordinates
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - BN_bn2bin
    - BN_free
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_get_pub_key(void *sm2_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:317,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:320,1
    - Dst: EC_KEY_check_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - sm2_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 328
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 328
    functionName: libspdm_sm2_dsa_check_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_id
    - EC_KEY_check_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_check_key(const void *sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: libspdm_sm2_key_exchange_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sm2_key_exchange_new_by_nid(size_t nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 7
    argNames:
    - sm2_context
    - hash_nid
    - id_a
    - id_a_size
    - id_b
    - id_b_size
    - is_initiator
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: libspdm_sm2_key_exchange_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_key_exchange_init(const void *sm2_context, size_t
      hash_nid, const uint8_t *id_a, size_t id_a_size, const uint8_t *id_b, size_t
      id_b_size, bool is_initiator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 5
    argNames:
    - sm2_context
    - peer_public
    - peer_public_size
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 575
    functionName: libspdm_sm2_key_exchange_compute_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_key_exchange_compute_key(void *sm2_context, const
      uint8_t *peer_public, size_t peer_public_size, uint8_t *key, size_t *key_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:668,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:687,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:676,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:670,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:680,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:691,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 4
    argNames:
    - signature
    - sig_size
    - der_signature
    - der_sig_size_in_out
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 695
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 695
    functionName: ecc_signature_bin_to_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void ecc_signature_bin_to_der(uint8_t *signature, size_t sig_size,
      uint8_t *der_signature, size_t *der_sig_size_in_out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:591,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:592,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:597,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:593,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:595,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:613,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:614,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:615,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 4
    argNames:
    - der_signature
    - der_sig_size
    - signature
    - sig_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 621
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 621
    functionName: ecc_signature_der_to_bin
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'static void ecc_signature_der_to_bin(uint8_t *der_signature, size_t
      der_sig_size, uint8_t *signature, size_t sig_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:129,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:132,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:146,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:134,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:134,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:149,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:150,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:155,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:161,1
    - Dst: EC_KEY_set_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:167,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:187,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:184,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:172,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:181,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 3
    argNames:
    - sm2_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 190
    functionName: libspdm_sm2_dsa_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - EC_KEY_set_public_key
    - EC_GROUP_get_curve_name
    - EC_POINT_new
    - EVP_PKEY_set1_EC_KEY
    - EC_POINT_set_affine_coordinates
    - BN_free
    - EVP_PKEY_get0_EC_KEY
    - BN_bin2bn
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_set_pub_key(void *sm2_context, const uint8_t
      *public_key, size_t public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sm2_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: libspdm_sm2_dsa_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sm2_dsa_free(void *sm2_context) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:391,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:410,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:411,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:381,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:435,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:440,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:449,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:384,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:439,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:438,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:396,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:386,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:396,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:416,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:417,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:423,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:446,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:429,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:430,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    argCount: 3
    argNames:
    - sm2_context
    - public_data
    - public_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 452
    functionName: libspdm_sm2_dsa_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_generate_key
    - EC_KEY_get0_public_key
    - BN_num_bytes
    - EC_GROUP_get_curve_name
    - BN_new
    - EC_POINT_get_affine_coordinates
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - BN_bn2bin
    - EVP_PKEY_set1_EC_KEY
    - BN_free
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_generate_key(void *sm2_context, uint8_t *public_data,
      size_t *public_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sm2_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: libspdm_sm2_key_exchange_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sm2_key_exchange_free(void *sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - sm2_context
    - public_data
    - public_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: libspdm_sm2_key_exchange_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_key_exchange_generate_key(void *sm2_context, uint8_t
      *public_data, size_t *public_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:778,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:787,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:797,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:808,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:792,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:794,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:809,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:801,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:805,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:786,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:794,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:796,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:749,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:762,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:776,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:772,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:783,1
    - Dst: ecc_signature_der_to_bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:811,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:804,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 8
    argNames:
    - sm2_context
    - hash_nid
    - id_a
    - id_a_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 815
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 815
    functionName: libspdm_sm2_dsa_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_DigestSignInit
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_sm3
    - ecc_signature_der_to_bin
    - libspdm_zero_mem
    - EVP_PKEY_CTX_new
    - EVP_DigestSign
    - EVP_PKEY_CTX_set1_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_sign(const void *sm2_context, size_t hash_nid,
      const uint8_t *id_a, size_t id_a_size, const uint8_t *message, size_t size,
      uint8_t *signature, size_t *sig_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:907,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:914,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:917,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:923,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:920,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:864,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:866,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:893,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:897,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:904,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:928,1
    - Dst: ecc_signature_bin_to_der
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:890,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:899,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:908,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:916,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:924,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:929,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:866,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:912,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c:914,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 8
    argNames:
    - sm2_context
    - hash_nid
    - id_a
    - id_a_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 931
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 931
    functionName: libspdm_sm2_dsa_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/sm2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_type_name
    - EVP_DigestVerify
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_sm3
    - ecc_signature_bin_to_der
    - EVP_PKEY_CTX_new
    - EVP_DigestVerifyInit
    - EVP_PKEY_CTX_set1_id
    - EVP_PKEY_CTX_free
    - OBJ_sn2nid
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_verify(const void *sm2_context, size_t hash_nid,
      const uint8_t *id_a, size_t id_a_size, const uint8_t *message, size_t size,
      const uint8_t *signature, size_t sig_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:77,1
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:91,1
    - Dst: RSA_get0_factors
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:98,1
    - Dst: RSA_get0_factors
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:105,1
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:84,1
    - Dst: RSA_get0_crt_params
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:112,1
    - Dst: RSA_get0_crt_params
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:120,1
    - Dst: RSA_get0_crt_params
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:128,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:141,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:152,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 4
    argNames:
    - rsa_context
    - key_tag
    - big_number
    - bn_size
    argTypes:
    - void*
    - libspdm_rsa_key_tag_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 155
    functionName: libspdm_rsa_get_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - RSA_get0_factors
    - BN_num_bytes
    - BN_bn2bin
    - RSA_get0_key
    - RSA_get0_crt_params
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_key(void *rsa_context, const libspdm_rsa_key_tag_t
      key_tag, uint8_t *big_number, size_t *bn_size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:417,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:434,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:427,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:441,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:448,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:455,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:462,1
    - Dst: allocate_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:472,1
    - Dst: RSA_padding_add_PKCS1_PSS
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:477,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:480,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:486,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:490,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:484,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 493
    functionName: libspdm_rsa_pss_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - allocate_pool
    - EVP_sha3_256
    - RSA_size
    - free_pool
    - EVP_sha384
    - RSA_private_encrypt
    - LIBSPDM_ASSERT
    - EVP_sha256
    - RSA_padding_add_PKCS1_PSS
    - EVP_sha3_512
    - EVP_sha3_384
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_sign(void *rsa_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_check_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:248,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:249,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - rsa_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: libspdm_rsa_check_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_peek_last_error
    - RSA_check_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_check_key(void *rsa_context) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:308,1
    - Dst: RSA_sign
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:366,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 33
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 369
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 369
    functionName: libspdm_rsa_pkcs1_sign_with_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - RSA_sign
    - RSA_size
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pkcs1_sign_with_nid(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:540,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:571,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:564,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:557,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:550,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:578,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:585,1
    - Dst: allocate_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:595,1
    - Dst: RSA_padding_add_PKCS1_PSS
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:601,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:604,1
    - Dst: free_pool
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:610,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:614,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:608,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 617
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 617
    functionName: libspdm_rsa_pss_sign_fips
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - allocate_pool
    - EVP_sha3_256
    - RSA_size
    - free_pool
    - EVP_sha384
    - RSA_private_encrypt
    - LIBSPDM_ASSERT
    - EVP_sha256
    - RSA_padding_add_PKCS1_PSS
    - EVP_sha3_512
    - EVP_sha3_384
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_sign_fips(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:190,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:202,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:198,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:214,1
    - Dst: RSA_generate_key_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c:208,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - rsa_context
    - modulus_length
    - public_exponent
    - public_exponent_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 216
    functionName: libspdm_rsa_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - RSA_generate_key_ex
    - BN_new
    - BN_set_word
    - BN_free
    - BN_bin2bn
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_generate_key(void *rsa_context, size_t modulus_length,
      const uint8_t *public_exponent, size_t public_exponent_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ec_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: libspdm_ec_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_ec_free(void *ec_context) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:113,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:131,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:135,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:134,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:113,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:140,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:146,1
    - Dst: EC_KEY_set_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:152,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:161,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:164,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:167,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 3
    argNames:
    - ec_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 170
    functionName: libspdm_ec_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - EC_KEY_set_public_key
    - EC_GROUP_get_curve_name
    - EC_POINT_new
    - BN_free
    - BN_bin2bn
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_set_pub_key(void *ec_context, const uint8_t *public_key,
      size_t public_key_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:278,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:298,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:299,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:304,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:278,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:305,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:311,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:317,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:318,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:323,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:337,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:326,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:328,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:334,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:327,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 3
    argNames:
    - ec_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 340
    functionName: libspdm_ec_get_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - BN_num_bytes
    - EC_POINT_get_affine_coordinates
    - EC_GROUP_get_curve_name
    - BN_new
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - BN_bn2bin
    - BN_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_get_pub_key(void *ec_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:426,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:451,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:450,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:430,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:430,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:456,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:457,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:463,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:469,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:470,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:479,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:486,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:475,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:489,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:478,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:480,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 76
    argCount: 3
    argNames:
    - ec_context
    - public_data
    - public_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 492
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 492
    functionName: libspdm_ec_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_generate_key
    - EC_KEY_get0_public_key
    - BN_num_bytes
    - EC_GROUP_get_curve_name
    - BN_new
    - EC_POINT_get_affine_coordinates
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - BN_bn2bin
    - BN_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_generate_key(void *ec_context, uint8_t *public_data,
      size_t *public_size) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:667,1
    - Dst: ECDSA_do_sign
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:729,1
    - Dst: ECDSA_SIG_get0
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:735,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:686,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:667,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:738,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:739,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:741,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:744,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:746,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:749,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:747,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 61
    argCount: 6
    argNames:
    - ec_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 752
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 752
    functionName: libspdm_ecdsa_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ECDSA_do_sign
    - BN_num_bytes
    - EC_GROUP_get_curve_name
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - BN_bn2bin
    - ECDSA_SIG_get0
    - ECDSA_SIG_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecdsa_sign(void *ec_context, size_t hash_nid, const uint8_t
      *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1046,1
    - Dst: libspdm_ecdsa_sign_setup_random
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1113,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1065,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1046,1
    - Dst: random_func
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1109,1
    - Dst: ECDSA_do_sign_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1118,1
    - Dst: ECDSA_SIG_get0
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1125,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1128,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1129,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1131,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1137,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1140,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1147,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1135,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1138,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1150,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:1144,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 81
    argCount: 7
    argNames:
    - ec_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    - (*random_func)
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 1152
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1152
    functionName: libspdm_ecdsa_sign_ex
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ECDSA_SIG_free
    - BN_num_bytes
    - libspdm_ecdsa_sign_setup_random
    - ECDSA_do_sign_ex
    - EC_GROUP_get_curve_name
    - LIBSPDM_ASSERT
    - libspdm_zero_mem
    - BN_bn2bin
    - ECDSA_SIG_get0
    - BN_clear_free
    - random_func
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecdsa_sign_ex(void *ec_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size,
      int (*random_func)(void *, unsigned char *, size_t)) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:35,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:53,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:59,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:57,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:62,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:63,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: libspdm_ec_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - EC_KEY_set_group
    - EC_KEY_new
    - EC_GROUP_free
    - EC_KEY_free
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_ec_new_by_nid(size_t nid) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:201,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:233,1
    - Dst: EC_KEY_set_private_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:224,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:219,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:201,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - ec_context
    - private_key
    - private_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 236
    functionName: libspdm_ec_set_priv_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_get_curve_name
    - EC_KEY_set_private_key
    - BN_free
    - BN_bin2bn
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_set_priv_key(void *ec_context, const uint8_t *private_key,
      size_t private_key_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_check_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ec_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 372
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 372
    functionName: libspdm_ec_check_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_check_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_check_key(const void *ec_context) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:548,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:569,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:566,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:548,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:570,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:575,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:581,1
    - Dst: ECDH_compute_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:587,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:605,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:608,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:611,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 64
    argCount: 5
    argNames:
    - ec_context
    - peer_public
    - peer_public_size
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 614
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 614
    functionName: libspdm_ec_compute_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ECDH_compute_key
    - EC_POINT_free
    - EC_GROUP_get_curve_name
    - EC_POINT_new
    - BN_free
    - BN_bin2bn
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_compute_key(void *ec_context, const uint8_t *peer_public,
      size_t peer_public_size, uint8_t *key, size_t *key_size) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:798,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:863,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:859,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:798,1
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:857,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:864,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:867,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:870,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:872,1
    - Dst: ECDSA_SIG_set0
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:875,1
    - Dst: ECDSA_do_verify
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:877,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:880,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 61
    argCount: 6
    argNames:
    - ec_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 883
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 883
    functionName: libspdm_ecdsa_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ECDSA_SIG_set0
    - ECDSA_do_verify
    - EC_GROUP_get_curve_name
    - BN_free
    - BN_bin2bn
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecdsa_verify(void *ec_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t sig_size) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:900,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:925,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:934,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:950,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:970,1
    - Dst: EC_GROUP_get_mont_data
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:970,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:974,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:977,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:917,1
    - Dst: EC_KEY_can_sign
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:907,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:932,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:947,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:961,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:938,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:933,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:967,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:986,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:991,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:911,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:919,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:928,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:931,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:953,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:944,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:966,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:978,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:992,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:903,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:920,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:962,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:963,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:971,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:987,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c:990,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 89
    argCount: 5
    argNames:
    - eckey
    - kinvp
    - rp
    - random
    - random_len
    argTypes:
    - EC_KEY*
    - BIGNUM**
    - BIGNUM**
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 994
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 994
    functionName: libspdm_ecdsa_sign_setup_random
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/ec.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - BN_mod_exp_mont
    - EC_POINT_free
    - EC_KEY_get0_private_key
    - EC_GROUP_get0_order
    - BN_CTX_free
    - BN_CTX_start
    - BN_set_word
    - BN_CTX_end
    - BN_set_bit
    - EC_POINT_get_affine_coordinates
    - BN_CTX_new
    - BN_bin2bn
    - BN_clear_free
    - BN_num_bits
    - EC_POINT_new
    - BN_CTX_get
    - EC_KEY_can_sign
    - BN_new
    - EC_POINT_mul
    - EC_GROUP_get_mont_data
    - BN_sub
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'static int libspdm_ecdsa_sign_setup_random(EC_KEY *eckey, BIGNUM **kinvp,
      BIGNUM **rp, uint8_t* random, size_t random_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DH_size
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:214,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:241,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:237,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:236,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:234,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:244,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - dh_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 251
    functionName: libspdm_dh_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - DH_size
    - LIBSPDM_ASSERT
    - DH_get0_key
    - libspdm_zero_mem
    - BN_bn2bin
    - DH_generate_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_generate_key(void *dh_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dh_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: libspdm_dh_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c
    functionUses: []
    functionsReached:
    - DH_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dh_free(void *dh_context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:33,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:37,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:35,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: libspdm_dh_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_dh_new_by_nid(size_t nid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DH_generate_parameters_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:95,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:102,1
    - Dst: DH_get0_pqg
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - dh_context
    - generator
    - prime_length
    - prime
    argTypes:
    - void*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: libspdm_dh_generate_parameter
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c
    functionUses: []
    functionsReached:
    - BN_bn2bin
    - DH_generate_parameters_ex
    - DH_get0_pqg
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_generate_parameter(void *dh_context, size_t generator,
      size_t prime_length, uint8_t *prime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:150,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:152,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:161,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:154,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - dh_context
    - generator
    - prime_length
    - prime
    argTypes:
    - void*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 165
    functionName: libspdm_dh_set_parameter
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c
    functionUses: []
    functionsReached:
    - DH_set0_pqg
    - BN_free
    - BN_bin2bn
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_set_parameter(void *dh_context, size_t generator,
      size_t prime_length, const uint8_t *prime) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:302,1
    - Dst: DH_compute_key_padded
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:328,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:308,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:319,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:324,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c:329,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 5
    argNames:
    - dh_context
    - peer_public_key
    - peer_public_key_size
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 339
    functionName: libspdm_dh_compute_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/pk/dh.c
    functionUses: []
    functionsReached:
    - DH_size
    - BN_free
    - BN_bin2bn
    - DH_compute_key_padded
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_compute_key(void *dh_context, const uint8_t *peer_public_key,
      size_t peer_public_key_size, uint8_t *key, size_t *key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha3_256_ctx
    - new_hmac_sha3_256_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: libspdm_hmac_sha3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_duplicate(const void *hmac_sha3_256_ctx,
      void *new_hmac_sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:160,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: libspdm_hmac_sha3_256_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_all
    - EVP_sha3_256
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha3_512_ctx
    - new_hmac_sha3_512_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: libspdm_hmac_sha3_512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_duplicate(const void *hmac_sha3_512_ctx,
      void *new_hmac_sha3_512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: libspdm_hmac_sha3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha3_256_free(void *hmac_sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_set_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:65,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hmac_sha3_256_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: libspdm_hmac_sha3_256_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_set_key
    - EVP_sha3_256
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_set_key(void *hmac_sha3_256_ctx, const
      uint8_t *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_set_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:353,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hmac_sha3_512_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: libspdm_hmac_sha3_512_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_512
    - hmac_md_set_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_set_key(void *hmac_sha3_512_ctx, const
      uint8_t *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha3_384_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: libspdm_hmac_sha3_384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_update(void *hmac_sha3_384_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: libspdm_hmac_sha3_384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha3_384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha3_384_ctx
    - new_hmac_sha3_384_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: libspdm_hmac_sha3_384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_duplicate(const void *hmac_sha3_384_ctx,
      void *new_hmac_sha3_384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha3_256_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: libspdm_hmac_sha3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_final(void *hmac_sha3_256_ctx, uint8_t
      *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha3_512_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: libspdm_hmac_sha3_512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_final(void *hmac_sha3_512_ctx, uint8_t
      *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha3_256_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: libspdm_hmac_sha3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_update(void *hmac_sha3_256_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha3_512_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: libspdm_hmac_sha3_512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_update(void *hmac_sha3_512_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: libspdm_hmac_sha3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_set_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:206,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hmac_sha3_384_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: libspdm_hmac_sha3_384_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_set_key
    - EVP_sha3_384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_set_key(void *hmac_sha3_384_ctx, const
      uint8_t *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:307,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: libspdm_hmac_sha3_384_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_all
    - EVP_sha3_384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha3_512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: libspdm_hmac_sha3_512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha3_512_free(void *hmac_sha3_512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:454,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: libspdm_hmac_sha3_512_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_512
    - hmac_md_all
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha3_384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: libspdm_hmac_sha3_384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha3_384_free(void *hmac_sha3_384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha3_384_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: libspdm_hmac_sha3_384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_final(void *hmac_sha3_384_ctx, uint8_t
      *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: libspdm_hmac_sha3_512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha3.c
    functionUses: []
    functionsReached:
    - hmac_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha3_512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha256_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: libspdm_hmac_sha256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_update(void *hmac_sha256_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha512_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: libspdm_hmac_sha512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_update(void *hmac_sha512_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha384_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: libspdm_hmac_sha384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_update(void *hmac_sha384_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_md_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: hmac_md_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void hmac_md_free(void *hmac_md_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:184,1
    - Dst: HMAC_CTX_reset
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - hmac_md_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: hmac_md_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_reset
    - HMAC_Final
    linkageType: ''
    returnType: bool
    signature: 'bool hmac_md_final(void *hmac_md_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: libspdm_hmac_sha384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha384_free(void *hmac_sha384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha384_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: libspdm_hmac_sha384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_final(void *hmac_sha384_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: libspdm_hmac_sha512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha256_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: libspdm_hmac_sha256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_final(void *hmac_sha256_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha512_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: libspdm_hmac_sha512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_final(void *hmac_sha512_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: hmac_md_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_new
    linkageType: ''
    returnType: void*
    signature: 'void *hmac_md_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_copy
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - hmac_md_ctx
    - new_hmac_md_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: hmac_md_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_copy
    linkageType: ''
    returnType: bool
    signature: 'bool hmac_md_duplicate(const void *hmac_md_ctx, void *new_hmac_md_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: libspdm_hmac_sha256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha256_free(void *hmac_sha256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_set_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:291,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hmac_sha256_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: libspdm_hmac_sha256_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - hmac_md_set_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_set_key(void *hmac_sha256_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_set_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:579,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hmac_sha512_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: libspdm_hmac_sha512_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_set_key
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_set_key(void *hmac_sha512_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - md
    - hmac_md_ctx
    - key
    - key_size
    argTypes:
    - EVP_MD*
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: hmac_md_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - HMAC_Init_ex
    linkageType: ''
    returnType: bool
    signature: 'bool hmac_md_set_key(const EVP_MD *md, void *hmac_md_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:223,1
    - Dst: HMAC_CTX_reset
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:228,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:236,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:240,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:232,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:246,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 6
    argNames:
    - md
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - EVP_MD*
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 249
    functionName: hmac_md_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_reset
    - HMAC_CTX_new
    - HMAC_Update
    - HMAC_Init_ex
    - HMAC_Final
    - HMAC_CTX_free
    linkageType: ''
    returnType: bool
    signature: 'bool hmac_md_all(const EVP_MD *md, const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: libspdm_hmac_sha256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_set_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:432,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hmac_sha384_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: libspdm_hmac_sha384_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha384
    - hmac_md_set_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_set_key(void *hmac_sha384_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:533,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 535
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 535
    functionName: libspdm_hmac_sha384_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha384
    - hmac_md_all
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_all(const void *data, size_t data_size, const
      uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: libspdm_hmac_sha512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha512_free(void *hmac_sha512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:680,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: libspdm_hmac_sha512_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_all
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_all(const void *data, size_t data_size, const
      uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: libspdm_hmac_sha384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha384_ctx
    - new_hmac_sha384_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: libspdm_hmac_sha384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_duplicate(const void *hmac_sha384_ctx, void
      *new_hmac_sha384_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - hmac_md_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: hmac_md_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - HMAC_Update
    linkageType: ''
    returnType: bool
    signature: 'bool hmac_md_update(void *hmac_md_ctx, const void *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha256_ctx
    - new_hmac_sha256_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: libspdm_hmac_sha256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_duplicate(const void *hmac_sha256_ctx, void
      *new_hmac_sha256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:386,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: libspdm_hmac_sha256_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - hmac_md_all
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_all(const void *data, size_t data_size, const
      uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha512_ctx
    - new_hmac_sha512_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: libspdm_hmac_sha512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - hmac_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_duplicate(const void *hmac_sha512_ctx, void
      *new_hmac_sha512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: libspdm_hmac_sm3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c
    functionUses: []
    functionsReached:
    - hmac_md_new
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sm3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_set_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:65,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hmac_sm3_256_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: libspdm_hmac_sm3_256_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c
    functionUses: []
    functionsReached:
    - EVP_sm3
    - hmac_md_set_key
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_set_key(void *hmac_sm3_256_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_update
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sm3_256_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: libspdm_hmac_sm3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c
    functionUses: []
    functionsReached:
    - hmac_md_update
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_update(void *hmac_sm3_256_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sm3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: libspdm_hmac_sm3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c
    functionUses: []
    functionsReached:
    - hmac_md_free
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sm3_256_free(void *hmac_sm3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_duplicate
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sm3_256_ctx
    - new_hmac_sm3_256_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: libspdm_hmac_sm3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c
    functionUses: []
    functionsReached:
    - hmac_md_duplicate
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_duplicate(const void *hmac_sm3_256_ctx,
      void *new_hmac_sm3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_final
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sm3_256_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: libspdm_hmac_sm3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c
    functionUses: []
    functionsReached:
    - hmac_md_final
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_final(void *hmac_sm3_256_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md_all
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:160,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: libspdm_hmac_sm3_256_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/hmac/hmac_sm3.c
    functionUses: []
    functionsReached:
    - EVP_sm3
    - hmac_md_all
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag_out
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: libspdm_aead_sm4_gcm_encrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_sm4_gcm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_sm4_gcm_encrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, uint8_t *tag_out, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: libspdm_aead_sm4_gcm_decrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_sm4_gcm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_sm4_gcm_decrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, const uint8_t *tag, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:73,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:78,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:78,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:84,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:90,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:96,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:101,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:107,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:114,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:120,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:124,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 58
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag_out
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 134
    functionName: libspdm_aead_chacha20_poly1305_encrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_free
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_ctrl
    - EVP_EncryptUpdate
    - EVP_chacha20_poly1305
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_chacha20_poly1305_encrypt( const uint8_t *key, size_t
      key_size, const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, uint8_t *tag_out, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:193,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:204,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:198,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:198,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:210,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:216,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:221,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:227,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:234,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c:238,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 54
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 248
    functionName: libspdm_aead_chacha20_poly1305_decrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_ctrl
    - EVP_chacha20_poly1305
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_chacha20_poly1305_decrypt( const uint8_t *key, size_t
      key_size, const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, const uint8_t *tag, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:64,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:86,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:91,1
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:70,1
    - Dst: EVP_aes_192_gcm
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:67,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:96,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:102,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:107,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:113,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:120,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:126,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:130,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 66
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag_out
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 140
    functionName: libspdm_aead_aes_gcm_encrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c
    functionUses: []
    functionsReached:
    - EVP_aes_192_gcm
    - EVP_aes_256_gcm
    - EVP_aes_128_gcm
    - EVP_CIPHER_CTX_free
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_ctrl
    - EVP_EncryptUpdate
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_aes_gcm_encrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, uint8_t *tag_out, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:190,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:217,1
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:196,1
    - Dst: EVP_aes_192_gcm
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:193,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:212,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:222,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:228,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:233,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:239,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:246,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:256,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c:252,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 66
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 266
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 266
    functionName: libspdm_aead_aes_gcm_decrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/cipher/aead_aes_gcm.c
    functionUses: []
    functionsReached:
    - EVP_aes_192_gcm
    - EVP_aes_256_gcm
    - EVP_aes_128_gcm
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_aes_gcm_decrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, const uint8_t *tag, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/cryptlib_openssl/rand/rand.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - output
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: libspdm_random_bytes
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/rand/rand.c
    functionUses: []
    functionsReached:
    - RAND_bytes
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_random_bytes(uint8_t *output, size_t size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:165,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:172,1
    - Dst: EVP_PKEY_CTX_hkdf_mode
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:175,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:179,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:170,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:183,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:187,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:190,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 7
    argNames:
    - md
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 193
    functionName: hkdf_md_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_hkdf_mode
    linkageType: ''
    returnType: bool
    signature: 'bool hkdf_md_expand(const EVP_MD *md, const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:239,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: libspdm_hkdf_sha256_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - hkdf_md_extract
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha256_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract_and_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:286,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: libspdm_hkdf_sha384_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha384
    - hkdf_md_extract_and_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha384_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:331,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: libspdm_hkdf_sha384_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha384
    - hkdf_md_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha384_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:379,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: libspdm_hkdf_sha512_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - hkdf_md_extract
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha512_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:401,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: libspdm_hkdf_sha512_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - hkdf_md_expand
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha512_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:48,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:58,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:62,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:53,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:55,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:66,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:70,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:73,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 9
    argNames:
    - md
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 76
    functionName: hkdf_md_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    linkageType: ''
    returnType: bool
    signature: 'bool hkdf_md_extract_and_expand(const EVP_MD *md, const uint8_t *key,
      size_t key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info,
      size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:107,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:114,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:112,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:122,1
    - Dst: EVP_PKEY_CTX_hkdf_mode
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:118,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:126,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:130,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:133,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 7
    argNames:
    - md
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 136
    functionName: hkdf_md_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_hkdf_mode
    linkageType: ''
    returnType: bool
    signature: 'bool hkdf_md_extract(const EVP_MD *md, const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract_and_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:216,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: libspdm_hkdf_sha256_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - hkdf_md_extract_and_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha256_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:261,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: libspdm_hkdf_sha256_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - hkdf_md_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha256_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:309,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: libspdm_hkdf_sha384_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - EVP_sha384
    - hkdf_md_extract
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha384_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract_and_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:356,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: libspdm_hkdf_sha512_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - hkdf_md_extract_and_expand
    - EVP_sha512
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha512_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract_and_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c:50,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: libspdm_hkdf_sm3_256_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c
    functionUses: []
    functionsReached:
    - EVP_sm3
    - hkdf_md_extract_and_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sm3_256_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c:73,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: libspdm_hkdf_sm3_256_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c
    functionUses: []
    functionsReached:
    - EVP_sm3
    - hkdf_md_extract
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sm3_256_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c:95,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: libspdm_hkdf_sm3_256_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sm3.c
    functionUses: []
    functionsReached:
    - EVP_sm3
    - hkdf_md_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sm3_256_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract_and_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:50,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: libspdm_hkdf_sha3_256_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_256
    - hkdf_md_extract_and_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_256_extract_and_expand(const uint8_t *key,
      size_t key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info,
      size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:143,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: libspdm_hkdf_sha3_384_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - hkdf_md_extract
    - EVP_sha3_384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_384_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:95,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: libspdm_hkdf_sha3_256_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - hkdf_md_expand
    - EVP_sha3_256
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_256_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract_and_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:190,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: libspdm_hkdf_sha3_512_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_512
    - hkdf_md_extract_and_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_512_extract_and_expand(const uint8_t *key,
      size_t key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info,
      size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract_and_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:120,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: libspdm_hkdf_sha3_384_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_384
    - hkdf_md_extract_and_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_384_extract_and_expand(const uint8_t *key,
      size_t key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info,
      size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:73,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: libspdm_hkdf_sha3_256_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - hkdf_md_extract
    - EVP_sha3_256
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_256_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:165,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: libspdm_hkdf_sha3_384_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - hkdf_md_expand
    - EVP_sha3_384
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_384_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_extract
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:213,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: libspdm_hkdf_sha3_512_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_512
    - hkdf_md_extract
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_512_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_md_expand
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:235,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: libspdm_hkdf_sha3_512_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached:
    - EVP_sha3_512
    - hkdf_md_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_512_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:51,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:51,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:56,1
    - Dst: d2i_RSA_PUBKEY_bio
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:62,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - der_data
    - der_size
    - rsa_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: libspdm_rsa_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/der/der.c
    functionUses: []
    functionsReached:
    - d2i_RSA_PUBKEY_bio
    - BIO_write
    - BIO_free
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_public_key_from_der(const uint8_t *der_data,
      size_t der_size, void **rsa_context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:114,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:135,1
    - Dst: d2i_EC_PUBKEY_bio
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:126,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:114,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:119,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - der_data
    - der_size
    - ec_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 138
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 138
    functionName: libspdm_ec_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/der/der.c
    functionUses: []
    functionsReached:
    - BIO_write
    - d2i_EC_PUBKEY_bio
    - BIO_free
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_get_public_key_from_der(const uint8_t *der_data, size_t
      der_size, void **ec_context) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:252,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:267,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:257,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:252,1
    - Dst: d2i_PUBKEY_bio
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:263,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - der_data
    - der_size
    - sm2_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 282
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 282
    functionName: libspdm_sm2_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/der/der.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_free
    - EVP_PKEY_is_a
    - BIO_s_mem
    - d2i_PUBKEY_bio
    - BIO_new
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_get_public_key_from_der(const uint8_t *der_data,
      size_t der_size, void **sm2_context) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:180,1
    - Dst: d2i_PUBKEY_bio
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:192,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:180,1
    - Dst: EVP_PKEY_id
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:196,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:185,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/cryptlib_openssl/der/der.c:207,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - der_data
    - der_size
    - ecd_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 210
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 210
    functionName: libspdm_ecd_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_openssl/der/der.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_free
    - BIO_s_mem
    - d2i_PUBKEY_bio
    - BIO_new
    - EVP_PKEY_id
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_public_key_from_der(const uint8_t *der_data,
      size_t der_size, void **ecd_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - session_id
    - seconds
    argTypes:
    - uint32_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: libspdm_start_watchdog
    functionSourceFile: /src/libspdm/os_stub/platform_lib_null/watchdog.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_start_watchdog(uint32_t session_id, uint16_t seconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: libspdm_reset_watchdog
    functionSourceFile: /src/libspdm/os_stub/platform_lib_null/watchdog.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_reset_watchdog(uint32_t session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: libspdm_stop_watchdog
    functionSourceFile: /src/libspdm/os_stub/platform_lib_null/watchdog.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_stop_watchdog(uint32_t session_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - microseconds
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: libspdm_sleep
    functionSourceFile: /src/libspdm/os_stub/platform_lib_null/time_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sleep(uint64_t microseconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - microseconds
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: libspdm_sleep
    functionSourceFile: /src/libspdm/os_stub/platform_lib_null/time_linux.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sleep(uint64_t microseconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - destination_buffer
    - source_buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 23
    functionName: libspdm_consttime_is_mem_equal
    functionSourceFile: /src/libspdm/os_stub/memlib/compare_mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_consttime_is_mem_equal(const void *destination_buffer,
      const void *source_buffer, size_t length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - length
    - value
    argTypes:
    - void*
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: libspdm_set_mem
    functionSourceFile: /src/libspdm/os_stub/memlib/set_mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_set_mem(void *buffer, size_t length, uint8_t value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/memlib/copy_mem.c:19,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/memlib/copy_mem.c:22,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/memlib/copy_mem.c:25,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - dst_buf
    - dst_len
    - src_buf
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 31
    functionName: libspdm_copy_mem
    functionSourceFile: /src/libspdm/os_stub/memlib/copy_mem.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_copy_mem(void *dst_buf, size_t dst_len, const void *src_buf,
      size_t src_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset_s
      Src: /src/libspdm/os_stub/memlib/zero_mem.c:19,1
    - Dst: explicit_bzero
      Src: /src/libspdm/os_stub/memlib/zero_mem.c:23,1
    - Dst: SecureZeroMemory
      Src: /src/libspdm/os_stub/memlib/zero_mem.c:21,1
    - Dst: _ReadWriteBarrier
      Src: /src/libspdm/os_stub/memlib/zero_mem.c:33,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 39
    functionName: libspdm_zero_mem
    functionSourceFile: /src/libspdm/os_stub/memlib/zero_mem.c
    functionUses: []
    functionsReached:
    - memset_s
    - SecureZeroMemory
    - explicit_bzero
    - _ReadWriteBarrier
    linkageType: ''
    returnType: void
    signature: 'void libspdm_zero_mem(void *buffer, size_t length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/rnglib/rng_linux.c:28,1
    - Dst: read
      Src: /src/libspdm/os_stub/rnglib/rng_linux.c:35,1
    - Dst: printf
      Src: /src/libspdm/os_stub/rnglib/rng_linux.c:32,1
    - Dst: printf
      Src: /src/libspdm/os_stub/rnglib/rng_linux.c:36,1
    - Dst: open
      Src: /src/libspdm/os_stub/rnglib/rng_linux.c:30,1
    - Dst: close
      Src: /src/libspdm/os_stub/rnglib/rng_linux.c:37,1
    - Dst: close
      Src: /src/libspdm/os_stub/rnglib/rng_linux.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - rand_data
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: libspdm_get_random_number_64
    functionSourceFile: /src/libspdm/os_stub/rnglib/rng_linux.c
    functionUses: []
    functionsReached:
    - open
    - close
    - assert
    - printf
    - read
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_get_random_number_64(uint64_t *rand_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - rand_data
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: libspdm_get_random_number_64
    functionSourceFile: /src/libspdm/os_stub/rnglib/rng_arm_sample.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_get_random_number_64(uint64_t *rand_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:25,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:31,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:30,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:29,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:28,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:32,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:33,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:34,1
    - Dst: rand
      Src: /src/libspdm/os_stub/rnglib/rng_std.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - rand_data
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: libspdm_get_random_number_64
    functionSourceFile: /src/libspdm/os_stub/rnglib/rng_std.c
    functionUses: []
    functionsReached:
    - rand
    - assert
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_get_random_number_64(uint64_t *rand_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/rnglib/rng_win.c:30,1
    - Dst: BCryptOpenAlgorithmProvider
      Src: /src/libspdm/os_stub/rnglib/rng_win.c:32,1
    - Dst: BCryptGenRandom
      Src: /src/libspdm/os_stub/rnglib/rng_win.c:36,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/libspdm/os_stub/rnglib/rng_win.c:36,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/libspdm/os_stub/rnglib/rng_win.c:32,1
    - Dst: BCryptCloseAlgorithmProvider
      Src: /src/libspdm/os_stub/rnglib/rng_win.c:38,1
    - Dst: BCryptCloseAlgorithmProvider
      Src: /src/libspdm/os_stub/rnglib/rng_win.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rand_data
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: libspdm_get_random_number_64
    functionSourceFile: /src/libspdm/os_stub/rnglib/rng_win.c
    functionUses: []
    functionsReached:
    - BCryptOpenAlgorithmProvider
    - BCryptCloseAlgorithmProvider
    - assert
    - BCryptGenRandom
    - BCRYPT_SUCCESS
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_get_random_number_64(uint64_t *rand_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:24,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - thread
    - (*thread_func)
    - thread_data
    argTypes:
    - mbedtls_test_thread_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: threading_thread_create_pthread
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: int
    signature: 'static int threading_thread_create_pthread(mbedtls_test_thread_t *thread,
      void *(*thread_func)( void *), void *thread_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_set_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:177,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mutex
    - msg
    argTypes:
    - mbedtls_threading_mutex_t*
    - char*
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: mbedtls_test_mutex_usage_error
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - mbedtls_test_set_mutex_usage_error
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_mutex_usage_error(mbedtls_threading_mutex_t
      *mutex, const char *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 3
    argNames:
    - thread
    - (*thread_func)
    - thread_data
    argTypes:
    - mbedtls_test_thread_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: threading_thread_create_fail
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int threading_thread_create_fail(mbedtls_test_thread_t *thread,
      void *(*thread_func)(void *), void *thread_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_mutex_can_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: mbedtls_test_wrap_mutex_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mutex_can_test
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_wrap_mutex_init(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_mutex_can_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:249,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:261,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:253,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 273
    functionName: mbedtls_test_wrap_mutex_lock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mutex_can_test
    - mbedtls_test_mutex_usage_error
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_test_wrap_mutex_lock(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: mbedtls_test_mutex_usage_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_mutex_usage_init(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - mbedtls_test_thread_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: threading_thread_join_pthread
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int threading_thread_join_pthread(mbedtls_test_thread_t *thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - thread
    argTypes:
    - mbedtls_test_thread_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: threading_thread_join_fail
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int threading_thread_join_fail(mbedtls_test_thread_t *thread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_get_info_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: mbedtls_test_mutex_can_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_get_info_mutex
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_test_mutex_can_test(mbedtls_threading_mutex_t *mutex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_mutex_can_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:216,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:221,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:228,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 240
    functionName: mbedtls_test_wrap_mutex_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mutex_can_test
    - mbedtls_test_mutex_usage_error
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_wrap_mutex_free(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_mutex_can_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:280,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:287,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:293,1
    - Dst: mbedtls_test_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 301
    functionName: mbedtls_test_wrap_mutex_unlock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mutex_can_test
    - mbedtls_test_mutex_usage_error
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_test_wrap_mutex_unlock(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_get_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:330,1
    - Dst: mbedtls_test_get_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:329,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:325,1
    - Dst: mbedtls_test_set_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:327,1
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:333,1
    - Dst: mbedtls_test_set_mutex_usage_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 339
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 339
    functionName: mbedtls_test_mutex_usage_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_get_result
    - mbedtls_test_fail
    - mbedtls_test_get_mutex_usage_error
    - mbedtls_fprintf
    - mbedtls_test_set_mutex_usage_error
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_mutex_usage_check(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: mbedtls_test_mutex_usage_end
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/threading_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_mutex_usage_end(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c:26,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c:26,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c:46,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c:32,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c:52,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c:53,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c:55,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 5
    argNames:
    - p
    - end
    - min_bits
    - max_bits
    - must_be_odd
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: mbedtls_test_asn1_skip_integer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/asn1_helpers.c
    functionUses: []
    functionsReached:
    - TEST_ASSERT
    - mbedtls_asn1_get_tag
    - TEST_EQUAL
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_asn1_skip_integer(unsigned char **p, const unsigned
      char *end, size_t min_bits, size_t max_bits, int must_be_odd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:40,1
    - Dst: arc4random_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - rng_state
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: mbedtls_test_rnd_std_rand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c
    functionUses: []
    functionsReached:
    - rand
    - arc4random_buf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_rnd_std_rand(void *rng_state, unsigned char *output,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - rng_state
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: mbedtls_test_rnd_zero_rand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_rnd_zero_rand(void *rng_state, unsigned char *output,
      size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_rnd_std_rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:74,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - rng_state
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: mbedtls_test_rnd_buffer_rand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c
    functionUses: []
    functionsReached:
    - mbedtls_test_rnd_std_rand
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_rnd_buffer_rand(void *rng_state, unsigned char *output,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_rnd_std_rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:111,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:129,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - rng_state
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: mbedtls_test_rnd_pseudo_rand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/random.c
    functionUses: []
    functionsReached:
    - mbedtls_test_rnd_std_rand
    - memcpy
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_rnd_pseudo_rand(void *rng_state, unsigned char *output,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - output
    - output_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: psa_generate_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_stubs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_generate_random(uint8_t *output, size_t output_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - key
    - attributes
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: psa_get_key_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_stubs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_get_key_attributes(mbedtls_svc_key_id_t key, psa_key_attributes_t
      *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: psa_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_stubs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_abort(psa_hash_operation_t *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - key
    - data
    - data_size
    - data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: psa_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_stubs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_export_public_key(mbedtls_svc_key_id_t key, uint8_t
      *data, size_t data_size, size_t *data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - key
    - data
    - data_size
    - data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: psa_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_stubs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_export_key(mbedtls_svc_key_id_t key, uint8_t *data,
      size_t data_size, size_t *data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - attributes
    - data
    - data_length
    - key
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: psa_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_stubs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_import_key(const psa_key_attributes_t *attributes,
      const uint8_t *data, size_t data_length, mbedtls_svc_key_id_t *key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:36,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:58,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:47,1
    - Dst: mbedtls_test_ascii2uc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:58,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:38,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:63,1
    - Dst: mbedtls_test_unhexify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:63,1
    - Dst: mbedtls_mpi_core_bigendian_to_host
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:68,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - pX
    - plimbs
    - input
    argTypes:
    - mbedtls_mpi_uint**
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: mbedtls_test_read_mpi_core
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_mpi_core_bigendian_to_host
    - mbedtls_free
    - mbedtls_test_ascii2uc
    - CHARS_TO_LIMBS
    - TEST_ASSERT
    - mbedtls_test_unhexify
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_read_mpi_core(mbedtls_mpi_uint **pX, size_t *plimbs,
      const char *input) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:128,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:136,1
    - Dst: mbedtls_test_increment_case_uses_negative_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:137,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - X
    - s
    argTypes:
    - mbedtls_mpi*
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: mbedtls_test_read_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_increment_case_uses_negative_0
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_read_string
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_read_mpi(mbedtls_mpi *X, const char *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_read_mpi_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:86,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:103,1
    - Dst: mbedtls_mpi_mod_modulus_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:93,1
    - Dst: mbedtls_mpi_mod_optred_modulus_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - N
    - s
    - int_rep
    argTypes:
    - mbedtls_mpi_mod_modulus*
    - char*
    - mbedtls_mpi_mod_rep_selector
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: mbedtls_test_read_mpi_modulus
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_mpi_mod_modulus_setup
    - mbedtls_test_read_mpi_core
    - mbedtls_mpi_mod_optred_modulus_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_read_mpi_modulus(mbedtls_mpi_mod_modulus *N, const
      char *s, mbedtls_mpi_mod_rep_selector int_rep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:110,1
    - Dst: mbedtls_mpi_mod_modulus_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: mbedtls_test_mpi_mod_modulus_free_with_limbs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/bignum_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_mpi_mod_modulus_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_mpi_mod_modulus_free_with_limbs(mbedtls_mpi_mod_modulus
      *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: mbedtls_poison_test_hooks_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_memory_poisoning_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_poison_test_hooks_setup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: mbedtls_poison_test_hooks_teardown
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_memory_poisoning_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_poison_test_hooks_teardown(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:409,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_iv
    - arg2_iv_size
    - arg3_iv_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 416
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: mbedtls_test_wrap_psa_cipher_generate_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_generate_iv( psa_cipher_operation_t
      *arg0_operation, uint8_t *arg1_iv, size_t arg2_iv_size, size_t *arg3_iv_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:444,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:450,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:449,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - arg0_operation
    - arg1_input
    - arg2_input_length
    - arg3_output
    - arg4_output_size
    - arg5_output_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: mbedtls_test_wrap_psa_cipher_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_update( psa_cipher_operation_t
      *arg0_operation, const uint8_t *arg1_input, size_t arg2_input_length, uint8_t
      *arg3_output, size_t arg4_output_size, size_t *arg5_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_capacity
    argTypes:
    - psa_key_derivation_operation_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 807
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 807
    functionName: mbedtls_test_wrap_psa_key_derivation_get_capacity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_get_capacity( const
      psa_key_derivation_operation_t *arg0_operation, size_t *arg1_capacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:871,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_output
    - arg2_output_length
    argTypes:
    - psa_key_derivation_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 878
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 878
    functionName: mbedtls_test_wrap_psa_key_derivation_output_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_output_bytes( psa_key_derivation_operation_t
      *arg0_operation, uint8_t *arg1_output, size_t arg2_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:392,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_output
    - arg2_output_size
    - arg3_output_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 399
    functionName: mbedtls_test_wrap_psa_cipher_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_finish( psa_cipher_operation_t
      *arg0_operation, uint8_t *arg1_output, size_t arg2_output_size, size_t *arg3_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:425,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_iv
    - arg2_iv_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: mbedtls_test_wrap_psa_cipher_set_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_set_iv( psa_cipher_operation_t
      *arg0_operation, const uint8_t *arg1_iv, size_t arg2_iv_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_key_derivation_operation_t*
    constantsTouched: []
    func_position:
      end: 798
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 798
    functionName: mbedtls_test_wrap_psa_key_derivation_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_abort( psa_key_derivation_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_attributes
    - arg1_key
    argTypes:
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: mbedtls_test_wrap_psa_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_generate_key( const psa_key_attributes_t
      *arg0_attributes, mbedtls_svc_key_id_t *arg1_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:783,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - arg0_attributes
    - arg1_data
    - arg2_data_length
    - arg3_key
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 790
    functionName: mbedtls_test_wrap_psa_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_import_key( const psa_key_attributes_t
      *arg0_attributes, const uint8_t *arg1_data, size_t arg2_data_length, mbedtls_svc_key_id_t
      *arg3_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:766,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_hash
    - arg2_hash_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 773
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 773
    functionName: mbedtls_test_wrap_psa_hash_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_verify( psa_hash_operation_t
      *arg0_operation, const uint8_t *arg1_hash, size_t arg2_hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - arg0_attributes
    - arg1_operation
    - arg2_key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_derivation_operation_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 888
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 888
    functionName: mbedtls_test_wrap_psa_key_derivation_output_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_output_key( const
      psa_key_attributes_t *arg0_attributes, psa_key_derivation_operation_t *arg1_operation,
      mbedtls_svc_key_id_t *arg2_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - arg0_source_key
    - arg1_attributes
    - arg2_target_key
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: mbedtls_test_wrap_psa_copy_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_copy_key( mbedtls_svc_key_id_t
      arg0_source_key, const psa_key_attributes_t *arg1_attributes, mbedtls_svc_key_id_t
      *arg2_target_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_aead_operation_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: mbedtls_test_wrap_psa_aead_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_abort( psa_aead_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:615,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - arg0_attributes
    - arg1_custom
    - arg2_custom_data
    - arg3_custom_data_length
    - arg4_key
    argTypes:
    - psa_key_attributes_t*
    - psa_custom_key_parameters_t*
    - uint8_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: mbedtls_test_wrap_psa_generate_key_custom
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_generate_key_custom( const psa_key_attributes_t
      *arg0_attributes, const psa_custom_key_parameters_t *arg1_custom, const uint8_t
      *arg2_custom_data, size_t arg3_custom_data_length, mbedtls_svc_key_id_t *arg4_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_inputs
    - arg1_user_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: mbedtls_test_wrap_psa_crypto_driver_pake_get_user_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_driver_pake_get_user_len(
      const psa_crypto_driver_pake_inputs_t *arg0_inputs, size_t *arg1_user_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_output
    argTypes:
    - psa_pake_operation_t*
    - psa_key_derivation_operation_t*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1077
    functionName: mbedtls_test_wrap_psa_pake_get_implicit_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_get_implicit_key( psa_pake_operation_t
      *arg0_operation, psa_key_derivation_operation_t *arg1_output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - arg0_key_id
    - arg1_lifetime
    - arg2_slot_number
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_lifetime_t*
    - psa_drv_slot_number_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: mbedtls_test_wrap_mbedtls_psa_platform_get_builtin_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_mbedtls_psa_platform_get_builtin_key(
      mbedtls_svc_key_id_t arg0_key_id, psa_key_lifetime_t *arg1_lifetime, psa_drv_slot_number_t
      *arg2_slot_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_inputs
    - arg1_password_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: mbedtls_test_wrap_psa_crypto_driver_pake_get_password_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_driver_pake_get_password_len(
      const psa_crypto_driver_pake_inputs_t *arg0_inputs, size_t *arg1_password_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_capacity
    argTypes:
    - psa_key_derivation_operation_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 928
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 928
    functionName: mbedtls_test_wrap_psa_key_derivation_set_capacity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_set_capacity( psa_key_derivation_operation_t
      *arg0_operation, size_t arg1_capacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: mbedtls_test_wrap_psa_verify_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_verify_hash_complete( psa_verify_hash_interruptible_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_ad_length
    - arg2_plaintext_length
    argTypes:
    - psa_aead_operation_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: mbedtls_test_wrap_psa_aead_set_lengths
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_set_lengths( psa_aead_operation_t
      *arg0_operation, size_t arg1_ad_length, size_t arg2_plaintext_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:212,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:217,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:218,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - arg0_operation
    - arg1_input
    - arg2_input_length
    - arg3_output
    - arg4_output_size
    - arg5_output_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: mbedtls_test_wrap_psa_aead_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_update( psa_aead_operation_t
      *arg0_operation, const uint8_t *arg1_input, size_t arg2_input_length, uint8_t
      *arg3_output, size_t arg4_output_size, size_t *arg5_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:299,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:300,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:301,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:305,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:306,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 9
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_salt
    - arg5_salt_length
    - arg6_output
    - arg7_output_size
    - arg8_output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 310
    functionName: mbedtls_test_wrap_psa_asymmetric_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_asymmetric_encrypt( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      const uint8_t *arg4_salt, size_t arg5_salt_length, uint8_t *arg6_output, size_t
      arg7_output_size, size_t *arg8_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    argTypes:
    - psa_cipher_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: mbedtls_test_wrap_psa_cipher_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_decrypt_setup( psa_cipher_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_step
    - arg2_key
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 844
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 844
    functionName: mbedtls_test_wrap_psa_key_derivation_input_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_input_key( psa_key_derivation_operation_t
      *arg0_operation, psa_key_derivation_step_t arg1_step, mbedtls_svc_key_id_t arg2_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:331,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:336,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:332,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_output
    - arg5_output_size
    - arg6_output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: mbedtls_test_wrap_psa_cipher_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_decrypt( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      uint8_t *arg4_output, size_t arg5_output_size, size_t *arg6_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:571,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - arg0_key
    - arg1_data
    - arg2_data_size
    - arg3_data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: mbedtls_test_wrap_psa_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_export_key( mbedtls_svc_key_id_t
      arg0_key, uint8_t *arg1_data, size_t arg2_data_size, size_t *arg3_data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:193,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_nonce
    - arg2_nonce_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: mbedtls_test_wrap_psa_aead_set_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_set_nonce( psa_aead_operation_t
      *arg0_operation, const uint8_t *arg1_nonce, size_t arg2_nonce_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:230,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_input
    - arg2_input_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 237
    functionName: mbedtls_test_wrap_psa_aead_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_update_ad( psa_aead_operation_t
      *arg0_operation, const uint8_t *arg1_input, size_t arg2_input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_cipher_operation_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: mbedtls_test_wrap_psa_cipher_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_abort( psa_cipher_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:855,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - arg0_operation
    - arg1_step
    - arg2_private_key
    - arg3_peer_key
    - arg4_peer_key_length
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 862
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 862
    functionName: mbedtls_test_wrap_psa_key_derivation_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_key_agreement( psa_key_derivation_operation_t
      *arg0_operation, psa_key_derivation_step_t arg1_step, mbedtls_svc_key_id_t arg2_private_key,
      const uint8_t *arg3_peer_key, size_t arg4_peer_key_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_mac_operation_t*
    constantsTouched: []
    func_position:
      end: 945
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 945
    functionName: mbedtls_test_wrap_psa_mac_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_abort( psa_mac_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arg0_key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 1194
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1194
    functionName: mbedtls_test_wrap_psa_purge_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_purge_key( mbedtls_svc_key_id_t
      arg0_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:588,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - arg0_key
    - arg1_data
    - arg2_data_size
    - arg3_data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 595
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 595
    functionName: mbedtls_test_wrap_psa_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_export_public_key( mbedtls_svc_key_id_t
      arg0_key, uint8_t *arg1_data, size_t arg2_data_size, size_t *arg3_data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - arg0_inputs
    - arg1_user_id
    - arg2_user_id_size
    - arg3_user_id_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: mbedtls_test_wrap_psa_crypto_driver_pake_get_user
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_driver_pake_get_user( const
      psa_crypto_driver_pake_inputs_t *arg0_inputs, uint8_t *arg1_user_id, size_t
      arg2_user_id_size, size_t *arg3_user_id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_pake_operation_t*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1066
    functionName: mbedtls_test_wrap_psa_pake_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_abort( psa_pake_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1089,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_step
    - arg2_input
    - arg3_input_length
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1096
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1096
    functionName: mbedtls_test_wrap_psa_pake_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_input( psa_pake_operation_t
      *arg0_operation, psa_pake_step_t arg1_step, const uint8_t *arg2_input, size_t
      arg3_input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_password
    argTypes:
    - psa_pake_operation_t*
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 1127
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1127
    functionName: mbedtls_test_wrap_psa_pake_set_password_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_set_password_key( psa_pake_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_password) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - arg0_inputs
    - arg1_buffer
    - arg2_buffer_size
    - arg3_buffer_length
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: mbedtls_test_wrap_psa_crypto_driver_pake_get_password
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_driver_pake_get_password(
      const psa_crypto_driver_pake_inputs_t *arg0_inputs, uint8_t *arg1_buffer, size_t
      arg2_buffer_size, size_t *arg3_buffer_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_role
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_role_t
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: mbedtls_test_wrap_psa_pake_set_role
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_set_role( psa_pake_operation_t
      *arg0_operation, psa_pake_role_t arg1_role) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_cipher_suite
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1185
    functionName: mbedtls_test_wrap_psa_pake_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_setup( psa_pake_operation_t
      *arg0_operation, const psa_pake_cipher_suite_t *arg1_cipher_suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1374,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1379,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1375,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_signature
    - arg5_signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1383
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1383
    functionName: mbedtls_test_wrap_psa_verify_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_verify_message( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      const uint8_t *arg4_signature, size_t arg5_signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:958,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:959,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:964,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_mac
    - arg5_mac_size
    - arg6_mac_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 967
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 967
    functionName: mbedtls_test_wrap_psa_mac_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_compute( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      uint8_t *arg4_mac, size_t arg5_mac_size, size_t *arg6_mac_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:148,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:149,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:153,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 7
    argNames:
    - arg0_operation
    - arg1_ciphertext
    - arg2_ciphertext_size
    - arg3_ciphertext_length
    - arg4_tag
    - arg5_tag_size
    - arg6_tag_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: mbedtls_test_wrap_psa_aead_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_finish( psa_aead_operation_t
      *arg0_operation, uint8_t *arg1_ciphertext, size_t arg2_ciphertext_size, size_t
      *arg3_ciphertext_length, uint8_t *arg4_tag, size_t arg5_tag_size, size_t *arg6_tag_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:750,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_input
    - arg2_input_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 757
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 757
    functionName: mbedtls_test_wrap_psa_hash_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_update( psa_hash_operation_t
      *arg0_operation, const uint8_t *arg1_input, size_t arg2_input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:817,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_step
    - arg2_data
    - arg3_data_length
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 824
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 824
    functionName: mbedtls_test_wrap_psa_key_derivation_input_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_input_bytes( psa_key_derivation_operation_t
      *arg0_operation, psa_key_derivation_step_t arg1_step, const uint8_t *arg2_data,
      size_t arg3_data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1315,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1321,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1320,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_hash
    - arg3_hash_length
    - arg4_signature
    - arg5_signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1324
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1324
    functionName: mbedtls_test_wrap_psa_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_verify_hash( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_hash, size_t arg3_hash_length,
      const uint8_t *arg4_signature, size_t arg5_signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_alg
    argTypes:
    - psa_hash_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: mbedtls_test_wrap_psa_hash_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_setup( psa_hash_operation_t
      *arg0_operation, psa_algorithm_t arg1_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: mbedtls_test_wrap_psa_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_abort( psa_hash_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1256,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_signature
    - arg2_signature_size
    - arg3_signature_length
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1263
    functionName: mbedtls_test_wrap_psa_sign_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_sign_hash_complete( psa_sign_hash_interruptible_operation_t
      *arg0_operation, uint8_t *arg1_signature, size_t arg2_signature_size, size_t
      *arg3_signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1294,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1295,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1299,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_signature
    - arg5_signature_size
    - arg6_signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1303
    functionName: mbedtls_test_wrap_psa_sign_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_sign_message( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      uint8_t *arg4_signature, size_t arg5_signature_size, size_t *arg6_signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:167,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_nonce
    - arg2_nonce_size
    - arg3_nonce_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: mbedtls_test_wrap_psa_aead_generate_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_generate_nonce( psa_aead_operation_t
      *arg0_operation, uint8_t *arg1_nonce, size_t arg2_nonce_size, size_t *arg3_nonce_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - arg0_key
    - arg1_attributes
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: mbedtls_test_wrap_psa_get_key_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_get_key_attributes( mbedtls_svc_key_id_t
      arg0_key, psa_key_attributes_t *arg1_attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_step
    - arg2_value
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 834
    functionName: mbedtls_test_wrap_psa_key_derivation_input_integer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_input_integer( psa_key_derivation_operation_t
      *arg0_operation, psa_key_derivation_step_t arg1_step, uint64_t arg2_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1246
    functionName: mbedtls_test_wrap_psa_sign_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_sign_hash_abort( psa_sign_hash_interruptible_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1274,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    - arg3_hash
    - arg4_hash_length
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1281
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1281
    functionName: mbedtls_test_wrap_psa_sign_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_sign_hash_start( psa_sign_hash_interruptible_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg, const
      uint8_t *arg3_hash, size_t arg4_hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1332
    functionName: mbedtls_test_wrap_psa_verify_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_verify_hash_abort( psa_verify_hash_interruptible_operation_t
      *arg0_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:249,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:255,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:250,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - arg0_operation
    - arg1_plaintext
    - arg2_plaintext_size
    - arg3_plaintext_length
    - arg4_tag
    - arg5_tag_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: mbedtls_test_wrap_psa_aead_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_verify( psa_aead_operation_t
      *arg0_operation, uint8_t *arg1_plaintext, size_t arg2_plaintext_size, size_t
      *arg3_plaintext_length, const uint8_t *arg4_tag, size_t arg5_tag_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1109,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - arg0_operation
    - arg1_step
    - arg2_output
    - arg3_output_size
    - arg4_output_length
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_step_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1116
    functionName: mbedtls_test_wrap_psa_pake_output
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_output( psa_pake_operation_t
      *arg0_operation, psa_pake_step_t arg1_step, uint8_t *arg2_output, size_t arg3_output_size,
      size_t *arg4_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg0_attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: mbedtls_test_wrap_mbedtls_psa_register_se_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_mbedtls_psa_register_se_key( const
      psa_key_attributes_t *arg0_attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_inputs
    - arg1_cipher_suite
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: mbedtls_test_wrap_psa_crypto_driver_pake_get_cipher_suite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_driver_pake_get_cipher_suite(
      const psa_crypto_driver_pake_inputs_t *arg0_inputs, psa_pake_cipher_suite_t
      *arg1_cipher_suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_inputs
    - arg1_peer_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: mbedtls_test_wrap_psa_crypto_driver_pake_get_peer_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_driver_pake_get_peer_len(
      const psa_crypto_driver_pake_inputs_t *arg0_inputs, size_t *arg1_peer_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1138,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_peer_id
    - arg2_peer_id_len
    argTypes:
    - psa_pake_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1145
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1145
    functionName: mbedtls_test_wrap_psa_pake_set_peer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_set_peer( psa_pake_operation_t
      *arg0_operation, const uint8_t *arg1_peer_id, size_t arg2_peer_id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1167,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_user_id
    - arg2_user_id_len
    argTypes:
    - psa_pake_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1174
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1174
    functionName: mbedtls_test_wrap_psa_pake_set_user
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_pake_set_user( psa_pake_operation_t
      *arg0_operation, const uint8_t *arg1_user_id, size_t arg2_user_id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    argTypes:
    - psa_aead_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: mbedtls_test_wrap_psa_aead_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_decrypt_setup( psa_aead_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    argTypes:
    - psa_mac_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: mbedtls_test_wrap_psa_mac_verify_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_verify_setup( psa_mac_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:72,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:74,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:75,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:73,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:79,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:80,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:81,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 11
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_nonce
    - arg3_nonce_length
    - arg4_additional_data
    - arg5_additional_data_length
    - arg6_ciphertext
    - arg7_ciphertext_length
    - arg8_plaintext
    - arg9_plaintext_size
    - arg10_plaintext_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 85
    functionName: mbedtls_test_wrap_psa_aead_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_decrypt( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_nonce, size_t arg3_nonce_length,
      const uint8_t *arg4_additional_data, size_t arg5_additional_data_length, const
      uint8_t *arg6_ciphertext, size_t arg7_ciphertext_length, uint8_t *arg8_plaintext,
      size_t arg9_plaintext_size, size_t *arg10_plaintext_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:273,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:274,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:275,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:279,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:280,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 9
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_salt
    - arg5_salt_length
    - arg6_output
    - arg7_output_size
    - arg8_output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 284
    functionName: mbedtls_test_wrap_psa_asymmetric_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_asymmetric_decrypt( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      const uint8_t *arg4_salt, size_t arg5_salt_length, uint8_t *arg6_output, size_t
      arg7_output_size, size_t *arg8_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1040,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_mac
    - arg2_mac_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1047
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1047
    functionName: mbedtls_test_wrap_psa_mac_verify_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_verify_finish( psa_mac_operation_t
      *arg0_operation, const uint8_t *arg1_mac, size_t arg2_mac_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    argTypes:
    - psa_aead_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: mbedtls_test_wrap_psa_aead_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_encrypt_setup( psa_aead_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: mbedtls_test_wrap_psa_crypto_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:685,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:691,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:686,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - arg0_alg
    - arg1_input
    - arg2_input_length
    - arg3_hash
    - arg4_hash_length
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 694
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 694
    functionName: mbedtls_test_wrap_psa_hash_compare
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_compare( psa_algorithm_t arg0_alg,
      const uint8_t *arg1_input, size_t arg2_input_length, const uint8_t *arg3_hash,
      size_t arg4_hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:900,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 6
    argNames:
    - arg0_attributes
    - arg1_operation
    - arg2_custom
    - arg3_custom_data
    - arg4_custom_data_length
    - arg5_key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_derivation_operation_t*
    - psa_custom_key_parameters_t*
    - uint8_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 907
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 907
    functionName: mbedtls_test_wrap_psa_key_derivation_output_key_custom
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_output_key_custom(
      const psa_key_attributes_t *arg0_attributes, psa_key_derivation_operation_t
      *arg1_operation, const psa_custom_key_parameters_t *arg2_custom, const uint8_t
      *arg3_custom_data, size_t arg4_custom_data_length, mbedtls_svc_key_id_t *arg5_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:725,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_hash
    - arg2_hash_size
    - arg3_hash_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 732
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 732
    functionName: mbedtls_test_wrap_psa_hash_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_finish( psa_hash_operation_t
      *arg0_operation, uint8_t *arg1_hash, size_t arg2_hash_size, size_t *arg3_hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:112,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:115,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:113,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:114,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:119,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:120,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:121,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 11
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_nonce
    - arg3_nonce_length
    - arg4_additional_data
    - arg5_additional_data_length
    - arg6_plaintext
    - arg7_plaintext_length
    - arg8_ciphertext
    - arg9_ciphertext_size
    - arg10_ciphertext_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 125
    functionName: mbedtls_test_wrap_psa_aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_aead_encrypt( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_nonce, size_t arg3_nonce_length,
      const uint8_t *arg4_additional_data, size_t arg5_additional_data_length, const
      uint8_t *arg6_plaintext, size_t arg7_plaintext_length, uint8_t *arg8_ciphertext,
      size_t arg9_ciphertext_size, size_t *arg10_ciphertext_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg0_source_operation
    - arg1_target_operation
    argTypes:
    - psa_hash_operation_t*
    - psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: mbedtls_test_wrap_psa_hash_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_clone( const psa_hash_operation_t
      *arg0_source_operation, psa_hash_operation_t *arg1_target_operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:706,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:711,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:707,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - arg0_alg
    - arg1_input
    - arg2_input_length
    - arg3_hash
    - arg4_hash_size
    - arg5_hash_length
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 715
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 715
    functionName: mbedtls_test_wrap_psa_hash_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_hash_compute( psa_algorithm_t arg0_alg,
      const uint8_t *arg1_input, size_t arg2_input_length, uint8_t *arg3_hash, size_t
      arg4_hash_size, size_t *arg5_hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - arg0_operation
    - arg1_alg
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 937
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 937
    functionName: mbedtls_test_wrap_psa_key_derivation_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_setup( psa_key_derivation_operation_t
      *arg0_operation, psa_algorithm_t arg1_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1353,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1354,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1358,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    - arg3_hash
    - arg4_hash_length
    - arg5_signature
    - arg6_signature_length
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1362
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1362
    functionName: mbedtls_test_wrap_psa_verify_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_verify_hash_start( psa_verify_hash_interruptible_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg, const
      uint8_t *arg3_hash, size_t arg4_hash_length, const uint8_t *arg5_signature,
      size_t arg6_signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - arg0_attributes
    - arg1_params
    - arg2_params_data_length
    - arg3_key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_production_parameters_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: mbedtls_test_wrap_psa_generate_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_generate_key_ext( const psa_key_attributes_t
      *arg0_attributes, const psa_key_production_parameters_t *arg1_params, size_t
      arg2_params_data_length, mbedtls_svc_key_id_t *arg3_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1229,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1234,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1235,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_hash
    - arg3_hash_length
    - arg4_signature
    - arg5_signature_size
    - arg6_signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1238
    functionName: mbedtls_test_wrap_psa_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_sign_hash( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_hash, size_t arg3_hash_length,
      uint8_t *arg4_signature, size_t arg5_signature_size, size_t *arg6_signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - arg0_attributes
    - arg1_operation
    - arg2_params
    - arg3_params_data_length
    - arg4_key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_derivation_operation_t*
    - psa_key_production_parameters_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 919
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 919
    functionName: mbedtls_test_wrap_psa_key_derivation_output_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_key_derivation_output_key_ext(
      const psa_key_attributes_t *arg0_attributes, psa_key_derivation_operation_t
      *arg1_operation, const psa_key_production_parameters_t *arg2_params, size_t
      arg3_params_data_length, mbedtls_svc_key_id_t *arg4_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arg0_key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: mbedtls_test_wrap_psa_destroy_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_destroy_key( mbedtls_svc_key_id_t
      arg0_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1207,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1213,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1208,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - arg0_alg
    - arg1_private_key
    - arg2_peer_key
    - arg3_peer_key_length
    - arg4_output
    - arg5_output_size
    - arg6_output_length
    argTypes:
    - psa_algorithm_t
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1216
    functionName: mbedtls_test_wrap_psa_raw_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_raw_key_agreement( psa_algorithm_t
      arg0_alg, mbedtls_svc_key_id_t arg1_private_key, const uint8_t *arg2_peer_key,
      size_t arg3_peer_key_length, uint8_t *arg4_output, size_t arg5_output_size,
      size_t *arg6_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:641,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arg0_output
    - arg1_output_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 648
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 648
    functionName: mbedtls_test_wrap_psa_generate_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_generate_random( uint8_t *arg0_output,
      size_t arg1_output_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - arg0_seed
    - arg1_seed_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: mbedtls_test_wrap_mbedtls_psa_inject_entropy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_mbedtls_psa_inject_entropy( const uint8_t
      *arg0_seed, size_t arg1_seed_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - arg0_inputs
    - arg1_peer_id
    - arg2_peer_id_size
    - arg3_peer_id_length
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: mbedtls_test_wrap_psa_crypto_driver_pake_get_peer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_crypto_driver_pake_get_peer( const
      psa_crypto_driver_pake_inputs_t *arg0_inputs, uint8_t *arg1_peer_id, size_t
      arg2_peer_id_size, size_t *arg3_peer_id_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    argTypes:
    - psa_cipher_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: mbedtls_test_wrap_psa_cipher_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_encrypt_setup( psa_cipher_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_key
    - arg2_alg
    argTypes:
    - psa_mac_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 994
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 994
    functionName: mbedtls_test_wrap_psa_mac_sign_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_sign_setup( psa_mac_operation_t
      *arg0_operation, mbedtls_svc_key_id_t arg1_key, psa_algorithm_t arg2_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1022,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1027,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1023,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_mac
    - arg5_mac_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1031
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1031
    functionName: mbedtls_test_wrap_psa_mac_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_verify( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      const uint8_t *arg4_mac, size_t arg5_mac_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:363,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:369,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:364,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - arg0_key
    - arg1_alg
    - arg2_input
    - arg3_input_length
    - arg4_output
    - arg5_output_size
    - arg6_output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: mbedtls_test_wrap_psa_cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_cipher_encrypt( mbedtls_svc_key_id_t
      arg0_key, psa_algorithm_t arg1_alg, const uint8_t *arg2_input, size_t arg3_input_length,
      uint8_t *arg4_output, size_t arg5_output_size, size_t *arg6_output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:977,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - arg0_operation
    - arg1_mac
    - arg2_mac_size
    - arg3_mac_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 984
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 984
    functionName: mbedtls_test_wrap_psa_mac_sign_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_sign_finish( psa_mac_operation_t
      *arg0_operation, uint8_t *arg1_mac, size_t arg2_mac_size, size_t *arg3_mac_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1003,1
    - Dst: MBEDTLS_TEST_MEMORY_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg0_operation
    - arg1_input
    - arg2_input_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1010
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1010
    functionName: mbedtls_test_wrap_psa_mac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_test_wrappers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_MEMORY_POISON
    - MBEDTLS_TEST_MEMORY_UNPOISON
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_wrap_psa_mac_update( psa_mac_operation_t
      *arg0_operation, const uint8_t *arg1_input, size_t arg2_input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:182,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:188,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: mbedtls_test_get_line1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_get_line1(char *line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_set_result_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - test
    - line_no
    - filename
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: mbedtls_test_fail_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_set_result_internal
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_fail_internal(const char *test, int line_no,
      const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:407,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:413,1
    - Dst: mbedtls_test_set_result_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - test
    - line_no
    - filename
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: mbedtls_test_skip
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_set_result_internal
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_skip(const char *test, int line_no, const char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:198,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: mbedtls_test_set_line1_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_set_line1_internal(const char *line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:394,1
    - Dst: mbedtls_test_fail_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:397,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - test
    - line_no
    - filename
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: mbedtls_test_fail
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_fail_internal
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_fail(const char *test, int line_no, const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:420,1
    - Dst: mbedtls_test_reset_step_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:424,1
    - Dst: mbedtls_test_set_line1_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:425,1
    - Dst: mbedtls_test_set_line2_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:426,1
    - Dst: mbedtls_test_set_result_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:423,1
    - Dst: mbedtls_test_set_case_uses_negative_0_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:429,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 435
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 435
    functionName: mbedtls_test_info_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_set_result_internal
    - mbedtls_test_reset_step_internal
    - mbedtls_mutex_lock
    - mbedtls_test_set_case_uses_negative_0_internal
    - mbedtls_test_set_line1_internal
    - mbedtls_test_set_line2_internal
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_info_reset(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: mbedtls_test_reset_step_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_reset_step_internal(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:207,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:210,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: mbedtls_test_get_line2
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_get_line2(char *line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:270,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: mbedtls_test_get_case_uses_negative_0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: unsigned
    signature: 'unsigned mbedtls_test_get_case_uses_negative_0(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:169,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - step
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: mbedtls_test_set_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_set_step(unsigned long step) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:223,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: mbedtls_test_set_line2_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_set_line2_internal(const char *line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - uses
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: mbedtls_test_set_case_uses_negative_0_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_set_case_uses_negative_0_internal(unsigned
      uses) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:292,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: mbedtls_test_increment_case_uses_negative_0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_increment_case_uses_negative_0(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:236,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: mbedtls_test_get_mutex_usage_error
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_test_get_mutex_usage_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: mbedtls_test_get_info_mutex
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_threading_mutex_t*
    signature: 'mbedtls_threading_mutex_t *mbedtls_test_get_info_mutex(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CF_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:440,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:448,1
    - Dst: mbedtls_test_fail_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:457,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:458,1
    - Dst: TEST_CF_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:441,1
    - Dst: mbedtls_test_set_line1_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:461,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:462,1
    - Dst: mbedtls_test_set_line2_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:465,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - test
    - line_no
    - filename
    - value1
    - value2
    argTypes:
    - char*
    - int
    - char*
    - unsigned long long
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 473
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 473
    functionName: mbedtls_test_equal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_test_set_line1_internal
    - mbedtls_snprintf
    - mbedtls_test_fail_internal
    - mbedtls_test_set_line2_internal
    - TEST_CF_PUBLIC
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_equal(const char *test, int line_no, const char *filename,
      unsigned long long value1, unsigned long long value2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - obuf
    - ibuf
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 610
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 610
    functionName: mbedtls_test_hexify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_hexify(unsigned char *obuf, const unsigned char
      *ibuf, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:251,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: mbedtls_test_set_mutex_usage_error
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_set_mutex_usage_error(const char *msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CF_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:478,1
    - Dst: TEST_CF_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:479,1
    - Dst: mbedtls_test_fail_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:495,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:496,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:486,1
    - Dst: mbedtls_test_set_line1_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:499,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:500,1
    - Dst: mbedtls_test_set_line2_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:503,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - test
    - line_no
    - filename
    - value1
    - value2
    argTypes:
    - char*
    - int
    - char*
    - unsigned long long
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 511
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 511
    functionName: mbedtls_test_le_u
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_test_set_line1_internal
    - mbedtls_snprintf
    - mbedtls_test_fail_internal
    - mbedtls_test_set_line2_internal
    - TEST_CF_PUBLIC
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_le_u(const char *test, int line_no, const char *filename,
      unsigned long long value1, unsigned long long value2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:617,1
    - Dst: TEST_HELPER_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:618,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 623
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 623
    functionName: mbedtls_test_zero_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - TEST_HELPER_ASSERT
    - memset
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *mbedtls_test_zero_alloc(size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:52,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: mbedtls_test_get_result
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: mbedtls_test_result_t
    signature: 'mbedtls_test_result_t mbedtls_test_get_result(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:97,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: mbedtls_get_test_filename
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_get_test_filename(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - result
    - test
    - line_no
    - filename
    argTypes:
    - mbedtls_test_result_t
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: mbedtls_test_set_result_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_set_result_internal(mbedtls_test_result_t
      result, const char *test, int line_no, const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:131,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: mbedtls_test_increment_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_increment_step(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_poison_test_hooks_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:322,1
    - Dst: mbedtls_test_inject_entropy_restore
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:330,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:341,1
    - Dst: mbedtls_platform_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 345
    functionName: mbedtls_test_platform_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_init
    - mbedtls_platform_setup
    - mbedtls_test_inject_entropy_restore
    - mbedtls_poison_test_hooks_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_platform_setup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_poison_test_hooks_teardown
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:352,1
    - Dst: mbedtls_platform_teardown
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:359,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: mbedtls_test_platform_teardown
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_free
    - mbedtls_platform_teardown
    - mbedtls_poison_test_hooks_teardown
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_platform_teardown(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CF_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:516,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:534,1
    - Dst: mbedtls_test_fail_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:533,1
    - Dst: TEST_CF_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:517,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:524,1
    - Dst: mbedtls_test_set_line1_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:537,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:538,1
    - Dst: mbedtls_test_set_line2_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:541,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - test
    - line_no
    - filename
    - value1
    - value2
    argTypes:
    - char*
    - int
    - char*
    - long long
    - long long
    constantsTouched: []
    func_position:
      end: 549
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 549
    functionName: mbedtls_test_le_s
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_test_set_line1_internal
    - mbedtls_snprintf
    - mbedtls_test_fail_internal
    - mbedtls_test_set_line2_internal
    - TEST_CF_PUBLIC
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_le_s(const char *test, int line_no, const char *filename,
      long long value1, long long value2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:630,1
    - Dst: mbedtls_test_zero_alloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:633,1
    - Dst: TEST_HELPER_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:638,1
    - Dst: TEST_HELPER_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:637,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:636,1
    - Dst: mbedtls_test_unhexify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ibuf
    - olen
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 641
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 641
    functionName: mbedtls_test_unhexify_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - TEST_HELPER_ASSERT
    - mbedtls_test_zero_alloc
    - mbedtls_test_unhexify
    - strlen
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *mbedtls_test_unhexify_alloc(const char *ibuf, size_t
      *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:116,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: mbedtls_test_get_line_no
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_get_line_no(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:81,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: mbedtls_test_get_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_test_get_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:146,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: mbedtls_test_get_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long mbedtls_test_get_step(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - c
    - uc
    argTypes:
    - char
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: mbedtls_test_ascii2uc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ascii2uc(const char c, unsigned char *uc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:558,1
    - Dst: mbedtls_test_ascii2uc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:571,1
    - Dst: mbedtls_test_ascii2uc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:575,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - obuf
    - obufmax
    - ibuf
    - len
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 583
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 583
    functionName: mbedtls_test_unhexify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ascii2uc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_unhexify(unsigned char *obuf, size_t obufmax, const
      char *ibuf, size_t *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - a
    - b
    - a_len
    - b_len
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 660
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 660
    functionName: mbedtls_test_hexcmp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_hexcmp(uint8_t *a, uint8_t *b, uint32_t a_len, uint32_t
      b_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:682,1
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:694,1
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:688,1
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:703,1
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c:700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - high
    - low
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 706
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 706
    functionName: mbedtls_test_err_add_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_fail
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_err_add_check(int high, int low, const char *file,
      int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_ptr
    - p_size
    argTypes:
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: align_for_asan
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_memory.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void align_for_asan(const unsigned char **p_ptr, size_t *p_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: align_for_asan
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_memory.c:47,1
    - Dst: __asan_poison_memory_region
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_memory.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: mbedtls_test_memory_poison
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_memory.c
    functionUses: []
    functionsReached:
    - align_for_asan
    - __asan_poison_memory_region
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_memory_poison(const unsigned char *ptr, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: align_for_asan
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_memory.c:56,1
    - Dst: __asan_unpoison_memory_region
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_memory.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: mbedtls_test_memory_unpoison
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_memory.c
    functionUses: []
    functionsReached:
    - align_for_asan
    - __asan_unpoison_memory_region
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_memory_unpoison(const unsigned char *ptr, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: mbedtls_test_enable_insecure_external_rng
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/fake_external_rng_for_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_enable_insecure_external_rng(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_rnd_std_rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/fake_external_rng_for_test.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - context
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_psa_external_random_context_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: mbedtls_psa_external_get_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/fake_external_rng_for_test.c
    functionUses: []
    functionsReached:
    - mbedtls_test_rnd_std_rand
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_external_get_random( mbedtls_psa_external_random_context_t
      *context, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: mbedtls_test_disable_insecure_external_rng
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/fake_external_rng_for_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_disable_insecure_external_rng(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:33,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:43,1
    - Dst: mbedtls_svc_key_id_equal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: mbedtls_test_uses_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - mbedtls_svc_key_id_equal
    - ARRAY_LENGTH
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_uses_key_id(mbedtls_svc_key_id_t key_id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_get_stats
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: mbedtls_test_helper_is_psa_leaking
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_get_stats
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_test_helper_is_psa_leaking(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - usage_flags
    argTypes:
    - psa_key_usage_t
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: mbedtls_test_update_key_usage_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: 'psa_key_usage_t mbedtls_test_update_key_usage_flags(psa_key_usage_t
      usage_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_helper_is_psa_leaking
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:139,1
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - line_no
    - filename
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: mbedtls_test_fail_if_psa_leaking
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_fail
    - mbedtls_test_helper_is_psa_leaking
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_fail_if_psa_leaking(int line_no, const char *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_get
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: mbedtls_test_inject_entropy_seed_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - psa_its_get
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_inject_entropy_seed_read(unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_purge_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: mbedtls_test_psa_purge_key_cache
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - psa_purge_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_psa_purge_key_cache(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:115,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - status
    - func
    - file
    - line
    - expr
    argTypes:
    - psa_status_t
    - char*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: mbedtls_test_record_status
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - fprintf
    - fopen
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_record_status(psa_status_t status, const
      char *func, const char *file, int line, const char *expr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_persistent_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: mbedtls_test_psa_purge_key_storage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - psa_destroy_persistent_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_psa_purge_key_storage(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LE_U
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bin_string
    argTypes:
    - data_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: mbedtls_test_parse_binary_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - TEST_LE_U
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t mbedtls_test_parse_binary_string(data_t *bin_string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: mbedtls_test_inject_entropy_seed_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - psa_its_set
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_inject_entropy_seed_write(unsigned char *buf, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_inject_entropy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: mbedtls_test_inject_entropy_restore
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_crypto_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_inject_entropy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_inject_entropy_restore(void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:343,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:344,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:367,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:357,1
    - Dst: TEST_FAIL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:351,1
    - Dst: psa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:371,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:379,1
    - Dst: psa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:387,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:394,1
    - Dst: can_sign_or_verify_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:398,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:413,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:428,1
    - Dst: psa_sign_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:405,1
    - Dst: psa_verify_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:421,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 436
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 436
    functionName: exercise_signature_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - can_sign_or_verify_message
    - PSA_HASH_LENGTH
    - psa_verify_hash
    - TEST_FAIL
    - psa_sign_message
    - PSA_ASSERT
    - PSA_ALG_IS_SIGN_HASH
    - psa_sign_hash
    - TEST_ASSERT
    - PSA_ALG_SIGN_GET_HASH
    - psa_verify_message
    linkageType: ''
    returnType: int
    signature: 'static int exercise_signature_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:71,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:70,1
    - Dst: lifetime_is_dynamic_secure_element
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:79,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:83,1
    - Dst: psa_get_key_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:78,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:94,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:100,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:114,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:58,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:65,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:66,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:69,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:92,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:93,1
    - Dst: PSA_KEY_TYPE_IS_UNSTRUCTURED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:95,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:96,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:103,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:49,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:52,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:56,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:63,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:86,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:84,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:101,1
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:105,1
    - Dst: psa_get_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:57,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:55,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:59,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:62,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 2
    argNames:
    - key
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 117
    functionName: check_key_attributes_sanity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - PSA_KEY_TYPE_IS_UNSTRUCTURED
    - TEST_EQUAL
    - psa_get_key_bits
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - PSA_KEY_TYPE_IS_ECC
    - PSA_ASSERT
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - lifetime_is_dynamic_secure_element
    - psa_get_key_attributes
    - PSA_KEY_TYPE_IS_RSA
    - psa_reset_key_attributes
    - psa_get_key_id
    - psa_get_key_type
    - psa_get_key_slot_number
    - TEST_ASSERT
    - psa_get_key_lifetime
    linkageType: ''
    returnType: int
    signature: 'static int check_key_attributes_sanity(mbedtls_svc_key_id_t key, int
      key_destroyable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:451,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:473,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:460,1
    - Dst: psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:464,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 483
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 483
    functionName: exercise_asymmetric_encryption_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - psa_asymmetric_encrypt
    - TEST_ASSERT
    - psa_asymmetric_decrypt
    - PSA_ASSERT
    linkageType: ''
    returnType: int
    signature: 'static int exercise_asymmetric_encryption_key(mbedtls_svc_key_id_t
      key, psa_key_usage_t usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:696,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:704,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:705,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:699,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:702,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:706,1
    - Dst: PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:707,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:708,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:709,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:717,1
    - Dst: PSA_RAW_KEY_AGREEMENT_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:729,1
    - Dst: psa_raw_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:719,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:728,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:731,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:740,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:742,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - alg
    - key
    - key_destroyable
    argTypes:
    - psa_algorithm_t
    - mbedtls_svc_key_id_t
    - int
    constantsTouched: []
    func_position:
      end: 744
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 744
    functionName: mbedtls_test_psa_raw_key_agreement_with_self
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_RAW_KEY_AGREEMENT_OUTPUT_SIZE
    - TEST_CALLOC
    - PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
    - mbedtls_free
    - psa_get_key_bits
    - PSA_ASSERT
    - psa_get_key_attributes
    - psa_export_public_key
    - psa_reset_key_attributes
    - psa_raw_key_agreement
    - psa_get_key_type
    - TEST_ASSERT
    - PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_psa_raw_key_agreement_with_self( psa_algorithm_t
      alg, mbedtls_svc_key_id_t key, int key_destroyable) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:849,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:869,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:876,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:883,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:890,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:896,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:887,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:910,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:912,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:929,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:947,1
    - Dst: TEST_FAIL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:978,1
    - Dst: PSA_KEY_TYPE_IS_UNSTRUCTURED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:848,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:849,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:869,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:872,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:873,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:899,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:893,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:879,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:924,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:935,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:959,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:972,1
    - Dst: PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:973,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:974,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:967,1
    - Dst: PSA_EXPORT_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:846,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:904,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:908,1
    - Dst: PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:939,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:940,1
    - Dst: PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:945,1
    - Dst: PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:948,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:952,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:956,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:959,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:967,1
    - Dst: PSA_KEY_TYPE_IS_DH_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:971,1
    - Dst: PSA_KEY_TYPE_IS_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:971,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:993,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:968,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:846,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:902,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:910,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:924,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:928,1
    - Dst: mbedtls_test_asn1_skip_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:932,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:938,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:955,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:955,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:949,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 137
    argCount: 4
    argNames:
    - type
    - bits
    - exported
    - exported_length
    argTypes:
    - psa_key_type_t
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1002
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 1002
    functionName: mbedtls_test_psa_exported_key_sanity_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_IS_UNSTRUCTURED
    - mbedtls_asn1_get_tag
    - TEST_EQUAL
    - PSA_BITS_TO_BYTES
    - PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
    - TEST_FAIL
    - TEST_ASSERT
    - PSA_KEY_TYPE_IS_ECC_KEY_PAIR
    - PSA_KEY_TYPE_IS_DH_PUBLIC_KEY
    - mbedtls_test_asn1_skip_integer
    - PSA_EXPORT_KEY_OUTPUT_SIZE
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY
    - PSA_KEY_TYPE_IS_DH_KEY_PAIR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_psa_exported_key_sanity_check( psa_key_type_t type,
      size_t bits, const uint8_t *exported, size_t exported_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1014,1
    - Dst: PSA_EXPORT_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1022,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1023,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1017,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1020,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1024,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1025,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1027,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1033,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1033,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1040,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1038,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1050,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1040,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1034,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1048,1
    - Dst: mbedtls_test_psa_exported_key_sanity_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1039,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - key
    - usage
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - int
    constantsTouched: []
    func_position:
      end: 1052
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1052
    functionName: exercise_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - TEST_EQUAL
    - TEST_CALLOC
    - mbedtls_free
    - psa_get_key_bits
    - PSA_ASSERT
    - psa_export_key
    - psa_get_key_attributes
    - mbedtls_test_psa_exported_key_sanity_check
    - psa_reset_key_attributes
    - psa_get_key_type
    - PSA_EXPORT_KEY_OUTPUT_SIZE
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: int
    signature: 'static int exercise_export_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, int key_destroyable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:639,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:642,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:645,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:647,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:648,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:649,1
    - Dst: PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:650,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:651,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:652,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:659,1
    - Dst: psa_key_derivation_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:661,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:674,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:676,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - operation
    - key
    - key_destroyable
    argTypes:
    - psa_key_derivation_operation_t*
    - mbedtls_svc_key_id_t
    - int
    constantsTouched: []
    func_position:
      end: 678
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 678
    functionName: mbedtls_test_psa_key_agreement_with_self
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - TEST_CALLOC
    - PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
    - mbedtls_free
    - psa_get_key_bits
    - PSA_ASSERT
    - psa_get_key_attributes
    - psa_export_public_key
    - psa_reset_key_attributes
    - psa_key_derivation_key_agreement
    - psa_get_key_type
    - PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_psa_key_agreement_with_self( psa_key_derivation_operation_t
      *operation, mbedtls_svc_key_id_t key, int key_destroyable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_MAC_TRUNCATED_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:131,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:144,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:157,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:170,1
    - Dst: psa_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:154,1
    - Dst: PSA_ALG_TRUNCATED_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:131,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:138,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:142,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:142,1
    - Dst: psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:135,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:141,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:144,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:157,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:161,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:161,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:138,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:163,1
    - Dst: psa_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:163,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 172
    functionName: exercise_mac_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - psa_mac_sign_finish
    - TEST_EQUAL
    - PSA_ALG_TRUNCATED_MAC
    - psa_mac_update
    - psa_mac_sign_setup
    - psa_mac_abort
    - PSA_MAC_TRUNCATED_LENGTH
    - PSA_ASSERT
    - psa_mac_verify_finish
    - psa_mac_verify_setup
    linkageType: ''
    returnType: int
    signature: 'static int exercise_mac_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1165,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1167,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1168,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1166,1
    - Dst: PSA_ALG_IS_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1165,1
    - Dst: PSA_ALG_IS_SIGN_MESSAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1173,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1174,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1179,1
    - Dst: PSA_ALG_IS_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1182,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1182,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1184,1
    - Dst: PSA_ALG_IS_KEY_DERIVATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1187,1
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1188,1
    - Dst: PSA_ALG_IS_ASYMMETRIC_ENCRYPTION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - type
    - alg
    argTypes:
    - psa_key_type_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1194
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1194
    functionName: mbedtls_test_psa_usage_to_exercise
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_MAC
    - PSA_ALG_IS_SIGN_MESSAGE
    - PSA_ALG_IS_CIPHER
    - PSA_ALG_IS_KEY_DERIVATION
    - PSA_ALG_IS_AEAD
    - PSA_ALG_IS_SIGN
    - PSA_ALG_IS_ASYMMETRIC_ENCRYPTION
    - PSA_ALG_IS_SIGN_HASH
    - PSA_ALG_IS_KEY_AGREEMENT
    - PSA_ALG_SIGN_GET_HASH
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_key_usage_t
    signature: 'psa_key_usage_t mbedtls_test_psa_usage_to_exercise(psa_key_type_t
      type, psa_algorithm_t alg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:196,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:192,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:202,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:212,1
    - Dst: PSA_ALG_IS_STREAM_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:222,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:230,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:235,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:199,1
    - Dst: psa_cipher_generate_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:204,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:208,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:227,1
    - Dst: psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:224,1
    - Dst: psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:232,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:250,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:258,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:191,1
    - Dst: PSA_CIPHER_IV_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:193,1
    - Dst: psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:212,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:235,1
    - Dst: psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:239,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:191,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:199,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:204,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:227,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:208,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:232,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:247,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 260
    functionName: exercise_cipher_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - psa_cipher_encrypt_setup
    - psa_cipher_finish
    - PSA_ALG_IS_STREAM_CIPHER
    - PSA_ASSERT
    - PSA_CIPHER_IV_LENGTH
    - psa_cipher_abort
    - psa_cipher_update
    - psa_get_key_attributes
    - psa_cipher_decrypt_setup
    - psa_cipher_set_iv
    - psa_reset_key_attributes
    - psa_get_key_type
    - TEST_ASSERT
    - psa_cipher_generate_iv
    linkageType: ''
    returnType: int
    signature: 'static int exercise_cipher_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1208,1
    - Dst: PSA_ALG_IS_RSA_PSS_ANY_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1218,1
    - Dst: PSA_ALG_IS_RSA_PSS_STANDARD_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1213,1
    - Dst: PSA_ALG_IS_DETERMINISTIC_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1228,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1223,1
    - Dst: PSA_ALG_IS_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1239
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1239
    functionName: mbedtls_test_can_exercise_psa_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - PSA_ALG_IS_ECDH
    - PSA_ALG_IS_RSA_PSS_STANDARD_SALT
    - PSA_ALG_IS_DETERMINISTIC_ECDSA
    - PSA_ALG_IS_ECDSA
    - PSA_ALG_IS_RSA_PSS_ANY_SALT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_can_exercise_psa_algorithm(psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - lifetime
    argTypes:
    - psa_key_lifetime_t
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: lifetime_is_dynamic_secure_element
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: int
    signature: 'static int lifetime_is_dynamic_secure_element(psa_key_lifetime_t lifetime) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1250,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1253,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1255,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1279,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1264,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1280,1
    - Dst: mbedtls_ecp_write_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1292,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1301,1
    - Dst: TEST_FAIL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1314,1
    - Dst: TEST_MEMORY_COMPARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1322,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1249,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1253,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1254,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1280,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1264,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1290,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1291,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1303,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1319,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1329,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1249,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1251,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1265,1
    - Dst: mbedtls_rsa_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1268,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1301,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1302,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1303,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1304,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1305,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1319,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1255,1
    - Dst: mbedtls_pk_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1255,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1279,1
    - Dst: TEST_LE_U
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1268,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1290,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1290,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1292,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1305,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1328,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - psa_key
    - pk
    argTypes:
    - mbedtls_svc_key_id_t
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1331
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1331
    functionName: mbedtls_test_key_consistency_psa_pk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_bitlen
    - TEST_EQUAL
    - mbedtls_ecp_write_public_key
    - PSA_KEY_TYPE_IS_ECC
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    - psa_get_key_bits
    - psa_export_public_key
    - psa_reset_key_attributes
    - psa_get_key_type
    - mbedtls_pk_get_type
    - mbedtls_pk_ec_ro
    - PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
    - TEST_FAIL
    - TEST_ASSERT
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - TEST_MEMORY_COMPARE
    - TEST_LE_U
    - mbedtls_pk_rsa
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - mbedtls_rsa_write_pubkey
    - PSA_ASSERT
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_attributes
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_key_consistency_psa_pk(mbedtls_svc_key_id_t psa_key,
      const mbedtls_pk_context *pk) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:279,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:282,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:283,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:279,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:282,1
    - Dst: PSA_AEAD_NONCE_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:284,1
    - Dst: psa_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:287,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:297,1
    - Dst: psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:305,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:315,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 323
    functionName: exercise_aead_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_AEAD_NONCE_LENGTH
    - psa_aead_decrypt
    - psa_aead_encrypt
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    - PSA_ASSERT
    - TEST_ASSERT
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - psa_get_key_type
    - PSA_ALG_AEAD_GET_TAG_LENGTH
    linkageType: ''
    returnType: int
    signature: 'static int exercise_aead_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:493,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:496,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:507,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:511,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:512,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:522,1
    - Dst: psa_key_derivation_input_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:553,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:556,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:560,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:569,1
    - Dst: PSA_ALG_IS_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:495,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:507,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:524,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:537,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:541,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:548,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:556,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:569,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:577,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:499,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:506,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:523,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:532,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:515,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:538,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:549,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:553,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:567,1
    - Dst: psa_key_derivation_set_capacity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:577,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:496,1
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:493,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:531,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:532,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:512,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:536,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:538,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:549,1
    - Dst: PSA_ALG_IS_PBKDF2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:552,1
    - Dst: TEST_FAIL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:573,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 9
    argNames:
    - operation
    - key
    - alg
    - input1
    - input1_length
    - input2
    - input2_length
    - capacity
    - key_destroyable
    argTypes:
    - psa_key_derivation_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 584
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 584
    functionName: mbedtls_test_psa_setup_key_derivation_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - psa_key_derivation_input_integer
    - TEST_FAIL
    - psa_key_derivation_input_bytes
    - psa_key_derivation_input_key
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - PSA_ALG_IS_HKDF
    - PSA_ASSERT
    - psa_key_derivation_set_capacity
    - psa_key_derivation_setup
    - PSA_ALG_IS_HKDF_EXPAND
    - PSA_ALG_IS_HKDF_EXTRACT
    - PSA_ALG_IS_PBKDF2
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_psa_setup_key_derivation_wrap( psa_key_derivation_operation_t
      *operation, mbedtls_svc_key_id_t key, psa_algorithm_t alg, const unsigned char
      *input1, size_t input1_length, const unsigned char *input2, size_t input2_length,
      size_t capacity, int key_destroyable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:756,1
    - Dst: mbedtls_test_psa_raw_key_agreement_with_self
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 763
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 763
    functionName: exercise_raw_key_agreement_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - mbedtls_test_psa_raw_key_agreement_with_self
    - PSA_ASSERT
    linkageType: ''
    returnType: int
    signature: 'static int exercise_raw_key_agreement_key(mbedtls_svc_key_id_t key,
      psa_key_usage_t usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_EXPORT_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1072,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1090,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1095,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1112,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1071,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1073,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1075,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1114,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1064,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1067,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1077,1
    - Dst: mbedtls_test_psa_exported_key_sanity_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1103,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1084,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1092,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1089,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1104,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1070,1
    - Dst: PSA_KEY_TYPE_IS_ASYMMETRIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1071,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1074,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1102,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1093,1
    - Dst: PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1091,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - key
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - int
    constantsTouched: []
    func_position:
      end: 1116
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1116
    functionName: exercise_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - TEST_EQUAL
    - TEST_CALLOC
    - PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE
    - mbedtls_free
    - PSA_KEY_TYPE_IS_ASYMMETRIC
    - psa_get_key_bits
    - PSA_ASSERT
    - psa_get_key_attributes
    - psa_export_public_key
    - psa_reset_key_attributes
    - mbedtls_test_psa_exported_key_sanity_check
    - psa_get_key_type
    - PSA_EXPORT_KEY_OUTPUT_SIZE
    - PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
    linkageType: ''
    returnType: int
    signature: 'static int exercise_export_public_key(mbedtls_svc_key_id_t key, int
      key_destroyable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - usage
    - alg
    argTypes:
    - psa_key_usage_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: can_sign_or_verify_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int can_sign_or_verify_message(psa_key_usage_t usage, psa_algorithm_t
      alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_psa_setup_key_derivation_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:601,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:613,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:613,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:608,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:615,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:616,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 624
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 624
    functionName: exercise_key_derivation_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_abort
    - mbedtls_test_psa_setup_key_derivation_wrap
    - psa_key_derivation_output_bytes
    - PSA_ASSERT
    linkageType: ''
    returnType: int
    signature: 'static int exercise_key_derivation_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:783,1
    - Dst: PSA_ALG_HKDF_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:806,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:823,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:827,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:831,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:781,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:782,1
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:780,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:813,1
    - Dst: mbedtls_test_psa_key_agreement_with_self
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:813,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:805,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:804,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:823,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:827,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:831,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:789,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:797,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:821,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:822,1
    - Dst: PSA_ALG_IS_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:826,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:826,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:834,1
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_KDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:774,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:780,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:783,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:788,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:789,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:799,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:808,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:808,1
    - Dst: PSA_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:834,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 840
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 840
    functionName: exercise_key_agreement_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - PSA_ALG_KEY_AGREEMENT_GET_KDF
    - PSA_HASH_LENGTH
    - TEST_EQUAL
    - PSA_ALG_HKDF_GET_HASH
    - PSA_BITS_TO_BYTES
    - psa_key_derivation_input_bytes
    - psa_get_key_bits
    - psa_key_derivation_abort
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - PSA_ASSERT
    - PSA_ALG_IS_HKDF
    - psa_get_key_attributes
    - psa_key_derivation_output_bytes
    - psa_key_derivation_setup
    - mbedtls_test_psa_key_agreement_with_self
    - PSA_ALG_IS_HKDF_EXPAND
    - PSA_ALG_IS_HKDF_EXTRACT
    linkageType: ''
    returnType: int
    signature: 'static int exercise_key_agreement_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: exercise_mac_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1132,1
    - Dst: PSA_ALG_IS_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1133,1
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1131,1
    - Dst: exercise_cipher_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1134,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1135,1
    - Dst: exercise_aead_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1136,1
    - Dst: PSA_ALG_IS_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1137,1
    - Dst: exercise_signature_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1138,1
    - Dst: PSA_ALG_IS_ASYMMETRIC_ENCRYPTION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1139,1
    - Dst: PSA_ALG_IS_KEY_DERIVATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1142,1
    - Dst: PSA_ALG_IS_RAW_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1144,1
    - Dst: TEST_FAIL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1149,1
    - Dst: exercise_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1152,1
    - Dst: exercise_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1155,1
    - Dst: exercise_key_derivation_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1143,1
    - Dst: exercise_key_agreement_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1147,1
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1146,1
    - Dst: check_key_attributes_sanity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1125,1
    - Dst: exercise_raw_key_agreement_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1145,1
    - Dst: exercise_asymmetric_encryption_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c:1140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - key
    - usage
    - alg
    - key_destroyable
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_usage_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 1160
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1160
    functionName: mbedtls_test_psa_exercise_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/psa_exercise_key.c
    functionUses: []
    functionsReached:
    - exercise_mac_key
    - PSA_ALG_IS_SIGN
    - exercise_key_derivation_key
    - PSA_ALG_IS_MAC
    - PSA_ALG_IS_CIPHER
    - exercise_raw_key_agreement_key
    - exercise_cipher_key
    - exercise_asymmetric_encryption_key
    - exercise_signature_key
    - TEST_FAIL
    - PSA_ALG_IS_AEAD
    - PSA_ALG_IS_RAW_KEY_AGREEMENT
    - PSA_ALG_IS_KEY_AGREEMENT
    - PSA_ALG_IS_ASYMMETRIC_ENCRYPTION
    - exercise_key_agreement_key
    - PSA_ALG_IS_KEY_DERIVATION
    - exercise_aead_key
    - exercise_export_public_key
    - exercise_export_key
    - check_key_attributes_sanity
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_psa_exercise_key(mbedtls_svc_key_id_t key, psa_key_usage_t
      usage, psa_algorithm_t alg, int key_destroyable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:18,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - p_rng
    - output
    - output_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: mbedtls_test_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_random(void *p_rng, unsigned char *output, size_t
      output_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - args
    - cur
    - end
    - need
    argTypes:
    - mbedtls_ssl_chk_buf_ptr_args*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: set_chk_buf_ptr_args
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void set_chk_buf_ptr_args( mbedtls_ssl_chk_buf_ptr_args *args,
      unsigned char *cur, unsigned char *end, size_t need) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_buffer_put
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 398
    functionName: mbedtls_test_mock_tcp_send_b
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ssl_buffer_put
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_mock_tcp_send_b(void *ctx, const unsigned char *buf,
      size_t len) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1298,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1341,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1353,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1569,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1305,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1358,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1359,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1408,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1410,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1546,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1593,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1609,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1375,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1401,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1318,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1311,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1312,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1391,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1405,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1320,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1571,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1368,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1299,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1329,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1416,1
    - Dst: mbedtls_ssl_cipher_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1539,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1324,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1369,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1356,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1565,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1298,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1352,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1397,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1406,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1529,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1533,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1559,1
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1355,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1378,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1301,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1312,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1311,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1307,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1405,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1364,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1521,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1522,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1597,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1377,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1308,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1306,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1329,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1380,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1410,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1412,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1427,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1528,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1561,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1324,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1337,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1384,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1581,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1313,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1397,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1407,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1406,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1428,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1333,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1300,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1314,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1358,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1359,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1583,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1608,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1591,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1366,1
    - Dst: mbedtls_cipher_info_get_iv_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1307,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1322,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1361,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1380,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1412,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1414,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1523,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1587,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1532,1
    - Dst: mbedtls_test_rnd_std_rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1282,1
    - Dst: mbedtls_test_rnd_std_rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1283,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1308,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1337,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1341,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1377,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1384,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1555,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1313,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1360,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1407,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1408,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1376,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1394,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1575,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1579,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1605,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1401,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1318,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1333,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1299,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1314,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1320,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1554,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1557,1
    - Dst: mbedtls_test_ssl_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1290,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1322,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1414,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1416,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1524,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1556,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1606,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 267
    argCount: 9
    argNames:
    - t_in
    - t_out
    - cipher_type
    - hash_id
    - etm
    - tag_mode
    - tls_version
    - cid0_len
    - cid1_len
    argTypes:
    - mbedtls_ssl_transform*
    - mbedtls_ssl_transform*
    - int
    - int
    - int
    - int
    - mbedtls_ssl_protocol_version
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1612
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1612
    functionName: mbedtls_test_ssl_build_transforms
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - psa_import_key
    - mbedtls_md_get_size_from_type
    - mbedtls_md_psa_alg_from_type
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_md_hmac_starts
    - mbedtls_calloc
    - mbedtls_cipher_setup
    - CHK
    - psa_set_key_usage_flags
    - mbedtls_cipher_info_from_type
    - mbedtls_cipher_info_get_iv_size
    - mbedtls_test_ssl_cipher_info_from_type
    - psa_reset_key_attributes
    - mbedtls_free
    - psa_set_key_algorithm
    - memcpy
    - mbedtls_ssl_cipher_to_psa
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_test_rnd_std_rand
    - mbedtls_md_setup
    - mbedtls_md_info_from_type
    - psa_set_key_type
    - PSA_BITS_TO_BYTES
    - mbedtls_cipher_set_padding_mode
    - PSA_ALG_HMAC
    - mbedtls_cipher_setkey
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_build_transforms(mbedtls_ssl_transform *t_in,
      mbedtls_ssl_transform *t_out, int cipher_type, int hash_id, int etm, int tag_mode,
      mbedtls_ssl_protocol_version tls_version, size_t cid0_len, size_t cid1_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:36,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: mbedtls_test_ssl_log_analyzer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_ssl_log_analyzer(void *ctx, int level, const char
      *file, int line, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - mbedtls_ssl_chk_buf_ptr_args*
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: reset_chk_buf_ptr_args
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void reset_chk_buf_ptr_args(mbedtls_ssl_chk_buf_ptr_args *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_buffer_get
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: mbedtls_test_mock_tcp_recv_b
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ssl_buffer_get
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_mock_tcp_recv_b(void *ctx, unsigned char *buf, size_t
      len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1692,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1716,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1731,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1761,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1733,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1769,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1712,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1733,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1757,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1700,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1722,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1681,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1685,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1691,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1695,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1699,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1707,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1725,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1747,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 4
    argNames:
    - session
    - ticket_len
    - endpoint_type
    - crt_file
    argTypes:
    - mbedtls_ssl_session*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1783
    functionName: mbedtls_test_ssl_tls12_populate_session
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_calloc
    - mbedtls_md
    - psa_hash_compute
    - memset
    - mbedtls_x509_crt_free
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_time
    - mbedtls_x509_crt_parse_file
    - mbedtls_md_psa_alg_from_type
    - TEST_ASSERT
    - mbedtls_ms_time
    - mbedtls_x509_crt_init
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_tls12_populate_session(mbedtls_ssl_session *session,
      int ticket_len, int endpoint_type, const char *crt_file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1008,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1020,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1008,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1011,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1018,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1024,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1025,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 6
    argNames:
    - ssl
    - buf
    - buf_len
    - read
    - fragments
    - expected_fragments
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - int
    - int*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1035
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1035
    functionName: mbedtls_ssl_read_fragment
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_read
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ssl_read_fragment(mbedtls_ssl_context *ssl, unsigned
      char *buf, int buf_len, int *read, int *fragments, const int expected_fragments) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1098,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1103,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1109,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1112,1
    - Dst: psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1106,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1115,1
    - Dst: psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1118,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1122,1
    - Dst: mbedtls_cipher_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 7
    argNames:
    - transform
    - iv
    - iv_len
    - input
    - ilen
    - output
    - olen
    argTypes:
    - mbedtls_ssl_transform*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1131
    functionName: mbedtls_test_psa_cipher_encrypt_helper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - psa_cipher_encrypt_setup
    - psa_cipher_finish
    - psa_cipher_set_iv
    - psa_cipher_update
    - mbedtls_cipher_crypt
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_psa_cipher_encrypt_helper(mbedtls_ssl_transform *transform,
      const unsigned char *iv, size_t iv_len, const unsigned char *input, size_t ilen,
      unsigned char *output, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - p_info
    - ssl
    - name
    - name_len
    argTypes:
    - void*
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1078
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1078
    functionName: psk_dummy_callback
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int psk_dummy_callback(void *p_info, mbedtls_ssl_context *ssl,
      const unsigned char *name, size_t name_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2534,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2535,1
    - Dst: mbedtls_test_ssl_endpoint_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2537,1
    - Dst: mbedtls_test_ssl_endpoint_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2541,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2539,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2543,1
    - Dst: mbedtls_ssl_conf_tls13_enable_signal_new_session_tickets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2545,1
    - Dst: mbedtls_ssl_conf_session_tickets_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2548,1
    - Dst: mbedtls_test_mock_socket_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2553,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2555,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2557,1
    - Dst: mbedtls_test_ssl_endpoint_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2571,1
    - Dst: mbedtls_test_ssl_endpoint_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2572,1
    - Dst: mbedtls_test_move_handshake_to_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2557,1
    - Dst: mbedtls_ssl_get_session
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2567,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2568,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2564,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - client_options
    - server_options
    - session
    argTypes:
    - mbedtls_test_handshake_test_options*
    - mbedtls_test_handshake_test_options*
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 2575
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2575
    functionName: mbedtls_test_get_tls13_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - TEST_EQUAL
    - mbedtls_ssl_get_session
    - mbedtls_ssl_conf_tls13_enable_signal_new_session_tickets
    - mbedtls_platform_zeroize
    - mbedtls_test_ssl_endpoint_init
    - mbedtls_test_move_handshake_to_state
    - mbedtls_test_mock_socket_connect
    - mbedtls_ssl_conf_session_tickets_cb
    - mbedtls_ssl_read
    - mbedtls_test_ssl_endpoint_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_get_tls13_ticket( mbedtls_test_handshake_test_options
      *client_options, mbedtls_test_handshake_test_options *server_options, mbedtls_ssl_session
      *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:47,1
    - Dst: mbedtls_ssl_cache_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:72,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:74,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:71,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:51,1
    - Dst: mbedtls_ssl_cache_get_timeout
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - opts
    argTypes:
    - mbedtls_test_handshake_test_options*
    constantsTouched: []
    func_position:
      end: 80
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 80
    functionName: mbedtls_test_init_handshake_options
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - srand
    - TEST_EQUAL
    - TEST_CALLOC
    - mbedtls_ssl_cache_init
    - mbedtls_ssl_cache_get_timeout
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_init_handshake_options( mbedtls_test_handshake_test_options
      *opts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - buf_len
    - msg_len
    argTypes:
    - mbedtls_test_ssl_message_queue*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: test_ssl_message_queue_peek_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_message_queue_peek_info( mbedtls_test_ssl_message_queue
      *queue, size_t buf_len, size_t *msg_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_test_message_socket_context*
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: mbedtls_test_message_socket_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_message_socket_init( mbedtls_test_message_socket_context
      *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:763,1
    - Dst: mbedtls_ssl_conf_get_user_data_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:763,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:764,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:774,1
    - Dst: mbedtls_test_message_socket_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:774,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:799,1
    - Dst: mbedtls_ssl_conf_max_tls_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:808,1
    - Dst: mbedtls_ssl_conf_max_tls_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:818,1
    - Dst: mbedtls_ssl_conf_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:830,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:854,1
    - Dst: mbedtls_ssl_conf_get_user_data_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:886,1
    - Dst: mbedtls_ssl_conf_set_user_data_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:770,1
    - Dst: mbedtls_ssl_set_user_data_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:771,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:783,1
    - Dst: mbedtls_ssl_conf_min_tls_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:803,1
    - Dst: mbedtls_ssl_conf_min_tls_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:813,1
    - Dst: mbedtls_ssl_conf_groups
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:824,1
    - Dst: mbedtls_ssl_conf_alpn_protocols
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:841,1
    - Dst: mbedtls_ssl_conf_session_cache
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:848,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:884,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:886,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:754,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:759,1
    - Dst: mbedtls_ssl_conf_get_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:762,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:788,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:794,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:827,1
    - Dst: mbedtls_ssl_conf_max_early_data_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:834,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:855,1
    - Dst: mbedtls_test_ssl_endpoint_certificate_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:880,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:888,1
    - Dst: mbedtls_ssl_conf_set_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:887,1
    - Dst: mbedtls_ssl_get_user_data_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:888,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:760,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:758,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:762,1
    - Dst: mbedtls_ssl_get_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:764,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:765,1
    - Dst: mbedtls_test_rnd_std_rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:767,1
    - Dst: mbedtls_ssl_get_user_data_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:765,1
    - Dst: mbedtls_test_mock_socket_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:778,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:867,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:874,1
    - Dst: mbedtls_ssl_set_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:889,1
    - Dst: mbedtls_ssl_conf_dtls_cookies
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:859,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 109
    argCount: 6
    argNames:
    - ep
    - endpoint_type
    - options
    - dtls_context
    - input_queue
    - output_queue
    argTypes:
    - mbedtls_test_ssl_endpoint*
    - int
    - mbedtls_test_handshake_test_options*
    - mbedtls_test_message_socket_context*
    - mbedtls_test_ssl_message_queue*
    - mbedtls_test_ssl_message_queue*
    constantsTouched: []
    func_position:
      end: 893
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 893
    functionName: mbedtls_test_ssl_endpoint_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_user_data_p
    - TEST_EQUAL
    - mbedtls_ssl_init
    - mbedtls_ssl_conf_authmode
    - mbedtls_test_message_socket_setup
    - mbedtls_ssl_conf_min_tls_version
    - mbedtls_ssl_conf_get_user_data_n
    - mbedtls_ssl_conf_rng
    - mbedtls_ssl_conf_max_tls_version
    - mbedtls_ssl_conf_alpn_protocols
    - mbedtls_ssl_set_user_data_n
    - mbedtls_test_ssl_endpoint_certificate_init
    - mbedtls_ssl_conf_early_data
    - mbedtls_ssl_config_init
    - mbedtls_ssl_conf_dtls_cookies
    - mbedtls_ssl_setup
    - mbedtls_test_mock_socket_init
    - mbedtls_ssl_conf_set_user_data_p
    - mbedtls_ssl_conf_get_user_data_p
    - mbedtls_ssl_conf_set_user_data_n
    - mbedtls_ssl_conf_max_early_data_size
    - mbedtls_ssl_conf_dbg
    - mbedtls_test_rnd_std_rand
    - TEST_ASSERT
    - mbedtls_ssl_set_bio
    - mbedtls_ssl_conf_session_cache
    - mbedtls_ssl_get_user_data_n
    - mbedtls_ssl_conf_groups
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_set_user_data_p
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_endpoint_init( mbedtls_test_ssl_endpoint *ep,
      int endpoint_type, mbedtls_test_handshake_test_options *options, mbedtls_test_message_socket_context
      *dtls_context, mbedtls_test_ssl_message_queue *input_queue, mbedtls_test_ssl_message_queue
      *output_queue) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:961,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:964,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:977,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:982,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:961,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:983,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - ssl
    - buf
    - buf_len
    - written
    - expected_fragments
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - int
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 993
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 993
    functionName: mbedtls_ssl_write_fragment
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - TEST_ASSERT
    - mbedtls_ssl_write
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ssl_write_fragment(mbedtls_ssl_context *ssl, unsigned
      char *buf, int buf_len, int *written, const int expected_fragments) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1868,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1884,1
    - Dst: mbedtls_ssl_write_fragment
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1899,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1905,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1923,1
    - Dst: mbedtls_ssl_read_fragment
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1938,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1948,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1949,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1959,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1866,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1867,1
    - Dst: mbedtls_ssl_read_fragment
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1929,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1950,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1958,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1908,1
    - Dst: mbedtls_ssl_write_fragment
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1914,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1947,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1933,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1920,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1957,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1869,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1885,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1947,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1948,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1942,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1956,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 6
    argNames:
    - ssl_1
    - msg_len_1
    - expected_fragments_1
    - ssl_2
    - msg_len_2
    - expected_fragments_2
    argTypes:
    - mbedtls_ssl_context*
    - int
    - int
    - mbedtls_ssl_context*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1962
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1962
    functionName: mbedtls_test_ssl_exchange_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - memcmp
    - free
    - mbedtls_ssl_read_fragment
    - malloc
    - TEST_ASSERT
    - mbedtls_ssl_write_fragment
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_exchange_data( mbedtls_ssl_context *ssl_1, int
      msg_len_1, const int expected_fragments_1, mbedtls_ssl_context *ssl_2, int msg_len_2,
      const int expected_fragments_2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - p_ticket
    - session
    - start
    - end
    - tlen
    - lifetime
    argTypes:
    - void*
    - mbedtls_ssl_session*
    - unsigned char*
    - unsigned char*
    - size_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2511
    functionName: mbedtls_test_ticket_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_session_save
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ticket_write( void *p_ticket, const mbedtls_ssl_session
      *session, unsigned char *start, const unsigned char *end, size_t *tlen, uint32_t
      *lifetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_cache_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:86,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - mbedtls_test_handshake_test_options*
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: mbedtls_test_free_handshake_options
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ssl_cache_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_free_handshake_options( mbedtls_test_handshake_test_options
      *opts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - socket
    argTypes:
    - mbedtls_test_mock_socket*
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: mbedtls_test_mock_socket_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_mock_socket_init(mbedtls_test_mock_socket *socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_message_queue_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:457,1
    - Dst: mbedtls_test_mock_socket_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - queue_input
    - queue_output
    - queue_capacity
    - socket
    - ctx
    argTypes:
    - mbedtls_test_ssl_message_queue*
    - mbedtls_test_ssl_message_queue*
    - size_t
    - mbedtls_test_mock_socket*
    - mbedtls_test_message_socket_context*
    constantsTouched: []
    func_position:
      end: 467
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 467
    functionName: mbedtls_test_message_socket_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mock_socket_init
    - mbedtls_test_ssl_message_queue_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_message_socket_setup( mbedtls_test_ssl_message_queue
      *queue_input, mbedtls_test_ssl_message_queue *queue_output, size_t queue_capacity,
      mbedtls_test_mock_socket *socket, mbedtls_test_message_socket_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_ssl_endpoint_certificate_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:899,1
    - Dst: mbedtls_test_message_socket_close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:905,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:902,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:901,1
    - Dst: mbedtls_test_mock_socket_close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ep
    - context
    argTypes:
    - mbedtls_test_ssl_endpoint*
    - mbedtls_test_message_socket_context*
    constantsTouched: []
    func_position:
      end: 909
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 909
    functionName: mbedtls_test_ssl_endpoint_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_free
    - test_ssl_endpoint_certificate_free
    - mbedtls_test_mock_socket_close
    - mbedtls_test_message_socket_close
    - mbedtls_ssl_config_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_ssl_endpoint_free( mbedtls_test_ssl_endpoint *ep,
      mbedtls_test_message_socket_context *context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:927,1
    - Dst: mbedtls_ssl_handshake_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:928,1
    - Dst: mbedtls_ssl_handshake_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:937,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - ssl
    - second_ssl
    - state
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 945
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 945
    functionName: mbedtls_test_move_handshake_to_state
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_handshake_step
    - mbedtls_ssl_is_handshake_over
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_move_handshake_to_state(mbedtls_ssl_context *ssl,
      mbedtls_ssl_context *second_ssl, int state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - p_ticket
    - session
    - buf
    - len
    argTypes:
    - void*
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2519
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2519
    functionName: mbedtls_test_ticket_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_session_load
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ticket_parse(void *p_ticket, mbedtls_ssl_session
      *session, unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - mbedtls_test_ssl_buffer*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: mbedtls_test_ssl_buffer_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_ssl_buffer_init(mbedtls_test_ssl_buffer *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - capacity
    argTypes:
    - mbedtls_test_ssl_buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: mbedtls_test_ssl_buffer_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_buffer_setup(mbedtls_test_ssl_buffer *buf, size_t
      capacity) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:166,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:172,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - buf
    - input
    - input_len
    argTypes:
    - mbedtls_test_ssl_buffer*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 178
    functionName: mbedtls_test_ssl_buffer_put
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_buffer_put(mbedtls_test_ssl_buffer *buf, const
      unsigned char *input, size_t input_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - queue
    - capacity
    argTypes:
    - mbedtls_test_ssl_message_queue*
    - size_t
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: mbedtls_test_ssl_message_queue_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_message_queue_setup( mbedtls_test_ssl_message_queue
      *queue, size_t capacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - queue
    - len
    argTypes:
    - mbedtls_test_ssl_message_queue*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: mbedtls_test_ssl_message_queue_push_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_message_queue_push_info( mbedtls_test_ssl_message_queue
      *queue, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_buffer_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:324,1
    - Dst: mbedtls_test_ssl_buffer_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:329,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:334,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:325,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:330,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - socket
    argTypes:
    - mbedtls_test_mock_socket*
    constantsTouched: []
    func_position:
      end: 338
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 338
    functionName: mbedtls_test_mock_socket_close
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_test_ssl_buffer_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_mock_socket_close(mbedtls_test_mock_socket *socket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_message_queue_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:476,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:478,1
    - Dst: mbedtls_test_mock_socket_close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_test_message_socket_context*
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: mbedtls_test_message_socket_close
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ssl_message_queue_free
    - mbedtls_test_mock_socket_close
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_message_socket_close( mbedtls_test_message_socket_context
      *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_ssl_message_queue_peek_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:529,1
    - Dst: mbedtls_test_mock_tcp_recv_b
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:540,1
    - Dst: mbedtls_test_ssl_message_queue_pop_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:553,1
    - Dst: mbedtls_test_mock_tcp_recv_b
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:546,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - buf
    - buf_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 559
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 559
    functionName: mbedtls_test_mock_tcp_recv_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mock_tcp_recv_b
    - mbedtls_test_ssl_message_queue_pop_info
    - test_ssl_message_queue_peek_info
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_mock_tcp_recv_msg(void *ctx, unsigned char *buf,
      size_t buf_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:571,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:572,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:576,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:582,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:577,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:583,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:586,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ep
    argTypes:
    - mbedtls_test_ssl_endpoint*
    constantsTouched: []
    func_position:
      end: 591
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 591
    functionName: test_ssl_endpoint_certificate_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - psa_destroy_key
    - mbedtls_free
    - mbedtls_pk_get_type
    - mbedtls_pk_free
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: void
    signature: 'static void test_ssl_endpoint_certificate_free(mbedtls_test_ssl_endpoint
      *ep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:130,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - mbedtls_test_ssl_buffer*
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: mbedtls_test_ssl_buffer_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_ssl_buffer_free(mbedtls_test_ssl_buffer *buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:204,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:205,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - output
    - output_len
    argTypes:
    - mbedtls_test_ssl_buffer*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 212
    functionName: mbedtls_test_ssl_buffer_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_buffer_get(mbedtls_test_ssl_buffer *buf, unsigned
      char *output, size_t output_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:237,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - queue
    argTypes:
    - mbedtls_test_ssl_message_queue*
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: mbedtls_test_ssl_message_queue_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_ssl_message_queue_free( mbedtls_test_ssl_message_queue
      *queue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - queue
    - buf_len
    argTypes:
    - mbedtls_test_ssl_message_queue*
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 283
    functionName: mbedtls_test_ssl_message_queue_pop_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_message_queue_pop_info( mbedtls_test_ssl_message_queue
      *queue, size_t buf_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:347,1
    - Dst: mbedtls_test_ssl_buffer_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:365,1
    - Dst: mbedtls_test_ssl_buffer_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:354,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:359,1
    - Dst: mbedtls_test_ssl_buffer_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:353,1
    - Dst: mbedtls_test_ssl_buffer_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:366,1
    - Dst: mbedtls_test_mock_socket_close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:381,1
    - Dst: mbedtls_test_mock_socket_close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:382,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - peer1
    - peer2
    - bufsize
    argTypes:
    - mbedtls_test_mock_socket*
    - mbedtls_test_mock_socket*
    - size_t
    constantsTouched: []
    func_position:
      end: 386
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 386
    functionName: mbedtls_test_mock_socket_connect
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mock_socket_close
    - mbedtls_calloc
    - mbedtls_test_ssl_buffer_setup
    - mbedtls_test_ssl_buffer_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_mock_socket_connect(mbedtls_test_mock_socket *peer1,
      mbedtls_test_mock_socket *peer2, size_t bufsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_mock_tcp_send_b
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:501,1
    - Dst: mbedtls_test_ssl_message_queue_push_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:505,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 506
    functionName: mbedtls_test_mock_tcp_send_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ssl_message_queue_push_info
    - mbedtls_test_mock_tcp_send_b
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_mock_tcp_send_msg(void *ctx, const unsigned char
      *buf, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:610,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:611,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:621,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:638,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:645,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:666,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:656,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:684,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:703,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:713,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:715,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:719,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:724,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:625,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:649,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:677,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:692,1
    - Dst: mbedtls_pk_get_psa_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:692,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:696,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:711,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:716,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:679,1
    - Dst: mbedtls_pk_setup_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:703,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:718,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:720,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:722,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:615,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:614,1
    - Dst: TEST_CALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:612,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:616,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:632,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:660,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:643,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:651,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:671,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:673,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:664,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:695,1
    - Dst: psa_set_key_enrollment_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:698,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:700,1
    - Dst: mbedtls_pk_import_into_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:700,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:701,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:702,1
    - Dst: test_ssl_endpoint_certificate_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:728,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 93
    argCount: 5
    argNames:
    - ep
    - pk_alg
    - opaque_alg
    - opaque_alg2
    - opaque_usage
    argTypes:
    - mbedtls_test_ssl_endpoint*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 732
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 732
    functionName: mbedtls_test_ssl_endpoint_certificate_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_init
    - psa_set_key_usage_flags
    - mbedtls_x509_crt_parse_der
    - TEST_EQUAL
    - TEST_CALLOC
    - psa_set_key_enrollment_algorithm
    - psa_set_key_algorithm
    - mbedtls_ssl_conf_own_cert
    - mbedtls_pk_parse_key
    - mbedtls_pk_import_into_psa
    - mbedtls_pk_free
    - mbedtls_x509_crt_parse
    - mbedtls_pk_setup_opaque
    - mbedtls_ssl_conf_ca_chain
    - test_ssl_endpoint_certificate_free
    - TEST_ASSERT
    - mbedtls_pk_get_psa_attributes
    - mbedtls_x509_crt_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_endpoint_certificate_init(mbedtls_test_ssl_endpoint
      *ep, int pk_alg, int opaque_alg, int opaque_alg2, int opaque_usage) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2055,1
    - Dst: mbedtls_ssl_conf_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2116,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2213,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2236,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2174,1
    - Dst: check_ssl_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2185,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2244,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2264,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2296,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2301,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2359,1
    - Dst: mbedtls_test_move_handshake_to_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2177,1
    - Dst: mbedtls_ssl_get_input_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2210,1
    - Dst: mbedtls_ssl_set_timer_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2090,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2095,1
    - Dst: mbedtls_ssl_conf_legacy_renegotiation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2139,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2146,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2235,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2243,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2248,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2281,1
    - Dst: mbedtls_ssl_get_output_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2212,1
    - Dst: mbedtls_test_move_handshake_to_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2164,1
    - Dst: mbedtls_ssl_conf_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2122,1
    - Dst: mbedtls_ssl_context_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2238,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2263,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2294,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2308,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2336,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2343,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2345,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2330,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2197,1
    - Dst: mbedtls_test_message_socket_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2050,1
    - Dst: mbedtls_ssl_set_timer_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2067,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2078,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2104,1
    - Dst: mbedtls_ssl_conf_renegotiation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2134,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2307,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2324,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2335,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2368,1
    - Dst: mbedtls_test_message_socket_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2051,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2046,1
    - Dst: mbedtls_test_ssl_endpoint_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2061,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2101,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2116,1
    - Dst: mbedtls_test_set_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2184,1
    - Dst: mbedtls_ssl_get_output_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2208,1
    - Dst: mbedtls_ssl_context_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2267,1
    - Dst: mbedtls_ssl_get_output_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2348,1
    - Dst: mbedtls_ssl_get_input_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2350,1
    - Dst: mbedtls_ssl_conf_legacy_renegotiation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2141,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2182,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2211,1
    - Dst: MD_OR_USE_PSA_INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2045,1
    - Dst: set_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2079,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2122,1
    - Dst: mbedtls_ssl_conf_psk_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2128,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2164,1
    - Dst: mbedtls_test_set_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2190,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2238,1
    - Dst: mbedtls_ssl_get_output_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2274,1
    - Dst: mbedtls_ssl_get_input_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2276,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2302,1
    - Dst: mbedtls_test_ssl_endpoint_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2362,1
    - Dst: mbedtls_ssl_get_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2359,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2356,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2177,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2327,1
    - Dst: mbedtls_ssl_conf_get_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2358,1
    - Dst: mbedtls_test_ssl_endpoint_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2364,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2373,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2357,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2061,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2155,1
    - Dst: mbedtls_ssl_context_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2231,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2209,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2246,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2267,1
    - Dst: mbedtls_test_ssl_endpoint_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2072,1
    - Dst: mbedtls_ssl_get_input_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2214,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2182,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2154,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2273,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2275,1
    - Dst: mbedtls_test_ssl_endpoint_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2084,1
    - Dst: mbedtls_test_ssl_exchange_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2220,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2349,1
    - Dst: mbedtls_ssl_conf_get_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2356,1
    - Dst: mbedtls_ssl_get_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2357,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2332,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2358,1
    - Dst: exchange_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2205,1
    - Dst: mbedtls_ssl_conf_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2107,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2153,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2156,1
    - Dst: mbedtls_ssl_set_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2253,1
    - Dst: mbedtls_ssl_get_output_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2344,1
    - Dst: mbedtls_ssl_get_input_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2346,1
    - Dst: MD_OR_USE_PSA_DONE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2376,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2120,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2174,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2246,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2231,1
    - Dst: mbedtls_ssl_renegotiate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2301,1
    - Dst: mbedtls_ssl_renegotiate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2319,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2072,1
    - Dst: mbedtls_test_ssl_endpoint_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2095,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2111,1
    - Dst: mbedtls_test_mock_socket_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2146,1
    - Dst: mbedtls_test_ssl_exchange_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2281,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2310,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2323,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2338,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2229,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2047,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2084,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2126,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2220,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2304,1
    - Dst: check_ssl_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2191,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2205,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2207,1
    - Dst: mbedtls_ssl_conf_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2104,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2107,1
    - Dst: mbedtls_ssl_conf_renegotiation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2136,1
    - Dst: mbedtls_ssl_set_timer_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2256,1
    - Dst: exchange_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2307,1
    - Dst: exchange_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2335,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2347,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 251
    argCount: 1
    argNames:
    - options
    argTypes:
    - mbedtls_test_handshake_test_options*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2377
    functionName: mbedtls_test_ssl_perform_handshake
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_user_data_p
    - mbedtls_ssl_free
    - set_ciphersuite
    - mbedtls_ssl_conf_authmode
    - MD_OR_USE_PSA_INIT
    - TEST_EQUAL
    - mbedtls_ssl_init
    - mbedtls_platform_zeroize
    - mbedtls_test_ssl_endpoint_init
    - mbedtls_test_set_step
    - mbedtls_ssl_conf_legacy_renegotiation
    - mbedtls_ssl_renegotiate
    - MD_OR_USE_PSA_DONE
    - mbedtls_ssl_context_save
    - mbedtls_ssl_is_handshake_over
    - mbedtls_ssl_context_load
    - mbedtls_ssl_conf_max_frag_len
    - mbedtls_calloc
    - mbedtls_test_move_handshake_to_state
    - mbedtls_test_mock_socket_connect
    - mbedtls_ssl_setup
    - exchange_data
    - check_ssl_version
    - mbedtls_free
    - mbedtls_ssl_conf_get_user_data_p
    - mbedtls_ssl_conf_psk_cb
    - mbedtls_ssl_set_timer_cb
    - mbedtls_test_message_socket_init
    - TEST_ASSERT
    - mbedtls_ssl_set_bio
    - strlen
    - mbedtls_test_ssl_exchange_data
    - mbedtls_test_ssl_endpoint_free
    - mbedtls_ssl_conf_renegotiation
    - mbedtls_ssl_get_input_buflen
    - mbedtls_ssl_set_user_data_p
    - mbedtls_debug_set_threshold
    - mbedtls_ssl_conf_psk
    - mbedtls_ssl_get_output_buflen
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_ssl_perform_handshake( mbedtls_test_handshake_test_options
      *options) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1801,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1830,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1824,1
    - Dst: mbedtls_ssl_session_set_ticket_alpn
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1808,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1814,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1834,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1838,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1842,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - session
    - ticket_len
    - endpoint_type
    argTypes:
    - mbedtls_ssl_session*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1857
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1857
    functionName: mbedtls_test_ssl_tls13_populate_session
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    - mbedtls_ssl_session_set_ticket_alpn
    - mbedtls_ms_time
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_tls13_populate_session(mbedtls_ssl_session *session,
      int ticket_len, int endpoint_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_buffer_put
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: mbedtls_test_mock_tcp_send_nb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ssl_buffer_put
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_mock_tcp_send_nb(void *ctx, const unsigned char *buf,
      size_t len) '
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 4
    argNames:
    - cipher_type
    - cipher_mode
    - key_bits
    - iv_len
    argTypes:
    - mbedtls_cipher_type_t
    - mbedtls_cipher_mode_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1250
    functionName: mbedtls_test_ssl_cipher_info_from_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_test_ssl_cipher_info_from_type(mbedtls_cipher_type_t
      cipher_type, mbedtls_cipher_mode_t *cipher_mode, size_t *key_bits, size_t *iv_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2408,1
    - Dst: reset_chk_buf_ptr_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2434,1
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2412,1
    - Dst: set_chk_buf_ptr_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2426,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2416,1
    - Dst: MBEDTLS_PUT_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2439,1
    - Dst: set_chk_buf_ptr_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2441,1
    - Dst: MBEDTLS_PUT_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2447,1
    - Dst: set_chk_buf_ptr_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2448,1
    - Dst: MBEDTLS_PUT_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2453,1
    - Dst: set_chk_buf_ptr_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2455,1
    - Dst: MBEDTLS_PUT_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2462,1
    - Dst: set_chk_buf_ptr_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2464,1
    - Dst: set_chk_buf_ptr_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2473,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2471,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 5
    argNames:
    - buf
    - end
    - tweak
    - expected_result
    - args
    argTypes:
    - unsigned char*
    - unsigned char**
    - int
    - int*
    - mbedtls_ssl_chk_buf_ptr_args*
    constantsTouched: []
    func_position:
      end: 2483
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2483
    functionName: mbedtls_test_tweak_tls13_certificate_msg_vector_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - set_chk_buf_ptr_args
    - reset_chk_buf_ptr_args
    - MBEDTLS_GET_UINT24_BE
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_PUT_UINT24_BE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_tweak_tls13_certificate_msg_vector_len( unsigned
      char *buf, unsigned char **end, int tweak, int *expected_result, mbedtls_ssl_chk_buf_ptr_args
      *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_buffer_get
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: mbedtls_test_mock_tcp_recv_nb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ssl_buffer_get
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_mock_tcp_recv_nb(void *ctx, unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1624,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1634,1
    - Dst: psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1634,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1637,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1637,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1638,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1638,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1645,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1645,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1649,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1650,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1649,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1666,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1657,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1659,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1650,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - record
    - transform_out
    argTypes:
    - mbedtls_record*
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 1669
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1669
    functionName: mbedtls_test_ssl_prepare_record_mac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - psa_mac_sign_finish
    - TEST_EQUAL
    - psa_mac_update
    - psa_mac_sign_setup
    - memcpy
    - psa_mac_abort
    - mbedtls_md_hmac_update
    - mbedtls_md_hmac_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_test_ssl_prepare_record_mac(mbedtls_record *record, mbedtls_ssl_transform
      *transform_out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1988,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1992,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1990,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2001,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1995,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2002,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2002,1
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2006,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2007,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2007,1
    - Dst: TEST_FAIL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:2011,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - expected_negotiated_version
    - ssl
    argTypes:
    - mbedtls_ssl_protocol_version
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2019
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 2019
    functionName: check_ssl_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_version_number
    - TEST_EQUAL
    - mbedtls_ssl_get_version
    - strcmp
    - TEST_FAIL
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: 'static int check_ssl_version( mbedtls_ssl_protocol_version expected_negotiated_version,
      const mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_ssl_exchange_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1976,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ssl_1
    - ssl_2
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1978
    functionName: exchange_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_test_ssl_exchange_data
    linkageType: ''
    returnType: int
    signature: 'static int exchange_data(mbedtls_ssl_context *ssl_1, mbedtls_ssl_context
      *ssl_2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_ciphersuite_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1042,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1049,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1048,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1050,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1046,1
    - Dst: mbedtls_ssl_conf_ciphersuites
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c:1059,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - conf
    - cipher
    - forced_ciphersuite
    argTypes:
    - mbedtls_ssl_config*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1063
    functionName: set_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/test_helpers/ssl_helpers.c
    functionUses: []
    functionsReached:
    - TEST_ASSERT
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_ssl_get_ciphersuite_id
    - mbedtls_ssl_conf_ciphersuites
    linkageType: ''
    returnType: void
    signature: 'static void set_ciphersuite(mbedtls_ssl_config *conf, const char *cipher,
      int *forced_ciphersuite) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_pake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:37,1
    - Dst: mbedtls_psa_pake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - operation
    - inputs
    argTypes:
    - mbedtls_transparent_test_driver_pake_operation_t*
    - psa_crypto_driver_pake_inputs_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 51
    functionName: mbedtls_test_transparent_pake_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_setup
    - libtestdriver1_mbedtls_psa_pake_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_pake_setup( mbedtls_transparent_test_driver_pake_operation_t
      *operation, const psa_crypto_driver_pake_inputs_t *inputs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_pake_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:119,1
    - Dst: mbedtls_psa_pake_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - operation
    - step
    - input
    - input_length
    argTypes:
    - mbedtls_transparent_test_driver_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: mbedtls_test_transparent_pake_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_pake_input
    - mbedtls_psa_pake_input
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_pake_input( mbedtls_transparent_test_driver_pake_operation_t
      *operation, psa_crypto_driver_pake_step_t step, const uint8_t *input, size_t
      input_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:68,1
    - Dst: libtestdriver1_mbedtls_psa_pake_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:83,1
    - Dst: mbedtls_psa_pake_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - operation
    - step
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_transparent_test_driver_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: mbedtls_test_transparent_pake_output
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_pake_output
    - memcpy
    - mbedtls_psa_pake_output
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_pake_output( mbedtls_transparent_test_driver_pake_operation_t
      *operation, psa_crypto_driver_pake_step_t step, uint8_t *output, size_t output_size,
      size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:179,1
    - Dst: mbedtls_psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_transparent_test_driver_pake_operation_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 199
    functionName: mbedtls_test_transparent_pake_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_abort
    - libtestdriver1_mbedtls_psa_pake_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_pake_abort( mbedtls_transparent_test_driver_pake_operation_t
      *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_pake_get_implicit_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:152,1
    - Dst: mbedtls_psa_pake_get_implicit_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - operation
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_transparent_test_driver_pake_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 168
    functionName: mbedtls_test_transparent_pake_get_implicit_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_pake.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_pake_get_implicit_key
    - mbedtls_psa_pake_get_implicit_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_pake_get_implicit_key( mbedtls_transparent_test_driver_pake_operation_t
      *operation, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c:52,1
    - Dst: mbedtls_psa_key_agreement_ecdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c:69,1
    - Dst: PSA_ALG_IS_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c:59,1
    - Dst: PSA_ALG_IS_FFDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c:87,1
    - Dst: libtestdriver1_mbedtls_psa_key_agreement_ecdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c:62,1
    - Dst: libtestdriver1_mbedtls_psa_ffdh_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c:90,1
    - Dst: mbedtls_psa_ffdh_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c:97,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - peer_key
    - peer_key_length
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 121
    functionName: mbedtls_test_transparent_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_ECDH
    - libtestdriver1_mbedtls_psa_ffdh_key_agreement
    - PSA_ALG_IS_FFDH
    - memcpy
    - mbedtls_psa_ffdh_key_agreement
    - libtestdriver1_mbedtls_psa_key_agreement_ecdh
    - mbedtls_psa_key_agreement_ecdh
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_key_agreement( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *peer_key, size_t peer_key_length, uint8_t *shared_secret,
      size_t shared_secret_size, size_t *shared_secret_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - peer_key
    - peer_key_length
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: mbedtls_test_opaque_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_agreement.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_key_agreement( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *peer_key, size_t peer_key_length, uint8_t *shared_secret,
      size_t shared_secret_size, size_t *shared_secret_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:85,1
    - Dst: mbedtls_psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_transparent_test_driver_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 104
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 104
    functionName: mbedtls_test_transparent_mac_sign_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_mac_sign_setup
    - mbedtls_psa_mac_sign_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_mac_sign_setup( mbedtls_transparent_test_driver_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:157,1
    - Dst: mbedtls_psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - mbedtls_transparent_test_driver_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 172
    functionName: mbedtls_test_transparent_mac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_mac_update
    - libtestdriver1_mbedtls_psa_mac_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_mac_update( mbedtls_transparent_test_driver_mac_operation_t
      *operation, const uint8_t *input, size_t input_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:221,1
    - Dst: mbedtls_psa_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - operation
    - mac
    - mac_length
    argTypes:
    - mbedtls_transparent_test_driver_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 236
    functionName: mbedtls_test_transparent_mac_verify_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_mac_verify_finish
    - mbedtls_psa_mac_verify_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_mac_verify_finish( mbedtls_transparent_test_driver_mac_operation_t
      *operation, const uint8_t *mac, size_t mac_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - mac
    - mac_size
    - mac_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 293
    functionName: mbedtls_test_opaque_mac_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_mac_compute( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *mac, size_t mac_size,
      size_t *mac_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_opaque_test_driver_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 341
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 341
    functionName: mbedtls_test_opaque_mac_verify_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_mac_verify_setup( mbedtls_opaque_test_driver_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - operation
    - mac
    - mac_size
    - mac_length
    argTypes:
    - mbedtls_opaque_test_driver_mac_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: mbedtls_test_opaque_mac_sign_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_mac_sign_finish( mbedtls_opaque_test_driver_mac_operation_t
      *operation, uint8_t *mac, size_t mac_size, size_t *mac_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:41,1
    - Dst: mbedtls_psa_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:48,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - mac
    - mac_size
    - mac_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 67
    functionName: mbedtls_test_transparent_mac_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_mac_compute
    - mbedtls_psa_mac_compute
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_mac_compute( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *mac, size_t mac_size,
      size_t *mac_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:122,1
    - Dst: mbedtls_psa_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_transparent_test_driver_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 141
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 141
    functionName: mbedtls_test_transparent_mac_verify_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_mac_verify_setup
    - libtestdriver1_mbedtls_psa_mac_verify_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_mac_verify_setup( mbedtls_transparent_test_driver_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:189,1
    - Dst: mbedtls_psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - operation
    - mac
    - mac_size
    - mac_length
    argTypes:
    - mbedtls_transparent_test_driver_mac_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 205
    functionName: mbedtls_test_transparent_mac_sign_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_mac_sign_finish
    - mbedtls_psa_mac_sign_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_mac_sign_finish( mbedtls_transparent_test_driver_mac_operation_t
      *operation, uint8_t *mac, size_t mac_size, size_t *mac_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:250,1
    - Dst: mbedtls_psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_transparent_test_driver_mac_operation_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 261
    functionName: mbedtls_test_transparent_mac_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_mac_abort
    - libtestdriver1_mbedtls_psa_mac_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_mac_abort( mbedtls_transparent_test_driver_mac_operation_t
      *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_opaque_test_driver_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: mbedtls_test_opaque_mac_sign_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_mac_sign_setup( mbedtls_opaque_test_driver_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - mbedtls_opaque_test_driver_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: mbedtls_test_opaque_mac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_mac_update( mbedtls_opaque_test_driver_mac_operation_t
      *operation, const uint8_t *input, size_t input_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - operation
    - mac
    - mac_length
    argTypes:
    - mbedtls_opaque_test_driver_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: mbedtls_test_opaque_mac_verify_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_mac_verify_finish( mbedtls_opaque_test_driver_mac_operation_t
      *operation, const uint8_t *mac, size_t mac_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_opaque_test_driver_mac_operation_t*
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: mbedtls_test_opaque_mac_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_mac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_mac_abort( mbedtls_opaque_test_driver_mac_operation_t
      *operation) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:40,1
    - Dst: libtestdriver1_mbedtls_psa_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:53,1
    - Dst: mbedtls_psa_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 66
    functionName: mbedtls_test_transparent_asymmetric_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_asymmetric_encrypt
    - memcpy
    - libtestdriver1_mbedtls_psa_asymmetric_encrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_asymmetric_encrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, const uint8_t *salt, size_t
      salt_length, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_opaque_unwrap_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:156,1
    - Dst: mbedtls_psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:171,1
    - Dst: libtestdriver1_mbedtls_psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 11
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: mbedtls_test_opaque_asymmetric_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_unwrap_key
    - libtestdriver1_mbedtls_psa_asymmetric_decrypt
    - mbedtls_psa_asymmetric_decrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_asymmetric_decrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *input, size_t input_length, const uint8_t *salt, size_t salt_length,
      uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_opaque_unwrap_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:122,1
    - Dst: libtestdriver1_mbedtls_psa_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:131,1
    - Dst: mbedtls_psa_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 11
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 144
    functionName: mbedtls_test_opaque_asymmetric_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_unwrap_key
    - mbedtls_psa_asymmetric_encrypt
    - libtestdriver1_mbedtls_psa_asymmetric_encrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_asymmetric_encrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *input, size_t input_length, const uint8_t *salt, size_t salt_length,
      uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:81,1
    - Dst: libtestdriver1_mbedtls_psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:94,1
    - Dst: mbedtls_psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 107
    functionName: mbedtls_test_transparent_asymmetric_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_asymmetric_decrypt
    - memcpy
    - mbedtls_psa_asymmetric_decrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_asymmetric_decrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, const uint8_t *salt, size_t
      salt_length, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:70,1
    - Dst: mbedtls_psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - operation
    - alg
    argTypes:
    - mbedtls_transparent_test_driver_hash_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: mbedtls_test_transparent_hash_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_hash_setup
    - libtestdriver1_mbedtls_psa_hash_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_hash_setup( mbedtls_transparent_test_driver_hash_operation_t
      *operation, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:126,1
    - Dst: mbedtls_psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - mbedtls_transparent_test_driver_hash_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: mbedtls_test_transparent_hash_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_hash_update
    - libtestdriver1_mbedtls_psa_hash_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_hash_update( mbedtls_transparent_test_driver_hash_operation_t
      *operation, const uint8_t *input, size_t input_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:35,1
    - Dst: mbedtls_psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - alg
    - input
    - input_length
    - hash
    - hash_size
    - hash_length
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mbedtls_test_transparent_hash_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_hash_compute
    - mbedtls_psa_hash_compute
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_hash_compute( psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *hash, size_t hash_size,
      size_t *hash_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:157,1
    - Dst: mbedtls_psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - operation
    - hash
    - hash_size
    - hash_length
    argTypes:
    - mbedtls_transparent_test_driver_hash_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: mbedtls_test_transparent_hash_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_hash_finish
    - mbedtls_psa_hash_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_hash_finish( mbedtls_transparent_test_driver_hash_operation_t
      *operation, uint8_t *hash, size_t hash_size, size_t *hash_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:97,1
    - Dst: mbedtls_psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - source_operation
    - target_operation
    argTypes:
    - mbedtls_transparent_test_driver_hash_operation_t*
    - mbedtls_transparent_test_driver_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: mbedtls_test_transparent_hash_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_hash_clone
    - mbedtls_psa_hash_clone
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_hash_clone( const mbedtls_transparent_test_driver_hash_operation_t
      *source_operation, mbedtls_transparent_test_driver_hash_operation_t *target_operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:186,1
    - Dst: mbedtls_psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_transparent_test_driver_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: mbedtls_test_transparent_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/hash.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_hash_abort
    - mbedtls_psa_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_hash_abort( mbedtls_transparent_test_driver_hash_operation_t
      *operation) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:118,1
    - Dst: libtestdriver1_mbedtls_psa_rsa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:124,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:119,1
    - Dst: mbedtls_psa_rsa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:131,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:120,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:140,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:141,1
    - Dst: libtestdriver1_mbedtls_psa_ecdsa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:145,1
    - Dst: mbedtls_psa_ecdsa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:152,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 172
    functionName: verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - libtestdriver1_mbedtls_psa_rsa_verify_hash
    - PSA_KEY_TYPE_IS_RSA
    - mbedtls_psa_ecdsa_verify_hash
    - PSA_ALG_IS_ECDSA
    - libtestdriver1_mbedtls_psa_ecdsa_verify_hash
    - PSA_ALG_IS_RSA_PSS
    - mbedtls_psa_rsa_verify_hash
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t verify_hash( const psa_key_attributes_t *attributes,
      const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const
      uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 9
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - input
    - input_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: mbedtls_test_opaque_signature_sign_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_signature_sign_message( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *input, size_t input_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - input
    - input_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: mbedtls_test_opaque_signature_verify_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_signature_verify_message( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *input, size_t input_length, const uint8_t *signature, size_t signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 9
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: mbedtls_test_opaque_signature_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_signature_sign_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:52,1
    - Dst: libtestdriver1_mbedtls_psa_rsa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:57,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:53,1
    - Dst: mbedtls_psa_rsa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:64,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:73,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:74,1
    - Dst: libtestdriver1_mbedtls_psa_ecdsa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:78,1
    - Dst: mbedtls_psa_ecdsa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:85,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - libtestdriver1_mbedtls_psa_ecdsa_sign_hash
    - libtestdriver1_mbedtls_psa_rsa_sign_hash
    - PSA_ALG_IS_ECDSA
    - mbedtls_psa_ecdsa_sign_hash
    - PSA_ALG_IS_RSA_PSS
    - PSA_KEY_TYPE_IS_ECC
    - mbedtls_psa_rsa_sign_hash
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t sign_hash( const psa_key_attributes_t *attributes, const
      uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t
      *hash, size_t hash_length, uint8_t *signature, size_t signature_size, size_t
      *signature_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:276,1
    - Dst: verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:292,1
    - Dst: mbedtls_psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:280,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:281,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 295
    functionName: mbedtls_test_transparent_signature_verify_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_hash_compute
    - mbedtls_psa_hash_compute
    - PSA_ALG_SIGN_GET_HASH
    - verify_hash
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_signature_verify_message( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t
      *signature, size_t signature_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:200,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:210,1
    - Dst: libtestdriver1_mbedtls_psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:209,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:214,1
    - Dst: mbedtls_psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:213,1
    - Dst: sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 228
    functionName: mbedtls_test_transparent_signature_sign_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_hash_compute
    - sign_hash
    - memcpy
    - libtestdriver1_mbedtls_psa_hash_compute
    - PSA_ALG_SIGN_GET_HASH
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_signature_sign_message( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *signature,
      size_t signature_size, size_t *signature_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:336,1
    - Dst: sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 345
    functionName: mbedtls_test_transparent_signature_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached:
    - memcpy
    - sign_hash
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_signature_sign_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: mbedtls_test_transparent_signature_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached:
    - verify_hash
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_signature_verify_hash( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *hash, size_t hash_length, const uint8_t
      *signature, size_t signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: mbedtls_test_opaque_signature_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_signature_verify_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t signature_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:42,1
    - Dst: mbedtls_psa_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:52,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 13
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - nonce
    - nonce_length
    - additional_data
    - additional_data_length
    - plaintext
    - plaintext_length
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 78
    functionName: mbedtls_test_transparent_aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_aead_encrypt
    - mbedtls_psa_aead_encrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_encrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data,
      size_t additional_data_length, const uint8_t *plaintext, size_t plaintext_length,
      uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:151,1
    - Dst: mbedtls_psa_aead_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 171
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 171
    functionName: mbedtls_test_transparent_aead_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_encrypt_setup
    - libtestdriver1_mbedtls_psa_aead_encrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_encrypt_setup( mbedtls_transparent_test_driver_aead_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_set_nonce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:223,1
    - Dst: mbedtls_psa_aead_set_nonce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - operation
    - nonce
    - nonce_length
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: mbedtls_test_transparent_aead_set_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_aead_set_nonce
    - mbedtls_psa_aead_set_nonce
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_set_nonce( mbedtls_transparent_test_driver_aead_operation_t
      *operation, const uint8_t *nonce, size_t nonce_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:283,1
    - Dst: mbedtls_psa_aead_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 296
    functionName: mbedtls_test_transparent_aead_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_aead_update_ad
    - mbedtls_psa_aead_update_ad
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_update_ad( mbedtls_transparent_test_driver_aead_operation_t
      *operation, const uint8_t *input, size_t input_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:354,1
    - Dst: mbedtls_psa_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 7
    argNames:
    - operation
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    - tag
    - tag_size
    - tag_length
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 375
    functionName: mbedtls_test_transparent_aead_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_finish
    - libtestdriver1_mbedtls_psa_aead_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_finish( mbedtls_transparent_test_driver_aead_operation_t
      *operation, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length,
      uint8_t *tag, size_t tag_size, size_t *tag_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:188,1
    - Dst: mbedtls_psa_aead_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 207
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 207
    functionName: mbedtls_test_transparent_aead_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_aead_decrypt_setup
    - mbedtls_psa_aead_decrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_decrypt_setup( mbedtls_transparent_test_driver_aead_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:98,1
    - Dst: mbedtls_psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 13
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - nonce
    - nonce_length
    - additional_data
    - additional_data_length
    - ciphertext
    - ciphertext_length
    - plaintext
    - plaintext_size
    - plaintext_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 134
    functionName: mbedtls_test_transparent_aead_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_aead_decrypt
    - mbedtls_psa_aead_decrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_decrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data,
      size_t additional_data_length, const uint8_t *ciphertext, size_t ciphertext_length,
      uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:252,1
    - Dst: mbedtls_psa_aead_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - operation
    - ad_length
    - plaintext_length
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: mbedtls_test_transparent_aead_set_lengths
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_set_lengths
    - libtestdriver1_mbedtls_psa_aead_set_lengths
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_set_lengths( mbedtls_transparent_test_driver_aead_operation_t
      *operation, size_t ad_length, size_t plaintext_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:315,1
    - Dst: mbedtls_psa_aead_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 6
    argNames:
    - operation
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 334
    functionName: mbedtls_test_transparent_aead_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_update
    - libtestdriver1_mbedtls_psa_aead_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_update( mbedtls_transparent_test_driver_aead_operation_t
      *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t
      output_size, size_t *output_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:397,1
    - Dst: mbedtls_psa_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:406,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:423,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:430,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - operation
    - plaintext
    - plaintext_size
    - plaintext_length
    - tag
    - tag_length
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 434
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 434
    functionName: mbedtls_test_transparent_aead_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_psa_aead_finish
    - mbedtls_ct_memcmp
    - libtestdriver1_mbedtls_psa_aead_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_verify( mbedtls_transparent_test_driver_aead_operation_t
      *operation, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length,
      const uint8_t *tag, size_t tag_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:448,1
    - Dst: mbedtls_psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_transparent_test_driver_aead_operation_t*
    constantsTouched: []
    func_position:
      end: 459
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 459
    functionName: mbedtls_test_transparent_aead_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_aead.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_aead_abort
    - mbedtls_psa_aead_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_aead_abort( mbedtls_transparent_test_driver_aead_operation_t
      *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/platform_builtin_keys.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - key_id
    - lifetime
    - slot_number
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_lifetime_t*
    - psa_drv_slot_number_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: mbedtls_psa_platform_get_builtin_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/platform_builtin_keys.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_platform_get_builtin_key( mbedtls_svc_key_id_t
      key_id, psa_key_lifetime_t *lifetime, psa_drv_slot_number_t *slot_number) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:100,1
    - Dst: mbedtls_psa_cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:120,1
    - Dst: libtestdriver1_mbedtls_psa_cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 127
    functionName: mbedtls_test_transparent_cipher_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_cipher_decrypt
    - memcpy
    - mbedtls_psa_cipher_decrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_decrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size,
      size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:175,1
    - Dst: mbedtls_psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - operation
    - attributes
    - key
    - key_length
    - alg
    argTypes:
    - mbedtls_transparent_test_driver_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 185
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 185
    functionName: mbedtls_test_transparent_cipher_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_cipher_decrypt_setup
    - mbedtls_psa_cipher_decrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_decrypt_setup( mbedtls_transparent_test_driver_cipher_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key, size_t
      key_length, psa_algorithm_t alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:225,1
    - Dst: mbedtls_psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - operation
    - iv
    - iv_length
    argTypes:
    - mbedtls_transparent_test_driver_cipher_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 232
    functionName: mbedtls_test_transparent_cipher_set_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_cipher_set_iv
    - mbedtls_psa_cipher_set_iv
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_set_iv( mbedtls_transparent_test_driver_cipher_operation_t
      *operation, const uint8_t *iv, size_t iv_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:288,1
    - Dst: libtestdriver1_mbedtls_psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:302,1
    - Dst: mbedtls_psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - operation
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_transparent_test_driver_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 310
    functionName: mbedtls_test_transparent_cipher_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_cipher_finish
    - libtestdriver1_mbedtls_psa_cipher_finish
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_finish( mbedtls_transparent_test_driver_cipher_operation_t
      *operation, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 9
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: mbedtls_test_opaque_cipher_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_decrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t
      *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - operation
    - attributes
    - key
    - key_length
    - alg
    argTypes:
    - mbedtls_opaque_test_driver_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 382
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 382
    functionName: mbedtls_test_opaque_cipher_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_decrypt_setup( mbedtls_opaque_test_driver_cipher_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key, size_t
      key_length, psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - operation
    - iv
    - iv_length
    argTypes:
    - mbedtls_opaque_test_driver_cipher_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: mbedtls_test_opaque_cipher_set_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_set_iv( mbedtls_opaque_test_driver_cipher_operation_t
      *operation, const uint8_t *iv, size_t iv_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:50,1
    - Dst: mbedtls_psa_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:73,1
    - Dst: libtestdriver1_mbedtls_psa_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:67,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - iv
    - iv_length
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 80
    functionName: mbedtls_test_transparent_cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - memcpy
    - libtestdriver1_mbedtls_psa_cipher_encrypt
    - mbedtls_psa_cipher_encrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_encrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *iv, size_t iv_length, const uint8_t *input, size_t input_length,
      uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:194,1
    - Dst: mbedtls_psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:196,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_transparent_test_driver_cipher_operation_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: mbedtls_test_transparent_cipher_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_cipher_abort
    - mbedtls_psa_cipher_abort
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_abort( mbedtls_transparent_test_driver_cipher_operation_t
      *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:141,1
    - Dst: libtestdriver1_mbedtls_psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:149,1
    - Dst: mbedtls_psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - operation
    - attributes
    - key
    - key_length
    - alg
    argTypes:
    - mbedtls_transparent_test_driver_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 159
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 159
    functionName: mbedtls_test_transparent_cipher_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_cipher_encrypt_setup
    - mbedtls_psa_cipher_encrypt_setup
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_encrypt_setup( mbedtls_transparent_test_driver_cipher_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key, size_t
      key_length, psa_algorithm_t alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:249,1
    - Dst: mbedtls_psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:267,1
    - Dst: libtestdriver1_mbedtls_psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 6
    argNames:
    - operation
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_transparent_test_driver_cipher_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 273
    functionName: mbedtls_test_transparent_cipher_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_cipher_update
    - libtestdriver1_mbedtls_psa_cipher_update
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_cipher_update( mbedtls_transparent_test_driver_cipher_operation_t
      *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t
      output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - operation
    - attributes
    - key
    - key_length
    - alg
    argTypes:
    - mbedtls_opaque_test_driver_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: mbedtls_test_opaque_cipher_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_encrypt_setup( mbedtls_opaque_test_driver_cipher_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key, size_t
      key_length, psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_opaque_test_driver_cipher_operation_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: mbedtls_test_opaque_cipher_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_abort( mbedtls_opaque_test_driver_cipher_operation_t
      *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - operation
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_opaque_test_driver_cipher_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 417
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 417
    functionName: mbedtls_test_opaque_cipher_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_update( mbedtls_opaque_test_driver_cipher_operation_t
      *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t
      output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - operation
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_opaque_test_driver_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 430
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 430
    functionName: mbedtls_test_opaque_cipher_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_finish( mbedtls_opaque_test_driver_cipher_operation_t
      *operation, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 11
    argNames:
    - attributes
    - key
    - key_length
    - alg
    - iv
    - iv_length
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 335
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 335
    functionName: mbedtls_test_opaque_cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_cipher_encrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, psa_algorithm_t alg, const
      uint8_t *iv, size_t iv_length, const uint8_t *input, size_t input_length, uint8_t
      *output, size_t output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: mbedtls_test_transparent_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_crypto_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_transparent_free(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_EXPORT_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - key_type
    - key_bits
    argTypes:
    - psa_key_type_t
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: mbedtls_test_opaque_size_function
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - PSA_EXPORT_KEY_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_test_opaque_size_function( const psa_key_type_t key_type,
      const size_t key_bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: mbedtls_test_opaque_get_base_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t mbedtls_test_opaque_get_base_size() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_opaque_get_base_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - wrapped_key
    - wrapped_key_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 188
    functionName: mbedtls_test_opaque_unwrap_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_get_base_size
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_unwrap_key( const uint8_t *wrapped_key,
      size_t wrapped_key_length, uint8_t *key_buffer, size_t key_buffer_size, size_t
      *key_buffer_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:206,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:212,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:213,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:213,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:212,1
    - Dst: libtestdriver1_mbedtls_psa_ecp_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:216,1
    - Dst: mbedtls_psa_ecp_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:220,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:223,1
    - Dst: libtestdriver1_mbedtls_psa_rsa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:226,1
    - Dst: mbedtls_psa_rsa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:231,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:236,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:236,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:237,1
    - Dst: mbedtls_psa_ffdh_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:244,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:237,1
    - Dst: libtestdriver1_mbedtls_psa_ffdh_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:240,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 4
    argNames:
    - attributes
    - key
    - key_size
    - key_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 251
    functionName: mbedtls_test_transparent_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_ecp_generate_key
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - memcpy
    - mbedtls_psa_ecp_generate_key
    - mbedtls_psa_rsa_generate_key
    - PSA_KEY_TYPE_IS_DH
    - libtestdriver1_mbedtls_psa_ffdh_generate_key
    - mbedtls_psa_ffdh_generate_key
    - psa_get_key_type
    - libtestdriver1_mbedtls_psa_rsa_generate_key
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_generate_key( const psa_key_attributes_t
      *attributes, uint8_t *key, size_t key_size, size_t *key_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:273,1
    - Dst: mbedtls_psa_ecp_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:293,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:299,1
    - Dst: libtestdriver1_mbedtls_psa_ecp_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:286,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:282,1
    - Dst: libtestdriver1_mbedtls_psa_rsa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:303,1
    - Dst: mbedtls_psa_rsa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:310,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:316,1
    - Dst: libtestdriver1_mbedtls_psa_ffdh_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:320,1
    - Dst: mbedtls_psa_ffdh_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:327,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 343
    functionName: mbedtls_test_transparent_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_rsa_import_key
    - mbedtls_psa_ffdh_import_key
    - libtestdriver1_mbedtls_psa_ffdh_import_key
    - mbedtls_psa_ecp_import_key
    - PSA_KEY_TYPE_IS_DH
    - mbedtls_psa_rsa_import_key
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_type
    - libtestdriver1_mbedtls_psa_ecp_import_key
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_import_key( const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:458,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:459,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:465,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:466,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:462,1
    - Dst: psa_get_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:469,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:478,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:486,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:489,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:492,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:504,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:516,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:520,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:519,1
    - Dst: mbedtls_test_opaque_unwrap_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:521,1
    - Dst: psa_get_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:495,1
    - Dst: PSA_KEY_TYPE_IS_UNSTRUCTURED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:518,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 6
    argNames:
    - attributes
    - key
    - key_length
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 527
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 527
    functionName: mbedtls_test_opaque_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_unwrap_key
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - PSA_KEY_TYPE_IS_UNSTRUCTURED
    - PSA_ALG_ECDSA
    - psa_get_key_bits
    - memcpy
    - psa_get_key_algorithm
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_type
    - psa_get_key_usage_flags
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_export_key( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, uint8_t *data, size_t data_size,
      size_t *data_length) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:615,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:623,1
    - Dst: mbedtls_test_opaque_unwrap_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:624,1
    - Dst: libtestdriver1_mbedtls_psa_ecp_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:630,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:618,1
    - Dst: mbedtls_psa_ecp_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:636,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:644,1
    - Dst: mbedtls_test_opaque_unwrap_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:645,1
    - Dst: libtestdriver1_mbedtls_psa_rsa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:651,1
    - Dst: mbedtls_psa_rsa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:657,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:681,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:688,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:696,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:684,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:670,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:680,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:687,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 6
    argNames:
    - attributes
    - key
    - key_length
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 704
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 704
    functionName: mbedtls_test_opaque_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_unwrap_key
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - mbedtls_calloc
    - mbedtls_free
    - PSA_ALG_ECDSA
    - libtestdriver1_mbedtls_psa_rsa_export_public_key
    - psa_get_key_bits
    - memcpy
    - mbedtls_psa_rsa_export_public_key
    - psa_get_key_algorithm
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_type
    - PSA_KEY_TYPE_IS_ECC
    - mbedtls_psa_ecp_export_public_key
    - libtestdriver1_mbedtls_psa_ecp_export_public_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_export_public_key( const psa_key_attributes_t
      *attributes, const uint8_t *key, size_t key_length, uint8_t *data, size_t data_size,
      size_t *data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libtestdriver1_psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: mbedtls_test_transparent_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - libtestdriver1_psa_crypto_init
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: mbedtls_test_opaque_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - attributes
    - key
    - key_size
    - key_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: mbedtls_test_opaque_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_generate_key( const psa_key_attributes_t
      *attributes, uint8_t *key, size_t key_size, size_t *key_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:356,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:368,1
    - Dst: PSA_KEY_TYPE_IS_UNSTRUCTURED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:373,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:374,1
    - Dst: psa_validate_unstructured_key_bit_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:376,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:387,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:389,1
    - Dst: libtestdriver1_mbedtls_psa_ecp_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:393,1
    - Dst: mbedtls_psa_ecp_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:400,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:411,1
    - Dst: mbedtls_test_opaque_wrap_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:438,1
    - Dst: mbedtls_psa_rsa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:422,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:441,1
    - Dst: libtestdriver1_mbedtls_psa_rsa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:415,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 443
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 443
    functionName: mbedtls_test_opaque_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_rsa_import_key
    - PSA_KEY_TYPE_IS_UNSTRUCTURED
    - mbedtls_calloc
    - PSA_BYTES_TO_BITS
    - mbedtls_test_opaque_wrap_key
    - mbedtls_free
    - psa_validate_unstructured_key_bit_size
    - memcpy
    - mbedtls_psa_ecp_import_key
    - mbedtls_psa_rsa_import_key
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_type
    - libtestdriver1_mbedtls_psa_ecp_import_key
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_import_key( const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:546,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:554,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:552,1
    - Dst: mbedtls_psa_ecp_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:564,1
    - Dst: libtestdriver1_mbedtls_psa_ecp_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:558,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:569,1
    - Dst: libtestdriver1_mbedtls_psa_rsa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:573,1
    - Dst: mbedtls_psa_rsa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:579,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:584,1
    - Dst: libtestdriver1_mbedtls_psa_ffdh_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:588,1
    - Dst: mbedtls_psa_ffdh_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:594,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 606
    functionName: mbedtls_test_transparent_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - libtestdriver1_mbedtls_psa_ffdh_export_public_key
    - memcpy
    - libtestdriver1_mbedtls_psa_rsa_export_public_key
    - PSA_KEY_TYPE_IS_DH
    - mbedtls_psa_rsa_export_public_key
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_type
    - mbedtls_psa_ffdh_export_public_key
    - PSA_KEY_TYPE_IS_ECC
    - mbedtls_psa_ecp_export_public_key
    - libtestdriver1_mbedtls_psa_ecp_export_public_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_transparent_export_public_key( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - attributes
    - source_key
    - source_key_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: mbedtls_test_opaque_copy_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_copy_key( psa_key_attributes_t *attributes,
      const uint8_t *source_key, size_t source_key_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: mbedtls_test_opaque_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_test_opaque_free(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_opaque_get_base_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:134,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - key
    - key_length
    - wrapped_key_buffer
    - wrapped_key_buffer_size
    - wrapped_key_buffer_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: mbedtls_test_opaque_wrap_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_test_opaque_get_base_size
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_test_opaque_wrap_key( const uint8_t *key,
      size_t key_length, uint8_t *wrapped_key_buffer, size_t wrapped_key_buffer_size,
      size_t *wrapped_key_buffer_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:723,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:725,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:730,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:741,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:724,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:743,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:744,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:745,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:750,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c:751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - slot_number
    - attributes
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_drv_slot_number_t
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 764
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 764
    functionName: mbedtls_test_opaque_get_builtin_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/src/drivers/test_driver_key_management.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_ALG_ECDSA
    - psa_set_key_algorithm
    - psa_set_key_bits
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_test_opaque_get_builtin_key( psa_drv_slot_number_t
      slot_number, psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size,
      size_t *key_buffer_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/configs/user-config-malloc-0-null.h:16,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: custom_calloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/configs/user-config-malloc-0-null.h
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void*
    signature: 'static inline void *custom_calloc(size_t nmemb, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: mbedtls_test_driver_hash_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/hash.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_hash_hooks_t
    signature: 'static inline mbedtls_test_driver_hash_hooks_t mbedtls_test_driver_hash_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: mbedtls_test_driver_aead_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/aead.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_aead_hooks_t
    signature: 'static inline mbedtls_test_driver_aead_hooks_t mbedtls_test_driver_aead_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: mbedtls_test_driver_key_agreement_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/key_agreement.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_key_agreement_hooks_t
    signature: 'static inline mbedtls_test_driver_key_agreement_hooks_t mbedtls_test_driver_key_agreement_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: mbedtls_test_driver_asymmetric_encryption_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/asymmetric_encryption.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_asymmetric_encryption_hooks_t
    signature: 'static inline mbedtls_test_driver_asymmetric_encryption_hooks_t mbedtls_test_driver_asymmetric_encryption_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: mbedtls_test_driver_key_management_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/key_management.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_key_management_hooks_t
    signature: 'static inline mbedtls_test_driver_key_management_hooks_t mbedtls_test_driver_key_management_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: mbedtls_test_driver_cipher_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_cipher_hooks_t
    signature: 'static inline mbedtls_test_driver_cipher_hooks_t mbedtls_test_driver_cipher_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: mbedtls_test_driver_signature_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/signature.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_signature_hooks_t
    signature: 'static inline mbedtls_test_driver_signature_hooks_t mbedtls_test_driver_signature_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: mbedtls_test_driver_mac_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/mac.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_mac_hooks_t
    signature: 'static inline mbedtls_test_driver_mac_hooks_t mbedtls_test_driver_mac_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: mbedtls_test_driver_pake_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/tests/include/test/drivers/pake.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_test_driver_pake_hooks_t
    signature: 'static inline mbedtls_test_driver_pake_hooks_t mbedtls_test_driver_pake_hooks_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/wince_main.c:18,1
    - Dst: wcstombs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/wince_main.c:24,1
    - Dst: main
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/wince_main.c:27,1
    - Dst: calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/wince_main.c:23,1
    - Dst: _tcslen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/wince_main.c:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - targv
    argTypes:
    - int
    - _TCHAR*
    constantsTouched: []
    func_position:
      end: 28
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 28
    functionName: _tmain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/wince_main.c
    functionUses: []
    functionsReached:
    - wcstombs
    - calloc
    - main
    - _tcslen
    linkageType: ''
    returnType: int
    signature: 'int _tmain(int argc, _TCHAR *targv[]) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: exit_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:283,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:291,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:286,1
    - Dst: exit_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:288,1
    - Dst: exit_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:293,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:296,1
    - Dst: exit_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:298,1
    - Dst: exit_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:301,1
    - Dst: elapsed_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:352,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:385,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:390,1
    - Dst: elapsed_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:386,1
    - Dst: mbedtls_timing_get_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:358,1
    - Dst: mbedtls_timing_get_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:363,1
    - Dst: elapsed_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:388,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:277,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 47
    argCount: 1
    argNames:
    - "(p, \"bad_cid\") == 0) {\n            opt.bad_cid = (unsigned) atoi(q);\n        }\n#endif
      /* MBEDTLS_SSL_DTLS_CONNECTION_ID */\n        else if (strcmp(p, \"protect_hvr\")
      == 0) {\n            opt.protect_hvr = atoi(q);\n            if (opt.protect_hvr
      < 0 || opt.protect_hvr > 1) {\n                exit_usage(p, q);\n            }\n
      \       } else if (strcmp(p, \"protect_len\") == 0) {\n            opt.protect_len
      = atoi(q);\n            if (opt.protect_len < 0) {\n                exit_usage(p,
      q);\n            }\n        } else if (strcmp(p, \"inject_clihlo\") == 0) {\n
      \           opt.inject_clihlo = atoi(q);\n            if (opt.inject_clihlo
      < 0 || opt.inject_clihlo > 1) {\n                exit_usage(p, q);\n            }\n
      \       } else if (strcmp(p, \"seed\") == 0) {\n            opt.seed = atoi(q);\n
      \           if (opt.seed == 0) {\n                exit_usage(p, q);\n            }\n
      \       } else {\n            exit_usage(p, NULL);\n        }\n    }\n}\n\nstatic
      const char *msg_type(unsigned char *msg, size_t len)\n{\n    if (len < 1) {\n
      \       return \"Invalid\";\n    }\n    switch (msg[0]) {\n        case MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC:
      \   return \"ChangeCipherSpec\";\n        case MBEDTLS_SSL_MSG_ALERT:                 return
      \"Alert\";\n        case MBEDTLS_SSL_MSG_APPLICATION_DATA:      return \"ApplicationData\";\n
      \       case MBEDTLS_SSL_MSG_CID:                   return \"CID\";\n        case
      MBEDTLS_SSL_MSG_HANDSHAKE:             break; /* See below */\n        default:
      \                           return \"Unknown\";\n    }\n\n    if (len < 13 +
      12) {\n        return \"Invalid handshake\";\n    }\n\n    /*\n     * Our handshake
      message are less than 2^16 bytes long, so they should\n     * have 0 as the
      first byte of length, frag_offset and frag_length.\n     * Otherwise, assume
      they are encrypted.\n     */\n    if (msg[14] || msg[19] || msg[22]) {\n        return
      \"Encrypted handshake\";\n    }\n\n    switch (msg[13]) {\n        case MBEDTLS_SSL_HS_HELLO_REQUEST:
      \         return \"HelloRequest\";\n        case MBEDTLS_SSL_HS_CLIENT_HELLO:
      \          return \"ClientHello\";\n        case MBEDTLS_SSL_HS_SERVER_HELLO:
      \          return \"ServerHello\";\n        case MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST:
      \  return \"HelloVerifyRequest\";\n        case MBEDTLS_SSL_HS_NEW_SESSION_TICKET:
      \    return \"NewSessionTicket\";\n        case MBEDTLS_SSL_HS_CERTIFICATE:
      \           return \"Certificate\";\n        case MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE:
      \   return \"ServerKeyExchange\";\n        case MBEDTLS_SSL_HS_CERTIFICATE_REQUEST:
      \   return \"CertificateRequest\";\n        case MBEDTLS_SSL_HS_SERVER_HELLO_DONE:
      \     return \"ServerHelloDone\";\n        case MBEDTLS_SSL_HS_CERTIFICATE_VERIFY:
      \    return \"CertificateVerify\";\n        case MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE:
      \   return \"ClientKeyExchange\";\n        case MBEDTLS_SSL_HS_FINISHED:               return
      \"Finished\";\n        default:                            return \"Unknown
      handshake\";\n    }\n}\n\n#if defined(MBEDTLS_TIMING_C)\n/* Return elapsed time
      in milliseconds since the first call */\nstatic unsigned elapsed_time(void)\n{\n
      \   static int initialized = 0;\n    static struct mbedtls_timing_hr_time hires;\n\n
      \   if (initialized == 0) {\n        (void) mbedtls_timing_get_timer(&hires,
      1);\n        initialized = 1;\n        return 0;\n    }\n\n    return mbedtls_timing_get_timer(&hires,
      0);\n}\n\ntypedef struct {\n    mbedtls_net_context *ctx;\n\n    const char
      *description;\n\n    unsigned packet_lifetime;\n    unsigned num_datagrams;\n\n
      \   unsigned char data[MAX_MSG_SIZE];\n    size_t len;\n\n} ctx_buffer;\n\nstatic
      ctx_buffer outbuf[2];\n\nstatic int ctx_buffer_flush(ctx_buffer *buf)"
    argTypes:
    - strcmp
    constantsTouched: []
    func_position:
      end: 396
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 396
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - exit_usage
    - atoi
    - mbedtls_timing_get_timer
    - mbedtls_net_send
    - elapsed_time
    linkageType: ''
    returnType: else
    signature: 'else if (strcmp(p, "bad_cid") == 0) { opt.bad_cid = (unsigned) atoi(q);
      }#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ else if (strcmp(p, "protect_hvr")
      == 0) { opt.protect_hvr = atoi(q); if (opt.protect_hvr < 0 || opt.protect_hvr
      > 1) { exit_usage(p, q); } } else if (strcmp(p, "protect_len") == 0) { opt.protect_len
      = atoi(q); if (opt.protect_len < 0) { exit_usage(p, q); } } else if (strcmp(p,
      "inject_clihlo") == 0) { opt.inject_clihlo = atoi(q); if (opt.inject_clihlo
      < 0 || opt.inject_clihlo > 1) { exit_usage(p, q); } } else if (strcmp(p, "seed")
      == 0) { opt.seed = atoi(q); if (opt.seed == 0) { exit_usage(p, q); } } else
      { exit_usage(p, NULL); } }}static const char *msg_type(unsigned char *msg, size_t
      len){ if (len < 1) { return "Invalid"; } switch (msg[0]) { case MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC:
      return "ChangeCipherSpec"; case MBEDTLS_SSL_MSG_ALERT: return "Alert"; case
      MBEDTLS_SSL_MSG_APPLICATION_DATA: return "ApplicationData"; case MBEDTLS_SSL_MSG_CID:
      return "CID"; case MBEDTLS_SSL_MSG_HANDSHAKE: break; /* See below */ default:
      return "Unknown"; } if (len < 13 + 12) { return "Invalid handshake"; } /* *
      Our handshake message are less than 2^16 bytes long, so they should * have 0
      as the first byte of length, frag_offset and frag_length. * Otherwise, assume
      they are encrypted. */ if (msg[14] || msg[19] || msg[22]) { return "Encrypted
      handshake"; } switch (msg[13]) { case MBEDTLS_SSL_HS_HELLO_REQUEST: return "HelloRequest";
      case MBEDTLS_SSL_HS_CLIENT_HELLO: return "ClientHello"; case MBEDTLS_SSL_HS_SERVER_HELLO:
      return "ServerHello"; case MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST: return "HelloVerifyRequest";
      case MBEDTLS_SSL_HS_NEW_SESSION_TICKET: return "NewSessionTicket"; case MBEDTLS_SSL_HS_CERTIFICATE:
      return "Certificate"; case MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE: return "ServerKeyExchange";
      case MBEDTLS_SSL_HS_CERTIFICATE_REQUEST: return "CertificateRequest"; case MBEDTLS_SSL_HS_SERVER_HELLO_DONE:
      return "ServerHelloDone"; case MBEDTLS_SSL_HS_CERTIFICATE_VERIFY: return "CertificateVerify";
      case MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE: return "ClientKeyExchange"; case MBEDTLS_SSL_HS_FINISHED:
      return "Finished"; default: return "Unknown handshake"; }}#if defined(MBEDTLS_TIMING_C)/*
      Return elapsed time in milliseconds since the first call */static unsigned elapsed_time(void){
      static int initialized = 0; static struct mbedtls_timing_hr_time hires; if (initialized
      == 0) { (void) mbedtls_timing_get_timer(&hires, 1); initialized = 1; return
      0; } return mbedtls_timing_get_timer(&hires, 0);}typedef struct { mbedtls_net_context
      *ctx; const char *description; unsigned packet_lifetime; unsigned num_datagrams;
      unsigned char data[MAX_MSG_SIZE]; size_t len;} ctx_buffer;static ctx_buffer
      outbuf[2];static int ctx_buffer_flush(ctx_buffer *buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctx_buffer_append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:465,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:469,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - mbedtls_net_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 474
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 474
    functionName: dispatch_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_net_send
    - ctx_buffer_append
    linkageType: ''
    returnType: int
    signature: 'static int dispatch_data(mbedtls_net_context *ctx, const unsigned
      char *data, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:489,1
    - Dst: elapsed_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:490,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:497,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:492,1
    - Dst: elapsed_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:493,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:500,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - p
    - why
    argTypes:
    - packet*
    - char*
    constantsTouched: []
    func_position:
      end: 506
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 506
    functionName: print_packet
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - fflush
    - elapsed_time
    linkageType: ''
    returnType: void
    signature: 'static void print_packet(const packet *p, const char *why) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - delay
    argTypes:
    - packet*
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: delay_packet
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void delay_packet(packet *delay) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:684,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:706,1
    - Dst: delay_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:708,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:723,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:734,1
    - Dst: delay_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:741,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:711,1
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:728,1
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:739,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:678,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:691,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:679,1
    - Dst: print_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:687,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:722,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:725,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:736,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:731,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:733,1
    - Dst: send_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:744,1
    - Dst: send_delayed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:749,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 3
    argNames:
    - way
    - dst
    - src
    argTypes:
    - char*
    - mbedtls_net_context*
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 756
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 756
    functionName: handle_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - rand
    - msg_type
    - send_packet
    - delay_packet
    - mbedtls_net_recv
    - strcmp
    - mbedtls_free
    - print_packet
    - send_delayed
    linkageType: ''
    returnType: int
    signature: 'static int handle_message(const char *way, mbedtls_net_context *dst,
      mbedtls_net_context *src) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:424,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:431,1
    - Dst: elapsed_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:440,1
    - Dst: ctx_buffer_flush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:430,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - ctx_buffer*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 444
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 444
    functionName: ctx_buffer_append
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - memcpy
    - elapsed_time
    - ctx_buffer_flush
    linkageType: ''
    returnType: int
    signature: 'static int ctx_buffer_append(ctx_buffer *buf, const unsigned char
      *data, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elapsed_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - ctx_buffer*
    constantsTouched: []
    func_position:
      end: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    functionName: ctx_buffer_time_remaining
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - elapsed_time
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned ctx_buffer_time_remaining(ctx_buffer *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:166,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:171,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:168,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: exit_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: void
    signature: 'static void exit_usage(const char *name, const char *value) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: print_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:578,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:586,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:580,1
    - Dst: dispatch_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:572,1
    - Dst: dispatch_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:579,1
    - Dst: dispatch_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:602,1
    - Dst: print_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:551,1
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:587,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:599,1
    - Dst: print_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:600,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:537,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:538,1
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:545,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:544,1
    - Dst: dispatch_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:553,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:554,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:561,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:563,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:573,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:566,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:547,1
    - Dst: print_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:569,1
    - Dst: dispatch_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:590,1
    - Dst: print_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:588,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:591,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:604,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 2
    argNames:
    - p
    - why
    argTypes:
    - packet*
    - char*
    constantsTouched: []
    func_position:
      end: 612
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 612
    functionName: send_packet
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - rand
    - strcmp
    - memcpy
    - dispatch_data
    - print_packet
    linkageType: ''
    returnType: int
    signature: 'static int send_packet(const packet *p, const char *why) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: clear_pending
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void clear_pending(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_packet
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:638,1
    - Dst: clear_pending
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: send_delayed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - send_packet
    - clear_pending
    linkageType: ''
    returnType: int
    signature: 'static int send_delayed(void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:777,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:795,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:803,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:836,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:834,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:911,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:912,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:913,1
    - Dst: handle_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:925,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:947,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:959,1
    - Dst: ctx_buffer_time_remaining
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:881,1
    - Dst: get_options
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:779,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:776,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:813,1
    - Dst: mbedtls_net_bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:822,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:820,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:828,1
    - Dst: mbedtls_net_accept
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:839,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:845,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:851,1
    - Dst: ctx_buffer_time_remaining
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:880,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:931,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:948,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:775,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:809,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:818,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:824,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:837,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:841,1
    - Dst: clear_pending
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:850,1
    - Dst: select
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:915,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:924,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:949,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:958,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:791,1
    - Dst: srand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:798,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:805,1
    - Dst: mbedtls_net_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:807,1
    - Dst: ctx_buffer_flush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:886,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:910,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:920,1
    - Dst: handle_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:932,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:955,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:960,1
    - Dst: ctx_buffer_flush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:892,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:954,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:962,1
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:916,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 125
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 963
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 963
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - srand
    - mbedtls_time
    - mbedtls_net_bind
    - perror
    - FD_ISSET
    - mbedtls_strerror
    - ctx_buffer_flush
    - mbedtls_net_accept
    - handle_message
    - mbedtls_net_init
    - mbedtls_printf
    - FD_SET
    - mbedtls_net_connect
    - mbedtls_free
    - mbedtls_exit
    - select
    - get_options
    - fflush
    - clear_pending
    - FD_ZERO
    - ctx_buffer_time_remaining
    - mbedtls_net_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:37,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/udp_proxy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 430
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:223,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:609,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:895,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1297,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1281,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:911,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1583,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1969,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2255,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2271,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2705,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2991,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2111,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3529,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2207,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3281,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:215,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:601,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:887,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1273,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1575,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1961,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2247,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2633,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2681,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2935,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3105,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3489,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3161,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:239,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:625,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:927,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1313,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1599,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1985,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2287,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2641,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2673,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2959,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2711,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3313,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:231,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:617,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:919,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1305,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:903,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1289,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1591,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1977,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2263,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2279,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3041,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3439,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3495,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:255,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:271,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:641,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:657,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:943,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1329,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1615,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1631,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2001,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2017,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2647,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2975,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3071,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3223,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:935,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1321,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:247,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:263,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:633,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:649,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1607,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1623,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1993,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2009,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2951,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3047,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2591,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:959,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:287,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:673,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:975,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1345,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1361,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1647,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2033,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2319,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2335,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2583,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3007,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2799,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3297,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:279,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:665,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:951,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1337,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1639,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2025,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2311,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2697,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2983,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2999,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2431,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2527,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3273,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:991,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:303,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:689,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1377,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1663,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2049,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2351,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2737,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3023,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3409,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3481,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3233,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:295,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:681,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:983,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:967,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1353,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1369,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1655,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2041,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2327,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2343,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2463,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3209,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2273,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:705,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1007,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:319,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:335,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:721,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1393,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1679,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1695,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2065,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2081,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:713,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:311,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:327,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:697,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:999,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1385,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1671,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1687,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2057,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2073,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2967,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2777,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2209,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:737,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1039,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:351,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1023,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1409,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1425,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1711,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2097,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2383,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2399,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2815,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2239,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1015,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:343,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:729,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1401,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1703,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2089,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2375,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2761,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3063,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3449,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2713,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3137,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2791,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1055,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:753,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:367,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1441,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1727,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2113,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2415,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2801,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3087,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3289,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3441,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3113,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2423,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2175,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1047,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1031,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:359,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:745,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1417,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1433,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1719,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2105,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2391,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2407,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2649,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3073,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3225,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:433,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:735,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1121,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1407,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1793,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2095,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2481,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2767,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3049,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3153,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2593,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2265,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:425,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:727,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1113,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1399,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1785,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2087,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2473,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2759,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3009,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3145,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3079,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:751,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1137,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:449,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:465,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:711,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1423,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1439,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1809,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1825,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2071,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2985,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3039,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2529,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2201,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2927,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:441,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:457,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:743,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1129,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1415,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1431,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1801,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1817,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2103,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2489,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3015,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2559,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2943,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:783,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1169,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:481,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:767,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1153,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1455,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1841,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2127,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2143,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2231,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3457,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3129,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2863,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2535,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:473,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:759,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1145,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1447,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1833,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2119,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2505,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2807,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3193,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3375,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3089,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3433,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2495,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:497,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:799,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1185,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1471,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1857,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2159,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2545,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2831,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2969,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3217,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3065,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2471,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:775,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1161,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:489,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1177,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:791,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1463,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1849,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2135,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2151,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2521,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3025,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3311,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2817,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2913,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:127,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:143,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:513,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:529,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:815,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1201,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1487,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1503,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1873,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1889,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3001,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2847,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:807,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1193,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:135,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:505,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:521,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1479,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1495,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1865,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1881,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2167,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3031,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2849,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2823,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2575,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:847,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1233,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:831,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1217,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:119,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:159,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:545,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1519,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1905,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2191,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3473,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2783,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3431,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2455,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2879,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2551,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:151,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:537,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:823,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1209,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1511,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1897,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2183,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2569,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2871,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3257,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3295,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3391,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2511,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2855,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:863,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1249,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:111,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:175,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:561,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1535,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1921,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2223,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2609,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2895,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3271,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3367,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2487,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2625,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:839,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1225,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:167,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:553,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:855,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1241,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1527,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1913,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2199,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2215,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3327,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3119,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2833,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2601,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1265,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:879,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:191,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:207,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:577,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:593,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1551,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1567,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1937,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1953,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3303,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2809,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2561,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1257,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:871,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:183,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:199,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:569,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:585,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1543,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1559,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1929,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1945,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2537,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2839,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:273,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:559,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:945,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1247,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1633,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1919,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2305,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2607,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2993,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3279,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3377,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2497,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:249,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:265,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:551,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1223,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:937,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1239,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1609,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1625,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1911,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2297,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2719,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3407,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3465,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2775,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1263,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:289,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:575,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:591,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:977,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:961,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1649,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1935,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1951,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2321,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3287,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3097,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3503,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:953,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:281,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:567,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:583,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1255,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:969,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1641,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1927,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1943,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2313,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2655,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3135,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2945,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1295,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:305,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:321,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:607,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1279,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:993,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1665,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1681,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1967,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2353,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3033,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3319,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3111,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2577,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2921,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:985,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:297,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:599,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1271,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1657,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1959,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2345,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2631,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3017,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2401,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2881,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2553,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2977,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1009,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:337,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:623,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1311,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1697,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1983,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2369,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2671,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3057,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3343,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3393,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2513,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2857,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2185,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2911,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1303,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1287,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:313,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:329,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:615,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1001,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1673,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1689,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1975,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2361,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3369,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3423,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2887,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:655,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1041,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:353,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:639,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1025,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1327,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1713,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1999,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2015,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2385,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3329,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3399,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3519,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2519,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1017,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1319,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:345,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:631,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:647,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1033,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1705,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1991,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2007,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2377,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3359,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3151,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3247,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2961,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:369,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:385,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:671,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1057,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1343,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1359,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1729,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1745,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2031,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2303,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3335,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2785,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3455,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2903,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2841,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2937,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1049,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:361,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:663,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1335,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1721,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2023,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2409,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2695,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3081,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3383,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2417,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3183,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2897,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1073,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:401,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:687,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1375,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1761,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2047,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2433,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2721,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2735,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3121,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2393,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2873,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1065,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:377,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:393,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:679,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1351,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1367,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1737,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1753,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2039,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2425,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3385,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2751,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3505,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:719,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1105,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1089,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:417,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:703,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1391,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1777,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2063,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2079,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2449,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2657,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3345,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2727,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3415,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3535,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1097,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1081,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:409,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:695,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1383,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1769,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2055,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2441,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2457,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2687,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3321,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3167,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3511,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3263,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:383,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:399,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:769,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:785,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1071,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1457,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1743,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1759,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2129,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2145,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2663,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3351,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3471,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3143,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3239,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:375,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:391,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:761,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:777,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1063,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1449,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1735,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1751,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2121,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2137,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2295,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2623,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3305,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3103,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3447,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3199,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2585,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:129,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:415,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:801,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1103,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1087,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1473,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1489,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1775,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2161,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2447,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2599,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3425,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3175,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:407,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:793,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1079,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1465,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1767,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2153,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2439,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2825,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3127,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3513,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3401,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2465,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3521,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:145,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:431,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:817,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1119,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1505,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1791,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2177,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2479,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2865,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2617,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3361,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2743,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3497,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3249,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:809,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:121,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:137,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:423,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1111,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1095,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1481,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1497,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1783,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2169,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3337,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2703,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3527,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1135,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:161,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:447,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:463,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:833,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:849,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1521,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1807,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1823,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2193,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2679,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3185,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3487,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3159,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:841,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:825,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:113,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:153,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:439,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:455,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1127,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1513,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1799,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1815,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2337,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2639,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2793,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3463,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3215,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:865,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1167,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:177,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:193,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:479,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1151,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1537,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1553,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1839,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2225,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2615,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2367,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2753,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3095,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2905,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1143,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:857,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:169,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:471,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1529,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1831,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2217,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2503,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2889,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3191,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2729,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3417,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3537,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:881,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:209,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:495,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1183,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1569,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1855,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2241,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2543,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2689,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2929,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3169,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3265,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1175,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1159,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:185,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:201,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:487,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:873,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1545,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1561,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1847,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2233,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2665,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3353,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3241,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1199,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:913,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:225,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:511,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:527,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:897,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1585,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1871,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1887,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2257,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3201,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:905,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:889,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1191,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:217,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:503,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:519,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1577,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1863,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1879,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2249,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3177,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3479,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3231,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2919,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1231,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1215,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:241,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:257,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:543,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:929,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1601,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1617,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1903,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2289,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2329,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3055,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2769,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3207,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:921,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1207,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:233,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:535,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1593,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:1895,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2281,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2567,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2953,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3255,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2359,1
    - Dst: MACRO_EXPANSION_TO_STR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:2745,1
    CyclomaticComplexity: 431
    EdgeCount: 431
    ICount: 1717
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3544
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 3544
    functionName: query_config
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c
    functionUses: []
    functionsReached:
    - strcmp
    - MACRO_EXPANSION_TO_STR
    linkageType: ''
    returnType: int
    signature: 'int query_config(const char *config) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5061,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3837,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3653,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4333,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4517,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4673,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3993,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4177,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4857,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5013,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5197,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5109,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5257,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4805,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4937,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3681,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3709,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4729,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4545,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3865,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4205,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4701,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4049,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4389,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4021,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4985,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4825,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4077,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4417,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4757,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3553,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3581,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3737,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3921,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4261,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4601,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3893,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4873,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5261,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5089,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5065,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3609,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3765,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4105,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4445,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3949,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4289,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4629,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4785,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4941,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4969,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5113,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4989,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4809,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3977,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4317,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4657,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3793,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3821,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3637,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4161,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4501,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4133,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4473,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5169,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4877,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4697,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4033,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4373,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4713,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4005,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4345,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4685,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3665,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3693,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3849,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4233,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5069,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4925,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4765,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5093,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3877,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4217,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4557,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4061,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4401,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4741,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3721,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4897,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5081,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5237,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4813,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4265,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4945,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5141,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5173,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5017,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4993,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4089,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4429,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4769,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3933,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4273,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4613,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3905,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4245,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4585,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3749,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4905,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4881,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3713,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3869,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4053,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4393,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4733,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4209,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4549,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4889,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5073,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5097,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4929,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4949,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4793,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5145,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3897,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4237,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4577,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3557,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3585,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3741,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4081,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4421,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4761,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3925,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4997,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4817,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5201,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5177,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5021,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3953,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4293,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4633,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3613,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3769,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4109,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4449,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4789,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4885,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4973,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4909,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4137,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4477,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3825,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3641,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3797,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3981,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4321,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4661,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4505,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4165,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5125,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5101,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4977,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4797,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5149,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4689,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4349,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4193,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4533,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3697,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3853,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3669,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4037,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4377,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4717,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5181,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5025,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5001,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5205,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4065,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4405,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4745,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3725,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3881,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4221,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4561,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4901,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4913,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5085,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5105,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4593,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3909,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4249,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4589,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4093,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4433,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4773,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3569,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3597,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3753,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3937,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5153,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5129,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4617,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5161,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4981,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3965,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4305,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4645,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4149,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4489,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4121,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4461,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3781,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3809,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3625,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4529,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5209,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5185,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5029,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4709,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3745,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3561,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3589,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3929,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4269,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4609,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3901,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4241,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4581,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4085,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4917,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5133,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4113,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4453,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3773,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3801,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3617,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3957,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4297,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4637,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4141,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4481,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5157,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5033,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5165,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4169,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4509,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3829,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3645,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3985,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4325,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4665,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4849,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5005,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5189,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5213,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4921,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4041,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4381,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4721,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4013,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4353,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4693,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3673,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3701,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3857,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4197,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3593,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5137,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3885,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4225,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4565,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4069,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4409,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4749,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3573,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3729,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3913,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4253,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4829,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4537,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5217,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3685,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5045,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5037,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3941,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4281,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4621,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3757,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3601,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4097,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4437,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4777,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4961,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5117,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5241,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4425,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4125,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4465,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3969,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4309,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4649,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3629,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3785,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3813,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4153,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4493,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4605,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4833,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4653,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4181,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4521,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4025,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4365,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4705,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3997,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4337,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4677,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3841,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3657,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4361,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5041,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4189,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5245,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5221,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5049,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3777,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3805,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3621,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4145,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4485,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4117,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4457,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3961,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4301,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4641,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3549,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3649,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3833,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3989,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4329,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4669,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4173,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4513,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4853,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5009,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5193,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4861,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4837,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4201,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4541,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3677,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3705,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3861,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4045,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4385,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4725,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4017,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4357,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5225,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5053,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5249,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3917,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4257,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4597,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3889,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4229,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4569,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3733,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3577,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4073,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4413,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4953,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4101,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4441,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3945,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4285,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4625,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3605,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3761,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4781,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4965,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5121,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4841,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4865,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4157,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4497,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4129,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4469,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3789,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3817,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3633,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4573,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3973,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4313,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5253,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3565,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5229,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5057,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4933,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4753,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4029,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4369,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4681,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4001,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4341,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4185,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4525,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3661,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3689,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3845,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4277,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4957,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4801,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4821,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4553,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3873,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4397,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4057,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4213,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4737,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:3717,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4893,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5077,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:5233,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4869,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4845,1
    - Dst: OUTPUT_MACRO_NAME_VALUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c:4009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 430
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5265
      start: 3546
    functionDepth: 0
    functionLinenumber: 3546
    functionLinenumberEnd: 5265
    functionName: list_config
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_config.c
    functionUses: []
    functionsReached:
    - OUTPUT_MACRO_NAME_VALUE
    linkageType: ''
    returnType: void
    signature: 'void list_config(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_included_headers.c:14,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_included_headers.c:17,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_included_headers.c:25,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_included_headers.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_included_headers.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:30,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:40,1
    - Dst: list_config
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:36,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:35,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:31,1
    - Dst: query_config
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:42,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:49,1
    - Dst: query_config
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:51,1
    - Dst: query_config
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c:59,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/query_compile_time_config.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - strcmp
    - query_config
    - list_config
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:27,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:31,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:30,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:29,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: void
    signature: 'static void usage(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:44,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:46,1
    - Dst: usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:45,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:51,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:49,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:52,1
    - Dst: fgetc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:55,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:61,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:64,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:67,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:70,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/zeroize.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - usage
    - mbedtls_platform_zeroize
    - mbedtls_exit
    - fgetc
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:86,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:97,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:129,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:132,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:145,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:164,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:166,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:170,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:57,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:58,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:60,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:59,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:82,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:113,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:102,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:156,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:169,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:63,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:64,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:72,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:89,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:118,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:124,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:137,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:168,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:68,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:77,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:107,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:87,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:93,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:90,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:128,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:167,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:171,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 97
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 173
    functionName: calloc_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_calloc
    - mbedtls_free
    linkageType: ''
    returnType: int
    signature: 'static int calloc_self_test(int verbose) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:182,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:187,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - n
    - ref_buf
    - ref_ret
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: test_snprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c
    functionUses: []
    functionsReached:
    - strncmp
    - mbedtls_snprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int test_snprintf(size_t n, const char *ref_buf, int ref_ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_entropy_seed_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:246,1
    - Dst: mbedtls_entropy_self_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: mbedtls_entropy_self_test_wrapper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c
    functionUses: []
    functionsReached:
    - mbedtls_entropy_self_test
    - create_entropy_seed_file
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_entropy_self_test_wrapper(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:198,1
    - Dst: test_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:199,1
    - Dst: test_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:202,1
    - Dst: test_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:200,1
    - Dst: test_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:201,1
    - Dst: test_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: run_test_snprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c
    functionUses: []
    functionsReached:
    - test_snprintf
    linkageType: ''
    returnType: int
    signature: 'static int run_test_snprintf(void) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:393,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:388,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:405,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:417,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:502,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:505,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:513,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:392,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:406,1
    - Dst: CHECK_PADDING_SIGNED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:477,1
    - Dst: CHECK_PADDING_SIGNED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:478,1
    - Dst: CHECK_PADDING_UNSIGNED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:487,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:501,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:504,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:545,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:572,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:397,1
    - Dst: CHECK_PADDING_SIGNED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:481,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:496,1
    - Dst: run_test_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:495,1
    - Dst: CHECK_PADDING_SIGNED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:479,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:526,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:565,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:574,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:579,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:582,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:387,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:398,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:414,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:416,1
    - Dst: CHECK_PADDING_UNSIGNED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:484,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:497,1
    - Dst: mbedtls_memory_buffer_alloc_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:519,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:535,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:551,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:569,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 124
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 583
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 583
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - CHECK_PADDING_SIGNED
    - strcmp
    - memset
    - mbedtls_exit
    - run_test_snprintf
    - mbedtls_memory_buffer_alloc_init
    - CHECK_PADDING_UNSIGNED
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_memory_buffer_alloc_status
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:258,1
    - Dst: mbedtls_memory_buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:261,1
    - Dst: mbedtls_memory_buffer_alloc_self_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: mbedtls_memory_buffer_alloc_free_and_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c
    functionUses: []
    functionsReached:
    - mbedtls_memory_buffer_alloc_status
    - mbedtls_memory_buffer_alloc_free
    - mbedtls_memory_buffer_alloc_self_test
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_memory_buffer_alloc_free_and_self_test(int verbose) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_std_nv_seed_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:221,1
    - Dst: mbedtls_platform_entropy_poll
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:227,1
    - Dst: mbedtls_platform_std_nv_seed_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 240
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 240
    functionName: create_entropy_seed_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/selftest.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_entropy_poll
    - mbedtls_platform_std_nv_seed_read
    - mbedtls_platform_std_nv_seed_write
    linkageType: ''
    returnType: void
    signature: 'static void create_entropy_seed_file(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_fail
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: meta_test_fail
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_test_fail
    linkageType: ''
    returnType: void
    signature: 'static void meta_test_fail(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LE_S
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: meta_test_not_le_s
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - TEST_LE_S
    linkageType: ''
    returnType: void
    signature: 'static void meta_test_not_le_s(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:261,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:266,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: mutex_lock_not_initialized
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - TEST_ASSERT
    - mbedtls_mutex_lock
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mutex_lock_not_initialized(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_EQUAL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: meta_test_not_equal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: 'static void meta_test_not_equal(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LE_U
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: meta_test_not_le_u
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - TEST_LE_U
    linkageType: ''
    returnType: void
    signature: 'static void meta_test_not_le_u(const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: help
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:438,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:448,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:439,1
    - Dst: help
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:449,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:450,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:452,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:454,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:456,1
    - Dst: mbedtls_test_mutex_usage_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:460,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:464,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:472,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:474,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:465,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:482,1
    - Dst: mbedtls_test_get_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:470,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:480,1
    - Dst: mbedtls_test_mutex_usage_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:468,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 483
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 483
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_test_get_result
    - strcmp
    - mbedtls_exit
    - mbedtls_fprintf
    - help
    - mbedtls_test_mutex_usage_init
    - mbedtls_test_mutex_usage_check
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: read_uninitialized_stack
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: void
    signature: 'static void read_uninitialized_stack(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:187,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: memory_leak
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - calloc_but_the_compiler_does_not_know
    linkageType: ''
    returnType: void
    signature: 'static void memory_leak(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:429,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:430,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - out
    - argv0
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: help
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void help(FILE *out, const char *argv0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: set_to_zero_but_the_compiler_does_not_know
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void set_to_zero_but_the_compiler_does_not_know(volatile void
      *p, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_to_zero_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:128,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: null_pointer_dereference
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - set_to_zero_but_the_compiler_does_not_know
    linkageType: ''
    returnType: void
    signature: 'static void null_pointer_dereference(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:153,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:157,1
    - Dst: free_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: read_after_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - free_but_the_compiler_does_not_know
    - calloc_but_the_compiler_does_not_know
    linkageType: ''
    returnType: void
    signature: 'static void read_after_free(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_to_zero_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:137,1
    - Dst: p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:142,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: null_pointer_call
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - set_to_zero_but_the_compiler_does_not_know
    - p
    linkageType: ''
    returnType: void
    signature: 'static void null_pointer_call(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:163,1
    - Dst: free_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:165,1
    - Dst: free_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: double_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - free_but_the_compiler_does_not_know
    - calloc_but_the_compiler_does_not_know
    linkageType: ''
    returnType: void
    signature: 'static void double_free(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: do_nothing_with_object
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_nothing_with_object(void *p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:202,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:208,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:226,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:219,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:216,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:233,1
    - Dst: MBEDTLS_TEST_MEMORY_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:240,1
    - Dst: do_nothing_with_object_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:244,1
    - Dst: do_nothing_with_object_but_the_compiler_does_not_know
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:246,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 249
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 249
    functionName: test_memory_poison
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - sscanf
    - mbedtls_fprintf
    - MBEDTLS_TEST_MEMORY_POISON
    - do_nothing_with_object_but_the_compiler_does_not_know
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void test_memory_poison(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:282,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: mutex_unlock_not_initialized
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - TEST_ASSERT
    - mbedtls_mutex_unlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mutex_unlock_not_initialized(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:307,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:313,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: mutex_double_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_free
    - mbedtls_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void mutex_double_init(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: mutex_leak
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void mutex_leak(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:293,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 300
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 300
    functionName: mutex_free_not_initialized
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mutex_free_not_initialized(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:322,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:323,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: mutex_double_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/metatest.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_free
    - mbedtls_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void mutex_double_free(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:56,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:59,1
    - Dst: dlopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:63,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:67,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:84,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:87,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:48,1
    - Dst: dlsym
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:50,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:76,1
    - Dst: dlsym
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:78,1
    - Dst: dlclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:70,1
    - Dst: dlopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:47,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:51,1
    - Dst: dlclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:58,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:79,1
    - Dst: dlopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:75,1
    - Dst: dlclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:86,1
    - Dst: ssl_list_ciphersuites
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:52,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:64,1
    - Dst: dlsym
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:66,1
    - Dst: CHECK_DLERROR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:71,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:68,1
    - Dst: md_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c:80,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/dlopen.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - dlopen
    - md_list
    - dlsym
    - dlclose
    - CHECK_DLERROR
    - ssl_list_ciphersuites
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:388,1
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 395
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 395
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - QueryPerformanceCounter
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - TimerContext
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: TimerProc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: void
    signature: 'static void TimerProc(void *TimerContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:466,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - rng_state
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 473
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 473
    functionName: myrand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - rand
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int myrand(void *rng_state, unsigned char *output, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_curve_info_from_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - string
    - curve
    argTypes:
    - char*
    - mbedtls_ecp_curve_info*
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: set_ecp_curve
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_curve_info_from_name
    linkageType: ''
    returnType: int
    signature: 'static int set_ecp_curve(const char *string, mbedtls_ecp_curve_info
      *curve) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:14,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (argv[i], single_curve)
    argTypes:
    - set_ecp_curve
    constantsTouched: []
    func_position:
      end: 609
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 609
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (set_ecp_curve(argv[i], single_curve)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: sighandler
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: 'static void sighandler(int signum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: mbedtls_timing_hardclock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long mbedtls_timing_hardclock(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _beginthread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: mbedtls_set_alarm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - _beginthread
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_set_alarm(int seconds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:439,1
    - Dst: alarm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: mbedtls_set_alarm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - signal
    - alarm
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_set_alarm(int seconds) '
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:667,1
    - Dst: mbedtls_des3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:679,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:724,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:683,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:729,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:748,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:793,1
    - Dst: mbedtls_aes_xts_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:812,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:853,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:876,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:921,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1020,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1057,1
    - Dst: mbedtls_dhm_set_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1099,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1021,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:981,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1111,1
    - Dst: mbedtls_ecdh_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1198,1
    - Dst: mbedtls_ecdh_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1230,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1204,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1118,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1212,1
    - Dst: mbedtls_dhm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1122,1
    - Dst: mbedtls_des3_set3key_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:680,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:711,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:545,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:565,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:585,1
    - Dst: mbedtls_memory_buffer_alloc_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:621,1
    - Dst: mbedtls_aes_crypt_cfb128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:753,1
    - Dst: mbedtls_aes_crypt_xts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:815,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:852,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:896,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:997,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1027,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1151,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1159,1
    - Dst: mbedtls_ecdsa_genkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1145,1
    - Dst: mbedtls_ecdsa_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1165,1
    - Dst: mbedtls_ecdsa_read_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1180,1
    - Dst: mbedtls_ecdsa_write_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1172,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:632,1
    - Dst: mbedtls_des_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:696,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:623,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:661,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:555,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:575,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:595,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:735,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:768,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:831,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1100,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:836,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:923,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1007,1
    - Dst: mbedtls_hmac_drbg_set_prediction_resistance
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1033,1
    - Dst: mbedtls_camellia_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:952,1
    - Dst: mbedtls_hmac_drbg_set_prediction_resistance
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1013,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:664,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:650,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:681,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:538,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:613,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:707,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:728,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:795,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:856,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:869,1
    - Dst: mbedtls_poly1305_mac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:964,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1004,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1010,1
    - Dst: mbedtls_ecdsa_genkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1171,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1205,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1221,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:907,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1001,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1255,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:982,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1090,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1183,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1208,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1030,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1000,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1024,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:551,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:571,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:591,1
    - Dst: mbedtls_des_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:692,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:768,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:784,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:789,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:850,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:974,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1028,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:978,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1008,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1120,1
    - Dst: mbedtls_ecdsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1169,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1179,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1209,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:670,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:695,1
    - Dst: mbedtls_ripemd160
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:638,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:709,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:744,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:749,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:766,1
    - Dst: mbedtls_aes_crypt_cfb8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:771,1
    - Dst: mbedtls_gcm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:827,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:829,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1251,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:898,1
    - Dst: mbedtls_ccm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:860,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:976,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1235,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:958,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:985,1
    - Dst: mbedtls_aria_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:931,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:612,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:543,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:563,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:583,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:656,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:693,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:726,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:603,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:732,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:756,1
    - Dst: mbedtls_camellia_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:946,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1115,1
    - Dst: mbedtls_ecdsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1143,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1005,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1214,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:973,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1036,1
    - Dst: mbedtls_ecdsa_write_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1154,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1261,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1149,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:553,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:573,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:593,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:624,1
    - Dst: mbedtls_sha1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:644,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:750,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:788,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:832,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:870,1
    - Dst: mbedtls_aria_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:919,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1035,1
    - Dst: mbedtls_ccm_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:857,1
    - Dst: mbedtls_ecdh_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1214,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1237,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1248,1
    - Dst: mbedtls_memory_buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1264,1
    - Dst: mbedtls_dhm_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1112,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1224,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:559,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:579,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:599,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:644,1
    - Dst: mbedtls_des_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:697,1
    - Dst: mbedtls_cipher_cmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:712,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:764,1
    - Dst: mbedtls_aes_xts_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:806,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:811,1
    - Dst: mbedtls_ccm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:854,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:964,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1061,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1177,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:927,1
    - Dst: mbedtls_chacha20_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:958,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:986,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1015,1
    - Dst: mbedtls_camellia_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:949,1
    - Dst: mbedtls_dhm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1093,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1095,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1110,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:987,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1123,1
    - Dst: mbedtls_md5
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:632,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:549,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:569,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:589,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:667,1
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:661,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:790,1
    - Dst: mbedtls_ccm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:848,1
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:925,1
    - Dst: mbedtls_aria_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:928,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1117,1
    - Dst: mbedtls_ecdsa_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1139,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1267,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1216,1
    - Dst: mbedtls_ecdh_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1242,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1097,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1146,1
    - Dst: mbedtls_dhm_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1104,1
    - Dst: mbedtls_sha256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:650,1
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:664,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:730,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:752,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:762,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:767,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:773,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:786,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:793,1
    - Dst: mbedtls_aes_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:795,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1016,1
    - Dst: mbedtls_chachapoly_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:868,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1103,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1174,1
    - Dst: mbedtls_ecdh_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1216,1
    - Dst: mbedtls_rsa_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1055,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1256,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:972,1
    - Dst: mbedtls_des3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:685,1
    - Dst: mbedtls_des_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:691,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:561,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:581,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:601,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:746,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:810,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:835,1
    - Dst: mbedtls_chachapoly_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:880,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:895,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1244,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1090,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1238,1
    - Dst: mbedtls_ecp_curve_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:530,1
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:670,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:730,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:872,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:900,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:905,1
    - Dst: mbedtls_camellia_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:940,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:945,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:924,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:980,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1242,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1219,1
    - Dst: mbedtls_ecdh_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1244,1
    - Dst: mbedtls_rsa_gen_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1051,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1048,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:814,1
    - Dst: mbedtls_ecdh_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1238,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:557,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:577,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:597,1
    - Dst: mbedtls_sha512
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:656,1
    - Dst: mbedtls_aes_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:733,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:750,1
    - Dst: mbedtls_aes_xts_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:818,1
    - Dst: mbedtls_chachapoly_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:874,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:942,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:977,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1053,1
    - Dst: mbedtls_rsa_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1059,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1219,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:893,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1031,1
    - Dst: mbedtls_dhm_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1106,1
    - Dst: mbedtls_ecdh_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1205,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1123,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1234,1
    - Dst: mbedtls_ecdh_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1237,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:706,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:540,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:547,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:567,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:587,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:638,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:618,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:770,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:808,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:812,1
    - Dst: TIME_PUBLIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1249,1
    - Dst: CHECK_AND_CONTINUE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1251,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1011,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1202,1
    - Dst: mbedtls_ecdh_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1204,1
    - Dst: mbedtls_des3_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:684,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:798,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:833,1
    - Dst: mbedtls_chachapoly_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:877,1
    - Dst: mbedtls_aes_cmac_prf_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:908,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:944,1
    - Dst: TIME_AND_TSC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:948,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1025,1
    - Dst: mbedtls_ctr_drbg_set_prediction_resistance
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:984,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1038,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1107,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:906,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1050,1
    - Dst: mbedtls_cipher_cmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:901,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:1134,1
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c:839,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 560
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1268
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 1268
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/benchmark.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_init
    - mbedtls_ecdh_make_params
    - mbedtls_gcm_crypt_and_tag
    - mbedtls_gcm_free
    - mbedtls_aes_crypt_xts
    - mbedtls_memory_buffer_alloc_free
    - mbedtls_ctr_drbg_free
    - mbedtls_aes_free
    - mbedtls_aes_crypt_cbc
    - mbedtls_ecdsa_can_do
    - mbedtls_dhm_set_group
    - mbedtls_ctr_drbg_seed
    - mbedtls_des_init
    - mbedtls_ccm_free
    - mbedtls_des3_free
    - mbedtls_mpi_free
    - mbedtls_dhm_make_public
    - mbedtls_ecdh_make_public
    - mbedtls_rsa_gen_key
    - mbedtls_aes_crypt_cfb128
    - mbedtls_ccm_encrypt_and_tag
    - mbedtls_aes_cmac_prf_128
    - mbedtls_des_setkey_enc
    - mbedtls_aria_crypt_cbc
    - mbedtls_des_free
    - mbedtls_ctr_drbg_set_prediction_resistance
    - mbedtls_gcm_init
    - mbedtls_chachapoly_init
    - mbedtls_hmac_drbg_random
    - mbedtls_chachapoly_free
    - mbedtls_cipher_info_from_type
    - mbedtls_ctr_drbg_init
    - mbedtls_aria_setkey_enc
    - mbedtls_sha512
    - mbedtls_printf
    - mbedtls_hmac_drbg_set_prediction_resistance
    - mbedtls_hmac_drbg_init
    - mbedtls_dhm_free
    - mbedtls_exit
    - mbedtls_aria_free
    - mbedtls_des3_init
    - mbedtls_rsa_init
    - mbedtls_poly1305_mac
    - mbedtls_ecdh_init
    - mbedtls_camellia_init
    - mbedtls_gcm_setkey
    - mbedtls_snprintf
    - mbedtls_ripemd160
    - mbedtls_sha3
    - mbedtls_ecdsa_free
    - mbedtls_ecdh_setup
    - TIME_PUBLIC
    - mbedtls_des_crypt_cbc
    - mbedtls_dhm_calc_secret
    - mbedtls_ecdsa_genkey
    - mbedtls_ccm_setkey
    - mbedtls_ecdsa_read_signature
    - mbedtls_ecdsa_init
    - mbedtls_aes_xts_init
    - mbedtls_hmac_drbg_free
    - mbedtls_chachapoly_setkey
    - mbedtls_rsa_private
    - mbedtls_dhm_get_len
    - mbedtls_ecdsa_write_signature
    - mbedtls_dhm_init
    - mbedtls_aria_init
    - mbedtls_chacha20_crypt
    - mbedtls_cipher_cmac
    - mbedtls_dhm_read_public
    - mbedtls_aes_xts_free
    - mbedtls_des3_crypt_cbc
    - mbedtls_aes_setkey_enc
    - mbedtls_memory_buffer_alloc_init
    - mbedtls_sha1
    - mbedtls_des3_set3key_enc
    - mbedtls_camellia_setkey_enc
    - CHECK_AND_CONTINUE
    - mbedtls_aes_init
    - mbedtls_md5
    - mbedtls_ecdh_can_do
    - mbedtls_ecdh_free
    - TIME_AND_TSC
    - mbedtls_mpi_read_binary
    - strcmp
    - mbedtls_hmac_drbg_seed
    - memset
    - mbedtls_rsa_free
    - mbedtls_ecp_curve_list
    - mbedtls_aes_crypt_ctr
    - mbedtls_ecdh_calc_secret
    - mbedtls_camellia_crypt_cbc
    - mbedtls_ecdh_read_params
    - mbedtls_aes_xts_setkey_enc
    - mbedtls_camellia_free
    - mbedtls_aes_crypt_cfb8
    - mbedtls_sha256
    - mbedtls_md_info_from_type
    - mbedtls_ctr_drbg_random
    - mbedtls_mpi_init
    - mbedtls_rsa_public
    - mbedtls_chachapoly_encrypt_and_tag
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_version_get_string_full
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_subproject/cmake_subproject.c:22,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_subproject/cmake_subproject.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_subproject/cmake_subproject.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_version_get_string_full
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_version_get_string_full
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_package/cmake_package.c:21,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_package/cmake_package.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_package/cmake_package.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_version_get_string_full
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_version_get_string_full
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_package_install/cmake_package_install.c:22,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_package_install/cmake_package_install.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/test/cmake_package_install/cmake_package_install.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_version_get_string_full
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:29,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:36,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - md_info
    - filename
    - sum
    argTypes:
    - mbedtls_md_info_t*
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: generic_wrapper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - mbedtls_md_file
    linkageType: ''
    returnType: int
    signature: 'static int generic_wrapper(const mbedtls_md_info_t *md_info, char
      *filename, unsigned char *sum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generic_wrapper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:47,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:51,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:52,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - md_info
    - filename
    argTypes:
    - mbedtls_md_info_t*
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: generic_print
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c
    functionUses: []
    functionsReached:
    - mbedtls_md_get_size
    - generic_wrapper
    - mbedtls_printf
    linkageType: ''
    returnType: int
    signature: 'static int generic_print(const mbedtls_md_info_t *md_info, char *filename) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:162,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:173,1
    - Dst: mbedtls_md_info_from_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:179,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:204,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:182,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:169,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:157,1
    - Dst: mbedtls_md_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:166,1
    - Dst: mbedtls_md_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:169,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:185,1
    - Dst: generic_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:191,1
    - Dst: generic_print
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:196,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:184,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:165,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:168,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:190,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:181,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:186,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:206,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 207
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_md_info_from_type
    - mbedtls_md_list
    - mbedtls_md_free
    - mbedtls_md_get_name
    - mbedtls_md_info_from_string
    - generic_check
    - strcmp
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_md_init
    - generic_print
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:76,1
    - Dst: mbedtls_md_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:97,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:123,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:83,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:91,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:96,1
    - Dst: generic_wrapper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:110,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:110,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:141,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:88,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:90,1
    - Dst: mbedtls_md_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:91,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:136,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:75,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:87,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:95,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:117,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:118,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:129,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:97,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:145,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 85
    argCount: 2
    argNames:
    - md_info
    - filename
    argTypes:
    - mbedtls_md_info_t*
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 148
    functionName: generic_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_md_get_name
    - fclose
    - fgets
    - memset
    - mbedtls_fprintf
    - generic_wrapper
    - mbedtls_md_get_size
    - fopen
    - sprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int generic_check(const mbedtls_md_info_t *md_info, char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:21,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/generic_sum.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:30,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:37,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:40,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:33,1
    - Dst: mbedtls_md5
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:32,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/hello.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_md5
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:61,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:65,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - title
    - buf
    - len
    argTypes:
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: print_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_buf(const char *title, unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:129,1
    - Dst: hmac_demo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c
    functionUses: []
    functionsReached:
    - CHK
    - hmac_demo
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:102,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:103,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:119,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:108,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:109,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:112,1
    - Dst: print_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:109,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:113,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:115,1
    - Dst: print_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:116,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:116,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:101,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:102,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:106,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:107,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:113,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:114,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:120,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:97,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:103,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:106,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:107,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:114,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:112,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:108,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 123
    functionName: hmac_demo
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/hash/md_hmac_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - CHK
    - mbedtls_md_hmac_reset
    - mbedtls_platform_zeroize
    - mbedtls_md_hmac_update
    - print_buf
    - mbedtls_md_init
    - mbedtls_md_hmac_finish
    - mbedtls_md_get_size
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'static int hmac_demo(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:51,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:91,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:101,1
    - Dst: mbedtls_cipher_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:102,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:181,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:202,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:259,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:247,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:334,1
    - Dst: mbedtls_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:354,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:447,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:158,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:169,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:278,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:411,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:517,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:567,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:246,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:279,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:155,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:116,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:270,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:344,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:359,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:475,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:493,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:364,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:571,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:313,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:376,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:562,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:494,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:251,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:288,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:343,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:358,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:574,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:566,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:572,1
    - Dst: mbedtls_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:537,1
    - Dst: mbedtls_md_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:117,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:159,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:220,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:298,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:283,1
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:221,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:256,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:312,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:429,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:461,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:457,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:233,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:287,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:113,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:142,1
    - Dst: mbedtls_cipher_info_from_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:153,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:250,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:317,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:393,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:425,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:518,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:307,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:297,1
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:90,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:99,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:108,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:148,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:179,1
    - Dst: _fileno
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:210,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:282,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:254,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:503,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:497,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:136,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:132,1
    - Dst: SetFilePointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:210,1
    - Dst: lseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:220,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:232,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:293,1
    - Dst: mbedtls_cipher_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:316,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:377,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:436,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:504,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:487,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:104,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:127,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:228,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:435,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:466,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:569,1
    - Dst: mbedtls_md_info_from_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:163,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:197,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:131,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:147,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:292,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:322,1
    - Dst: mbedtls_cipher_info_get_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:405,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:444,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:488,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:529,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:227,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:165,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:185,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:254,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:398,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:440,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:452,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:465,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:476,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:513,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:542,1
    - Dst: mbedtls_cipher_info_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:108,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:117,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:213,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:321,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:339,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:443,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:471,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:499,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:543,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:562,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:568,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:512,1
    - Dst: mbedtls_md_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:114,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:178,1
    - Dst: _get_osfhandle
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:210,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:309,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:269,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:348,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:363,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:371,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:372,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:439,1
    - Dst: mbedtls_cipher_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:470,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:260,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:191,1
    - Dst: mbedtls_cipher_info_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:105,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:124,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:137,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:141,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:264,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:338,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:349,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:355,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:459,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:214,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:305,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:170,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:177,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:333,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:424,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:552,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:565,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:448,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:555,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:538,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c:451,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 370
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 575
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 575
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/aes/crypt_and_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_md_list
    - mbedtls_cipher_free
    - memcmp
    - mbedtls_platform_zeroize
    - SetFilePointer
    - GetLastError
    - mbedtls_md_init
    - fopen
    - mbedtls_cipher_info_get_name
    - mbedtls_md_finish
    - mbedtls_cipher_get_block_size
    - mbedtls_md_hmac_starts
    - mbedtls_cipher_setup
    - perror
    - mbedtls_md_info_from_string
    - mbedtls_cipher_info_from_type
    - strcmp
    - fread
    - mbedtls_cipher_finish
    - mbedtls_md_update
    - mbedtls_cipher_init
    - atoi
    - _get_osfhandle
    - mbedtls_cipher_reset
    - fileno
    - mbedtls_printf
    - mbedtls_md_get_name
    - mbedtls_setbuf
    - memcpy
    - _fileno
    - mbedtls_cipher_set_iv
    - mbedtls_exit
    - mbedtls_fprintf
    - fwrite
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_cipher_info_from_string
    - mbedtls_md_get_size
    - fseek
    - mbedtls_cipher_list
    - mbedtls_md_setup
    - strlen
    - mbedtls_md_info_from_type
    - mbedtls_cipher_info_get_mode
    - mbedtls_md_free
    - sscanf
    - mbedtls_md_hmac_update
    - mbedtls_cipher_setkey
    - mbedtls_md_starts
    - mbedtls_md_hmac_finish
    - fclose
    - mbedtls_cipher_update
    - lseek
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:20,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:118,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:129,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:125,1
    - Dst: mbedtls_x509write_csr_pem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:119,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:123,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:130,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - req
    - output_file
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_x509write_csr*
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 137
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 137
    functionName: write_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c
    functionUses: []
    functionsReached:
    - memset
    - fwrite
    - fopen
    - mbedtls_x509write_csr_pem
    - fclose
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int write_certificate_request(mbedtls_x509write_csr *req, const
      char *output_file, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:348,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:375,1
    - Dst: mbedtls_x509write_csr_set_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:386,1
    - Dst: mbedtls_md_info_from_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:310,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:318,1
    - Dst: mbedtls_x509write_csr_set_subject_alternative_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:410,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:424,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:495,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:506,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:242,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:324,1
    - Dst: mbedtls_x509write_csr_set_subject_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:441,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:452,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:474,1
    - Dst: mbedtls_x509write_csr_set_ns_cert_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:400,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:326,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:374,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:200,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:287,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:438,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:510,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:429,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:360,1
    - Dst: mbedtls_x509write_csr_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:159,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:198,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:253,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:296,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:227,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:257,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:259,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:261,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:263,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:308,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:428,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:362,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:316,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:343,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:469,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:168,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:228,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:205,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:278,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:413,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:499,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:163,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:162,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:166,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:342,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:451,1
    - Dst: write_certificate_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:472,1
    - Dst: mbedtls_x509write_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:493,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:202,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:328,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:403,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:442,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:487,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:496,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:204,1
    - Dst: mbedtls_md_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:315,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:426,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:330,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:354,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:478,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:486,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:364,1
    - Dst: mbedtls_x509write_csr_set_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:462,1
    - Dst: mbedtls_x509write_csr_set_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:390,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:433,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:366,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:497,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:423,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:160,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:244,1
    - Dst: mbedtls_x509_crt_parse_cn_inet_pton
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:266,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:194,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:268,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:279,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:350,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:312,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:454,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:458,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:464,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:221,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:209,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:332,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:356,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:439,1
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:494,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:358,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:161,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:176,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:211,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:274,1
    - Dst: mbedtls_x509_string_to_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:276,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:322,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:334,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:446,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:393,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:250,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:470,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c:489,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 335
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 511
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 511
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_req.c
    functionUses: []
    functionsReached:
    - memmove
    - strchr
    - mbedtls_x509write_csr_set_ns_cert_type
    - mbedtls_x509write_csr_set_subject_alternative_name
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - write_certificate_request
    - mbedtls_calloc
    - mbedtls_md_info_from_string
    - mbedtls_ctr_drbg_seed
    - mbedtls_x509_string_to_names
    - mbedtls_x509write_csr_set_subject_name
    - strcmp
    - mbedtls_x509write_csr_set_key
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - atoi
    - mbedtls_x509write_csr_set_md_alg
    - mbedtls_x509write_csr_set_key_usage
    - mbedtls_x509write_csr_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_free
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_md_get_type
    - mbedtls_pk_parse_keyfile
    - mbedtls_entropy_free
    - mbedtls_x509write_csr_init
    - strlen
    - mbedtls_pk_init
    - fflush
    - psa_crypto_init
    - mbedtls_asn1_free_named_data_list
    - mbedtls_x509_crt_parse_cn_inet_pton
    - mbedtls_pk_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:15,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:56,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:59,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:67,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:64,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:63,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - filenames
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: read_certificates
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c
    functionUses: []
    functionsReached:
    - mbedtls_strerror
    - mbedtls_x509_crt_parse_file
    - printf
    - mbedtls_x509_crt_init
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: int
    signature: 'static int read_certificates(const char *const *filenames) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:87,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:125,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:127,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:160,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:111,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:122,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:135,1
    - Dst: mbedtls_timing_get_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:147,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:139,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:152,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:144,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:108,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:123,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:155,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:162,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:96,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:89,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:124,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:128,1
    - Dst: mbedtls_timing_get_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:154,1
    - Dst: read_certificates
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:149,1
    - Dst: read_certificates
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c:141,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/load_roots.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - psa_crypto_init
    - strcmp
    - strchr
    - mbedtls_exit
    - mbedtls_fprintf
    - atoi
    - mbedtls_timing_get_timer
    - read_certificates
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:103,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:105,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:104,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:108,1
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:110,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - data
    - crt
    - depth
    - flags
    argTypes:
    - void*
    - mbedtls_x509_crt*
    - int
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: my_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_x509_crt_verify_info
    - mbedtls_x509_crt_info
    linkageType: ''
    returnType: int
    signature: 'static int my_verify(void *data, mbedtls_x509_crt *crt, int depth,
      uint32_t *flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:94,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void my_debug(void *ctx, int level, const char *file, int line,
      const char *str) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:153,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:206,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:278,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:427,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:274,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:341,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:141,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:229,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:239,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:380,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:417,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:326,1
    - Dst: mbedtls_x509_crl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:145,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:190,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:424,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:371,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:138,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:211,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:231,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:266,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:401,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:443,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:140,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:367,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:384,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:324,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:356,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:149,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:155,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:179,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:204,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:249,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:283,1
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:322,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:272,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:403,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:416,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:335,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:202,1
    - Dst: mbedtls_x509_crl_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:253,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:345,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:396,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:431,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:441,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:451,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:305,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:338,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:290,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:360,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:254,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:301,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:392,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:420,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:228,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:277,1
    - Dst: mbedtls_net_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:358,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:383,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:314,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:387,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:391,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:430,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:440,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:143,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:297,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:446,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:142,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:193,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:240,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:320,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:340,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:139,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:200,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:215,1
    - Dst: mbedtls_ssl_get_peer_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:418,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:198,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:210,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:233,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:271,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:330,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:296,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:445,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:448,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:241,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:286,1
    - Dst: mbedtls_ssl_conf_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:378,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:252,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:386,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:414,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:376,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:216,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:377,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:348,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:336,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:300,1
    - Dst: mbedtls_x509_crt_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:316,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:191,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:208,1
    - Dst: mbedtls_x509_crt_parse_path
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:232,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:354,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c:408,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 246
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 452
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 452
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_app.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_free
    - mbedtls_ssl_conf_authmode
    - mbedtls_ssl_init
    - strchr
    - mbedtls_x509_crt_parse_path
    - mbedtls_ssl_handshake
    - mbedtls_x509_crl_free
    - mbedtls_x509_crl_parse_file
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_x509_crt_info
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_x509_crt_verify
    - strcmp
    - mbedtls_ctr_drbg_init
    - mbedtls_ssl_config_init
    - atoi
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_net_connect
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_x509_crt_parse_file
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_conf_dbg
    - mbedtls_ssl_conf_verify
    - mbedtls_ssl_set_bio
    - mbedtls_entropy_free
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_ssl_get_peer_cert
    - mbedtls_ssl_config_free
    - fflush
    - psa_crypto_init
    - mbedtls_x509_crt_verify_info
    - mbedtls_x509_crl_init
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_set_hostname
    - mbedtls_ssl_close_notify
    - mbedtls_debug_set_threshold
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:16,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:61,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:71,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:84,1
    - Dst: mbedtls_x509_crl_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:111,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:118,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:105,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:128,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:79,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:63,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:110,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:94,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:100,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:101,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:114,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:123,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:125,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:113,1
    - Dst: mbedtls_x509_crl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:58,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:95,1
    - Dst: mbedtls_x509_crl_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c:97,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/crl_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - fflush
    - psa_crypto_init
    - strchr
    - strcmp
    - mbedtls_x509_crl_info
    - mbedtls_exit
    - mbedtls_x509_crl_init
    - mbedtls_fprintf
    - mbedtls_x509_crl_free
    - mbedtls_x509_crl_parse_file
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:16,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:61,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:84,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:105,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:118,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:113,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:114,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:128,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:63,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:110,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:71,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:94,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:100,1
    - Dst: mbedtls_x509_csr_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:111,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:125,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:123,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:101,1
    - Dst: mbedtls_x509_csr_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:58,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:79,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:95,1
    - Dst: mbedtls_x509_csr_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c:97,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/req_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_x509_csr_info
    - mbedtls_psa_crypto_free
    - fflush
    - psa_crypto_init
    - strchr
    - strcmp
    - mbedtls_exit
    - mbedtls_x509_csr_free
    - mbedtls_fprintf
    - mbedtls_x509_csr_parse_file
    - mbedtls_x509_csr_init
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:20,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:216,1
    - Dst: mbedtls_x509write_crt_pem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:227,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:233,1
    - Dst: mbedtls_x509write_crt_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:218,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:237,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:241,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:242,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:246,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - crt
    - output_file
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_x509write_cert*
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 249
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 249
    functionName: write_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c
    functionUses: []
    functionsReached:
    - memset
    - mbedtls_x509write_crt_der
    - fwrite
    - fclose
    - fopen
    - mbedtls_x509write_crt_pem
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int write_certificate(mbedtls_x509write_cert *crt, const char
      *output_file, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - obuf
    - obufmax
    - ibuf
    - len
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 287
    functionName: parse_serial_decimal_format
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c
    functionUses: []
    functionsReached:
    - strtoull
    linkageType: ''
    returnType: int
    signature: 'static int parse_serial_decimal_format(unsigned char *obuf, size_t
      obufmax, const char *ibuf, size_t *len) '
  - BBCount: 114
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:387,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:399,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:431,1
    - Dst: SET_OID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:511,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:468,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:516,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:523,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:589,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:600,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:682,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:987,1
    - Dst: mbedtls_x509write_crt_set_subject_key_identifier
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:888,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:986,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:449,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:334,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:435,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:473,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:459,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:542,1
    - Dst: mbedtls_x509_crt_parse_cn_inet_pton
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:587,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:645,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:711,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:775,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:873,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:678,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:964,1
    - Dst: mbedtls_x509write_crt_set_ext_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:949,1
    - Dst: mbedtls_x509write_crt_set_validity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:855,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:902,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:438,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:512,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:446,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:502,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:323,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:332,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:376,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:595,1
    - Dst: mbedtls_x509_string_to_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:597,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:635,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:897,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:805,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:959,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:965,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:465,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:481,1
    - Dst: SET_OID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:521,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:571,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:659,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:662,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:777,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:792,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:798,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:863,1
    - Dst: mbedtls_pk_check_pair
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:806,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:920,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:907,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:970,1
    - Dst: mbedtls_x509write_crt_set_serial_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:847,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:794,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:328,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:498,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:483,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:508,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:631,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:670,1
    - Dst: mbedtls_test_unhexify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:695,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:747,1
    - Dst: mbedtls_x509write_crt_set_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:844,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:921,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:992,1
    - Dst: mbedtls_x509write_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1002,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:947,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:320,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:389,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:401,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:471,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:532,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:563,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:707,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:751,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:760,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:783,1
    - Dst: mbedtls_x509write_crt_set_ns_cert_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:967,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:998,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:891,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:952,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1004,1
    - Dst: mbedtls_md_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:445,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:391,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:403,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:506,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:608,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:687,1
    - Dst: parse_serial_decimal_format
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:698,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:716,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:808,1
    - Dst: mbedtls_x509write_crt_set_subject_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:827,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:836,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:925,1
    - Dst: mbedtls_x509write_crt_set_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:845,1
    - Dst: mbedtls_x509write_crt_set_basic_constraints
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:870,1
    - Dst: mbedtls_x509write_crt_set_authority_key_identifier
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:905,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1001,1
    - Dst: SET_OID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:517,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:405,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:574,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:617,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:637,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:676,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:720,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:729,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:797,1
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1000,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1005,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:903,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:782,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:926,1
    - Dst: mbedtls_x509write_crt_set_subject_alternative_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:935,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1003,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:321,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:454,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:548,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:578,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:580,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:582,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:584,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:629,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:639,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:725,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:868,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:750,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:914,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:858,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:981,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:975,1
    - Dst: mbedtls_x509_csr_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:325,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:329,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:381,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:518,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:485,1
    - Dst: SET_OID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:513,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:549,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:599,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:692,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:736,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:842,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:776,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:890,1
    - Dst: mbedtls_x509write_crt_set_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:923,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:487,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:383,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:342,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:395,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:410,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:442,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:460,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:650,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:703,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:718,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:768,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:759,1
    - Dst: mbedtls_x509write_crt_set_issuer_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:822,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:850,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:879,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:867,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:885,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:931,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:938,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1011,1
    - Dst: SET_OID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:509,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:514,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:393,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:412,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:418,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:425,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:656,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:680,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:788,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:841,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:908,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:951,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:327,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:456,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:466,1
    - Dst: SET_OID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:519,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:520,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:675,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:715,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:719,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:728,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:814,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:742,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:647,1
    - Dst: mbedtls_x509write_crt_set_issuer_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:834,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:857,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:886,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:946,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:779,1
    - Dst: mbedtls_x509write_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:319,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:432,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:510,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:477,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:641,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:746,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:791,1
    - Dst: mbedtls_x509write_crt_set_subject_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:821,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:828,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:829,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:874,1
    - Dst: write_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:984,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1008,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:1006,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:424,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:462,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:417,1
    - Dst: SET_OID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:515,1
    - Dst: mbedtls_md_info_from_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:440,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:479,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:643,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:657,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:691,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:756,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:835,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:982,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:849,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:447,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:453,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:489,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:322,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:385,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:397,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:421,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:428,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:492,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:565,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:681,1
    - Dst: mbedtls_x509_csr_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:749,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c:969,1
    CyclomaticComplexity: 197
    EdgeCount: 197
    ICount: 677
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1012
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 1012
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/x509/cert_write.c
    functionUses: []
    functionsReached:
    - mbedtls_x509write_crt_set_authority_key_identifier
    - SET_OID
    - mbedtls_x509write_crt_set_subject_key_identifier
    - memmove
    - mbedtls_x509write_crt_set_subject_alternative_name
    - mbedtls_x509write_crt_init
    - strchr
    - mbedtls_x509_dn_gets
    - mbedtls_pk_check_pair
    - mbedtls_x509write_crt_set_basic_constraints
    - mbedtls_x509write_crt_set_subject_key
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_x509_csr_init
    - mbedtls_x509write_crt_set_md_alg
    - mbedtls_x509write_crt_set_issuer_key
    - mbedtls_calloc
    - mbedtls_x509write_crt_set_ext_key_usage
    - mbedtls_md_info_from_string
    - mbedtls_ctr_drbg_seed
    - mbedtls_x509_string_to_names
    - mbedtls_x509write_crt_set_ns_cert_type
    - strcmp
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_csr_free
    - atoi
    - mbedtls_x509write_crt_set_issuer_name
    - mbedtls_x509write_crt_set_validity
    - mbedtls_x509write_crt_set_serial_raw
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_free
    - parse_serial_decimal_format
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_md_get_type
    - mbedtls_x509_crt_parse_file
    - mbedtls_pk_parse_keyfile
    - mbedtls_entropy_free
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_pk_init
    - mbedtls_test_unhexify
    - mbedtls_x509write_crt_set_key_usage
    - write_certificate
    - fflush
    - mbedtls_x509write_crt_set_subject_name
    - psa_crypto_init
    - mbedtls_asn1_free_named_data_list
    - mbedtls_x509write_crt_free
    - mbedtls_x509write_crt_set_version
    - mbedtls_x509_crt_parse_cn_inet_pton
    - mbedtls_pk_free
    - mbedtls_x509_csr_parse_file
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:121,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:130,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:127,1
    - Dst: puts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:134,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:124,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:139,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:139,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:140,1
    - Dst: mbedtls_cipher_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:143,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:144,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - info
    - ctx
    - tag_len
    argTypes:
    - char*
    - mbedtls_cipher_context_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 148
    functionName: aead_prepare
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c
    functionUses: []
    functionsReached:
    - puts
    - mbedtls_cipher_setup
    - CHK
    - mbedtls_cipher_info_from_type
    - strcmp
    - mbedtls_cipher_setkey
    - mbedtls_cipher_get_key_bitlen
    linkageType: ''
    returnType: int
    signature: 'static int aead_prepare(const char *info, mbedtls_cipher_context_t
      *ctx, size_t *tag_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:83,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:85,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - title
    - buf
    - len
    argTypes:
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: print_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_buf(const char *title, unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:187,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:189,1
    - Dst: mbedtls_cipher_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:188,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:188,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:187,1
    - Dst: mbedtls_cipher_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:189,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:190,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:190,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:192,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:192,1
    - Dst: mbedtls_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:194,1
    - Dst: mbedtls_cipher_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:196,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:194,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:196,1
    - Dst: print_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 10
    argNames:
    - ctx
    - tag_len
    - iv
    - iv_len
    - ad
    - ad_len
    - part1
    - part1_len
    - part2
    - part2_len
    argTypes:
    - mbedtls_cipher_context_t*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_update_ad
    - CHK
    - mbedtls_cipher_finish
    - mbedtls_cipher_set_iv
    - mbedtls_cipher_write_tag
    - print_buf
    - mbedtls_cipher_reset
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: 'static int aead_encrypt(mbedtls_cipher_context_t *ctx, size_t tag_len,
      const unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len,
      const unsigned char *part1, size_t part1_len, const unsigned char *part2, size_t
      part2_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:158,1
    - Dst: mbedtls_cipher_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:161,1
    - Dst: mbedtls_cipher_info_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:160,1
    - Dst: mbedtls_cipher_get_cipher_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:162,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:159,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: aead_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_info_from_type
    - mbedtls_cipher_get_type
    - printf
    - mbedtls_cipher_get_cipher_mode
    - mbedtls_cipher_get_key_bitlen
    - mbedtls_cipher_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void aead_info(const mbedtls_cipher_context_t *ctx, size_t
      tag_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:216,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:218,1
    - Dst: aead_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:220,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:222,1
    - Dst: aead_prepare
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:218,1
    - Dst: aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:222,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:226,1
    - Dst: aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:226,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: aead_demo
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_free
    - aead_prepare
    - CHK
    - aead_encrypt
    - mbedtls_cipher_init
    - aead_info
    linkageType: ''
    returnType: int
    signature: 'static int aead_demo(const char *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:245,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:252,1
    - Dst: aead_demo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c
    functionUses: []
    functionsReached:
    - puts
    - aead_demo
    - CHK
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/cipher/cipher_aead_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:23,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:51,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:66,1
    - Dst: mbedtls_ctr_drbg_update_seed_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:63,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:98,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:101,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:104,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:46,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:41,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:73,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:85,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:87,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:38,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:45,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:42,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:47,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:50,1
    - Dst: mbedtls_ctr_drbg_set_prediction_resistance
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:60,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:79,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:69,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:102,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:57,1
    - Dst: mbedtls_ctr_drbg_write_seed_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:67,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:81,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:92,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c:100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_random_ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_entropy_free
    - fflush
    - mbedtls_ctr_drbg_write_seed_file
    - mbedtls_ctr_drbg_seed
    - mbedtls_ctr_drbg_set_prediction_resistance
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_random
    - mbedtls_exit
    - mbedtls_ctr_drbg_init
    - mbedtls_fprintf
    - fwrite
    - mbedtls_ctr_drbg_update_seed_file
    - fopen
    - fclose
    - mbedtls_ctr_drbg_free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:20,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:35,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:36,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:40,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:39,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:41,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:44,1
    - Dst: mbedtls_entropy_func
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:47,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:49,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:54,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:56,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:70,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:72,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:67,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:61,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/random/gen_entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_entropy_free
    - fflush
    - mbedtls_entropy_init
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_entropy_func
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c:67,1
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - p_rng
    - output
    - output_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: dummy_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c
    functionUses: []
    functionsReached:
    - rand
    - mbedtls_ctr_drbg_random
    linkageType: ''
    returnType: int
    signature: 'int dummy_random(void *p_rng, unsigned char *output, size_t output_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: dummy_send
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int dummy_send(void *ctx, const unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_set_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c:18,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: dummy_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c
    functionUses: []
    functionsReached:
    - fprintf
    - mbedtls_platform_set_time
    linkageType: ''
    returnType: void
    signature: 'void dummy_init(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: fuzz_recv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int fuzz_recv(void *ctx, unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - data
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: dummy_entropy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: 'int dummy_entropy(void *data, unsigned char *output, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - timeout
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: fuzz_recv_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c
    functionUses: []
    functionsReached:
    - fuzz_recv
    linkageType: ''
    returnType: int
    signature: 'int fuzz_recv_timeout(void *ctx, unsigned char *buf, size_t len, uint32_t
      timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - mbedtls_time_t*
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: dummy_constant_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/common.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_time_t
    signature: 'mbedtls_time_t dummy_constant_time(mbedtls_time_t *time) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:25,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:29,1
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:37,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:49,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:44,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:54,1
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:56,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:18,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:24,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:28,1
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:30,1
    - Dst: ftell
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:34,1
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:50,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:42,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:63,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:64,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:47,1
    - Dst: perror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:43,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:38,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:41,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:57,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:58,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:65,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:22,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:31,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:36,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:51,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c:55,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 67
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/fuzz/onefile.c
    functionUses: []
    functionsReached:
    - perror
    - fread
    - free
    - LLVMFuzzerTestOneInput
    - ftell
    - malloc
    - fprintf
    - fopen
    - fseek
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:113,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:108,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:158,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:153,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:181,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:186,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:206,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:231,1
    - Dst: pthread_self
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:101,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:119,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:134,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:144,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:188,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:194,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:204,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:230,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:106,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:124,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:126,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:128,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:143,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:139,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:209,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:224,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:225,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:114,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:170,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:183,1
    - Dst: mbedtls_ssl_get_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:184,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:201,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:215,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 236
    functionName: handle_ssl_connection
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ssl_free
    - mbedtls_ssl_init
    - mbedtls_ssl_write
    - mbedtls_strerror
    - mbedtls_net_free
    - mbedtls_ssl_handshake
    - mbedtls_ssl_close_notify
    - mbedtls_ssl_get_ciphersuite
    - mbedtls_ssl_read
    - mbedtls_ssl_setup
    - mbedtls_ssl_set_bio
    - sprintf
    - pthread_self
    - memset
    linkageType: ''
    returnType: void*
    signature: 'static void *handle_ssl_connection(void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:251,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:265,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:253,1
    - Dst: pthread_join
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:252,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:267,1
    - Dst: pthread_create
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - client_fd
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 275
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 275
    functionName: thread_create
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - pthread_create
    - memcpy
    - pthread_join
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int thread_create(mbedtls_net_context *client_fd) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:304,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:311,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:320,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:340,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:335,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:358,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:381,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:386,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:388,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:397,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:415,1
    - Dst: mbedtls_net_bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:423,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:470,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:472,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:456,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:474,1
    - Dst: mbedtls_memory_buffer_alloc_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:297,1
    - Dst: mbedtls_ssl_cache_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:301,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:308,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:309,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:310,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:313,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:351,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:361,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:365,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:377,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:421,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:434,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:452,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:479,1
    - Dst: mbedtls_memory_buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:476,1
    - Dst: thread_create
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:455,1
    - Dst: mbedtls_ssl_cache_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:468,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:307,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:337,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:350,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:339,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:325,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:372,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:392,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:398,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:411,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:428,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:443,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:471,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:482,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:473,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:465,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:410,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:305,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:323,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:345,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:368,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:373,1
    - Dst: mbedtls_ssl_conf_session_cache
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:404,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:409,1
    - Dst: mbedtls_net_accept
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:445,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:447,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:466,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:435,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:420,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:453,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:457,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:424,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 102
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 483
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 483
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_own_cert
    - mbedtls_ssl_cache_free
    - mbedtls_memory_buffer_alloc_free
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_net_bind
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_crt_parse
    - mbedtls_ssl_config_init
    - mbedtls_net_accept
    - mbedtls_net_init
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_pk_parse_key
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_conf_dbg
    - mbedtls_entropy_free
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_pk_init
    - mbedtls_ssl_conf_session_cache
    - mbedtls_ssl_config_free
    - mbedtls_mutex_free
    - fflush
    - mbedtls_mutex_init
    - psa_crypto_init
    - mbedtls_ssl_cache_init
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_memory_buffer_alloc_init
    - mbedtls_pk_free
    - thread_create
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:69,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:76,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:78,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:71,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: my_mutexed_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c
    functionUses: []
    functionsReached:
    - fflush
    - mbedtls_mutex_lock
    - mbedtls_fprintf
    - pthread_self
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'static void my_mutexed_debug(void *ctx, int level, const char *file,
      int line, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:20,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_pthread_server.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:50,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void my_debug(void *ctx, int level, const char *file, int line,
      const char *str) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:79,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:77,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:84,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:96,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:93,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:98,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:109,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:125,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:145,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:156,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:251,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:256,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:224,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:283,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:197,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:229,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:280,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:211,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:76,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:80,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:86,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:129,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:141,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:149,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:158,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:159,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:168,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:173,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:276,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:218,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:278,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:235,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:184,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:205,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:202,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:274,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:178,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:70,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:81,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:99,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:119,1
    - Dst: mbedtls_net_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:127,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:133,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:138,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:153,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:154,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:155,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:268,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:164,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:234,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:212,1
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:200,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:269,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:189,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:174,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:259,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:214,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:246,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:78,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:92,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:114,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:111,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:103,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:108,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:124,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:139,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:163,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:176,1
    - Dst: mbedtls_ssl_get_verify_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:192,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:277,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:230,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:216,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:273,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c:275,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 137
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 284
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client1.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_free
    - mbedtls_ssl_conf_authmode
    - mbedtls_ssl_init
    - mbedtls_ssl_handshake
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_crt_parse
    - mbedtls_ssl_config_init
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_ssl_write
    - mbedtls_ssl_read
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_net_connect
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_conf_dbg
    - mbedtls_ssl_set_bio
    - sprintf
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_ssl_config_free
    - mbedtls_ssl_get_verify_result
    - mbedtls_entropy_free
    - fflush
    - psa_crypto_init
    - mbedtls_x509_crt_verify_info
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_set_hostname
    - mbedtls_ssl_close_notify
    - mbedtls_debug_set_threshold
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:719,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:722,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 730
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 730
    functionName: get_auth_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int get_auth_mode(const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_async_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ssl
    - cert
    - input
    - input_len
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1238
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1238
    functionName: ssl_async_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - ssl_async_start
    linkageType: ''
    returnType: int
    signature: 'static int ssl_async_decrypt(mbedtls_ssl_context *ssl, mbedtls_x509_crt
      *cert, const unsigned char *input, size_t input_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:20,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_async_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - ssl
    - cert
    - md_alg
    - hash
    - hash_len
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_x509_crt*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1228
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1228
    functionName: ssl_async_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - ssl_async_start
    linkageType: ''
    returnType: int
    signature: 'static int ssl_async_sign(mbedtls_ssl_context *ssl, mbedtls_x509_crt
      *cert, mbedtls_md_type_t md_alg, const unsigned char *hash, size_t hash_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_async_operation_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1245,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1254,1
    - Dst: mbedtls_ssl_conf_get_async_config_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1247,1
    - Dst: mbedtls_pk_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1261,1
    - Dst: mbedtls_pk_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1267,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1274,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1278,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1286,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1288,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1292,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 4
    argNames:
    - ssl
    - output
    - output_len
    - output_size
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1296
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1296
    functionName: ssl_async_resume
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_pk_decrypt
    - mbedtls_ssl_conf_get_async_config_data
    - mbedtls_free
    - mbedtls_ssl_get_async_operation_data
    - mbedtls_pk_sign
    linkageType: ''
    returnType: int
    signature: 'static int ssl_async_resume(mbedtls_ssl_context *ssl, unsigned char
      *output, size_t *output_len, size_t output_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_async_operation_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1300,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1302,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1303
    functionName: ssl_async_cancel
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ssl_get_async_operation_data
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_async_cancel(mbedtls_ssl_context *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:913,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:919,1
    - Dst: mbedtls_ssl_get_hs_sni
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:917,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:918,1
    - Dst: mbedtls_ssl_set_hs_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:924,1
    - Dst: mbedtls_ssl_set_hs_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:928,1
    - Dst: mbedtls_ssl_set_hs_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 935
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 935
    functionName: cert_callback
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_user_data_p
    - mbedtls_ssl_get_hs_sni
    - memcmp
    - mbedtls_ssl_set_hs_authmode
    - mbedtls_ssl_set_hs_own_cert
    - mbedtls_ssl_set_hs_ca_chain
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int cert_callback(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1000,1
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1007,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1004,1
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1006,1
    - Dst: mbedtls_test_unhexify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1009,1
    - Dst: psk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1021,1
    - Dst: psk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1022,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 1
    argNames:
    - psk_string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1024
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1024
    functionName: psk_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - GET_ITEM
    - psk_free
    - mbedtls_test_unhexify
    - memset
    linkageType: ''
    returnType: psk_entry*
    signature: 'static psk_entry *psk_parse(char *psk_string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1081
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    functionName: mbedtls_status_is_ssl_in_progress
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_status_is_ssl_in_progress(int ret) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_get_async_config_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1159,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1167,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1166,1
    - Dst: mbedtls_pk_check_pair
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1177,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1184,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1188,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1192,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1200,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1207,1
    - Dst: mbedtls_ssl_set_async_operation_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 6
    argNames:
    - ssl
    - cert
    - op_type
    - md_alg
    - input
    - input_len
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_x509_crt*
    - ssl_async_operation_type_t
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1217
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1217
    functionName: ssl_async_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_calloc
    - mbedtls_ssl_conf_get_async_config_data
    - mbedtls_pk_check_pair
    - mbedtls_x509_dn_gets
    - memcpy
    - mbedtls_ssl_set_async_operation_data
    linkageType: ''
    returnType: int
    signature: 'static int ssl_async_start(mbedtls_ssl_context *ssl, mbedtls_x509_crt
      *cert, ssl_async_operation_type_t op_type, mbedtls_md_type_t md_alg, const unsigned
      char *input, size_t input_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1955,1
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1990,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1918,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1936,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1975,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1990,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1923,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1962,1
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1974,1
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1995,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1995,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1925,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1956,1
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1918,1
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1935,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1935,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1974,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1963,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1996,1
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1955,1
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1962,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 63
    argCount: 1
    argNames:
    - "(p, \"key_opaque\") == 0) {\n            opt.key_opaque = atoi(q);\n        }\n#endif\n
      \       else if (strcmp(p, \"crt_file2\") == 0) {\n            opt.crt_file2
      = q;\n        } else if (strcmp(p, \"key_file2\") == 0) {\n            opt.key_file2
      = q;\n        } else if (strcmp(p, \"key_pwd2\") == 0) {\n            opt.key_pwd2
      = q;\n        } else if (strcmp(p, \"dhm_file\") == 0) {\n            opt.dhm_file
      = q;\n        }\n#if defined(MBEDTLS_SSL_ASYNC_PRIVATE)\n        else if (strcmp(p,
      \"async_operations\") == 0) {\n            opt.async_operations = q;\n        }
      else if (strcmp(p, \"async_private_delay1\") == 0) {\n            opt.async_private_delay1
      = atoi(q);\n        } else if (strcmp(p, \"async_private_delay2\") == 0) {\n
      \           opt.async_private_delay2 = atoi(q);\n        } else if (strcmp(p,
      \"async_private_error\") == 0) {\n            int n = atoi(q);\n            if
      (n < -SSL_ASYNC_INJECT_ERROR_MAX ||\n                n > SSL_ASYNC_INJECT_ERROR_MAX)
      {\n                ret = 2;\n                goto usage;\n            }\n            opt.async_private_error
      = n;\n        }\n#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */\n#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID)\n
      \       else if (strcmp(p, \"cid\") == 0) {\n            opt.cid_enabled = atoi(q);\n
      \           if (opt.cid_enabled != 0 && opt.cid_enabled != 1) {\n                goto
      usage;\n            }\n        } else if (strcmp(p, \"cid_renego\") == 0) {\n
      \           opt.cid_enabled_renego = atoi(q);\n            if (opt.cid_enabled_renego
      != 0 && opt.cid_enabled_renego != 1) {\n                goto usage;\n            }\n
      \       } else if (strcmp(p, \"cid_val\") == 0) {\n            opt.cid_val =
      q;\n        } else if (strcmp(p, \"cid_val_renego\") == 0) {\n            opt.cid_val_renego
      = q;\n        }\n#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */\n        else if
      (strcmp(p, \"psk\") == 0) {\n            opt.psk = q;\n        }\n#if defined(MBEDTLS_USE_PSA_CRYPTO)\n
      \       else if (strcmp(p, \"psk_opaque\") == 0) {\n            opt.psk_opaque
      = atoi(q);\n        } else if (strcmp(p, \"psk_list_opaque\") == 0) {\n            opt.psk_list_opaque
      = atoi(q);\n        }\n#endif\n#if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK)\n
      \       else if (strcmp(p, \"ca_callback\") == 0) {\n            opt.ca_callback
      = atoi(q);\n        }\n#endif\n        else if (strcmp(p, \"psk_identity\")
      == 0) {\n            opt.psk_identity = q;\n        } else if (strcmp(p, \"psk_list\")
      == 0) {\n            opt.psk_list = q;\n        } else if (strcmp(p, \"ecjpake_pw\")
      == 0) {\n            opt.ecjpake_pw = q;\n        }\n#if defined(MBEDTLS_USE_PSA_CRYPTO)\n
      \       else if (strcmp(p, \"ecjpake_pw_opaque\") == 0) {\n            opt.ecjpake_pw_opaque
      = atoi(q);\n        }\n#endif\n        else if (strcmp(p, \"force_ciphersuite\")
      == 0) {\n            opt.force_ciphersuite[0] = mbedtls_ssl_get_ciphersuite_id(q);\n\n
      \           if (opt.force_ciphersuite[0] == 0) {\n                ret = 2;\n
      \               goto usage;\n            }\n            opt.force_ciphersuite[1]
      = 0;\n        } else if (strcmp(p, \"groups\") == 0) {\n            opt.groups
      = q;\n        }\n#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED)\n        else
      if (strcmp(p, \"sig_algs\") == 0) {\n            opt.sig_algs = q;\n        }\n#endif\n#if
      defined(MBEDTLS_SSL_EARLY_DATA)"
    argTypes:
    - strcmp
    constantsTouched: []
    func_position:
      end: 2005
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 2005
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - strcmp
    - if
    - atoi
    linkageType: ''
    returnType: else
    signature: 'else if (strcmp(p, "key_opaque") == 0) { opt.key_opaque = atoi(q);
      }#endif else if (strcmp(p, "crt_file2") == 0) { opt.crt_file2 = q; } else if
      (strcmp(p, "key_file2") == 0) { opt.key_file2 = q; } else if (strcmp(p, "key_pwd2")
      == 0) { opt.key_pwd2 = q; } else if (strcmp(p, "dhm_file") == 0) { opt.dhm_file
      = q; }#if defined(MBEDTLS_SSL_ASYNC_PRIVATE) else if (strcmp(p, "async_operations")
      == 0) { opt.async_operations = q; } else if (strcmp(p, "async_private_delay1")
      == 0) { opt.async_private_delay1 = atoi(q); } else if (strcmp(p, "async_private_delay2")
      == 0) { opt.async_private_delay2 = atoi(q); } else if (strcmp(p, "async_private_error")
      == 0) { int n = atoi(q); if (n < -SSL_ASYNC_INJECT_ERROR_MAX || n > SSL_ASYNC_INJECT_ERROR_MAX)
      { ret = 2; goto usage; } opt.async_private_error = n; }#endif /* MBEDTLS_SSL_ASYNC_PRIVATE
      */#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) else if (strcmp(p, "cid") == 0)
      { opt.cid_enabled = atoi(q); if (opt.cid_enabled != 0 && opt.cid_enabled !=
      1) { goto usage; } } else if (strcmp(p, "cid_renego") == 0) { opt.cid_enabled_renego
      = atoi(q); if (opt.cid_enabled_renego != 0 && opt.cid_enabled_renego != 1) {
      goto usage; } } else if (strcmp(p, "cid_val") == 0) { opt.cid_val = q; } else
      if (strcmp(p, "cid_val_renego") == 0) { opt.cid_val_renego = q; }#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID
      */ else if (strcmp(p, "psk") == 0) { opt.psk = q; }#if defined(MBEDTLS_USE_PSA_CRYPTO)
      else if (strcmp(p, "psk_opaque") == 0) { opt.psk_opaque = atoi(q); } else if
      (strcmp(p, "psk_list_opaque") == 0) { opt.psk_list_opaque = atoi(q); }#endif#if
      defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK) else if (strcmp(p, "ca_callback")
      == 0) { opt.ca_callback = atoi(q); }#endif else if (strcmp(p, "psk_identity")
      == 0) { opt.psk_identity = q; } else if (strcmp(p, "psk_list") == 0) { opt.psk_list
      = q; } else if (strcmp(p, "ecjpake_pw") == 0) { opt.ecjpake_pw = q; }#if defined(MBEDTLS_USE_PSA_CRYPTO)
      else if (strcmp(p, "ecjpake_pw_opaque") == 0) { opt.ecjpake_pw_opaque = atoi(q);
      }#endif else if (strcmp(p, "force_ciphersuite") == 0) { opt.force_ciphersuite[0]
      = mbedtls_ssl_get_ciphersuite_id(q); if (opt.force_ciphersuite[0] == 0) { ret
      = 2; goto usage; } opt.force_ciphersuite[1] = 0; } else if (strcmp(p, "groups")
      == 0) { opt.groups = q; }#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED)
      else if (strcmp(p, "sig_algs") == 0) { opt.sig_algs = q; }#endif#if defined(MBEDTLS_SSL_EARLY_DATA)
      else if (strcmp(p, "early_data") == 0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - cert
    - pk
    - pk_take_ownership
    - delay
    argTypes:
    - ssl_async_key_context_t*
    - mbedtls_x509_crt*
    - mbedtls_pk_context*
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 1122
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1122
    functionName: ssl_async_set_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ssl_async_set_key(ssl_async_key_context_t *ctx, mbedtls_x509_crt
      *cert, mbedtls_pk_context *pk, int pk_take_ownership, unsigned delay) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1419,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1434,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1449,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1442,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1430,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - p_ticket
    - session
    - buf
    - len
    argTypes:
    - void*
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1469
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1469
    functionName: dummy_ticket_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_ms_time
    - mbedtls_ssl_session_load
    linkageType: ''
    returnType: int
    signature: 'static int dummy_ticket_parse(void *p_ticket, mbedtls_ssl_session
      *session, unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1317,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1320,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1322,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1318,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1319,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - slot
    - alg
    - psk
    - psk_len
    argTypes:
    - mbedtls_svc_key_id_t*
    - psa_algorithm_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1329
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1329
    functionName: psa_setup_psk_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - psa_key_attributes_init
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - psa_set_key_algorithm
    - fprintf
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_setup_psk_key_slot(mbedtls_svc_key_id_t *slot,
      psa_algorithm_t alg, unsigned char *psk, size_t psk_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_peer_cid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1347,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1357,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1350,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1364,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1362,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1368,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ssl
    - additional_description
    argTypes:
    - mbedtls_ssl_context*
    - char*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1375
    functionName: report_cid_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ssl_get_peer_cid
    linkageType: ''
    returnType: int
    signature: 'static int report_cid_usage(mbedtls_ssl_context *ssl, const char *additional_description) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_export_keys_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - use_srtp
    - '!= 0'
    argTypes:
    - opt
    constantsTouched: []
    func_position:
      end: 3280
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3280
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_export_keys_cb
    linkageType: ''
    returnType: else
    signature: 'else if (opt.use_srtp != 0) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_dtls_srtp_negotiation_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3648,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3652,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3664,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3669,1
    - Dst: mbedtls_ssl_tls_prf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3655,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3672,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3674,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3676,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3682,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3684,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3686,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3691,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3689,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3696,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:3694,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - use_srtp
    - '!= 0'
    argTypes:
    - opt
    constantsTouched: []
    func_position:
      end: 3699
      start: 3645
    functionDepth: 0
    functionLinenumber: 3645
    functionLinenumberEnd: 3699
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_dtls_srtp_negotiation_result
    - mbedtls_ssl_tls_prf
    - mbedtls_printf
    linkageType: ''
    returnType: else
    signature: 'else if (opt.use_srtp != 0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:894,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:895,1
    - Dst: mbedtls_ssl_set_user_data_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:898,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - p_info
    - ssl
    - name
    - name_len
    argTypes:
    - void*
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 906
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 906
    functionName: sni_callback
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_user_data_p
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int sni_callback(void *p_info, mbedtls_ssl_context *ssl, const
      unsigned char *name, size_t name_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:965,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:966,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - head
    argTypes:
    - psk_entry*
    constantsTouched: []
    func_position:
      end: 979
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 979
    functionName: psk_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - psa_destroy_key
    - mbedtls_free
    linkageType: ''
    returnType: int
    signature: 'static int psk_free(psk_entry *head) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1398,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 6
    argNames:
    - p_ticket
    - session
    - start
    - end
    - tlen
    - ticket_lifetime
    argTypes:
    - void*
    - mbedtls_ssl_session*
    - unsigned char*
    - unsigned char*
    - size_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1411
    functionName: dummy_ticket_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_session_save
    - put_unaligned_uint32
    linkageType: ''
    returnType: int
    signature: 'static int dummy_ticket_write(void *p_ticket, const mbedtls_ssl_session
      *session, unsigned char *start, const unsigned char *end, size_t *tlen, uint32_t
      *ticket_lifetime) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1474,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1478,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1476,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1480,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1482,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1484,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1486,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1488,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1490,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1492,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1502,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1500,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1498,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1496,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1494,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1506
    functionName: parse_cipher
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int parse_cipher(char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:14,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:763,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:769,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:767,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:766,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:764,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:770,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:772,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:773,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - head
    argTypes:
    - sni_entry*
    constantsTouched: []
    func_position:
      end: 779
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 779
    functionName: sni_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_pk_free
    - mbedtls_x509_crl_free
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: void
    signature: 'static void sni_free(sni_entry *head) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1061,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1063
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1063
    functionName: term_handler
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_net_free
    linkageType: ''
    returnType: void
    signature: 'static void term_handler(int sig) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:814,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:823,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:827,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:824,1
    - Dst: mbedtls_x509_crl_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:851,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:804,1
    - Dst: sni_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:805,1
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:810,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:818,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:819,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:836,1
    - Dst: sni_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:872,1
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:811,1
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:809,1
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:816,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:831,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:826,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:832,1
    - Dst: mbedtls_x509_crl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:849,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:857,1
    - Dst: sni_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:873,1
    - Dst: GET_ITEM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:812,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:844,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:838,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:845,1
    - Dst: get_auth_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:858,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 1
    argNames:
    - sni_string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 875
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 875
    functionName: sni_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_init
    - sni_free
    - mbedtls_calloc
    - strcmp
    - mbedtls_x509_crl_init
    - mbedtls_x509_crt_parse_file
    - GET_ITEM
    - mbedtls_x509_crl_parse_file
    - mbedtls_pk_parse_keyfile
    - get_auth_mode
    - mbedtls_x509_crt_init
    linkageType: ''
    returnType: sni_entry*
    signature: 'static sni_entry *sni_parse(char *sni_string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1035,1
    - Dst: mbedtls_ssl_set_hs_psk_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1039,1
    - Dst: mbedtls_ssl_set_hs_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1042,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1036,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1038,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - p_info
    - ssl
    - name
    - name_len
    argTypes:
    - void*
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1049
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1049
    functionName: psk_callback
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - memcmp
    - mbedtls_ssl_set_hs_psk
    - mbedtls_ssl_set_hs_psk_opaque
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int psk_callback(void *p_info, mbedtls_ssl_context *ssl, const
      unsigned char *name, size_t name_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1383
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1383
    functionName: put_unaligned_uint32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server2.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static inline void put_unaligned_uint32(void *p, uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:64,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void my_debug(void *ctx, int level, const char *file, int line,
      const char *str) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:121,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:181,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:211,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:226,1
    - Dst: mbedtls_ssl_get_verify_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:221,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:198,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:325,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:337,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:182,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:114,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:127,1
    - Dst: mbedtls_ssl_conf_read_timeout
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:174,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:322,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:283,1
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:229,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:97,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:111,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:132,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:173,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:303,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:234,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:269,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:186,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:99,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:147,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:170,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:171,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:172,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:262,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:96,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:177,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:299,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:102,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:142,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:116,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:192,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:95,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:126,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:276,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:216,1
    - Dst: mbedtls_net_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:145,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:287,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:307,1
    - Dst: mbedtls_ssl_set_timer_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:189,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:129,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:176,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:327,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:242,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:104,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:156,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:324,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:157,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:266,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:317,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:231,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:257,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:318,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:94,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:137,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:151,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:241,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:252,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:263,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:201,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:329,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:326,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:88,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:159,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:247,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:323,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:98,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:117,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:143,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:197,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:206,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c:293,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 148
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_free
    - mbedtls_ssl_conf_authmode
    - mbedtls_ssl_init
    - mbedtls_ssl_handshake
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_crt_parse
    - mbedtls_ssl_config_init
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_ssl_write
    - mbedtls_ssl_read
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_net_connect
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_set_timer_cb
    - mbedtls_ssl_conf_dbg
    - mbedtls_ssl_set_bio
    - mbedtls_entropy_free
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_ssl_config_free
    - mbedtls_ssl_get_verify_result
    - fflush
    - mbedtls_ssl_conf_read_timeout
    - psa_crypto_init
    - mbedtls_x509_crt_verify_info
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_set_hostname
    - mbedtls_ssl_close_notify
    - mbedtls_debug_set_threshold
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:120,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:121,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: print_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - printf
    - print_version
    linkageType: ''
    returnType: void
    signature: 'static void print_usage(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:170,1
    - Dst: exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: error_exit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - exit
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void error_exit(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:229,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:237,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:232,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:238,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: print_b64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_b64(const uint8_t *b, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:277,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:281,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:283,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:287,1
    - Dst: strftime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - time
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 289
    functionName: print_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - strftime
    - gmtime
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_time(const uint64_t *time) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - mfl_code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 328
    functionName: get_mfl_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_mfl_str(int mfl_code) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:355,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:409,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:392,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:412,1
    - Dst: realloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:390,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:416,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:428,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:433,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 2
    argNames:
    - b64
    - max_len
    argTypes:
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 435
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 435
    functionName: read_next_b64_code
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - fgetc
    - printf_err
    - printf_dbg
    - realloc
    linkageType: ''
    returnType: size_t
    signature: 'static size_t read_next_b64_code(uint8_t **b64, size_t *max_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:452,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:457,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:458,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:455,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:454,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:459,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:460,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:465,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:467,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:468,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:470,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:476,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ssl
    - len
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 483
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 483
    functionName: print_deserialized_ssl_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - print_hex
    - mbedtls_x509_crt_parse_der
    - printf_err
    - mbedtls_strerror
    - printf
    - mbedtls_x509_crt_info
    - mbedtls_x509_crt_init
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: void
    signature: 'static void print_deserialized_ssl_cert(const uint8_t *ssl, uint32_t
      len) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:538,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:524,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:552,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:567,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:571,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:589,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:626,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:629,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:632,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:635,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:688,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:667,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:647,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:702,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:644,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:707,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:682,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:706,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:534,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:545,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:563,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:556,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:569,1
    - Dst: mbedtls_md_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:571,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:577,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:583,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:588,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:593,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:641,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:656,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:696,1
    - Dst: get_enabled_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:702,1
    - Dst: get_enabled_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:707,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:675,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:623,1
    - Dst: print_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:535,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:551,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:560,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:576,1
    - Dst: get_enabled_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:577,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:582,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:584,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:603,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:658,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:679,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:638,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:590,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:620,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:651,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:697,1
    - Dst: print_deserialized_ssl_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:613,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:701,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:520,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:540,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:543,1
    - Dst: mbedtls_ssl_ciphersuite_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:551,1
    - Dst: mbedtls_cipher_info_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:560,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:558,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:585,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:599,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:611,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:618,1
    - Dst: get_mfl_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:697,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:711,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:608,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:665,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:672,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:657,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:676,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:692,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:653,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:677,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 174
    argCount: 3
    argNames:
    - ssl
    - len
    - session_cfg_flag
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 713
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 713
    functionName: print_deserialized_ssl_session
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - print_hex
    - mbedtls_md_info_from_type
    - mbedtls_md_get_name
    - mbedtls_cipher_info_from_type
    - get_enabled_str
    - printf_dbg
    - printf_err
    - get_mfl_str
    - mbedtls_ssl_ciphersuite_get_name
    - CHECK_SSL_END
    - mbedtls_ssl_ciphersuite_from_id
    - printf
    - print_deserialized_ssl_cert
    - print_time
    - mbedtls_cipher_info_get_name
    linkageType: ''
    returnType: void
    signature: 'static void print_deserialized_ssl_session(const uint8_t *ssl, uint32_t
      len, int session_cfg_flag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:144,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:147,1
    - Dst: vprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:146,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:148,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - str
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: printf_dbg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - fflush
    - va_start
    - vprintf
    - printf
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void printf_dbg(const char *str, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:156,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:160,1
    - Dst: vfprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:159,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:158,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:157,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: printf_err
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - fflush
    - va_start
    - vfprintf
    - fprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: 'static void printf_err(const char *str, ...) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: read_next_b64_code
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:952,1
    - Dst: mbedtls_base64_decode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:975,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:984,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:962,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:942,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:930,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:945,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:970,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:983,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:977,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:996,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:1005,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:928,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:941,1
    - Dst: parse_arguments
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:938,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:961,1
    - Dst: print_b64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:973,1
    - Dst: print_deserialized_ssl_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:987,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:995,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:999,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:946,1
    - Dst: realloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:959,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:972,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:978,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:990,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:1001,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1009
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 1009
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - print_hex
    - mbedtls_base64_decode
    - mbedtls_psa_crypto_free
    - realloc
    - psa_crypto_init
    - printf_err
    - print_b64
    - printf_dbg
    - print_deserialized_ssl_context
    - read_next_b64_code
    - mbedtls_strerror
    - mbedtls_fprintf
    - free
    - malloc
    - printf
    - parse_arguments
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: print_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_version(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: print_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:183,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:188,1
    - Dst: print_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:191,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:192,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:201,1
    - Dst: error_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:215,1
    - Dst: print_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:214,1
    - Dst: error_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:197,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:209,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:205,1
    - Dst: error_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:207,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:211,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:190,1
    - Dst: error_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:184,1
    - Dst: print_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:193,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:194,1
    - Dst: error_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:202,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:196,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:206,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 220
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 220
    functionName: parse_arguments
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - error_exit
    - print_usage
    - strcmp
    - printf_err
    - print_version
    - fopen
    linkageType: ''
    returnType: void
    signature: 'static void parse_arguments(int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:261,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:267,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:266,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - b
    - len
    - in_line
    - prefix
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 268
    functionName: print_hex
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_hex(const uint8_t *b, size_t len, const size_t in_line,
      const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - str
    - bit
    - val
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: print_if_bit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_if_bit(const char *str, int bit, int val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - is_en
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: get_enabled_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_enabled_str(int is_en) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:757,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:780,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:791,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:799,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:778,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:808,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:816,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:820,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:826,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:839,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:874,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:911,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:881,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:884,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:852,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:755,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:763,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:774,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:781,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:779,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:807,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:822,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:823,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:831,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:836,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:876,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:913,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:856,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:861,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:898,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:857,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:760,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:773,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:776,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:785,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:801,1
    - Dst: print_deserialized_ssl_session
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:802,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:829,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:833,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:855,1
    - Dst: print_hex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:863,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:891,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:899,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:906,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:875,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:896,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:869,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:901,1
    - Dst: printf_err
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:902,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:759,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:761,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:777,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:793,1
    - Dst: print_if_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:788,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:805,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:811,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:818,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:835,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:846,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:895,1
    - Dst: printf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:893,1
    - Dst: get_enabled_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:870,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:868,1
    - Dst: CHECK_SSL_END
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:862,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 134
    argCount: 2
    argNames:
    - ssl
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 914
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 914
    functionName: print_deserialized_ssl_context
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - print_hex
    - get_enabled_str
    - printf_dbg
    - printf_err
    - print_if_bit
    - CHECK_SSL_END
    - printf
    - print_deserialized_ssl_session
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void print_deserialized_ssl_context(const uint8_t *ssl, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_context_info.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:32,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:33,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 7
    argNames:
    - p_expkey
    - secret_type
    - secret
    - secret_len
    - client_random
    - server_random
    - tls_prf_type
    argTypes:
    - void*
    - mbedtls_ssl_key_export_type
    - unsigned char*
    - size_t
    - unsigned char
    - unsigned char
    - mbedtls_tls_prf_types
    constantsTouched: []
    func_position:
      end: 36
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 36
    functionName: eap_tls_key_derivation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void eap_tls_key_derivation(void *p_expkey, mbedtls_ssl_key_export_type
      secret_type, const unsigned char *secret, size_t secret_len, const unsigned
      char client_random[32], const unsigned char server_random[32], mbedtls_tls_prf_types
      tls_prf_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:141,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:151,1
    - Dst: mbedtls_ssl_check_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:147,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:145,1
    - Dst: mbedtls_ssl_check_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:152,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:154,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:165,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:171,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:177,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:182,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:192,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 195
    functionName: ssl_check_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_calloc
    - mbedtls_ssl_check_record
    - mbedtls_free
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int ssl_check_record(mbedtls_ssl_context const *ssl, unsigned
      char const *buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_net_recv_timeout
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:232,1
    - Dst: ssl_check_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - timeout
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: recv_timeout_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - mbedtls_net_recv_timeout
    - ssl_check_record
    linkageType: ''
    returnType: int
    signature: 'static int recv_timeout_cb(void *ctx, unsigned char *buf, size_t len,
      uint32_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:325,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - size
    - prefix
    - flags
    argTypes:
    - char*
    - size_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 351
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 351
    functionName: x509_crt_verify_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    - mbedtls_x509_crt_verify_info
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_verify_info(char *buf, size_t size, const char
      *prefix, uint32_t flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: delayed_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:204,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:206,1
    - Dst: ssl_check_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: recv_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - mbedtls_net_recv
    - delayed_recv
    - ssl_check_record
    linkageType: ''
    returnType: int
    signature: 'static int recv_cb(void *ctx, unsigned char *buf, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:60,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:64,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:75,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:68,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:71,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:78,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:79,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:80,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:81,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:86,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:92,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:94,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:103,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:99,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:95,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 7
    argNames:
    - p_expkey
    - secret_type
    - secret
    - secret_len
    - client_random
    - server_random
    - tls_prf_type
    argTypes:
    - void*
    - mbedtls_ssl_key_export_type
    - unsigned char*
    - size_t
    - unsigned char
    - unsigned char
    - mbedtls_tls_prf_types
    constantsTouched: []
    func_position:
      end: 105
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 105
    functionName: nss_keylog_export
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_setbuf
    - mbedtls_platform_zeroize
    - fwrite
    - fclose
    - fopen
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void nss_keylog_export(void *p_expkey, mbedtls_ssl_key_export_type
      secret_type, const unsigned char *secret, size_t secret_len, const unsigned
      char client_random[32], const unsigned char server_random[32], mbedtls_tls_prf_types
      tls_prf_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delayed_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:255,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: send_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - mbedtls_net_send
    - delayed_send
    linkageType: ''
    returnType: int
    signature: 'static int send_cb(void *ctx, unsigned char const *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:357,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:359,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:358,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:360,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:361,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:362,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:363,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:364,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:365,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:366,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:369,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:370,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:374,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:371,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:367,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:372,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:373,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 375
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 375
    functionName: mbedtls_print_supported_sig_algs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_print_supported_sig_algs(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:126,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:128,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 7
    argNames:
    - p_expkey
    - secret_type
    - secret
    - secret_len
    - client_random
    - server_random
    - tls_prf_type
    argTypes:
    - void*
    - mbedtls_ssl_key_export_type
    - unsigned char*
    - size_t
    - unsigned char
    - unsigned char
    - mbedtls_tls_prf_types
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: dtls_srtp_key_derivation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_common_source.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void dtls_srtp_key_derivation(void *p_expkey, mbedtls_ssl_key_export_type
      secret_type, const unsigned char *secret, size_t secret_len, const unsigned
      char client_random[32], const unsigned char server_random[32], mbedtls_tls_prf_types
      tls_prf_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:32,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:161,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:168,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:221,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:212,1
    - Dst: connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:234,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:240,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:250,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:256,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:261,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:271,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:160,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:159,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:175,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:176,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:181,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:189,1
    - Dst: socket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:229,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:206,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:242,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:260,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:154,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:165,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:202,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:263,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:268,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:163,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:203,1
    - Dst: mbedtls_ssl_conf_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:192,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:197,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:259,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:262,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c:265,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/mini_client.c
    functionUses: []
    functionsReached:
    - socket
    - mbedtls_x509_crt_parse_der
    - mbedtls_ssl_free
    - mbedtls_ssl_conf_authmode
    - mbedtls_ssl_init
    - mbedtls_ssl_handshake
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_ctr_drbg_init
    - mbedtls_ssl_config_init
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_ssl_write
    - mbedtls_x509_crt_free
    - mbedtls_psa_crypto_free
    - mbedtls_exit
    - mbedtls_ssl_conf_ca_chain
    - connect
    - mbedtls_ssl_set_bio
    - mbedtls_entropy_free
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_ssl_config_free
    - psa_crypto_init
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_set_hostname
    - mbedtls_ssl_close_notify
    - mbedtls_ssl_conf_psk
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:28,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c
    functionUses: []
    functionsReached:
    - mbedtls_exit
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:163,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:194,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:216,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:260,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:255,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:188,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:96,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:142,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:336,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:375,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:402,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:99,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:110,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:131,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:230,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:272,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:330,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:355,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:380,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:302,1
    - Dst: mbedtls_net_accept
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:258,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:104,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:156,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:205,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:215,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:384,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:97,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:181,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:281,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:309,1
    - Dst: mbedtls_ssl_cookie_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:220,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:243,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:391,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:394,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:214,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:275,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:306,1
    - Dst: mbedtls_ssl_cookie_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:100,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:120,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:175,1
    - Dst: mbedtls_net_bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:183,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:248,1
    - Dst: mbedtls_ssl_conf_session_cache
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:209,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:359,1
    - Dst: mbedtls_ssl_conf_dtls_cookies
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:226,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:105,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:129,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:196,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:293,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:324,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:376,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:381,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:385,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:126,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:136,1
    - Dst: mbedtls_ssl_cache_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:389,1
    - Dst: mbedtls_ssl_cache_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:102,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:132,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:149,1
    - Dst: mbedtls_ssl_session_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:250,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:383,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:106,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:159,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:222,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:244,1
    - Dst: mbedtls_ssl_set_timer_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:234,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:193,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:386,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:141,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:184,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:303,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:335,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:349,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:297,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:152,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:200,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:107,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:127,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:237,1
    - Dst: mbedtls_ssl_conf_read_timeout
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:206,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:289,1
    - Dst: mbedtls_ssl_cookie_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:387,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:112,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:180,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:320,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:229,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:280,1
    - Dst: mbedtls_ssl_set_client_transport_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:265,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:171,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:339,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:363,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:284,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:316,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:256,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:98,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:204,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:267,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:344,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:392,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 179
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 403
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 403
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_cookie_free
    - mbedtls_ssl_free
    - mbedtls_ssl_init
    - mbedtls_ssl_conf_own_cert
    - mbedtls_ssl_cache_free
    - mbedtls_ssl_handshake
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ssl_cookie_setup
    - mbedtls_net_bind
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_crt_parse
    - mbedtls_ssl_config_init
    - mbedtls_ssl_conf_dtls_cookies
    - mbedtls_net_accept
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_ssl_read
    - mbedtls_ssl_write
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_pk_parse_key
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_set_timer_cb
    - mbedtls_ssl_conf_dbg
    - printf
    - mbedtls_ssl_cookie_init
    - mbedtls_ssl_set_client_transport_id
    - mbedtls_ssl_set_bio
    - mbedtls_entropy_free
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_pk_init
    - mbedtls_ssl_conf_session_cache
    - mbedtls_ssl_config_free
    - fflush
    - mbedtls_ssl_session_reset
    - mbedtls_ssl_conf_read_timeout
    - psa_crypto_init
    - mbedtls_ssl_cache_init
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_close_notify
    - mbedtls_debug_set_threshold
    - mbedtls_pk_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:71,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/dtls_server.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void my_debug(void *ctx, int level, const char *file, int line,
      const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:682,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:683,1
    - Dst: mbedtls_ssl_session_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:688,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:691,1
    - Dst: mbedtls_ssl_get_session
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:689,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:698,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:699,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:701,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:708,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:711,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:717,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ssl
    - session_data
    - session_data_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 719
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 719
    functionName: ssl_save_session_serialize
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_calloc
    - mbedtls_free
    - mbedtls_ssl_get_session
    - mbedtls_platform_zeroize
    - mbedtls_ssl_session_init
    - mbedtls_ssl_session_save
    - mbedtls_ssl_session_free
    linkageType: ''
    returnType: int
    signature: 'static int ssl_save_session_serialize(mbedtls_ssl_context *ssl, unsigned
      char **session_data, size_t *session_data_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:729,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:749,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:735,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:753,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - buf
    - buf_size
    - request_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 773
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 773
    functionName: build_http_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    - memset
    - strncpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int build_http_request(unsigned char *buf, size_t buf_size,
      size_t *request_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:1129,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:1129,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:1130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - "(p, \"key_opaque\") == 0) {\n            opt.key_opaque = atoi(q);\n        }\n#endif\n#if
      defined(MBEDTLS_SSL_DTLS_CONNECTION_ID)"
    argTypes:
    - strcmp
    constantsTouched: []
    func_position:
      end: 1134
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1134
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - strcmp
    - if
    - atoi
    linkageType: ''
    returnType: else
    signature: 'else if (strcmp(p, "key_opaque") == 0) { opt.key_opaque = atoi(q);
      }#endif#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) else if (strcmp(p, "cid")
      == 0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:24,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_peer_cid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:624,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:627,1
    - Dst: mbedtls_ssl_get_peer_cid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:643,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:639,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:634,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:646,1
    - Dst: mbedtls_ssl_get_peer_cid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:652,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:655,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:659,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:663,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - ssl
    - additional_description
    argTypes:
    - mbedtls_ssl_context*
    - char*
    constantsTouched: []
    func_position:
      end: 670
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 670
    functionName: report_cid_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ssl_get_peer_cid
    linkageType: ''
    returnType: int
    signature: 'static int report_cid_usage(mbedtls_ssl_context *ssl, const char *additional_description) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:572,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:591,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:575,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:577,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:584,1
    - Dst: x509_crt_verify_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:593,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - data
    - crt
    - depth
    - flags
    argTypes:
    - void*
    - mbedtls_x509_crt*
    - int
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 598
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 598
    functionName: my_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - memcpy
    - mbedtls_x509_crt_info
    - x509_crt_verify_info
    linkageType: ''
    returnType: int
    signature: 'static int my_verify(void *data, mbedtls_x509_crt *crt, int depth,
      uint32_t *flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_dtls_srtp_negotiation_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2354,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2370,1
    - Dst: mbedtls_ssl_tls_prf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2361,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2375,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2358,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2378,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2380,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2382,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2388,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2390,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2395,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2397,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2400,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2402,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - use_srtp
    - '!= 0'
    argTypes:
    - opt
    constantsTouched: []
    func_position:
      end: 2404
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2404
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_dtls_srtp_negotiation_result
    - mbedtls_ssl_tls_prf
    - mbedtls_printf
    linkageType: ''
    returnType: else
    signature: 'else if (opt.use_srtp != 0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_export_keys_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c:2067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - use_srtp
    - '!= 0'
    argTypes:
    - opt
    constantsTouched: []
    func_position:
      end: 2069
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2069
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_client2.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_export_keys_cb
    linkageType: ''
    returnType: else
    signature: 'else if (opt.use_srtp != 0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:67,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:71,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:78,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rng
    argTypes:
    - rng_context_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: rng_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - psa_crypto_init
    - mbedtls_hmac_drbg_init
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_init
    linkageType: ''
    returnType: void
    signature: 'void rng_init(rng_context_t *rng) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_timing_get_delay
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:421,1
    - Dst: mbedtls_net_poll
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:428,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - fd
    - timer
    - idle_reason
    argTypes:
    - mbedtls_net_context*
    - mbedtls_timing_delay_context*
    - int
    constantsTouched: []
    func_position:
      end: 439
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 439
    functionName: idle
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_net_poll
    - mbedtls_timing_get_delay
    linkageType: ''
    returnType: int
    signature: 'int idle(mbedtls_net_context *fd, mbedtls_timing_delay_context *timer,
      int idle_reason) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_info_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:445,1
    - Dst: mbedtls_test_mutex_usage_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: test_hooks_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_test_info_reset
    - mbedtls_test_mutex_usage_init
    linkageType: ''
    returnType: void
    signature: 'void test_hooks_init(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: mbedtls_ssl_get_curve_tls_id_from_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint16_t
    signature: 'static uint16_t mbedtls_ssl_get_curve_tls_id_from_name(const char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_mutex_usage_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:456,1
    - Dst: mbedtls_test_get_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: test_hooks_failure_detected
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_test_get_result
    - mbedtls_test_mutex_usage_check
    linkageType: ''
    returnType: int
    signature: 'int test_hooks_failure_detected(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: mbedtls_ssl_print_supported_groups_list
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_ssl_print_supported_groups_list(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:606,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:626,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:608,1
    - Dst: mbedtls_ssl_get_curve_tls_id_from_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:622,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:625,1
    - Dst: mbedtls_ssl_print_supported_groups_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:627,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:628,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:633,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:636,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - groups
    - group_list
    - group_list_len
    argTypes:
    - char*
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 645
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 645
    functionName: parse_groups
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - strcmp
    - mbedtls_ssl_print_supported_groups_list
    - mbedtls_ssl_get_curve_tls_id_from_name
    linkageType: ''
    returnType: int
    signature: 'int parse_groups(const char *groups, uint16_t *group_list, size_t
      group_list_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:86,1
    - Dst: srand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:106,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:110,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:113,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:96,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:122,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:123,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:126,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - rng
    - reproducible
    - pers
    argTypes:
    - rng_context_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 139
    functionName: rng_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_md_info_from_type
    - srand
    - mbedtls_ctr_drbg_seed
    - mbedtls_hmac_drbg_seed
    - mbedtls_fprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int rng_seed(rng_context_t *rng, int reproducible, const char *pers) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 375
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 375
    functionName: delayed_recv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_net_recv
    linkageType: ''
    returnType: int
    signature: 'int delayed_recv(void *ctx, unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:148,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:152,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:159,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rng
    argTypes:
    - rng_context_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: rng_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_ctr_drbg_free
    - mbedtls_psa_crypto_free
    - mbedtls_entropy_free
    - mbedtls_hmac_drbg_free
    linkageType: ''
    returnType: void
    signature: 'void rng_free(rng_context_t *rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: delayed_send
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_net_send
    linkageType: ''
    returnType: int
    signature: 'int delayed_send(void *ctx, const unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - mbedtls_time_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: dummy_constant_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_time_t
    signature: 'mbedtls_time_t dummy_constant_time(mbedtls_time_t *time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:327,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:334,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:350,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:332,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:341,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:351,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - data
    - child
    - candidates
    argTypes:
    - void*
    - mbedtls_x509_crt*
    - mbedtls_x509_crt**
    constantsTouched: []
    func_position:
      end: 357
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 357
    functionName: ca_callback
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_x509_crt_parse_der
    - mbedtls_free
    - mbedtls_x509_crt_init
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: int
    signature: 'int ca_callback(void *data, mbedtls_x509_crt const *child, mbedtls_x509_crt
      **candidates) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_psa_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:284,1
    - Dst: mbedtls_pk_import_into_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:293,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:288,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:289,1
    - Dst: psa_set_key_enrollment_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:291,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:297,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:298,1
    - Dst: mbedtls_pk_setup_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - pk
    - psa_alg
    - psa_alg2
    - psa_usage
    - key_id
    argTypes:
    - mbedtls_pk_context*
    - psa_algorithm_t
    - psa_algorithm_t
    - psa_key_usage_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 305
    functionName: pk_wrap_as_opaque
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_init
    - psa_set_key_usage_flags
    - psa_set_key_enrollment_algorithm
    - psa_set_key_algorithm
    - mbedtls_pk_import_into_psa
    - mbedtls_pk_setup_opaque
    - mbedtls_pk_free
    - mbedtls_pk_get_psa_attributes
    linkageType: ''
    returnType: int
    signature: 'int pk_wrap_as_opaque(mbedtls_pk_context *pk, psa_algorithm_t psa_alg,
      psa_algorithm_t psa_alg2, psa_key_usage_t psa_usage, mbedtls_svc_key_id_t *key_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_func
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:54,1
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - data
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: dummy_entropy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_entropy_func
    - rand
    linkageType: ''
    returnType: int
    signature: 'static int dummy_entropy(void *data, unsigned char *output, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_get_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:167,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:173,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - p_rng
    - output
    - output_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: rng_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_ctr_drbg_random
    - mbedtls_hmac_drbg_random
    - mbedtls_psa_get_random
    linkageType: ''
    returnType: int
    signature: 'int rng_get(void *p_rng, unsigned char *output, size_t output_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:251,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:253,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:267,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:232,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:239,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:241,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:266,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:247,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:245,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:227,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:250,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:262,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:236,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:233,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:235,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:238,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:242,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:244,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:256,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 6
    argNames:
    - alg1
    - alg2
    - psa_alg1
    - psa_alg2
    - usage
    - key_type
    argTypes:
    - char*
    - char*
    - psa_algorithm_t*
    - psa_algorithm_t*
    - psa_key_usage_t*
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 275
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 275
    functionName: key_opaque_set_alg_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - PSA_ALG_RSA_PKCS1V15_SIGN
    - strcmp
    - PSA_ALG_RSA_PSS
    - PSA_ALG_ECDSA
    linkageType: ''
    returnType: int
    signature: 'int key_opaque_set_alg_usage(const char *alg1, const char *alg2, psa_algorithm_t
      *psa_alg1, psa_algorithm_t *psa_alg2, psa_key_usage_t *usage, mbedtls_pk_type_t
      key_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:34,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:36,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'void my_debug(void *ctx, int level, const char *file, int line, const
      char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:186,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:197,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:195,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:196,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:194,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:198,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:199,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:200,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:201,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:205,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:207,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:208,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:213,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:206,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:211,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:212,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:209,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:210,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 3
    argNames:
    - arg
    - alg1
    - alg2
    argTypes:
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: key_opaque_alg_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - strchr
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int key_opaque_alg_parse(const char *arg, const char **alg1, const
      char **alg2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_mutex_usage_end
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: test_hooks_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_test_lib.c
    functionUses: []
    functionsReached:
    - mbedtls_test_mutex_usage_end
    linkageType: ''
    returnType: void
    signature: 'void test_hooks_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:22,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:67,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void my_debug(void *ctx, int level, const char *file, int line,
      const char *str) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:119,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:146,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:150,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:175,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:257,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:199,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:258,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:293,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:367,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:98,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:125,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:206,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:307,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:294,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:184,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:311,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:351,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:364,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:344,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:289,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:89,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:86,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:109,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:159,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:319,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:363,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:370,1
    - Dst: mbedtls_ctr_drbg_reseed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:228,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:114,1
    - Dst: fork
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:217,1
    - Dst: mbedtls_net_close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:226,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:266,1
    - Dst: mbedtls_net_usleep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:353,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:214,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:92,1
    - Dst: signal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:104,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:135,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:171,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:173,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:246,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:264,1
    - Dst: mbedtls_net_close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:238,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:188,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:132,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:162,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:329,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:336,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:338,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:369,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:372,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:271,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:202,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:366,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:375,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:91,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:124,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:110,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:185,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:303,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:198,1
    - Dst: mbedtls_net_accept
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:204,1
    - Dst: getpid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:240,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:160,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:356,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:274,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:88,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:179,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:276,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:192,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:215,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:220,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:225,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:231,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:283,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:332,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:365,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:115,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:154,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:170,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:174,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:87,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:96,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:272,1
    - Dst: mbedtls_net_bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:187,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:245,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:139,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:142,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:288,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:201,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:368,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:93,1
    - Dst: mbedtls_ssl_get_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:333,1
    - Dst: mbedtls_ctr_drbg_reseed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:248,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:251,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:90,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:166,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:330,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 176
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 376
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_free
    - mbedtls_ssl_init
    - mbedtls_ssl_conf_own_cert
    - mbedtls_ssl_handshake
    - mbedtls_entropy_init
    - mbedtls_net_close
    - mbedtls_ctr_drbg_free
    - mbedtls_net_bind
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_crt_parse
    - mbedtls_ssl_config_init
    - mbedtls_net_accept
    - mbedtls_ssl_get_ciphersuite
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_ssl_write
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_pk_parse_key
    - fork
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_conf_dbg
    - mbedtls_ctr_drbg_reseed
    - mbedtls_net_usleep
    - mbedtls_ssl_set_bio
    - sprintf
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_pk_init
    - mbedtls_ssl_config_free
    - mbedtls_entropy_free
    - fflush
    - psa_crypto_init
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_close_notify
    - getpid
    - mbedtls_ssl_read
    - mbedtls_pk_free
    - signal
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:32,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_fork_server.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:127,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:177,1
    - Dst: mbedtls_net_accept
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:226,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:211,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:244,1
    - Dst: mbedtls_ssl_cache_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:348,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:148,1
    - Dst: mbedtls_net_bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:164,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:285,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:318,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:344,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:89,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:141,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:175,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:298,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:201,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:239,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:196,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:84,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:95,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:116,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:321,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:85,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:105,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:156,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:165,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:314,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:259,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:269,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:82,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:162,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:260,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:174,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:295,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:350,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:353,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:301,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:111,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:121,1
    - Dst: mbedtls_ssl_conf_session_cache
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:189,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:194,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:303,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:232,1
    - Dst: mbedtls_ssl_session_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:218,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:255,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:326,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:228,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:212,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:224,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:249,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:273,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:90,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:114,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:181,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:336,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:91,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:144,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:240,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:205,1
    - Dst: mbedtls_ssl_cache_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:87,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:117,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:134,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:254,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:137,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:337,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:345,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:341,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:234,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:126,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:185,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:342,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:97,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:161,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:296,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:200,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:195,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:316,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:343,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:242,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:92,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:169,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:216,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:223,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:308,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:83,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:277,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:351,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:186,1
    - Dst: mbedtls_ssl_get_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:299,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:152,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:346,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:356,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 169
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 357
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_free
    - mbedtls_ssl_init
    - mbedtls_ssl_conf_own_cert
    - mbedtls_ssl_cache_free
    - mbedtls_ssl_handshake
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_net_bind
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_crt_parse
    - mbedtls_ssl_config_init
    - mbedtls_net_accept
    - mbedtls_ssl_get_ciphersuite
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_ssl_read
    - mbedtls_ssl_write
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_pk_parse_key
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_conf_dbg
    - mbedtls_ssl_set_bio
    - sprintf
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_pk_init
    - mbedtls_ssl_conf_session_cache
    - mbedtls_ssl_config_free
    - mbedtls_entropy_free
    - fflush
    - mbedtls_ssl_session_reset
    - psa_crypto_init
    - mbedtls_ssl_cache_init
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_close_notify
    - mbedtls_debug_set_threshold
    - mbedtls_pk_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:61,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_server.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void my_debug(void *ctx, int level, const char *file, int line,
      const char *str) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:228,1
    - Dst: mbedtls_ssl_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:239,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:229,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:231,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:238,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:250,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:254,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:266,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 272
    functionName: write_ssl_and_get_response
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - atoi
    - mbedtls_ssl_read
    - mbedtls_ssl_write
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int write_ssl_and_get_response(mbedtls_ssl_context *ssl, unsigned
      char *buf, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:153,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:158,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:161,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:164,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:159,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:166,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:171,1
    - Dst: mbedtls_ssl_get_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:172,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:177,1
    - Dst: mbedtls_ssl_get_verify_result
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:180,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:185,1
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:188,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:190,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:193,1
    - Dst: mbedtls_ssl_get_peer_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:199,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:197,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:198,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 204
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 204
    functionName: do_handshake
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ssl_get_verify_result
    - fflush
    - mbedtls_x509_crt_verify_info
    - mbedtls_strerror
    - mbedtls_ssl_handshake
    - mbedtls_ssl_get_ciphersuite
    - mbedtls_x509_crt_info
    - mbedtls_ssl_get_peer_cert
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int do_handshake(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:210,1
    - Dst: mbedtls_ssl_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:211,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: write_ssl_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ssl_write
    linkageType: ''
    returnType: int
    signature: 'static int write_ssl_data(mbedtls_ssl_context *ssl, unsigned char
      *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:144,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: my_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void my_debug(void *ctx, int level, const char *file, int line,
      const char *str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:281,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:283,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:289,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:290,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:282,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:293,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:298,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:310,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - sock_fd
    - buf
    - len
    argTypes:
    - mbedtls_net_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 316
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 316
    functionName: write_and_get_response
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_net_recv
    - mbedtls_net_send
    - atoi
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int write_and_get_response(mbedtls_net_context *sock_fd, unsigned
      char *buf, size_t len) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:359,1
    - Dst: mbedtls_ssl_list_ciphersuites
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:374,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:423,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:435,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:609,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:617,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:680,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:697,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:731,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:785,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:771,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:379,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:364,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:376,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:492,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:499,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:516,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:601,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:624,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:631,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:639,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:802,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:759,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:722,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:546,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:589,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:362,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:409,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:556,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:585,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:470,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:552,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:561,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:665,1
    - Dst: mbedtls_base64_encode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:689,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:761,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:727,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:356,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:568,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:574,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:745,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:806,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:809,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:677,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:812,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:503,1
    - Dst: gethostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:622,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:674,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:726,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:756,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:770,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:764,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:786,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:752,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:404,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:425,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:437,1
    - Dst: mbedtls_ssl_get_ciphersuite_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:440,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:461,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:522,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:590,1
    - Dst: gethostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:644,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:655,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:747,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:788,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:354,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:357,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:406,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:427,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:630,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:705,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:736,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:800,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:807,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:608,1
    - Dst: write_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:633,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:658,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:696,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:743,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:507,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:504,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:515,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:584,1
    - Dst: mbedtls_ssl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:352,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:414,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:456,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:652,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:693,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:712,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:780,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:742,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:419,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:564,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:594,1
    - Dst: do_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:604,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:619,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:635,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:686,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:801,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:768,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:734,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:500,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:576,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:408,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:613,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:641,1
    - Dst: do_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:667,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:675,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:678,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:703,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:709,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:562,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:353,1
    - Dst: mbedtls_ssl_get_ciphersuite_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:376,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:372,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:413,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:465,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:532,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:537,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:548,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:599,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:773,1
    - Dst: write_ssl_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:783,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:483,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:479,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:474,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:429,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:460,1
    - Dst: gethostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:657,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:661,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:684,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:690,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:803,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:355,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:431,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:455,1
    - Dst: mbedtls_net_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:550,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:541,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:623,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:648,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:706,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:718,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:758,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:762,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:750,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:358,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:583,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:488,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:471,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:577,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:595,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:611,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:645,1
    - Dst: mbedtls_base64_encode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:708,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:715,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:794,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:792,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:510,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:399,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:620,1
    - Dst: write_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:646,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:687,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:699,1
    - Dst: write_ssl_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:716,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:729,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:740,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:804,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:805,1
    - Dst: mbedtls_ssl_conf_ciphersuites
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:580,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:475,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:351,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:418,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:433,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:458,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:626,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:642,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:654,1
    - Dst: write_and_get_response
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:659,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 400
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 813
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 813
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_ciphersuites
    - mbedtls_ssl_free
    - mbedtls_ssl_conf_authmode
    - mbedtls_ssl_init
    - strchr
    - mbedtls_ssl_conf_own_cert
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - write_and_get_response
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_seed
    - strcmp
    - mbedtls_ctr_drbg_init
    - mbedtls_x509_crt_parse
    - mbedtls_ssl_config_init
    - atoi
    - mbedtls_ssl_get_ciphersuite_id
    - mbedtls_ssl_setup
    - mbedtls_net_init
    - mbedtls_x509_crt_free
    - mbedtls_printf
    - mbedtls_ssl_get_ciphersuite_name
    - mbedtls_psa_crypto_free
    - mbedtls_net_connect
    - write_ssl_data
    - mbedtls_pk_parse_key
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_x509_crt_parse_file
    - mbedtls_ssl_conf_ca_chain
    - gethostname
    - mbedtls_ssl_list_ciphersuites
    - mbedtls_ssl_conf_dbg
    - mbedtls_pk_parse_keyfile
    - mbedtls_ssl_set_bio
    - sprintf
    - mbedtls_x509_crt_init
    - strlen
    - mbedtls_pk_init
    - mbedtls_base64_encode
    - mbedtls_ssl_config_free
    - mbedtls_entropy_free
    - fflush
    - write_ssl_and_get_response
    - psa_crypto_init
    - mbedtls_net_free
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_set_hostname
    - mbedtls_snprintf
    - mbedtls_ssl_close_notify
    - mbedtls_pk_free
    - do_handshake
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:25,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/ssl/ssl_mail_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:109,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:118,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:115,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:113,1
    - Dst: ftell
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:114,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:123,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:124,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:128,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:129,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:130,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - path
    - buf
    - n
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: load_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - fread
    - free
    - ftell
    - fopen
    - fseek
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int load_file(const char *path, unsigned char **buf, size_t
      *n) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:54,1
    - Dst: mbedtls_base64_decode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:82,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:59,1
    - Dst: mbedtls_base64_decode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:91,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 4
    argNames:
    - input
    - ilen
    - output
    - olen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 99
    functionName: convert_pem_to_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c
    functionUses: []
    functionsReached:
    - mbedtls_base64_decode
    - strstr
    linkageType: ''
    returnType: int
    signature: 'static int convert_pem_to_der(const unsigned char *input, size_t ilen,
      unsigned char *output, size_t *olen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: convert_pem_to_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:229,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:243,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:249,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:251,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:177,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:209,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:233,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:221,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:231,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:226,1
    - Dst: write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:245,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:262,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:191,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:181,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:198,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:208,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:227,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:255,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:260,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:176,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:196,1
    - Dst: load_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:211,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:215,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:237,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:242,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:217,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 263
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - convert_pem_to_der
    - fflush
    - strchr
    - strcmp
    - load_file
    - mbedtls_strerror
    - free
    - mbedtls_exit
    - write_file
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:149,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:153,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:154,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - path
    - buf
    - n
    argTypes:
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: write_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c
    functionUses: []
    functionsReached:
    - fopen
    - fwrite
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int write_file(const char *path, unsigned char *buf, size_t
      n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:33,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/pem2der.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:26,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:36,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:37,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:42,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:44,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:40,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:54,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:55,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/util/strerror.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - strtol
    - mbedtls_strerror
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:120,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:121,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:122,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:123,1
    - Dst: psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:127,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:130,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:105,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:121,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:122,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:129,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:136,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:106,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:109,1
    - Dst: psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:120,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:127,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:128,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:123,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:129,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:130,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:134,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:95,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:107,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:104,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:128,1
    - Dst: print_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:124,1
    - Dst: print_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:131,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 139
    functionName: hmac_demo
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_mac_sign_finish
    - psa_set_key_type
    - psa_import_key
    - PSA_CHECK
    - psa_destroy_key
    - psa_set_key_algorithm
    - psa_mac_sign_setup
    - psa_mac_update
    - mbedtls_platform_zeroize
    - psa_set_key_bits
    - psa_mac_abort
    - PSA_ALG_HMAC
    - print_buf
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t hmac_demo(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:146,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:146,1
    - Dst: hmac_demo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:149,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:152,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c
    functionUses: []
    functionsReached:
    - psa_crypto_init
    - mbedtls_psa_crypto_free
    - hmac_demo
    - PSA_CHECK
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:63,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:65,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - title
    - buf
    - len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: print_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/hmac_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_buf(const char *title, uint8_t *buf, size_t len) '
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 30
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 30
    functionName: psa_strerror
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *psa_strerror(psa_status_t status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - psa_dh_family_t
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: psa_dh_family_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *psa_dh_family_name(psa_dh_family_t group) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ka_alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: psa_ka_algorithm_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *psa_ka_algorithm_name(psa_algorithm_t ka_alg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - psa_ecc_family_t
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: psa_ecc_family_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *psa_ecc_family_name(psa_ecc_family_t curve) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - hash_alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: psa_hash_algorithm_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *psa_hash_algorithm_name(psa_algorithm_t hash_alg) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:95,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:97,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:99,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:100,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:102,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:104,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:111,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:106,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:109,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:107,1
    - Dst: append_with_curve
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:125,1
    - Dst: append_with_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:133,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:120,1
    - Dst: PSA_KEY_TYPE_IS_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:128,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:117,1
    - Dst: PSA_KEY_TYPE_DH_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:135,1
    - Dst: PSA_KEY_TYPE_IS_DH_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:132,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:118,1
    - Dst: PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:124,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:127,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:96,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:98,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:101,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:103,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:110,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:108,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:105,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:112,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:113,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:115,1
    - Dst: snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:137,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:116,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:94,1
    - Dst: append_with_curve
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:121,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:123,1
    - Dst: append_with_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:129,1
    - Dst: PSA_KEY_TYPE_DH_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:131,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:114,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 46
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - type
    argTypes:
    - char*
    - size_t
    - psa_key_type_t
    constantsTouched: []
    func_position:
      end: 144
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 144
    functionName: psa_snprint_key_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached:
    - append_with_group
    - append_with_curve
    - append
    - snprintf
    - PSA_KEY_TYPE_DH_GET_FAMILY
    - PSA_KEY_TYPE_IS_ECC_KEY_PAIR
    - PSA_KEY_TYPE_IS_DH_PUBLIC_KEY
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY
    - PSA_KEY_TYPE_IS_DH_KEY_PAIR
    linkageType: ''
    returnType: int
    signature: 'static int psa_snprint_key_type(char *buffer, size_t buffer_size,
      psa_key_type_t type) '
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: PSA_MAC_TRUNCATED_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:162,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:268,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:282,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:296,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:310,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:324,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:338,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:349,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:331,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:330,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:224,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:214,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:195,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:205,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:233,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:243,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:242,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:252,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:267,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:281,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:303,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:344,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:335,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:354,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:160,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:172,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:352,1
    - Dst: append_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:361,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:368,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:244,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:234,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:196,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:197,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:206,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:215,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:225,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:253,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:337,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:351,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:340,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:174,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:289,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:240,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:193,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:202,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:212,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:231,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:221,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:250,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:263,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:277,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:291,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:346,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:347,1
    - Dst: PSA_ALG_IS_RAW_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:179,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:258,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:272,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:286,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:300,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:314,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:328,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:342,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:356,1
    - Dst: append_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:369,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:213,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:223,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:241,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:222,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:232,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:194,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:203,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:204,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:251,1
    - Dst: PSA_ALG_IS_DETERMINISTIC_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:262,1
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:153,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:156,1
    - Dst: PSA_ALG_IS_DETERMINISTIC_DSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:255,1
    - Dst: PSA_ALG_IS_RANDOMIZED_DSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:269,1
    - Dst: PSA_ALG_IS_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:283,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:297,1
    - Dst: PSA_ALG_IS_PBKDF2_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:311,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:325,1
    - Dst: PSA_ALG_IS_RSA_PSS_ANY_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:339,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:353,1
    - Dst: PSA_ALG_IS_RSA_PSS_STANDARD_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:332,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:333,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:209,1
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_KDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:180,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:183,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:191,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:200,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:210,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:228,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:238,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:219,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:247,1
    - Dst: PSA_ALG_IS_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:304,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:305,1
    - Dst: PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:165,1
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:178,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:176,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:260,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:274,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:288,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:302,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:316,1
    - Dst: PSA_ALG_IS_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:318,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:319,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:321,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:239,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:211,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:229,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:230,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:192,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:201,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:220,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:248,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:249,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:290,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:359,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:293,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:170,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:181,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:186,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:189,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:372,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:307,1
    - Dst: PSA_ALG_IS_RANDOMIZED_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:276,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:217,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:235,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:245,1
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_BASE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:185,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:198,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:207,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:226,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:236,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:216,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:265,1
    - Dst: append_with_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:279,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:309,1
    - Dst: PSA_MAC_TRUNCATED_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:158,1
    - Dst: PSA_ALG_TRUNCATED_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:154,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:164,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:256,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:270,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:284,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:298,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:312,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:323,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:326,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:345,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:208,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:218,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:237,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:190,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:199,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:246,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:227,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:261,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:275,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:295,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:317,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:358,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 224
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - alg
    argTypes:
    - char*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 376
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 376
    functionName: psa_snprint_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached:
    - append_integer
    - PSA_ALG_IS_RANDOMIZED_ECDSA
    - PSA_ALG_IS_RANDOMIZED_DSA
    - PSA_ALG_IS_RSA_PSS_ANY_SALT
    - PSA_ALG_AEAD_GET_TAG_LENGTH
    - PSA_ALG_IS_HKDF_EXPAND
    - PSA_ALG_IS_TLS12_PRF
    - PSA_ALG_IS_MAC
    - PSA_ALG_KEY_AGREEMENT_GET_KDF
    - PSA_ALG_IS_RSA_OAEP
    - PSA_MAC_TRUNCATED_LENGTH
    - PSA_ALG_IS_DETERMINISTIC_DSA
    - PSA_ALG_IS_PBKDF2_HMAC
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - append
    - PSA_ALG_IS_RSA_PSS_STANDARD_SALT
    - PSA_ALG_IS_AEAD
    - PSA_ALG_KEY_AGREEMENT_GET_BASE
    - PSA_ALG_IS_RAW_KEY_AGREEMENT
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - PSA_ALG_GET_HASH
    - PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG
    - PSA_ALG_IS_KEY_AGREEMENT
    - PSA_ALG_IS_HKDF_EXTRACT
    - PSA_ALG_IS_HMAC
    - PSA_ALG_TRUNCATED_MAC
    - PSA_ALG_IS_DETERMINISTIC_ECDSA
    - PSA_ALG_IS_HKDF
    - append_with_alg
    linkageType: ''
    returnType: int
    signature: 'static int psa_snprint_algorithm(char *buffer, size_t buffer_size,
      psa_algorithm_t alg) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:428,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:456,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:444,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:442,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:430,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:458,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:395,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:451,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:449,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:463,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:400,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:402,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:414,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:416,1
    - Dst: append_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:465,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:393,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:407,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:409,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:421,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:423,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:435,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c:437,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - usage
    argTypes:
    - char*
    - size_t
    - psa_key_usage_t
    constantsTouched: []
    func_position:
      end: 471
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 471
    functionName: psa_snprint_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names_generated.c
    functionUses: []
    functionsReached:
    - append_integer
    - append
    linkageType: ''
    returnType: int
    signature: 'static int psa_snprint_key_usage(char *buffer, size_t buffer_size,
      psa_key_usage_t usage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:162,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:165,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:162,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:167,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:165,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:168,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:168,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:169,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:169,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - key
    - output_file_name
    argTypes:
    - psa_key_id_t
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: save_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - PSA_CHECK
    - SYS_CHECK
    - psa_export_key
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t save_key(psa_key_id_t key, const char *output_file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:190,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:193,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:194,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:194,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:192,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:196,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:196,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:198,1
    - Dst: save_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:198,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key_file_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 203
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 203
    functionName: generate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_BYTES_TO_BITS
    - PSA_CHECK
    - psa_destroy_key
    - psa_set_key_algorithm
    - psa_set_key_bits
    - save_key
    - psa_generate_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t generate(const char *key_file_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:321,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:325,1
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:321,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:322,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:322,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:325,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:328,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:328,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:333,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:334,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:336,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:337,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:335,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:341,1
    - Dst: psa_key_derivation_output_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - usage
    - derived_key
    - wrapping_key
    argTypes:
    - psa_key_usage_t
    - psa_key_id_t
    - psa_key_id_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 343
    functionName: derive_wrapping_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - PSA_CHECK
    - psa_set_key_type
    - psa_key_derivation_output_key
    - psa_key_derivation_input_bytes
    - psa_key_derivation_input_key
    - psa_set_key_algorithm
    - psa_key_derivation_abort
    - psa_set_key_bits
    - psa_key_derivation_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t derive_wrapping_key(psa_key_usage_t usage, psa_key_id_t
      derived_key, psa_key_id_t *wrapping_key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:365,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:375,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:381,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:390,1
    - Dst: psa_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:400,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:408,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:411,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:413,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:423,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:428,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:362,1
    - Dst: ftell
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:366,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:375,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:387,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:389,1
    - Dst: PSA_AEAD_ENCRYPT_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:378,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:399,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:410,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:415,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:362,1
    - Dst: calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:388,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:376,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:387,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:394,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:400,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:413,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:415,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:420,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:426,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:365,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:364,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:366,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:369,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:388,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:389,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:390,1
    - Dst: psa_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:399,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:408,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:411,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 3
    argNames:
    - input_file_name
    - output_file_name
    - wrapping_key
    argTypes:
    - char*
    - char*
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 430
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 430
    functionName: wrap_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - psa_generate_random
    - fopen
    - fread
    - ftell
    - psa_get_key_type
    - mbedtls_setbuf
    - PSA_CHECK
    - memcpy
    - PSA_AEAD_ENCRYPT_OUTPUT_SIZE
    - free
    - fwrite
    - printf
    - fseek
    - psa_aead_encrypt
    - SYS_CHECK
    - psa_get_key_attributes
    - fclose
    - calloc
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t wrap_data(const char *input_file_name, const char
      *output_file_name, psa_key_id_t wrapping_key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:534,1
    - Dst: generate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:538,1
    - Dst: save_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:553,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:559,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:542,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:553,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:556,1
    - Dst: wrap_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:566,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:534,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:548,1
    - Dst: derive_wrapping_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:563,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:566,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:579,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:581,1
    - Dst: import_key_from_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:542,1
    - Dst: derive_key_ladder
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:548,1
    - Dst: derive_wrapping_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:556,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:563,1
    - Dst: unwrap_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:559,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:578,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 6
    argNames:
    - mode
    - key_file_name
    - ladder
    - ladder_depth
    - input_file_name
    - output_file_name
    argTypes:
    - enum program_mode
    - char*
    - char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 583
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 583
    functionName: run
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - generate
    - mbedtls_psa_crypto_free
    - wrap_data
    - PSA_CHECK
    - unwrap_data
    - psa_destroy_key
    - psa_crypto_init
    - save_key
    - derive_key_ladder
    - import_key_from_file
    - derive_wrapping_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t run(enum program_mode mode, const char *key_file_name,
      const char *ladder[], size_t ladder_depth, const char *input_file_name, const
      char *output_file_name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:451,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:450,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:464,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:476,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:501,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:514,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:519,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:451,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:460,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:465,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:470,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:484,1
    - Dst: psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:488,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:503,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:448,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:453,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:455,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:480,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:479,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:484,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:504,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:504,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:506,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:511,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:517,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:448,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:464,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:477,1
    - Dst: PSA_AEAD_ENCRYPT_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:467,1
    - Dst: calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:476,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:477,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:488,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:495,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:501,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:506,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 3
    argNames:
    - input_file_name
    - output_file_name
    - wrapping_key
    argTypes:
    - char*
    - char*
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 521
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 521
    functionName: unwrap_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - memcmp
    - PSA_CHECK
    - fread
    - psa_aead_decrypt
    - mbedtls_platform_zeroize
    - PSA_AEAD_ENCRYPT_OUTPUT_SIZE
    - SYS_CHECK
    - free
    - psa_get_key_attributes
    - fwrite
    - printf
    - psa_get_key_type
    - fopen
    - calloc
    - fclose
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t unwrap_data(const char *input_file_name, const
      char *output_file_name, psa_key_id_t wrapping_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:587,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:591,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:588,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:589,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:590,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:592,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:593,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:594,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:595,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:596,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:599,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:598,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:597,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:603,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:602,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:601,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 604
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 604
    functionName: usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void usage(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:628,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:637,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:673,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:648,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:618,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:626,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:619,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:620,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:643,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:645,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:662,1
    - Dst: run
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:677,1
    - Dst: usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:685,1
    - Dst: usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:621,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:633,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:635,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:657,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:655,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:659,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:668,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:653,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 687
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 687
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - strcmp
    - usage
    - strchr
    - run
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:272,1
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:279,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:283,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:296,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:286,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:291,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:273,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:280,1
    - Dst: psa_key_derivation_output_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:294,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:300,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:269,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:273,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:279,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:288,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:283,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:286,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:291,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:296,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:302,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:271,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:280,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - ladder
    - ladder_depth
    - key
    argTypes:
    - char*
    - size_t
    - psa_key_id_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 306
    functionName: derive_key_ladder
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_BYTES_TO_BITS
    - PSA_CHECK
    - psa_destroy_key
    - psa_set_key_algorithm
    - psa_key_derivation_input_bytes
    - psa_key_derivation_input_key
    - psa_key_derivation_output_key
    - psa_set_key_bits
    - psa_key_derivation_abort
    - psa_key_derivation_setup
    - strlen
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t derive_key_ladder(const char *ladder[], size_t
      ladder_depth, psa_key_id_t *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:222,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:225,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:222,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:225,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:224,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:227,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:228,1
    - Dst: SYS_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:233,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:233,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:236,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:237,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:238,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:239,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:244,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:239,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:249,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - usage
    - alg
    - key_file_name
    - master_key
    argTypes:
    - psa_key_usage_t
    - psa_algorithm_t
    - char*
    - psa_key_id_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 253
    functionName: import_key_from_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - mbedtls_setbuf
    - psa_set_key_type
    - PSA_CHECK
    - fread
    - psa_set_key_algorithm
    - psa_import_key
    - mbedtls_platform_zeroize
    - psa_destroy_key
    - SYS_CHECK
    - printf
    - fopen
    - fclose
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t import_key_from_file(psa_key_usage_t usage, psa_algorithm_t
      alg, const char *key_file_name, psa_key_id_t *master_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/key_ladder_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:65,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:68,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:76,1
    - Dst: psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 7
    argNames:
    - operation
    - input
    - input_size
    - part_size
    - output
    - output_size
    - output_len
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: cipher_operation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - psa_cipher_update
    - psa_cipher_finish
    - ASSERT_STATUS
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t cipher_operation(psa_cipher_operation_t *operation,
      const uint8_t *input, size_t input_size, size_t part_size, uint8_t *output,
      size_t output_size, size_t *output_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:148,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:168,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:164,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:166,1
    - Dst: psa_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:163,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:169,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:170,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:172,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:173,1
    - Dst: cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:175,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:178,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:183,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:185,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:189,1
    - Dst: cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:180,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 191
    functionName: cipher_example_encrypt_decrypt_aes_cbc_nopad_1_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - cipher_encrypt
    - psa_set_key_type
    - memcmp
    - psa_destroy_key
    - psa_set_key_algorithm
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - ASSERT_STATUS
    - psa_set_key_bits
    - cipher_decrypt
    - psa_generate_random
    - psa_generate_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t cipher_example_encrypt_decrypt_aes_cbc_nopad_1_block(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:244,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:259,1
    - Dst: psa_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:258,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:263,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:261,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:264,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:265,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:267,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:268,1
    - Dst: cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:270,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:273,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:280,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:281,1
    - Dst: cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:275,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:284,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 286
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 286
    functionName: cipher_example_encrypt_decrypt_aes_ctr_multi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - cipher_encrypt
    - psa_set_key_type
    - memcmp
    - psa_destroy_key
    - psa_set_key_algorithm
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - ASSERT_STATUS
    - psa_set_key_bits
    - cipher_decrypt
    - psa_generate_random
    - psa_generate_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t cipher_example_encrypt_decrypt_aes_ctr_multi(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:98,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:103,1
    - Dst: psa_cipher_generate_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:102,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:100,1
    - Dst: psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:99,1
    - Dst: cipher_operation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:105,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:107,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 10
    argNames:
    - key
    - alg
    - iv
    - iv_size
    - input
    - input_size
    - part_size
    - output
    - output_size
    - output_len
    argTypes:
    - psa_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 112
    functionName: cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - psa_cipher_encrypt_setup
    - ASSERT_STATUS
    - cipher_operation
    - psa_cipher_abort
    - psa_cipher_generate_iv
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t cipher_encrypt(psa_key_id_t key, psa_algorithm_t
      alg, uint8_t *iv, size_t iv_size, const uint8_t *input, size_t input_size, size_t
      part_size, uint8_t *output, size_t output_size, size_t *output_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:128,1
    - Dst: psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:129,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:130,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:133,1
    - Dst: psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:132,1
    - Dst: cipher_operation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:135,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:137,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 10
    argNames:
    - key
    - alg
    - iv
    - iv_size
    - input
    - input_size
    - part_size
    - output
    - output_size
    - output_len
    argTypes:
    - psa_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: cipher_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - ASSERT_STATUS
    - psa_cipher_decrypt_setup
    - cipher_operation
    - psa_cipher_set_iv
    - psa_cipher_abort
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t cipher_decrypt(psa_key_id_t key, psa_algorithm_t
      alg, const uint8_t *iv, size_t iv_size, const uint8_t *input, size_t input_size,
      size_t part_size, uint8_t *output, size_t output_size, size_t *output_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:196,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:216,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:212,1
    - Dst: psa_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:211,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:214,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:217,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:218,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:220,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:221,1
    - Dst: cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:223,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:226,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:231,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:233,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:237,1
    - Dst: ASSERT_STATUS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:234,1
    - Dst: cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 239
    functionName: cipher_example_encrypt_decrypt_aes_cbc_pkcs7_multi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - cipher_encrypt
    - psa_set_key_type
    - memcmp
    - psa_destroy_key
    - psa_set_key_algorithm
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - ASSERT_STATUS
    - psa_set_key_bits
    - cipher_decrypt
    - psa_generate_random
    - psa_generate_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t cipher_example_encrypt_decrypt_aes_cbc_pkcs7_multi(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:292,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:298,1
    - Dst: cipher_example_encrypt_decrypt_aes_cbc_nopad_1_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:293,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:295,1
    - Dst: cipher_example_encrypt_decrypt_aes_cbc_pkcs7_multi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:299,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:301,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:304,1
    - Dst: cipher_example_encrypt_decrypt_aes_ctr_multi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:305,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 309
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 309
    functionName: cipher_examples
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - cipher_example_encrypt_decrypt_aes_cbc_nopad_1_block
    - cipher_example_encrypt_decrypt_aes_ctr_multi
    - cipher_example_encrypt_decrypt_aes_cbc_pkcs7_multi
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void cipher_examples(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:313,1
    - Dst: cipher_examples
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:314,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:313,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - cipher_examples
    - psa_crypto_init
    - mbedtls_psa_crypto_free
    - ASSERT
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/crypto_examples.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_ENCRYPT_OUTPUT_MAX_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:198,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:205,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:203,1
    - Dst: psa_aead_set_nonce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:205,1
    - Dst: psa_aead_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:203,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:206,1
    - Dst: psa_aead_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:206,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:207,1
    - Dst: psa_aead_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:207,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:209,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:214,1
    - Dst: psa_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:211,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:221,1
    - Dst: print_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:218,1
    - Dst: psa_aead_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:209,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 10
    argNames:
    - key
    - alg
    - iv
    - iv_len
    - ad
    - ad_len
    - part1
    - part1_len
    - part2
    - part2_len
    argTypes:
    - psa_key_id_t
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 223
    functionName: aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c
    functionUses: []
    functionsReached:
    - PSA_AEAD_ENCRYPT_OUTPUT_MAX_SIZE
    - psa_aead_finish
    - PSA_CHECK
    - psa_aead_update
    - memcpy
    - psa_aead_update_ad
    - print_buf
    - psa_aead_abort
    - psa_aead_set_nonce
    - psa_aead_encrypt_setup
    linkageType: ''
    returnType: int
    signature: 'static int aead_encrypt(psa_key_id_t key, psa_algorithm_t alg, const
      unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len, const
      unsigned char *part1, size_t part1_len, const unsigned char *part2, size_t part2_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:170,1
    - Dst: PSA_AEAD_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:174,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:172,1
    - Dst: PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:173,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:171,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - key
    - alg
    argTypes:
    - psa_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: aead_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c
    functionUses: []
    functionsReached:
    - PSA_AEAD_TAG_LENGTH
    - psa_get_key_bits
    - psa_get_key_attributes
    - printf
    - psa_get_key_type
    - PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG
    linkageType: ''
    returnType: void
    signature: 'static void aead_info(psa_key_id_t key, psa_algorithm_t alg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:126,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:134,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:130,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:138,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:135,1
    - Dst: puts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:143,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:149,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:150,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:151,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:152,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:155,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - info
    - key
    - alg
    argTypes:
    - char*
    - psa_key_id_t*
    - psa_algorithm_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 159
    functionName: aead_prepare
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c
    functionUses: []
    functionsReached:
    - puts
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_CHECK
    - psa_import_key
    - strcmp
    - psa_set_key_algorithm
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    - psa_set_key_bits
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t aead_prepare(const char *info, psa_key_id_t *key,
      psa_algorithm_t *alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:86,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:90,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - title
    - buf
    - len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: print_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_buf(const char *title, uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:235,1
    - Dst: aead_prepare
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:235,1
    - Dst: aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:239,1
    - Dst: aead_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:237,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:239,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:243,1
    - Dst: aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:243,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 252
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 252
    functionName: aead_demo
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c
    functionUses: []
    functionsReached:
    - aead_prepare
    - aead_encrypt
    - PSA_CHECK
    - psa_destroy_key
    - aead_info
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t aead_demo(const char *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:263,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:268,1
    - Dst: aead_demo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:271,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:268,1
    - Dst: PSA_CHECK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:271,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c
    functionUses: []
    functionsReached:
    - puts
    - mbedtls_psa_crypto_free
    - PSA_CHECK
    - psa_crypto_init
    - aead_demo
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/aead_demo.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:90,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:120,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:148,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:86,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:96,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:134,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:139,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:150,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:154,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:155,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:66,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:75,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:70,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:77,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:84,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:98,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:104,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:105,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:113,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:145,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:61,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:68,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:80,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:92,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:116,1
    - Dst: psa_hash_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:110,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:124,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:129,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:135,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c:142,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - PSA_HASH_LENGTH
    - mbedtls_psa_crypto_free
    - memcmp
    - psa_hash_verify
    - psa_hash_compute
    - psa_crypto_init
    - psa_hash_abort
    - psa_hash_clone
    - psa_hash_finish
    - psa_hash_update
    - psa_hash_setup
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_dh_family_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:93,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:97,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:94,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:98,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:95,1
    - Dst: append_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:100,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - buffer
    - buffer_size
    - required_size
    - string
    - length
    - group
    argTypes:
    - char**
    - size_t
    - size_t*
    - char*
    - size_t
    - psa_dh_family_t
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: append_with_group
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - append_integer
    - psa_dh_family_name
    - append
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void append_with_group(char **buffer, size_t buffer_size, size_t
      *required_size, const char *string, size_t length, psa_dh_family_t group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - buffer
    - buffer_size
    - required_size
    - string
    - length
    argTypes:
    - char**
    - size_t
    - size_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: append
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void append(char **buffer, size_t buffer_size, size_t *required_size,
      const char *string, size_t length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:113,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:115,1
    - Dst: append_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:118,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - buffer
    - buffer_size
    - required_size
    - get_name
    - alg
    argTypes:
    - char**
    - size_t
    - size_t*
    - psa_get_algorithm_name_func_ptr
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: append_with_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - get_name
    - append_integer
    - append
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void append_with_alg(char **buffer, size_t buffer_size, size_t
      *required_size, psa_get_algorithm_name_func_ptr get_name, psa_algorithm_t alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:128,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:132,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:134,1
    - Dst: snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - status
    argTypes:
    - char*
    - size_t
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: psa_snprint_status
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - psa_strerror
    - memcpy
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int psa_snprint_status(char *buffer, size_t buffer_size, psa_status_t
      status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_dh_family_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:162,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:166,1
    - Dst: snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:164,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - group
    argTypes:
    - char*
    - size_t
    - psa_dh_family_t
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: psa_snprint_dh_group
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - snprintf
    - memcpy
    - psa_dh_family_name
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int psa_snprint_dh_group(char *buffer, size_t buffer_size,
      psa_dh_family_t group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:26,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:36,1
    - Dst: _vsnprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:30,1
    - Dst: _vsnprintf_s
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:28,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - s
    - n
    - fmt
    - '...'
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: snprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - _vsnprintf
    - va_end
    - _vsnprintf_s
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int snprintf(char *s, size_t n, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_ecc_family_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:75,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:79,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:80,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:76,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:77,1
    - Dst: append_integer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:82,1
    - Dst: append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - buffer
    - buffer_size
    - required_size
    - string
    - length
    - curve
    argTypes:
    - char**
    - size_t
    - size_t*
    - char*
    - size_t
    - psa_ecc_family_t
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: append_with_curve
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - append_integer
    - psa_ecc_family_name
    - append
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void append_with_curve(char **buffer, size_t buffer_size, size_t
      *required_size, const char *string, size_t length, psa_ecc_family_t curve) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - buffer
    - buffer_size
    - required_size
    - format
    - /*printf format for value*/
    - value
    argTypes:
    - char**
    - size_t
    - size_t*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: append_integer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void append_integer(char **buffer, size_t buffer_size, size_t
      *required_size, const char *format /*printf format for value*/, unsigned long
      value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_ecc_family_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:145,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:151,1
    - Dst: snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:147,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - curve
    argTypes:
    - char*
    - size_t
    - psa_ecc_family_t
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: psa_snprint_ecc_curve
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - snprintf
    - memcpy
    - psa_ecc_family_name
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int psa_snprint_ecc_curve(char *buffer, size_t buffer_size,
      psa_ecc_family_t curve) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:178,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:183,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:181,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:180,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:182,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:184,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:185,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:186,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - program_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void usage(const char *program_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:199,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:205,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:209,1
    - Dst: psa_snprint_status
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:215,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:201,1
    - Dst: puts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - type
    - min
    - max
    - argp
    argTypes:
    - signed_value_type
    - long
    - long
    - char**
    constantsTouched: []
    func_position:
      end: 223
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 223
    functionName: process_signed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - strtol
    - puts
    - psa_snprint_status
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int process_signed(signed_value_type type, long min, long max,
      char **argp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:238,1
    - Dst: psa_snprint_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:250,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:240,1
    - Dst: psa_snprint_ecc_curve
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:254,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:244,1
    - Dst: psa_snprint_dh_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:258,1
    - Dst: psa_snprint_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:262,1
    - Dst: psa_snprint_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:266,1
    - Dst: puts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:270,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - type
    - max
    - argp
    argTypes:
    - unsigned_value_type
    - unsigned long
    - char**
    constantsTouched: []
    func_position:
      end: 274
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 274
    functionName: process_unsigned
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - puts
    - psa_snprint_ecc_curve
    - psa_snprint_key_type
    - psa_snprint_algorithm
    - psa_snprint_key_usage
    - psa_snprint_dh_group
    - printf
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'static int process_unsigned(unsigned_value_type type, unsigned long
      max, char **argp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: process_signed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:288,1
    - Dst: process_unsigned
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:291,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:293,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:296,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:299,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:302,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:279,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:280,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:285,1
    - Dst: usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:281,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:290,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:285,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:290,1
    - Dst: process_unsigned
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:297,1
    - Dst: process_unsigned
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:294,1
    - Dst: process_unsigned
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:300,1
    - Dst: process_unsigned
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:303,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:306,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:293,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:299,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:296,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c:302,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 309
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 309
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/psa/psa_constant_names.c
    functionUses: []
    functionsReached:
    - strcmp
    - usage
    - process_unsigned
    - process_signed
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:31,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:52,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:54,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:64,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:68,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:77,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:80,1
    - Dst: mbedtls_rsa_export_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:81,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:97,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:98,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:106,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:131,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:92,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:130,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:53,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:53,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:55,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:58,1
    - Dst: mbedtls_rsa_gen_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:71,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:86,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:91,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:105,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:109,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:110,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:134,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:116,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:107,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:93,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:132,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:53,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:54,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:55,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:60,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:69,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:61,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:63,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:73,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:78,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:82,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:127,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:131,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:131,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:130,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:113,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:51,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:54,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:57,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:87,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:100,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:101,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:123,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:130,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:133,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:135,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:111,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:137,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:132,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c:108,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 112
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_genkey.c
    functionUses: []
    functionsReached:
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_mpi_write_file
    - mbedtls_ctr_drbg_seed
    - mbedtls_rsa_export
    - mbedtls_rsa_free
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_free
    - mbedtls_printf
    - mbedtls_exit
    - mbedtls_rsa_init
    - mbedtls_rsa_gen_key
    - mbedtls_entropy_free
    - strlen
    - fflush
    - mbedtls_rsa_export_crt
    - mbedtls_mpi_init
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:39,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_write_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:62,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:64,1
    - Dst: dump_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - title
    - key
    argTypes:
    - char*
    - mbedtls_ecdsa_context*
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: dump_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ecp_write_public_key
    - dump_buf
    linkageType: ''
    returnType: void
    signature: 'static void dump_pubkey(const char *title, mbedtls_ecdsa_context *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:49,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:54,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - title
    - buf
    - len
    argTypes:
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: dump_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: void
    signature: 'static void dump_buf(const char *title, unsigned char *buf, size_t
      len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:93,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:97,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:128,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:119,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:123,1
    - Dst: mbedtls_ecp_keypair_get_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:132,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:135,1
    - Dst: dump_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:137,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:142,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:210,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:216,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:194,1
    - Dst: mbedtls_ecdsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:92,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:100,1
    - Dst: mbedtls_ecp_curve_info_from_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:134,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:150,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:164,1
    - Dst: dump_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:169,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:178,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:195,1
    - Dst: mbedtls_ecdsa_read_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:197,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:211,1
    - Dst: mbedtls_sha256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:145,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:213,1
    - Dst: dump_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:152,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:179,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:82,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:103,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:118,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:115,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:124,1
    - Dst: mbedtls_ecdsa_genkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:126,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:116,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:146,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:158,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:167,1
    - Dst: mbedtls_ecp_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:181,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:96,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:94,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:113,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:143,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:157,1
    - Dst: mbedtls_ecdsa_write_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:160,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:182,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:200,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:214,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:212,1
    - Dst: mbedtls_ecp_set_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:186,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:204,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c:187,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_keypair_get_group_id
    - mbedtls_ecdsa_genkey
    - mbedtls_ecdsa_read_signature
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ecdsa_init
    - dump_pubkey
    - mbedtls_ctr_drbg_seed
    - mbedtls_ecp_export
    - dump_buf
    - mbedtls_ctr_drbg_init
    - mbedtls_ecdsa_write_signature
    - mbedtls_printf
    - mbedtls_ecp_point_init
    - mbedtls_exit
    - mbedtls_entropy_free
    - mbedtls_sha256
    - strlen
    - fflush
    - mbedtls_ecp_curve_info_from_grp_id
    - mbedtls_ecp_set_public_key
    - mbedtls_ecp_point_free
    - mbedtls_ecdsa_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:141,1
    - Dst: mbedtls_pk_write_key_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:153,1
    - Dst: mbedtls_pk_write_key_pem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:145,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:161,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:149,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:165,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:166,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - key
    - output_file
    argTypes:
    - mbedtls_pk_context*
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 173
    functionName: write_private_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c
    functionUses: []
    functionsReached:
    - memset
    - fwrite
    - mbedtls_pk_write_key_pem
    - mbedtls_pk_write_key_der
    - fopen
    - fclose
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int write_private_key(mbedtls_pk_context *key, const char *output_file) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:315,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:326,1
    - Dst: show_ecp_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:447,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:395,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:262,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:280,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:299,1
    - Dst: write_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:459,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:430,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:390,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:441,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:480,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:448,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:281,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:320,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:397,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:313,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:331,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:373,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:392,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:434,1
    - Dst: write_private_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:462,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:479,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:265,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:273,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:386,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:401,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:438,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:474,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:480,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:333,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:341,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:382,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:484,1
    - Dst: show_ecp_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:402,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:280,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:307,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:425,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:408,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:394,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:281,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:354,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:481,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:492,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:282,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:312,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:403,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:368,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:384,1
    - Dst: mbedtls_pk_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:447,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:487,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:433,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:263,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:305,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:357,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:396,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:378,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:471,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:480,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:442,1
    - Dst: mbedtls_rsa_export_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:385,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:391,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:415,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:359,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:479,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:267,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:281,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:304,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:360,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:381,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:446,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:414,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:472,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:481,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:436,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:282,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:322,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:365,1
    - Dst: mbedtls_pk_parse_public_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:417,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:486,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:489,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:453,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:280,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:287,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:393,1
    - Dst: mbedtls_pk_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:402,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:479,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:420,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:271,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:346,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:355,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 196
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 493
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 493
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_ec
    - strchr
    - write_public_key
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_mpi_write_file
    - mbedtls_ctr_drbg_seed
    - strcmp
    - mbedtls_rsa_export
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_free
    - mbedtls_pk_get_type
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_pk_parse_keyfile
    - mbedtls_entropy_free
    - strlen
    - mbedtls_pk_init
    - write_private_key
    - fflush
    - show_ecp_key
    - mbedtls_pk_rsa
    - psa_crypto_init
    - mbedtls_rsa_export_crt
    - mbedtls_mpi_init
    - mbedtls_pk_free
    - mbedtls_pk_parse_public_keyfile
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:99,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:107,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:119,1
    - Dst: mbedtls_pk_write_pubkey_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:111,1
    - Dst: mbedtls_pk_write_pubkey_pem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:103,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:123,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:124,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - key
    - output_file
    argTypes:
    - mbedtls_pk_context*
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 131
    functionName: write_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_write_pubkey_pem
    - memset
    - mbedtls_pk_write_pubkey_der
    - fwrite
    - fopen
    - fclose
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int write_public_key(mbedtls_pk_context *key, const char *output_file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:188,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:190,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:192,1
    - Dst: mbedtls_ecp_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:194,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:200,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:211,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:212,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:203,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:215,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:218,1
    - Dst: mbedtls_ecp_curve_info_from_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:181,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:186,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:192,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:200,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:234,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:235,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:235,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:194,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:210,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:213,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:214,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:218,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:233,1
    - Dst: mbedtls_ecp_keypair_get_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:182,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:183,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:219,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:222,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:228,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - ecp
    - has_private
    argTypes:
    - mbedtls_ecp_keypair*
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: show_ecp_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ecp_group_init
    - mbedtls_mpi_write_file
    - mbedtls_ecp_group_free
    - mbedtls_ecp_curve_info_from_grp_id
    - mbedtls_ecp_export
    - mbedtls_mpi_read_binary
    - mbedtls_ecp_keypair_get_group_id
    - mbedtls_ecp_point_init
    - mbedtls_ecp_get_type
    - mbedtls_ecp_point_write_binary
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int show_ecp_key(const mbedtls_ecp_keypair *ecp, int has_private) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:19,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app_writer.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:19,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:50,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:55,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:74,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:76,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:78,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:110,1
    - Dst: mbedtls_pk_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:119,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:137,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:131,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:51,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:57,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:67,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:93,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:89,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:129,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:136,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:132,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:138,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:142,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:150,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:52,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:64,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:73,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:86,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:79,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:88,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:98,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:101,1
    - Dst: mbedtls_md_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:112,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:113,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:153,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:151,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:83,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:94,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:84,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:98,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:109,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:115,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:122,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:144,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:149,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c:156,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign_pss.c
    functionUses: []
    functionsReached:
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_seed
    - mbedtls_ctr_drbg_init
    - mbedtls_md_file
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_exit
    - mbedtls_fprintf
    - fwrite
    - mbedtls_pk_parse_keyfile
    - mbedtls_entropy_free
    - mbedtls_rsa_set_padding
    - mbedtls_pk_init
    - mbedtls_md_info_from_type
    - mbedtls_pk_sign
    - strlen
    - fflush
    - mbedtls_pk_rsa
    - mbedtls_pk_can_do
    - psa_crypto_init
    - mbedtls_snprintf
    - fclose
    - mbedtls_pk_free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:19,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:58,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:49,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:67,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:71,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:91,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:94,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:81,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:84,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:77,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:81,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:93,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:107,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:122,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:127,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:129,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:46,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:68,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:100,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:118,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:61,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:51,1
    - Dst: mbedtls_pk_parse_public_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:70,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:72,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:76,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:98,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:106,1
    - Dst: mbedtls_md_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:109,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:110,1
    - Dst: mbedtls_pk_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:116,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c:132,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify_pss.c
    functionUses: []
    functionsReached:
    - fopen
    - fread
    - mbedtls_md_file
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_pk_verify
    - mbedtls_rsa_set_padding
    - mbedtls_pk_init
    - mbedtls_md_info_from_type
    - fflush
    - mbedtls_pk_rsa
    - mbedtls_pk_can_do
    - psa_crypto_init
    - mbedtls_snprintf
    - fclose
    - mbedtls_pk_free
    - mbedtls_pk_parse_public_keyfile
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:46,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:49,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:62,1
    - Dst: fscanf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:87,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:94,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:104,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:130,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:107,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:52,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:59,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:68,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:69,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:70,1
    - Dst: mbedtls_rsa_pkcs1_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:113,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:120,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:127,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:44,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:61,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:67,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:74,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:71,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:82,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:79,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:92,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:95,1
    - Dst: mbedtls_md_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:106,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:45,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:58,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:81,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:103,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:109,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:126,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:128,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c:115,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_verify.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_md_info_from_type
    - fflush
    - mbedtls_rsa_free
    - mbedtls_exit
    - mbedtls_mpi_read_file
    - mbedtls_snprintf
    - mbedtls_rsa_init
    - fscanf
    - mbedtls_rsa_get_len
    - mbedtls_md_file
    - mbedtls_mpi_init
    - mbedtls_rsa_import
    - fopen
    - mbedtls_mpi_free
    - fclose
    - mbedtls_rsa_pkcs1_verify
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:16,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:51,1
    - Dst: ferror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:59,1
    - Dst: sleep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:66,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:58,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:60,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - data
    - output
    - len
    - olen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 72
    functionName: dev_random_entropy_poll
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c
    functionUses: []
    functionsReached:
    - sleep
    - ferror
    - fopen
    - fread
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int dev_random_entropy_poll(void *data, unsigned char *output,
      size_t len, size_t *olen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:129,1
    - Dst: mbedtls_pk_write_key_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:137,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:135,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:145,1
    - Dst: mbedtls_pk_write_key_pem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:131,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:149,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:150,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - key
    - output_file
    argTypes:
    - mbedtls_pk_context*
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 157
    functionName: write_private_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c
    functionUses: []
    functionsReached:
    - memset
    - fwrite
    - mbedtls_pk_write_key_pem
    - mbedtls_pk_write_key_der
    - fopen
    - fclose
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int write_private_key(mbedtls_pk_context *key, const char *output_file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_curve_info_from_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:165,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:172,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:176,1
    - Dst: mbedtls_ecp_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:178,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:199,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:194,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:196,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:202,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:217,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:170,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:203,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:206,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:212,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:219,1
    - Dst: mbedtls_ecp_keypair_get_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:166,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:167,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:178,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:187,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:195,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:198,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:197,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:184,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:202,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:216,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:219,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:174,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:176,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:184,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - ecp
    - has_private
    argTypes:
    - mbedtls_ecp_keypair*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 221
    functionName: show_ecp_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/gen_key.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ecp_group_init
    - mbedtls_mpi_write_file
    - mbedtls_ecp_group_free
    - mbedtls_ecp_curve_info_from_grp_id
    - mbedtls_ecp_export
    - mbedtls_mpi_read_binary
    - mbedtls_ecp_keypair_get_group_id
    - mbedtls_ecp_point_init
    - mbedtls_ecp_get_type
    - mbedtls_ecp_point_write_binary
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int show_ecp_key(const mbedtls_ecp_keypair *ecp, int has_private) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:26,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:62,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:64,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:66,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:76,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:68,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:110,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:141,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:145,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:140,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:49,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:58,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:59,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:52,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:79,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:84,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:88,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:91,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:100,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:109,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:128,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:140,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:115,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:133,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:55,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:63,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:85,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:75,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:86,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:93,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:99,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:104,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:104,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:123,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:129,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:124,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:61,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:61,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:78,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:70,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:94,1
    - Dst: mbedtls_rsa_pkcs1_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:135,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:142,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:113,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c:143,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 146
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_encrypt.c
    functionUses: []
    functionsReached:
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_seed
    - mbedtls_rsa_free
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_read_file
    - mbedtls_mpi_free
    - mbedtls_rsa_pkcs1_encrypt
    - mbedtls_printf
    - memcpy
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_rsa_init
    - mbedtls_rsa_import
    - mbedtls_rsa_get_len
    - mbedtls_entropy_free
    - strlen
    - fflush
    - mbedtls_mpi_init
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:45,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:47,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:60,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:69,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:53,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:106,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:112,1
    - Dst: mbedtls_rsa_pkcs1_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:116,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:110,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:126,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:146,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:149,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:129,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:149,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:148,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:148,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:134,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:148,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:46,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:47,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:50,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:62,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:68,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:82,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:95,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:107,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:118,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:128,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:147,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:83,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:151,1
    - Dst: mbedtls_rsa_check_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:96,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:45,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:46,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:71,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:59,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:70,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:72,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:73,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:74,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:75,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:76,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:138,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:43,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:45,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:46,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:63,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:77,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:80,1
    - Dst: mbedtls_rsa_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:88,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:94,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:97,1
    - Dst: mbedtls_md_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:109,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:147,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:140,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:147,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:89,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c:133,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 115
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 152
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_sign.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_pkcs1_sign
    - fopen
    - mbedtls_rsa_free
    - mbedtls_mpi_read_file
    - mbedtls_md_file
    - mbedtls_mpi_free
    - mbedtls_rsa_complete
    - fclose
    - mbedtls_printf
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_rsa_init
    - mbedtls_rsa_import
    - mbedtls_rsa_get_len
    - mbedtls_md_info_from_type
    - fflush
    - mbedtls_snprintf
    - mbedtls_mpi_init
    - mbedtls_rsa_check_privkey
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:47,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:151,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:157,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:180,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:206,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:324,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:355,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:358,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:210,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:276,1
    - Dst: show_ecp_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:286,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:315,1
    - Dst: mbedtls_pk_parse_public_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:303,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:279,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:350,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:163,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:195,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:219,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:253,1
    - Dst: mbedtls_pk_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:329,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:277,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:287,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:164,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:188,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:213,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:239,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:281,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:280,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:360,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:205,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:225,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:265,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:238,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:330,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:249,1
    - Dst: mbedtls_rsa_export_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:269,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:316,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:148,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:152,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:155,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:220,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:241,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:274,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:164,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:223,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:320,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:323,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:349,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:360,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:293,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:275,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:300,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:197,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:215,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:243,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:285,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:278,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:361,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:364,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:164,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:214,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:218,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:328,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:336,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:275,1
    - Dst: mbedtls_pk_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:286,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:165,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:258,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:301,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:280,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:244,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:268,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:361,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:169,1
    - Dst: show_ecp_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:329,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:362,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:276,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:311,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:185,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:205,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:356,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:360,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:277,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:165,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:306,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:263,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:323,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:361,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:149,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:193,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:278,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:354,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:362,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:313,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:186,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:266,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:324,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:274,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:281,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:270,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:279,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:318,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 202
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 365
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 365
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_ec
    - strchr
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_write_file
    - mbedtls_ctr_drbg_seed
    - strcmp
    - mbedtls_rsa_export
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_free
    - mbedtls_pk_get_type
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - fgets
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_pk_parse_keyfile
    - mbedtls_entropy_free
    - strlen
    - mbedtls_pk_init
    - fflush
    - show_ecp_key
    - mbedtls_pk_rsa
    - psa_crypto_init
    - mbedtls_rsa_export_crt
    - mbedtls_mpi_init
    - fclose
    - mbedtls_pk_free
    - mbedtls_pk_parse_public_keyfile
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:66,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:80,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:114,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:115,1
    - Dst: mbedtls_ecp_curve_info_from_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:61,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:74,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:94,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:91,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:93,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:98,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:112,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:113,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:115,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:70,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:72,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:99,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:102,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:108,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:68,1
    - Dst: mbedtls_ecp_keypair_get_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:62,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:63,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:72,1
    - Dst: mbedtls_ecp_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:74,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:83,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:95,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:90,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:80,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:92,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - ecp
    - has_private
    argTypes:
    - mbedtls_ecp_keypair*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 117
    functionName: show_ecp_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/key_app.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ecp_group_init
    - mbedtls_mpi_write_file
    - mbedtls_ecp_group_free
    - mbedtls_ecp_curve_info_from_grp_id
    - mbedtls_ecp_export
    - mbedtls_mpi_read_binary
    - mbedtls_ecp_keypair_get_group_id
    - mbedtls_ecp_point_init
    - mbedtls_ecp_get_type
    - mbedtls_ecp_point_write_binary
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int show_ecp_key(const mbedtls_ecp_keypair *ecp, int has_private) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:38,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:76,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:99,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:271,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:293,1
    - Dst: mbedtls_rsa_pkcs1_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:204,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:246,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:265,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:289,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:196,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:146,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:173,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:83,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:126,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:288,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:117,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:74,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:215,1
    - Dst: mbedtls_dhm_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:235,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:71,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:78,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:135,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:207,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:236,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:248,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:298,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:77,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:89,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:105,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:119,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:143,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:282,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:295,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:216,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:120,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:179,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:76,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:224,1
    - Dst: mbedtls_net_accept
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:164,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:244,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:290,1
    - Dst: mbedtls_net_bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:159,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:85,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:97,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:114,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:151,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:289,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:299,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:144,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:157,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:189,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:191,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:264,1
    - Dst: mbedtls_dhm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:72,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:82,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:166,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:176,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:231,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:277,1
    - Dst: mbedtls_dhm_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:179,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:77,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:160,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:296,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:138,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:147,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:174,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:76,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:88,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:107,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:134,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:288,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:292,1
    - Dst: mbedtls_dhm_set_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:145,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:156,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:229,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:253,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:267,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:278,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:289,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:137,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:181,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:217,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:243,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:227,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:272,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:288,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:301,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:112,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:189,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:73,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:96,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:100,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:108,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:109,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:110,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:111,1
    - Dst: mbedtls_rsa_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:125,1
    - Dst: mbedtls_sha256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:195,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:225,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:70,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:77,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:86,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:200,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:230,1
    - Dst: mbedtls_dhm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c:297,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 203
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 302
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_server.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_pkcs1_sign
    - mbedtls_dhm_calc_secret
    - mbedtls_aes_crypt_ecb
    - fopen
    - mbedtls_entropy_init
    - mbedtls_aes_init
    - mbedtls_aes_free
    - mbedtls_dhm_make_params
    - mbedtls_ctr_drbg_free
    - mbedtls_net_bind
    - mbedtls_dhm_set_group
    - mbedtls_ctr_drbg_seed
    - mbedtls_net_recv
    - mbedtls_dhm_get_len
    - mbedtls_rsa_free
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_read_file
    - mbedtls_mpi_free
    - mbedtls_net_accept
    - mbedtls_rsa_complete
    - mbedtls_net_init
    - mbedtls_dhm_init
    - mbedtls_printf
    - memcpy
    - mbedtls_dhm_free
    - mbedtls_exit
    - mbedtls_rsa_init
    - mbedtls_rsa_import
    - mbedtls_md_get_size
    - mbedtls_rsa_get_len
    - mbedtls_entropy_free
    - mbedtls_sha256
    - strlen
    - mbedtls_md_info_from_type
    - mbedtls_dhm_read_public
    - fflush
    - mbedtls_net_free
    - mbedtls_net_send
    - mbedtls_aes_setkey_enc
    - mbedtls_mpi_init
    - fclose
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:28,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:51,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:73,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:75,1
    - Dst: mbedtls_pk_parse_public_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:86,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:77,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:92,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:97,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:78,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:97,1
    - Dst: mbedtls_pk_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:105,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:140,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:130,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:50,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:84,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:116,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:117,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:49,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:54,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:63,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:72,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:103,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:105,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:136,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:145,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:108,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:137,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:56,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:66,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:87,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:83,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:93,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:102,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:124,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:128,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:138,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:146,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c:150,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_encrypt.c
    functionUses: []
    functionsReached:
    - fopen
    - mbedtls_ctr_drbg_free
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_seed
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - memcpy
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_entropy_free
    - strlen
    - mbedtls_pk_init
    - fflush
    - psa_crypto_init
    - fclose
    - mbedtls_pk_free
    - mbedtls_pk_parse_public_keyfile
    - mbedtls_pk_encrypt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:27,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:64,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:66,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:68,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:70,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:71,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:77,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:86,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:99,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:101,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:104,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:165,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:165,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:150,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:144,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:57,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:69,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:70,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:82,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:92,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:93,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:94,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:95,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:96,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:97,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:113,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:121,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:155,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:167,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:162,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:166,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:165,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:54,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:69,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:70,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:91,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:106,1
    - Dst: mbedtls_rsa_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:143,1
    - Dst: mbedtls_rsa_pkcs1_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:146,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:157,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:166,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:107,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:169,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:164,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:133,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:98,1
    - Dst: fscanf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:128,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:122,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:51,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:63,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:60,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:67,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:75,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:69,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:73,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:71,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:83,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:85,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:136,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:166,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:167,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c:135,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 117
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/rsa_decrypt.c
    functionUses: []
    functionsReached:
    - fscanf
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_seed
    - mbedtls_rsa_free
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_read_file
    - mbedtls_mpi_free
    - mbedtls_rsa_complete
    - mbedtls_printf
    - mbedtls_rsa_pkcs1_decrypt
    - mbedtls_exit
    - mbedtls_rsa_init
    - mbedtls_rsa_import
    - mbedtls_rsa_get_len
    - mbedtls_entropy_free
    - strlen
    - fflush
    - mbedtls_mpi_init
    - fclose
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:16,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:57,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:59,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:89,1
    - Dst: mbedtls_mpi_gen_prime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:107,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:113,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:117,1
    - Dst: mbedtls_mpi_div_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:121,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:141,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:153,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:58,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:74,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:84,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:94,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:96,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:101,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:92,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:109,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:116,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:122,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:157,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:135,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:140,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:57,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:63,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:69,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:114,1
    - Dst: mbedtls_mpi_is_prime_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:126,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:134,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:147,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:153,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:154,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:153,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:131,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:155,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:57,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:75,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:102,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:85,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:97,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:91,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:127,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:132,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:139,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:142,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c:146,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 158
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_genprime.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - strchr
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_mpi_write_file
    - mbedtls_ctr_drbg_seed
    - mbedtls_mpi_is_prime_ext
    - strcmp
    - mbedtls_mpi_gen_prime
    - mbedtls_mpi_read_string
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_div_int
    - atoi
    - mbedtls_mpi_free
    - mbedtls_printf
    - mbedtls_exit
    - mbedtls_entropy_free
    - strlen
    - fflush
    - mbedtls_mpi_init
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:16,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:58,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:61,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:98,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:80,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:93,1
    - Dst: mbedtls_ecdh_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:78,1
    - Dst: mbedtls_ecdh_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:109,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:140,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:151,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:170,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:182,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:50,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:60,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:65,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:99,1
    - Dst: mbedtls_ecdh_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:101,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:113,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:142,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:155,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:174,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:183,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:51,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:70,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:75,1
    - Dst: mbedtls_ecdh_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:84,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:104,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:118,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:123,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:129,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:146,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:160,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:180,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:185,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:57,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:52,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:76,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:88,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:124,1
    - Dst: mbedtls_ecdh_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:126,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:134,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:139,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:166,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:168,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:181,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c:165,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 186
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 186
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/ecdh_curve25519.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ecdh_make_public
    - mbedtls_ecdh_calc_secret
    - mbedtls_ecdh_init
    - fflush
    - mbedtls_ecdh_free
    - mbedtls_ctr_drbg_seed
    - memcmp
    - mbedtls_ecdh_make_params
    - mbedtls_ecdh_read_public
    - mbedtls_ecdh_read_params
    - mbedtls_ctr_drbg_init
    - mbedtls_exit
    - mbedtls_ctr_drbg_free
    - mbedtls_entropy_init
    - mbedtls_entropy_free
    - mbedtls_ecdh_setup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:18,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:46,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:55,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:64,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:68,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:107,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:119,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:58,1
    - Dst: mbedtls_pk_parse_public_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:67,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:91,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:83,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:92,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:120,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:124,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:43,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:65,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:78,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:85,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:97,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:95,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:112,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:114,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:48,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:76,1
    - Dst: mbedtls_md_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:94,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:79,1
    - Dst: mbedtls_pk_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:101,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_verify.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_init
    - mbedtls_printf
    - mbedtls_md_info_from_type
    - mbedtls_psa_crypto_free
    - fflush
    - psa_crypto_init
    - fread
    - mbedtls_strerror
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_snprintf
    - mbedtls_md_file
    - mbedtls_pk_verify
    - fopen
    - mbedtls_pk_free
    - mbedtls_pk_parse_public_keyfile
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:20,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:32,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:33,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:34,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:36,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:38,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:41,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:37,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:42,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:43,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:50,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:68,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:73,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:74,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:32,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:33,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:39,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:46,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:47,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:51,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:52,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:60,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:61,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:62,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:74,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:74,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:75,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:66,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:67,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:65,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:32,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:33,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:36,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:37,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:42,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:38,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:43,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:50,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:51,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:53,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:58,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:73,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:53,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:73,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:32,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:33,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:39,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:45,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:46,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:47,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:52,1
    - Dst: mbedtls_mpi_write_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:55,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:60,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:61,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:67,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:73,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:74,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:78,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:64,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:62,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:65,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:66,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/mpi_demo.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_mpi_write_file
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_inv_mod
    - mbedtls_mpi_read_string
    - mbedtls_exit
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:38,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:48,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:81,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:188,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:214,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:248,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:117,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:135,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:211,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:229,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:170,1
    - Dst: mbedtls_dhm_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:231,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:164,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:219,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:280,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:183,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:267,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:208,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:78,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:93,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:101,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:109,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:179,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:255,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:227,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:184,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:89,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:114,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:124,1
    - Dst: mbedtls_dhm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:277,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:247,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:79,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:128,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:138,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:140,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:188,1
    - Dst: mbedtls_rsa_pkcs1_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:199,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:86,1
    - Dst: mbedtls_net_connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:126,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:209,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:104,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:136,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:157,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:178,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:201,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:278,1
    - Dst: mbedtls_net_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:273,1
    - Dst: mbedtls_net_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:76,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:110,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:92,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:281,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:236,1
    - Dst: mbedtls_net_send
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:218,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:103,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:100,1
    - Dst: mbedtls_mpi_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:111,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:113,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:122,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:154,1
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:250,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:141,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:275,1
    - Dst: mbedtls_dhm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:77,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:258,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:257,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:80,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:90,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:168,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:226,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:156,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:147,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:87,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:276,1
    - Dst: mbedtls_dhm_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:212,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:262,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:195,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:190,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:279,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:283,1
    - Dst: mbedtls_sha256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c:194,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 164
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 284
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/dh_client.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_setkey_dec
    - mbedtls_dhm_calc_secret
    - mbedtls_aes_crypt_ecb
    - fopen
    - mbedtls_entropy_init
    - mbedtls_aes_init
    - mbedtls_aes_free
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_seed
    - mbedtls_net_recv
    - mbedtls_dhm_get_len
    - mbedtls_rsa_free
    - mbedtls_ctr_drbg_init
    - mbedtls_mpi_read_file
    - mbedtls_mpi_free
    - mbedtls_dhm_make_public
    - mbedtls_net_init
    - mbedtls_dhm_init
    - mbedtls_printf
    - mbedtls_net_connect
    - mbedtls_dhm_free
    - mbedtls_exit
    - mbedtls_rsa_init
    - mbedtls_rsa_import
    - mbedtls_rsa_get_len
    - mbedtls_md_get_size
    - mbedtls_entropy_free
    - mbedtls_sha256
    - strlen
    - mbedtls_rsa_pkcs1_verify
    - mbedtls_md_info_from_type
    - fflush
    - mbedtls_dhm_read_params
    - mbedtls_net_free
    - mbedtls_net_send
    - mbedtls_mpi_init
    - fclose
    - memset
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:28,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:52,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:77,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:81,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:92,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:82,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:79,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:117,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:127,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:129,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:136,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:53,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:55,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:60,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:70,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:87,1
    - Dst: fscanf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:107,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:137,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:145,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:149,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:58,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:67,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:76,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:90,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:118,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:135,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:144,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:51,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:101,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:88,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:100,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:112,1
    - Dst: mbedtls_pk_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:120,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:122,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c:139,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_decrypt.c
    functionUses: []
    functionsReached:
    - fscanf
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_seed
    - memset
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_exit
    - mbedtls_fprintf
    - mbedtls_pk_parse_keyfile
    - mbedtls_entropy_free
    - strlen
    - mbedtls_pk_init
    - fflush
    - psa_crypto_init
    - fclose
    - mbedtls_pk_free
    - mbedtls_pk_decrypt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:19,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_exit
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:49,1
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:54,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:73,1
    - Dst: mbedtls_pk_parse_keyfile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:86,1
    - Dst: mbedtls_md_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:99,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:88,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:100,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:118,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:119,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:138,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:83,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:116,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:123,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:125,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:129,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:137,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:140,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:51,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:63,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:72,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:75,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:78,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:77,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:97,1
    - Dst: mbedtls_pk_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:106,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:109,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:124,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:150,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:50,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:56,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:66,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:96,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:84,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:102,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:131,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:136,1
    - Dst: mbedtls_strerror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:145,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c:146,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/programs/pkey/pk_sign.c
    functionUses: []
    functionsReached:
    - fopen
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_seed
    - mbedtls_strerror
    - mbedtls_ctr_drbg_init
    - mbedtls_md_file
    - mbedtls_printf
    - mbedtls_psa_crypto_free
    - mbedtls_exit
    - mbedtls_fprintf
    - fwrite
    - mbedtls_pk_parse_keyfile
    - mbedtls_entropy_free
    - mbedtls_pk_sign
    - mbedtls_pk_init
    - mbedtls_md_info_from_type
    - strlen
    - fflush
    - psa_crypto_init
    - mbedtls_snprintf
    - fclose
    - mbedtls_pk_free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/pk.h:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: mbedtls_pk_get_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/pk.h
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_bitlen
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_pk_get_len(const mbedtls_pk_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/pk.h:1061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context
    constantsTouched: []
    func_position:
      end: 1069
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1069
    functionName: mbedtls_pk_ec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/pk.h
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_type
    linkageType: ''
    returnType: mbedtls_ecp_keypair*
    signature: 'static inline mbedtls_ecp_keypair *mbedtls_pk_ec(const mbedtls_pk_context
      pk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/pk.h:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context
    constantsTouched: []
    func_position:
      end: 1044
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1044
    functionName: mbedtls_pk_rsa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/pk.h
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_type
    linkageType: ''
    returnType: mbedtls_rsa_context*
    signature: 'static inline mbedtls_rsa_context *mbedtls_pk_rsa(const mbedtls_pk_context
      pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - buflen
    argTypes:
    - mbedtls_pem_context*
    - size_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: mbedtls_pem_get_buffer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/pem.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static inline const unsigned char *mbedtls_pem_get_buffer(mbedtls_pem_context
      *ctx, size_t *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: mbedtls_ecp_group_a_is_minus_3
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ecp.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ecp_group_a_is_minus_3(const mbedtls_ecp_group
      *grp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - ext_type
    argTypes:
    - mbedtls_x509_crt*
    - int
    constantsTouched: []
    func_position:
      end: 916
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 916
    functionName: mbedtls_x509_crt_has_ext_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/x509_crt.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_x509_crt_has_ext_type(const mbedtls_x509_crt
      *ctx, int ext_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: mbedtls_ssl_ciphersuite_get_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl_ciphersuites.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *mbedtls_ssl_ciphersuite_get_name(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: mbedtls_ssl_ciphersuite_get_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl_ciphersuites.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_get_id(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - session
    - ticket_creation_time
    argTypes:
    - mbedtls_ssl_session*
    - mbedtls_ms_time_t*
    constantsTouched: []
    func_position:
      end: 2693
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2693
    functionName: mbedtls_ssl_session_get_ticket_creation_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_session_get_ticket_creation_time( mbedtls_ssl_session
      *session, mbedtls_ms_time_t *ticket_creation_time) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - f_cert_cb
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ssl_hs_cb_t
    constantsTouched: []
    func_position:
      end: 2591
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2591
    functionName: mbedtls_ssl_conf_cert_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_conf_cert_cb(mbedtls_ssl_config *conf,
      mbedtls_ssl_hs_cb_t f_cert_cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - n
    argTypes:
    - mbedtls_ssl_config*
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 2785
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2785
    functionName: mbedtls_ssl_conf_set_user_data_n
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_conf_set_user_data_n( mbedtls_ssl_config
      *conf, uintptr_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 2817
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2817
    functionName: mbedtls_ssl_conf_get_user_data_n
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: 'static inline uintptr_t mbedtls_ssl_conf_get_user_data_n( mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - n
    argTypes:
    - mbedtls_ssl_context*
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 2848
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2848
    functionName: mbedtls_ssl_set_user_data_n
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_set_user_data_n( mbedtls_ssl_context
      *ssl, uintptr_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - crt
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 3510
      start: 3505
    functionDepth: 0
    functionLinenumber: 3505
    functionLinenumberEnd: 3510
    functionName: mbedtls_ssl_conf_dn_hints
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_conf_dn_hints(mbedtls_ssl_config *conf,
      const mbedtls_x509_crt *crt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4768
      start: 4764
    functionDepth: 0
    functionLinenumber: 4764
    functionLinenumberEnd: 4768
    functionName: mbedtls_ssl_get_version_number
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ssl_protocol_version
    signature: 'static inline mbedtls_ssl_protocol_version mbedtls_ssl_get_version_number(
      const mbedtls_ssl_context *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - profile
    argTypes:
    - mbedtls_ssl_srtp_profile
    constantsTouched: []
    func_position:
      end: 4199
      start: 4185
    functionDepth: 0
    functionLinenumber: 4185
    functionLinenumberEnd: 4199
    functionName: mbedtls_ssl_get_srtp_profile_as_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *mbedtls_ssl_get_srtp_profile_as_string(mbedtls_ssl_srtp_profile
      profile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2880
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2880
    functionName: mbedtls_ssl_get_user_data_n
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: 'static inline uintptr_t mbedtls_ssl_get_user_data_n( mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - mbedtls_ssl_config*
    - void*
    constantsTouched: []
    func_position:
      end: 2771
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2771
    functionName: mbedtls_ssl_conf_set_user_data_p
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_conf_set_user_data_p( mbedtls_ssl_config
      *conf, void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 2801
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2801
    functionName: mbedtls_ssl_conf_get_user_data_p
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static inline void *mbedtls_ssl_conf_get_user_data_p( mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - p
    argTypes:
    - mbedtls_ssl_context*
    - void*
    constantsTouched: []
    func_position:
      end: 2834
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2834
    functionName: mbedtls_ssl_set_user_data_p
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_set_user_data_p( mbedtls_ssl_context
      *ssl, void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2864
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2864
    functionName: mbedtls_ssl_get_user_data_p
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static inline void *mbedtls_ssl_get_user_data_p( mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4989
      start: 4986
    functionDepth: 0
    functionLinenumber: 4986
    functionLinenumberEnd: 4989
    functionName: mbedtls_ssl_is_handshake_over
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_is_handshake_over(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2708
    functionName: "(*mbedtls_ssl_session_get_id(const mbedtls_ssl_session *\n                                                               session))"
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned const char
    signature: 'static inline unsigned const char (*mbedtls_ssl_session_get_id(const
      mbedtls_ssl_session * session))[32] '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 2038
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2038
    functionName: mbedtls_ssl_conf_get_endpoint
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_get_endpoint(const mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 2732
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2732
    functionName: mbedtls_ssl_session_get_ciphersuite_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_session_get_ciphersuite_id(const mbedtls_ssl_session
      *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 2720
      start: 2717
    functionDepth: 0
    functionLinenumber: 2717
    functionLinenumberEnd: 2720
    functionName: mbedtls_ssl_session_get_id_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ssl_session_get_id_len(const mbedtls_ssl_session
      *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4000
      start: 3997
    functionDepth: 0
    functionLinenumber: 3997
    functionLinenumberEnd: 4000
    functionName: mbedtls_ssl_get_hostname
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *mbedtls_ssl_get_hostname(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - tls_version
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ssl_protocol_version
    constantsTouched: []
    func_position:
      end: 4319
      start: 4315
    functionDepth: 0
    functionLinenumber: 4315
    functionLinenumberEnd: 4319
    functionName: mbedtls_ssl_conf_max_tls_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_conf_max_tls_version(mbedtls_ssl_config
      *conf, mbedtls_ssl_protocol_version tls_version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - tls_version
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ssl_protocol_version
    constantsTouched: []
    func_position:
      end: 4376
      start: 4372
    functionDepth: 0
    functionLinenumber: 4372
    functionLinenumberEnd: 4376
    functionName: mbedtls_ssl_conf_min_tls_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_conf_min_tls_version(mbedtls_ssl_config
      *conf, mbedtls_ssl_protocol_version tls_version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2209
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2209
    functionName: mbedtls_ssl_context_get_config
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ssl_config*
    signature: 'static inline const mbedtls_ssl_config *mbedtls_ssl_context_get_config(
      const mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - high
    - low
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: mbedtls_error_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/error.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_error_add(int high, int low, const char
      *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/md.h:247,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/md.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - md_type
    argTypes:
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: mbedtls_md_get_size_from_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/md.h
    functionUses: []
    functionsReached:
    - mbedtls_md_get_size
    - mbedtls_md_info_from_type
    linkageType: ''
    returnType: unsigned char
    signature: 'static inline unsigned char mbedtls_md_get_size_from_type(mbedtls_md_type_t
      md_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - md_type
    argTypes:
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: mbedtls_md_psa_alg_from_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/psa_util.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static inline psa_algorithm_t mbedtls_md_psa_alg_from_type(mbedtls_md_type_t
      md_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - psa_alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: mbedtls_md_type_from_psa_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/psa_util.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_md_type_t
    signature: 'static inline mbedtls_md_type_t mbedtls_md_type_from_psa_alg(psa_algorithm_t
      psa_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - mbedtls_ssl_cache_context*
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: mbedtls_ssl_cache_get_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/ssl_cache.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_cache_get_timeout(mbedtls_ssl_cache_context
      *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: mbedtls_cipher_info_get_iv_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_cipher_info_get_iv_size( const mbedtls_cipher_info_t
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: mbedtls_cipher_info_get_key_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_cipher_info_get_key_bitlen( const mbedtls_cipher_info_t
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 545
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 545
    functionName: mbedtls_cipher_info_get_block_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_cipher_info_get_block_size( const mbedtls_cipher_info_t
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: mbedtls_cipher_info_has_variable_iv_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_cipher_info_has_variable_iv_size( const
      mbedtls_cipher_info_t *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: mbedtls_cipher_get_cipher_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_mode_t
    signature: 'static inline mbedtls_cipher_mode_t mbedtls_cipher_get_cipher_mode(
      const mbedtls_cipher_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 766
    functionName: mbedtls_cipher_get_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *mbedtls_cipher_get_name( const mbedtls_cipher_context_t
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: mbedtls_cipher_get_operation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_operation_t
    signature: 'static inline mbedtls_operation_t mbedtls_cipher_get_operation( const
      mbedtls_cipher_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 685
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 685
    functionName: mbedtls_cipher_get_block_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static inline unsigned int mbedtls_cipher_get_block_size( const mbedtls_cipher_context_t
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: mbedtls_cipher_info_get_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_type_t
    signature: 'static inline mbedtls_cipher_type_t mbedtls_cipher_info_get_type(
      const mbedtls_cipher_info_t *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: mbedtls_cipher_info_get_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *mbedtls_cipher_info_get_name( const mbedtls_cipher_info_t
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: mbedtls_cipher_info_get_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_mode_t
    signature: 'static inline mbedtls_cipher_mode_t mbedtls_cipher_info_get_mode(
      const mbedtls_cipher_info_t *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: mbedtls_cipher_info_has_variable_key_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_cipher_info_has_variable_key_bitlen( const
      mbedtls_cipher_info_t *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 729
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 729
    functionName: mbedtls_cipher_get_iv_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_cipher_get_iv_size( const mbedtls_cipher_context_t
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 747
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 747
    functionName: mbedtls_cipher_get_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_type_t
    signature: 'static inline mbedtls_cipher_type_t mbedtls_cipher_get_type( const
      mbedtls_cipher_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: mbedtls_cipher_get_key_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/cipher.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_cipher_get_key_bitlen( const mbedtls_cipher_context_t
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - dn
    argTypes:
    - mbedtls_x509_name*
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: mbedtls_x509_dn_get_next
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/mbedtls/x509.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_x509_name*
    signature: 'static inline mbedtls_x509_name *mbedtls_x509_dn_get_next( mbedtls_x509_name
      *dn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - unused
    - key_id
    argTypes:
    - unsigned int
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 2452
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2452
    functionName: mbedtls_svc_key_id_make
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_values.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_svc_key_id_t
    signature: 'static inline mbedtls_svc_key_id_t mbedtls_svc_key_id_make( unsigned
      int unused, psa_key_id_t key_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_key_owner_id_equal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_values.h:2507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - id1
    - id2
    argTypes:
    - mbedtls_svc_key_id_t
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 2508
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2508
    functionName: mbedtls_svc_key_id_equal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_values.h
    functionUses: []
    functionsReached:
    - mbedtls_key_owner_id_equal
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_svc_key_id_equal(mbedtls_svc_key_id_t id1,
      mbedtls_svc_key_id_t id2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 2519
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2519
    functionName: mbedtls_svc_key_id_is_null
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_values.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_svc_key_id_is_null(mbedtls_svc_key_id_t
      key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - owner_id
    - key_id
    argTypes:
    - mbedtls_key_owner_id_t
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 2494
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2494
    functionName: mbedtls_svc_key_id_make
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_values.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_svc_key_id_t
    signature: 'static inline mbedtls_svc_key_id_t mbedtls_svc_key_id_make( mbedtls_key_owner_id_t
      owner_id, psa_key_id_t key_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - id1
    - id2
    argTypes:
    - mbedtls_svc_key_id_t
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 2465
      start: 2461
    functionDepth: 0
    functionLinenumber: 2461
    functionLinenumberEnd: 2465
    functionName: mbedtls_svc_key_id_equal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_values.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_svc_key_id_equal(mbedtls_svc_key_id_t id1,
      mbedtls_svc_key_id_t id2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 2476
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2476
    functionName: mbedtls_svc_key_id_is_null
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_values.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_svc_key_id_is_null(mbedtls_svc_key_id_t
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h:343,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h:341,1
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - attributes
    - key
    argTypes:
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: psa_set_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_id(psa_key_attributes_t *attributes,
      mbedtls_svc_key_id_t key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: psa_aead_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_aead_operation_s
    signature: 'static inline struct psa_aead_operation_s psa_aead_operation_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: psa_key_attributes_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_key_attributes_s
    signature: 'static inline struct psa_key_attributes_s psa_key_attributes_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: psa_get_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_svc_key_id_t
    signature: 'static inline mbedtls_svc_key_id_t psa_get_key_id( const psa_key_attributes_t
      *attributes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - attributes
    - lifetime
    argTypes:
    - psa_key_attributes_t*
    - psa_key_lifetime_t
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: psa_set_key_lifetime
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_IS_VOLATILE
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_lifetime(psa_key_attributes_t *attributes,
      psa_key_lifetime_t lifetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: psa_cipher_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_cipher_operation_s
    signature: 'static inline struct psa_cipher_operation_s psa_cipher_operation_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: psa_mac_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_mac_operation_s
    signature: 'static inline struct psa_mac_operation_s psa_mac_operation_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - attributes
    - alg
    argTypes:
    - psa_key_attributes_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: psa_set_key_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_algorithm(psa_key_attributes_t *attributes,
      psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - attributes
    - type
    argTypes:
    - psa_key_attributes_t*
    - psa_key_type_t
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: psa_set_key_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_type(psa_key_attributes_t *attributes,
      psa_key_type_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - attributes
    - bits
    argTypes:
    - psa_key_attributes_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: psa_set_key_bits
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_bits(psa_key_attributes_t *attributes,
      size_t bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: psa_get_key_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static inline psa_algorithm_t psa_get_key_algorithm( const psa_key_attributes_t
      *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: psa_key_derivation_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_key_derivation_s
    signature: 'static inline struct psa_key_derivation_s psa_key_derivation_operation_init(
      void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: psa_get_key_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_type_t
    signature: 'static inline psa_key_type_t psa_get_key_type( const psa_key_attributes_t
      *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: psa_get_key_bits
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t psa_get_key_bits( const psa_key_attributes_t
      *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: psa_verify_hash_interruptible_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_verify_hash_interruptible_operation_s
    signature: 'static inline struct psa_verify_hash_interruptible_operation_s psa_verify_hash_interruptible_operation_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 482
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 482
    functionName: psa_sign_hash_interruptible_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_sign_hash_interruptible_operation_s
    signature: 'static inline struct psa_sign_hash_interruptible_operation_s psa_sign_hash_interruptible_operation_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: psa_get_key_lifetime
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_lifetime_t
    signature: 'static inline psa_key_lifetime_t psa_get_key_lifetime( const psa_key_attributes_t
      *attributes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - usage_flags
    argTypes:
    - psa_key_usage_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: psa_extend_key_usage_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_extend_key_usage_flags(psa_key_usage_t *usage_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - attributes
    - owner
    argTypes:
    - psa_key_attributes_t*
    - mbedtls_key_owner_id_t
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: mbedtls_set_key_owner_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_set_key_owner_id(psa_key_attributes_t *attributes,
      mbedtls_key_owner_id_t owner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_extend_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - attributes
    - usage_flags
    argTypes:
    - psa_key_attributes_t*
    - psa_key_usage_t
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: psa_set_key_usage_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached:
    - psa_extend_key_usage_flags
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_usage_flags(psa_key_attributes_t *attributes,
      psa_key_usage_t usage_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: psa_hash_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_hash_operation_s
    signature: 'static inline struct psa_hash_operation_s psa_hash_operation_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: psa_get_key_usage_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: 'static inline psa_key_usage_t psa_get_key_usage_flags( const psa_key_attributes_t
      *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: psa_key_policy_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_struct.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_key_policy_s
    signature: 'static inline struct psa_key_policy_s psa_key_policy_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: psa_get_key_enrollment_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static inline psa_algorithm_t psa_get_key_enrollment_algorithm( const
      psa_key_attributes_t *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: psa_clear_key_slot_number
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_clear_key_slot_number( psa_key_attributes_t
      *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher_suite
    argTypes:
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1729
    functionName: psa_pake_cs_get_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static inline psa_algorithm_t psa_pake_cs_get_algorithm( const psa_pake_cipher_suite_t
      *cipher_suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_PAKE_PRIMITIVE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h:1745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cipher_suite
    argTypes:
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1747
    functionName: psa_pake_cs_get_primitive
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached:
    - PSA_PAKE_PRIMITIVE
    linkageType: ''
    returnType: psa_pake_primitive_t
    signature: 'static inline psa_pake_primitive_t psa_pake_cs_get_primitive( const
      psa_pake_cipher_suite_t *cipher_suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher_suite
    argTypes:
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1762
    functionName: psa_pake_cs_get_family
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_pake_family_t
    signature: 'static inline psa_pake_family_t psa_pake_cs_get_family( const psa_pake_cipher_suite_t
      *cipher_suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher_suite
    argTypes:
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1774
    functionName: psa_pake_cs_get_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static inline psa_algorithm_t psa_pake_cs_get_hash( const psa_pake_cipher_suite_t
      *cipher_suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1878
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1878
    functionName: psa_pake_cipher_suite_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_pake_cipher_suite_s
    signature: 'static inline struct psa_pake_cipher_suite_s psa_pake_cipher_suite_init(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_PAKE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h:1735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cipher_suite
    - algorithm
    argTypes:
    - psa_pake_cipher_suite_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1740
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1740
    functionName: psa_pake_cs_set_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_PAKE
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_pake_cs_set_algorithm( psa_pake_cipher_suite_t
      *cipher_suite, psa_algorithm_t algorithm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cipher_suite
    - primitive
    argTypes:
    - psa_pake_cipher_suite_t*
    - psa_pake_primitive_t
    constantsTouched: []
    func_position:
      end: 1756
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1756
    functionName: psa_pake_cs_set_primitive
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_pake_cs_set_primitive( psa_pake_cipher_suite_t
      *cipher_suite, psa_pake_primitive_t primitive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher_suite
    argTypes:
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1768
    functionName: psa_pake_cs_get_bits
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static inline uint16_t psa_pake_cs_get_bits( const psa_pake_cipher_suite_t
      *cipher_suite) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h:1779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cipher_suite
    - hash
    argTypes:
    - psa_pake_cipher_suite_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1784
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1784
    functionName: psa_pake_cs_set_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_HASH
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_pake_cs_set_hash(psa_pake_cipher_suite_t *cipher_suite,
      psa_algorithm_t hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1884
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1884
    functionName: psa_pake_operation_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct psa_pake_operation_s
    signature: 'static inline struct psa_pake_operation_s psa_pake_operation_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - attributes
    - slot_number
    argTypes:
    - psa_key_attributes_t*
    - psa_key_slot_number_t
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: psa_set_key_slot_number
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_slot_number( psa_key_attributes_t *attributes,
      psa_key_slot_number_t slot_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: psa_key_id_is_builtin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int psa_key_id_is_builtin(psa_key_id_t key_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - attributes
    - alg2
    argTypes:
    - psa_key_attributes_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: psa_set_key_enrollment_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_extra.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_set_key_enrollment_algorithm( psa_key_attributes_t
      *attributes, psa_algorithm_t alg2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - id1
    - id2
    argTypes:
    - mbedtls_key_owner_id_t
    - mbedtls_key_owner_id_t
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: mbedtls_key_owner_id_equal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_platform.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_key_owner_id_equal(mbedtls_key_owner_id_t
      id1, mbedtls_key_owner_id_t id2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_compat.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - psa_key_handle_t
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: psa_key_handle_is_null
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_compat.h
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    linkageType: ''
    returnType: int
    signature: 'static inline int psa_key_handle_is_null(psa_key_handle_t handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_compat.h:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - attributes
    - type
    - data
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - psa_key_type_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: psa_set_key_domain_parameters
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_compat.h
    functionUses: []
    functionsReached:
    - psa_set_key_type
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t MBEDTLS_DEPRECATED psa_set_key_domain_parameters(
      psa_key_attributes_t *attributes, psa_key_type_t type, const uint8_t *data,
      size_t data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - attributes
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: psa_get_key_domain_parameters
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/include/psa/crypto_compat.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t MBEDTLS_DEPRECATED psa_get_key_domain_parameters(
      const psa_key_attributes_t *attributes, uint8_t *data, size_t data_size, size_t
      *data_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: p256_to_psa_error
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t p256_to_psa_error(int ret) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p256_gen_keypair
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:159,1
    - Dst: p256_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 165
    functionName: p256_transparent_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached:
    - p256_gen_keypair
    - p256_to_psa_error
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t p256_transparent_generate_key( const psa_key_attributes_t
      *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:74,1
    - Dst: p256_validate_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:87,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:83,1
    - Dst: p256_validate_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:80,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:75,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:99,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 103
    functionName: p256_transparent_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - p256_validate_pubkey
    - PSA_KEY_TYPE_ECC_PUBLIC_KEY
    - p256_validate_privkey
    - memcpy
    - psa_get_key_type
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t p256_transparent_import_key(const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p256_ecdsa_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:227,1
    - Dst: p256_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 233
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 233
    functionName: p256_transparent_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached:
    - p256_to_psa_error
    - p256_ecdsa_sign
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t p256_transparent_sign_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:113,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:115,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:114,1
    - Dst: p256_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:134,1
    - Dst: p256_public_from_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 135
    functionName: p256_transparent_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_get_key_bits
    - p256_public_from_private
    - psa_get_key_type
    - p256_to_psa_error
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t p256_transparent_export_public_key(const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p256_ecdh_shared_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:194,1
    - Dst: p256_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - peer_key
    - peer_key_length
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 200
    functionName: p256_transparent_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached:
    - p256_ecdh_shared_secret
    - p256_to_psa_error
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t p256_transparent_key_agreement( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *peer_key, size_t peer_key_length, uint8_t *shared_secret,
      size_t shared_secret_size, size_t *shared_secret_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:288,1
    - Dst: p256_verify_hash_with_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 309
    functionName: p256_transparent_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_export_public_key
    - p256_verify_hash_with_public_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t p256_transparent_verify_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t
      signature_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p256_ecdsa_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:255,1
    - Dst: p256_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 6
    argNames:
    - key_buffer
    - key_buffer_size
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: p256_verify_hash_with_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c
    functionUses: []
    functionsReached:
    - p256_to_psa_error
    - p256_ecdsa_verify
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t p256_verify_hash_with_public_key( const uint8_t
      *key_buffer, size_t key_buffer_size, const uint8_t *hash, size_t hash_length,
      const uint8_t *signature, size_t signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: u256_set32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void u256_set32(uint32_t z[8], uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - x
    - y
    - z
    - t
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 294
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 294
    functionName: u32_muladd64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t u32_muladd64(uint32_t x, uint32_t y, uint32_t z, uint32_t
      t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - x
    - y
    - z
    - t
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: u32_muladd64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t u32_muladd64(uint32_t x, uint32_t y, uint32_t z, uint32_t
      t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p
    - z
    argTypes:
    - uint8_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: u256_to_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void u256_to_bytes(uint8_t p[32], const uint32_t z[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u288_muladd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:603,1
    - Dst: u288_muladd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:604,1
    - Dst: u288_rshift32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:605,1
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:610,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - z
    - x
    - y
    - mod
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 613
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 613
    functionName: m256_mul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - u288_rshift32
    - u288_muladd
    - u256_cmov
    - u256_sub
    linkageType: ''
    returnType: void
    signature: 'static void m256_mul(uint32_t z[8], const uint32_t x[8], const uint32_t
      y[8], const m256_mod *mod) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - z
    - mod
    argTypes:
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: m256_prep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_mul
    linkageType: ''
    returnType: void
    signature: 'static void m256_prep(uint32_t z[8], const m256_mod *mod) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:666,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - z
    - x
    - mod
    argTypes:
    - uint32_t
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 668
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 668
    functionName: m256_set32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_prep
    - u256_set32
    linkageType: ''
    returnType: void
    signature: 'static void m256_set32(uint32_t z[8], uint32_t x, const m256_mod *mod) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - output
    - output_size
    argTypes:
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1167
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1167
    functionName: p256_generate_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - psa_generate_random
    linkageType: ''
    returnType: int
    signature: 'int p256_generate_random(uint8_t *output, unsigned output_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CT_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1325,1
    - Dst: u256_diff0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1354,1
    - Dst: m256_inv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1375,1
    - Dst: m256_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1377,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1382,1
    - Dst: u256_diff0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1383,1
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1376,1
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1378,1
    - Dst: m256_done
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1348,1
    - Dst: scalar_gen_with_pub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1342,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1359,1
    - Dst: ecdsa_m256_from_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1364,1
    - Dst: scalar_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1369,1
    - Dst: ecdsa_m256_mod_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1351,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1345,1
    - Dst: u256_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1357,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1370,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1373,1
    - Dst: zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1379,1
    - Dst: u256_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1385,1
    - Dst: m256_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - sig
    - priv
    - hash
    - hlen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1391
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1391
    functionName: p256_ecdsa_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_mul
    - CT_POISON
    - CT_UNPOISON
    - zeroize
    - ecdsa_m256_mod_n
    - u256_diff0
    - ecdsa_m256_from_hash
    - m256_done
    - scalar_from_bytes
    - m256_to_bytes
    - m256_inv
    - m256_prep
    - m256_add
    - scalar_gen_with_pub
    - u256_to_bytes
    linkageType: ''
    returnType: int
    signature: 'int p256_ecdsa_sign(uint8_t sig[64], const uint8_t priv[32], const
      uint8_t *hash, size_t hlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:827,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:831,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:830,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:833,1
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:834,1
    - Dst: u256_diff
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 837
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 837
    functionName: point_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_sub_p
    - m256_add_p
    - u256_diff
    - m256_mul_p
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t point_check(const uint32_t x[8], const uint32_t y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:878,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:880,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:879,1
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:881,1
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:882,1
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:888,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:891,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:905,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:906,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:877,1
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:886,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:887,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:904,1
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:901,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:885,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:900,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:897,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:896,1
    - Dst: m256_add_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:892,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 907
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 907
    functionName: point_double
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_sub_p
    - m256_add_p
    - m256_mul_p
    linkageType: ''
    returnType: void
    signature: 'static void point_double(uint32_t x[8], uint32_t y[8], uint32_t z[8]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:982,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:988,1
    - Dst: u256_diff
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:986,1
    - Dst: m256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:984,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:983,1
    - Dst: point_to_affine
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:989,1
    - Dst: u256_diff
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:991,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:993,1
    - Dst: point_to_affine
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:994,1
    - Dst: m256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:997,1
    - Dst: m256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - x3
    - y3
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1000
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1000
    functionName: point_add_or_double_leaky
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - u256_cmov
    - point_double
    - point_to_affine
    - point_add
    - m256_set32
    - u256_diff
    linkageType: ''
    returnType: void
    signature: 'static void point_add_or_double_leaky( uint32_t x3[8], uint32_t y3[8],
      const uint32_t x1[8], const uint32_t y1[8], const uint32_t x2[8], const uint32_t
      y2[8]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: u256_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1141,1
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1144,1
    - Dst: u256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1146,1
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1153
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1153
    functionName: scalar_from_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - u256_sub
    - u256_from_bytes
    - u256_set32
    linkageType: ''
    returnType: int
    signature: 'static int scalar_from_bytes(uint32_t s[8], const uint8_t p[32]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: u256_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1307,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1316,1
    - Dst: ecdsa_m256_mod_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1313,1
    - Dst: u256_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - z
    - h
    - hlen
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1317
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1317
    functionName: ecdsa_m256_from_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - ecdsa_m256_mod_n
    - u256_from_bytes
    - m256_prep
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_m256_from_hash(uint32_t z[8], const uint8_t *h,
      size_t hlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CT_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1235,1
    - Dst: scalar_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1240,1
    - Dst: point_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1247,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1241,1
    - Dst: scalar_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1253,1
    - Dst: m256_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1255,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1256,1
    - Dst: zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - secret
    - priv
    - peer
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1261
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1261
    functionName: p256_ecdh_shared_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - CT_POISON
    - CT_UNPOISON
    - zeroize
    - scalar_from_bytes
    - scalar_mult
    - m256_to_bytes
    - point_from_bytes
    linkageType: ''
    returnType: int
    signature: 'int p256_ecdh_shared_secret(uint8_t secret[32], const uint8_t priv[32],
      const uint8_t peer[64]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - z
    - x
    - c
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: u256_cmov
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void u256_cmov(uint32_t z[8], const uint32_t x[8], uint32_t
      c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: u256_diff0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t u256_diff0(const uint32_t x[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_inv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:853,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:855,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:858,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:856,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 860
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 860
    functionName: point_to_affine
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_inv
    - m256_mul_p
    linkageType: ''
    returnType: void
    signature: 'static void point_to_affine(uint32_t x[8], uint32_t y[8], uint32_t
      z[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:928,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:929,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:936,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:933,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:930,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:939,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:942,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:945,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:946,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:949,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:953,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:961,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:960,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:959,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:958,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:955,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:954,1
    - Dst: m256_mul_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - x1
    - y1
    - z1
    - x2
    - y2
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 962
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 962
    functionName: point_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_sub_p
    - m256_mul_p
    linkageType: ''
    returnType: void
    signature: 'static void point_add(uint32_t x1[8], uint32_t y1[8], uint32_t z1[8],
      const uint32_t x2[8], const uint32_t y2[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1037,1
    - Dst: m256_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - x
    - y
    argTypes:
    - uint8_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: point_to_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_to_bytes
    linkageType: ''
    returnType: void
    signature: 'static void point_to_bytes(uint8_t p[64], const uint32_t x[8], const
      uint32_t y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1076,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1078,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1085,1
    - Dst: u256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1081,1
    - Dst: m256_sub_p
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1082,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1086,1
    - Dst: m256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1087,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1088,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1120,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1121,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1124,1
    - Dst: point_to_affine
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1128,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 5
    argNames:
    - rx
    - ry
    - px
    - py
    - s
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1129
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1129
    functionName: scalar_mult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - point_to_affine
    - u256_cmov
    - u256_sub
    - point_double
    - m256_sub_p
    - point_add
    - m256_set32
    - u256_set32
    linkageType: ''
    returnType: void
    signature: 'static void scalar_mult(uint32_t rx[8], uint32_t ry[8], const uint32_t
      px[8], const uint32_t py[8], const uint32_t s[8]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalar_gen_with_pub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1214,1
    - Dst: zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1215,1
    - Dst: point_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - pub
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1221
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1221
    functionName: p256_gen_keypair
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - zeroize
    - scalar_gen_with_pub
    - point_to_bytes
    linkageType: ''
    returnType: int
    signature: 'int p256_gen_keypair(uint8_t priv[32], uint8_t pub[64]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1281,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1283
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1283
    functionName: ecdsa_m256_mod_n
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - u256_sub
    - u256_cmov
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_m256_mod_n(uint32_t x[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - x
    - y
    - z
    - t
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 331
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 331
    functionName: u32_muladd64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t u32_muladd64(uint32_t x, uint32_t y, uint32_t z, uint32_t
      t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalar_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1496,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1505,1
    - Dst: zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1507,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1506,1
    - Dst: scalar_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1502,1
    - Dst: point_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pub
    - priv
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1511
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1511
    functionName: p256_public_from_private
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - zeroize
    - CT_UNPOISON
    - point_to_bytes
    - scalar_from_bytes
    - scalar_mult
    linkageType: ''
    returnType: int
    signature: 'int p256_public_from_private(uint8_t pub[64], const uint8_t priv[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: u256_diff
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t u256_diff(const uint32_t x[8], const uint32_t y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: u256_sub
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t u256_sub(uint32_t z[8], const uint32_t x[8], const
      uint32_t y[8]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m256_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1016,1
    - Dst: m256_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1020,1
    - Dst: point_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - p
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1025
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1025
    functionName: point_from_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - point_check
    - m256_from_bytes
    linkageType: ''
    returnType: int
    signature: 'static int point_from_bytes(uint32_t x[8], uint32_t y[8], const uint8_t
      p[64]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:361,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:363,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:362,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:365,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:364,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:366,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:367,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:368,1
    - Dst: U288_MULADD_STEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: u288_muladd
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - U288_MULADD_STEP
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t u288_muladd(uint32_t z[9], uint32_t x, const uint32_t
      y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - x
    - y
    - z
    - t
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: u32_muladd64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t u32_muladd64(uint32_t x, uint32_t y, uint32_t z, uint32_t
      t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - z
    - p
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: u256_from_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void u256_from_bytes(uint32_t z[8], const uint8_t p[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: m256_add_p
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_add
    linkageType: ''
    returnType: void
    signature: 'static void m256_add_p(uint32_t z[8], const uint32_t x[8], const uint32_t
      y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: p256_validate_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - point_from_bytes
    linkageType: ''
    returnType: int
    signature: 'int p256_validate_pubkey(const uint8_t pub[64]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1485,1
    - Dst: zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1489
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1489
    functionName: p256_validate_privkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - scalar_from_bytes
    - zeroize
    linkageType: ''
    returnType: int
    signature: 'int p256_validate_privkey(const uint8_t priv[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - z
    - c
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: u288_rshift32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void u288_rshift32(uint32_t z[9], uint32_t c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u256_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:515,1
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:516,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - z
    - x
    - y
    - mod
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: m256_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - u256_sub
    - u256_cmov
    - u256_add
    linkageType: ''
    returnType: void
    signature: 'static void m256_add(uint32_t z[8], const uint32_t x[8], const uint32_t
      y[8], const m256_mod *mod) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: m256_sub_p
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_sub
    linkageType: ''
    returnType: void
    signature: 'static void m256_sub_p(uint32_t z[8], const uint32_t x[8], const uint32_t
      y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:754,1
    - Dst: u256_to_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:757,1
    - Dst: m256_done
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - p
    - z
    - mod
    argTypes:
    - uint8_t
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: m256_to_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_done
    - u256_cmov
    - u256_to_bytes
    linkageType: ''
    returnType: void
    signature: 'static void m256_to_bytes(uint8_t p[32], const uint32_t z[8], const
      m256_mod *mod) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:552,1
    - Dst: u256_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:553,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - z
    - x
    - y
    - mod
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: m256_sub
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - u256_sub
    - u256_cmov
    - u256_add
    linkageType: ''
    returnType: void
    signature: 'static void m256_sub(uint32_t z[8], const uint32_t x[8], const uint32_t
      y[8], const m256_mod *mod) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: u256_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:731,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:738,1
    - Dst: u256_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - z
    - p
    - mod
    argTypes:
    - uint32_t
    - uint8_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 740
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 740
    functionName: m256_from_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - u256_sub
    - m256_prep
    - u256_from_bytes
    linkageType: ''
    returnType: int
    signature: 'static int m256_from_bytes(uint32_t z[8], const uint8_t p[32], const
      m256_mod *mod) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: u256_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t u256_add(uint32_t z[8], const uint32_t x[8], const
      uint32_t y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: m256_mul_p
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_mul
    linkageType: ''
    returnType: void
    signature: 'static void m256_mul_p(uint32_t z[8], const uint32_t x[8], const uint32_t
      y[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:652,1
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - z
    - mod
    argTypes:
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: m256_done
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_mul
    - u256_set32
    linkageType: ''
    returnType: void
    signature: 'static void m256_done(uint32_t z[8], const m256_mod *mod) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:696,1
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:707,1
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:705,1
    - Dst: m256_set32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - z
    - x
    - mod
    argTypes:
    - uint32_t
    - uint32_t
    - m256_mod*
    constantsTouched: []
    func_position:
      end: 717
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 717
    functionName: m256_inv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_mul
    - m256_set32
    - u256_cmov
    linkageType: ''
    returnType: void
    signature: 'static void m256_inv(uint32_t z[8], const uint32_t x[8], const m256_mod
      *mod) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p256_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1188,1
    - Dst: scalar_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1199,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1194,1
    - Dst: scalar_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1193,1
    - Dst: CT_POISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1189,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1202,1
    - Dst: CT_UNPOISON
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - sbytes
    - s
    - x
    - y
    argTypes:
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1206
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1206
    functionName: scalar_gen_with_pub
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - CT_POISON
    - CT_UNPOISON
    - scalar_from_bytes
    - scalar_mult
    - p256_generate_random
    linkageType: ''
    returnType: int
    signature: 'static int scalar_gen_with_pub(uint8_t sbytes[32], uint32_t s[8],
      uint32_t x[8], uint32_t y[8]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: m256_inv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1424,1
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1425,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1443,1
    - Dst: m256_done
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1431,1
    - Dst: point_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1435,1
    - Dst: scalar_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1411,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1429,1
    - Dst: u256_diff0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1441,1
    - Dst: scalar_from_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1408,1
    - Dst: ecdsa_m256_from_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1419,1
    - Dst: m256_prep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1423,1
    - Dst: m256_done
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1426,1
    - Dst: m256_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1430,1
    - Dst: scalar_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1446,1
    - Dst: point_add_or_double_leaky
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1449,1
    - Dst: scalar_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1439,1
    - Dst: ecdsa_m256_mod_n
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1458,1
    - Dst: u256_diff
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1461,1
    - Dst: u256_cmov
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1428,1
    - Dst: m256_done
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c:1455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - sig
    - pub
    - hash
    - hlen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1466
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1466
    functionName: p256_ecdsa_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/p256-m/p256-m/p256-m.c
    functionUses: []
    functionsReached:
    - m256_mul
    - point_from_bytes
    - point_add_or_double_leaky
    - ecdsa_m256_mod_n
    - u256_diff0
    - ecdsa_m256_from_hash
    - m256_done
    - scalar_from_bytes
    - scalar_mult
    - m256_inv
    - m256_prep
    - u256_cmov
    - u256_diff
    linkageType: ''
    returnType: int
    signature: 'int p256_ecdsa_verify(const uint8_t sig[64], const uint8_t pub[64],
      const uint8_t *hash, size_t hlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: store16
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline static void store16(uint8_t *b, uint16_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: load32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: 'inline static uint32_t load32(uint8_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: store64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline static void store64(uint8_t *b, uint64_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: load16
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: 'inline static uint16_t load16(uint8_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: load64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: 'inline static uint64_t load64(uint8_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: store32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline static void store32(uint8_t *b, uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: krml_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h
    functionUses: []
    functionsReached:
    - time
    linkageType: ''
    returnType: int32_t
    signature: 'inline static int32_t krml_time() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - uint128_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: Hacl_Bignum_Fproduct_copy_from_wide_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fproduct_copy_from_wide_(uint64_t *output,
      uint128_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 2
    argNames:
    - tmp
    - output
    argTypes:
    - uint128_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: Hacl_Bignum_Fsquare_fsquare__
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare__(uint128_t *tmp, uint64_t
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: Hacl_Bignum_fsum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fsum(uint64_t *a, uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:603,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:605,1
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:607,1
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:617,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:622,1
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:628,1
    - Dst: Hacl_Bignum_fscalar
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:630,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:602,1
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:604,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:616,1
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:618,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:620,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:621,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:627,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:632,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:608,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:609,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:619,1
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:606,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:623,1
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:631,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 5
    argNames:
    - pp
    - ppq
    - p
    - pq
    - qmqp
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 633
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 633
    functionName: Hacl_EC_AddAndDouble_fmonty
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_fdifference
    - memcpy
    - Hacl_Bignum_fmul
    - Hacl_Bignum_fscalar
    - Hacl_Bignum_fsum
    - Hacl_Bignum_Fsquare_fsquare_times
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_AddAndDouble_fmonty( uint64_t *pp, uint64_t *ppq,
      uint64_t *p, uint64_t *pq, uint64_t *qmqp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:664,1
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - byt
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 667
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 667
    functionName: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step(
      uint64_t *nq, uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint8_t
      byt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - output
    - input
    - s
    argTypes:
    - uint128_t*
    - uint64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: Hacl_Bignum_Fproduct_sum_scalar_multiplication_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fproduct_sum_scalar_multiplication_(uint128_t
      *output, uint64_t *input, uint64_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fsquare_fsquare__
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:188,1
    - Dst: Hacl_Bignum_Fproduct_copy_from_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:196,1
    - Dst: Hacl_Bignum_Fproduct_carry_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - tmp
    - output
    argTypes:
    - uint128_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 203
    functionName: Hacl_Bignum_Fsquare_fsquare_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fproduct_carry_wide_
    - Hacl_Bignum_Fsquare_fsquare__
    - Hacl_Bignum_Fproduct_copy_from_wide_
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare_(uint128_t *tmp, uint64_t
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 327
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 327
    functionName: Hacl_Bignum_fdifference
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fdifference(uint64_t *a, uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_swap_conditional
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:647,1
    - Dst: Hacl_EC_Point_swap_conditional
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:650,1
    - Dst: Hacl_EC_AddAndDouble_fmonty
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - byt
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 651
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 651
    functionName: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Point_swap_conditional
    - Hacl_EC_AddAndDouble_fmonty
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step( uint64_t
      *nq, uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint8_t byt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:684,1
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 7
    argNames:
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - byt
    - i
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint8_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 688
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 688
    functionName: Hacl_EC_Ladder_SmallLoop_cmult_small_loop
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_SmallLoop_cmult_small_loop( uint64_t *nq,
      uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint8_t byt, uint32_t
      i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tmp
    argTypes:
    - uint128_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: Hacl_Bignum_Fproduct_carry_wide_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fproduct_carry_wide_(uint128_t *tmp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fsquare_fsquare_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:209,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - input
    - tmp
    - count1
    argTypes:
    - uint64_t*
    - uint128_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: Hacl_Bignum_Fsquare_fsquare_times_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_Bignum_Fsquare_fsquare_times_(uint64_t *input, uint128_t
      *tmp, uint32_t count1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Crecip_crecip
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: Hacl_Bignum_crecip
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Crecip_crecip
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_crecip(uint64_t *output, uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 485
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 485
    functionName: Hacl_EC_Format_fcontract_second_carry_pass
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_second_carry_pass(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt64_gte_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:510,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:511,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:512,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:513,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 526
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 526
    functionName: Hacl_EC_Format_fcontract_trim
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - FStar_UInt64_eq_mask
    - FStar_UInt64_gte_mask
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_trim(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: Hacl_Bignum_Modulo_carry_top
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_Bignum_Modulo_carry_top(uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - output
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: Hacl_Bignum_Fmul_shift_reduce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fmul_shift_reduce(uint64_t *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:217,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:226,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - input
    - count1
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: Hacl_Bignum_Fsquare_fsquare_times
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_times_
    - KRML_CHECK_SIZE
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare_times(uint64_t *output,
      uint64_t *input, uint32_t count1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - swap1
    - ctr
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: Hacl_EC_Point_swap_conditional_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_swap_conditional_step(uint64_t *a, uint64_t
      *b, uint64_t swap1, uint32_t ctr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fcontract_second_carry_pass
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:493,1
    - Dst: Hacl_Bignum_Modulo_carry_top
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: Hacl_EC_Format_fcontract_second_carry_full
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract_second_carry_pass
    - Hacl_Bignum_Modulo_carry_top
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_second_carry_full(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:543,1
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:544,1
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:546,1
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 547
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 547
    functionName: Hacl_EC_Format_fcontract_store
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - store64_le
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_store(uint8_t *output, uint64_t
      *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fproduct_sum_scalar_multiplication_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:105,1
    - Dst: Hacl_Bignum_Fmul_shift_reduce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:106,1
    - Dst: Hacl_Bignum_Fproduct_sum_scalar_multiplication_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - output
    - input
    - input2
    argTypes:
    - uint128_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: Hacl_Bignum_Fmul_mul_shift_reduce_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fmul_shift_reduce
    - Hacl_Bignum_Fproduct_sum_scalar_multiplication_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_Bignum_Fmul_mul_shift_reduce_(uint128_t *output,
      uint64_t *input, uint64_t *input2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:232,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - output
    - count1
    argTypes:
    - uint64_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: Hacl_Bignum_Fsquare_fsquare_times_inplace
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_times_
    - KRML_CHECK_SIZE
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare_times_inplace(uint64_t
      *output, uint32_t count1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:331,1
    - Dst: Hacl_Bignum_Fproduct_copy_from_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:359,1
    - Dst: Hacl_Bignum_Fproduct_carry_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - output
    - b
    - s
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 362
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 362
    functionName: Hacl_Bignum_fscalar
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - KRML_CHECK_SIZE
    - Hacl_Bignum_Fproduct_copy_from_wide_
    - Hacl_Bignum_Fproduct_carry_wide_
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fscalar(uint64_t *output, uint64_t
      *b, uint64_t s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_swap_conditional_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:393,1
    - Dst: Hacl_EC_Point_swap_conditional_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - swap1
    - ctr
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: Hacl_EC_Point_swap_conditional_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Point_swap_conditional_step
    - Hacl_EC_Point_swap_conditional_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_swap_conditional_(uint64_t *a, uint64_t
      *b, uint64_t swap1, uint32_t ctr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 457
    functionName: Hacl_EC_Format_fcontract_first_carry_pass
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_first_carry_pass(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fcontract_first_carry_full
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:551,1
    - Dst: Hacl_EC_Format_fcontract_second_carry_full
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:552,1
    - Dst: Hacl_EC_Format_fcontract_trim
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:553,1
    - Dst: Hacl_EC_Format_fcontract_store
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: Hacl_EC_Format_fcontract
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract_trim
    - Hacl_EC_Format_fcontract_store
    - Hacl_EC_Format_fcontract_first_carry_full
    - Hacl_EC_Format_fcontract_second_carry_full
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract(uint8_t *output, uint64_t *input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:705,1
    - Dst: Hacl_EC_Ladder_BigLoop_cmult_big_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 7
    argNames:
    - n1
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - i
    argTypes:
    - uint8_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 708
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 708
    functionName: Hacl_EC_Ladder_BigLoop_cmult_big_loop
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop
    - Hacl_EC_Ladder_BigLoop_cmult_big_loop
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_BigLoop_cmult_big_loop( uint8_t *n1, uint64_t
      *nq, uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:117,1
    - Dst: Hacl_Bignum_Fmul_mul_shift_reduce_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:135,1
    - Dst: Hacl_Bignum_Fproduct_copy_from_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:143,1
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:118,1
    - Dst: Hacl_Bignum_Fproduct_carry_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - output
    - input
    - input2
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 152
    functionName: Hacl_Bignum_Fmul_fmul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fmul_mul_shift_reduce_
    - Hacl_Bignum_Fproduct_copy_from_wide_
    - memcpy
    - KRML_CHECK_SIZE
    - Hacl_Bignum_Fproduct_carry_wide_
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fmul_fmul(uint64_t *output, uint64_t
      *input, uint64_t *input2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:257,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:280,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_inplace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:282,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:281,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:283,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_inplace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:284,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:263,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:270,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:279,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:261,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:262,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:268,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:269,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:274,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:285,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:260,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:258,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:259,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:267,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:271,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_inplace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:272,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:273,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 286
    functionName: Hacl_Bignum_Crecip_crecip
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_times_inplace
    - Hacl_Bignum_Fmul_fmul
    - Hacl_Bignum_Fsquare_fsquare_times
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Crecip_crecip(uint64_t *out, uint64_t
      *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - output
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: Hacl_Bignum_fmul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fmul_fmul
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fmul(uint64_t *output, uint64_t *a,
      uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_swap_conditional_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:402,1
    - Dst: Hacl_EC_Point_swap_conditional_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - iswap
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: Hacl_EC_Point_swap_conditional
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Point_swap_conditional_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_swap_conditional(uint64_t *a, uint64_t *b,
      uint64_t iswap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fcontract_first_carry_pass
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:461,1
    - Dst: Hacl_Bignum_Modulo_carry_top
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: Hacl_EC_Format_fcontract_first_carry_full
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract_first_carry_pass
    - Hacl_Bignum_Modulo_carry_top
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_first_carry_full(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_crecip
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:564,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:565,1
    - Dst: Hacl_EC_Format_fcontract
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - scalar
    - point
    argTypes:
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 567
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 567
    functionName: Hacl_EC_Format_scalar_of_point
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract
    - Hacl_Bignum_crecip
    - Hacl_Bignum_fmul
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_scalar_of_point(uint8_t *scalar, uint64_t
      *point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:717,1
    - Dst: Hacl_EC_Ladder_BigLoop_cmult_big_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:719,1
    - Dst: Hacl_EC_Point_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - result
    - n1
    - q
    argTypes:
    - uint64_t*
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 721
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 721
    functionName: Hacl_EC_Ladder_cmult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_BigLoop_cmult_big_loop
    - Hacl_EC_Point_copy
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_cmult(uint64_t *result, uint8_t *n1, uint64_t
      *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:408,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: Hacl_EC_Point_copy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_copy(uint64_t *output, uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:416,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:422,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:420,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:424,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: Hacl_EC_Format_fexpand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - load64_le
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fexpand(uint64_t *output, uint8_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fexpand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:729,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:740,1
    - Dst: Hacl_EC_Ladder_cmult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:754,1
    - Dst: Hacl_EC_Format_scalar_of_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c:755,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - mypublic
    - secret
    - basepoint
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 758
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 758
    functionName: Hacl_Curve25519_crypto_scalarmult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fexpand
    - Hacl_EC_Ladder_cmult
    - memcpy
    - Hacl_EC_Format_scalar_of_point
    linkageType: ''
    returnType: void
    signature: 'void Hacl_Curve25519_crypto_scalarmult(uint8_t *mypublic, uint8_t
      *secret, uint8_t *basepoint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - grp_id
    argTypes:
    - mbedtls_ecdh_context_everest*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: mbedtls_everest_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_everest_setup( mbedtls_ecdh_context_everest *ctx, int
      grp_id ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - end
    argTypes:
    - mbedtls_ecdh_context_everest*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: mbedtls_everest_read_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_read_params
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_everest_read_params( mbedtls_ecdh_context_everest *ctx,
      const unsigned char **buf, const unsigned char *end ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - ( *f_rng )
    - p_rng
    argTypes:
    - mbedtls_ecdh_context_everest*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: mbedtls_everest_make_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_make_public
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_everest_make_public( mbedtls_ecdh_context_everest *ctx,
      size_t *olen, unsigned char *buf, size_t blen, int( *f_rng )( void *, unsigned
      char *, size_t ), void *p_rng ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_get_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - side
    argTypes:
    - mbedtls_ecdh_context_everest*
    - mbedtls_ecp_keypair*
    - mbedtls_everest_ecdh_side
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: mbedtls_everest_get_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_get_params
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_everest_get_params( mbedtls_ecdh_context_everest *ctx,
      const mbedtls_ecp_keypair *key, mbedtls_everest_ecdh_side side ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context_everest*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: mbedtls_everest_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_everest_free( mbedtls_ecdh_context_everest *ctx ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - ( *f_rng )
    - p_rng
    argTypes:
    - mbedtls_ecdh_context_everest*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: mbedtls_everest_make_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_make_params
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_everest_make_params( mbedtls_ecdh_context_everest *ctx,
      size_t *olen, unsigned char *buf, size_t blen, int( *f_rng )( void *, unsigned
      char *, size_t ), void *p_rng ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - blen
    argTypes:
    - mbedtls_ecdh_context_everest*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: mbedtls_everest_read_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_read_public
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_everest_read_public( mbedtls_ecdh_context_everest *ctx,
      const unsigned char *buf, size_t blen ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x25519_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - ( *f_rng )
    - p_rng
    argTypes:
    - mbedtls_ecdh_context_everest*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: mbedtls_everest_calc_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/everest.c
    functionUses: []
    functionsReached:
    - mbedtls_x25519_calc_secret
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_everest_calc_secret( mbedtls_ecdh_context_everest *ctx,
      size_t *olen, unsigned char *buf, size_t blen, int( *f_rng )( void *, unsigned
      char *, size_t ), void *p_rng ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x25519_context*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: mbedtls_x25519_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x25519_init( mbedtls_x25519_context *ctx ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - buf
    - end
    argTypes:
    - mbedtls_x25519_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: mbedtls_x25519_read_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x25519_read_params( mbedtls_x25519_context *ctx, const
      unsigned char **buf, const unsigned char *end ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:54,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x25519_context*
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: mbedtls_x25519_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x25519_free( mbedtls_x25519_context *ctx ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Curve25519_crypto_scalarmult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:133,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:136,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - ( *f_rng )
    - p_rng
    argTypes:
    - mbedtls_x25519_context*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: mbedtls_x25519_calc_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - Hacl_Curve25519_crypto_scalarmult
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x25519_calc_secret( mbedtls_x25519_context *ctx, size_t
      *olen, unsigned char *buf, size_t blen, int( *f_rng )(void *, unsigned char
      *, size_t), void *p_rng ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:67,1
    - Dst: Hacl_Curve25519_crypto_scalarmult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:80,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - ( *f_rng )
    - p_rng
    argTypes:
    - mbedtls_x25519_context*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: mbedtls_x25519_make_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - f_rng
    - Hacl_Curve25519_crypto_scalarmult
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x25519_make_params( mbedtls_x25519_context *ctx, size_t
      *olen, unsigned char *buf, size_t blen, int( *f_rng )(void *, unsigned char
      *, size_t), void *p_rng ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:110,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - key
    - side
    argTypes:
    - mbedtls_x25519_context*
    - mbedtls_ecp_keypair*
    - mbedtls_x25519_ecdh_side
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: mbedtls_x25519_get_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_write_binary
    - mbedtls_mpi_write_binary_le
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x25519_get_params( mbedtls_x25519_context *ctx, const
      mbedtls_ecp_keypair *key, mbedtls_x25519_ecdh_side side ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:155,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:167,1
    - Dst: Hacl_Curve25519_crypto_scalarmult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - ( *f_rng )
    - p_rng
    argTypes:
    - mbedtls_x25519_context*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: mbedtls_x25519_make_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - f_rng
    - Hacl_Curve25519_crypto_scalarmult
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x25519_make_public( mbedtls_x25519_context *ctx, size_t
      *olen, unsigned char *buf, size_t blen, int( *f_rng )(void *, unsigned char
      *, size_t), void *p_rng ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - buf
    - blen
    argTypes:
    - mbedtls_x25519_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: mbedtls_x25519_read_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/x25519.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x25519_read_public( mbedtls_x25519_context *ctx, const
      unsigned char *buf, size_t blen ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: FStar_UInt32_gte_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t FStar_UInt32_gte_mask(uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: FStar_UInt64_gte_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t FStar_UInt64_gte_mask(uint64_t a, uint64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: FStar_UInt16_gte_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t FStar_UInt16_gte_mask(uint16_t a, uint16_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: FStar_UInt64_eq_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t FStar_UInt64_eq_mask(uint64_t a, uint64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: FStar_UInt16_eq_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t FStar_UInt16_eq_mask(uint16_t a, uint16_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: FStar_UInt32_eq_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t FStar_UInt32_eq_mask(uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: FStar_UInt8_eq_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t FStar_UInt8_eq_mask(uint8_t a, uint8_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: FStar_UInt8_gte_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t FStar_UInt8_gte_mask(uint8_t a, uint8_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_constant_time_carry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: FStar_UInt128_carry
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_constant_time_carry
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_carry(uint64_t a, uint64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_carry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: FStar_UInt128_add_underspec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_carry
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_add_underspec(FStar_UInt128_uint128
      a, FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: FStar_UInt128_logor
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_logor(FStar_UInt128_uint128 a,
      FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_add_u64_shift_left
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - hi
    - lo
    - s
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: FStar_UInt128_add_u64_shift_left_respec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_add_u64_shift_left
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_add_u64_shift_left_respec(uint64_t hi,
      uint64_t lo, uint32_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: FStar_UInt128_gt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool FStar_UInt128_gt(FStar_UInt128_uint128 a, FStar_UInt128_uint128
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: FStar_UInt128_gte
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool FStar_UInt128_gte(FStar_UInt128_uint128 a, FStar_UInt128_uint128
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: FStar_UInt128_u64_mod_32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_u64_mod_32(uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - projectee
    argTypes:
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: FStar_UInt128___proj__Mkuint128__item__low
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t FStar_UInt128___proj__Mkuint128__item__low(FStar_UInt128_uint128
      projectee) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_carry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: FStar_UInt128_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_carry
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_add(FStar_UInt128_uint128 a, FStar_UInt128_uint128
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_carry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: FStar_UInt128_add_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_carry
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_add_mod(FStar_UInt128_uint128
      a, FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: FStar_UInt128_lognot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_lognot(FStar_UInt128_uint128 a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hi
    - lo
    - s
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: FStar_UInt128_add_u64_shift_left
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_add_u64_shift_left(uint64_t hi, uint64_t
      lo, uint32_t s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_add_u64_shift_left_respec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - FStar_UInt128_uint128
    - uint32_t
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: FStar_UInt128_shift_left_small
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_add_u64_shift_left_respec
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'static FStar_UInt128_uint128 FStar_UInt128_shift_left_small(FStar_UInt128_uint128
      a, uint32_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: FStar_UInt128_lt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool FStar_UInt128_lt(FStar_UInt128_uint128 a, FStar_UInt128_uint128
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: FStar_UInt128_lte
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool FStar_UInt128_lte(FStar_UInt128_uint128 a, FStar_UInt128_uint128
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_carry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: FStar_UInt128_sub_mod_impl
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_carry
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'static FStar_UInt128_uint128 FStar_UInt128_sub_mod_impl(FStar_UInt128_uint128
      a, FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: FStar_UInt128_uint64_to_uint128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_uint64_to_uint128(uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_sub_mod_impl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: FStar_UInt128_sub_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_sub_mod_impl
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_sub_mod(FStar_UInt128_uint128
      a, FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: FStar_UInt128_uint128_to_uint64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t FStar_UInt128_uint128_to_uint64(FStar_UInt128_uint128 a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_mul_wide_impl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: FStar_UInt128_mul_wide
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_mul_wide_impl
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_mul_wide(uint64_t x, uint64_t
      y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_carry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: FStar_UInt128_sub
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_carry
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_sub(FStar_UInt128_uint128 a, FStar_UInt128_uint128
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - FStar_UInt128_uint128
    - uint32_t
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: FStar_UInt128_shift_left_large
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'static FStar_UInt128_uint128 FStar_UInt128_shift_left_large(FStar_UInt128_uint128
      a, uint32_t s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_shift_right_small
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:190,1
    - Dst: FStar_UInt128_shift_right_large
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - FStar_UInt128_uint128
    - uint32_t
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: FStar_UInt128_shift_right
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_shift_right_small
    - FStar_UInt128_shift_right_large
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_shift_right(FStar_UInt128_uint128
      a, uint32_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:228,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:230,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:233,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: FStar_UInt128_eq_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt64_eq_mask
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_eq_mask(FStar_UInt128_uint128
      a, FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: FStar_UInt128_u32_combine
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_u32_combine(uint64_t hi, uint64_t lo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_carry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: FStar_UInt128_sub_underspec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_carry
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_sub_underspec(FStar_UInt128_uint128
      a, FStar_UInt128_uint128 b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_shift_left_small
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:146,1
    - Dst: FStar_UInt128_shift_left_large
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - FStar_UInt128_uint128
    - uint32_t
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: FStar_UInt128_shift_left
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_shift_left_small
    - FStar_UInt128_shift_left_large
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_shift_left(FStar_UInt128_uint128
      a, uint32_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: FStar_UInt128_eq
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool FStar_UInt128_eq(FStar_UInt128_uint128 a, FStar_UInt128_uint128
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt64_gte_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:243,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:243,1
    - Dst: FStar_UInt64_gte_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:245,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:244,1
    - Dst: FStar_UInt64_gte_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:244,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:245,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:246,1
    - Dst: FStar_UInt64_gte_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: FStar_UInt128_gte_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt64_eq_mask
    - FStar_UInt64_gte_mask
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_gte_mask(FStar_UInt128_uint128
      a, FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_u32_combine
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:345,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:347,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:348,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:351,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: FStar_UInt128_mul32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_u32_combine
    - FStar_UInt128_u64_mod_32
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_mul32(uint64_t x, uint32_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:372,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:373,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:377,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:373,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:373,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:378,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 381
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 381
    functionName: FStar_UInt128_mul_wide_impl_t_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_u64_mod_32
    linkageType: ''
    returnType: K___uint64_t_uint64_t_uint64_t_uint64_t
    signature: 'static K___uint64_t_uint64_t_uint64_t_uint64_t FStar_UInt128_mul_wide_impl_t_(uint64_t
      x, uint64_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - projectee
    argTypes:
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: FStar_UInt128___proj__Mkuint128__item__high
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t FStar_UInt128___proj__Mkuint128__item__high(FStar_UInt128_uint128
      projectee) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: FStar_UInt128_logand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_logand(FStar_UInt128_uint128 a,
      FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hi
    - lo
    - s
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: FStar_UInt128_add_u64_shift_right
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_add_u64_shift_right(uint64_t hi, uint64_t
      lo, uint32_t s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_add_u64_shift_right_respec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - FStar_UInt128_uint128
    - uint32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: FStar_UInt128_shift_right_small
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_add_u64_shift_right_respec
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'static FStar_UInt128_uint128 FStar_UInt128_shift_right_small(FStar_UInt128_uint128
      a, uint32_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: FStar_UInt128_u32_combine_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_u32_combine_(uint64_t hi, uint64_t lo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: FStar_UInt128_constant_time_carry
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_constant_time_carry(uint64_t a, uint64_t
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FStar_UInt128_uint128
    - FStar_UInt128_uint128
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: FStar_UInt128_logxor
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'FStar_UInt128_uint128 FStar_UInt128_logxor(FStar_UInt128_uint128 a,
      FStar_UInt128_uint128 b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_add_u64_shift_right
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - hi
    - lo
    - s
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: FStar_UInt128_add_u64_shift_right_respec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_add_u64_shift_right
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t FStar_UInt128_add_u64_shift_right_respec(uint64_t
      hi, uint64_t lo, uint32_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - FStar_UInt128_uint128
    - uint32_t
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: FStar_UInt128_shift_right_large
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'static FStar_UInt128_uint128 FStar_UInt128_shift_right_large(FStar_UInt128_uint128
      a, uint32_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_mul_wide_impl_t_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:390,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:403,1
    - Dst: FStar_UInt128_u64_mod_32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:398,1
    - Dst: FStar_UInt128_u32_combine_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 406
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 406
    functionName: FStar_UInt128_mul_wide_impl
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_u32_combine_
    - FStar_UInt128_u64_mod_32
    - FStar_UInt128_mul_wide_impl_t_
    linkageType: ''
    returnType: FStar_UInt128_uint128
    signature: 'static FStar_UInt128_uint128 FStar_UInt128_mul_wide_impl(uint64_t
      x, uint64_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fsquare_fsquare_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:251,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - input
    - tmp
    - count1
    argTypes:
    - uint64_t*
    - FStar_UInt128_uint128*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: Hacl_Bignum_Fsquare_fsquare_times_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_Bignum_Fsquare_fsquare_times_( uint64_t *input, FStar_UInt128_uint128
      *tmp, uint32_t count1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Crecip_crecip
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: Hacl_Bignum_crecip
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Crecip_crecip
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_crecip(uint64_t *output, uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 530
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 530
    functionName: Hacl_EC_Format_fcontract_second_carry_pass
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_second_carry_pass(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt64_gte_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:555,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:557,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:558,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:556,1
    - Dst: FStar_UInt64_eq_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 571
    functionName: Hacl_EC_Format_fcontract_trim
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - FStar_UInt64_eq_mask
    - FStar_UInt64_gte_mask
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_trim(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:259,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:265,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:268,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - output
    - input
    - count1
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: Hacl_Bignum_Fsquare_fsquare_times
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_times_
    - KRML_CHECK_SIZE
    - memcpy
    - FStar_UInt128_uint64_to_uint128
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare_times(uint64_t *output,
      uint64_t *input, uint32_t count1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - swap1
    - ctr
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 430
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 430
    functionName: Hacl_EC_Point_swap_conditional_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_swap_conditional_step(uint64_t *a, uint64_t
      *b, uint64_t swap1, uint32_t ctr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fcontract_second_carry_pass
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:538,1
    - Dst: Hacl_Bignum_Modulo_carry_top
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 546
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 546
    functionName: Hacl_EC_Format_fcontract_second_carry_full
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract_second_carry_pass
    - Hacl_Bignum_Modulo_carry_top
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_second_carry_full(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:588,1
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:589,1
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:591,1
    - Dst: store64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 592
    functionName: Hacl_EC_Format_fcontract_store
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - store64_le
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_store(uint8_t *output, uint64_t
      *input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_swap_conditional_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:438,1
    - Dst: Hacl_EC_Point_swap_conditional_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - swap1
    - ctr
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: Hacl_EC_Point_swap_conditional_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Point_swap_conditional_step
    - Hacl_EC_Point_swap_conditional_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_swap_conditional_(uint64_t *a, uint64_t
      *b, uint64_t swap1, uint32_t ctr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 502
    functionName: Hacl_EC_Format_fcontract_first_carry_pass
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_first_carry_pass(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fcontract_first_carry_full
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:596,1
    - Dst: Hacl_EC_Format_fcontract_trim
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:598,1
    - Dst: Hacl_EC_Format_fcontract_second_carry_full
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:597,1
    - Dst: Hacl_EC_Format_fcontract_store
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 600
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 600
    functionName: Hacl_EC_Format_fcontract
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract_trim
    - Hacl_EC_Format_fcontract_store
    - Hacl_EC_Format_fcontract_first_carry_full
    - Hacl_EC_Format_fcontract_second_carry_full
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract(uint8_t *output, uint64_t *input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:750,1
    - Dst: Hacl_EC_Ladder_BigLoop_cmult_big_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 7
    argNames:
    - n1
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - i
    argTypes:
    - uint8_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 753
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 753
    functionName: Hacl_EC_Ladder_BigLoop_cmult_big_loop
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop
    - Hacl_EC_Ladder_BigLoop_cmult_big_loop
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_BigLoop_cmult_big_loop( uint8_t *n1, uint64_t
      *nq, uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_swap_conditional_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:447,1
    - Dst: Hacl_EC_Point_swap_conditional_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - iswap
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: Hacl_EC_Point_swap_conditional
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Point_swap_conditional_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_swap_conditional(uint64_t *a, uint64_t *b,
      uint64_t iswap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fcontract_first_carry_pass
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:506,1
    - Dst: Hacl_Bignum_Modulo_carry_top
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: Hacl_EC_Format_fcontract_first_carry_full
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract_first_carry_pass
    - Hacl_Bignum_Modulo_carry_top
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fcontract_first_carry_full(uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_crecip
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:609,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:610,1
    - Dst: Hacl_EC_Format_fcontract
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - scalar
    - point
    argTypes:
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 612
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 612
    functionName: Hacl_EC_Format_scalar_of_point
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fcontract
    - Hacl_Bignum_crecip
    - Hacl_Bignum_fmul
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_scalar_of_point(uint8_t *scalar, uint64_t
      *point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:762,1
    - Dst: Hacl_EC_Ladder_BigLoop_cmult_big_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:764,1
    - Dst: Hacl_EC_Point_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:765,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - result
    - n1
    - q
    argTypes:
    - uint64_t*
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 766
    functionName: Hacl_EC_Ladder_cmult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_BigLoop_cmult_big_loop
    - Hacl_EC_Point_copy
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_cmult(uint64_t *result, uint8_t *n1, uint64_t
      *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_uint128_to_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - FStar_UInt128_uint128*
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: Hacl_Bignum_Fproduct_copy_from_wide_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_uint128_to_uint64
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fproduct_copy_from_wide_(uint64_t *output,
      FStar_UInt128_uint128 *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fproduct_sum_scalar_multiplication_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:117,1
    - Dst: Hacl_Bignum_Fmul_shift_reduce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:118,1
    - Dst: Hacl_Bignum_Fproduct_sum_scalar_multiplication_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - output
    - input
    - input2
    argTypes:
    - FStar_UInt128_uint128*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: Hacl_Bignum_Fmul_mul_shift_reduce_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fmul_shift_reduce
    - Hacl_Bignum_Fproduct_sum_scalar_multiplication_
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_Bignum_Fmul_mul_shift_reduce_( FStar_UInt128_uint128
      *output, uint64_t *input, uint64_t *input2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:453,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: Hacl_EC_Point_copy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Point_copy(uint64_t *output, uint64_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: Hacl_Bignum_Modulo_carry_top
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_Bignum_Modulo_carry_top(uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_add_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:66,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - output
    - input
    - s
    argTypes:
    - FStar_UInt128_uint128*
    - uint64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: Hacl_Bignum_Fproduct_sum_scalar_multiplication_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_add_mod
    - FStar_UInt128_mul_wide
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fproduct_sum_scalar_multiplication_(
      FStar_UInt128_uint128 *output, uint64_t *input, uint64_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:129,1
    - Dst: Hacl_Bignum_Fmul_mul_shift_reduce_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:147,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:136,1
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:130,1
    - Dst: Hacl_Bignum_Fproduct_carry_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:148,1
    - Dst: FStar_UInt128_logand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:151,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:151,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:153,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:154,1
    - Dst: FStar_UInt128_uint128_to_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:155,1
    - Dst: Hacl_Bignum_Fproduct_copy_from_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:158,1
    - Dst: FStar_UInt128_shift_right
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - output
    - input
    - input2
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 167
    functionName: Hacl_Bignum_Fmul_fmul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fmul_mul_shift_reduce_
    - FStar_UInt128_uint64_to_uint128
    - Hacl_Bignum_Fproduct_copy_from_wide_
    - FStar_UInt128_add
    - memcpy
    - FStar_UInt128_logand
    - FStar_UInt128_shift_right
    - FStar_UInt128_mul_wide
    - KRML_CHECK_SIZE
    - Hacl_Bignum_Fproduct_carry_wide_
    - FStar_UInt128_uint128_to_uint64
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fmul_fmul(uint64_t *output, uint64_t
      *input, uint64_t *input2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:461,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:465,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:469,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:463,1
    - Dst: load64_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 480
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: Hacl_EC_Format_fexpand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - load64_le
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Format_fexpand(uint64_t *output, uint8_t *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Format_fexpand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:774,1
    - Dst: Hacl_EC_Ladder_cmult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:799,1
    - Dst: Hacl_EC_Format_scalar_of_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:800,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:785,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - mypublic
    - secret
    - basepoint
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 803
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 803
    functionName: Hacl_Curve25519_crypto_scalarmult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Format_fexpand
    - Hacl_EC_Ladder_cmult
    - memcpy
    - Hacl_EC_Format_scalar_of_point
    linkageType: ''
    returnType: void
    signature: 'void Hacl_Curve25519_crypto_scalarmult(uint8_t *mypublic, uint8_t
      *secret, uint8_t *basepoint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_uint128_to_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:78,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:80,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:81,1
    - Dst: FStar_UInt128_shift_right
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - tmp
    argTypes:
    - FStar_UInt128_uint128*
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: Hacl_Bignum_Fproduct_carry_wide_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_add
    - FStar_UInt128_uint64_to_uint128
    - FStar_UInt128_uint128_to_uint64
    - FStar_UInt128_shift_right
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fproduct_carry_wide_(FStar_UInt128_uint128
      *tmp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:185,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:188,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:194,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:198,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:193,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:203,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:183,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:189,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:195,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:198,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:203,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:183,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:188,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:198,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:199,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:193,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:203,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:204,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:183,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:184,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:188,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:190,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:193,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:200,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - tmp
    - output
    argTypes:
    - FStar_UInt128_uint128*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 211
    functionName: Hacl_Bignum_Fsquare_fsquare__
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_add
    - FStar_UInt128_mul_wide
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare__(FStar_UInt128_uint128
      *tmp, uint64_t *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:274,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:280,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - output
    - count1
    argTypes:
    - uint64_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: Hacl_Bignum_Fsquare_fsquare_times_inplace
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_times_
    - KRML_CHECK_SIZE
    - FStar_UInt128_uint64_to_uint128
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare_times_inplace(uint64_t
      *output, uint32_t count1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: Hacl_Bignum_fsum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fsum(uint64_t *a, uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KRML_CHECK_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:373,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:391,1
    - Dst: FStar_UInt128_logand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:397,1
    - Dst: Hacl_Bignum_Fproduct_carry_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:394,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:379,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:397,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:399,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:400,1
    - Dst: FStar_UInt128_uint128_to_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:401,1
    - Dst: FStar_UInt128_shift_right
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:401,1
    - Dst: Hacl_Bignum_Fproduct_copy_from_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - output
    - b
    - s
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 407
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 407
    functionName: Hacl_Bignum_fscalar
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - FStar_UInt128_uint64_to_uint128
    - Hacl_Bignum_Fproduct_copy_from_wide_
    - FStar_UInt128_add
    - FStar_UInt128_logand
    - FStar_UInt128_shift_right
    - FStar_UInt128_mul_wide
    - KRML_CHECK_SIZE
    - Hacl_Bignum_Fproduct_carry_wide_
    - FStar_UInt128_uint128_to_uint64
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fscalar(uint64_t *output, uint64_t
      *b, uint64_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:649,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:672,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:666,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:665,1
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:676,1
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:648,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:653,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:654,1
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:662,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:664,1
    - Dst: Hacl_Bignum_fscalar
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:675,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:647,1
    - Dst: Hacl_Bignum_fsum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:651,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:661,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:668,1
    - Dst: Hacl_Bignum_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:677,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:650,1
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:652,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:667,1
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:673,1
    - Dst: Hacl_Bignum_fdifference
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:663,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 5
    argNames:
    - pp
    - ppq
    - p
    - pq
    - qmqp
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 678
    functionName: Hacl_EC_AddAndDouble_fmonty
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_fdifference
    - memcpy
    - Hacl_Bignum_fmul
    - Hacl_Bignum_fscalar
    - Hacl_Bignum_fsum
    - Hacl_Bignum_Fsquare_fsquare_times
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_AddAndDouble_fmonty( uint64_t *pp, uint64_t *ppq,
      uint64_t *p, uint64_t *pq, uint64_t *qmqp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:709,1
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - byt
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 712
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 712
    functionName: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step(
      uint64_t *nq, uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint8_t
      byt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - output
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: Hacl_Bignum_Fmul_shift_reduce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fmul_shift_reduce(uint64_t *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fsquare_fsquare__
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:223,1
    - Dst: FStar_UInt128_uint64_to_uint128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:227,1
    - Dst: FStar_UInt128_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:229,1
    - Dst: FStar_UInt128_logand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:227,1
    - Dst: Hacl_Bignum_Fproduct_carry_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:224,1
    - Dst: FStar_UInt128_mul_wide
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:230,1
    - Dst: FStar_UInt128_uint128_to_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:231,1
    - Dst: FStar_UInt128_shift_right
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:231,1
    - Dst: Hacl_Bignum_Fproduct_copy_from_wide_
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - tmp
    - output
    argTypes:
    - FStar_UInt128_uint128*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 241
    functionName: Hacl_Bignum_Fsquare_fsquare_
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare__
    - FStar_UInt128_uint64_to_uint128
    - Hacl_Bignum_Fproduct_copy_from_wide_
    - FStar_UInt128_add
    - FStar_UInt128_logand
    - FStar_UInt128_shift_right
    - FStar_UInt128_mul_wide
    - Hacl_Bignum_Fproduct_carry_wide_
    - FStar_UInt128_uint128_to_uint64
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Fsquare_fsquare_(FStar_UInt128_uint128
      *tmp, uint64_t *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:300,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:302,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:301,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:305,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:312,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:315,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_inplace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:314,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:321,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:313,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:299,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:303,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:304,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:310,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:311,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:309,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:323,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_inplace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:324,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:322,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:316,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:325,1
    - Dst: Hacl_Bignum_Fsquare_fsquare_times_inplace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:326,1
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 328
    functionName: Hacl_Bignum_Crecip_crecip
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fsquare_fsquare_times_inplace
    - Hacl_Bignum_Fmul_fmul
    - Hacl_Bignum_Fsquare_fsquare_times
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_Crecip_crecip(uint64_t *out, uint64_t
      *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: Hacl_Bignum_fdifference
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fdifference(uint64_t *a, uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_Bignum_Fmul_fmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - output
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: Hacl_Bignum_fmul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_Bignum_Fmul_fmul
    linkageType: ''
    returnType: void
    signature: 'inline static void Hacl_Bignum_fmul(uint64_t *output, uint64_t *a,
      uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Point_swap_conditional
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:692,1
    - Dst: Hacl_EC_Point_swap_conditional
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:695,1
    - Dst: Hacl_EC_AddAndDouble_fmonty
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - byt
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 696
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 696
    functionName: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Point_swap_conditional
    - Hacl_EC_AddAndDouble_fmonty
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_SmallLoop_cmult_small_loop_step( uint64_t
      *nq, uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint8_t byt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:729,1
    - Dst: Hacl_EC_Ladder_SmallLoop_cmult_small_loop
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 7
    argNames:
    - nq
    - nqpq
    - nq2
    - nqpq2
    - q
    - byt
    - i
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint64_t*
    - uint8_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 733
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 733
    functionName: Hacl_EC_Ladder_SmallLoop_cmult_small_loop
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c
    functionUses: []
    functionsReached:
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop
    - Hacl_EC_Ladder_SmallLoop_cmult_small_loop_double_step
    linkageType: ''
    returnType: void
    signature: 'static void Hacl_EC_Ladder_SmallLoop_cmult_small_loop( uint64_t *nq,
      uint64_t *nqpq, uint64_t *nq2, uint64_t *nqpq2, uint64_t *q, uint8_t byt, uint32_t
      i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_parse_der_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - chain
    - buf
    - buflen
    argTypes:
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1370
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1370
    functionName: mbedtls_x509_crt_parse_der_nocopy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_parse_der_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_parse_der_nocopy(mbedtls_x509_crt *chain, const
      unsigned char *buf, size_t buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_load_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1513,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1517,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - chain
    - path
    argTypes:
    - mbedtls_x509_crt*
    - char*
    constantsTouched: []
    func_position:
      end: 1522
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1522
    functionName: mbedtls_x509_crt_parse_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_parse
    - mbedtls_zeroize_and_free
    - mbedtls_pk_load_file
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_parse_file(mbedtls_x509_crt *chain, const char
      *path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_check_parent
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2291,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2328,1
    - Dst: x509_crt_check_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2305,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2327,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 9
    argNames:
    - child
    - candidates
    - r_parent
    - r_signature_is_good
    - top
    - path_cnt
    - self_cnt
    - rs_ctx
    - now
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crt**
    - int*
    - int
    - unsigned
    - unsigned
    - mbedtls_x509_crt_restart_ctx*
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2352
    functionName: x509_crt_find_parent_in
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_time_cmp
    - x509_crt_check_signature
    - x509_crt_check_parent
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_find_parent_in( mbedtls_x509_crt *child, mbedtls_x509_crt
      *candidates, mbedtls_x509_crt **r_parent, int *r_signature_is_good, int top,
      unsigned path_cnt, unsigned self_cnt, mbedtls_x509_crt_restart_ctx *rs_ctx,
      const mbedtls_x509_time *now) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_find_parent_in
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2403,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 9
    argNames:
    - child
    - trust_ca
    - parent
    - parent_is_trusted
    - signature_is_good
    - path_cnt
    - self_cnt
    - rs_ctx
    - now
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crt**
    - int*
    - int*
    - unsigned
    - unsigned
    - mbedtls_x509_crt_restart_ctx*
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 2434
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2434
    functionName: x509_crt_find_parent
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_find_parent_in
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_find_parent( mbedtls_x509_crt *child, mbedtls_x509_crt
      *trust_ca, mbedtls_x509_crt **parent, int *parent_is_trusted, int *signature_is_good,
      unsigned path_cnt, unsigned self_cnt, mbedtls_x509_crt_restart_ctx *rs_ctx,
      const mbedtls_x509_time *now) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3267,1
    - Dst: x509_crt_verify_chain_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509_crt_restart_ctx*
    constantsTouched: []
    func_position:
      end: 3278
      start: 3265
    functionDepth: 0
    functionLinenumber: 3265
    functionLinenumberEnd: 3278
    functionName: mbedtls_x509_crt_restart_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_verify_chain_reset
    - mbedtls_pk_restart_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_crt_restart_init(mbedtls_x509_crt_restart_ctx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_parse_cn_inet_pton
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2907,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2916,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - san
    - cn
    - cn_len
    argTypes:
    - mbedtls_x509_sequence*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2922
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2922
    functionName: x509_crt_check_san_ip
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_parse_cn_inet_pton
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_check_san_ip(const mbedtls_x509_sequence *san,
      const char *cn, size_t cn_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - crt
    argTypes:
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 3223
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3223
    functionName: mbedtls_x509_crt_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_crt_init(mbedtls_x509_crt *crt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_parse_der_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - chain
    - buf
    - buflen
    - make_copy
    - cb
    - p_ctx
    argTypes:
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    - int
    - mbedtls_x509_crt_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 1380
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1380
    functionName: mbedtls_x509_crt_parse_der_with_ext_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_parse_der_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_parse_der_with_ext_cb(mbedtls_x509_crt *chain,
      const unsigned char *buf, size_t buflen, int make_copy, mbedtls_x509_crt_ext_cb_t
      cb, void *p_ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1605,1
    - Dst: stat
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1620,1
    - Dst: readdir
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1613,1
    - Dst: FindClose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1591,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1642,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1553,1
    - Dst: mbedtls_x509_crt_parse_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1578,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1611,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1614,1
    - Dst: closedir
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1651,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1543,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1542,1
    - Dst: FindFirstFileW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1559,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1566,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1532,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1541,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1571,1
    - Dst: FindNextFileW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1584,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1586,1
    - Dst: opendir
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1598,1
    - Dst: closedir
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1606,1
    - Dst: S_ISREG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1636,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1654,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 2
    argNames:
    - chain
    - path
    argTypes:
    - mbedtls_x509_crt*
    - char*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1662
    functionName: mbedtls_x509_crt_parse_path
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - WideCharToMultiByte
    - readdir
    - FindNextFileW
    - closedir
    - memcpy
    - mbedtls_mutex_lock
    - S_ISREG
    - FindClose
    - mbedtls_x509_crt_parse_file
    - strlen
    - GetLastError
    - mbedtls_snprintf
    - FindFirstFileW
    - stat
    - opendir
    - MultiByteToWideChar
    - mbedtls_mutex_unlock
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_parse_path(mbedtls_x509_crt *chain, const char
      *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_oid_get_extended_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1698,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - size
    - extended_key_usage
    argTypes:
    - char**
    - size_t*
    - mbedtls_x509_sequence*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1714
    functionName: x509_info_ext_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    - mbedtls_oid_get_extended_key_usage
    linkageType: ''
    returnType: int
    signature: 'static int x509_info_ext_key_usage(char **buf, size_t *size, const
      mbedtls_x509_sequence *extended_key_usage) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1768,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1835,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1846,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1864,1
    - Dst: x509_info_cert_policies
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1877,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1771,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1778,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1780,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1795,1
    - Dst: mbedtls_pk_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1816,1
    - Dst: mbedtls_x509_info_cert_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1849,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1874,1
    - Dst: mbedtls_x509_key_size_helper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1810,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1829,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1815,1
    - Dst: mbedtls_pk_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1811,1
    - Dst: mbedtls_x509_info_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1838,1
    - Dst: mbedtls_x509_info_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1858,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1883,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1762,1
    - Dst: mbedtls_x509_serial_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1775,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1783,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1785,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1788,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1802,1
    - Dst: mbedtls_x509_sig_alg_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1805,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1824,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1855,1
    - Dst: x509_info_ext_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1867,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 90
    argCount: 4
    argNames:
    - buf
    - size
    - prefix
    - crt
    argTypes:
    - char*
    - size_t
    - char*
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 1887
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1887
    functionName: mbedtls_x509_crt_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_info_subject_alt_name
    - mbedtls_pk_get_bitlen
    - mbedtls_x509_sig_alg_gets
    - x509_info_ext_key_usage
    - mbedtls_x509_serial_gets
    - mbedtls_x509_dn_gets
    - mbedtls_snprintf
    - mbedtls_x509_key_size_helper
    - mbedtls_x509_info_key_usage
    - x509_info_cert_policies
    - mbedtls_x509_info_cert_type
    - mbedtls_pk_get_name
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_info(char *buf, size_t size, const char *prefix,
      const mbedtls_x509_crt *crt) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: li_cton
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2738,1
    - Dst: x509_inet_pton_ipv4
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2768,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2816,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2745,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2812,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2822,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2824
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2824
    functionName: x509_inet_pton_ipv6
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - memmove
    - memcpy
    - li_cton
    - x509_inet_pton_ipv4
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int x509_inet_pton_ipv6(const char *src, void *dst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:278,1
    - Dst: x509_memcasecmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - cn
    - name
    argTypes:
    - char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 302
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 302
    functionName: x509_check_wildcard
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_memcasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int x509_check_wildcard(const char *cn, const mbedtls_x509_buf
      *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:401,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:414,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:419,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:415,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:409,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - p
    - end
    - ver
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 424
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 424
    functionName: x509_get_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_version(unsigned char **p, const unsigned char
      *end, int *ver) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: x509_name_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2186,1
    - Dst: mbedtls_x509_crt_check_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - child
    - parent
    - top
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - int
    constantsTouched: []
    func_position:
      end: 2208
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2208
    functionName: x509_crt_check_parent
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_name_cmp
    - mbedtls_x509_crt_check_key_usage
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_check_parent(const mbedtls_x509_crt *child, const
      mbedtls_x509_crt *parent, int top) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: x509_memcasecmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2891,1
    - Dst: x509_check_wildcard
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - name
    - cn
    - cn_len
    argTypes:
    - mbedtls_x509_buf*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2901
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2901
    functionName: x509_crt_check_cn
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_memcasecmp
    - x509_check_wildcard
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_check_cn(const mbedtls_x509_buf *name, const char
      *cn, size_t cn_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3234,1
    - Dst: mbedtls_asn1_free_named_data_list_shallow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3241,1
    - Dst: mbedtls_asn1_free_named_data_list_shallow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3240,1
    - Dst: mbedtls_asn1_sequence_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3242,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3237,1
    - Dst: mbedtls_asn1_sequence_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3243,1
    - Dst: mbedtls_asn1_sequence_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3244,1
    - Dst: mbedtls_asn1_sequence_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3245,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3248,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3254,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - crt
    argTypes:
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 3259
      start: 3228
    functionDepth: 0
    functionLinenumber: 3228
    functionLinenumberEnd: 3259
    functionName: mbedtls_x509_crt_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_platform_zeroize
    - mbedtls_asn1_sequence_free
    - mbedtls_zeroize_and_free
    - mbedtls_pk_free
    - mbedtls_asn1_free_named_data_list_shallow
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_crt_free(mbedtls_x509_crt *crt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - crt
    argTypes:
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 3300
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3300
    functionName: mbedtls_x509_crt_get_ca_istrue
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_get_ca_istrue(const mbedtls_x509_crt *crt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:211,1
    - Dst: mbedtls_pk_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:215,1
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:227,1
    - Dst: MBEDTLS_X509_ID_FLAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:233,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - profile
    - pk
    argTypes:
    - mbedtls_x509_crt_profile*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 242
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 242
    functionName: x509_profile_check_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_type
    - mbedtls_pk_get_bitlen
    - MBEDTLS_X509_ID_FLAG
    - mbedtls_pk_get_ec_group_id
    linkageType: ''
    returnType: int
    signature: 'static int x509_profile_check_key(const mbedtls_x509_crt_profile *profile,
      const mbedtls_pk_context *pk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 270
    functionName: x509_memcasecmp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int x509_memcasecmp(const void *s1, const void *s2, size_t
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:349,1
    - Dst: x509_string_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:354,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mbedtls_x509_name*
    - mbedtls_x509_name*
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: x509_name_cmp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_string_cmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int x509_name_cmp(const mbedtls_x509_name *a, const mbedtls_x509_name
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ver_chain
    argTypes:
    - mbedtls_x509_crt_verify_chain*
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: x509_crt_verify_chain_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void x509_crt_verify_chain_reset( mbedtls_x509_crt_verify_chain
      *ver_chain) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:626,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:650,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:628,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:632,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:636,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:655,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:660,1
    - Dst: mbedtls_x509_get_subject_alt_name_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:663,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:671,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:673,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - p
    - end
    - authority_key_id
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_authority*
    constantsTouched: []
    func_position:
      end: 687
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 687
    functionName: x509_get_authority_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - mbedtls_x509_get_subject_alt_name_ext
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_authority_key_id(unsigned char **p, unsigned char
      *end, mbedtls_x509_authority *authority_key_id) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:911,1
    - Dst: x509_get_basic_constraints
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:965,1
    - Dst: cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1027,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1062,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:899,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:893,1
    - Dst: mbedtls_asn1_get_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:909,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:915,1
    - Dst: mbedtls_oid_get_x509_ext_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:931,1
    - Dst: cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:936,1
    - Dst: mbedtls_x509_get_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1006,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:949,1
    - Dst: mbedtls_x509_get_ns_cert_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1014,1
    - Dst: x509_get_certificate_policies
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1022,1
    - Dst: mbedtls_x509_get_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:875,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:901,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:891,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:917,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:924,1
    - Dst: x509_get_subject_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:989,1
    - Dst: x509_get_authority_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:997,1
    - Dst: mbedtls_x509_get_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:973,1
    - Dst: x509_get_ext_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:981,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 113
    argCount: 5
    argNames:
    - p
    - end
    - crt
    - cb
    - p_ctx
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_crt*
    - mbedtls_x509_crt_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 1067
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 1067
    functionName: x509_get_crt_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_get_ext
    - x509_get_basic_constraints
    - x509_get_certificate_policies
    - mbedtls_x509_get_subject_alt_name
    - cb
    - x509_get_ext_key_usage
    - x509_get_authority_key_id
    - mbedtls_oid_get_x509_ext_type
    - mbedtls_asn1_get_bool
    - MBEDTLS_ERROR_ADD
    - mbedtls_x509_get_ns_cert_type
    - mbedtls_asn1_get_tag
    - mbedtls_x509_get_key_usage
    - x509_get_subject_key_id
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_crt_ext(unsigned char **p, const unsigned char
      *end, mbedtls_x509_crt *crt, mbedtls_x509_crt_ext_cb_t cb, void *p_ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1415,1
    - Dst: mbedtls_pem_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1434,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1420,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1423,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1437,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1451,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1469,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1471,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - chain
    - buf
    - buflen
    argTypes:
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1501
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1501
    functionName: mbedtls_x509_crt_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_parse_der
    - mbedtls_pem_free
    - mbedtls_pem_init
    - mbedtls_pem_read_buffer
    - strstr
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_parse(mbedtls_x509_crt *chain, const unsigned
      char *buf, size_t buflen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - crt
    - usage
    argTypes:
    - mbedtls_x509_crt*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1953
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1953
    functionName: mbedtls_x509_crt_check_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_check_key_usage(const mbedtls_x509_crt *crt,
      unsigned int usage) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1973,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1977,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - crt
    - usage_oid
    - usage_len
    argTypes:
    - mbedtls_x509_crt*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1983
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1983
    functionName: mbedtls_x509_crt_check_extended_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - MBEDTLS_OID_CMP
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_check_extended_key_usage(const mbedtls_x509_crt
      *crt, const char *usage_oid, size_t usage_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2878,1
    - Dst: x509_inet_pton_ipv6
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2880,1
    - Dst: x509_inet_pton_ipv4
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cn
    - dst
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2881
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2881
    functionName: mbedtls_x509_crt_parse_cn_inet_pton
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - strchr
    - x509_inet_pton_ipv6
    - x509_inet_pton_ipv4
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_x509_crt_parse_cn_inet_pton(const char *cn, void *dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2931,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - san
    - cn
    - cn_len
    argTypes:
    - mbedtls_x509_sequence*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2937
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2937
    functionName: x509_crt_check_san_uri
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_check_san_uri(const mbedtls_x509_sequence *san,
      const char *cn, size_t cn_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_verify_restartable_ca_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 8
    argNames:
    - crt
    - trust_ca
    - ca_crl
    - profile
    - cn
    - flags
    - (*f_vrfy)
    - p_vrfy
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    - mbedtls_x509_crt_profile*
    - char*
    - uint32_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3179
      start: 3167
    functionDepth: 0
    functionLinenumber: 3167
    functionLinenumberEnd: 3179
    functionName: mbedtls_x509_crt_verify_with_profile
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_verify_restartable_ca_cb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_verify_with_profile(mbedtls_x509_crt *crt, mbedtls_x509_crt
      *trust_ca, mbedtls_x509_crl *ca_crl, const mbedtls_x509_crt_profile *profile,
      const char *cn, uint32_t *flags, int (*f_vrfy)(void *, mbedtls_x509_crt *, int,
      uint32_t *), void *p_vrfy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_X509_ID_FLAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - profile
    - pk_alg
    argTypes:
    - mbedtls_x509_crt_profile*
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: x509_profile_check_pk_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - MBEDTLS_X509_ID_FLAG
    linkageType: ''
    returnType: int
    signature: 'static int x509_profile_check_pk_alg(const mbedtls_x509_crt_profile
      *profile, mbedtls_pk_type_t pk_alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:314,1
    - Dst: x509_memcasecmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:321,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mbedtls_x509_buf*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: x509_string_cmp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_memcasecmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int x509_string_cmp(const mbedtls_x509_buf *a, const mbedtls_x509_buf
      *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:593,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:595,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - p
    - end
    - subject_key_id
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 609
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 609
    functionName: x509_get_subject_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_subject_key_id(unsigned char **p, const unsigned
      char *end, mbedtls_x509_buf *subject_key_id) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:748,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:774,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:763,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:755,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:751,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:776,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:781,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:783,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:793,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:807,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:829,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:841,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:850,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:810,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:832,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - p
    - end
    - certificate_policies
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_sequence*
    constantsTouched: []
    func_position:
      end: 855
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 855
    functionName: x509_get_certificate_policies
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - MBEDTLS_OID_CMP
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_certificate_policies(unsigned char **p, const
      unsigned char *end, mbedtls_x509_sequence *certificate_policies) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1338,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1356,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1345,1
    - Dst: x509_crt_parse_der_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1349,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 6
    argNames:
    - chain
    - buf
    - buflen
    - make_copy
    - cb
    - p_ctx
    argTypes:
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    - int
    - mbedtls_x509_crt_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1363
    functionName: mbedtls_x509_crt_parse_der_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_calloc
    - x509_crt_parse_der_core
    - mbedtls_x509_crt_init
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_x509_crt_parse_der_internal(mbedtls_x509_crt *chain,
      const unsigned char *buf, size_t buflen, int make_copy, mbedtls_x509_crt_ext_cb_t
      cb, void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_parse_der_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - chain
    - buf
    - buflen
    argTypes:
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1387
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1387
    functionName: mbedtls_x509_crt_parse_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_parse_der_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_parse_der(mbedtls_x509_crt *chain, const unsigned
      char *buf, size_t buflen) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: x509_name_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2029,1
    - Dst: x509_profile_check_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2046,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2055,1
    - Dst: x509_profile_check_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2050,1
    - Dst: mbedtls_x509_crt_check_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2037,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2056,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2067,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2068,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2069,1
    - Dst: x509_profile_check_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2079,1
    - Dst: mbedtls_x509_crt_is_revoked
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2108,1
    - Dst: mbedtls_pk_verify_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2083,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2094,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2098,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 5
    argNames:
    - crt
    - ca
    - crl_list
    - profile
    - now
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    - mbedtls_x509_crt_profile*
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2117
    functionName: x509_crt_verifycrl
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_pk_verify_ext
    - x509_name_cmp
    - mbedtls_md
    - mbedtls_x509_crt_check_key_usage
    - psa_hash_compute
    - mbedtls_x509_time_cmp
    - x509_profile_check_pk_alg
    - mbedtls_x509_crt_is_revoked
    - x509_profile_check_md_alg
    - mbedtls_md_psa_alg_from_type
    - mbedtls_md_get_size
    - x509_profile_check_key
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_verifycrl(mbedtls_x509_crt *crt, mbedtls_x509_crt
      *ca, mbedtls_x509_crl *crl_list, const mbedtls_x509_crt_profile *profile, const
      mbedtls_x509_time *now) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f_vrfy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3026,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - flags
    - ver_chain
    - (*f_vrfy)
    - p_vrfy
    argTypes:
    - uint32_t*
    - mbedtls_x509_crt_verify_chain*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3035
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3035
    functionName: x509_crt_merge_flags_with_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - f_vrfy
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_merge_flags_with_cb( uint32_t *flags, const mbedtls_x509_crt_verify_chain
      *ver_chain, int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *), void
      *p_vrfy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2131,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2142,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2132,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2139,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2135,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2154,1
    - Dst: mbedtls_pk_verify_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2160,1
    - Dst: mbedtls_pk_verify_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - child
    - parent
    - rs_ctx
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crt_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2171
    functionName: x509_crt_check_signature
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_pk_verify_ext
    - mbedtls_md
    - psa_hash_compute
    - mbedtls_pk_can_do
    - mbedtls_pk_verify_restartable
    - mbedtls_md_psa_alg_from_type
    - mbedtls_md_get_size
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_check_signature(const mbedtls_x509_crt *child,
      mbedtls_x509_crt *parent, mbedtls_x509_crt_restart_ctx *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_verify_restartable_ca_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - crt
    - trust_ca
    - ca_crl
    - cn
    - flags
    - (*f_vrfy)
    - p_vrfy
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    - char*
    - uint32_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3162
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3162
    functionName: mbedtls_x509_crt_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_verify_restartable_ca_cb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_verify(mbedtls_x509_crt *crt, mbedtls_x509_crt
      *trust_ca, mbedtls_x509_crl *ca_crl, const char *cn, uint32_t *flags, int (*f_vrfy)(void
      *, mbedtls_x509_crt *, int, uint32_t *), void *p_vrfy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_verify_restartable_ca_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 8
    argNames:
    - crt
    - f_ca_cb
    - p_ca_cb
    - profile
    - cn
    - flags
    - (*f_vrfy)
    - p_vrfy
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt_ca_cb_t
    - void*
    - mbedtls_x509_crt_profile*
    - char*
    - uint32_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3198
      start: 3186
    functionDepth: 0
    functionLinenumber: 3186
    functionLinenumberEnd: 3198
    functionName: mbedtls_x509_crt_verify_with_ca_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_verify_restartable_ca_cb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_verify_with_ca_cb(mbedtls_x509_crt *crt, mbedtls_x509_crt_ca_cb_t
      f_ca_cb, void *p_ca_cb, const mbedtls_x509_crt_profile *profile, const char
      *cn, uint32_t *flags, int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t
      *), void *p_vrfy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_X509_ID_FLAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - profile
    - md_alg
    argTypes:
    - mbedtls_x509_crt_profile*
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: x509_profile_check_md_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - MBEDTLS_X509_ID_FLAG
    linkageType: ''
    returnType: int
    signature: 'static int x509_profile_check_md_alg(const mbedtls_x509_crt_profile
      *profile, mbedtls_md_type_t md_alg) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1086,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1139,1
    - Dst: mbedtls_x509_get_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1167,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1211,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1227,1
    - Dst: x509_get_crt_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1257,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1266,1
    - Dst: mbedtls_x509_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1279,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1280,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1289,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1106,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1116,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1121,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1138,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1181,1
    - Dst: x509_get_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1152,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1200,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1209,1
    - Dst: mbedtls_x509_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1215,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1216,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1295,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1285,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1084,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1108,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1136,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1179,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1182,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1186,1
    - Dst: x509_get_dates
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1198,1
    - Dst: x509_get_uid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1241,1
    - Dst: x509_get_uid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1249,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1290,1
    - Dst: mbedtls_pk_parse_subpubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1226,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1085,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1161,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1170,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1156,1
    - Dst: mbedtls_x509_get_serial
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1153,1
    - Dst: mbedtls_x509_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1154,1
    - Dst: mbedtls_x509_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1185,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1212,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1243,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1251,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1259,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1301,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1300,1
    - Dst: mbedtls_x509_get_sig
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1294,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1265,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 180
    argCount: 6
    argNames:
    - crt
    - buf
    - buflen
    - make_copy
    - cb
    - p_ctx
    argTypes:
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    - int
    - mbedtls_x509_crt_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 1306
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1306
    functionName: x509_crt_parse_der_core
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_x509_get_name
    - x509_get_crt_ext
    - x509_get_uid
    - memcmp
    - mbedtls_x509_get_alg
    - mbedtls_pk_parse_subpubkey
    - memcpy
    - memset
    - mbedtls_x509_get_sig_alg
    - x509_get_dates
    - x509_get_version
    - mbedtls_x509_get_serial
    - MBEDTLS_ERROR_ADD
    - mbedtls_x509_get_sig
    - mbedtls_asn1_get_tag
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_parse_der_core(mbedtls_x509_crt *crt, const unsigned
      char *buf, size_t buflen, int make_copy, mbedtls_x509_crt_ext_cb_t cb, void
      *p_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - crt
    - crl
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    constantsTouched: []
    func_position:
      end: 2003
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2003
    functionName: mbedtls_x509_crt_is_revoked
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_is_revoked(const mbedtls_x509_crt *crt, const
      mbedtls_x509_crl *crl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2988,1
    - Dst: x509_crt_check_san
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2991,1
    - Dst: x509_crt_check_cn
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2997,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2996,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - crt
    - cn
    - flags
    argTypes:
    - mbedtls_x509_crt*
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 3005
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 3005
    functionName: x509_crt_verify_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - MBEDTLS_OID_CMP
    - x509_crt_check_san
    - x509_crt_check_cn
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void x509_crt_verify_name(const mbedtls_x509_crt *crt, const
      char *cn, uint32_t *flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1914,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1920,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - size
    - prefix
    - flags
    argTypes:
    - char*
    - size_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1926
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1926
    functionName: mbedtls_x509_crt_verify_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_verify_info(char *buf, size_t size, const char
      *prefix, uint32_t flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2860
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2860
    functionName: x509_inet_pton_ipv4
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int x509_inet_pton_ipv4(const char *src, void *dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_sequence_of
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:568,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:569,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - p
    - end
    - ext_key_usage
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_sequence*
    constantsTouched: []
    func_position:
      end: 579
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 579
    functionName: x509_get_ext_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_sequence_of
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_ext_key_usage(unsigned char **p, const unsigned
      char *end, mbedtls_x509_sequence *ext_key_usage) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_check_cn
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2951,1
    - Dst: x509_crt_check_san_ip
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2967,1
    - Dst: x509_crt_check_san_uri
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2972,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 3
    argNames:
    - san
    - cn
    - cn_len
    argTypes:
    - mbedtls_x509_sequence*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2978
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2978
    functionName: x509_crt_check_san
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_check_san_uri
    - x509_crt_check_cn
    - x509_crt_check_san_ip
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_check_san(const mbedtls_x509_sequence *san, const
      char *cn, size_t cn_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_verify_chain_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3075,1
    - Dst: x509_profile_check_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3090,1
    - Dst: x509_profile_check_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3094,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3088,1
    - Dst: x509_crt_verify_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3084,1
    - Dst: x509_crt_verify_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3099,1
    - Dst: x509_crt_merge_flags_with_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3111,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3116,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3117,1
    - Dst: mbedtls_x509_crt_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3123,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    argCount: 11
    argNames:
    - crt
    - trust_ca
    - ca_crl
    - f_ca_cb
    - p_ca_cb
    - profile
    - cn
    - flags
    - (*f_vrfy)
    - p_vrfy
    - rs_ctx
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    - mbedtls_x509_crt_ca_cb_t
    - void*
    - mbedtls_x509_crt_profile*
    - char*
    - uint32_t*
    - int
    - void*
    - mbedtls_x509_crt_restart_ctx*
    constantsTouched: []
    func_position:
      end: 3144
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3144
    functionName: x509_crt_verify_restartable_ca_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - x509_profile_check_pk_alg
    - mbedtls_x509_crt_restart_free
    - x509_crt_verify_chain
    - x509_crt_verify_name
    - x509_crt_verify_chain_reset
    - mbedtls_pk_get_type
    - x509_crt_merge_flags_with_cb
    - x509_profile_check_key
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_verify_restartable_ca_cb(mbedtls_x509_crt *crt,
      mbedtls_x509_crt *trust_ca, mbedtls_x509_crl *ca_crl, mbedtls_x509_crt_ca_cb_t
      f_ca_cb, void *p_ca_cb, const mbedtls_x509_crt_profile *profile, const char
      *cn, uint32_t *flags, int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t
      *), void *p_vrfy, mbedtls_x509_crt_restart_ctx *rs_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:477,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:484,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - p
    - end
    - uid
    - n
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    - int
    constantsTouched: []
    func_position:
      end: 491
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 491
    functionName: x509_get_uid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_uid(unsigned char **p, const unsigned char *end,
      mbedtls_x509_buf *uid, int n) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:509,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:520,1
    - Dst: mbedtls_asn1_get_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:518,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:511,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:524,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:536,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:537,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:541,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:548,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 4
    argNames:
    - p
    - end
    - ca_istrue
    - max_pathlen
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 555
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 555
    functionName: x509_get_basic_constraints
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - mbedtls_asn1_get_tag
    - mbedtls_asn1_get_bool
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_basic_constraints(unsigned char **p, const unsigned
      char *end, int *ca_istrue, int *max_pathlen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_time_gmtime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2530,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2566,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2530,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2570,1
    - Dst: x509_profile_check_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2581,1
    - Dst: x509_profile_check_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2585,1
    - Dst: x509_crt_check_ee_locally_trusted
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2591,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2603,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2604,1
    - Dst: f_ca_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2607,1
    - Dst: x509_crt_find_parent
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2622,1
    - Dst: x509_profile_check_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2668,1
    - Dst: x509_crt_verifycrl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2674,1
    - Dst: x509_name_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2650,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 96
    argCount: 8
    argNames:
    - crt
    - trust_ca
    - ca_crl
    - f_ca_cb
    - p_ca_cb
    - profile
    - ver_chain
    - rs_ctx
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    - mbedtls_x509_crt_ca_cb_t
    - void*
    - mbedtls_x509_crt_profile*
    - mbedtls_x509_crt_verify_chain*
    - mbedtls_x509_crt_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2685
    functionName: x509_crt_verify_chain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_check_ee_locally_trusted
    - x509_name_cmp
    - x509_crt_find_parent
    - x509_profile_check_key
    - mbedtls_x509_time_cmp
    - mbedtls_free
    - x509_profile_check_pk_alg
    - mbedtls_time
    - x509_profile_check_md_alg
    - f_ca_cb
    - x509_crt_verifycrl
    - mbedtls_x509_time_gmtime
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_verify_chain( mbedtls_x509_crt *crt, mbedtls_x509_crt
      *trust_ca, mbedtls_x509_crl *ca_crl, mbedtls_x509_crt_ca_cb_t f_ca_cb, void
      *p_ca_cb, const mbedtls_x509_crt_profile *profile, mbedtls_x509_crt_verify_chain
      *ver_chain, mbedtls_x509_crt_restart_ctx *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2867
      start: 2864
    functionDepth: 0
    functionLinenumber: 2864
    functionLinenumberEnd: 2867
    functionName: x509_inet_pton_ipv6
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - inet_pton
    linkageType: ''
    returnType: int
    signature: 'static int x509_inet_pton_ipv6(const char *src, void *dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_crt_verify_restartable_ca_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 9
    argNames:
    - crt
    - trust_ca
    - ca_crl
    - profile
    - cn
    - flags
    - (*f_vrfy)
    - p_vrfy
    - rs_ctx
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    - mbedtls_x509_crt_profile*
    - char*
    - uint32_t*
    - int
    - void*
    - mbedtls_x509_crt_restart_ctx*
    constantsTouched: []
    func_position:
      end: 3214
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3214
    functionName: mbedtls_x509_crt_verify_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_crt_verify_restartable_ca_cb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crt_verify_restartable(mbedtls_x509_crt *crt, mbedtls_x509_crt
      *trust_ca, mbedtls_x509_crl *ca_crl, const mbedtls_x509_crt_profile *profile,
      const char *cn, uint32_t *flags, int (*f_vrfy)(void *, mbedtls_x509_crt *, int,
      uint32_t *), void *p_vrfy, mbedtls_x509_crt_restart_ctx *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2872
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2872
    functionName: x509_inet_pton_ipv4
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - inet_pton
    linkageType: ''
    returnType: int
    signature: 'static int x509_inet_pton_ipv4(const char *src, void *dst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:439,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:441,1
    - Dst: mbedtls_x509_get_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:450,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:455,1
    - Dst: mbedtls_x509_get_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:446,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - p
    - end
    - from
    - to
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_time*
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 460
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 460
    functionName: x509_get_dates
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - mbedtls_x509_get_time
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_dates(unsigned char **p, const unsigned char *end,
      mbedtls_x509_time *from, mbedtls_x509_time *to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_oid_get_certificate_policies
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1727,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:1731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - size
    - certificate_policies
    argTypes:
    - char**
    - size_t*
    - mbedtls_x509_sequence*
    constantsTouched: []
    func_position:
      end: 1743
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1743
    functionName: x509_info_cert_policies
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    - mbedtls_oid_get_certificate_policies
    linkageType: ''
    returnType: int
    signature: 'static int x509_info_cert_policies(char **buf, size_t *size, const
      mbedtls_x509_sequence *certificate_policies) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: x509_name_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2449,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:2456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - crt
    - trust_ca
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2463
    functionName: x509_crt_check_ee_locally_trusted
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - x509_name_cmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int x509_crt_check_ee_locally_trusted( mbedtls_x509_crt *crt,
      mbedtls_x509_crt *trust_ca) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3289,1
    - Dst: mbedtls_x509_crt_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c:3290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509_crt_restart_ctx*
    constantsTouched: []
    func_position:
      end: 3291
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3291
    functionName: mbedtls_x509_crt_restart_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_restart_init
    - mbedtls_pk_restart_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_crt_restart_free(mbedtls_x509_crt_restart_ctx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: threading_mutex_init_pthread
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached:
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: 'static void threading_mutex_init_pthread(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: threading_mutex_lock_pthread
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: 'static int threading_mutex_lock_pthread(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: threading_mutex_fail
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int threading_mutex_fail(mbedtls_threading_mutex_t *mutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: threading_mutex_unlock_pthread
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'static int threading_mutex_unlock_pthread(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: threading_mutex_free_pthread
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached:
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: 'static void threading_mutex_free_pthread(mbedtls_threading_mutex_t
      *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mbedtls_threading_mutex_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: threading_mutex_dummy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void threading_mutex_dummy(mbedtls_threading_mutex_t *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:145,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:153,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:151,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:152,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - (*mutex_init)
    - (*mutex_free)
    - (*mutex_lock)
    - (*mutex_unlock)
    argTypes:
    - void
    - void
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: mbedtls_threading_set_alt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_threading_set_alt(void (*mutex_init)(mbedtls_threading_mutex_t
      *), void (*mutex_free)(mbedtls_threading_mutex_t *), int (*mutex_lock)(mbedtls_threading_mutex_t
      *), int (*mutex_unlock)(mbedtls_threading_mutex_t *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:163,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:171,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:170,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:166,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: mbedtls_threading_free_alt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/threading.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_threading_free_alt(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:123,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:128,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:136,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:127,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:141,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - p
    - start
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 156
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 156
    functionName: pk_write_ec_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_ec
    - memcpy
    - mbedtls_ecp_point_write_binary
    - psa_export_public_key
    - mbedtls_pk_get_type
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_ec_pubkey(unsigned char **p, unsigned char *start,
      const mbedtls_pk_context *pk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_oid_get_oid_by_ec_grp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:237,1
    - Dst: mbedtls_asn1_write_oid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:241,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - p
    - start
    - grp_id
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 244
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 244
    functionName: pk_write_ec_param
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_oid_get_oid_by_ec_grp
    - mbedtls_asn1_write_oid
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_ec_param(unsigned char **p, unsigned char *start,
      mbedtls_ecp_group_id grp_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:272,1
    - Dst: pk_write_ec_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:272,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:274,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:273,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:273,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:274,1
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:276,1
    - Dst: mbedtls_oid_get_oid_by_ec_grp_algid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:278,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:281,1
    - Dst: mbedtls_asn1_write_algorithm_identifier_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:282,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:287,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:288,1
    - Dst: mbedtls_asn1_write_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:285,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:287,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:288,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - p
    - buf
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 292
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: pk_write_ec_rfc8410_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_int
    - pk_write_ec_private
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_algorithm_identifier_ext
    - mbedtls_asn1_write_tag
    - mbedtls_oid_get_oid_by_ec_grp_algid
    - mbedtls_pk_get_ec_group_id
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_ec_rfc8410_der(unsigned char **p, unsigned char
      *buf, const mbedtls_pk_context *pk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:425,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:426,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:426,1
    - Dst: mbedtls_rsa_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:426,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:430,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:431,1
    - Dst: pk_write_ec_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:431,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:435,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:436,1
    - Dst: pk_write_opaque_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - p
    - start
    - key
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: mbedtls_pk_write_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_rsa
    - pk_write_opaque_pubkey
    - mbedtls_rsa_write_pubkey
    - pk_write_ec_pubkey
    - mbedtls_pk_get_type
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_write_pubkey(unsigned char **p, unsigned char *start,
      const mbedtls_pk_context *key) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:501,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:504,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:505,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:473,1
    - Dst: mbedtls_pk_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:459,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:474,1
    - Dst: pk_get_type_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:476,1
    - Dst: pk_get_type_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:479,1
    - Dst: mbedtls_oid_get_oid_by_ec_grp_algid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:482,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:488,1
    - Dst: pk_write_ec_param
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:488,1
    - Dst: mbedtls_asn1_write_algorithm_identifier_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:501,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:459,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:474,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:473,1
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:480,1
    - Dst: MBEDTLS_PK_IS_RFC8410_GROUP_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:481,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:504,1
    - Dst: mbedtls_oid_get_oid_by_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:495,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:505,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - key
    - buf
    - size
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 509
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 509
    functionName: mbedtls_pk_write_pubkey_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_write_pubkey
    - mbedtls_oid_get_oid_by_pk_alg
    - mbedtls_asn1_write_len
    - MBEDTLS_PK_IS_RFC8410_GROUP_ID
    - mbedtls_asn1_write_algorithm_identifier_ext
    - mbedtls_asn1_write_tag
    - pk_get_type_ext
    - mbedtls_oid_get_oid_by_ec_grp_algid
    - pk_write_ec_param
    - mbedtls_pk_get_ec_group_id
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_write_pubkey_der(const mbedtls_pk_context *key, unsigned
      char *buf, size_t size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pk_get_type_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:522,1
    - Dst: mbedtls_pk_is_rfc8410
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:529,1
    - Dst: pk_get_type_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:527,1
    - Dst: pk_write_rsa_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:523,1
    - Dst: pk_write_ec_rfc8410_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:530,1
    - Dst: pk_write_ec_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - key
    - buf
    - size
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 537
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 537
    functionName: mbedtls_pk_write_key_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - pk_write_ec_der
    - pk_write_ec_rfc8410_der
    - pk_write_rsa_der
    - mbedtls_pk_is_rfc8410
    - pk_get_type_ext
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_write_key_der(const mbedtls_pk_context *key, unsigned
      char *buf, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:323,1
    - Dst: pk_write_ec_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:314,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:327,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:334,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:314,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:326,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:327,1
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:333,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:336,1
    - Dst: pk_write_ec_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:342,1
    - Dst: mbedtls_asn1_write_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:345,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:347,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:324,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:326,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:336,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:335,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:342,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:345,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:347,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:348,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:323,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:324,1
    - Dst: pk_write_ec_param
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:334,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:335,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - p
    - buf
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 352
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 352
    functionName: pk_write_ec_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_int
    - pk_write_ec_private
    - mbedtls_asn1_write_len
    - pk_write_ec_param
    - mbedtls_asn1_write_tag
    - pk_write_ec_pubkey
    - mbedtls_pk_get_ec_group_id
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_ec_der(unsigned char **p, unsigned char *buf,
      const mbedtls_pk_context *pk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:555,1
    - Dst: mbedtls_pk_write_pubkey_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:561,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:574,1
    - Dst: mbedtls_pem_write_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - key
    - buf
    - size
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 576
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 576
    functionName: mbedtls_pk_write_pubkey_pem
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_pem_write_buffer
    - mbedtls_calloc
    - mbedtls_pk_write_pubkey_der
    - mbedtls_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_write_pubkey_pem(const mbedtls_pk_context *key, unsigned
      char *buf, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:171,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:178,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:174,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:172,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:180,1
    - Dst: mbedtls_asn1_write_octet_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:185,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - p
    - start
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 189
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 189
    functionName: pk_write_ec_private
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - psa_export_key
    - mbedtls_asn1_write_octet_string
    - PSA_PK_ECDSA_TO_MBEDTLS_ERR
    - mbedtls_pk_get_type
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_ec_private(unsigned char **p, unsigned char *start,
      const mbedtls_pk_context *pk) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:582,1
    - Dst: mbedtls_pk_is_rfc8410
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:601,1
    - Dst: pk_get_type_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:594,1
    - Dst: pk_get_type_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:600,1
    - Dst: mbedtls_pk_write_key_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:589,1
    - Dst: mbedtls_pem_write_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:615,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:623,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - key
    - buf
    - size
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 625
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 625
    functionName: mbedtls_pk_write_key_pem
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_pem_write_buffer
    - mbedtls_calloc
    - mbedtls_pk_is_rfc8410
    - pk_get_type_ext
    - mbedtls_pk_write_key_der
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_write_key_pem(const mbedtls_pk_context *key, unsigned
      char *buf, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:200,1
    - Dst: mbedtls_ecp_write_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:212,1
    - Dst: mbedtls_pk_ec_rw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:209,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:201,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:203,1
    - Dst: mbedtls_asn1_write_octet_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:217,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - p
    - start
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: pk_write_ec_private
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_write_key_ext
    - mbedtls_platform_zeroize
    - psa_export_key
    - mbedtls_asn1_write_octet_string
    - PSA_PK_ECDSA_TO_MBEDTLS_ERR
    - mbedtls_pk_get_type
    - mbedtls_pk_ec_rw
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_ec_private(unsigned char **p, unsigned char *start,
      const mbedtls_pk_context *pk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:390,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:397,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:400,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:403,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:401,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 413
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 413
    functionName: pk_get_type_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - psa_get_key_type
    - mbedtls_pk_get_type
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: mbedtls_pk_type_t
    signature: 'static mbedtls_pk_type_t pk_get_type_ext(const mbedtls_pk_context
      *pk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:99,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:100,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:113,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - p
    - start
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: pk_write_ec_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_type
    - memcpy
    - psa_export_public_key
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_ec_pubkey(unsigned char **p, unsigned char *start,
      const mbedtls_pk_context *pk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:65,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:78,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:69,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:79,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:74,1
    - Dst: mbedtls_rsa_write_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:84,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - p
    - buf
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 85
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 85
    functionName: pk_write_rsa_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_write_key
    - mbedtls_pk_rsa
    - mbedtls_platform_zeroize
    - memcpy
    - psa_export_key
    - mbedtls_pk_get_type
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_rsa_der(unsigned char **p, unsigned char *buf,
      const mbedtls_pk_context *pk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:370,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - p
    - start
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 379
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 379
    functionName: pk_write_opaque_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkwrite.c
    functionUses: []
    functionsReached:
    - psa_export_public_key
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int pk_write_opaque_pubkey(unsigned char **p, unsigned char
      *start, const mbedtls_pk_context *pk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cipher_id
    argTypes:
    - mbedtls_block_cipher_id_t
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: psa_key_type_from_block_cipher_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_type_t
    signature: 'static psa_key_type_t psa_key_type_from_block_cipher_id(mbedtls_block_cipher_id_t
      cipher_id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_type_from_block_cipher_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:94,1
    - Dst: mbedtls_aria_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:111,1
    - Dst: psa_can_do_cipher
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:96,1
    - Dst: mbedtls_camellia_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:116,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - cipher_id
    argTypes:
    - mbedtls_block_cipher_context_t*
    - mbedtls_cipher_id_t
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: mbedtls_block_cipher_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_init
    - mbedtls_camellia_init
    - psa_can_do_cipher
    - mbedtls_aes_init
    - psa_key_type_from_block_cipher_id
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_block_cipher_setup(mbedtls_block_cipher_context_t *ctx,
      mbedtls_cipher_id_t cipher_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_TO_MBEDTLS_ERR_LIST
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: mbedtls_cipher_error_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c
    functionUses: []
    functionsReached:
    - PSA_TO_MBEDTLS_ERR_LIST
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_cipher_error_from_psa(psa_status_t status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:134,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:137,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:136,1
    - Dst: psa_key_type_from_block_cipher_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:134,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:135,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:139,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:139,1
    - Dst: mbedtls_cipher_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:141,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:143,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:152,1
    - Dst: mbedtls_camellia_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:160,1
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - mbedtls_block_cipher_context_t*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 165
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 165
    functionName: mbedtls_block_cipher_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - PSA_BITS_TO_BYTES
    - mbedtls_camellia_setkey_enc
    - psa_set_key_algorithm
    - psa_set_key_bits
    - mbedtls_aes_setkey_enc
    - psa_reset_key_attributes
    - mbedtls_aria_setkey_enc
    - psa_key_type_from_block_cipher_id
    - mbedtls_cipher_error_from_psa
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_block_cipher_setkey(mbedtls_block_cipher_context_t *ctx,
      const unsigned char *key, unsigned key_bitlen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:176,1
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:193,1
    - Dst: mbedtls_cipher_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:179,1
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:197,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_block_cipher_context_t*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 204
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 204
    functionName: mbedtls_block_cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_crypt_ecb
    - psa_cipher_encrypt
    - mbedtls_aes_crypt_ecb
    - mbedtls_aria_crypt_ecb
    - mbedtls_cipher_error_from_psa
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_block_cipher_encrypt(mbedtls_block_cipher_context_t *ctx,
      const unsigned char input[16], unsigned char output[16]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:59,1
    - Dst: mbedtls_camellia_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:76,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:66,1
    - Dst: mbedtls_aria_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_block_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: mbedtls_block_cipher_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_free
    - mbedtls_aria_free
    - mbedtls_aes_free
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_block_cipher_free(mbedtls_block_cipher_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: mbedtls_ecdh_enable_restart
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecdh_enable_restart(mbedtls_ecdh_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_make_params_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:349,1
    - Dst: ecdh_make_params_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:359,1
    - Dst: mbedtls_everest_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecdh_context*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 367
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 367
    functionName: mbedtls_ecdh_make_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_make_params_internal
    - mbedtls_everest_make_params
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_make_params(mbedtls_ecdh_context *ctx, size_t *olen,
      unsigned char *buf, size_t blen, int (*f_rng)(void *, unsigned char *, size_t),
      void *p_rng) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdh_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:453,1
    - Dst: mbedtls_ecdh_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:456,1
    - Dst: ecdh_get_params_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:469,1
    - Dst: mbedtls_ecdh_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:463,1
    - Dst: mbedtls_everest_get_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:478,1
    - Dst: ecdh_get_params_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:483,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - key
    - side
    argTypes:
    - mbedtls_ecdh_context*
    - mbedtls_ecp_keypair*
    - mbedtls_ecdh_side
    constantsTouched: []
    func_position:
      end: 489
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 489
    functionName: mbedtls_ecdh_get_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_get_params_internal
    - mbedtls_ecdh_grp_id
    - mbedtls_everest_get_params
    - mbedtls_ecdh_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_get_params(mbedtls_ecdh_context *ctx, const mbedtls_ecp_keypair
      *key, mbedtls_ecdh_side side) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_tls_read_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - end
    argTypes:
    - mbedtls_ecdh_context_mbed*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: ecdh_read_params_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_tls_read_point
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_read_params_internal(mbedtls_ecdh_context_mbed *ctx,
      const unsigned char **buf, const unsigned char *end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_gen_public_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:518,1
    - Dst: mbedtls_ecdh_gen_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:523,1
    - Dst: mbedtls_ecp_tls_write_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:529,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 8
    argNames:
    - ctx
    - olen
    - point_format
    - buf
    - blen
    - (*f_rng)
    - p_rng
    - restart_enabled
    argTypes:
    - mbedtls_ecdh_context_mbed*
    - size_t*
    - int
    - unsigned char*
    - size_t
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 531
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 531
    functionName: ecdh_make_public_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdh_gen_public
    - mbedtls_ecp_tls_write_point
    - ecdh_gen_public_restartable
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_make_public_internal(mbedtls_ecdh_context_mbed *ctx,
      size_t *olen, int point_format, unsigned char *buf, size_t blen, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, int restart_enabled) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_calc_secret_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:675,1
    - Dst: mbedtls_everest_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:681,1
    - Dst: ecdh_calc_secret_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:685,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecdh_context*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 692
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 692
    functionName: mbedtls_ecdh_calc_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_calc_secret_internal
    - mbedtls_everest_calc_secret
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_calc_secret(mbedtls_ecdh_context *ctx, size_t *olen,
      unsigned char *buf, size_t blen, int (*f_rng)(void *, unsigned char *, size_t),
      void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - gid
    argTypes:
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: mbedtls_ecdh_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_can_do(mbedtls_ecp_group_id gid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - grp_id
    argTypes:
    - mbedtls_ecdh_context_mbed*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: ecdh_setup_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_load
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_setup_internal(mbedtls_ecdh_context_mbed *ctx, mbedtls_ecp_group_id
      grp_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:217,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:221,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:219,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:218,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:220,1
    - Dst: mbedtls_ecp_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context_mbed*
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: ecdh_free_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_free
    - mbedtls_ecp_group_free
    - mbedtls_mpi_free
    - mbedtls_ecp_restart_free
    linkageType: ''
    returnType: void
    signature: 'static void ecdh_free_internal(mbedtls_ecdh_context_mbed *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:248,1
    - Dst: mbedtls_everest_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:256,1
    - Dst: ecdh_free_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:251,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:249,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:250,1
    - Dst: ecdh_free_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context*
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: mbedtls_ecdh_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_everest_free
    - mbedtls_ecp_point_free
    - ecdh_free_internal
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecdh_free(mbedtls_ecdh_context *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_tls_read_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:390,1
    - Dst: ecdh_read_params_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:409,1
    - Dst: mbedtls_ecdh_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:395,1
    - Dst: mbedtls_everest_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:405,1
    - Dst: ecdh_read_params_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - buf
    - end
    argTypes:
    - mbedtls_ecdh_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 415
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 415
    functionName: mbedtls_ecdh_read_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_read_params_internal
    - mbedtls_ecp_tls_read_group_id
    - mbedtls_everest_read_params
    - mbedtls_ecdh_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_read_params(mbedtls_ecdh_context *ctx, const unsigned
      char **buf, const unsigned char *end) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_gen_public_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:301,1
    - Dst: mbedtls_ecdh_gen_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:306,1
    - Dst: mbedtls_ecp_tls_write_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:312,1
    - Dst: mbedtls_ecp_tls_write_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 8
    argNames:
    - ctx
    - olen
    - point_format
    - buf
    - blen
    - (*f_rng)
    - p_rng
    - restart_enabled
    argTypes:
    - mbedtls_ecdh_context_mbed*
    - size_t*
    - int
    - unsigned char*
    - size_t
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 327
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 327
    functionName: ecdh_make_params_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdh_gen_public
    - mbedtls_ecp_tls_write_point
    - mbedtls_ecp_tls_write_group
    - ecdh_gen_public_restartable
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_make_params_internal(mbedtls_ecdh_context_mbed *ctx,
      size_t *olen, int point_format, unsigned char *buf, size_t blen, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, int restart_enabled) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:425,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:433,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - key
    - side
    argTypes:
    - mbedtls_ecdh_context_mbed*
    - mbedtls_ecp_keypair*
    - mbedtls_ecdh_side
    constantsTouched: []
    func_position:
      end: 439
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 439
    functionName: ecdh_get_params_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_copy
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_get_params_internal(mbedtls_ecdh_context_mbed *ctx,
      const mbedtls_ecp_keypair *key, mbedtls_ecdh_side side) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:135,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:139,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:136,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:138,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:137,1
    - Dst: mbedtls_ecp_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context_mbed*
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: ecdh_init_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_ecp_point_init
    - mbedtls_ecp_restart_init
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'static void ecdh_init_internal(mbedtls_ecdh_context_mbed *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_init_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:161,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:163,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:162,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:166,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context*
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: mbedtls_ecdh_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_init_internal
    - mbedtls_ecp_point_init
    - memset
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecdh_init(mbedtls_ecdh_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_make_public_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:547,1
    - Dst: ecdh_make_public_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:557,1
    - Dst: mbedtls_everest_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:553,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecdh_context*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 565
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 565
    functionName: mbedtls_ecdh_make_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_make_public_internal
    - mbedtls_everest_make_public
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_make_public(mbedtls_ecdh_context *ctx, size_t *olen,
      unsigned char *buf, size_t blen, int (*f_rng)(void *, unsigned char *, size_t),
      void *p_rng) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_read_public_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:592,1
    - Dst: ecdh_read_public_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:601,1
    - Dst: mbedtls_everest_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:597,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - buf
    - blen
    argTypes:
    - mbedtls_ecdh_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 607
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 607
    functionName: mbedtls_ecdh_read_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_read_public_internal
    - mbedtls_everest_read_public
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_read_public(mbedtls_ecdh_context *ctx, const unsigned
      char *buf, size_t blen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_tls_read_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - blen
    argTypes:
    - mbedtls_ecdh_context_mbed*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 583
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 583
    functionName: ecdh_read_public_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_tls_read_point
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_read_public_internal(mbedtls_ecdh_context_mbed *ctx,
      const unsigned char *buf, size_t blen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_compute_shared_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:636,1
    - Dst: mbedtls_ecdh_compute_shared
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:642,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:648,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:655,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:654,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:658,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 7
    argNames:
    - ctx
    - olen
    - buf
    - blen
    - (*f_rng)
    - p_rng
    - restart_enabled
    argTypes:
    - mbedtls_ecdh_context_mbed*
    - size_t*
    - unsigned char*
    - size_t
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 659
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 659
    functionName: ecdh_calc_secret_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdh_compute_shared
    - mbedtls_mpi_write_binary
    - mbedtls_ecp_get_type
    - ecdh_compute_shared_restartable
    - mbedtls_mpi_size
    - mbedtls_mpi_write_binary_le
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_calc_secret_internal(mbedtls_ecdh_context_mbed *ctx,
      size_t *olen, unsigned char *buf, size_t blen, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng, int restart_enabled) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: mbedtls_ecdh_get_grp_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_group_id
    signature: 'mbedtls_ecp_group_id mbedtls_ecdh_get_grp_id(mbedtls_ecdh_context
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_setup_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:195,1
    - Dst: ecdh_setup_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:210,1
    - Dst: mbedtls_everest_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:203,1
    - Dst: ecdh_init_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - grp_id
    argTypes:
    - mbedtls_ecdh_context*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 213
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 213
    functionName: mbedtls_ecdh_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_init_internal
    - mbedtls_everest_setup
    - ecdh_setup_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_setup(mbedtls_ecdh_context *ctx, mbedtls_ecp_group_id
      grp_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_gen_public_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - grp
    - d
    - Q
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: mbedtls_ecdh_gen_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_gen_public_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_gen_public(mbedtls_ecp_group *grp, mbedtls_mpi *d,
      mbedtls_ecp_point *Q, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_compute_shared_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - grp
    - z
    - Q
    - d
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: mbedtls_ecdh_compute_shared
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - ecdh_compute_shared_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdh_compute_shared(mbedtls_ecp_group *grp, mbedtls_mpi
      *z, const mbedtls_ecp_point *Q, const mbedtls_mpi *d, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdh_context*
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: mbedtls_ecdh_grp_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_group_id
    signature: 'static mbedtls_ecp_group_id mbedtls_ecdh_grp_id( const mbedtls_ecdh_context
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:67,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:70,1
    - Dst: mbedtls_ecp_gen_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:67,1
    - Dst: mbedtls_ecp_mul_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - grp
    - d
    - Q
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: ecdh_gen_public_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPI_CHK
    - mbedtls_ecp_mul_restartable
    - mbedtls_ecp_gen_privkey
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_gen_public_restartable(mbedtls_ecp_group *grp, mbedtls_mpi
      *d, mbedtls_ecp_point *Q, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng, mbedtls_ecp_restart_ctx *rs_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:102,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:112,1
    - Dst: mbedtls_ecp_mul_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:104,1
    - Dst: mbedtls_ecp_is_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:107,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:104,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:112,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 7
    argNames:
    - grp
    - z
    - Q
    - d
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - int
    - void*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 118
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 118
    functionName: ecdh_compute_shared_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdh.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_free
    - mbedtls_ecp_mul_restartable
    - mbedtls_ecp_point_init
    - mbedtls_ecp_is_zero
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_compute_shared_restartable(mbedtls_ecp_group *grp,
      mbedtls_mpi *z, const mbedtls_ecp_point *Q, const mbedtls_mpi *d, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, mbedtls_ecp_restart_ctx *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_sign_det_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:477,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 9
    argNames:
    - grp
    - r
    - s
    - d
    - buf
    - blen
    - md_alg
    - (*f_rng_blind)
    - p_rng_blind
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    - mbedtls_md_type_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: mbedtls_ecdsa_sign_det_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_sign_det_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_sign_det_ext(mbedtls_ecp_group *grp, mbedtls_mpi
      *r, mbedtls_mpi *s, const mbedtls_mpi *d, const unsigned char *buf, size_t blen,
      mbedtls_md_type_t md_alg, int (*f_rng_blind)(void *, unsigned char *, size_t),
      void *p_rng_blind) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:723,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:726,1
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:738,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:724,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:733,1
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:739,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:746,1
    - Dst: mbedtls_ecdsa_verify_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:751,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:765,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:766,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 6
    argNames:
    - ctx
    - hash
    - hlen
    - sig
    - slen
    - rs_ctx
    argTypes:
    - mbedtls_ecdsa_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - mbedtls_ecdsa_restart_ctx*
    constantsTouched: []
    func_position:
      end: 769
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 769
    functionName: mbedtls_ecdsa_read_signature_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_verify_restartable
    - mbedtls_asn1_get_mpi
    - mbedtls_mpi_free
    - MBEDTLS_ERROR_ADD
    - mbedtls_mpi_init
    - mbedtls_asn1_get_tag
    - mbedtls_ecdsa_verify
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_read_signature_restartable(mbedtls_ecdsa_context
      *ctx, const unsigned char *hash, size_t hlen, const unsigned char *sig, size_t
      slen, mbedtls_ecdsa_restart_ctx *rs_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_context*
    constantsTouched: []
    func_position:
      end: 822
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 822
    functionName: mbedtls_ecdsa_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_keypair_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecdsa_free(mbedtls_ecdsa_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:49,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_ver_ctx*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ecdsa_restart_ver_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_restart_ver_init(mbedtls_ecdsa_restart_ver_ctx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:412,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:434,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:417,1
    - Dst: ECDSA_RS_ENTER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:419,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:416,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:434,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:435,1
    - Dst: derive_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:435,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:436,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:436,1
    - Dst: mbedtls_hmac_drbg_seed_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:437,1
    - Dst: mbedtls_ecdsa_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:449,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:459,1
    - Dst: mbedtls_ecdsa_sign_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:452,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:458,1
    - Dst: ECDSA_RS_LEAVE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:461,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:437,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 10
    argNames:
    - grp
    - r
    - s
    - d
    - buf
    - blen
    - md_alg
    - (*f_rng_blind)
    - p_rng_blind
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    - mbedtls_md_type_t
    - int
    - void*
    - mbedtls_ecdsa_restart_ctx*
    constantsTouched: []
    func_position:
      end: 464
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 464
    functionName: mbedtls_ecdsa_sign_det_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_hmac_drbg_seed_buf
    - mbedtls_hmac_drbg_free
    - mbedtls_ecdsa_sign_restartable
    - mbedtls_mpi_write_binary
    - mbedtls_hmac_drbg_init
    - ECDSA_RS_ENTER
    - derive_mpi
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecdsa_sign
    - MBEDTLS_MPI_CHK
    - ECDSA_RS_LEAVE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_sign_det_restartable(mbedtls_ecp_group *grp, mbedtls_mpi
      *r, mbedtls_mpi *s, const mbedtls_mpi *d, const unsigned char *buf, size_t blen,
      mbedtls_md_type_t md_alg, int (*f_rng_blind)(void *, unsigned char *, size_t),
      void *p_rng_blind, mbedtls_ecdsa_restart_ctx *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_context*
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mbedtls_ecdsa_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_keypair_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecdsa_init(mbedtls_ecdsa_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_sign_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 8
    argNames:
    - grp
    - r
    - s
    - d
    - buf
    - blen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: mbedtls_ecdsa_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_sign_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_sign(mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi
      *s, const mbedtls_mpi *d, const unsigned char *buf, size_t blen, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_read_signature_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - hash
    - hlen
    - sig
    - slen
    argTypes:
    - mbedtls_ecdsa_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 708
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 708
    functionName: mbedtls_ecdsa_read_signature
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_read_signature_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_read_signature(mbedtls_ecdsa_context *ctx, const
      unsigned char *hash, size_t hlen, const unsigned char *sig, size_t slen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:795,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:796,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:797,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_ecdsa_context*
    - mbedtls_ecp_keypair*
    constantsTouched: []
    func_position:
      end: 802
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 802
    functionName: mbedtls_ecdsa_from_keypair
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_copy
    - mbedtls_ecp_copy
    - mbedtls_ecp_group_copy
    - mbedtls_ecdsa_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_from_keypair(mbedtls_ecdsa_context *ctx, const mbedtls_ecp_keypair
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_verify_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - grp
    - buf
    - blen
    - Q
    - r
    - s
    argTypes:
    - mbedtls_ecp_group*
    - unsigned char*
    - size_t
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: mbedtls_ecdsa_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_verify_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_verify(mbedtls_ecp_group *grp, const unsigned char
      *buf, size_t blen, const mbedtls_ecp_point *Q, const mbedtls_mpi *r, const mbedtls_mpi
      *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_write_signature_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - md_alg
    - hash
    - hlen
    - sig
    - sig_size
    - slen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecdsa_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: mbedtls_ecdsa_write_signature
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_write_signature_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_write_signature(mbedtls_ecdsa_context *ctx, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hlen, unsigned char *sig, size_t sig_size,
      size_t *slen, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:63,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:64,1
    - Dst: ecdsa_restart_ver_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_ver_ctx*
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: ecdsa_restart_ver_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - ecdsa_restart_ver_init
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_restart_ver_free(mbedtls_ecdsa_restart_ver_ctx *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:500,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:542,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:544,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:548,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:577,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:583,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:585,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:500,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:527,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:535,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:527,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:544,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:545,1
    - Dst: mbedtls_ecp_muladd_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:560,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:572,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:585,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:499,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:501,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:526,1
    - Dst: derive_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:535,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:542,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:547,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:548,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:584,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:584,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:501,1
    - Dst: mbedtls_ecdsa_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:504,1
    - Dst: ECDSA_RS_ENTER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:508,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:526,1
    - Dst: ECDSA_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:540,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:545,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:547,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:560,1
    - Dst: mbedtls_ecp_is_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:563,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:572,1
    - Dst: ECDSA_RS_LEAVE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:587,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 7
    argNames:
    - grp
    - buf
    - blen
    - Q
    - r
    - s
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - unsigned char*
    - size_t
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_ecdsa_restart_ctx*
    constantsTouched: []
    func_position:
      end: 590
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 590
    functionName: mbedtls_ecdsa_verify_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - ECDSA_BUDGET
    - mbedtls_ecp_is_zero
    - mbedtls_ecp_point_free
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_inv_mod
    - mbedtls_ecp_point_init
    - derive_mpi
    - ECDSA_RS_ENTER
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecp_muladd_restartable
    - mbedtls_ecdsa_can_do
    - MBEDTLS_MPI_CHK
    - ECDSA_RS_LEAVE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_verify_restartable(mbedtls_ecp_group *grp, const
      unsigned char *buf, size_t blen, const mbedtls_ecp_point *Q, const mbedtls_mpi
      *r, const mbedtls_mpi *s, mbedtls_ecdsa_restart_ctx *rs_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:105,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_sig_ctx*
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: ecdsa_restart_sig_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_restart_sig_free(mbedtls_ecdsa_restart_sig_ctx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_det_ctx*
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ecdsa_restart_det_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_hmac_drbg_init
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_restart_det_init(mbedtls_ecdsa_restart_det_ctx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:139,1
    - Dst: ecdsa_restart_det_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_det_ctx*
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: ecdsa_restart_det_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - ecdsa_restart_det_init
    - mbedtls_hmac_drbg_free
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_restart_det_free(mbedtls_ecdsa_restart_det_ctx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:652,1
    - Dst: mbedtls_ecdsa_sign_det_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:656,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:653,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:665,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:656,1
    - Dst: mbedtls_ecdsa_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:665,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:669,1
    - Dst: mbedtls_ecdsa_sign_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:669,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:675,1
    - Dst: ecdsa_signature_to_asn1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:675,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:679,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:678,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 10
    argNames:
    - ctx
    - md_alg
    - hash
    - hlen
    - sig
    - sig_size
    - slen
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecdsa_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    - mbedtls_ecdsa_restart_ctx*
    constantsTouched: []
    func_position:
      end: 682
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 682
    functionName: mbedtls_ecdsa_write_signature_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_sign_det_restartable
    - ecdsa_signature_to_asn1
    - mbedtls_ecdsa_sign_restartable
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecdsa_sign
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_write_signature_restartable(mbedtls_ecdsa_context
      *ctx, mbedtls_md_type_t md_alg, const unsigned char *hash, size_t hlen, unsigned
      char *sig, size_t sig_size, size_t *slen, int (*f_rng)(void *, unsigned char
      *, size_t), void *p_rng, mbedtls_ecdsa_restart_ctx *rs_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:848,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:851,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:855,1
    - Dst: ecdsa_restart_ver_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:850,1
    - Dst: ecdsa_restart_sig_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:854,1
    - Dst: ecdsa_restart_det_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:859,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_ctx*
    constantsTouched: []
    func_position:
      end: 863
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 863
    functionName: mbedtls_ecdsa_restart_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - ecdsa_restart_ver_free
    - mbedtls_ecp_restart_free
    - ecdsa_restart_sig_free
    - mbedtls_free
    - ecdsa_restart_det_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecdsa_restart_free(mbedtls_ecdsa_restart_ctx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:91,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_sig_ctx*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: ecdsa_restart_sig_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_restart_sig_init(mbedtls_ecdsa_restart_sig_ctx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:209,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:209,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:215,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:211,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:211,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:216,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - grp
    - x
    - buf
    - blen
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: derive_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_sub_mpi
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int derive_mpi(const mbedtls_ecp_group *grp, mbedtls_mpi *x,
      const unsigned char *buf, size_t blen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - gid
    argTypes:
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: mbedtls_ecdsa_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_can_do(mbedtls_ecp_group_id gid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:617,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:618,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:617,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:618,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:620,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:620,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:621,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:621,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - r
    - s
    - sig
    - sig_size
    - slen
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 633
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 633
    functionName: ecdsa_signature_to_asn1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_mpi
    - mbedtls_asn1_write_len
    - memcpy
    - mbedtls_asn1_write_tag
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_signature_to_asn1(const mbedtls_mpi *r, const mbedtls_mpi
      *s, unsigned char *sig, size_t sig_size, size_t *slen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:779,1
    - Dst: mbedtls_ecp_gen_keypair
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - gid
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecdsa_context*
    - mbedtls_ecp_group_id
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 786
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 786
    functionName: mbedtls_ecdsa_genkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_gen_keypair
    - mbedtls_ecp_group_load
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_genkey(mbedtls_ecdsa_context *ctx, mbedtls_ecp_group_id
      gid, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecdsa_restart_ctx*
    constantsTouched: []
    func_position:
      end: 837
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 837
    functionName: mbedtls_ecdsa_restart_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecdsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_restart_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecdsa_restart_init(mbedtls_ecdsa_restart_ctx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:29,1
    - Dst: mbedtls_entropy_add_source
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:48,1
    - Dst: mbedtls_entropy_add_source
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:43,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:36,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:32,1
    - Dst: mbedtls_entropy_add_source
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    constantsTouched: []
    func_position:
      end: 59
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 59
    functionName: mbedtls_entropy_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_entropy_add_source
    - mbedtls_mutex_init
    - mbedtls_md_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_entropy_init(mbedtls_entropy_context *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:133,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:133,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:150,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:155,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:151,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:161,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:164,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:167,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - source_id
    - data
    - len
    argTypes:
    - mbedtls_entropy_context*
    - unsigned char
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 170
    functionName: entropy_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md
    - mbedtls_platform_zeroize
    - mbedtls_md_starts
    - mbedtls_md_update
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'static int entropy_update(mbedtls_entropy_context *ctx, unsigned char
      source_id, const unsigned char *data, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: entropy_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:227,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    constantsTouched: []
    func_position:
      end: 243
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 243
    functionName: entropy_gather_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - entropy_update
    linkageType: ''
    returnType: int
    signature: 'static int entropy_gather_internal(mbedtls_entropy_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:253,1
    - Dst: entropy_gather_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:258,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: mbedtls_entropy_gather
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    - entropy_gather_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_gather(mbedtls_entropy_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_func
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:411,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:432,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:424,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:422,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:416,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:435,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - mbedtls_entropy_context*
    - char*
    constantsTouched: []
    func_position:
      end: 439
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 439
    functionName: mbedtls_entropy_write_seed_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - mbedtls_platform_zeroize
    - mbedtls_entropy_func
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_write_seed_file(mbedtls_entropy_context *ctx,
      const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - data
    - output
    - len
    - olen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 494
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 494
    functionName: entropy_dummy_source
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int entropy_dummy_source(void *data, unsigned char *output,
      size_t len, size_t *olen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_hardware_poll
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: mbedtls_entropy_source_self_test_gather
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_hardware_poll
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_entropy_source_self_test_gather(unsigned char *buf,
      size_t buf_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:611,1
    - Dst: mbedtls_entropy_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:614,1
    - Dst: mbedtls_entropy_add_source
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:621,1
    - Dst: mbedtls_entropy_update_manual
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:627,1
    - Dst: mbedtls_entropy_gather
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:617,1
    - Dst: mbedtls_entropy_func
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:640,1
    - Dst: mbedtls_entropy_source_self_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:657,1
    - Dst: mbedtls_entropy_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:663,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:667,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:669,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:672,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 676
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 676
    functionName: mbedtls_entropy_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_entropy_gather
    - mbedtls_entropy_free
    - mbedtls_entropy_add_source
    - mbedtls_entropy_func
    - mbedtls_entropy_source_self_test
    - mbedtls_entropy_init
    - mbedtls_entropy_update_manual
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_self_test(int verbose) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:74,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:76,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: mbedtls_entropy_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_md_free
    - mbedtls_mutex_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_entropy_free(mbedtls_entropy_context *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_update_nv_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:286,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:330,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:293,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:323,1
    - Dst: entropy_gather_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:307,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:337,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:338,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:339,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:340,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:344,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:348,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:373,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:370,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:365,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:356,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:356,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 3
    argNames:
    - data
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 379
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 379
    functionName: mbedtls_entropy_func
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_setup
    - mbedtls_md_free
    - mbedtls_md
    - memcpy
    - mbedtls_mutex_lock
    - mbedtls_md_update
    - entropy_gather_internal
    - mbedtls_platform_zeroize
    - mbedtls_md_init
    - mbedtls_md_starts
    - mbedtls_entropy_update_nv_seed
    - mbedtls_md_finish
    - mbedtls_mutex_unlock
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_func(void *data, unsigned char *output, size_t
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:448,1
    - Dst: ftell
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:456,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:453,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:455,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:457,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:463,1
    - Dst: mbedtls_entropy_update_manual
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:466,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:469,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:471,1
    - Dst: mbedtls_entropy_write_seed_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - mbedtls_entropy_context*
    - char*
    constantsTouched: []
    func_position:
      end: 478
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 478
    functionName: mbedtls_entropy_update_seed_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - fread
    - mbedtls_entropy_write_seed_file
    - mbedtls_platform_zeroize
    - ftell
    - fclose
    - fopen
    - fseek
    - mbedtls_entropy_update_manual
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_update_seed_file(mbedtls_entropy_context *ctx,
      const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 536
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 536
    functionName: mbedtls_entropy_source_self_test_check_bits
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_entropy_source_self_test_check_bits(const unsigned
      char *buf, size_t buf_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:178,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:186,1
    - Dst: entropy_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - mbedtls_entropy_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: mbedtls_entropy_update_manual
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    - entropy_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_update_manual(mbedtls_entropy_context *ctx, const
      unsigned char *data, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:92,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - f_source
    - p_source
    - threshold
    - strong
    argTypes:
    - mbedtls_entropy_context*
    - mbedtls_entropy_f_source_ptr
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: mbedtls_entropy_add_source
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_add_source(mbedtls_entropy_context *ctx, mbedtls_entropy_f_source_ptr
      f_source, void *p_source, size_t threshold, int strong) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:556,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:560,1
    - Dst: mbedtls_entropy_source_self_test_gather
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:562,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:559,1
    - Dst: mbedtls_entropy_source_self_test_gather
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:565,1
    - Dst: mbedtls_entropy_source_self_test_check_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:570,1
    - Dst: mbedtls_entropy_source_self_test_check_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:573,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:579,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:584,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:586,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:589,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 593
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 593
    functionName: mbedtls_entropy_source_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - memcmp
    - mbedtls_entropy_source_self_test_gather
    - mbedtls_entropy_source_self_test_check_bits
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_source_self_test(int verbose) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_func
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:388,1
    - Dst: mbedtls_nv_seed_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:392,1
    - Dst: mbedtls_entropy_update_manual
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:398,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    constantsTouched: []
    func_position:
      end: 401
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 401
    functionName: mbedtls_entropy_update_nv_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy.c
    functionUses: []
    functionsReached:
    - mbedtls_entropy_func
    - mbedtls_nv_seed_write
    - mbedtls_entropy_update_manual
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_entropy_update_nv_seed(mbedtls_entropy_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BCRYPT_SUCCESS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:59,1
    - Dst: BCryptGenRandom
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - data
    - output
    - len
    - olen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: mbedtls_platform_entropy_poll
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c
    functionUses: []
    functionsReached:
    - BCryptGenRandom
    - BCRYPT_SUCCESS
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_entropy_poll(void *data, unsigned char *output,
      size_t len, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: sysctl_arnd_wrapper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c
    functionUses: []
    functionsReached:
    - sysctl
    linkageType: ''
    returnType: int
    signature: 'static int sysctl_arnd_wrapper(unsigned char *buf, size_t buflen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getrandom_wrapper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:158,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:188,1
    - Dst: sysctl_arnd_wrapper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:173,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:182,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:190,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:192,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - data
    - output
    - len
    - olen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 201
    functionName: mbedtls_platform_entropy_poll
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - fread
    - sysctl_arnd_wrapper
    - fopen
    - getrandom_wrapper
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_entropy_poll(void *data, unsigned char *output,
      size_t len, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buflen
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: getrandom_wrapper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c
    functionUses: []
    functionsReached:
    - getrandom
    linkageType: ''
    returnType: int
    signature: 'static int getrandom_wrapper(void *buf, size_t buflen, unsigned int
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __has_feature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:88,1
    - Dst: syscall
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:92,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - buflen
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: getrandom_wrapper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c
    functionUses: []
    functionsReached:
    - __has_feature
    - syscall
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int getrandom_wrapper(void *buf, size_t buflen, unsigned int
      flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:213,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:223,1
    - Dst: mbedtls_nv_seed_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - data
    - output
    - len
    - olen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: mbedtls_nv_seed_poll
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/entropy_poll.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_nv_seed_read
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_nv_seed_poll(void *data, unsigned char *output, size_t
      len, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_dhm_context*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: mbedtls_dhm_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_dhm_init(mbedtls_dhm_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_dhm_context*
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: mbedtls_dhm_get_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_dhm_get_bitlen(const mbedtls_dhm_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_dhm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:682,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:700,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:685,1
    - Dst: mbedtls_dhm_parse_dhm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:688,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:692,1
    - Dst: mbedtls_dhm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 707
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 707
    functionName: mbedtls_dhm_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_dhm_free
    - mbedtls_dhm_init
    - mbedtls_dhm_parse_dhm
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_dhm_context*
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: mbedtls_dhm_get_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_dhm_get_len(const mbedtls_dhm_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dhm_read_bignum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:151,1
    - Dst: dhm_read_bignum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:153,1
    - Dst: dhm_check_range
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:157,1
    - Dst: dhm_read_bignum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - p
    - end
    argTypes:
    - mbedtls_dhm_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: mbedtls_dhm_read_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - dhm_check_range
    - dhm_read_bignum
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_read_params(mbedtls_dhm_context *ctx, unsigned char
      **p, const unsigned char *end) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:185,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:192,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:193,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:193,1
    - Dst: dhm_random_below
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:196,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:208,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:208,1
    - Dst: dhm_check_range
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - x_size
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_dhm_context*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 217
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 217
    functionName: dhm_make_common
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - dhm_check_range
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_fill_random
    - mbedtls_mpi_cmp_int
    - dhm_random_below
    - mbedtls_mpi_size
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int dhm_make_common(mbedtls_dhm_context *ctx, int x_size, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:314,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:330,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:326,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:326,1
    - Dst: dhm_make_common
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - x_size
    - output
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_dhm_context*
    - int
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 333
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 333
    functionName: mbedtls_dhm_make_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - dhm_make_common
    - mbedtls_mpi_write_binary
    - mbedtls_dhm_get_len
    - MBEDTLS_ERROR_ADD
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_make_public(mbedtls_dhm_context *ctx, int x_size,
      unsigned char *output, size_t olen, int (*f_rng)(void *, unsigned char *, size_t),
      void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:463,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:466,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:465,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:464,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:467,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:468,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:469,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:470,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:471,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:472,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_dhm_context*
    constantsTouched: []
    func_position:
      end: 475
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 475
    functionName: mbedtls_dhm_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_dhm_free(mbedtls_dhm_context *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:139,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - param
    - dest
    argTypes:
    - mbedtls_dhm_context*
    - mbedtls_dhm_parameter
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: mbedtls_dhm_get_value
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_get_value(const mbedtls_dhm_context *ctx, mbedtls_dhm_parameter
      param, mbedtls_mpi *dest) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:427,1
    - Dst: dhm_check_range
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:420,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:429,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:445,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:436,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:424,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:428,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:432,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:437,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:442,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:416,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:429,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:436,1
    - Dst: dhm_update_blinding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:427,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:428,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:441,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:437,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:442,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:432,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:448,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 6
    argNames:
    - ctx
    - output
    - output_size
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_dhm_context*
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 452
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 452
    functionName: mbedtls_dhm_calc_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - dhm_check_range
    - mbedtls_mpi_exp_mod
    - dhm_update_blinding
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_write_binary
    - mbedtls_dhm_get_len
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_free
    - MBEDTLS_ERROR_ADD
    - mbedtls_mpi_init
    - mbedtls_mpi_size
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_calc_secret(mbedtls_dhm_context *ctx, unsigned char
      *output, size_t output_size, size_t *olen, int (*f_rng)(void *, unsigned char
      *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:83,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:88,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:85,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:87,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:85,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - param
    - P
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: dhm_check_range
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int dhm_check_range(const mbedtls_mpi *param, const mbedtls_mpi
      *P) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:293,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:298,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_dhm_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: mbedtls_dhm_read_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_read_binary
    - mbedtls_dhm_get_len
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_read_public(mbedtls_dhm_context *ctx, const unsigned
      char *input, size_t ilen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pem_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:492,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:528,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:526,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:498,1
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:534,1
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:535,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:536,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:544,1
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:545,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:546,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:552,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:548,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:562,1
    - Dst: mbedtls_dhm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:565,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 3
    argNames:
    - dhm
    - dhmin
    - dhminlen
    argTypes:
    - mbedtls_dhm_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 569
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 569
    functionName: mbedtls_dhm_parse_dhm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_pem_free
    - mbedtls_dhm_free
    - mbedtls_asn1_get_mpi
    - mbedtls_mpi_init
    - mbedtls_mpi_free
    - mbedtls_pem_init
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_tag
    - mbedtls_pem_read_buffer
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_parse_dhm(mbedtls_dhm_context *dhm, const unsigned
      char *dhmin, size_t dhminlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:632,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:638,1
    - Dst: mbedtls_dhm_parse_dhm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - dhm
    - path
    argTypes:
    - mbedtls_dhm_context*
    - char*
    constantsTouched: []
    func_position:
      end: 641
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 641
    functionName: mbedtls_dhm_parse_dhmfile
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    - load_file
    - mbedtls_dhm_parse_dhm
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_parse_dhmfile(mbedtls_dhm_context *dhm, const char
      *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:50,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:57,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - X
    - p
    - end
    argTypes:
    - mbedtls_mpi*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: dhm_read_bignum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_read_binary
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int dhm_read_bignum(mbedtls_mpi *X, unsigned char **p, const
      unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:172,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:173,1
    - Dst: mbedtls_mpi_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:172,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - R
    - M
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: dhm_random_below
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_random
    - mbedtls_mpi_sub_int
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int dhm_random_below(mbedtls_mpi *R, const mbedtls_mpi *M,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dhm_make_common
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:231,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:252,1
    - Dst: DHM_MPI_EXPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:255,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:250,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:251,1
    - Dst: DHM_MPI_EXPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:256,1
    - Dst: DHM_MPI_EXPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:257,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:263,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 6
    argNames:
    - ctx
    - x_size
    - output
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_dhm_context*
    - int
    - unsigned char*
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 266
    functionName: mbedtls_dhm_make_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_size
    - DHM_MPI_EXPORT
    - dhm_make_common
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_make_params(mbedtls_dhm_context *ctx, int x_size,
      unsigned char *output, size_t *olen, int (*f_rng)(void *, unsigned char *, size_t),
      void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:277,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:279,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - P
    - G
    argTypes:
    - mbedtls_dhm_context*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: mbedtls_dhm_set_group
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_copy
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_dhm_set_group(mbedtls_dhm_context *ctx, const mbedtls_mpi
      *P, const mbedtls_mpi *G) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:354,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:357,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:367,1
    - Dst: dhm_random_below
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:381,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:386,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:387,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:388,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:389,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:396,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:355,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:356,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:370,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:368,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:371,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:390,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:391,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:393,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:357,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:381,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:367,1
    - Dst: dhm_random_below
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:386,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:387,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:388,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:389,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:348,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:356,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:355,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:366,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:371,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:370,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:368,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:390,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:391,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_dhm_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 399
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 399
    functionName: dhm_update_blinding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_inv_mod
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_lset
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - dhm_random_below
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'static int dhm_update_blinding(mbedtls_dhm_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:584,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:594,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:591,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:589,1
    - Dst: ftell
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:590,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:599,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:600,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:604,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:605,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:607,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:616,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c:612,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - path
    - buf
    - n
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 621
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 621
    functionName: load_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/dhm.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - fread
    - strstr
    - ftell
    - fopen
    - mbedtls_zeroize_and_free
    - fseek
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int load_file(const char *path, unsigned char **buf, size_t
      *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - list
    - oid
    - len
    argTypes:
    - mbedtls_asn1_named_data*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 465
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 465
    functionName: mbedtls_asn1_find_named_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: mbedtls_asn1_named_data*
    signature: 'const mbedtls_asn1_named_data *mbedtls_asn1_find_named_data(const
      mbedtls_asn1_named_data *list, const char *oid, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - p
    - end
    - len
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: mbedtls_asn1_get_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_len(unsigned char **p, const unsigned char *end,
      size_t *len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:232,1
    - Dst: cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:254,1
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:248,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 8
    argNames:
    - p
    - end
    - tag_must_mask
    - tag_must_val
    - tag_may_mask
    - tag_may_val
    - (*cb)
    - ctx
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char
    - unsigned char
    - unsigned char
    - unsigned char
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 265
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 265
    functionName: mbedtls_asn1_traverse_sequence_of
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_len
    - mbedtls_asn1_get_tag
    - cb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_traverse_sequence_of( unsigned char **p, const unsigned
      char *end, unsigned char tag_must_mask, unsigned char tag_must_val, unsigned
      char tag_may_mask, unsigned char tag_may_val, int (*cb)(void *ctx, int tag,
      unsigned char *start, size_t len), void *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - p
    - end
    - len
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 290
    functionName: mbedtls_asn1_get_bitstring_null
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_bitstring_null(unsigned char **p, const unsigned
      char *end, size_t *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:438,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:439,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - head
    argTypes:
    - mbedtls_asn1_named_data**
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: mbedtls_asn1_free_named_data_list
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_asn1_free_named_data_list(mbedtls_asn1_named_data **head) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - p
    - end
    - len
    - tag
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: mbedtls_asn1_get_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_len
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_tag(unsigned char **p, const unsigned char *end,
      size_t *len, int tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - seq
    argTypes:
    - mbedtls_asn1_sequence*
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: mbedtls_asn1_sequence_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_asn1_sequence_free(mbedtls_asn1_sequence *seq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - tag
    - start
    - len
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 333
    functionName: asn1_get_sequence_of_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    linkageType: ''
    returnType: int
    signature: 'static int asn1_get_sequence_of_cb(void *ctx, int tag, unsigned char
      *start, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - mbedtls_asn1_named_data*
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: mbedtls_asn1_free_named_data_list_shallow
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_asn1_free_named_data_list_shallow(mbedtls_asn1_named_data
      *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - p
    - end
    - bs
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_bitstring*
    constantsTouched: []
    func_position:
      end: 213
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 213
    functionName: mbedtls_asn1_get_bitstring
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_bitstring(unsigned char **p, const unsigned char
      *end, mbedtls_asn1_bitstring *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_tagged_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - p
    - end
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: mbedtls_asn1_get_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - asn1_get_tagged_int
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_int(unsigned char **p, const unsigned char *end,
      int *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:425,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:426,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cur
    argTypes:
    - mbedtls_asn1_named_data*
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: mbedtls_asn1_free_named_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_asn1_free_named_data(mbedtls_asn1_named_data *cur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:169,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - p
    - end
    - X
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: mbedtls_asn1_get_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_read_binary
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_mpi(unsigned char **p, const unsigned char *end,
      mbedtls_mpi *X) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - p
    - end
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: mbedtls_asn1_get_bool
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_bool(unsigned char **p, const unsigned char *end,
      int *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_tagged_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - p
    - end
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: mbedtls_asn1_get_enum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - asn1_get_tagged_int
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_enum(unsigned char **p, const unsigned char *end,
      int *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:344,1
    - Dst: mbedtls_asn1_traverse_sequence_of
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - p
    - end
    - cur
    - tag
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_sequence*
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: mbedtls_asn1_get_sequence_of
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_traverse_sequence_of
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_sequence_of(unsigned char **p, const unsigned
      char *end, mbedtls_asn1_sequence *cur, int tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:405,1
    - Dst: mbedtls_asn1_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - p
    - end
    - alg
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_buf*
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: mbedtls_asn1_get_alg_null
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_alg
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_alg_null(unsigned char **p, const unsigned char
      *end, mbedtls_asn1_buf *alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - p
    - end
    - tag
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 145
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 145
    functionName: asn1_get_tagged_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'static int asn1_get_tagged_int(unsigned char **p, const unsigned char
      *end, int tag, int *val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:357,1
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:384,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:369,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c:377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - p
    - end
    - alg
    - params
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_buf*
    - mbedtls_asn1_buf*
    constantsTouched: []
    func_position:
      end: 396
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 396
    functionName: mbedtls_asn1_get_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1parse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_len
    - mbedtls_asn1_get_tag
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_get_alg(unsigned char **p, const unsigned char *end,
      mbedtls_asn1_buf *alg, mbedtls_asn1_buf *params) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: slice_index_of_volatile_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:274,1
    - Dst: slot_index_of_volatile_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:278,1
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 287
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 287
    functionName: get_volatile_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - key_slice_length
    - slice_index_of_volatile_key_id
    - slot_index_of_volatile_key_id
    linkageType: ''
    returnType: psa_key_slot_t*
    signature: 'static inline psa_key_slot_t *get_volatile_key_slot(psa_key_id_t key_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:931,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:931,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:936,1
    - Dst: psa_unregister_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:934,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 940
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 940
    functionName: psa_unregister_read_under_mutex
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_unregister_read
    - PSA_THREADING_CHK_RET
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_unregister_read_under_mutex(psa_key_slot_t *slot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:969,1
    - Dst: PSA_KEY_LIFETIME_IS_READ_ONLY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - lifetime
    argTypes:
    - psa_key_lifetime_t
    constantsTouched: []
    func_position:
      end: 984
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 984
    functionName: psa_validate_key_persistence
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_IS_READ_ONLY
    - PSA_KEY_LIFETIME_IS_VOLATILE
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_validate_key_persistence(psa_key_lifetime_t lifetime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_hook_psa_volatile_key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - slice_idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: key_slice_length
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - mbedtls_test_hook_psa_volatile_key_slice_length
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t key_slice_length(size_t slice_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - slot_idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: get_persistent_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_slot_t*
    signature: 'static inline psa_key_slot_t *get_persistent_key_slot(size_t slot_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - slice_idx
    - slot_idx
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: get_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_slot_t*
    signature: 'static inline psa_key_slot_t *get_key_slot(size_t slice_idx, size_t
      slot_idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_lifetime_is_external
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:945,1
    - Dst: psa_get_se_driver_entry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:948,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - lifetime
    - p_drv
    argTypes:
    - psa_key_lifetime_t
    - psa_se_drv_table_entry_t**
    constantsTouched: []
    func_position:
      end: 965
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 965
    functionName: psa_validate_key_location
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_get_se_driver_entry
    - psa_key_lifetime_is_external
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_validate_key_location(psa_key_lifetime_t lifetime,
      psa_se_drv_table_entry_t **p_drv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:993,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - key
    - handle
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_handle_t*
    constantsTouched: []
    func_position:
      end: 1012
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1012
    functionName: psa_open_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_get_and_lock_key_slot
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_open_key(mbedtls_svc_key_id_t key, psa_key_handle_t
      *handle) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1092,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1109,1
    - Dst: psa_key_slot_has_readers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1106,1
    - Dst: get_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1101,1
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1100,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1112,1
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1118,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - stats
    argTypes:
    - mbedtls_psa_stats_t*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1128
    functionName: mbedtls_psa_get_stats
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - psa_key_slot_has_readers
    - PSA_KEY_LIFETIME_GET_LOCATION
    - get_key_slot
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - key_slice_length
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_psa_get_stats(mbedtls_psa_stats_t *stats) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: psa_key_slot_volatile_slice_count
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t psa_key_slot_volatile_slice_count(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_load_persistent_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:687,1
    - Dst: psa_copy_key_material_into_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:706,1
    - Dst: psa_free_persistent_key_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:718,1
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:698,1
    - Dst: psa_copy_key_material_into_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:712,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 720
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 720
    functionName: psa_load_persistent_key_into_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_load_persistent_key
    - psa_get_se_driver
    - psa_copy_key_material_into_slot
    - psa_free_persistent_key_data
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_load_persistent_key_into_slot(psa_key_slot_t
      *slot) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_id_is_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:734,1
    - Dst: mbedtls_psa_platform_get_builtin_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:740,1
    - Dst: psa_set_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:748,1
    - Dst: psa_set_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:749,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:735,1
    - Dst: psa_driver_wrapper_get_builtin_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:753,1
    - Dst: psa_driver_wrapper_get_key_buffer_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:766,1
    - Dst: psa_allocate_buffer_to_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:774,1
    - Dst: psa_driver_wrapper_get_builtin_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:779,1
    - Dst: psa_remove_key_data_from_memory
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:791,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 794
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 794
    functionName: psa_load_builtin_key_into_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - psa_allocate_buffer_to_slot
    - psa_driver_wrapper_get_key_buffer_size
    - psa_set_key_lifetime
    - psa_key_id_is_builtin
    - psa_driver_wrapper_get_builtin_key
    - psa_remove_key_data_from_memory
    - psa_set_key_id
    - mbedtls_psa_platform_get_builtin_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_load_builtin_key_into_slot(psa_key_slot_t
      *slot) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:386,1
    - Dst: psa_is_valid_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:403,1
    - Dst: get_volatile_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:391,1
    - Dst: psa_key_id_is_volatile
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:390,1
    - Dst: mbedtls_svc_key_id_equal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:397,1
    - Dst: get_persistent_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:408,1
    - Dst: mbedtls_svc_key_id_equal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:411,1
    - Dst: psa_register_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:420,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - key
    - p_slot
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_slot_t**
    constantsTouched: []
    func_position:
      end: 427
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 427
    functionName: psa_get_and_lock_key_slot_in_memory
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - psa_key_id_is_volatile
    - get_volatile_key_slot
    - mbedtls_svc_key_id_equal
    - psa_is_valid_key_id
    - psa_register_read
    - get_persistent_key_slot
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_get_and_lock_key_slot_in_memory( mbedtls_svc_key_id_t
      key, psa_key_slot_t **p_slot) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_slots_initialized
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:601,1
    - Dst: psa_key_slot_has_readers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:626,1
    - Dst: psa_allocate_volatile_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:608,1
    - Dst: get_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:618,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:627,1
    - Dst: psa_register_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:642,1
    - Dst: psa_wipe_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:643,1
    - Dst: psa_key_slot_state_transition
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:650,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - volatile_key_id
    - p_slot
    argTypes:
    - psa_key_id_t*
    - psa_key_slot_t**
    constantsTouched: []
    func_position:
      end: 678
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 678
    functionName: psa_reserve_free_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_key_slot_has_readers
    - psa_key_slot_state_transition
    - get_key_slot
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - psa_get_key_slots_initialized
    - psa_register_read
    - psa_wipe_key_slot
    - psa_allocate_volatile_key_slot
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_reserve_free_key_slot(psa_key_id_t *volatile_key_id,
      psa_key_slot_t **p_slot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: slot_index_of_volatile_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t slot_index_of_volatile_key_id(psa_key_id_t key_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - key
    - vendor_ok
    argTypes:
    - mbedtls_svc_key_id_t
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 346
    functionName: psa_is_valid_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    linkageType: ''
    returnType: int
    signature: 'int psa_is_valid_key_id(mbedtls_svc_key_id_t key, int vendor_ok) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - slice_idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: key_slice_length
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t key_slice_length(size_t slice_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: psa_initialize_key_slots
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_initialize_key_slots(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_handle_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1019,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1027,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1036,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1027,1
    - Dst: psa_get_and_lock_key_slot_in_memory
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1030,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1036,1
    - Dst: psa_wipe_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1043,1
    - Dst: psa_unregister_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1045,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1048,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1048,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - handle
    argTypes:
    - psa_key_handle_t
    constantsTouched: []
    func_position:
      end: 1053
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1053
    functionName: psa_close_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_get_and_lock_key_slot_in_memory
    - PSA_THREADING_CHK_RET
    - mbedtls_mutex_lock
    - psa_unregister_read
    - psa_wipe_key_slot
    - psa_key_handle_is_null
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_close_key(psa_key_handle_t handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:309,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: get_volatile_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - MBEDTLS_STATIC_ASSERT
    - ARRAY_LENGTH
    linkageType: ''
    returnType: psa_key_slot_t*
    signature: 'static inline psa_key_slot_t *get_volatile_key_slot(psa_key_id_t key_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - slot_idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: get_persistent_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_slot_t*
    signature: 'static inline psa_key_slot_t *get_persistent_key_slot(size_t slot_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:458,1
    - Dst: psa_wipe_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:480,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:483,1
    - Dst: get_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 496
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 496
    functionName: psa_wipe_all_key_slots
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - psa_wipe_key_slot
    - get_key_slot
    - key_slice_length
    linkageType: ''
    returnType: void
    signature: 'void psa_wipe_all_key_slots(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1064,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1064,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1070,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1070,1
    - Dst: psa_get_and_lock_key_slot_in_memory
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1067,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1076,1
    - Dst: psa_wipe_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1078,1
    - Dst: psa_unregister_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1080,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1083,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 1088
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1088
    functionName: psa_purge_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_get_and_lock_key_slot_in_memory
    - PSA_THREADING_CHK_RET
    - mbedtls_mutex_lock
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - psa_unregister_read
    - psa_wipe_key_slot
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_purge_key(mbedtls_svc_key_id_t key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:199,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: psa_get_key_slots_initialized
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t psa_get_key_slots_initialized(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: slice_index_of_volatile_key_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t slice_index_of_volatile_key_id(psa_key_id_t key_id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:515,1
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:515,1
    - Dst: volatile_key_id_of_index
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:524,1
    - Dst: psa_key_slot_state_transition
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:536,1
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:528,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - key_id
    - p_slot
    argTypes:
    - psa_key_id_t*
    - psa_key_slot_t**
    constantsTouched: []
    func_position:
      end: 552
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 552
    functionName: psa_allocate_volatile_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - key_slice_length
    - volatile_key_id_of_index
    - psa_key_slot_state_transition
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_allocate_volatile_key_slot(psa_key_id_t *key_id,
      psa_key_slot_t **p_slot) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_slots_initialized
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:803,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:815,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:825,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:815,1
    - Dst: psa_get_and_lock_key_slot_in_memory
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:822,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:825,1
    - Dst: psa_reserve_free_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:835,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:838,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:838,1
    - Dst: psa_load_builtin_key_into_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:850,1
    - Dst: psa_load_persistent_key_into_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:855,1
    - Dst: psa_wipe_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:860,1
    - Dst: psa_register_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:873,1
    - Dst: psa_key_slot_state_transition
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:871,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:884,1
    - Dst: psa_extend_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:869,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:884,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - key
    - p_slot
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_slot_t**
    constantsTouched: []
    func_position:
      end: 888
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 888
    functionName: psa_get_and_lock_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_key_slot_state_transition
    - psa_get_and_lock_key_slot_in_memory
    - psa_reserve_free_key_slot
    - psa_load_persistent_key_into_slot
    - PSA_THREADING_CHK_RET
    - mbedtls_mutex_lock
    - psa_get_key_slots_initialized
    - psa_register_read
    - psa_load_builtin_key_into_slot
    - psa_wipe_key_slot
    - psa_extend_key_usage_flags
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_get_and_lock_key_slot(mbedtls_svc_key_id_t key, psa_key_slot_t
      **p_slot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - slice_idx
    - slot_idx
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: get_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_slot_t*
    signature: 'static inline psa_key_slot_t *get_key_slot(size_t slice_idx, size_t
      slot_idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:568,1
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:584,1
    - Dst: key_slice_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:581,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - slice_idx
    - slot
    argTypes:
    - size_t
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 591
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 591
    functionName: psa_free_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - key_slice_length
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_free_key_slot(size_t slice_idx, psa_key_slot_t *slot) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_wipe_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:904,1
    - Dst: psa_key_slot_has_readers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:907,1
    - Dst: MBEDTLS_TEST_HOOK_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:920,1
    - Dst: psa_key_slot_has_readers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c:920,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 922
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 922
    functionName: psa_unregister_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached:
    - psa_wipe_key_slot
    - MBEDTLS_TEST_HOOK_TEST_ASSERT
    - psa_key_slot_has_readers
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_unregister_read(psa_key_slot_t *slot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - slice_idx
    - slot_idx
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: volatile_key_id_of_index
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_id_t
    signature: 'static psa_key_id_t volatile_key_id_of_index(size_t slice_idx, size_t
      slot_idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:63,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:64,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:71,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - ssl
    - hs_type
    - buf
    - buf_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 90
    functionName: mbedtls_ssl_tls13_fetch_handshake_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_fetch_handshake_msg(mbedtls_ssl_context *ssl,
      unsigned hs_type, unsigned char **buf, size_t *buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:706,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:712,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:717,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:712,1
    - Dst: mbedtls_ssl_tls13_parse_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:717,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:720,1
    - Dst: ssl_tls13_validate_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:720,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:722,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:722,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 732
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 732
    functionName: mbedtls_ssl_tls13_process_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_parse_certificate
    - ssl_tls13_validate_certificate
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_process_certificate(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_calculate_verify_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1067,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1080
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1080
    functionName: ssl_tls13_preprocess_finished_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_calculate_verify_data
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_preprocess_finished_message(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1130,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1132,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1136,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1132,1
    - Dst: ssl_tls13_preprocess_finished_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1136,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1138,1
    - Dst: ssl_tls13_parse_finished_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1138,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1141,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1141,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1148
    functionName: mbedtls_ssl_tls13_process_finished_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PROC_CHK
    - mbedtls_ssl_add_hs_msg_to_checksum
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_parse_finished_message
    - ssl_tls13_preprocess_finished_message
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_process_finished_message(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:118,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:130,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:123,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:131,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:119,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:132,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - supported_versions_data
    - supported_versions_data_end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - unsigned char**
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 145
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 145
    functionName: mbedtls_ssl_tls13_is_supported_versions_ext_present_in_exts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_GET_UINT16_BE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_is_supported_versions_ext_present_in_exts( mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end, const unsigned char
      **supported_versions_data, const unsigned char **supported_versions_data_end) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_sig_alg_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:269,1
    - Dst: mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:277,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:293,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:301,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:271,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:310,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:330,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:282,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:287,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:294,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:303,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:299,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:338,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:249,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:250,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:298,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:314,1
    - Dst: mbedtls_pk_verify_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:324,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:319,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - verify_buffer
    - verify_buffer_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 342
    functionName: ssl_tls13_parse_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_pk_verify_ext
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_pk_can_do
    - mbedtls_ssl_sig_alg_is_offered
    - psa_hash_compute
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg
    - mbedtls_md_psa_alg_from_type
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_certificate_verify(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end, const unsigned char
      *verify_buffer, size_t verify_buffer_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1098,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1108,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1105,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1100,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1112,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1115,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1122
    functionName: ssl_tls13_parse_finished_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ct_memcmp
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_finished_message(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1551,1
    - Dst: mbedtls_ssl_get_psa_ffdh_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1561,1
    - Dst: mbedtls_ssl_get_psa_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1555,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1571,1
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1578,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1579,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1580,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1581,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1582,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1585,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1595,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1601,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1588,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1600,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1589,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - ssl
    - named_group
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1608
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1608
    functionName: mbedtls_ssl_tls13_generate_and_write_xxdh_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - psa_key_attributes_init
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_BITS_TO_BYTES
    - psa_set_key_algorithm
    - mbedtls_ssl_get_psa_ffdh_info_from_tls_id
    - psa_set_key_bits
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_psa_curve_info_from_tls_id
    - psa_export_public_key
    - psa_generate_key
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_generate_and_write_xxdh_key_exchange( mbedtls_ssl_context
      *ssl, uint16_t named_group, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:199,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:205,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:204,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:207,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:203,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:208,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:209,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - transcript_hash
    - transcript_hash_len
    - verify_buffer
    - verify_buffer_len
    - from
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 218
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 218
    functionName: ssl_tls13_create_verify_structure
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - memcpy
    - MBEDTLS_SSL_TLS1_3_LBL_LEN
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ssl_tls13_create_verify_structure(const unsigned char
      *transcript_hash, size_t transcript_hash_len, unsigned char *verify_buffer,
      size_t *verify_buffer_len, int from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:41,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:46,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: mbedtls_ssl_tls13_crypto_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - psa_crypto_init
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_crypto_init(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:357,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:373,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:367,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:359,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:360,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:379,1
    - Dst: ssl_tls13_create_verify_structure
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:382,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:391,1
    - Dst: ssl_tls13_parse_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:391,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:395,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:395,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:406,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:401,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 409
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 409
    functionName: mbedtls_ssl_tls13_process_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - ssl_tls13_parse_certificate_verify
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_SSL_PROC_CHK
    - ssl_tls13_create_verify_structure
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_handshake_transcript
    - mbedtls_ssl_add_hs_msg_to_checksum
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_process_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1272
    functionName: ssl_tls13_write_change_cipher_spec_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_change_cipher_spec_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1278,1
    - Dst: mbedtls_ssl_write_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1295,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1287,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1295,1
    - Dst: ssl_tls13_write_change_cipher_spec_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1287,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1303
    functionName: mbedtls_ssl_tls13_write_change_cipher_spec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_write_record
    - MBEDTLS_SSL_PROC_CHK
    - ssl_tls13_write_change_cipher_spec_body
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_change_cipher_spec(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_calculate_verify_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1165,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1178
    functionName: ssl_tls13_prepare_finished_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_calculate_verify_data
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_prepare_finished_message(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1426,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1444,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1428,1
    - Dst: mbedtls_ssl_reset_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1448,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1433,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1450,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1460
    functionName: mbedtls_ssl_reset_transcript_for_hrr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_reset_checksum
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_handshake_transcript
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_reset_transcript_for_hrr(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:33,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 699
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 699
    functionName: ssl_tls13_validate_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_validate_certificate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1192,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1199
    functionName: ssl_tls13_write_finished_message_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - memcpy
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_finished_message_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1473,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1478,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1474,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1487,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - buf
    - buf_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1491
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1491
    functionName: mbedtls_ssl_tls13_read_public_xxdhe_share
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - MBEDTLS_GET_UINT16_BE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_read_public_xxdhe_share(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t buf_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_extension_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1624,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1633,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1627,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1631,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1658,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1660,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - ssl
    - hs_msg_type
    - received_extension_type
    - hs_msg_allowed_extensions_mask
    argTypes:
    - mbedtls_ssl_context*
    - int
    - unsigned int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1664
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1664
    functionName: mbedtls_ssl_tls13_check_received_extension
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_extension_mask
    - MBEDTLS_SSL_PRINT_EXT
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_check_received_extension( mbedtls_ssl_context
      *ssl, int hs_msg_type, unsigned int received_extension_type, uint32_t hs_msg_allowed_extensions_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1232,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1237,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1234,1
    - Dst: mbedtls_ssl_set_inbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1235,1
    - Dst: mbedtls_ssl_set_outbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1238,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1244,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1245,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1251
    functionName: mbedtls_ssl_tls13_handshake_wrapup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_outbound_transform
    - mbedtls_free
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_session_free
    - mbedtls_ssl_set_inbound_transform
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_tls13_handshake_wrapup(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1382,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - early_data_len
    argTypes:
    - mbedtls_ssl_context*
    - size_t
    constantsTouched: []
    func_position:
      end: 1403
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1403
    functionName: mbedtls_ssl_tls13_check_early_data_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_check_early_data_len(mbedtls_ssl_context *ssl,
      size_t early_data_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1501,1
    - Dst: PSA_KEY_TYPE_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1507,1
    - Dst: PSA_KEY_TYPE_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1525,1
    - Dst: PSA_KEY_TYPE_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1519,1
    - Dst: PSA_KEY_TYPE_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - tls_id
    - bits
    - key_type
    argTypes:
    - uint16_t
    - size_t*
    - psa_key_type_t*
    constantsTouched: []
    func_position:
      end: 1531
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1531
    functionName: mbedtls_ssl_get_psa_ffdh_info_from_tls_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_DH_KEY_PAIR
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_ssl_get_psa_ffdh_info_from_tls_id( uint16_t
      tls_id, size_t *bits, psa_key_type_t *key_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:764,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:792,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:780,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:788,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:777,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:797,1
    - Dst: MBEDTLS_PUT_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:798,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:801,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:808,1
    - Dst: MBEDTLS_PUT_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:812,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:817,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 821
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 821
    functionName: ssl_tls13_write_certificate_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_CRT
    - mbedtls_ssl_own_cert
    - MBEDTLS_SSL_PRINT_EXTS
    - memcpy
    - MBEDTLS_PUT_UINT24_BE
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_certificate_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_sig_from_pk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:856,1
    - Dst: mbedtls_pk_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:857,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 9
    argCount: 2
    argNames:
    - sig_alg
    - key
    argTypes:
    - uint16_t
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 895
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 895
    functionName: mbedtls_ssl_tls13_check_sig_alg_cert_key_match
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_sig_from_pk
    - mbedtls_pk_get_bitlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_check_sig_alg_cert_key_match(uint16_t sig_alg,
      mbedtls_pk_context *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1335,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1343,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1342,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1337,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1338,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - ssl
    - in_new_session_ticket
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - int
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1354
    functionName: mbedtls_ssl_tls13_write_early_data_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_PUT_UINT32_BE
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_early_data_ext(mbedtls_ssl_context *ssl,
      int in_new_session_ticket, unsigned char *buf, const unsigned char *end, size_t
      *out_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1685,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1697,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1690,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1696,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1699,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1708,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1719
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1719
    functionName: mbedtls_ssl_tls13_parse_record_size_limit_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_tls13_parse_record_size_limit_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:470,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:498,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:500,1
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:507,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:556,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:557,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:574,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:575,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:579,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:607,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:576,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:612,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:493,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:506,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:523,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:537,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:543,1
    - Dst: mbedtls_ssl_tls13_check_received_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:581,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:606,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:460,1
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:462,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:471,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:478,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:479,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:517,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:535,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:516,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:541,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:549,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:490,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:491,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:522,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:547,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:590,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:599,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:559,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 616
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 616
    functionName: mbedtls_ssl_tls13_parse_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_calloc
    - mbedtls_x509_crt_parse_der
    - MBEDTLS_SSL_PRINT_EXT
    - MBEDTLS_SSL_DEBUG_CRT
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_free
    - mbedtls_ssl_tls13_check_received_extension
    - MBEDTLS_SSL_PRINT_EXTS
    - MBEDTLS_GET_UINT24_BE
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_x509_crt_init
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_parse_certificate(mbedtls_ssl_context *ssl,
      const unsigned char *buf, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: mbedtls_ssl_tls13_parse_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_parse_certificate(mbedtls_ssl_context *ssl,
      const unsigned char *buf, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:829,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:834,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:831,1
    - Dst: ssl_tls13_write_certificate_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:834,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:831,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:839,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:839,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:842,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:842,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 848
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 848
    functionName: mbedtls_ssl_tls13_write_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - ssl_tls13_write_certificate_body
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_certificate(mbedtls_ssl_context *ssl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:930,1
    - Dst: mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:969,1
    - Dst: mbedtls_ssl_own_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:917,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:919,1
    - Dst: mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:961,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:975,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:985,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:993,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:976,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:991,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:992,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1010,1
    - Dst: ssl_tls13_create_verify_structure
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:934,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:947,1
    - Dst: mbedtls_ssl_sig_alg_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:957,1
    - Dst: mbedtls_ssl_tls13_check_sig_alg_cert_key_match
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:965,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:982,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:923,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1003,1
    - Dst: mbedtls_pk_sign_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:987,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1004,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1016,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1017,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1011,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1022
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 1022
    functionName: ssl_tls13_write_certificate_verify_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_sig_alg_to_str
    - psa_hash_compute
    - mbedtls_ssl_sig_alg_is_offered
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - ssl_tls13_create_verify_structure
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_check_sig_alg_cert_key_match
    - mbedtls_pk_sign_ext
    - mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported
    - mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg
    - mbedtls_ssl_own_key
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_ssl_get_handshake_transcript
    - mbedtls_md_psa_alg_from_type
    - MBEDTLS_SSL_CHK_BUF_PTR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_certificate_verify_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1030,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1036,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1032,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1032,1
    - Dst: ssl_tls13_write_certificate_verify_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1036,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1039,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1039,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1043,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1043,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1050
    functionName: mbedtls_ssl_tls13_write_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - ssl_tls13_write_certificate_verify_body
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1730,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1739,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1734,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1737,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1736,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1743,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1749
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1749
    functionName: mbedtls_ssl_tls13_write_record_size_limit_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_STATIC_ASSERT
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_tls13_write_record_size_limit_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *out_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:655,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:667,1
    - Dst: mbedtls_ssl_verify_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:689,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 692
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 692
    functionName: ssl_tls13_validate_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_verify_certificate
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_validate_certificate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1208,1
    - Dst: ssl_tls13_prepare_finished_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1210,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1212,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1210,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1212,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1215,1
    - Dst: ssl_tls13_write_finished_message_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1215,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1218,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1218,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1221,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1225,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c:1221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1227
    functionName: mbedtls_ssl_tls13_write_finished_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_generic.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_prepare_finished_message
    - ssl_tls13_write_finished_message_body
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_finished_message(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ripemd160_context*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: mbedtls_ripemd160_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ripemd160_init(mbedtls_ripemd160_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ripemd160_context*
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: mbedtls_ripemd160_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ripemd160_starts(mbedtls_ripemd160_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:79,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:126,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:138,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:153,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:178,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:205,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:190,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:230,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:88,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:86,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:133,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:185,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:237,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:165,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:180,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:77,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:128,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:140,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:232,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:160,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:187,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:212,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:84,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:135,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:227,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:75,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:130,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:155,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:182,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:207,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:82,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:162,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:177,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:202,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:214,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:239,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:157,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:209,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:234,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:80,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:137,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:152,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:189,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:204,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:229,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:241,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:255,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:89,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:87,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:132,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:184,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:236,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:179,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:78,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:127,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:139,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:154,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:191,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:164,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:216,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:231,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:186,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:211,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:85,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:134,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:159,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:226,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:238,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:166,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:181,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:206,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:76,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:129,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:233,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:83,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:161,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:176,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:213,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:201,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:228,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:141,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:156,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:208,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:163,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:81,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:136,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:151,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:188,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:203,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:215,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:240,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:90,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:131,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:158,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:183,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:210,1
    - Dst: P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 140
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_ripemd160_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 258
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 258
    functionName: mbedtls_internal_ripemd160_process
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - P2
    - MBEDTLS_GET_UINT32_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_ripemd160_process(mbedtls_ripemd160_context *ctx,
      const unsigned char data[64]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:288,1
    - Dst: mbedtls_internal_ripemd160_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:290,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:309,1
    - Dst: mbedtls_internal_ripemd160_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:300,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_ripemd160_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 313
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 313
    functionName: mbedtls_ripemd160_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_internal_ripemd160_process
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ripemd160_update(mbedtls_ripemd160_context *ctx, const
      unsigned char *input, size_t ilen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ripemd160_context*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: mbedtls_ripemd160_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ripemd160_free(mbedtls_ripemd160_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_ripemd160_context*
    - mbedtls_ripemd160_context*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: mbedtls_ripemd160_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ripemd160_clone(mbedtls_ripemd160_context *dst, const
      mbedtls_ripemd160_context *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ripemd160_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:379,1
    - Dst: mbedtls_ripemd160_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:381,1
    - Dst: mbedtls_ripemd160_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:385,1
    - Dst: mbedtls_ripemd160_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:389,1
    - Dst: mbedtls_ripemd160_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - input
    - ilen
    - output
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: mbedtls_ripemd160
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached:
    - mbedtls_ripemd160_starts
    - mbedtls_ripemd160_free
    - mbedtls_ripemd160_finish
    - mbedtls_ripemd160_init
    - mbedtls_ripemd160_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ripemd160(const unsigned char *input, size_t ilen, unsigned
      char output[20]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:338,1
    - Dst: mbedtls_ripemd160_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:344,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:354,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:339,1
    - Dst: mbedtls_ripemd160_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:349,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:355,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:356,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:357,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:358,1
    - Dst: mbedtls_ripemd160_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_ripemd160_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 365
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 365
    functionName: mbedtls_ripemd160_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached:
    - mbedtls_ripemd160_free
    - mbedtls_ripemd160_update
    - MBEDTLS_PUT_UINT32_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ripemd160_finish(mbedtls_ripemd160_context *ctx, unsigned
      char output[20]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:450,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:469,1
    - Dst: mbedtls_ripemd160
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:457,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:454,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:463,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:474,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 485
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 485
    functionName: mbedtls_ripemd160_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ripemd160.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ripemd160
    - memcmp
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ripemd160_self_test(int verbose) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ECDSA_SIGNATURE_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:546,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:556,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:556,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:558,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:557,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:560,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:562,1
    - Dst: mbedtls_ecdsa_der_to_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:572,1
    - Dst: psa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:583,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:586,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:595,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:593,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 8
    argNames:
    - key
    - key_len
    - curve
    - curve_bits
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - unsigned char*
    - size_t
    - psa_ecc_family_t
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 599
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 599
    functionName: ecdsa_verify_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_verify_hash
    - psa_set_key_type
    - PSA_KEY_TYPE_ECC_PUBLIC_KEY
    - psa_import_key
    - psa_destroy_key
    - psa_set_key_algorithm
    - PSA_ECDSA_SIGNATURE_SIZE
    - mbedtls_ecdsa_der_to_raw
    - PSA_PK_ECDSA_TO_MBEDTLS_ERR
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_verify_psa(unsigned char *key, size_t key_len, psa_ecc_family_t
      curve, size_t curve_bits, const unsigned char *hash, size_t hash_len, const
      unsigned char *sig, size_t sig_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_read_signature_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 7
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    - rs_ctx
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1204
    functionName: ecdsa_verify_rs_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_read_signature_restartable
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_verify_rs_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len, void *rs_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1367,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1374
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1374
    functionName: rsa_alt_alloc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_alt_alloc_wrap(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:614,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:619,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:618,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:616,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:618,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:620,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:622,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:624,1
    - Dst: ecdsa_verify_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 629
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 629
    functionName: ecdsa_opaque_verify_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - ecdsa_verify_psa
    - psa_get_key_type
    - psa_get_key_bits
    - psa_get_key_attributes
    - psa_export_public_key
    - psa_reset_key_attributes
    - PSA_PK_ECDSA_TO_MBEDTLS_ERR
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_opaque_verify_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:849,1
    - Dst: mbedtls_ecdsa_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:853,1
    - Dst: mbedtls_ecdsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 858
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 858
    functionName: eckey_rs_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_restart_init
    - mbedtls_calloc
    - mbedtls_ecdsa_init
    linkageType: ''
    returnType: void*
    signature: 'static void *eckey_rs_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_write_signature_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 10
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1217
    functionName: ecdsa_sign_rs_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_write_signature_restartable
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sign_rs_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng, void *rs_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 9
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1313
    functionName: rsa_alt_sign_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rsa_alt_sign_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:181,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:195,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:189,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:187,1
    - Dst: mbedtls_rsa_write_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:193,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:198,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:199,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:200,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:202,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:206,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:222,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:212,1
    - Dst: psa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:209,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:220,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 7
    argNames:
    - alg
    - rsa_ctx
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    argTypes:
    - psa_algorithm_t
    - mbedtls_rsa_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 225
    functionName: mbedtls_pk_psa_rsa_sign_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - psa_set_key_usage_flags
    - mbedtls_rsa_write_key
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - psa_set_key_type
    - psa_import_key
    - mbedtls_free
    - psa_destroy_key
    - psa_set_key_algorithm
    - psa_sign_hash
    - mbedtls_rsa_get_len
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_psa_rsa_sign_ext(psa_algorithm_t alg, mbedtls_rsa_context
      *rsa_ctx, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1379
    functionName: rsa_alt_free_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'static void rsa_alt_free_wrap(void *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_alt_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1343,1
    - Dst: rsa_alt_sign_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1349,1
    - Dst: rsa_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1343,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1347,1
    - Dst: rsa_verify_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1356,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pub
    - prv
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1362
    functionName: rsa_alt_check_pair
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - rsa_get_bitlen
    - rsa_verify_wrap
    - rsa_alt_sign_wrap
    - rsa_alt_get_bitlen
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int rsa_alt_check_pair(mbedtls_pk_context *pub, mbedtls_pk_context
      *prv, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1517,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1524,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1523,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1522,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1519,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1526,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1527,1
    - Dst: psa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1532,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1534,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1535,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 9
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1554
    functionName: rsa_opaque_sign_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - psa_sign_hash
    - psa_get_key_algorithm
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - mbedtls_md_psa_alg_from_type
    - psa_get_key_type
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int rsa_opaque_sign_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:77,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:86,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:86,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:88,1
    - Dst: mbedtls_rsa_get_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:85,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:88,1
    - Dst: mbedtls_rsa_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:95,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:100,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:101,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:102,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:121,1
    - Dst: psa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:112,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:115,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:123,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:108,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 6
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 127
    functionName: rsa_verify_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - psa_verify_hash
    - psa_set_key_type
    - psa_import_key
    - psa_destroy_key
    - PSA_ALG_RSA_PSS
    - psa_set_key_algorithm
    - mbedtls_rsa_write_pubkey
    - mbedtls_md_psa_alg_from_type
    - PSA_ALG_RSA_PKCS1V15_SIGN
    - mbedtls_rsa_get_len
    - mbedtls_rsa_get_padding_mode
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int rsa_verify_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:704,1
    - Dst: psa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:711,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:709,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:708,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:706,1
    - Dst: PSA_ALG_DETERMINISTIC_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:712,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:712,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:717,1
    - Dst: psa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:720,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:721,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:721,1
    - Dst: PSA_PK_ECDSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:724,1
    - Dst: mbedtls_ecdsa_raw_to_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 7
    argNames:
    - key_id
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    argTypes:
    - mbedtls_svc_key_id_t
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 731
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 731
    functionName: ecdsa_sign_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - PSA_ALG_DETERMINISTIC_ECDSA
    - PSA_ALG_ECDSA
    - psa_get_key_bits
    - psa_sign_hash
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - mbedtls_md_psa_alg_from_type
    - PSA_PK_ECDSA_TO_MBEDTLS_ERR
    - mbedtls_ecdsa_raw_to_der
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sign_psa(mbedtls_svc_key_id_t key_id, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 8
    argNames:
    - pk
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1331
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1331
    functionName: rsa_alt_decrypt_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rsa_alt_decrypt_wrap(mbedtls_pk_context *pk, const unsigned
      char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 1427
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1427
    functionName: ecdsa_opaque_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_opaque_can_do(mbedtls_pk_type_t type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1480,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1482,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1485,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1487,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1486,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1489,1
    - Dst: psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1493,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1495,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 8
    argNames:
    - pk
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1499
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1499
    functionName: rsa_opaque_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - psa_asymmetric_decrypt
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - psa_get_key_algorithm
    - PSA_KEY_TYPE_IS_RSA
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - psa_get_key_type
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int rsa_opaque_decrypt(mbedtls_pk_context *pk, const unsigned
      char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:296,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:305,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:306,1
    - Dst: mbedtls_rsa_write_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:300,1
    - Dst: mbedtls_rsa_get_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:307,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:308,1
    - Dst: mbedtls_rsa_get_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:308,1
    - Dst: PSA_ALG_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:309,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:313,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:315,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:319,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:336,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:335,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:328,1
    - Dst: psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:323,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:338,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 8
    argNames:
    - pk
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 342
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 342
    functionName: rsa_decrypt_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - psa_asymmetric_decrypt
    - psa_set_key_usage_flags
    - mbedtls_rsa_write_key
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - psa_set_key_type
    - mbedtls_rsa_get_md_alg
    - psa_import_key
    - psa_destroy_key
    - psa_set_key_algorithm
    - mbedtls_platform_zeroize
    - mbedtls_md_psa_alg_from_type
    - mbedtls_rsa_get_len
    - mbedtls_rsa_get_padding_mode
    - PSA_ALG_RSA_OAEP
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int rsa_decrypt_wrap(mbedtls_pk_context *pk, const unsigned
      char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_sign_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 746
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 746
    functionName: ecdsa_opaque_sign_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - ecdsa_sign_psa
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_opaque_sign_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:917,1
    - Dst: ecdsa_sign_rs_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:920,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:920,1
    - Dst: mbedtls_ecdsa_from_keypair
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:917,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 10
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 926
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 926
    functionName: eckey_sign_rs_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_from_keypair
    - MBEDTLS_MPI_CHK
    - ecdsa_sign_rs_wrap
    linkageType: ''
    returnType: int
    signature: 'static int eckey_sign_rs_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng, void *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1232,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1234
    functionName: ecdsa_rs_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ecdsa_restart_free
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_rs_free(void *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:379,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:388,1
    - Dst: mbedtls_rsa_get_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:389,1
    - Dst: mbedtls_rsa_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:383,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:390,1
    - Dst: mbedtls_rsa_get_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:390,1
    - Dst: PSA_ALG_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:391,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:395,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:396,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:398,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:402,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:418,1
    - Dst: psa_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:406,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:411,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:420,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 8
    argNames:
    - pk
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 424
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 424
    functionName: rsa_encrypt_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - mbedtls_rsa_get_md_alg
    - psa_set_key_type
    - psa_import_key
    - psa_destroy_key
    - psa_set_key_algorithm
    - mbedtls_rsa_write_pubkey
    - psa_asymmetric_encrypt
    - mbedtls_md_psa_alg_from_type
    - mbedtls_rsa_get_len
    - mbedtls_rsa_get_padding_mode
    - PSA_ALG_RSA_OAEP
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int rsa_encrypt_wrap(mbedtls_pk_context *pk, const unsigned
      char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:135,1
    - Dst: mbedtls_rsa_pkcs1_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 6
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 163
    functionName: rsa_verify_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_get_len
    - mbedtls_rsa_pkcs1_verify
    linkageType: ''
    returnType: int
    signature: 'static int rsa_verify_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1057,1
    - Dst: psa_pk_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1060,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1064,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1063,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1063,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1071,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - pub
    - prv
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1075
    functionName: ecdsa_opaque_check_pair_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - memcmp
    - mbedtls_ecp_point_write_binary
    - psa_pk_status_to_mbedtls
    - psa_export_public_key
    - mbedtls_pk_ec_ro
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_opaque_check_pair_wrap(mbedtls_pk_context *pub, mbedtls_pk_context
      *prv, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_verify_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 643
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 643
    functionName: ecdsa_verify_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - ecdsa_verify_psa
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_verify_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: rsa_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rsa_can_do(mbedtls_pk_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_check_pub_priv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pub
    - prv
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: rsa_check_pair_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_check_pub_priv
    linkageType: ''
    returnType: int
    signature: 'static int rsa_check_pair_wrap(mbedtls_pk_context *pub, mbedtls_pk_context
      *prv, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: eckey_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int eckey_can_do(mbedtls_pk_type_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:869,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:870,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 873
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 873
    functionName: eckey_rs_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ecdsa_restart_free
    - mbedtls_ecdsa_free
    linkageType: ''
    returnType: void
    signature: 'static void eckey_rs_free(void *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:973,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:976,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:983,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:993,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:985,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:994,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:979,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:991,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:998,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1010,1
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:966,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:966,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:974,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:976,1
    - Dst: mbedtls_pk_ec_rw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1001,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:984,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:973,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:967,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1001,1
    - Dst: mbedtls_pk_ec_rw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1002,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - pub
    - prv
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1015
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 1015
    functionName: eckey_check_pair_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_set_key_usage_flags
    - mbedtls_pk_ec_ro
    - psa_set_key_type
    - PSA_BITS_TO_BYTES
    - psa_import_key
    - mbedtls_mpi_write_binary
    - psa_destroy_key
    - mbedtls_platform_zeroize
    - memcmp
    - mbedtls_ecp_point_write_binary
    - psa_export_public_key
    - mbedtls_pk_ec_rw
    - mbedtls_ecc_group_to_psa
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int eckey_check_pair_psa(mbedtls_pk_context *pub, mbedtls_pk_context
      *prv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_check_pub_priv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1031,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pub
    - prv
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1034
    functionName: eckey_check_pair_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_check_pub_priv
    linkageType: ''
    returnType: int
    signature: 'static int eckey_check_pair_wrap(mbedtls_pk_context *pub, mbedtls_pk_context
      *prv, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: eckeydh_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int eckeydh_can_do(mbedtls_pk_type_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1413,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1417,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1420
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1420
    functionName: opaque_get_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - psa_get_key_bits
    - psa_get_key_attributes
    - psa_reset_key_attributes
    linkageType: ''
    returnType: size_t
    signature: 'static size_t opaque_get_bitlen(mbedtls_pk_context *pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: rsa_get_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_get_bitlen
    linkageType: ''
    returnType: size_t
    signature: 'static size_t rsa_get_bitlen(mbedtls_pk_context *pk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:455,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: rsa_alloc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_rsa_init
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_alloc_wrap(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: eckey_get_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t eckey_get_bitlen(mbedtls_pk_context *pk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:890,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:893,1
    - Dst: ecdsa_verify_rs_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:893,1
    - Dst: mbedtls_ecdsa_from_keypair
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:890,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 7
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    - rs_ctx
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 899
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 899
    functionName: eckey_verify_rs_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - ecdsa_verify_rs_wrap
    - mbedtls_ecdsa_from_keypair
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int eckey_verify_rs_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len, void *rs_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:939,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:941,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pub
    - prv
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 951
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 951
    functionName: eckey_check_pair_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - psa_export_public_key
    - memcmp
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int eckey_check_pair_psa(mbedtls_pk_context *pub, mbedtls_pk_context
      *prv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:266,1
    - Dst: mbedtls_rsa_pkcs1_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 9
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: rsa_sign_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_get_len
    - mbedtls_rsa_pkcs1_sign
    linkageType: ''
    returnType: int
    signature: 'static int rsa_sign_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:432,1
    - Dst: mbedtls_rsa_pkcs1_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:438,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 8
    argNames:
    - pk
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: rsa_encrypt_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_get_len
    - mbedtls_rsa_pkcs1_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int rsa_encrypt_wrap(mbedtls_pk_context *pk, const unsigned
      char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:656,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:658,1
    - Dst: ecdsa_verify_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: ecdsa_verify_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_write_binary
    - mbedtls_ecc_group_to_psa
    - ecdsa_verify_psa
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_verify_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:766,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:780,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:768,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:767,1
    - Dst: MBEDTLS_PK_PSA_ALG_ECDSA_MAYBE_DET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:769,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:785,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:785,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:786,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:787,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:789,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:791,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:801,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:798,1
    - Dst: ecdsa_sign_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:795,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:799,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 9
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 805
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 805
    functionName: ecdsa_sign_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_BITS_TO_BYTES
    - psa_import_key
    - mbedtls_mpi_write_binary
    - psa_set_key_algorithm
    - mbedtls_platform_zeroize
    - psa_destroy_key
    - ecdsa_sign_psa
    - MBEDTLS_PK_PSA_ALG_ECDSA_MAYBE_DET
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ecc_group_to_psa
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sign_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 1463
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1463
    functionName: rsa_opaque_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rsa_opaque_can_do(mbedtls_pk_type_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:351,1
    - Dst: mbedtls_rsa_pkcs1_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 8
    argNames:
    - pk
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: rsa_decrypt_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_pkcs1_decrypt
    - mbedtls_rsa_get_len
    linkageType: ''
    returnType: int
    signature: 'static int rsa_decrypt_wrap(mbedtls_pk_context *pk, const unsigned
      char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:466,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: rsa_free_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_rsa_free
    linkageType: ''
    returnType: void
    signature: 'static void rsa_free_wrap(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eckey_check_pair_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pub
    - prv
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1025
    functionName: eckey_check_pair_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - eckey_check_pair_psa
    linkageType: ''
    returnType: int
    signature: 'static int eckey_check_pair_wrap(mbedtls_pk_context *pub, mbedtls_pk_context
      *prv, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1082,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: eckey_alloc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_ecp_keypair_init
    linkageType: ''
    returnType: void*
    signature: 'static void *eckey_alloc_wrap(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pk
    - items
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_debug_item*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1110
    functionName: eckey_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void eckey_debug(mbedtls_pk_context *pk, mbedtls_pk_debug_item
      *items) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 1183
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1183
    functionName: ecdsa_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_can_do(mbedtls_pk_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 1281
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1281
    functionName: rsa_alt_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rsa_alt_can_do(mbedtls_pk_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pk
    - items
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_debug_item*
    constantsTouched: []
    func_position:
      end: 489
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 489
    functionName: rsa_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void rsa_debug(mbedtls_pk_context *pk, mbedtls_pk_debug_item
      *items) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1093,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1095
    functionName: eckey_free_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ecp_keypair_free
    linkageType: ''
    returnType: void
    signature: 'static void eckey_free_wrap(void *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1221,1
    - Dst: mbedtls_ecdsa_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:1224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1228
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1228
    functionName: ecdsa_rs_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_restart_init
    - mbedtls_calloc
    linkageType: ''
    returnType: void*
    signature: 'static void *ecdsa_rs_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1288
    functionName: rsa_alt_get_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t rsa_alt_get_bitlen(mbedtls_pk_context *pk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_read_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 6
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 685
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 685
    functionName: ecdsa_verify_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_read_signature
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_verify_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_write_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 817
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 817
    functionName: ecdsa_sign_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_write_signature
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sign_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:238,1
    - Dst: mbedtls_rsa_get_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:243,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:243,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:244,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:246,1
    - Dst: mbedtls_pk_psa_rsa_sign_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 9
    argNames:
    - pk
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 251
    functionName: rsa_sign_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_rsa
    - PSA_ALG_RSA_PSS
    - mbedtls_pk_psa_rsa_sign_ext
    - mbedtls_md_psa_alg_from_type
    - PSA_ALG_RSA_PKCS1V15_SIGN
    - mbedtls_rsa_get_padding_mode
    linkageType: ''
    returnType: int
    signature: 'static int rsa_sign_wrap(mbedtls_pk_context *pk, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:26,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - mbedtls_psa_hmac_operation_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: psa_hmac_abort_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - psa_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_hmac_abort_internal( mbedtls_psa_hmac_operation_t
      *hmac) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:210,1
    - Dst: PSA_ALG_IS_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:216,1
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:211,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - operation
    - alg
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 231
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 231
    functionName: mac_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - PSA_ALG_IS_HMAC
    - mbedtls_cipher_init
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mac_init( mbedtls_psa_mac_operation_t *operation,
      psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: mbedtls_psa_mac_sign_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - psa_mac_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_mac_sign_setup( mbedtls_psa_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:350,1
    - Dst: mbedtls_cipher_cmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:352,1
    - Dst: psa_hmac_update_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:358,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:351,1
    - Dst: PSA_ALG_IS_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 369
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 369
    functionName: mbedtls_psa_mac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - PSA_ALG_IS_HMAC
    - mbedtls_to_psa_error
    - mbedtls_cipher_cmac_update
    - psa_hmac_update_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_mac_update( mbedtls_psa_mac_operation_t *operation,
      const uint8_t *input, size_t input_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_finish_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - operation
    - mac
    - mac_size
    - mac_length
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 420
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 420
    functionName: mbedtls_psa_mac_sign_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - psa_mac_finish_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_mac_sign_finish( mbedtls_psa_mac_operation_t
      *operation, uint8_t *mac, size_t mac_size, size_t *mac_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac
    - data
    - data_length
    argTypes:
    - mbedtls_psa_hmac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: psa_hmac_update_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - psa_hash_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_hmac_update_internal( mbedtls_psa_hmac_operation_t
      *hmac, const uint8_t *data, size_t data_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:118,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:121,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:137,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:127,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:132,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:142,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:147,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - hmac
    - mac
    - mac_size
    argTypes:
    - mbedtls_psa_hmac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 152
    functionName: psa_hmac_finish_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_platform_zeroize
    - psa_hash_finish
    - PSA_HASH_BLOCK_LENGTH
    - psa_hash_update
    - psa_hash_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_hmac_finish_internal( mbedtls_psa_hmac_operation_t
      *hmac, uint8_t *mac, size_t mac_size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:38,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:61,1
    - Dst: PSA_HASH_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:39,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:80,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:72,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:87,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:89,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:94,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:97,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - hmac
    - key
    - key_length
    - hash_alg
    argTypes:
    - mbedtls_psa_hmac_operation_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 100
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 100
    functionName: psa_hmac_setup_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - psa_hash_compute
    - memcpy
    - mbedtls_platform_zeroize
    - PSA_HASH_BLOCK_LENGTH
    - psa_hash_update
    - psa_hash_setup
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_hmac_setup_internal( mbedtls_psa_hmac_operation_t
      *hmac, const uint8_t *key, size_t key_length, psa_algorithm_t hash_alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:242,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:243,1
    - Dst: psa_hmac_abort_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:248,1
    - Dst: PSA_ALG_IS_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:247,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_mac_operation_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: mbedtls_psa_mac_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - mbedtls_cipher_free
    - PSA_ALG_IS_HMAC
    - psa_hmac_abort_internal
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_mac_abort(mbedtls_psa_mac_operation_t *operation) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mac_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:283,1
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:289,1
    - Dst: cmac_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:293,1
    - Dst: PSA_ALG_IS_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:297,1
    - Dst: psa_hmac_setup_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:298,1
    - Dst: PSA_ALG_HMAC_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:301,1
    - Dst: mbedtls_psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 316
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 316
    functionName: psa_mac_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - PSA_ALG_HMAC_GET_HASH
    - PSA_ALG_IS_HMAC
    - cmac_setup
    - mbedtls_psa_mac_abort
    - psa_hmac_setup_internal
    - mac_init
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_mac_setup(mbedtls_psa_mac_operation_t *operation,
      const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: mbedtls_psa_mac_verify_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - psa_mac_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_mac_verify_setup( mbedtls_psa_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:376,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:383,1
    - Dst: mbedtls_cipher_cmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:378,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:382,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:380,1
    - Dst: PSA_ALG_IS_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:387,1
    - Dst: psa_hmac_finish_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - operation
    - mac
    - mac_size
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 400
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 400
    functionName: psa_mac_finish_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - PSA_ALG_IS_HMAC
    - mbedtls_cipher_cmac_finish
    - mbedtls_to_psa_error
    - mbedtls_platform_zeroize
    - memcpy
    - psa_hmac_finish_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_mac_finish_internal( mbedtls_psa_mac_operation_t
      *operation, uint8_t *mac, size_t mac_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_finish_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:439,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:449,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - operation
    - mac
    - mac_length
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 452
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 452
    functionName: mbedtls_psa_mac_verify_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_memcmp
    - mbedtls_platform_zeroize
    - psa_mac_finish_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_mac_verify_finish( mbedtls_psa_mac_operation_t
      *operation, const uint8_t *mac, size_t mac_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:468,1
    - Dst: psa_mac_finish_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:482,1
    - Dst: mbedtls_psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:488,1
    - Dst: mbedtls_psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - mac
    - mac_size
    - mac_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 491
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 491
    functionName: mbedtls_psa_mac_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_mac_update
    - psa_mac_setup
    - psa_mac_finish_internal
    - mbedtls_psa_mac_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_mac_compute( const psa_key_attributes_t *attributes,
      const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const
      uint8_t *input, size_t input_length, uint8_t *mac, size_t mac_size, size_t *mac_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:165,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:175,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:167,1
    - Dst: mbedtls_cipher_info_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:173,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:166,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:176,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:183,1
    - Dst: mbedtls_cipher_cmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:188,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:190,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - operation
    - attributes
    - key_buffer
    argTypes:
    - mbedtls_psa_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 193
    functionName: cmac_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_mac.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - mbedtls_to_psa_error
    - psa_get_key_bits
    - mbedtls_cipher_info_from_psa
    - psa_get_key_type
    - mbedtls_cipher_cmac_starts
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t cmac_setup(mbedtls_psa_mac_operation_t *operation,
      const psa_key_attributes_t *attributes, const uint8_t *key_buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:255,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:259,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:258,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:256,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:257,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:260,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:261,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - state
    - xword
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 264
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 264
    functionName: aesni_set_rk_128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_xor_si128
    - _mm_shuffle_epi32
    - _mm_slli_si128
    linkageType: ''
    returnType: __m128i
    signature: 'static __m128i aesni_set_rk_128(__m128i state, __m128i xword) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:301,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:303,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:304,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:305,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:302,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:306,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:307,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:308,1
    - Dst: _mm_shuffle_epi32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:311,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:312,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:313,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:321,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:320,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - state0
    - state1
    - xword
    - rk
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 322
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 322
    functionName: aesni_set_rk_192
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_xor_si128
    - memcpy
    - _mm_shuffle_epi32
    - _mm_slli_si128
    linkageType: ''
    returnType: void
    signature: 'static void aesni_set_rk_192(__m128i *state0, __m128i *state1, __m128i
      xword, unsigned char *rk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:279,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:279,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:281,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:273,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:272,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:274,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:275,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:276,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:278,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:277,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:280,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:271,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:272,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:273,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:274,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:275,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:276,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:277,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:280,1
    - Dst: aesni_set_rk_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:278,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - rk_bytes
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 282
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 282
    functionName: aesni_setkey_enc_128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - aesni_set_rk_128
    - memcpy
    - _mm_aeskeygenassist_si128
    linkageType: ''
    returnType: void
    signature: 'static void aesni_setkey_enc_128(unsigned char *rk_bytes, const unsigned
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:328,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:333,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:334,1
    - Dst: _mm_loadl_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:331,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:333,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:334,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:335,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:335,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:336,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:336,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:337,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:337,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:338,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:338,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:339,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:339,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:340,1
    - Dst: aesni_set_rk_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 2
    argNames:
    - rk
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: aesni_setkey_enc_192
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - aesni_set_rk_192
    - memcpy
    - _mm_aeskeygenassist_si128
    - _mm_loadl_epi64
    linkageType: ''
    returnType: void
    signature: 'static void aesni_setkey_enc_192(unsigned char *rk, const unsigned
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_clmulepi64_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:133,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:137,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:136,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:135,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:134,1
    - Dst: _mm_srli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:139,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:140,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:141,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - aa
    - bb
    - cc
    - dd
    argTypes:
    - __m128i
    - __m128i
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: gcm_clmul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_xor_si128
    - _mm_clmulepi64_si128
    - _mm_srli_si128
    - _mm_slli_si128
    linkageType: ''
    returnType: void
    signature: 'static void gcm_clmul(const __m128i aa, const __m128i bb, __m128i
      *cc, __m128i *dd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcm_clmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:203,1
    - Dst: gcm_mix
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:211,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:212,1
    - Dst: gcm_reduce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:210,1
    - Dst: gcm_shift
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 220
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 220
    functionName: mbedtls_aesni_gcm_mult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - gcm_mix
    - _mm_xor_si128
    - gcm_shift
    - gcm_reduce
    - gcm_clmul
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aesni_gcm_mult(unsigned char c[16], const unsigned char
      a[16], const unsigned char b[16]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:57,1
    - Dst: __cpuid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - what
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: mbedtls_aesni_has_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - __cpuid
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aesni_has_support(unsigned int what) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:91,1
    - Dst: _mm_aesdec_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:99,1
    - Dst: _mm_aesenc_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:110,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:92,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:103,1
    - Dst: _mm_aesenclast_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:114,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 119
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 119
    functionName: mbedtls_aesni_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_xor_si128
    - _mm_aesenclast_si128
    - _mm_aesdec_si128
    - memcpy
    - _mm_aesdeclast_si128
    - _mm_aesenc_si128
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aesni_crypt_ecb(mbedtls_aes_context *ctx, int mode, const
      unsigned char input[16], unsigned char output[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:619,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - invkey
    - fwdkey
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 631
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 631
    functionName: mbedtls_aesni_inverse_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aesni_inverse_key(unsigned char *invkey, const unsigned
      char *fwdkey, int nr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_aesimc_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - invkey
    - fwdkey
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: mbedtls_aesni_inverse_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_aesimc_si128
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aesni_inverse_key(unsigned char *invkey, const unsigned
      char *fwdkey, int nr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 740
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 740
    functionName: aesni_setkey_enc_192
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void aesni_setkey_enc_192(unsigned char *rk, const unsigned
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 808
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 808
    functionName: aesni_setkey_enc_256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void aesni_setkey_enc_256(unsigned char *rk, const unsigned
      char *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aesni_setkey_enc_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:821,1
    - Dst: aesni_setkey_enc_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:824,1
    - Dst: aesni_setkey_enc_192
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:823,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - key
    - bits
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 830
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 830
    functionName: mbedtls_aesni_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - aesni_setkey_enc_128
    - aesni_setkey_enc_256
    - aesni_setkey_enc_192
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aesni_setkey_enc(unsigned char *rk, const unsigned char
      *key, size_t bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:167,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:170,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:170,1
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:168,1
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:169,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:170,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - xx
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: gcm_reduce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_xor_si128
    - _mm_slli_si128
    - _mm_slli_epi64
    linkageType: ''
    returnType: __m128i
    signature: 'static __m128i gcm_reduce(__m128i xx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:360,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:361,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:363,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:364,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:362,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:365,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:366,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:367,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:372,1
    - Dst: _mm_shuffle_epi32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:373,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:378,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:379,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:380,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:374,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:377,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:375,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 5
    argNames:
    - state0
    - state1
    - xword
    - rk0
    - rk1
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 382
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 382
    functionName: aesni_set_rk_256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_xor_si128
    - _mm_aeskeygenassist_si128
    - _mm_shuffle_epi32
    - _mm_slli_si128
    linkageType: ''
    returnType: void
    signature: 'static void aesni_set_rk_256(__m128i state0, __m128i state1, __m128i
      xword, __m128i *rk0, __m128i *rk1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 495
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 495
    functionName: mbedtls_aesni_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aesni_crypt_ecb(mbedtls_aes_context *ctx, int mode, const
      unsigned char input[16], unsigned char output[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCLMULQDQ
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:526,1
    - Dst: PCLMULQDQ
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:525,1
    - Dst: PCLMULQDQ
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 607
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 607
    functionName: mbedtls_aesni_gcm_mult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - PCLMULQDQ
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aesni_gcm_mult(unsigned char c[16], const unsigned char
      a[16], const unsigned char b[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rk
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 682
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 682
    functionName: aesni_setkey_enc_128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void aesni_setkey_enc_128(unsigned char *rk, const unsigned
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:151,1
    - Dst: _mm_srli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:154,1
    - Dst: _mm_srli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:155,1
    - Dst: _mm_srli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:153,1
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:152,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:156,1
    - Dst: _mm_slli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:157,1
    - Dst: _mm_or_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:159,1
    - Dst: _mm_or_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:160,1
    - Dst: _mm_or_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cc
    - dd
    argTypes:
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: gcm_shift
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_slli_epi64
    - _mm_slli_si128
    - _mm_srli_epi64
    - _mm_srli_si128
    - _mm_or_si128
    linkageType: ''
    returnType: void
    signature: 'static void gcm_shift(__m128i *cc, __m128i *dd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:177,1
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:184,1
    - Dst: _mm_srli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:179,1
    - Dst: _mm_srli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:178,1
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:183,1
    - Dst: _mm_slli_epi64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:185,1
    - Dst: _mm_srli_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:186,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:186,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:186,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:188,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:188,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:188,1
    - Dst: _mm_xor_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - dx
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: gcm_mix
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - _mm_srli_epi64
    - _mm_xor_si128
    - _mm_srli_si128
    - _mm_slli_epi64
    linkageType: ''
    returnType: __m128i
    signature: 'static __m128i gcm_mix(__m128i dx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:389,1
    - Dst: aesni_set_rk_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:397,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:390,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:396,1
    - Dst: aesni_set_rk_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:396,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:397,1
    - Dst: aesni_set_rk_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:398,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:398,1
    - Dst: aesni_set_rk_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:399,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:399,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:400,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:401,1
    - Dst: aesni_set_rk_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:402,1
    - Dst: aesni_set_rk_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:400,1
    - Dst: aesni_set_rk_256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:401,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rk_bytes
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 403
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 403
    functionName: aesni_setkey_enc_256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesni.c
    functionUses: []
    functionsReached:
    - aesni_set_rk_256
    - memcpy
    - _mm_aeskeygenassist_si128
    linkageType: ''
    returnType: void
    signature: 'static void aesni_setkey_enc_256(unsigned char *rk_bytes, const unsigned
      char *key) '
  - BBCount: 155
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 159
    EdgeCount: 159
    ICount: 162
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 532
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 532
    functionName: mbedtls_high_level_strerr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_high_level_strerr(int error_code) '
  - BBCount: 81
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 87
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 787
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 787
    functionName: mbedtls_low_level_strerr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_low_level_strerr(int error_code) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:800,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:813,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:836,1
    - Dst: mbedtls_high_level_strerr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:810,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:815,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:843,1
    - Dst: mbedtls_low_level_strerr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:850,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:853,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c:855,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - ret
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 857
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 857
    functionName: mbedtls_strerror
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c
    functionUses: []
    functionsReached:
    - mbedtls_high_level_strerr
    - memset
    - mbedtls_low_level_strerr
    - mbedtls_snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_strerror(int ret, char *buf, size_t buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ret
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 871
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 871
    functionName: mbedtls_strerror
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/error.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_strerror(int ret, char *buf, size_t buflen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:115,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:126,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:118,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:117,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 136
    functionName: ssl_parse_renegotiation_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ct_memcmp
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_renegotiation_info(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: ssl_conf_has_psk_or_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_conf_has_psk_or_cb(mbedtls_ssl_config
      const *conf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1838,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1840,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1849,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1862
    functionName: ssl_write_renegotiation_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_renegotiation_ext(mbedtls_ssl_context *ssl,
      unsigned char *buf, size_t *olen) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ssl_handle_id_based_session_resumption
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2249,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2265,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2283,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2297,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2305,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2307,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2309,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2311,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2390,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2170,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2175,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2195,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2199,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2200,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2234,1
    - Dst: ssl_write_encrypt_then_mac_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2331,1
    - Dst: ssl_write_session_ticket_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2341,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2349,1
    - Dst: mbedtls_ssl_ciphersuite_uses_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2350,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2380,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2376,1
    - Dst: ssl_write_hello_verify_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2178,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2245,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2259,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2247,1
    - Dst: mbedtls_ssl_derive_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2282,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2300,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2301,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2302,1
    - Dst: mbedtls_ssl_get_ciphersuite_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2310,1
    - Dst: ssl_write_extended_ms_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2336,1
    - Dst: ssl_write_use_srtp_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2372,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2192,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2176,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2203,1
    - Dst: mbedtls_ssl_conf_is_tls13_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2226,1
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2230,1
    - Dst: ssl_write_renegotiation_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2317,1
    - Dst: ssl_write_max_fragment_length_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2321,1
    - Dst: ssl_write_cid_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2326,1
    - Dst: mbedtls_ssl_write_alpn_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2363,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2388,1
    - Dst: ssl_write_supported_point_formats_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2351,1
    - Dst: ssl_write_ecjpake_kkpp_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2357,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 150
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2393
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2393
    functionName: ssl_write_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_derive_keys
    - ssl_write_supported_point_formats_ext
    - ssl_write_session_ticket_ext
    - mbedtls_time
    - ssl_write_use_srtp_ext
    - ssl_write_hello_verify_request
    - MBEDTLS_STATIC_ASSERT
    - mbedtls_ssl_write_version
    - mbedtls_ssl_ciphersuite_uses_ec
    - ssl_write_ecjpake_kkpp_ext
    - ssl_write_renegotiation_ext
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_write_cid_ext
    - mbedtls_ssl_get_ciphersuite_name
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_PUT_UINT32_BE
    - memcpy
    - mbedtls_ssl_conf_is_tls13_enabled
    - mbedtls_ssl_ciphersuite_from_id
    - ssl_write_encrypt_then_mac_ext
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_BYTE_0
    - ssl_write_max_fragment_length_ext
    - mbedtls_ssl_write_alpn_ext
    - ssl_write_extended_ms_ext
    - ssl_handle_id_based_session_resumption
    - memset
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_server_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:692,1
    - Dst: mbedtls_ssl_get_ciphersuite_sig_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:697,1
    - Dst: mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:694,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:721,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:718,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:727,1
    - Dst: mbedtls_pk_can_do_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:735,1
    - Dst: mbedtls_pk_can_do_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:736,1
    - Dst: mbedtls_pk_can_do_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:739,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:742,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:745,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:782,1
    - Dst: ssl_check_key_curve
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:768,1
    - Dst: mbedtls_ssl_check_cert_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:757,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:770,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:761,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - ssl
    - ciphersuite_info
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 788
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 788
    functionName: ssl_pick_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_CRT
    - mbedtls_ssl_check_cert_usage
    - mbedtls_pk_can_do
    - mbedtls_ssl_get_ciphersuite_sig_pk_alg
    - mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_check_key_curve
    - mbedtls_pk_can_do_ext
    - mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_pick_cert(mbedtls_ssl_context
      *ssl, const mbedtls_ssl_ciphersuite_t *ciphersuite_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - renegotiation_info_seen
    - == 1
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 1570
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1570
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS
      && ssl->secure_renegotiation == MBEDTLS_SSL_LEGACY_RENEGOTIATION && renegotiation_info_seen
      == 1) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1994,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2009,1
    - Dst: mbedtls_ssl_check_srtp_profile_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2025,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2014,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2020,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2028,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2030,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2035,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2038
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 2038
    functionName: ssl_write_use_srtp_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - mbedtls_ssl_check_srtp_profile_value
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_use_srtp_ext(mbedtls_ssl_context *ssl, unsigned
      char *buf, size_t *olen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2427,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2498,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2440,1
    - Dst: mbedtls_ssl_get_sig_algs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2492,1
    - Dst: mbedtls_ssl_ciphersuite_cert_req_allowed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2438,1
    - Dst: mbedtls_ssl_set_calc_verify_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2500,1
    - Dst: mbedtls_ssl_sig_alg_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2503,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2511,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2516,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2557,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2563,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2566,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2578,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2580,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2576,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2561,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2583
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2583
    functionName: ssl_write_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_BYTE_1
    - memcpy
    - mbedtls_ssl_sig_alg_is_supported
    - mbedtls_ssl_ciphersuite_cert_req_allowed
    - mbedtls_ssl_set_calc_verify_md
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_sig_algs
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_certificate_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_EXPORT_ECC_KEY_PAIR_MAX_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2597,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2627,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2643,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2646,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2654,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2647,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2651,1
    - Dst: mbedtls_ssl_get_psa_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2695,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2702,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2709,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2721,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2731,1
    - Dst: mbedtls_ssl_own_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2606,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2612,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2621,1
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2642,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2649,1
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2683,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2703,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2705,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2713,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2629,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2632,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2633,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2701,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2704,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2716,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2730,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2644,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2657,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2645,1
    - Dst: mbedtls_pk_ec_rw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2682,1
    - Dst: mbedtls_ssl_get_tls_id_from_ecp_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2687,1
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2700,1
    - Dst: mbedtls_ecp_write_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2707,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2717,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2734
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2734
    functionName: ssl_get_ecdh_params_from_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - psa_import_key
    - mbedtls_ssl_get_tls_id_from_ecp_group_id
    - mbedtls_platform_zeroize
    - mbedtls_ssl_get_psa_curve_info_from_tls_id
    - mbedtls_ssl_own_key
    - mbedtls_pk_ec_rw
    - PSA_TO_MBEDTLS_ERR
    - psa_set_key_usage_flags
    - psa_get_key_bits
    - psa_reset_key_attributes
    - psa_get_key_type
    - mbedtls_pk_get_type
    - mbedtls_ecp_write_key_ext
    - psa_set_key_algorithm
    - psa_set_key_bits
    - PSA_KEY_EXPORT_ECC_KEY_PAIR_MAX_SIZE
    - mbedtls_pk_get_ec_group_id
    - psa_key_attributes_init
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_set_key_type
    - mbedtls_pk_can_do
    - psa_export_key
    - psa_get_key_attributes
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_ecdh_params_from_cert(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2049,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2061,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2066,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2060,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2076,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2082,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2090,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2091,1
    - Dst: mbedtls_ssl_flight_transmit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2097,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2103,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2098,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2106
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2106
    functionName: ssl_write_hello_verify_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_write_version
    - mbedtls_ssl_flight_transmit
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_hello_verify_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2785,1
    - Dst: mbedtls_ssl_set_async_operation_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ssl
    - signature_len
    argTypes:
    - mbedtls_ssl_context*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2787
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2787
    functionName: ssl_resume_server_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_async_operation_data
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_resume_server_key_exchange(mbedtls_ssl_context
      *ssl, size_t *signature_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2132,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2152,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2148,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2150,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2158
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2158
    functionName: ssl_handle_id_based_session_resumption
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_session_init
    - mbedtls_ssl_session_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ssl_handle_id_based_session_resumption(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3346,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3360,1
    - Dst: mbedtls_ssl_flight_transmit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3367,1
    - Dst: mbedtls_ssl_send_flight_completed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3356,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3361,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3368,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3376
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3376
    functionName: ssl_write_server_hello_done
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_flight_completed
    - mbedtls_ssl_flight_transmit
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_server_hello_done(mbedtls_ssl_context
      *ssl) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: ssl_parse_client_psk_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3858,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3930,1
    - Dst: mbedtls_ssl_derive_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4071,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3706,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3753,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3900,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3790,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3799,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3815,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3903,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3826,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3931,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3686,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3720,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3767,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3885,1
    - Dst: mbedtls_ssl_psk_derive_premaster
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3836,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4031,1
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3685,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3747,1
    - Dst: psa_raw_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3771,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3965,1
    - Dst: ssl_parse_encrypted_pms
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3863,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3682,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3699,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4001,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3945,1
    - Dst: mbedtls_psa_ecjpake_read_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4039,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3803,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3914,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3997,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4012,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4022,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3881,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4016,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3859,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3938,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3956,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3711,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3724,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3715,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3761,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3831,1
    - Dst: mbedtls_ecdh_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3797,1
    - Dst: mbedtls_ecjpake_read_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4049,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4052,1
    - Dst: mbedtls_ecjpake_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4056,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4060,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4067,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4078,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3991,1
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3961,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3671,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3694,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3777,1
    - Dst: ssl_parse_client_psk_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3825,1
    - Dst: mbedtls_ssl_psk_derive_premaster
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3911,1
    - Dst: mbedtls_ssl_psk_derive_premaster
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3869,1
    - Dst: psa_raw_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3983,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4042,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3906,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3791,1
    - Dst: ssl_parse_client_psk_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3880,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3806,1
    - Dst: ssl_parse_client_psk_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4005,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3690,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3780,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3787,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3852,1
    - Dst: ssl_parse_client_dh_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3884,1
    - Dst: mbedtls_ssl_psk_derive_premaster
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4019,1
    - Dst: mbedtls_ecdh_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4010,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4045,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3778,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3811,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3890,1
    - Dst: ssl_parse_client_psk_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3929,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3995,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4006,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4043,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3839,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3909,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3864,1
    - Dst: ssl_parse_client_dh_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3705,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3741,1
    - Dst: ssl_parse_encrypted_pms
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4030,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4072,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3872,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 276
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4081
      start: 3662
    functionDepth: 0
    functionLinenumber: 3662
    functionLinenumberEnd: 4081
    functionName: ssl_parse_client_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - ssl_parse_encrypted_pms
    - psa_destroy_key
    - mbedtls_ssl_derive_keys
    - ssl_parse_client_dh_public
    - mbedtls_ecdh_read_public
    - psa_pake_abort
    - mbedtls_dhm_calc_secret
    - MBEDTLS_STATIC_ASSERT
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_MPI
    - mbedtls_psa_ecjpake_read_round
    - ssl_parse_client_psk_identity
    - psa_raw_key_agreement
    - mbedtls_ecjpake_derive_secret
    - mbedtls_ecdh_calc_secret
    - mbedtls_ssl_psk_derive_premaster
    - MBEDTLS_SSL_DEBUG_ECDH
    - mbedtls_ecjpake_read_round_two
    - memcpy
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_hs_hdr_len
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_client_key_exchange(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_decrypt_encrypted_pms
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3547,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3565,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3564,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3558,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3565,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3566,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3566,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3567,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3567,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3587,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3593,1
    - Dst: mbedtls_ct_memcpy_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3600,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - ssl
    - p
    - end
    - pms_offset
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3603
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3603
    functionName: ssl_parse_encrypted_pms
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_or
    - mbedtls_ct_uint_ne
    - ssl_decrypt_encrypted_pms
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ct_bool
    - mbedtls_ssl_write_version
    - mbedtls_ct_memcpy_if
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_encrypted_pms(mbedtls_ssl_context
      *ssl, const unsigned char *p, const unsigned char *end, size_t pms_offset) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4325,1
    - Dst: ssl_write_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4352,1
    - Dst: mbedtls_ssl_write_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4356,1
    - Dst: ssl_parse_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4336,1
    - Dst: ssl_write_server_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4360,1
    - Dst: ssl_write_certificate_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4364,1
    - Dst: ssl_write_server_hello_done
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4368,1
    - Dst: mbedtls_ssl_parse_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4379,1
    - Dst: ssl_parse_client_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4383,1
    - Dst: ssl_parse_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4387,1
    - Dst: ssl_write_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4406,1
    - Dst: mbedtls_ssl_write_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4409,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4426,1
    - Dst: mbedtls_ssl_handshake_wrapup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4422,1
    - Dst: mbedtls_ssl_parse_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4395,1
    - Dst: mbedtls_ssl_parse_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4391,1
    - Dst: mbedtls_ssl_write_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4413,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4417,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4431
      start: 4321
    functionDepth: 0
    functionLinenumber: 4321
    functionLinenumberEnd: 4431
    functionName: mbedtls_ssl_handshake_server_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_parse_finished
    - ssl_parse_client_hello
    - ssl_write_server_hello_done
    - mbedtls_ssl_parse_change_cipher_spec
    - mbedtls_ssl_write_finished
    - mbedtls_ssl_handshake_wrapup
    - ssl_write_new_session_ticket
    - mbedtls_ssl_write_change_cipher_spec
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_write_certificate_request
    - ssl_parse_client_key_exchange
    - ssl_write_server_hello
    - mbedtls_ssl_parse_certificate
    - mbedtls_ssl_write_certificate
    - ssl_write_server_key_exchange
    - ssl_parse_certificate_verify
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_handshake_server_step(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - order
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 4436
      start: 4433
    functionDepth: 0
    functionLinenumber: 4433
    functionLinenumberEnd: 4436
    functionName: mbedtls_ssl_conf_preference_order
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_preference_order(mbedtls_ssl_config *conf, int
      order) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:805,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:807,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:811,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:823,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:816,1
    - Dst: mbedtls_ssl_ciphersuite_uses_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:832,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:835,1
    - Dst: mbedtls_ssl_ciphersuite_uses_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:844,1
    - Dst: ssl_conf_has_psk_or_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:845,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:846,1
    - Dst: ssl_pick_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:859,1
    - Dst: mbedtls_ssl_get_ciphersuite_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:869,1
    - Dst: mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:871,1
    - Dst: mbedtls_ssl_sig_from_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:872,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:873,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:860,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - ssl
    - suite_id
    - ciphersuite_info
    argTypes:
    - mbedtls_ssl_context*
    - int
    - mbedtls_ssl_ciphersuite_t**
    constantsTouched: []
    func_position:
      end: 882
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 882
    functionName: ssl_ciphersuite_match
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_ciphersuite_uses_ec
    - mbedtls_ssl_sig_from_pk_alg
    - mbedtls_ssl_ciphersuite_uses_psk
    - ssl_conf_has_psk_or_cb
    - mbedtls_ssl_get_ciphersuite_sig_alg
    - mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_from_id
    - ssl_pick_cert
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_ciphersuite_match(mbedtls_ssl_context
      *ssl, int suite_id, const mbedtls_ssl_ciphersuite_t **ciphersuite_info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_own_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2741,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2748,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2743,1
    - Dst: mbedtls_ecdh_get_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2752,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2747,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2753,1
    - Dst: mbedtls_ssl_own_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2753,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2760
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2760
    functionName: ssl_get_ecdh_params_from_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdh_get_params
    - mbedtls_pk_can_do
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_own_key
    - mbedtls_pk_ec_ro
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_ecdh_params_from_cert(mbedtls_ssl_context
      *ssl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:476,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:494,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:486,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:504,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:507,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:509,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:511,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:522,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:524,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:528,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:530,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:525,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 538
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 538
    functionName: ssl_parse_session_ticket_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_session_init
    - mbedtls_ssl_session_free
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_session_ticket_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:55,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:57,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - info
    - ilen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: mbedtls_ssl_set_client_transport_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_client_transport_id(mbedtls_ssl_context *ssl,
      const unsigned char *info, size_t ilen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1708,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1726,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1722,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1712,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1719,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1729
    functionName: ssl_write_cid_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_cid_ext(mbedtls_ssl_context *ssl, unsigned char
      *buf, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - conf
    - f_cookie_write
    - f_cookie_check
    - p_cookie
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ssl_cookie_write_t*
    - mbedtls_ssl_cookie_check_t*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: mbedtls_ssl_conf_dtls_cookies
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_dtls_cookies(mbedtls_ssl_config *conf, mbedtls_ssl_cookie_write_t
      *f_cookie_write, mbedtls_ssl_cookie_check_t *f_cookie_check, void *p_cookie) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2402,1
    - Dst: mbedtls_ssl_ciphersuite_cert_req_allowed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2404,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2410,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2412
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2412
    functionName: ssl_write_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_cert_req_allowed
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_certificate_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:366,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:389,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:379,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:367,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:380,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:390,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:399,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:404,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:405,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:412,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:414,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 418
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 418
    functionName: ssl_parse_cid_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - mbedtls_ssl_send_alert_message
    - MBEDTLS_SSL_DEBUG_BUF
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_cid_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:344,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: ssl_parse_max_fragment_length_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_max_fragment_length_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3255,1
    - Dst: mbedtls_ssl_ciphersuite_uses_ecdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3264,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3267,1
    - Dst: ssl_get_ecdh_params_from_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3265,1
    - Dst: mbedtls_ssl_ciphersuite_no_pfs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3260,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3275,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3286,1
    - Dst: ssl_resume_server_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3287,1
    - Dst: ssl_prepare_server_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3293,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3302,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3314,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3332,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3333,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3337,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3317,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3339
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3339
    functionName: ssl_write_server_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_ciphersuite_no_pfs
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_resume_server_key_exchange
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - mbedtls_ssl_ciphersuite_uses_ecdh
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_get_ecdh_params_from_cert
    - ssl_prepare_server_key_exchange
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_server_key_exchange(mbedtls_ssl_context
      *ssl) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3448,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3450,1
    - Dst: mbedtls_ssl_own_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3454,1
    - Dst: mbedtls_pk_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3455,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3461,1
    - Dst: ssl_resume_decrypt_pms
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3462,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3471,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3474,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3475,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3476,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3507,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3513,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3514,1
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3491,1
    - Dst: mbedtls_pk_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3518,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3481,1
    - Dst: ssl_resume_decrypt_pms
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3499,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 6
    argNames:
    - ssl
    - p
    - end
    - peer_pms
    - peer_pmslen
    - peer_pmssize
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3522
      start: 3438
    functionDepth: 0
    functionLinenumber: 3438
    functionLinenumberEnd: 3522
    functionName: ssl_decrypt_encrypted_pms
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_decrypt
    - mbedtls_ssl_own_cert
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - mbedtls_pk_can_do
    - ssl_resume_decrypt_pms
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_pk_get_len
    - mbedtls_ssl_own_key
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_decrypt_encrypted_pms(mbedtls_ssl_context
      *ssl, const unsigned char *p, const unsigned char *end, unsigned char *peer_pms,
      size_t *peer_pmslen, size_t peer_pmssize) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_cert_req_allowed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4118,1
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4139,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4154,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4173,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4228,1
    - Dst: mbedtls_pk_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4242,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4245,1
    - Dst: mbedtls_ssl_update_handshake_status
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4249,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4116,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4141,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4150,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4212,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4224,1
    - Dst: mbedtls_ssl_set_calc_verify_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4182,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4119,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4204,1
    - Dst: mbedtls_ssl_md_alg_from_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4180,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4183,1
    - Dst: mbedtls_ssl_pk_alg_from_sig
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4202,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4220,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4237,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4251,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4255,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4126,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4132,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4213,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4258
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4258
    functionName: ssl_parse_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_md_alg_from_hash
    - mbedtls_ssl_pk_alg_from_sig
    - mbedtls_pk_can_do
    - mbedtls_ssl_hs_hdr_len
    - mbedtls_ssl_ciphersuite_cert_req_allowed
    - MBEDTLS_GET_UINT16_BE
    - mbedtls_ssl_set_calc_verify_md
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_update_handshake_status
    - mbedtls_pk_verify
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:451,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 464
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 464
    functionName: ssl_parse_extended_ms_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_extended_ms_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:428,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 441
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 441
    functionName: ssl_parse_encrypt_then_mac_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_encrypt_then_mac_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1815,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1824
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1824
    functionName: ssl_write_session_ticket_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_session_ticket_ext(mbedtls_ssl_context *ssl,
      unsigned char *buf, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1876,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1887
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1887
    functionName: ssl_write_max_fragment_length_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_max_fragment_length_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, size_t *olen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3391,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3399,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3395,1
    - Dst: mbedtls_dhm_read_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3403,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3404,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ssl
    - p
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 3413
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3413
    functionName: ssl_parse_client_dh_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_dhm_read_public
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_MPI
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_client_dh_public(mbedtls_ssl_context
      *ssl, unsigned char **p, const unsigned char *end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4269,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4293,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4297,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4286,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4298,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4307,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4308,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4315
      start: 4262
    functionDepth: 0
    functionLinenumber: 4262
    functionLinenumberEnd: 4315
    functionName: ssl_write_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_PUT_UINT32_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ms_time
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_new_session_ticket(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:30,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:189,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:190,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:198,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:197,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:194,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:205,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:206,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:218,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:220,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:229,1
    - Dst: mbedtls_ssl_get_ecp_group_id_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:231,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 242
    functionName: ssl_parse_supported_groups_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_get_ecp_group_id_from_tls_id
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_supported_groups_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:579,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:593,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:606,1
    - Dst: mbedtls_ssl_check_srtp_profile_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:603,1
    - Dst: mbedtls_ssl_get_srtp_profile_as_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:607,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:616,1
    - Dst: mbedtls_ssl_get_srtp_profile_as_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:617,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:632,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:642,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:644,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 649
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 649
    functionName: ssl_parse_use_srtp_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_BUF
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_srtp_profile_as_string
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_check_srtp_profile_value
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_use_srtp_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - renegotiation_info_seen
    - == 0
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 1560
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1560
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS
      && ssl->secure_renegotiation == MBEDTLS_SSL_SECURE_RENEGOTIATION && renegotiation_info_seen
      == 0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1906,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1918
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1918
    functionName: ssl_write_supported_point_formats_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_supported_point_formats_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, size_t *olen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1941,1
    - Dst: mbedtls_psa_ecjpake_write_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1952,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1944,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1948,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1956,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1957,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1958,1
    - Dst: mbedtls_ecjpake_write_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1962,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1966,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1971,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1975
    functionName: ssl_write_ecjpake_kkpp_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_psa_ecjpake_write_round
    - psa_destroy_key
    - mbedtls_ecjpake_write_round_one
    - psa_pake_abort
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_ecjpake_kkpp_ext(mbedtls_ssl_context *ssl, unsigned
      char *buf, size_t *olen) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2864,1
    - Dst: mbedtls_ecjpake_write_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2874,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2929,1
    - Dst: mbedtls_ssl_get_groups
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2969,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2988,1
    - Dst: mbedtls_ssl_get_psa_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3009,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3034,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3041,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3092,1
    - Dst: mbedtls_ssl_ciphersuite_uses_server_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3115,1
    - Dst: mbedtls_ssl_get_key_exchange_md_tls1_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3157,1
    - Dst: mbedtls_ssl_get_ciphersuite_sig_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3134,1
    - Dst: mbedtls_ssl_md_alg_from_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3140,1
    - Dst: mbedtls_ssl_hash_from_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3190,1
    - Dst: mbedtls_ssl_get_ecp_group_id_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3079,1
    - Dst: mbedtls_psa_ecjpake_write_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2858,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2865,1
    - Dst: mbedtls_ssl_ciphersuite_uses_dhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2908,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2913,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2951,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2938,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2949,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3042,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3065,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3067,1
    - Dst: mbedtls_ecdh_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3087,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3038,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3145,1
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3196,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3169,1
    - Dst: mbedtls_ssl_own_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3215,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3209,1
    - Dst: mbedtls_ssl_get_tls_id_from_ecp_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2849,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2863,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2855,1
    - Dst: mbedtls_dhm_set_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2926,1
    - Dst: mbedtls_ssl_ciphersuite_uses_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2959,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3006,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3012,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3020,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3021,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3022,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3083,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3117,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3232,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3165,1
    - Dst: mbedtls_pk_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3225,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3096,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3216,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3151,1
    - Dst: mbedtls_ssl_sig_from_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3191,1
    - Dst: mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3137,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2880,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2935,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2948,1
    - Dst: mbedtls_dhm_make_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2933,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2950,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2992,1
    - Dst: mbedtls_ssl_get_curve_name_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:2993,1
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3018,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3019,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3061,1
    - Dst: mbedtls_ssl_own_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3225,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3066,1
    - Dst: ssl_resume_server_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3204,1
    - Dst: mbedtls_ssl_sig_from_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3138,1
    - Dst: mbedtls_ecdh_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3081,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 199
    argCount: 2
    argNames:
    - ssl
    - signature_len
    argTypes:
    - mbedtls_ssl_context*
    - size_t*
    constantsTouched: []
    func_position:
      end: 3239
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 3239
    functionName: ssl_prepare_server_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_ecjpake_write_round
    - psa_destroy_key
    - mbedtls_ssl_get_tls_id_from_ecp_group_id
    - mbedtls_ecdh_make_params
    - psa_pake_abort
    - mbedtls_ssl_get_ciphersuite_sig_pk_alg
    - mbedtls_ssl_get_psa_curve_info_from_tls_id
    - mbedtls_ssl_own_key
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_dhm_make_params
    - mbedtls_dhm_set_group
    - psa_set_key_usage_flags
    - mbedtls_ssl_get_key_exchange_md_tls1_2
    - mbedtls_ssl_own_cert
    - mbedtls_dhm_get_len
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_MPI
    - psa_export_public_key
    - mbedtls_ssl_get_ecp_group_id_from_tls_id
    - mbedtls_ssl_md_alg_from_hash
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_DEBUG_ECDH
    - mbedtls_ssl_sig_from_pk_alg
    - psa_set_key_algorithm
    - psa_set_key_bits
    - mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg
    - mbedtls_ssl_ciphersuite_uses_server_signature
    - psa_generate_key
    - mbedtls_ssl_ciphersuite_uses_ecdhe
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_PUT_UINT16_BE
    - psa_key_attributes_init
    - mbedtls_pk_sign
    - ssl_resume_server_key_exchange
    - psa_set_key_type
    - mbedtls_ssl_get_curve_name_from_tls_id
    - mbedtls_ssl_get_groups
    - mbedtls_ssl_hash_from_md_alg
    - mbedtls_ecjpake_write_round_two
    - mbedtls_ssl_ciphersuite_uses_dhe
    - mbedtls_ecdh_setup
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_prepare_server_key_exchange(mbedtls_ssl_context
      *ssl, size_t *signature_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:253,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:273,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:254,1
    - Dst: mbedtls_ecjpake_set_point_format
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 282
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 282
    functionName: ssl_parse_supported_point_formats
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ecjpake_set_point_format
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_supported_point_formats(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 1565
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1565
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS
      && ssl->secure_renegotiation == MBEDTLS_SSL_LEGACY_RENEGOTIATION && ssl->conf->allow_legacy_renegotiation
      == MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_async_operation_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3431,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ssl
    - peer_pms
    - peer_pmslen
    - peer_pmssize
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3435
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3435
    functionName: ssl_resume_decrypt_pms
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_async_operation_data
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_resume_decrypt_pms(mbedtls_ssl_context
      *ssl, unsigned char *peer_pms, size_t *peer_pmslen, size_t peer_pmssize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1790,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1793,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1800
    functionName: ssl_write_extended_ms_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_extended_ms_ext(mbedtls_ssl_context *ssl, unsigned
      char *buf, size_t *olen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1746,1
    - Dst: mbedtls_ssl_get_mode_from_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1752,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1766,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:1768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - buf
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1775
    functionName: ssl_write_encrypt_then_mac_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_mode_from_ciphersuite
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_from_id
    - MBEDTLS_PUT_UINT16_BE
    linkageType: ''
    returnType: void
    signature: 'static void ssl_write_encrypt_then_mac_ext(mbedtls_ssl_context *ssl,
      unsigned char *buf, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:666,1
    - Dst: mbedtls_ssl_get_ecp_group_id_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pk
    - curves_tls_id
    argTypes:
    - mbedtls_pk_context*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 678
    functionName: ssl_check_key_curve
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_ecp_group_id_from_tls_id
    - mbedtls_pk_get_ec_group_id
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_key_curve(mbedtls_pk_context
      *pk, uint16_t *curves_tls_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4090,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4093,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4098,1
    - Dst: mbedtls_ssl_ciphersuite_cert_req_allowed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:4092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4100
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4100
    functionName: ssl_parse_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_cert_req_allowed
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecjpake_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:298,1
    - Dst: mbedtls_psa_ecjpake_read_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:306,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:301,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:309,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:310,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:312,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:313,1
    - Dst: mbedtls_ecjpake_read_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:321,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:323,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 334
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 334
    functionName: ssl_parse_ecjpake_kkpp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ecjpake_read_round_one
    - psa_destroy_key
    - mbedtls_ecjpake_check
    - psa_pake_abort
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_psa_ecjpake_read_round
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_ecjpake_kkpp(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl_conf_has_psk_or_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3615,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3624,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3628,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3632,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3616,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3644,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3650,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c:3651,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - ssl
    - p
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 3659
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3659
    functionName: ssl_parse_client_psk_identity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_conf_has_psk_or_cb
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ct_memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_client_psk_identity(mbedtls_ssl_context
      *ssl, unsigned char **p, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:403,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:437,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:438,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:445,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:455,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:472,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:473,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:482,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:493,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:508,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:520,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:536,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:515,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:520,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:432,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:408,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:413,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:425,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:419,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:460,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:467,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:496,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:499,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:505,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:545,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:536,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:452,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:385,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:454,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:462,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:490,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:492,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:496,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:506,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:513,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:529,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:512,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:513,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:425,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:416,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:418,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:402,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:417,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:423,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:458,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:460,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:474,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:483,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:528,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:528,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:407,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:412,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:427,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:444,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:445,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:461,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:480,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:481,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:489,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:497,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:546,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:520,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:531,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:439,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:413,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:414,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:415,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:432,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:465,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:467,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:467,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:499,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:504,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:530,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:531,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:536,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:540,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:452,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:424,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:426,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:451,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:434,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:459,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:469,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:488,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:490,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:501,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:537,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:504,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:432,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:419,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:418,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:446,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:383,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:406,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:430,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:474,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:480,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:483,1
    - Dst: vst1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:550,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:512,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:433,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:466,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:468,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:476,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:480,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:485,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:500,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:504,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:514,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:516,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:522,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:532,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:507,1
    - Dst: vst1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:551,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:437,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:439,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:415,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:416,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:417,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:439,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:472,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:474,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:483,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:488,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:539,1
    - Dst: vst1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:553,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:523,1
    - Dst: vst1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:552,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:488,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:538,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:431,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:405,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:412,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:423,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:424,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:441,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:458,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:459,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:475,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:484,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:499,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:498,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:531,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:530,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:541,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:446,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:453,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:384,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:386,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:413,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:414,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:481,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:497,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:523,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:539,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:515,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:515,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:547,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:438,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:448,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:440,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:465,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:466,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:473,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:482,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:489,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:505,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:506,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:517,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:529,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:537,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:544,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:521,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:444,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:418,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:404,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:417,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:446,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:419,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:460,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:491,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:507,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:523,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:491,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:538,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:539,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:522,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:533,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:431,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:447,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:412,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:409,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:430,1
    - Dst: vsha512su1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:496,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:498,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:509,1
    - Dst: vsha512h2q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:524,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:528,1
    - Dst: vsha512hq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:425,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:451,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:414,1
    - Dst: vrev64q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:415,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:416,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:453,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:453,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:491,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:507,1
    - Dst: vsha512su0q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:512,1
    - Dst: vld1q_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:521,1
    - Dst: vextq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:514,1
    - Dst: vaddq_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 345
    argCount: 3
    argNames:
    - ctx
    - msg
    - len
    argTypes:
    - mbedtls_sha512_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 556
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 556
    functionName: mbedtls_internal_sha512_process_many_a64_crypto
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - vreinterpretq_u8_u64
    - vsha512hq_u64
    - vextq_u64
    - vld1q_u64
    - vsha512su1q_u64
    - vsha512h2q_u64
    - vreinterpretq_u64_u8
    - vst1q_u64
    - vld1q_u8
    - vaddq_u64
    - vrev64q_u8
    - vsha512su0q_u64
    linkageType: ''
    returnType: size_t
    signature: 'static size_t mbedtls_internal_sha512_process_many_a64_crypto( mbedtls_sha512_context
      *ctx, const uint8_t *msg, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:264,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:266,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:267,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:268,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:265,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:269,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:270,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:271,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:275,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:276,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:277,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:278,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:279,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:280,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:281,1
    - Dst: UL64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - ctx
    - is384
    argTypes:
    - mbedtls_sha512_context*
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 291
    functionName: mbedtls_sha512_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - UL64
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha512_starts(mbedtls_sha512_context *ctx, int is384) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64x2_t
    - uint64x2_t
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: vsha512su0q_u64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64x2_t
    signature: 'static inline uint64x2_t vsha512su0q_u64(uint64x2_t x, uint64x2_t
      y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:830,1
    - Dst: mbedtls_internal_sha512_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:835,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:849,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:833,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:839,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:850,1
    - Dst: mbedtls_internal_sha512_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:852,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:859,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:860,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:861,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:863,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:870,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:871,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:864,1
    - Dst: sha512_put_uint64_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:862,1
    - Dst: mbedtls_sha512_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_sha512_context*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 879
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 879
    functionName: mbedtls_sha512_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - sha512_put_uint64_be
    - mbedtls_internal_sha512_process
    - mbedtls_sha512_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha512_finish(mbedtls_sha512_context *ctx, unsigned char
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: mbedtls_a64_crypto_sha512_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha512_determine_support(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64x2_t
    - uint64x2_t
    - uint64x2_t
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: vsha512su1q_u64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64x2_t
    signature: 'static inline uint64x2_t vsha512su1q_u64(uint64x2_t x, uint64x2_t
      y, uint64x2_t z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64x2_t
    - uint64x2_t
    - uint64x2_t
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: vsha512hq_u64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64x2_t
    signature: 'static inline uint64x2_t vsha512hq_u64(uint64x2_t x, uint64x2_t y,
      uint64x2_t z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64x2_t
    - uint64x2_t
    - uint64x2_t
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: vsha512h2q_u64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64x2_t
    signature: 'static inline uint64x2_t vsha512h2q_u64(uint64x2_t x, uint64x2_t y,
      uint64x2_t z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_sha512_process_many_a64_crypto
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_sha512_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: mbedtls_internal_sha512_process_a64_crypto
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha512_process_many_a64_crypto
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_sha512_process_a64_crypto(mbedtls_sha512_context
      *ctx, const unsigned char data[SHA512_BLOCK_SIZE]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_sha512_context*
    - mbedtls_sha512_context*
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: mbedtls_sha512_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha512_clone(mbedtls_sha512_context *dst, const mbedtls_sha512_context
      *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:636,1
    - Dst: S1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:638,1
    - Dst: S0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:639,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:653,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:642,1
    - Dst: S1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:657,1
    - Dst: S0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:658,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:663,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:665,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:667,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:669,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:671,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:675,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:673,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:677,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:687,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_sha512_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 690
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 690
    functionName: mbedtls_internal_sha512_process_c
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - S0
    - mbedtls_platform_zeroize
    - P
    - MBEDTLS_GET_UINT64_BE
    - S1
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_sha512_process_c(mbedtls_sha512_context *ctx,
      const unsigned char data[SHA512_BLOCK_SIZE]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_a64_crypto_sha512_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:747,1
    - Dst: mbedtls_internal_sha512_process_a64_crypto
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:748,1
    - Dst: mbedtls_internal_sha512_process_c
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_sha512_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 752
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 752
    functionName: mbedtls_internal_sha512_process
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha512_process_c
    - mbedtls_internal_sha512_process_a64_crypto
    - mbedtls_a64_crypto_sha512_has_support
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_sha512_process(mbedtls_sha512_context *ctx, const
      unsigned char data[SHA512_BLOCK_SIZE]) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1024,1
    - Dst: mbedtls_sha512_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1040,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1027,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1037,1
    - Dst: mbedtls_sha512_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1033,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1045,1
    - Dst: mbedtls_sha512_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1048,1
    - Dst: mbedtls_sha512_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1054,1
    - Dst: mbedtls_sha512_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1061,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1065,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1076,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1088,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1083,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1071,1
    - Dst: mbedtls_sha512_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1087,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - verbose
    - is384
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1091
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1091
    functionName: mbedtls_sha512_common_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_calloc
    - mbedtls_sha512_free
    - mbedtls_sha512_starts
    - memcmp
    - mbedtls_free
    - mbedtls_sha512_update
    - mbedtls_sha512_init
    - mbedtls_sha512_finish
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_sha512_common_self_test(int verbose, int is384) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - n
    - b
    - i
    argTypes:
    - uint64_t
    - unsigned char*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: sha512_put_uint64_be
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT64_BE
    linkageType: ''
    returnType: void
    signature: 'static void sha512_put_uint64_be(uint64_t n, unsigned char *b, uint8_t
      i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: mbedtls_a64_crypto_sha512_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - getauxval
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha512_determine_support(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_sha512_process_c
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - mbedtls_sha512_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 714
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 714
    functionName: mbedtls_internal_sha512_process_many_c
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha512_process_c
    linkageType: ''
    returnType: size_t
    signature: 'static size_t mbedtls_internal_sha512_process_many_c( mbedtls_sha512_context
      *ctx, const uint8_t *data, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_common_self_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: mbedtls_sha512_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_sha512_common_self_test
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha512_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_common_self_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1104
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1104
    functionName: mbedtls_sha384_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_sha512_common_self_test
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha384_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: sigill_handler
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: 'static void sigill_handler(int signal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha512_context*
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: mbedtls_sha512_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha512_init(mbedtls_sha512_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_a64_crypto_sha512_determine_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 732
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 732
    functionName: mbedtls_a64_crypto_sha512_has_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_a64_crypto_sha512_determine_support
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha512_has_support(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:177,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:185,1
    - Dst: setjmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:189,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:195,1
    - Dst: sigemptyset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:181,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 199
    functionName: mbedtls_a64_crypto_sha512_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - sigaction
    - setjmp
    - sigemptyset
    - sigprocmask
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha512_determine_support(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha512_context*
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: mbedtls_sha512_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha512_free(mbedtls_sha512_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_a64_crypto_sha512_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:737,1
    - Dst: mbedtls_internal_sha512_process_many_a64_crypto
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:738,1
    - Dst: mbedtls_internal_sha512_process_many_c
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - msg
    - len
    argTypes:
    - mbedtls_sha512_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 742
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 742
    functionName: mbedtls_internal_sha512_process_many
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha512_process_many_a64_crypto
    - mbedtls_internal_sha512_process_many_c
    - mbedtls_a64_crypto_sha512_has_support
    linkageType: ''
    returnType: size_t
    signature: 'static size_t mbedtls_internal_sha512_process_many(mbedtls_sha512_context
      *ctx, const uint8_t *msg, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:908,1
    - Dst: mbedtls_sha512_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:910,1
    - Dst: mbedtls_sha512_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:914,1
    - Dst: mbedtls_sha512_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:918,1
    - Dst: mbedtls_sha512_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:923,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - input
    - ilen
    - output
    - is384
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 926
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 926
    functionName: mbedtls_sha512
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_sha512_free
    - mbedtls_sha512_starts
    - mbedtls_sha512_update
    - mbedtls_sha512_init
    - mbedtls_sha512_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha512(const unsigned char *input, size_t ilen, unsigned
      char *output, int is384) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:781,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:804,1
    - Dst: mbedtls_internal_sha512_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:783,1
    - Dst: mbedtls_internal_sha512_process_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c:794,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_sha512_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 808
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 808
    functionName: mbedtls_sha512_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha512.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha512_process
    - mbedtls_internal_sha512_process_many
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha512_update(mbedtls_sha512_context *ctx, const unsigned
      char *input, size_t ilen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_ge
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:118,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:128,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:123,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - min
    - A
    - A_limbs
    argTypes:
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: mbedtls_mpi_core_uint_le_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool
    - mbedtls_ct_bool_or
    - mbedtls_ct_uint_ge
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'mbedtls_ct_condition_t mbedtls_mpi_core_uint_le_mpi(mbedtls_mpi_uint
      min, const mbedtls_mpi_uint *A, size_t A_limbs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:309,1
    - Dst: GET_BYTE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:323,1
    - Dst: GET_BYTE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - X
    - X_limbs
    - output
    - output_length
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 327
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 327
    functionName: mbedtls_mpi_core_write_be
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - GET_BYTE
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_core_write_be(const mbedtls_mpi_uint *X, size_t X_limbs,
      unsigned char *output, size_t output_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - X
    - limbs
    - count
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 402
    functionName: mbedtls_mpi_core_shift_l
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_shift_l(mbedtls_mpi_uint *X, size_t limbs, size_t
      count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:620,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:627,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:629,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:628,1
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:629,1
    - Dst: mbedtls_mpi_core_bigendian_to_host
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - X
    - X_limbs
    - n_bytes
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 634
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 634
    functionName: mbedtls_mpi_core_fill_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_bigendian_to_host
    - f_rng
    - CHARS_TO_LIMBS
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_core_fill_random( mbedtls_mpi_uint *X, size_t X_limbs,
      size_t n_bytes, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:731,1
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:733,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:737,1
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 8
    argNames:
    - A
    - N
    - AN_limbs
    - mm
    - RR
    - welem
    - Wtable
    - temp
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 746
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 746
    functionName: exp_mod_precompute_window
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_montmul
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void exp_mod_precompute_window(const mbedtls_mpi_uint *A, const
      mbedtls_mpi_uint *N, size_t AN_limbs, mbedtls_mpi_uint mm, const mbedtls_mpi_uint
      *RR, size_t welem, mbedtls_mpi_uint *Wtable, mbedtls_mpi_uint *temp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exp_mod_calc_first_bit_optionally_safe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:861,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:893,1
    - Dst: mbedtls_mpi_core_montmul_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:881,1
    - Dst: exp_mod_get_window_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:864,1
    - Dst: exp_mod_precompute_window
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:884,1
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:902,1
    - Dst: exp_mod_table_lookup_optionally_safe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:921,1
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:924,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 9
    argNames:
    - X
    - A
    - N
    - AN_limbs
    - E
    - E_limbs
    - E_public
    - RR
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - int
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 930
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 930
    functionName: mbedtls_mpi_core_exp_mod_optionally_safe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - exp_mod_get_window_size
    - exp_mod_precompute_window
    - mbedtls_mpi_core_montmul_init
    - memcpy
    - mbedtls_mpi_core_montmul
    - exp_mod_table_lookup_optionally_safe
    - exp_mod_calc_first_bit_optionally_safe
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_mpi_core_exp_mod_optionally_safe(mbedtls_mpi_uint
      *X, const mbedtls_mpi_uint *A, const mbedtls_mpi_uint *N, size_t AN_limbs, const
      mbedtls_mpi_uint *E, size_t E_limbs, int E_public, const mbedtls_mpi_uint *RR,
      mbedtls_mpi_uint *T) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_exp_mod_optionally_safe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 8
    argNames:
    - X
    - A
    - N
    - AN_limbs
    - E
    - E_limbs
    - RR
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 966
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 966
    functionName: mbedtls_mpi_core_exp_mod_unsafe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_exp_mod_optionally_safe
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_exp_mod_unsafe(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *N, size_t AN_limbs, const mbedtls_mpi_uint *E, size_t
      E_limbs, const mbedtls_mpi_uint *RR, mbedtls_mpi_uint *T) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - X
    - limbs
    - count
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 367
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 367
    functionName: mbedtls_mpi_core_shift_r
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_shift_r(mbedtls_mpi_uint *X, size_t limbs, size_t
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - X
    - A
    - B
    - limbs
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 420
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: mbedtls_mpi_core_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'mbedtls_mpi_uint mbedtls_mpi_core_add(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *B, size_t limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:644,1
    - Dst: mbedtls_mpi_core_uint_le_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:686,1
    - Dst: mbedtls_mpi_core_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:676,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:676,1
    - Dst: mbedtls_mpi_core_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:679,1
    - Dst: mbedtls_mpi_core_lt_ct
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:687,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - X
    - min
    - N
    - limbs
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 692
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 692
    functionName: mbedtls_mpi_core_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_fill_random
    - mbedtls_mpi_core_uint_le_mpi
    - mbedtls_ct_bool_and
    - mbedtls_mpi_core_lt_ct
    - mbedtls_mpi_core_bitlen
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_core_shift_r
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_core_random(mbedtls_mpi_uint *X, mbedtls_mpi_uint
      min, const mbedtls_mpi_uint *N, size_t limbs, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_exp_mod_optionally_safe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 8
    argNames:
    - X
    - A
    - N
    - AN_limbs
    - E
    - E_limbs
    - RR
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 948
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 948
    functionName: mbedtls_mpi_core_exp_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_exp_mod_optionally_safe
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_exp_mod(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *N, size_t AN_limbs, const mbedtls_mpi_uint *E, size_t
      E_limbs, const mbedtls_mpi_uint *RR, mbedtls_mpi_uint *T) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - X
    - A
    - c
    - /* doubles as carry */
    - limbs
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint
    - size_t
    constantsTouched: []
    func_position:
      end: 981
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 981
    functionName: mbedtls_mpi_core_sub_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'mbedtls_mpi_uint mbedtls_mpi_core_sub_int(mbedtls_mpi_uint *X, const
      mbedtls_mpi_uint *A, mbedtls_mpi_uint c, /* doubles as carry */ size_t limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_bigendian_to_host
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:105,1
    - Dst: mpi_bigendian_to_host
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - A
    - A_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 109
    functionName: mbedtls_mpi_core_bigendian_to_host
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mpi_bigendian_to_host
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_bigendian_to_host(mbedtls_mpi_uint *A, size_t
      A_limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_clz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - A
    - A_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: mbedtls_mpi_core_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_clz
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_mpi_core_bitlen(const mbedtls_mpi_uint *A, size_t A_limbs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:230,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:248,1
    - Dst: mbedtls_mpi_core_bigendian_to_host
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:251,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - X
    - X_limbs
    - input
    - input_length
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 254
    functionName: mbedtls_mpi_core_read_be
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_bigendian_to_host
    - CHARS_TO_LIMBS
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_core_read_be(mbedtls_mpi_uint *X, size_t X_limbs,
      const unsigned char *input, size_t input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:586,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:587,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:586,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:587,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:588,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:588,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:589,1
    - Dst: mbedtls_mpi_shrink
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - X
    - N
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 593
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 593
    functionName: mbedtls_mpi_core_get_mont_r2_unsafe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_lset
    - mbedtls_mpi_shift_l
    - mbedtls_mpi_shrink
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_core_get_mont_r2_unsafe(mbedtls_mpi *X, const mbedtls_mpi
      *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - Ebits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 706
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 706
    functionName: exp_mod_get_window_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t exp_mod_get_window_size(size_t Ebits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - A
    - limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 994
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 994
    functionName: mbedtls_mpi_core_check_zero_ct
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'mbedtls_ct_condition_t mbedtls_mpi_core_check_zero_ct(const mbedtls_mpi_uint
      *A, size_t limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BSWAP32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:74,1
    - Dst: MBEDTLS_BSWAP64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: mpi_bigendian_to_host
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BSWAP64
    - MBEDTLS_BSWAP32
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'static mbedtls_mpi_uint mpi_bigendian_to_host(mbedtls_mpi_uint a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BYTE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:272,1
    - Dst: GET_BYTE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:279,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - A
    - A_limbs
    - output
    - output_length
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 288
    functionName: mbedtls_mpi_core_write_le
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - GET_BYTE
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_core_write_le(const mbedtls_mpi_uint *A, size_t A_limbs,
      unsigned char *output, size_t output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:603,1
    - Dst: mbedtls_mpi_core_cond_assign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - dest
    - table
    - limbs
    - count
    - index
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 606
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 606
    functionName: mbedtls_mpi_core_ct_uint_table_lookup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_eq
    - mbedtls_mpi_core_cond_assign
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE void mbedtls_mpi_core_ct_uint_table_lookup(mbedtls_mpi_uint
      *dest, const mbedtls_mpi_uint *table, size_t limbs, size_t count, size_t index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp_mod_get_window_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - AN_limbs
    - E_limbs
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 719
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 719
    functionName: mbedtls_mpi_core_exp_mod_working_limbs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - exp_mod_get_window_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_mpi_core_exp_mod_working_limbs(size_t AN_limbs, size_t
      E_limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - X
    - A
    - N
    - AN_limbs
    - mm
    - rr
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 1005
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1005
    functionName: mbedtls_mpi_core_to_mont_rep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_montmul
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_to_mont_rep(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *N, size_t AN_limbs, mbedtls_mpi_uint mm, const mbedtls_mpi_uint
      *rr, mbedtls_mpi_uint *T) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_mpi_uint_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:197,1
    - Dst: mbedtls_ct_mpi_uint_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - X
    - Y
    - limbs
    - swap
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: mbedtls_mpi_core_cond_swap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_mpi_uint_if
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_cond_swap(mbedtls_mpi_uint *X, mbedtls_mpi_uint
      *Y, size_t limbs, mbedtls_ct_condition_t swap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - d
    - d_len
    - s
    - s_len
    - b
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 496
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 496
    functionName: mbedtls_mpi_core_mla
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'mbedtls_mpi_uint mbedtls_mpi_core_mla(mbedtls_mpi_uint *d, size_t
      d_len, const mbedtls_mpi_uint *s, size_t s_len, mbedtls_mpi_uint b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 523
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 523
    functionName: mbedtls_mpi_core_montmul_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'mbedtls_mpi_uint mbedtls_mpi_core_montmul_init(const mbedtls_mpi_uint
      *N) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:813,1
    - Dst: mbedtls_mpi_core_ct_uint_table_lookup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - Wselect
    - Wtable
    - AN_limbs
    - welem
    - window
    - window_public
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - size_t
    - mbedtls_mpi_uint
    - int
    constantsTouched: []
    func_position:
      end: 829
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 829
    functionName: exp_mod_table_lookup_optionally_safe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_ct_uint_table_lookup
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static inline void exp_mod_table_lookup_optionally_safe(mbedtls_mpi_uint
      *Wselect, mbedtls_mpi_uint *Wtable, size_t AN_limbs, size_t welem, mbedtls_mpi_uint
      window, int window_public) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __has_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:26,1
    - Dst: __has_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:28,1
    - Dst: __has_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:30,1
    - Dst: core_clz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:35,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - a
    argTypes:
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: mbedtls_mpi_core_clz
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - core_clz
    - __has_builtin
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_mpi_core_clz(mbedtls_mpi_uint a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:207,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - X
    - X_limbs
    - input
    - input_length
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: mbedtls_mpi_core_read_le
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - CHARS_TO_LIMBS
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_core_read_le(mbedtls_mpi_uint *X, size_t X_limbs,
      const unsigned char *input, size_t input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:502,1
    - Dst: mbedtls_mpi_core_mla
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - X
    - A
    - A_limbs
    - B
    - B_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: mbedtls_mpi_core_mul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_mla
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_mul(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, size_t A_limbs, const mbedtls_mpi_uint *B, size_t B_limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:534,1
    - Dst: mbedtls_mpi_core_mla
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:542,1
    - Dst: mbedtls_ct_memcpy_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:574,1
    - Dst: mbedtls_mpi_core_mla
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:541,1
    - Dst: mbedtls_mpi_core_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:558,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 8
    argNames:
    - X
    - A
    - B
    - B_limbs
    - N
    - AN_limbs
    - mm
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 579
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 579
    functionName: mbedtls_mpi_core_montmul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_mla
    - mbedtls_mpi_core_sub
    - memset
    - mbedtls_ct_bool
    - mbedtls_ct_memcpy_if
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_montmul(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *B, size_t B_limbs, const mbedtls_mpi_uint *N, size_t
      AN_limbs, mbedtls_mpi_uint mm, mbedtls_mpi_uint *T) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - E
    - E_limbs
    - E_public
    - E_limb_index
    - E_bit_index
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - int
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 799
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 799
    functionName: exp_mod_calc_first_bit_optionally_safe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_bitlen
    linkageType: ''
    returnType: void
    signature: 'static inline void exp_mod_calc_first_bit_optionally_safe(const mbedtls_mpi_uint
      *E, size_t E_limbs, int E_public, size_t *E_limb_index, size_t *E_bit_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_lt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:145,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:155,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:155,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:146,1
    - Dst: mbedtls_ct_uint_lt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:154,1
    - Dst: mbedtls_ct_bool_not
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:155,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - A
    - B
    - limbs
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 165
    functionName: mbedtls_mpi_core_lt_ct
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_or
    - mbedtls_ct_uint_lt
    - mbedtls_ct_bool_and
    - mbedtls_ct_bool_not
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'mbedtls_ct_condition_t mbedtls_mpi_core_lt_ct(const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *B, size_t limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:429,1
    - Dst: mbedtls_ct_mpi_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - X
    - A
    - limbs
    - cond
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 441
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 441
    functionName: mbedtls_mpi_core_add_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool
    - mbedtls_ct_mpi_uint_if_else_0
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'mbedtls_mpi_uint mbedtls_mpi_core_add_if(mbedtls_mpi_uint *X, const
      mbedtls_mpi_uint *A, size_t limbs, unsigned cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_mpi_uint_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - X
    - A
    - limbs
    - assign
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: mbedtls_mpi_core_cond_assign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_mpi_uint_if
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_cond_assign(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, size_t limbs, mbedtls_ct_condition_t assign) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - X
    - A
    - B
    - limbs
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: mbedtls_mpi_core_sub
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'mbedtls_mpi_uint mbedtls_mpi_core_sub(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *B, size_t limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c:1016,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - X
    - A
    - N
    - AN_limbs
    - mm
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: mbedtls_mpi_core_from_mont_rep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_montmul
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_core_from_mont_rep(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *N, size_t AN_limbs, mbedtls_mpi_uint mm, mbedtls_mpi_uint
      *T) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: aes_setkey_enc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_setkey_enc
    linkageType: ''
    returnType: int
    signature: 'static int aes_setkey_enc_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:261,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: aes_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_aes_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_xts_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: xts_aes_setkey_enc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_xts_setkey_enc
    linkageType: ''
    returnType: int
    signature: 'static int xts_aes_setkey_enc_wrap(void *ctx, const unsigned char
      *key, unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - operation
    - length
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 790
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 790
    functionName: camellia_crypt_cbc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_crypt_cbc
    linkageType: ''
    returnType: int
    signature: 'static int camellia_crypt_cbc_wrap(void *ctx, mbedtls_operation_t
      operation, size_t length, unsigned char *iv, const unsigned char *input, unsigned
      char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1020
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    functionName: gcm_camellia_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_gcm_setkey
    linkageType: ''
    returnType: int
    signature: 'static int gcm_camellia_setkey_wrap(void *ctx, const unsigned char
      *key, unsigned int key_bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1713,1
    - Dst: mbedtls_des3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1722
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1722
    functionName: des3_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_init
    - mbedtls_calloc
    linkageType: ''
    returnType: void*
    signature: 'static void *des3_ctx_alloc(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chachapoly_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1988
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1988
    functionName: chachapoly_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_setkey
    linkageType: ''
    returnType: int
    signature: 'static int chachapoly_setkey_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:248,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: aes_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_aes_init
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_xts_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: xts_aes_setkey_dec_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_xts_setkey_dec
    linkageType: ''
    returnType: int
    signature: 'static int xts_aes_setkey_dec_wrap(void *ctx, const unsigned char
      *key, unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1243
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1243
    functionName: aria_setkey_enc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_setkey_enc
    linkageType: ''
    returnType: int
    signature: 'static int aria_setkey_enc_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1726,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1728
    functionName: des3_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_des3_free
    linkageType: ''
    returnType: void
    signature: 'static void des3_ctx_free(void *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1993,1
    - Dst: mbedtls_chachapoly_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2002
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2002
    functionName: chachapoly_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_chachapoly_init
    linkageType: ''
    returnType: void*
    signature: 'static void *chachapoly_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: camellia_setkey_dec_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_setkey_dec
    linkageType: ''
    returnType: int
    signature: 'static int camellia_setkey_dec_wrap(void *ctx, const unsigned char
      *key, unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: aes_setkey_dec_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_setkey_dec
    linkageType: ''
    returnType: int
    signature: 'static int aes_setkey_dec_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_xts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 6
    argNames:
    - ctx
    - operation
    - length
    - data_unit
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 229
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 229
    functionName: aes_crypt_xts_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_xts
    linkageType: ''
    returnType: int
    signature: 'static int aes_crypt_xts_wrap(void *ctx, mbedtls_operation_t operation,
      size_t length, const unsigned char data_unit[16], const unsigned char *input,
      unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - length
    - nc_off
    - nonce_counter
    - stream_block
    - input
    - output
    argTypes:
    - void*
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: aes_crypt_ctr_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_ctr
    linkageType: ''
    returnType: int
    signature: 'static int aes_crypt_ctr_wrap(void *ctx, size_t length, size_t *nc_off,
      unsigned char *nonce_counter, unsigned char *stream_block, const unsigned char
      *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ofb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - void*
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: aes_crypt_ofb_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_ofb
    linkageType: ''
    returnType: int
    signature: 'static int aes_crypt_ofb_wrap(void *ctx, size_t length, size_t *iv_off,
      unsigned char *iv, const unsigned char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 574
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 574
    functionName: gcm_aes_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_gcm_setkey
    linkageType: ''
    returnType: int
    signature: 'static int gcm_aes_setkey_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_cfb128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - operation
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: aes_crypt_cfb128_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_cfb128
    linkageType: ''
    returnType: int
    signature: 'static int aes_crypt_cfb128_wrap(void *ctx, mbedtls_operation_t operation,
      size_t length, size_t *iv_off, unsigned char *iv, const unsigned char *input,
      unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - operation
    - length
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: aes_crypt_cbc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_cbc
    linkageType: ''
    returnType: int
    signature: 'static int aes_crypt_cbc_wrap(void *ctx, mbedtls_operation_t operation,
      size_t length, unsigned char *iv, const unsigned char *input, unsigned char
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: ccm_aes_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_setkey
    linkageType: ''
    returnType: int
    signature: 'static int ccm_aes_setkey_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - operation
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: aes_crypt_ecb_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'static int aes_crypt_ecb_wrap(void *ctx, mbedtls_operation_t operation,
      const unsigned char *input, unsigned char *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:494,1
    - Dst: mbedtls_aes_xts_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: xts_aes_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_aes_xts_init
    linkageType: ''
    returnType: void*
    signature: 'static void *xts_aes_ctx_alloc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:830,1
    - Dst: mbedtls_camellia_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 839
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 839
    functionName: camellia_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_camellia_init
    linkageType: ''
    returnType: void*
    signature: 'static void *camellia_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: ccm_camellia_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_setkey
    linkageType: ''
    returnType: int
    signature: 'static int ccm_camellia_setkey_wrap(void *ctx, const unsigned char
      *key, unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1438
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1438
    functionName: gcm_aria_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_gcm_setkey
    linkageType: ''
    returnType: int
    signature: 'static int gcm_aria_setkey_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - operation
    - length
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1631
    functionName: des_crypt_cbc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des_crypt_cbc
    linkageType: ''
    returnType: int
    signature: 'static int des_crypt_cbc_wrap(void *ctx, mbedtls_operation_t operation,
      size_t length, unsigned char *iv, const unsigned char *input, unsigned char
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - operation
    - length
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1640
    functionName: des3_crypt_cbc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_crypt_cbc
    linkageType: ''
    returnType: int
    signature: 'static int des3_crypt_cbc_wrap(void *ctx, mbedtls_operation_t operation,
      size_t length, unsigned char *iv, const unsigned char *input, unsigned char
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_set2key_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1665
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1665
    functionName: des3_set2key_dec_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_set2key_dec
    linkageType: ''
    returnType: int
    signature: 'static int des3_set2key_dec_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_xts_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:511,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: xts_aes_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_aes_xts_free
    linkageType: ''
    returnType: void
    signature: 'static void xts_aes_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:843,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: camellia_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_camellia_free
    linkageType: ''
    returnType: void
    signature: 'static void camellia_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_set2key_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1673
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1673
    functionName: des3_set2key_enc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_set2key_enc
    linkageType: ''
    returnType: int
    signature: 'static int des3_set2key_enc_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_set3key_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1689
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1689
    functionName: des3_set3key_enc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_set3key_enc
    linkageType: ''
    returnType: int
    signature: 'static int des3_set3key_enc_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - length
    - input
    - output
    argTypes:
    - void*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1911
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1911
    functionName: chacha20_stream_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_update
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_stream_wrap(void *ctx, size_t length, const unsigned
      char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - input
    - output
    argTypes:
    - void*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2058
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2058
    functionName: null_crypt_stream
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int null_crypt_stream(void *ctx, size_t length, const unsigned
      char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2068
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2068
    functionName: null_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_setkey(void *ctx, const unsigned char *key, unsigned
      int key_bitlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1897
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1897
    functionName: chacha20_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_setkey
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_setkey_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:122,1
    - Dst: mbedtls_gcm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: gcm_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_gcm_init
    linkageType: ''
    returnType: void*
    signature: 'static void *gcm_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - operation
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 781
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 781
    functionName: camellia_crypt_ecb_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'static int camellia_crypt_ecb_wrap(void *ctx, mbedtls_operation_t
      operation, const unsigned char *input, unsigned char *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1248,1
    - Dst: mbedtls_aria_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1257
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1257
    functionName: aria_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_init
    - mbedtls_calloc
    linkageType: ''
    returnType: void*
    signature: 'static void *aria_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1509
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1509
    functionName: ccm_aria_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_setkey
    linkageType: ''
    returnType: int
    signature: 'static int ccm_aria_setkey_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_nist_kw_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2144
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2144
    functionName: kw_aes_setkey_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_nist_kw_setkey
    linkageType: ''
    returnType: int
    signature: 'static int kw_aes_setkey_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1236
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1236
    functionName: aria_setkey_dec_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_setkey_dec
    linkageType: ''
    returnType: int
    signature: 'static int aria_setkey_dec_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:133,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: gcm_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_gcm_free
    linkageType: ''
    returnType: void
    signature: 'static void gcm_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1261,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1263
    functionName: aria_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_aria_free
    linkageType: ''
    returnType: void
    signature: 'static void aria_ctx_free(void *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1916,1
    - Dst: mbedtls_chacha20_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1925
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1925
    functionName: chacha20_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_chacha20_init
    linkageType: ''
    returnType: void*
    signature: 'static void *chacha20_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2073
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2073
    functionName: null_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *null_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_nist_kw_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2151
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2151
    functionName: kw_aes_setkey_unwrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_nist_kw_setkey
    linkageType: ''
    returnType: int
    signature: 'static int kw_aes_setkey_unwrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2078
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2078
    functionName: null_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void null_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_set3key_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: des3_set3key_dec_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_set3key_dec
    linkageType: ''
    returnType: int
    signature: 'static int des3_set3key_dec_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:144,1
    - Dst: mbedtls_ccm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: ccm_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_ccm_init
    linkageType: ''
    returnType: void*
    signature: 'static void *ccm_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - operation
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1199
    functionName: aria_crypt_ecb_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'static int aria_crypt_ecb_wrap(void *ctx, mbedtls_operation_t operation,
      const unsigned char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - operation
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1616
    functionName: des_crypt_ecb_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'static int des_crypt_ecb_wrap(void *ctx, mbedtls_operation_t operation,
      const unsigned char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: des_setkey_dec_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des_setkey_dec
    linkageType: ''
    returnType: int
    signature: 'static int des_setkey_dec_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1693,1
    - Dst: mbedtls_des_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1702
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1702
    functionName: des_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_des_init
    linkageType: ''
    returnType: void*
    signature: 'static void *des_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chachapoly_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2006,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2008
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2008
    functionName: chachapoly_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_free
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'static void chachapoly_ctx_free(void *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2124,1
    - Dst: mbedtls_nist_kw_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2131
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2131
    functionName: kw_ctx_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_nist_kw_init
    - mbedtls_calloc
    linkageType: ''
    returnType: void*
    signature: 'static void *kw_ctx_alloc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:155,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: ccm_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ccm_free
    linkageType: ''
    returnType: void
    signature: 'static void ccm_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 825
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 825
    functionName: camellia_setkey_enc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_setkey_enc
    linkageType: ''
    returnType: int
    signature: 'static int camellia_setkey_enc_wrap(void *ctx, const unsigned char
      *key, unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - length
    - nc_off
    - nonce_counter
    - stream_block
    - input
    - output
    argTypes:
    - void*
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1228
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1228
    functionName: aria_crypt_ctr_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_crypt_ctr
    linkageType: ''
    returnType: int
    signature: 'static int aria_crypt_ctr_wrap(void *ctx, size_t length, size_t *nc_off,
      unsigned char *nonce_counter, unsigned char *stream_block, const unsigned char
      *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - operation
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1623
    functionName: des3_crypt_ecb_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'static int des3_crypt_ecb_wrap(void *ctx, mbedtls_operation_t operation,
      const unsigned char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1657
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1657
    functionName: des_setkey_enc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_des_setkey_enc
    linkageType: ''
    returnType: int
    signature: 'static int des_setkey_enc_wrap(void *ctx, const unsigned char *key,
      unsigned int key_bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_crypt_cfb128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - operation
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1218
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1218
    functionName: aria_crypt_cfb128_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_crypt_cfb128
    linkageType: ''
    returnType: int
    signature: 'static int aria_crypt_cfb128_wrap(void *ctx, mbedtls_operation_t operation,
      size_t length, size_t *iv_off, unsigned char *iv, const unsigned char *input,
      unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1706,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1708
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1708
    functionName: des_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_des_free
    linkageType: ''
    returnType: void
    signature: 'static void des_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_nist_kw_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2135,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:2136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2137
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2137
    functionName: kw_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_nist_kw_free
    linkageType: ''
    returnType: void
    signature: 'static void kw_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - operation
    - length
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1208
    functionName: aria_crypt_cbc_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_crypt_cbc
    linkageType: ''
    returnType: int
    signature: 'static int aria_crypt_cbc_wrap(void *ctx, mbedtls_operation_t operation,
      size_t length, unsigned char *iv, const unsigned char *input, unsigned char
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1929,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:1930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1931
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1931
    functionName: chacha20_ctx_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_chacha20_free
    linkageType: ''
    returnType: void
    signature: 'static void chacha20_ctx_free(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:808,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - length
    - nc_off
    - nonce_counter
    - stream_block
    - input
    - output
    argTypes:
    - void*
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: camellia_crypt_ctr_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_crypt_ctr
    linkageType: ''
    returnType: int
    signature: 'static int camellia_crypt_ctr_wrap(void *ctx, size_t length, size_t
      *nc_off, unsigned char *nonce_counter, unsigned char *stream_block, const unsigned
      char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_crypt_cfb128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - operation
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 800
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 800
    functionName: camellia_crypt_cfb128_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher_wrap.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_crypt_cfb128
    linkageType: ''
    returnType: int
    signature: 'static int camellia_crypt_cfb128_wrap(void *ctx, mbedtls_operation_t
      operation, size_t length, size_t *iv_off, unsigned char *iv, const unsigned
      char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 4508
      start: 4503
    functionDepth: 0
    functionLinenumber: 4503
    functionLinenumberEnd: 4508
    functionName: ecp_mpi_set1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void ecp_mpi_set1(mbedtls_mpi *X) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4728,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4780,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4764,1
    - Dst: ecp_use_curve25519
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4791,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4720,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4770,1
    - Dst: ecp_use_curve448
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4797,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4734,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4740,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4746,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4752,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4785,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4775,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4718,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4727,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4733,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4739,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4745,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4751,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4758,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - grp
    - id
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 4804
      start: 4716
    functionDepth: 0
    functionLinenumber: 4716
    functionLinenumberEnd: 4804
    functionName: mbedtls_ecp_group_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - LOAD_GROUP
    - ecp_use_curve25519
    - mbedtls_ecp_group_free
    - LOAD_GROUP_A
    - NIST_MODP
    - ecp_use_curve448
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_group_load(mbedtls_ecp_group *grp, mbedtls_ecp_group_id
      id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - carry
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 4850
      start: 4843
    functionDepth: 0
    functionLinenumber: 4843
    functionLinenumberEnd: 4850
    functionName: carry64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void carry64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint
      *carry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5016,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5019,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5018,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5018,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5019,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5020,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5020,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5021,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5021,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5021,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5022,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5024,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5023,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5023,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5022,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5023,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5024,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5028
      start: 5014
    functionDepth: 0
    functionLinenumber: 5014
    functionLinenumberEnd: 5028
    functionName: ecp_mod_p224
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - INIT
    - ADD
    - SUB
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p224(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5037,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5040,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5042,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5043,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5046,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5048,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5048,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5051,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5051,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5054,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5057,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5058,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5057,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5040,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5043,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5048,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5045,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5048,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5049,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5051,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5054,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5057,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5054,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5058,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5060,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5060,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5057,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5039,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5040,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5042,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5046,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5043,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5049,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5051,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5052,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5054,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5055,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5057,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5055,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5061,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5060,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5060,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5039,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5040,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5043,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5046,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5045,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5048,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5049,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5051,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5052,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5054,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5057,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5061,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5061,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 57
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5065
      start: 5035
    functionDepth: 0
    functionLinenumber: 5035
    functionLinenumberEnd: 5065
    functionName: ecp_mod_p256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - INIT
    - ADD
    - SUB
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p256(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5076,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5080,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5085,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5085,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5088,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5088,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5089,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5091,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5091,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5094,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5100,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5104,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5109,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5110,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5095,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5109,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5103,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5097,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5103,1
    - Dst: INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5074,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5076,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5079,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5082,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5086,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5088,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5089,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5091,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5091,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5092,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5097,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5097,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5077,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5079,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5083,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5085,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5086,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5088,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5088,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5089,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5091,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5094,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5098,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5100,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5091,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5103,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5094,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5107,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5109,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5097,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5106,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5106,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5076,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5079,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5080,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5082,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5085,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5083,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5086,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5088,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5088,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5091,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5101,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5100,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5106,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5094,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5094,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5114
      start: 5072
    functionDepth: 0
    functionLinenumber: 5072
    functionLinenumberEnd: 5114
    functionName: ecp_mod_p384
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - INIT
    - ADD
    - SUB
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p384(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTES_TO_T_UINT_8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5399,1
    - Dst: ecp_mod_koblitz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5405
      start: 5396
    functionDepth: 0
    functionLinenumber: 5396
    functionLinenumberEnd: 5405
    functionName: ecp_mod_p192k1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTES_TO_T_UINT_8
    - ecp_mod_koblitz
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p192k1(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTES_TO_T_UINT_8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5416,1
    - Dst: ecp_mod_koblitz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5421,1
    - Dst: ecp_mod_koblitz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5426
      start: 5413
    functionDepth: 0
    functionLinenumber: 5413
    functionLinenumberEnd: 5426
    functionName: ecp_mod_p224k1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTES_TO_T_UINT_8
    - ecp_mod_koblitz
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p224k1(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTES_TO_T_UINT_8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5438,1
    - Dst: ecp_mod_koblitz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5443
      start: 5435
    functionDepth: 0
    functionLinenumber: 5435
    functionLinenumberEnd: 5443
    functionName: ecp_mod_p256k1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTES_TO_T_UINT_8
    - ecp_mod_koblitz
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p256k1(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - X
    - p
    - len
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 4498
      start: 4493
    functionDepth: 0
    functionLinenumber: 4493
    functionLinenumberEnd: 4498
    functionName: ecp_mpi_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void ecp_mpi_load(mbedtls_mpi *X, const mbedtls_mpi_uint
      *p, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4678,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4681,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4682,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4684,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4691,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4686,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4683,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4685,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4690,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4695,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4696,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4698,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4704,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4681,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4678,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4682,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4691,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4684,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4696,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4675,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4683,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4692,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4685,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4690,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4695,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4698,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 4710
      start: 4670
    functionDepth: 0
    functionLinenumber: 4670
    functionLinenumberEnd: 4710
    functionName: ecp_use_curve448
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_ecp_group_free
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_lset
    - mbedtls_mpi_shift_l
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_set_bit
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_use_curve448(mbedtls_ecp_group *grp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - src
    - carry
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 4840
      start: 4831
    functionDepth: 0
    functionLinenumber: 4831
    functionLinenumberEnd: 4840
    functionName: add64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void add64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint *src,
      mbedtls_mpi_uint *carry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - carry
    argTypes:
    - uint32_t*
    - uint32_t
    - signed char*
    constantsTouched: []
    func_position:
      end: 4944
      start: 4940
    functionDepth: 0
    functionLinenumber: 4940
    functionLinenumberEnd: 4944
    functionName: sub32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void sub32(uint32_t *dst, uint32_t src, signed char
      *carry) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5339,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5342,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5342,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5355,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5340,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5355,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5356,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5356,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5365,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5366,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5382,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5382,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5368,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5381,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5381,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 6
    argNames:
    - N
    - Rp
    - p_limbs
    - adjust
    - shift
    - mask
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi_uint*
    - size_t
    - size_t
    - size_t
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 5386
      start: 5313
    functionDepth: 0
    functionLinenumber: 5313
    functionLinenumberEnd: 5386
    functionName: ecp_mod_koblitz
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_add_abs
    - mbedtls_mpi_mul_mpi
    - memcpy
    - mbedtls_mpi_shift_r
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: int
    signature: 'static inline int ecp_mod_koblitz(mbedtls_mpi *N, const mbedtls_mpi_uint
      *Rp, size_t p_limbs, size_t adjust, size_t shift, mbedtls_mpi_uint mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4626,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4629,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4630,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4642,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4631,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4637,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4650,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4641,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4626,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4630,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4629,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4632,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4635,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4642,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4631,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4641,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4643,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4635,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 4654
      start: 4621
    functionDepth: 0
    functionLinenumber: 4621
    functionLinenumberEnd: 4654
    functionName: ecp_use_curve25519
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_ecp_group_free
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_lset
    - mbedtls_mpi_shift_l
    - mbedtls_mpi_set_bit
    - mbedtls_mpi_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_use_curve25519(mbedtls_ecp_group *grp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - N
    - c
    - bits
    argTypes:
    - mbedtls_mpi*
    - signed char
    - size_t
    constantsTouched: []
    func_position:
      end: 5008
      start: 4980
    functionDepth: 0
    functionLinenumber: 4980
    functionLinenumberEnd: 5008
    functionName: mbedtls_ecp_fix_negative
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_ecp_fix_negative(mbedtls_mpi *N, signed char c,
      size_t bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5166,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5167,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5167,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5176,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5180
      start: 5145
    functionDepth: 0
    functionLinenumber: 5145
    functionLinenumberEnd: 5180
    functionName: ecp_mod_p521
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_add_abs
    - memcpy
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p521(mbedtls_mpi *N) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5212,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5213,1
    - Dst: mbedtls_mpi_core_mla
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5221
      start: 5197
    functionDepth: 0
    functionLinenumber: 5197
    functionLinenumberEnd: 5221
    functionName: ecp_mod_p255
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_mpi_core_mla
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p255(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - carry
    argTypes:
    - uint32_t*
    - uint32_t
    - signed char*
    constantsTouched: []
    func_position:
      end: 4938
      start: 4934
    functionDepth: 0
    functionLinenumber: 4934
    functionLinenumberEnd: 4938
    functionName: add32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void add32(uint32_t *dst, uint32_t src, signed char
      *carry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4522,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4526,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4524,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4527,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4529,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4530,1
    - Dst: ecp_mpi_set1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4531,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4533,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 14
    argNames:
    - grp
    - p
    - plen
    - a
    - alen
    - b
    - blen
    - gx
    - gxlen
    - gy
    - gylen
    - n
    - nlen
    - T
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 4545
      start: 4513
    functionDepth: 0
    functionLinenumber: 4513
    functionLinenumberEnd: 4545
    functionName: ecp_group_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - ecp_mpi_set1
    - mbedtls_mpi_bitlen
    - ecp_mpi_load
    linkageType: ''
    returnType: int
    signature: 'static int ecp_group_load(mbedtls_ecp_group *grp, const mbedtls_mpi_uint
      *p, size_t plen, const mbedtls_mpi_uint *a, size_t alen, const mbedtls_mpi_uint
      *b, size_t blen, const mbedtls_mpi_uint *gx, size_t gxlen, const mbedtls_mpi_uint
      *gy, size_t gylen, const mbedtls_mpi_uint *n, size_t nlen, const mbedtls_ecp_point
      *T) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5266,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5280,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5275,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5275,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5267,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5281,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5281,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5282,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5282,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5291,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5293,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5293,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5294,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5291,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:5294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5298
      start: 5247
    functionDepth: 0
    functionLinenumber: 5247
    functionLinenumberEnd: 5298
    functionName: ecp_mod_p448
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_shift_l
    - mbedtls_mpi_shift_r
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p448(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5452
      start: 5449
    functionDepth: 0
    functionLinenumber: 5449
    functionLinenumberEnd: 5452
    functionName: (void)
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_get_variant
    signature: 'mbedtls_ecp_get_variant (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4868,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4874,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4873,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4873,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4868,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4874,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4874,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4875,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c:4875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 4879
      start: 4861
    functionDepth: 0
    functionLinenumber: 4861
    functionLinenumberEnd: 4879
    functionName: ecp_mod_p192
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - ADD
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p192(mbedtls_mpi *N) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:89,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:91,1
    - Dst: psa_key_id_is_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:100,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:89,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:90,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:101,1
    - Dst: psa_get_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:102,1
    - Dst: mbedtls_test_opaque_size_function
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - attributes
    - key_buffer_size
    argTypes:
    - psa_key_attributes_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 119
    functionName: psa_driver_wrapper_get_key_buffer_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_key_id_is_builtin
    - psa_get_key_bits
    - psa_get_key_id
    - psa_get_key_type
    - psa_get_key_lifetime
    - mbedtls_test_opaque_size_function
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_driver_wrapper_get_key_buffer_size( const psa_key_attributes_t
      *attributes, size_t *key_buffer_size ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:227,1
    - Dst: mbedtls_test_opaque_get_builtin_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:234,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - slot_number
    - attributes
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_drv_slot_number_t
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 253
    functionName: psa_driver_wrapper_get_builtin_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_get_builtin_key
    - psa_get_key_lifetime
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_driver_wrapper_get_builtin_key( psa_drv_slot_number_t
      slot_number, psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size,
      size_t *key_buffer_length ) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:129,1
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:137,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:137,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:130,1
    - Dst: mbedtls_test_transparent_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:160,1
    - Dst: p256_transparent_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:174,1
    - Dst: psa_export_public_key_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:190,1
    - Dst: mbedtls_test_opaque_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c:202,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 219
    functionName: psa_driver_wrapper_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers_no_static.c
    functionUses: []
    functionsReached:
    - p256_transparent_export_public_key
    - psa_get_se_driver
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_export_public_key_internal
    - mbedtls_test_transparent_export_public_key
    - psa_get_key_lifetime
    - mbedtls_test_opaque_export_public_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_driver_wrapper_export_public_key( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - AN_limbs
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: mbedtls_mpi_core_montmul_working_limbs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_mpi_core_montmul_working_limbs(size_t
      AN_limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: mbedtls_mpi_optionally_safe_codepath_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_core.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_mpi_optionally_safe_codepath_reset(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:743,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:753,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:756,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:757,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:754,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:759,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:763,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 769
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 769
    functionName: ssl_tls13_write_server_pre_shared_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_svc_key_id_is_null
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: int
    signature: 'static int ssl_tls13_write_server_pre_shared_key_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_psk_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1043,1
    - Dst: mbedtls_ssl_tls13_is_psk_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1044,1
    - Dst: ssl_tls13_client_hello_has_exts_for_psk_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1050
    functionName: ssl_tls13_key_exchange_is_psk_available
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_is_psk_supported
    - mbedtls_ssl_conf_tls13_is_psk_enabled
    - ssl_tls13_client_hello_has_exts_for_psk_key_exchange
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_key_exchange_is_psk_available(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1954,1
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1960,1
    - Dst: ssl_tls13_parse_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1960,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1956,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1956,1
    - Dst: mbedtls_ssl_conf_is_tls12_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1977,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1978,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1980,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1990,1
    - Dst: ssl_tls13_postprocess_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1991,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1995,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1997,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2004
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 2004
    functionName: ssl_tls13_process_client_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PROC_CHK_NEG
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_conf_is_tls12_enabled
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_parse_client_hello
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_postprocess_client_hello
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_client_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2278,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2288,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2290,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2321,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2351,1
    - Dst: ssl_tls13_write_hrr_key_share_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2359,1
    - Dst: ssl_tls13_write_server_hello_supported_versions_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2349,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2296,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2311,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2322,1
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2357,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2383,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2293,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2304,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2324,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2345,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2334,1
    - Dst: ssl_tls13_write_key_share_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2361,1
    - Dst: ssl_tls13_write_server_pre_shared_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2371,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2373,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2388,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2279,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2307,1
    - Dst: mbedtls_ssl_get_ciphersuite_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2326,1
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2370,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2381,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2390,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - out_len
    - is_hrr
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 2396
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2396
    functionName: ssl_tls13_write_server_hello_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - ssl_tls13_write_server_hello_supported_versions_ext
    - mbedtls_ssl_get_ciphersuite_name
    - ssl_tls13_write_server_pre_shared_key_ext
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral
    - MBEDTLS_SSL_PRINT_EXTS
    - memcpy
    - mbedtls_ssl_tls13_key_exchange_mode_with_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_write_key_share_ext
    - ssl_tls13_write_hrr_key_share_ext
    - MBEDTLS_SSL_CHK_BUF_PTR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_server_hello_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len, int is_hrr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3098,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3115,1
    - Dst: mbedtls_ssl_tls13_is_some_psk_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3109,1
    - Dst: mbedtls_ssl_tls13_handshake_wrapup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3100,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3118
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3118
    functionName: ssl_tls13_handshake_wrapup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_is_some_psk_supported
    - mbedtls_ssl_tls13_handshake_wrapup
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_handshake_wrapup(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1056,1
    - Dst: mbedtls_ssl_tls13_is_psk_ephemeral_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1057,1
    - Dst: ssl_tls13_client_hello_has_exts_for_psk_ephemeral_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1063
    functionName: ssl_tls13_key_exchange_is_psk_ephemeral_available
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_is_psk_ephemeral_supported
    - mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled
    - ssl_tls13_client_hello_has_exts_for_psk_ephemeral_key_exchange
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_key_exchange_is_psk_ephemeral_available(mbedtls_ssl_context
      *ssl) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_parse_supported_versions_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1386,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1464,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1757,1
    - Dst: mbedtls_ssl_parse_sig_alg_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1648,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1651,1
    - Dst: mbedtls_ssl_optimize_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1797,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1340,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1726,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1546,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1771,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1427,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1425,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1455,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1516,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1717,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1615,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1750,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1506,1
    - Dst: ssl_tls13_parse_supported_groups_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1554,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1705,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1376,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1449,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1517,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1598,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1665,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1348,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1434,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1584,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1604,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1509,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1557,1
    - Dst: ssl_tls13_parse_key_exchange_modes_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1601,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1682,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1660,1
    - Dst: mbedtls_ssl_tls13_is_supported_versions_ext_present_in_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1372,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1485,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1689,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1366,1
    - Dst: ssl_tls13_select_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1445,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1507,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1579,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1613,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1768,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1359,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1430,1
    - Dst: mbedtls_ssl_tls13_parse_record_size_limit_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1662,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1764,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1637,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1331,1
    - Dst: mbedtls_ssl_tls13_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1415,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1533,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1537,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1633,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1616,1
    - Dst: ssl_tls13_key_exchange_is_ephemeral_available
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1754,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1294,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1482,1
    - Dst: mbedtls_ssl_tls13_check_received_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1523,1
    - Dst: mbedtls_ssl_parse_server_name_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1534,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1305,1
    - Dst: mbedtls_ssl_read_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1302,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1390,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1496,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1515,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1701,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1567,1
    - Dst: mbedtls_ssl_parse_alpn_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1635,1
    - Dst: mbedtls_ssl_add_hs_hdr_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1685,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1465,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1520,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1646,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1673,1
    - Dst: ssl_tls13_parse_pre_shared_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1708,1
    - Dst: ssl_tls13_parse_key_shares_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1576,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1304,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1436,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1442,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1480,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1782,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 225
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1800
    functionName: ssl_tls13_parse_client_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_check_received_extension
    - MBEDTLS_SSL_PRINT_EXTS
    - ssl_tls13_parse_key_exchange_modes_ext
    - ssl_tls13_parse_pre_shared_key_ext
    - mbedtls_ssl_parse_server_name_ext
    - MBEDTLS_GET_UINT16_BE
    - mbedtls_ssl_tls13_crypto_init
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_parse_supported_groups_ext
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_EXT_MASK
    - mbedtls_ssl_read_version
    - ssl_tls13_key_exchange_is_ephemeral_available
    - MBEDTLS_SSL_DEBUG_BUF
    - memcpy
    - ssl_tls13_parse_supported_versions_ext
    - mbedtls_ssl_parse_alpn_ext
    - mbedtls_ssl_optimize_checksum
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_ssl_tls13_is_supported_versions_ext_present_in_exts
    - MBEDTLS_SSL_PRINT_EXT
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - ssl_tls13_parse_key_shares_ext
    - mbedtls_ssl_tls13_parse_record_size_limit_ext
    - mbedtls_ssl_add_hs_hdr_to_checksum
    - mbedtls_ssl_parse_sig_alg_ext
    - ssl_tls13_select_ciphersuite
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_client_hello(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_compute_handshake_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2402,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2411
    functionName: ssl_tls13_finalize_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_compute_handshake_transform
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_finalize_server_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_process_finished_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3077,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3084,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3088,1
    - Dst: mbedtls_ssl_tls13_compute_resumption_master_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3090
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3090
    functionName: ssl_tls13_process_client_finished
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_process_finished_message
    - mbedtls_ssl_tls13_compute_resumption_master_secret
    - mbedtls_ssl_handshake_set_state
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_client_finished(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3131,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3142,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3148
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3148
    functionName: ssl_tls13_write_new_session_ticket_coordinate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_new_session_ticket_coordinate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2466,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2467,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2478,1
    - Dst: mbedtls_ssl_reset_transcript_for_hrr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2476,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2475,1
    - Dst: mbedtls_ssl_session_reset_msg_layer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2484
      start: 2461
    functionDepth: 0
    functionLinenumber: 2461
    functionLinenumberEnd: 2484
    functionName: ssl_tls13_prepare_hello_retry_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_reset_transcript_for_hrr
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_session_reset_msg_layer
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_prepare_hello_retry_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2706,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2730,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2734,1
    - Dst: mbedtls_ssl_write_sig_alg_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2724,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2738
    functionName: ssl_tls13_write_certificate_request_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_write_sig_alg_ext
    - MBEDTLS_SSL_PRINT_EXTS
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_certificate_request_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *out_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_write_finished_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2884,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2900,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2891,1
    - Dst: mbedtls_ssl_tls13_compute_application_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2889,1
    - Dst: mbedtls_ssl_set_inbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2903,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2905,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2909,1
    - Dst: mbedtls_ssl_set_inbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2912,1
    - Dst: ssl_tls13_prepare_for_handshake_second_flight
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2917
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2917
    functionName: ssl_tls13_write_server_finished
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_tls13_write_finished_message
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_compute_application_transform
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_prepare_for_handshake_second_flight
    - mbedtls_ssl_set_inbound_transform
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_server_finished(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:789,1
    - Dst: mbedtls_ssl_read_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:797,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:796,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:793,1
    - Dst: mbedtls_ssl_conf_is_tls12_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:806,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:813,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:815,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:820,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 824
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 824
    functionName: ssl_tls13_parse_supported_versions_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_ssl_read_version
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_conf_is_tls12_enabled
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_supported_versions_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:846,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:848,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:850,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:847,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:856,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:857,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:860,1
    - Dst: mbedtls_ssl_named_group_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:862,1
    - Dst: mbedtls_ssl_named_group_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:865,1
    - Dst: mbedtls_ssl_named_group_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:866,1
    - Dst: mbedtls_ssl_named_group_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:873,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:871,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 881
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 881
    functionName: ssl_tls13_parse_supported_groups_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_ssl_named_group_to_str
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_named_group_is_offered
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_named_group_is_supported
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_supported_groups_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:917,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:942,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:918,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:920,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:943,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:944,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:947,1
    - Dst: mbedtls_ssl_named_group_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:953,1
    - Dst: mbedtls_ssl_named_group_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:954,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:962,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:964,1
    - Dst: mbedtls_ssl_tls13_read_public_xxdhe_share
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:967,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:984,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:963,1
    - Dst: mbedtls_ssl_named_group_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:965,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:974,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 988
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 988
    functionName: ssl_tls13_parse_key_shares_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_ssl_named_group_to_str
    - mbedtls_ssl_named_group_is_offered
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_named_group_is_supported
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - mbedtls_ssl_tls13_read_public_xxdhe_share
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_key_shares_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1070,1
    - Dst: ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1076
    functionName: ssl_tls13_key_exchange_is_ephemeral_available
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_tls13_is_ephemeral_enabled
    - ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_key_exchange_is_ephemeral_available(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2420,1
    - Dst: ssl_tls13_prepare_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2422,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2424,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2422,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2424,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2427,1
    - Dst: ssl_tls13_write_server_hello_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2427,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2432,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2432,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2435,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2453,1
    - Dst: ssl_tls13_finalize_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2438,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2438,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2435,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2448,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2455
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2455
    functionName: ssl_tls13_write_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - ssl_tls13_finalize_server_hello
    - ssl_tls13_prepare_server_hello
    - MBEDTLS_SSL_PROC_CHK
    - ssl_tls13_write_server_hello_body
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_server_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2680
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2680
    functionName: ssl_tls13_certificate_request_coordinate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_certificate_request_coordinate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_write_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2814,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2820
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2820
    functionName: ssl_tls13_write_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_write_certificate_verify
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2867,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2869,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2870,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2874
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2874
    functionName: ssl_tls13_prepare_for_handshake_second_flight
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: void
    signature: 'static void ssl_tls13_prepare_for_handshake_second_flight( mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3027,1
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3029,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3035,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3035,1
    - Dst: ssl_tls13_end_of_early_data_coordinate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3029,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3039,1
    - Dst: ssl_tls13_parse_end_of_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3039,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3042,1
    - Dst: mbedtls_ssl_set_inbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3045,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3048,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3048,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3058,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3064,1
    - Dst: ssl_tls13_prepare_for_handshake_second_flight
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3066
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3066
    functionName: ssl_tls13_process_end_of_early_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PROC_CHK_NEG
    - ssl_tls13_parse_end_of_early_data
    - MBEDTLS_SSL_PROC_CHK
    - ssl_tls13_end_of_early_data_coordinate
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_add_hs_msg_to_checksum
    - ssl_tls13_prepare_for_handshake_second_flight
    - mbedtls_ssl_set_inbound_transform
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_end_of_early_data(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:417,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:422,1
    - Dst: mbedtls_ssl_tls13_export_handshake_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:429,1
    - Dst: mbedtls_md_type_from_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:423,1
    - Dst: mbedtls_ssl_tls13_create_psk_binder
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:434,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:439,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:442,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:446,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:448,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:450,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:452,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:456,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - ssl
    - binder
    - binder_len
    - psk_type
    - psk_hash_alg
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - int
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 459
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 459
    functionName: ssl_tls13_offered_psks_check_binder_match
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_free
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_create_psk_binder
    - mbedtls_md_type_from_psa_alg
    - mbedtls_ct_memcmp
    - mbedtls_ssl_get_handshake_transcript
    - mbedtls_ssl_tls13_export_handshake_psk
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_offered_psks_check_binder_match(
      mbedtls_ssl_context *ssl, const unsigned char *binder, size_t binder_len, int
      psk_type, psa_algorithm_t psk_hash_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - exts_mask
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: ssl_tls13_client_hello_has_exts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_client_hello_has_exts(mbedtls_ssl_context
      *ssl, int exts_mask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2092,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2097,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2093,1
    - Dst: mbedtls_ssl_tls13_generate_and_write_xxdh_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2094,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - ssl
    - named_group
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2114
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2114
    functionName: ssl_tls13_generate_and_write_key_share
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_tls13_generate_and_write_xxdh_key_exchange
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_generate_and_write_key_share(mbedtls_ssl_context
      *ssl, uint16_t named_group, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3405,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3415,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3412,1
    - Dst: ssl_tls13_prepare_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3412,1
    - Dst: ssl_tls13_write_new_session_ticket_coordinate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3405,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3415,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3419,1
    - Dst: ssl_tls13_write_new_session_ticket_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3419,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3423,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3423,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3439,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3445
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3445
    functionName: ssl_tls13_write_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - MBEDTLS_SSL_PROC_CHK_NEG
    - ssl_tls13_write_new_session_ticket_body
    - MBEDTLS_SSL_PROC_CHK
    - ssl_tls13_prepare_new_session_ticket
    - ssl_tls13_write_new_session_ticket_coordinate
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: int
    signature: 'static int ssl_tls13_write_new_session_ticket(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_client_hello_has_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1004,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1007,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1008,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1009
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1009
    functionName: ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_EXT_MASK
    - ssl_tls13_client_hello_has_exts
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange(
      mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_client_hello_has_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1017,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1020,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1021
    functionName: ssl_tls13_client_hello_has_exts_for_psk_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_EXT_MASK
    - ssl_tls13_client_hello_has_exts
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_client_hello_has_exts_for_psk_key_exchange(
      mbedtls_ssl_context *ssl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:200,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:216,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:212,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:227,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:232,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:237,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:242,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:255,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:260,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:305,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:323,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:283,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:263,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:320,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 5
    argNames:
    - ssl
    - identity
    - identity_len
    - obfuscated_ticket_age
    - session
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - uint32_t
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 325
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 325
    functionName: ssl_tls13_offered_psks_check_identity_match_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_ssl_session_free
    - mbedtls_free
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ms_time
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_offered_psks_check_identity_match_ticket(
      mbedtls_ssl_context *ssl, const unsigned char *identity, size_t identity_len,
      uint32_t obfuscated_ticket_age, mbedtls_ssl_session *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_client_hello_has_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1029,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1032,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1033,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1034,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1035
    functionName: ssl_tls13_client_hello_has_exts_for_psk_ephemeral_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_EXT_MASK
    - ssl_tls13_client_hello_has_exts
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_client_hello_has_exts_for_psk_ephemeral_key_exchange(
      mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:472,1
    - Dst: mbedtls_ssl_session_set_ticket_alpn
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_ssl_session*
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 486
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 486
    functionName: ssl_tls13_session_copy_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_ssl_session_set_ticket_alpn
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_session_copy_ticket(mbedtls_ssl_session
      *dst, const mbedtls_ssl_session *src) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1086,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1090,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1092,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1088,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1094,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1096,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1098,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1100,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 1
    argNames:
    - sig_alg
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1106
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1106
    functionName: ssl_tls13_iana_sig_alg_to_psa_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - PSA_ALG_RSA_PKCS1V15_SIGN
    - PSA_ALG_ECDSA
    - PSA_ALG_RSA_PSS
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static psa_algorithm_t ssl_tls13_iana_sig_alg_to_psa_alg(uint16_t
      sig_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - "got_psk && (psk.key_exchange_mode ==\n                         MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK)"
    argTypes:
    - "got_psk && (psk.key_exchange_mode ==\n                         MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK)"
    constantsTouched: []
    func_position:
      end: 1765
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1765
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (got_psk && (psk.key_exchange_mode == MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK)) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1808,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1818,1
    - Dst: mbedtls_ssl_tls13_session_ticket_allow_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1854,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1839,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1847,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1855,1
    - Dst: mbedtls_ssl_get_alpn_protocol
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1863,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1871,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1876,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1877,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1878,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1885
    functionName: ssl_tls13_check_early_data_requirements
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - memcmp
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_alpn_protocol
    - mbedtls_ssl_tls13_session_ticket_allow_early_data
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int ssl_tls13_check_early_data_requirements(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_cipher_suite_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:28,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:32,1
    - Dst: mbedtls_ssl_validate_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - cipher_suite
    argTypes:
    - mbedtls_ssl_context*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: ssl_tls13_validate_peer_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_cipher_suite_is_offered
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_ssl_validate_ciphersuite
    linkageType: ''
    returnType: mbedtls_ssl_ciphersuite_t*
    signature: 'static const mbedtls_ssl_ciphersuite_t *ssl_tls13_validate_peer_ciphersuite(
      mbedtls_ssl_context *ssl, unsigned int cipher_suite) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:343,1
    - Dst: mbedtls_ssl_set_hs_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:350,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:354,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:358,1
    - Dst: ssl_tls13_offered_psks_check_identity_match_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:346,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:361,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:378,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:382,1
    - Dst: mbedtls_ssl_set_hs_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:384,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 6
    argNames:
    - ssl
    - identity
    - identity_len
    - obfuscated_ticket_age
    - psk_type
    - session
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - uint32_t
    - int*
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 393
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 393
    functionName: ssl_tls13_offered_psks_check_identity_match
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_tls13_offered_psks_check_identity_match_ticket
    - mbedtls_ssl_set_hs_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ct_memcmp
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_offered_psks_check_identity_match(
      mbedtls_ssl_context *ssl, const unsigned char *identity, size_t identity_len,
      uint32_t obfuscated_ticket_age, int *psk_type, mbedtls_ssl_session *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2048,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2055,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2057,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2061,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2059,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2065,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2074
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2074
    functionName: ssl_tls13_write_server_hello_supported_versions_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_ssl_write_version
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_server_hello_supported_versions_ext(
      mbedtls_ssl_context *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_pick_key_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2791,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2793,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2794,1
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2792,1
    - Dst: mbedtls_ssl_tls13_write_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2800,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2806
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2806
    functionName: ssl_tls13_write_server_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_own_cert
    - mbedtls_ssl_tls13_write_certificate
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_pick_key_cert
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_server_certificate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2938,1
    - Dst: mbedtls_ssl_tls13_check_early_data_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2955,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2939,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2952,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2946,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2963,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2966
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2966
    functionName: ssl_tls13_end_of_early_data_coordinate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_read_record
    - mbedtls_ssl_tls13_check_early_data_len
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_end_of_early_data_coordinate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:67,1
    - Dst: ssl_tls13_validate_peer_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:70,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:84,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:94,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 6
    argNames:
    - ssl
    - cipher_suites
    - cipher_suites_end
    - psk_ciphersuite_id
    - psk_hash_alg
    - selected_ciphersuite_info
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - int
    - psa_algorithm_t
    - mbedtls_ssl_ciphersuite_t**
    constantsTouched: []
    func_position:
      end: 97
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 97
    functionName: ssl_tls13_select_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_validate_peer_ciphersuite
    - MBEDTLS_GET_UINT16_BE
    - mbedtls_md_psa_alg_from_type
    linkageType: ''
    returnType: void
    signature: 'static void ssl_tls13_select_ciphersuite( mbedtls_ssl_context *ssl,
      const unsigned char *cipher_suites, const unsigned char *cipher_suites_end,
      int psk_ciphersuite_id, psa_algorithm_t psk_hash_alg, const mbedtls_ssl_ciphersuite_t
      **selected_ciphersuite_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2983
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2983
    functionName: ssl_tls13_parse_end_of_early_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_end_of_early_data(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:117,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:133,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:122,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:127,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:137,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 148
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 148
    functionName: ssl_tls13_parse_key_exchange_modes_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_key_exchange_modes_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2745,1
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2747,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2753,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2753,1
    - Dst: ssl_tls13_certificate_request_coordinate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2747,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2757,1
    - Dst: ssl_tls13_write_certificate_request_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2757,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2760,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2760,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2764,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2770,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2775,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2764,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2778,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2767,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2780
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2780
    functionName: ssl_tls13_write_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - MBEDTLS_SSL_PROC_CHK_NEG
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_certificate_request_coordinate
    - ssl_tls13_write_certificate_request_body
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_certificate_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2554,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2582,1
    - Dst: mbedtls_ssl_tls13_write_record_size_limit_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2583,1
    - Dst: mbedtls_ssl_tls13_write_early_data_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2572,1
    - Dst: mbedtls_ssl_write_alpn_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2563,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2593,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2597,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2599,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2603
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2603
    functionName: ssl_tls13_write_encrypted_extensions_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_EXT_MASK
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_write_alpn_ext
    - mbedtls_ssl_tls13_write_early_data_ext
    - MBEDTLS_SSL_PRINT_EXTS
    - mbedtls_ssl_tls13_write_record_size_limit_ext
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_encrypted_extensions_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:544,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:545,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:547,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:556,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:558,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:642,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:673,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:675,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:678,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:700,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:555,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:564,1
    - Dst: mbedtls_ssl_session_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:579,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:588,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:581,1
    - Dst: ssl_tls13_key_exchange_is_psk_available
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:637,1
    - Dst: ssl_tls13_select_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:646,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:659,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:676,1
    - Dst: ssl_tls13_session_copy_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:688,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:718,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:537,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:606,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:582,1
    - Dst: ssl_tls13_key_exchange_is_psk_ephemeral_available
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:633,1
    - Dst: ssl_tls13_offered_psks_check_identity_match
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:599,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:584,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:690,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:699,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:709,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:591,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:585,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:652,1
    - Dst: ssl_tls13_offered_psks_check_binder_match
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:665,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:667,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:713,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 123
    argCount: 6
    argNames:
    - ssl
    - pre_shared_key_ext
    - pre_shared_key_ext_end
    - ciphersuites
    - ciphersuites_end
    - psk
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - struct psk_attributes*
    constantsTouched: []
    func_position:
      end: 721
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 721
    functionName: ssl_tls13_parse_pre_shared_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_GET_UINT32_BE
    - ssl_tls13_offered_psks_check_identity_match
    - ssl_tls13_key_exchange_is_psk_available
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_session_init
    - mbedtls_md_psa_alg_from_type
    - ssl_tls13_session_copy_ticket
    - ssl_tls13_offered_psks_check_binder_match
    - ssl_tls13_select_ciphersuite
    - mbedtls_ssl_session_free
    - ssl_tls13_key_exchange_is_psk_ephemeral_available
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_pre_shared_key_ext(
      mbedtls_ssl_context *ssl, const unsigned char *pre_shared_key_ext, const unsigned
      char *pre_shared_key_ext_end, const unsigned char *ciphersuites, const unsigned
      char *ciphersuites_end, struct psk_attributes *psk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2143,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2155,1
    - Dst: mbedtls_ssl_named_group_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2146,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2145,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2156,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2157,1
    - Dst: ssl_tls13_generate_and_write_key_share
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2162,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2169,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2171,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2178
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2178
    functionName: ssl_tls13_write_key_share_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_named_group_to_str
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_generate_and_write_key_share
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_key_share_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2493,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2495,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2497,1
    - Dst: ssl_tls13_prepare_hello_retry_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2495,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2497,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2501,1
    - Dst: ssl_tls13_write_server_hello_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2501,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2505,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2505,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2509,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2509,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2522,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2526,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2528
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2528
    functionName: ssl_tls13_write_hello_retry_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - MBEDTLS_SSL_PROC_CHK
    - ssl_tls13_write_server_hello_body
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_prepare_hello_retry_request
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_hello_retry_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_outbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2612,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2614,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2619,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2619,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2617,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2623,1
    - Dst: ssl_tls13_write_encrypted_extensions_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2623,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2626,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2626,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2630,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2635,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2637,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2645,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2630,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2640,1
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2647
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2647
    functionName: ssl_tls13_write_encrypted_extensions
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - mbedtls_ssl_set_outbound_transform
    - MBEDTLS_SSL_PROC_CHK
    - mbedtls_ssl_tls13_key_exchange_mode_with_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_write_encrypted_extensions_body
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_encrypted_extensions(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3347,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3363,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3389,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3352,1
    - Dst: mbedtls_ssl_tls13_session_ticket_allow_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3368,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3354,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3379,1
    - Dst: mbedtls_ssl_tls13_write_early_data_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3371,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3392,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3317,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3308,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3329,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3335,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3336,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3386,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3296,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3304,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3340,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3341,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3373,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3390,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 6
    argNames:
    - ssl
    - buf
    - end
    - out_len
    - ticket_nonce
    - ticket_nonce_size
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3396
      start: 3280
    functionDepth: 0
    functionLinenumber: 3280
    functionLinenumberEnd: 3396
    functionName: ssl_tls13_write_new_session_ticket_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_PUT_UINT32_BE
    - mbedtls_ssl_tls13_write_early_data_ext
    - MBEDTLS_SSL_PRINT_EXTS
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_ms_time
    - mbedtls_ssl_tls13_session_ticket_allow_early_data
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_new_session_ticket_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len, unsigned char
      *ticket_nonce, size_t ticket_nonce_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1127,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1146,1
    - Dst: mbedtls_x509_crt_check_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1153,1
    - Dst: mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1136,1
    - Dst: mbedtls_ssl_sig_alg_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1132,1
    - Dst: mbedtls_x509_crt_check_extended_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1155,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1157,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1158,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1163,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1166,1
    - Dst: mbedtls_pk_can_do_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1176,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1185,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1187,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1181,1
    - Dst: mbedtls_ssl_tls13_check_sig_alg_cert_key_match
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1172,1
    - Dst: ssl_tls13_iana_sig_alg_to_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1193
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1193
    functionName: ssl_tls13_pick_key_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_CRT
    - mbedtls_x509_crt_check_extended_key_usage
    - mbedtls_x509_crt_check_key_usage
    - mbedtls_ssl_sig_alg_to_str
    - mbedtls_ssl_sig_alg_is_offered
    - ssl_tls13_iana_sig_alg_to_psa_alg
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_OID_SIZE
    - mbedtls_ssl_tls13_check_sig_alg_cert_key_match
    - mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported
    - mbedtls_pk_can_do_ext
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_pick_key_cert(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1900,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1916,1
    - Dst: mbedtls_ssl_tls13_key_schedule_stage_early
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1908,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1910,1
    - Dst: ssl_tls13_check_early_data_requirements
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1918,1
    - Dst: mbedtls_ssl_tls13_compute_early_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1921,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:1923,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ssl
    - hrr_required
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 1939
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1939
    functionName: ssl_tls13_postprocess_client_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_EXT_MASK
    - mbedtls_ssl_tls13_compute_early_transform
    - mbedtls_ssl_tls13_key_schedule_stage_early
    - ssl_tls13_check_early_data_requirements
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_postprocess_client_hello(mbedtls_ssl_context
      *ssl, int hrr_required) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2206,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2218,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2229,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2227,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2213,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2230,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2231,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2233,1
    - Dst: mbedtls_ssl_named_group_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2235,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2243
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2243
    functionName: ssl_tls13_write_hrr_key_share_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_named_group_to_str
    - mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_hrr_key_share_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3459,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3492,1
    - Dst: ssl_tls13_write_certificate_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3499,1
    - Dst: mbedtls_ssl_tls13_write_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3523,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3558,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3557,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3590,1
    - Dst: ssl_tls13_process_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3471,1
    - Dst: ssl_tls13_write_encrypted_extensions
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3490,1
    - Dst: ssl_tls13_write_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3507,1
    - Dst: mbedtls_ssl_tls13_write_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3516,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3527,1
    - Dst: ssl_tls13_process_client_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3542,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3554,1
    - Dst: mbedtls_ssl_states_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3460,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3466,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3473,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3480,1
    - Dst: ssl_tls13_write_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3486,1
    - Dst: ssl_tls13_write_server_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3503,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3518,1
    - Dst: ssl_tls13_process_end_of_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3537,1
    - Dst: ssl_tls13_write_server_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3532,1
    - Dst: mbedtls_ssl_tls13_process_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3551,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3577,1
    - Dst: mbedtls_ssl_tls13_process_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3565,1
    - Dst: ssl_tls13_write_hello_retry_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3478,1
    - Dst: ssl_tls13_handshake_wrapup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3546,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3567,1
    - Dst: ssl_tls13_write_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3575,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3592,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3600,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 78
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3605
      start: 3451
    functionDepth: 0
    functionLinenumber: 3451
    functionLinenumberEnd: 3605
    functionName: mbedtls_ssl_tls13_handshake_server_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - ssl_tls13_process_end_of_early_data
    - mbedtls_ssl_states_str
    - mbedtls_ssl_handshake_set_state
    - mbedtls_ssl_tls13_write_change_cipher_spec
    - ssl_tls13_process_client_hello
    - ssl_tls13_write_encrypted_extensions
    - ssl_tls13_write_certificate_verify
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_handshake_wrapup
    - ssl_tls13_process_client_finished
    - ssl_tls13_write_server_hello
    - ssl_tls13_write_new_session_ticket
    - ssl_tls13_write_certificate_request
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_ssl_tls13_process_certificate_verify
    - ssl_tls13_write_server_certificate
    - ssl_tls13_write_hello_retry_request
    - mbedtls_ssl_tls13_process_certificate
    - ssl_tls13_write_server_finished
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_handshake_server_step(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2026,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2018,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:2022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2030
    functionName: ssl_tls13_prepare_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - mbedtls_time
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_prepare_server_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3161,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3244,1
    - Dst: mbedtls_ssl_tls13_session_set_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3174,1
    - Dst: mbedtls_ssl_session_set_ticket_alpn
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3184,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3195,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3239,1
    - Dst: mbedtls_ssl_tls13_hkdf_expand_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3228,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3198,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3232,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3248,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3204,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3213,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3212,1
    - Dst: MBEDTLS_SSL_PRINT_TICKET_FLAGS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3180,1
    - Dst: mbedtls_ssl_tls13_session_clear_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3164,1
    - Dst: mbedtls_ssl_tls13_session_set_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3167,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c:3207,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - ssl
    - ticket_nonce
    - ticket_nonce_size
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3253
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3253
    functionName: ssl_tls13_prepare_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_server.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_hkdf_expand_label
    - mbedtls_ssl_session_set_ticket_alpn
    - MBEDTLS_SSL_PRINT_TICKET_FLAGS
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_session_clear_ticket_flags
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_session_set_ticket_flags
    - mbedtls_md_psa_alg_from_type
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_prepare_new_session_ticket(mbedtls_ssl_context
      *ssl, unsigned char *ticket_nonce, size_t ticket_nonce_size) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:124,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:125,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:139,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:172,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:191,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:106,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:177,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:183,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:190,1
    - Dst: mbedtls_rsa_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:206,1
    - Dst: mbedtls_rsa_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:207,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:217,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:220,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:85,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:115,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:138,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:152,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:178,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:184,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:153,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:192,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:131,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:132,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:145,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:146,1
    - Dst: asn1_get_nonzero_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:171,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 113
    argCount: 3
    argNames:
    - rsa
    - key
    - keylen
    argTypes:
    - mbedtls_rsa_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 224
    functionName: mbedtls_rsa_parse_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - asn1_get_nonzero_mpi
    - mbedtls_rsa_check_pubkey
    - mbedtls_rsa_free
    - mbedtls_mpi_free
    - mbedtls_rsa_complete
    - mbedtls_mpi_init
    - mbedtls_rsa_import
    - mbedtls_asn1_get_tag
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_parse_key(mbedtls_rsa_context *rsa, const unsigned
      char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:483,1
    - Dst: mbedtls_ct_uint_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:501,1
    - Dst: mbedtls_ct_memmove_left
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:543,1
    - Dst: mbedtls_ct_uint_gt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:492,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:477,1
    - Dst: mbedtls_ct_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:485,1
    - Dst: mbedtls_ct_bool_not
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:485,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:492,1
    - Dst: mbedtls_ct_zeroize_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:527,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:472,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:484,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:477,1
    - Dst: mbedtls_ct_bool_not
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:489,1
    - Dst: mbedtls_ct_error_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:518,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:527,1
    - Dst: mbedtls_ct_error_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:515,1
    - Dst: mbedtls_ct_uint_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:533,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:555,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:489,1
    - Dst: mbedtls_ct_uint_gt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 5
    argNames:
    - input
    - ilen
    - output
    - output_max_len
    - olen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 565
    functionName: mbedtls_ct_rsaes_pkcs1_v15_unpadding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_zeroize_if
    - mbedtls_ct_bool_or
    - mbedtls_ct_bool_not
    - mbedtls_ct_error_if
    - mbedtls_ct_uint_gt
    - mbedtls_ct_uint_if
    - mbedtls_ct_memmove_left
    - memcpy
    - mbedtls_ct_uint_ne
    - mbedtls_ct_error_if_else_0
    - mbedtls_ct_bool
    - mbedtls_ct_uint_eq
    - mbedtls_ct_uint_if_else_0
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ct_rsaes_pkcs1_v15_unpadding(unsigned char *input,
      size_t ilen, unsigned char *output, size_t output_max_len, size_t *olen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:578,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:580,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:581,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:582,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:579,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:583,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:587,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 6
    argNames:
    - ctx
    - N
    - P
    - Q
    - D
    - E
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 591
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 591
    functionName: mbedtls_rsa_import
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_size
    - mbedtls_mpi_copy
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_import(mbedtls_rsa_context *ctx, const mbedtls_mpi
      *N, const mbedtls_mpi *P, const mbedtls_mpi *Q, const mbedtls_mpi *D, const
      mbedtls_mpi *E) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    functionName: mbedtls_rsa_get_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_rsa_get_len(const mbedtls_rsa_context *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1061,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1084,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1091,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1102,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1103,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1092,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1113,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1114,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1138,1
    - Dst: mbedtls_rsa_check_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1143,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1081,1
    - Dst: mbedtls_mpi_gen_prime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1087,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1104,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1107,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1108,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1115,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1125,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1126,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1128,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1148,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1147,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1149,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1063,1
    - Dst: mbedtls_mpi_gen_prime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1084,1
    - Dst: mbedtls_mpi_swap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1098,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1103,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1102,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1091,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1113,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1114,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1130,1
    - Dst: mbedtls_rsa_deduce_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1138,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1155,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1143,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1062,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1081,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1087,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1104,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1107,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1115,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1117,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1125,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1126,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1128,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1152,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 5
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - nbits
    - exponent
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 1161
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1161
    functionName: mbedtls_rsa_gen_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_swap
    - mbedtls_mpi_add_int
    - mbedtls_mpi_inv_mod
    - mbedtls_mpi_size
    - mbedtls_mpi_gcd
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_gen_prime
    - mbedtls_rsa_free
    - mbedtls_mpi_free
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_lset
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_div_mpi
    - mbedtls_rsa_deduce_crt
    - mbedtls_mpi_cmp_int
    - MBEDTLS_ERROR_ADD
    - mbedtls_mpi_init
    - mbedtls_rsa_check_privkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_gen_key(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, unsigned int nbits, int exponent) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1777,1
    - Dst: compute_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1801,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1789,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1795,1
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1794,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1809,1
    - Dst: mgf_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1813,1
    - Dst: mgf_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1819,1
    - Dst: mbedtls_rsa_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1824,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 8
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - label
    - label_len
    - ilen
    - input
    - output
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1825
    functionName: mbedtls_rsa_rsaes_oaep_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - compute_hash
    - f_rng
    - memcpy
    - mbedtls_md_get_size_from_type
    - MBEDTLS_ERROR_ADD
    - mgf_mask
    - mbedtls_rsa_public
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsaes_oaep_encrypt(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, const unsigned char *label, size_t
      label_len, size_t ilen, const unsigned char *input, unsigned char *output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1863,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1868,1
    - Dst: mbedtls_rsa_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1879,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1876,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 6
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - ilen
    - input
    - output
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1880
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1880
    functionName: mbedtls_rsa_rsaes_pkcs1_v15_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - f_rng
    - memcpy
    - mbedtls_rsa_public
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsaes_pkcs1_v15_encrypt(mbedtls_rsa_context *ctx,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng, size_t ilen, const
      unsigned char *input, unsigned char *output) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1945,1
    - Dst: mgf_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1968,1
    - Dst: mgf_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1971,1
    - Dst: compute_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1977,1
    - Dst: mbedtls_rsa_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1958,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1988,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1993,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1993,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1993,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2001,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2006,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2006,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2031,1
    - Dst: mbedtls_ct_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2002,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2026,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2032,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2001,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 85
    argCount: 9
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - label
    - label_len
    - olen
    - input
    - output
    - output_max_len
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2035
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 2035
    functionName: mbedtls_rsa_rsaes_oaep_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_or
    - mbedtls_ct_bool_and
    - compute_hash
    - mbedtls_ct_bool
    - mbedtls_rsa_private
    - memcpy
    - mbedtls_md_get_size_from_type
    - mbedtls_ct_uint_ne
    - mbedtls_platform_zeroize
    - mgf_mask
    - mbedtls_ct_memcmp
    - mbedtls_ct_uint_eq
    - mbedtls_ct_uint_if_else_0
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsaes_oaep_decrypt(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, const unsigned char *label, size_t
      label_len, size_t *olen, const unsigned char *input, unsigned char *output,
      size_t output_max_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:240,1
    - Dst: mbedtls_rsa_import_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:254,1
    - Dst: mbedtls_rsa_import_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:266,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:262,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:250,1
    - Dst: mbedtls_rsa_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:273,1
    - Dst: mbedtls_rsa_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:274,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - rsa
    - key
    - keylen
    argTypes:
    - mbedtls_rsa_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 283
    functionName: mbedtls_rsa_parse_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_complete
    - mbedtls_asn1_get_tag
    - mbedtls_rsa_check_pubkey
    - mbedtls_rsa_import_raw
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_parse_pubkey(mbedtls_rsa_context *rsa, const unsigned
      char *key, size_t keylen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:603,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:608,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:603,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:608,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:604,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:612,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:612,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:616,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:616,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:620,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:626,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:620,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 11
    argNames:
    - ctx
    - N
    - N_len
    - P
    - P_len
    - Q
    - Q_len
    - D
    - D_len
    - E
    - E_len
    argTypes:
    - mbedtls_rsa_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 630
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 630
    functionName: mbedtls_rsa_import_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_size
    - MBEDTLS_MPI_CHK
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_import_raw(mbedtls_rsa_context *ctx, unsigned char
      const *N, size_t N_len, unsigned char const *P, size_t P_len, unsigned char
      const *Q, size_t Q_len, unsigned char const *D, size_t D_len, unsigned char
      const *E, size_t E_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_rsassa_pkcs1_v15_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2754,1
    - Dst: mbedtls_rsa_rsassa_pss_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2760,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - md_alg
    - hashlen
    - hash
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2767
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2767
    functionName: mbedtls_rsa_pkcs1_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_rsassa_pss_verify
    - mbedtls_rsa_rsassa_pkcs1_v15_verify
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_pkcs1_verify(mbedtls_rsa_context *ctx, mbedtls_md_type_t
      md_alg, unsigned int hashlen, const unsigned char *hash, const unsigned char
      *sig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1747,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - md_alg
    - input
    - ilen
    - output
    argTypes:
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1753
    functionName: compute_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md
    linkageType: ''
    returnType: int
    signature: 'static int compute_hash(mbedtls_md_type_t md_alg, const unsigned char
      *input, size_t ilen, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_rsassa_pss_sign_no_mode_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - md_alg
    - hashlen
    - hash
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2251
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2251
    functionName: mbedtls_rsa_rsassa_pss_sign_no_mode_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - rsa_rsassa_pss_sign_no_mode_check
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsassa_pss_sign_no_mode_check(mbedtls_rsa_context
      *ctx, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_md_type_t
      md_alg, unsigned int hashlen, const unsigned char *hash, unsigned char *sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2899,1
    - Dst: arc4random_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2906,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - rng_state
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2910
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2910
    functionName: myrand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - rand
    - arc4random_buf
    linkageType: ''
    returnType: int
    signature: 'static int myrand(void *rng_state, unsigned char *output, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:954,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 965
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 965
    functionName: mbedtls_rsa_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_rsa_init(mbedtls_rsa_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 1009
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1009
    functionName: mbedtls_rsa_get_padding_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_get_padding_mode(const mbedtls_rsa_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_check_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1170,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1178,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1180,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1179,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1185
    functionName: mbedtls_rsa_check_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_get_bit
    - rsa_check_context
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_cmp_mpi
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_check_pubkey(const mbedtls_rsa_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1218,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1224,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1223,1
    - Dst: mbedtls_rsa_check_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pub
    - prv
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1229
    functionName: mbedtls_rsa_check_pub_priv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_check_privkey
    - mbedtls_rsa_check_pubkey
    - mbedtls_mpi_cmp_mpi
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_check_pub_priv(const mbedtls_rsa_context *pub, const
      mbedtls_rsa_context *prv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_rsaes_pkcs1_v15_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2094,1
    - Dst: mbedtls_rsa_rsaes_oaep_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 7
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - olen
    - input
    - output
    - output_max_len
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - size_t*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2108
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2108
    functionName: mbedtls_rsa_pkcs1_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_rsaes_pkcs1_v15_decrypt
    - mbedtls_rsa_rsaes_oaep_decrypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_pkcs1_decrypt(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, size_t *olen, const unsigned char
      *input, unsigned char *output, size_t output_max_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rsa_rsassa_pkcs1_v15_encode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2449,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2460,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2471,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2465,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2467,1
    - Dst: mbedtls_rsa_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2471,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2472,1
    - Dst: mbedtls_rsa_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2472,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2474,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2479,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2483,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2482,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2486,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 7
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - md_alg
    - hashlen
    - hash
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2489
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2489
    functionName: mbedtls_rsa_rsassa_pkcs1_v15_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_free
    - mbedtls_rsa_private
    - memcpy
    - mbedtls_zeroize_and_free
    - rsa_rsassa_pkcs1_v15_encode
    - mbedtls_rsa_public
    - mbedtls_ct_memcmp
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsassa_pkcs1_v15_sign(mbedtls_rsa_context *ctx, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_md_type_t md_alg,
      unsigned int hashlen, const unsigned char *hash, unsigned char *sig) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2556,1
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2570,1
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2580,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2588,1
    - Dst: mgf_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2605,1
    - Dst: hash_mprime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2630,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2636,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 7
    argNames:
    - ctx
    - md_alg
    - hashlen
    - hash
    - mgf1_hash_id
    - expected_salt_len
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - mbedtls_md_type_t
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2641
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2641
    functionName: mbedtls_rsa_rsassa_pss_verify_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - hash_mprime
    - mbedtls_mpi_bitlen
    - memcmp
    - mbedtls_md_get_size_from_type
    - mgf_mask
    - mbedtls_rsa_public
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsassa_pss_verify_ext(mbedtls_rsa_context *ctx, mbedtls_md_type_t
      md_alg, unsigned int hashlen, const unsigned char *hash, mbedtls_md_type_t mgf1_hash_id,
      int expected_salt_len, const unsigned char *sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_rsassa_pss_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - md_alg
    - hashlen
    - hash
    - saltlen
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2268
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2268
    functionName: mbedtls_rsa_rsassa_pss_sign_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - rsa_rsassa_pss_sign
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsassa_pss_sign_ext(mbedtls_rsa_context *ctx, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_md_type_t md_alg,
      unsigned int hashlen, const unsigned char *hash, int saltlen, unsigned char
      *sig) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:922,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:926,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:925,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:924,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:923,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:934,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:935,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:936,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:937,1
    - Dst: mbedtls_rsa_deduce_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:940,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:942,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - DP
    - DQ
    - QP
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 947
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 947
    functionName: mbedtls_rsa_export_crt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_int
    - mbedtls_rsa_deduce_crt
    - mbedtls_mpi_copy
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_export_crt(const mbedtls_rsa_context *ctx, mbedtls_mpi
      *DP, mbedtls_mpi *DQ, mbedtls_mpi *QP) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:991,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - padding
    - hash_id
    argTypes:
    - mbedtls_rsa_context*
    - int
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 1001
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1001
    functionName: mbedtls_rsa_set_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_set_padding(mbedtls_rsa_context *ctx, int padding,
      mbedtls_md_type_t hash_id) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1568,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1546,1
    - Dst: rsa_check_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1444,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1489,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1516,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1530,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1553,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1525,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1581,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1478,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1504,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1594,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1515,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1470,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1557,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1524,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1506,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1585,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1588,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1552,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1479,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1508,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1515,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1591,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1571,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1458,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1488,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1498,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1545,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1559,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1547,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1539,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1580,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1513,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1522,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1540,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1463,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1466,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1489,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1497,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1460,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1474,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1478,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1504,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1545,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1540,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1582,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1497,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1507,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1513,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1539,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1557,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1524,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1547,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1598,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1601,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1530,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1553,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1546,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1470,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1490,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1492,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1516,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1498,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1587,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1575,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1571,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1459,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1473,1
    - Dst: rsa_prepare_blinding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1488,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1490,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1492,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1522,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1594,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1456,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1506,1
    - Dst: rsa_unblind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1568,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1508,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1525,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1552,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1450,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1465,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1597,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 108
    argCount: 5
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - input
    - output
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1605
    functionName: mbedtls_rsa_private
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_fill_random
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_mul_mpi
    - rsa_unblind
    - mbedtls_mpi_free
    - mbedtls_mpi_write_binary
    - mbedtls_mutex_lock
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_sub_mpi
    - rsa_check_context
    - mbedtls_mutex_unlock
    - rsa_prepare_blinding
    - mbedtls_mpi_add_mpi
    - MBEDTLS_ERROR_ADD
    - mbedtls_mpi_init
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_private(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, const unsigned char *input, unsigned
      char *output) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2321,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2404,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2375,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2381,1
    - Dst: mbedtls_oid_get_oid_by_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2326,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2410,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2416,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 5
    argNames:
    - md_alg
    - hashlen
    - hash
    - dst_len
    - dst
    argTypes:
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2421
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2421
    functionName: rsa_rsassa_pkcs1_v15_encode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - memcpy
    - mbedtls_md_get_size_from_type
    - mbedtls_oid_get_oid_by_md
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int rsa_rsassa_pkcs1_v15_encode(mbedtls_md_type_t md_alg, unsigned
      int hashlen, const unsigned char *hash, size_t dst_len, unsigned char *dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2779,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2778,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2781,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2782,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2783,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2787,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2788,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2789,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2790,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2786,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2793,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2795,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2796,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2778,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2781,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2779,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2782,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2783,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2788,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2790,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2787,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2789,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2803,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2786,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2793,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2795,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 2807
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2807
    functionName: mbedtls_rsa_copy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    - mbedtls_rsa_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_copy(mbedtls_rsa_context *dst, const mbedtls_rsa_context
      *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2064,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2074,1
    - Dst: mbedtls_ct_rsaes_pkcs1_v15_unpadding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2070,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 7
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - olen
    - input
    - output
    - output_max_len
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - size_t*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2077
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2077
    functionName: mbedtls_rsa_rsaes_pkcs1_v15_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_rsaes_pkcs1_v15_unpadding
    - mbedtls_rsa_private
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsaes_pkcs1_v15_decrypt(mbedtls_rsa_context *ctx,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng, size_t *olen, const
      unsigned char *input, unsigned char *output, size_t output_max_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:384,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:395,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:394,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:388,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:387,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:402,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:407,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:407,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:408,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:408,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - rsa
    - start
    - p
    argTypes:
    - mbedtls_rsa_context*
    - unsigned char*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 412
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 412
    functionName: mbedtls_rsa_write_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_mpi
    - mbedtls_rsa_export
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_tag
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_write_pubkey(const mbedtls_rsa_context *rsa, unsigned
      char *start, unsigned char **p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:831,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:833,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:835,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:832,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:834,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:847,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:847,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:851,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:851,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:855,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:859,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:855,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:863,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:859,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:863,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 11
    argNames:
    - ctx
    - N
    - N_len
    - P
    - P_len
    - Q
    - Q_len
    - D
    - D_len
    - E
    - E_len
    argTypes:
    - mbedtls_rsa_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 869
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 869
    functionName: mbedtls_rsa_export_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_write_binary
    - mbedtls_mpi_cmp_int
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_export_raw(const mbedtls_rsa_context *ctx, unsigned
      char *N, size_t N_len, unsigned char *P, size_t P_len, unsigned char *Q, size_t
      Q_len, unsigned char *D, size_t D_len, unsigned char *E, size_t E_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: mbedtls_rsa_get_md_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_get_md_alg(const mbedtls_rsa_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_montmul_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1352,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1358,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1357,1
    - Dst: mbedtls_mpi_core_montmul_working_limbs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1354,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1360,1
    - Dst: mbedtls_mpi_core_get_mont_r2_unsafe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1360,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1361,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1361,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1363,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1363,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1364,1
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1374,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1378,1
    - Dst: mbedtls_mpi_core_to_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1373,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1364,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - T
    - Vf
    - N
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1382
    functionName: rsa_unblind
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_montmul_init
    - mbedtls_mpi_core_get_mont_r2_unsafe
    - mbedtls_mpi_core_montmul
    - mbedtls_mpi_grow
    - mbedtls_mpi_core_to_mont_rep
    - mbedtls_mpi_core_montmul_working_limbs
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int rsa_unblind(mbedtls_mpi *T, mbedtls_mpi *Vf, const mbedtls_mpi
      *N) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1629,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1636,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1640,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1630,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1635,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1642,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1643,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1654,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1657,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1660,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1678,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1677,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1663,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 5
    argNames:
    - dst
    - dlen
    - src
    - slen
    - md_alg
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 1681
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1681
    functionName: mgf_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_setup
    - mbedtls_md_free
    - mbedtls_platform_zeroize
    - mbedtls_md_init
    - mbedtls_md_starts
    - mbedtls_md_get_size
    - mbedtls_md_update
    - mbedtls_md_finish
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int mgf_mask(unsigned char *dst, size_t dlen, unsigned char
      *src, size_t slen, mbedtls_md_type_t md_alg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2140,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2181,1
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2154,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2184,1
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2190,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2191,1
    - Dst: hash_mprime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2197,1
    - Dst: mgf_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2208,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2213,1
    - Dst: mbedtls_rsa_private
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2219,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 8
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - md_alg
    - hashlen
    - hash
    - saltlen
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2220
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2220
    functionName: rsa_rsassa_pss_sign_no_mode_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - hash_mprime
    - mbedtls_mpi_bitlen
    - f_rng
    - mbedtls_rsa_private
    - mbedtls_md_get_size_from_type
    - MBEDTLS_ERROR_ADD
    - mgf_mask
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int rsa_rsassa_pss_sign_no_mode_check(mbedtls_rsa_context *ctx,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_md_type_t
      md_alg, unsigned int hashlen, const unsigned char *hash, int saltlen, unsigned
      char *sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2818,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2819,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2820,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2821,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2822,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2823,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2824,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2825,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2828,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2829,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2831,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2832,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2838,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 2842
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2842
    functionName: mbedtls_rsa_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_free
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_rsa_free(mbedtls_rsa_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:880,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:882,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:884,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:883,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:881,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:897,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:898,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:899,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:900,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:901,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 6
    argNames:
    - ctx
    - N
    - P
    - Q
    - D
    - E
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 906
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 906
    functionName: mbedtls_rsa_export
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_export(const mbedtls_rsa_context *ctx, mbedtls_mpi
      *N, mbedtls_mpi *P, mbedtls_mpi *Q, mbedtls_mpi *D, mbedtls_mpi *E) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsa_rsassa_pss_sign_no_mode_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - md_alg
    - hashlen
    - hash
    - saltlen
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2239
    functionName: rsa_rsassa_pss_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - rsa_rsassa_pss_sign_no_mode_check
    linkageType: ''
    returnType: int
    signature: 'static int rsa_rsassa_pss_sign(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, mbedtls_md_type_t md_alg, unsigned
      int hashlen, const unsigned char *hash, int saltlen, unsigned char *sig) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2932,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2936,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2937,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2940,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2941,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2971,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2979,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2993,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3003,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3011,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3024,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3038,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3008,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3055,1
    - Dst: mbedtls_rsa_pkcs1_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2982,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2931,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2934,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2935,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2939,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2942,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2938,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2943,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2945,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2965,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2986,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3014,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3051,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2936,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2937,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2940,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2941,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2948,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2962,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3011,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3032,1
    - Dst: mbedtls_rsa_pkcs1_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3035,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3046,1
    - Dst: mbedtls_rsa_pkcs1_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3020,1
    - Dst: mbedtls_rsa_pkcs1_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2967,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2935,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2934,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2939,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2938,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2942,1
    - Dst: mbedtls_rsa_import
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2943,1
    - Dst: mbedtls_rsa_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2945,1
    - Dst: mbedtls_rsa_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2951,1
    - Dst: mbedtls_rsa_check_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2952,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2954,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:3056,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2995,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 104
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3061
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 3061
    functionName: mbedtls_rsa_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - memcmp
    - mbedtls_rsa_pkcs1_sign
    - MBEDTLS_MPI_CHK
    - mbedtls_rsa_free
    - mbedtls_mpi_read_string
    - mbedtls_mpi_free
    - mbedtls_rsa_complete
    - mbedtls_rsa_pkcs1_encrypt
    - mbedtls_printf
    - mbedtls_rsa_pkcs1_decrypt
    - memcpy
    - mbedtls_rsa_init
    - mbedtls_rsa_import
    - mbedtls_rsa_pkcs1_verify
    - mbedtls_md_info_from_type
    - mbedtls_md
    - mbedtls_rsa_check_pubkey
    - mbedtls_mpi_init
    - mbedtls_rsa_check_privkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_self_test(int verbose) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:301,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:308,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:315,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:350,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:297,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:328,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:335,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:357,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:342,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:363,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:322,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:336,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:329,1
    - Dst: mbedtls_asn1_write_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:343,1
    - Dst: mbedtls_asn1_write_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:362,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:363,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:364,1
    - Dst: mbedtls_rsa_export_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:300,1
    - Dst: mbedtls_rsa_export_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:307,1
    - Dst: mbedtls_rsa_export_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:314,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:321,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:349,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:362,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:364,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 3
    argNames:
    - rsa
    - start
    - p
    argTypes:
    - mbedtls_rsa_context*
    - unsigned char*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 369
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 369
    functionName: mbedtls_rsa_write_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_int
    - mbedtls_asn1_write_mpi
    - mbedtls_rsa_export
    - mbedtls_asn1_write_len
    - mbedtls_rsa_export_crt
    - mbedtls_asn1_write_tag
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_write_key(const mbedtls_rsa_context *rsa, unsigned
      char *start, unsigned char **p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1192,1
    - Dst: rsa_check_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1193,1
    - Dst: mbedtls_rsa_validate_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1210
    functionName: mbedtls_rsa_check_privkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - rsa_check_context
    - mbedtls_rsa_validate_params
    - mbedtls_rsa_check_pubkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_check_privkey(const mbedtls_rsa_context *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rsa_check_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1242,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1254,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1254,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1246,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1249,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1256,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1262,1
    - Dst: mbedtls_mpi_exp_mod_unsafe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1262,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1263,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1263,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1275,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1267,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_rsa_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1279
    functionName: mbedtls_rsa_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_unlock
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_write_binary
    - mbedtls_mutex_lock
    - rsa_check_context
    - mbedtls_mpi_free
    - MBEDTLS_ERROR_ADD
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_exp_mod_unsafe
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_public(mbedtls_rsa_context *ctx, const unsigned char
      *input, unsigned char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1293,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1297,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1316,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1315,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1331,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1317,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1298,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1299,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1300,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1312,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1332,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1336,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1340,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1297,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1316,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1315,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1317,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1331,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1298,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1299,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1300,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1312,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1323,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1332,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1336,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1343
    functionName: rsa_prepare_blinding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_inv_mod
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_fill_random
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int rsa_prepare_blinding(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_rsassa_pss_verify_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - md_alg
    - hashlen
    - hash
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2667
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2667
    functionName: mbedtls_rsa_rsassa_pss_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_rsassa_pss_verify_ext
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsassa_pss_verify(mbedtls_rsa_context *ctx, mbedtls_md_type_t
      md_alg, unsigned int hashlen, const unsigned char *hash, const unsigned char
      *sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_rsassa_pss_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - md_alg
    - hashlen
    - hash
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2283
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2283
    functionName: mbedtls_rsa_rsassa_pss_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - rsa_rsassa_pss_sign
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsassa_pss_sign(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, mbedtls_md_type_t md_alg, unsigned
      int hashlen, const unsigned char *hash, unsigned char *sig) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2694,1
    - Dst: rsa_rsassa_pkcs1_v15_encode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2700,1
    - Dst: mbedtls_rsa_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2709,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2718,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2695,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2727,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2731,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 5
    argNames:
    - ctx
    - md_alg
    - hashlen
    - hash
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2735
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2735
    functionName: mbedtls_rsa_rsassa_pkcs1_v15_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_ct_memcmp
    - rsa_rsassa_pkcs1_v15_encode
    - mbedtls_rsa_public
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_rsassa_pkcs1_v15_verify(mbedtls_rsa_context *ctx,
      mbedtls_md_type_t md_alg, unsigned int hashlen, const unsigned char *hash, const
      unsigned char *sig) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_rsaes_pkcs1_v15_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1896,1
    - Dst: mbedtls_rsa_rsaes_oaep_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - ilen
    - input
    - output
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1909
    functionName: mbedtls_rsa_pkcs1_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_rsaes_pkcs1_v15_encrypt
    - mbedtls_rsa_rsaes_oaep_encrypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_pkcs1_encrypt(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, size_t ilen, const unsigned char *input,
      unsigned char *output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_rsassa_pkcs1_v15_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2510,1
    - Dst: mbedtls_rsa_rsassa_pss_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:2516,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 7
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - md_alg
    - hashlen
    - hash
    - sig
    argTypes:
    - mbedtls_rsa_context*
    - int
    - void*
    - mbedtls_md_type_t
    - unsigned int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2523
      start: 2495
    functionDepth: 0
    functionLinenumber: 2495
    functionLinenumberEnd: 2523
    functionName: mbedtls_rsa_pkcs1_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_rsassa_pkcs1_v15_sign
    - mbedtls_rsa_rsassa_pss_sign
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_pkcs1_sign(mbedtls_rsa_context *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, mbedtls_md_type_t md_alg, unsigned
      int hashlen, const unsigned char *hash, unsigned char *sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:66,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - p
    - end
    - X
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: asn1_get_nonzero_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_mpi
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: int
    signature: 'static int asn1_get_nonzero_mpi(unsigned char **p, const unsigned
      char *end, mbedtls_mpi *X) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:646,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:658,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:668,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:657,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:667,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:669,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:670,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:680,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:687,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:692,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:713,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:693,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:704,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:703,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 3
    argNames:
    - ctx
    - is_priv
    - blinding_needed
    argTypes:
    - mbedtls_rsa_context*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 719
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 719
    functionName: rsa_check_context
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_size
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_get_bit
    linkageType: ''
    returnType: int
    signature: 'static int rsa_check_context(mbedtls_rsa_context const *ctx, int is_priv,
      int blinding_needed) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:730,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:731,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:733,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:734,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:732,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:737,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:738,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:739,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:769,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:771,1
    - Dst: mbedtls_rsa_deduce_primes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:782,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:793,1
    - Dst: mbedtls_rsa_deduce_crt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:804,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:807,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:774,1
    - Dst: rsa_check_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:816,1
    - Dst: mbedtls_rsa_deduce_private_exponent
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:789,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:785,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 817
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 817
    functionName: mbedtls_rsa_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mul_mpi
    - mbedtls_rsa_deduce_crt
    - mbedtls_rsa_deduce_private_exponent
    - rsa_check_context
    - mbedtls_mpi_cmp_int
    - MBEDTLS_ERROR_ADD
    - mbedtls_mpi_size
    - mbedtls_rsa_deduce_primes
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_complete(mbedtls_rsa_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: mbedtls_rsa_get_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_rsa_get_bitlen(const mbedtls_rsa_context *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1702,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1708,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1707,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1714,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1711,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1717,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1720,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1723,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c:1728,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 6
    argNames:
    - hash
    - hlen
    - salt
    - slen
    - out
    - md_alg
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 1731
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1731
    functionName: hash_mprime
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - mbedtls_md_init
    - mbedtls_md_starts
    - mbedtls_md_update
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'static int hash_mprime(const unsigned char *hash, size_t hlen, const
      unsigned char *salt, size_t slen, unsigned char *out, mbedtls_md_type_t md_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: mbedtls_calloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *mbedtls_calloc(size_t nmemb, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: platform_printf_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int platform_printf_uninit(const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_platform_context*
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: mbedtls_platform_teardown
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_platform_teardown(mbedtls_platform_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: mbedtls_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_free(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - (*vsnprintf_func)
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: mbedtls_platform_set_vsnprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_vsnprintf(int (*vsnprintf_func)(char *s,
      size_t n, const char *format, va_list arg)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - (*time_func)
    argTypes:
    - mbedtls_time_t
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: mbedtls_platform_set_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_time(mbedtls_time_t (*time_func)(mbedtls_time_t
      *timer)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_platform_context*
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: mbedtls_platform_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_setup(mbedtls_platform_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: platform_free_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void platform_free_uninit(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - s
    - n
    - format
    - arg
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: platform_vsnprintf_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int platform_vsnprintf_uninit(char *s, size_t n, const char
      *format, va_list arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:297,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:305,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:302,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:304,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:306,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: mbedtls_platform_std_nv_seed_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - fread
    - mbedtls_platform_zeroize
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_std_nv_seed_read(unsigned char *buf, size_t buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - (*calloc_func)
    - (*free_func)
    argTypes:
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: mbedtls_platform_set_calloc_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_calloc_free(void *(*calloc_func)(size_t,
      size_t), void (*free_func)(void *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - (*snprintf_func)
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: mbedtls_platform_set_snprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_snprintf(int (*snprintf_func)(char *s, size_t
      n, const char *format, ...)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf_s
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:124,1
    - Dst: vsnprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - s
    - n
    - fmt
    - arg
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: mbedtls_platform_win32_vsnprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached:
    - vsnprintf_s
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_win32_vsnprintf(char *s, size_t n, const char
      *fmt, va_list arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - (*printf_func)
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: mbedtls_platform_set_printf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_printf(int (*printf_func)(const char *, ...)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:319,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:331,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:327,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:326,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: mbedtls_platform_std_nv_seed_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached:
    - fopen
    - fwrite
    - fclose
    - mbedtls_setbuf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_std_nv_seed_write(unsigned char *buf, size_t
      buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - n
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: platform_calloc_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *platform_calloc_uninit(size_t n, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - s
    - n
    - format
    - '...'
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: platform_snprintf_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int platform_snprintf_uninit(char *s, size_t n, const char
      *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - stream
    - format
    - '...'
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: platform_fprintf_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int platform_fprintf_uninit(FILE *stream, const char *format,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - timer
    argTypes:
    - mbedtls_time_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: platform_time_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_time_t
    signature: 'static mbedtls_time_t platform_time_uninit(mbedtls_time_t *timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: platform_nv_seed_read_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int platform_nv_seed_read_uninit(unsigned char *buf, size_t
      buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: platform_nv_seed_write_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int platform_nv_seed_write_uninit(unsigned char *buf, size_t
      buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - (*setbuf_func)
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: mbedtls_platform_set_setbuf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_setbuf(void (*setbuf_func)(FILE *stream,
      char *buf)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - (*exit_func)
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: mbedtls_platform_set_exit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_exit(void (*exit_func)(int status)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - (*nv_seed_read_func)
    - (*nv_seed_write_func)
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: mbedtls_platform_set_nv_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_nv_seed( int (*nv_seed_read_func)(unsigned
      char *buf, size_t buf_len), int (*nv_seed_write_func)(unsigned char *buf, size_t
      buf_len)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - stream
    - buf
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: platform_setbuf_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void platform_setbuf_uninit(FILE *stream, char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: platform_exit_uninit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void platform_exit_uninit(int status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:74,1
    - Dst: mbedtls_vsnprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:75,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - s
    - n
    - fmt
    - '...'
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: mbedtls_platform_win32_snprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached:
    - mbedtls_vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_win32_snprintf(char *s, size_t n, const char
      *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - (*fprintf_func)
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: mbedtls_platform_set_fprintf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_platform_set_fprintf(int (*fprintf_func)(FILE *, const
      char *, ...)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_client.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: psa_reset_key_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_client.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void psa_reset_key_attributes(psa_key_attributes_t *attributes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:629,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:637,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:633,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - hash_alg
    - application_secret
    - transcript
    - transcript_len
    - derived
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - unsigned char*
    - size_t
    - mbedtls_ssl_tls13_application_secrets*
    constantsTouched: []
    func_position:
      end: 651
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 651
    functionName: mbedtls_ssl_tls13_derive_resumption_master_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_derive_secret
    - PSA_ALG_IS_HASH
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_derive_resumption_master_secret( psa_algorithm_t
      hash_alg, unsigned char const *application_secret, unsigned char const *transcript,
      size_t transcript_len, mbedtls_ssl_tls13_application_secrets *derived) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1754,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1759,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1776,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1767,1
    - Dst: mbedtls_ssl_tls13_derive_resumption_master_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1766,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1779,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1782,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1782,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1787
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1787
    functionName: mbedtls_ssl_tls13_compute_resumption_master_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_platform_zeroize
    - mbedtls_ssl_tls13_derive_resumption_master_secret
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ssl_get_handshake_transcript
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_compute_resumption_master_secret(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_key_schedule_stage_application
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1795,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1804,1
    - Dst: ssl_tls13_generate_application_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1802,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1810,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1797,1
    - Dst: mbedtls_ssl_tls13_populate_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1816,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1823,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1831,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1833,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1836
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1836
    functionName: mbedtls_ssl_tls13_compute_application_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_ssl_tls13_populate_transform
    - ssl_tls13_generate_application_keys
    - mbedtls_free
    - mbedtls_platform_zeroize
    - ssl_tls13_key_schedule_stage_application
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_compute_application_transform(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_make_traffic_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:272,1
    - Dst: ssl_tls13_make_traffic_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 7
    argNames:
    - hash_alg
    - client_secret
    - server_secret
    - secret_len
    - key_len
    - iv_len
    - keys
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - mbedtls_ssl_key_set*
    constantsTouched: []
    func_position:
      end: 292
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 292
    functionName: mbedtls_ssl_tls13_make_traffic_keys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - ssl_tls13_make_traffic_key
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_make_traffic_keys( psa_algorithm_t hash_alg,
      const unsigned char *client_secret, const unsigned char *server_secret, size_t
      secret_len, size_t key_len, size_t iv_len, mbedtls_ssl_key_set *keys) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:553,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:582,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:591,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:579,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:557,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:594,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:603,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - hash_alg
    - application_secret
    - transcript
    - transcript_len
    - derived
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - unsigned char*
    - size_t
    - mbedtls_ssl_tls13_application_secrets*
    constantsTouched: []
    func_position:
      end: 616
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 616
    functionName: mbedtls_ssl_tls13_derive_application_secrets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_derive_secret
    - PSA_ALG_IS_HASH
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_derive_application_secrets( psa_algorithm_t
      hash_alg, unsigned char const *application_secret, unsigned char const *transcript,
      size_t transcript_len, mbedtls_ssl_tls13_application_secrets *derived) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1284,1
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1290,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1293,1
    - Dst: mbedtls_ssl_tls13_export_handshake_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1291,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1288,1
    - Dst: mbedtls_ssl_tls13_evolve_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1300,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1304,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1307,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1311,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1313,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1315
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1315
    functionName: mbedtls_ssl_tls13_key_schedule_stage_early
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_free
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_ssl_tls13_key_exchange_mode_with_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_evolve_secret
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ssl_tls13_export_handshake_psk
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_key_schedule_stage_early(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:674,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:692,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:686,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:690,1
    - Dst: mbedtls_ssl_tls13_evolve_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 695
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 695
    functionName: ssl_tls13_key_schedule_stage_application
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_evolve_secret
    - mbedtls_md_psa_alg_from_type
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_key_schedule_stage_application(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:789,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:812,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:808,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:791,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:793,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:815,1
    - Dst: ssl_tls13_calc_finished_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:817,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:823,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:824,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:828,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:829,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - ssl
    - dst
    - dst_len
    - actual_len
    - from
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 831
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 831
    functionName: mbedtls_ssl_tls13_calculate_verify_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_tls13_calc_finished_core
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ssl_get_handshake_transcript
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_calculate_verify_data(mbedtls_ssl_context *ssl,
      unsigned char *dst, size_t dst_len, size_t *actual_len, int from) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1150,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1154,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1161,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1160,1
    - Dst: ssl_tls13_get_cipher_key_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1152,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1163,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1168,1
    - Dst: mbedtls_ssl_tls13_derive_early_secrets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1174,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1178,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1183,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1207,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1213,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1227,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1225,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1217,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1221,1
    - Dst: ssl_tls13_make_traffic_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1201,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - ssl
    - traffic_keys
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_key_set*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1229
    functionName: ssl_tls13_generate_early_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_derive_early_secrets
    - mbedtls_platform_zeroize
    - ssl_tls13_get_cipher_key_info
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_make_traffic_key
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ssl_get_handshake_transcript
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_generate_early_key(mbedtls_ssl_context
      *ssl, mbedtls_ssl_key_set *traffic_keys) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:707,1
    - Dst: mbedtls_ssl_tls13_hkdf_expand_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:735,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:714,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:744,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:737,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:745,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:746,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:747,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:749,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:751,1
    - Dst: psa_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:755,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:757,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:766,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:763,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:761,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - hash_alg
    - base_key
    - transcript
    - dst
    - dst_len
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 769
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 769
    functionName: ssl_tls13_calc_finished_core
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - psa_set_key_usage_flags
    - PSA_ALG_IS_HASH
    - psa_set_key_type
    - psa_import_key
    - psa_destroy_key
    - psa_set_key_algorithm
    - mbedtls_ssl_tls13_hkdf_expand_label
    - mbedtls_platform_zeroize
    - PSA_ALG_HMAC
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - psa_mac_compute
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_calc_finished_core(psa_algorithm_t
      hash_alg, unsigned char const *base_key, unsigned char const *transcript, unsigned
      char *dst, size_t *dst_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:843,1
    - Dst: mbedtls_ssl_tls13_evolve_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:868,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:873,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:877,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:853,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:881,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:884,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:887,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:889,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:892,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:918,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:919,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:914,1
    - Dst: ssl_tls13_calc_finished_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:908,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:895,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:899,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 7
    argNames:
    - ssl
    - hash_alg
    - psk
    - psk_len
    - psk_type
    - transcript
    - result
    argTypes:
    - mbedtls_ssl_context*
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 921
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 921
    functionName: mbedtls_ssl_tls13_create_psk_binder
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - PSA_ALG_IS_HASH
    - ssl_tls13_calc_finished_core
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_evolve_secret
    - mbedtls_ssl_tls13_derive_secret
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_create_psk_binder(mbedtls_ssl_context *ssl,
      const psa_algorithm_t hash_alg, unsigned char const *psk, size_t psk_len, int
      psk_type, unsigned char const *transcript, unsigned char *result) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_generate_early_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1240,1
    - Dst: mbedtls_ssl_tls13_populate_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1253,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1260,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1242,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1247,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1266,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1272
    functionName: mbedtls_ssl_tls13_compute_early_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_populate_transform
    - mbedtls_calloc
    - mbedtls_free
    - mbedtls_platform_zeroize
    - ssl_tls13_generate_early_key
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_compute_early_transform(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_TLS1_3_KEY_SCHEDULE_HKDF_LABEL_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:107,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:124,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:126,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:120,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:123,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:130,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - desired_length
    - label
    - label_len
    - ctx
    - ctx_len
    - dst
    - dst_len
    argTypes:
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 137
    functionName: ssl_tls13_hkdf_encode_label
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - memcpy
    - SSL_TLS1_3_KEY_SCHEDULE_HKDF_LABEL_LEN
    - MBEDTLS_BYTE_0
    linkageType: ''
    returnType: void
    signature: 'static void ssl_tls13_hkdf_encode_label( size_t desired_length, const
      unsigned char *label, size_t label_len, const unsigned char *ctx, size_t ctx_len,
      unsigned char *dst, size_t *dst_len) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:962,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1005,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1018,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1015,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1064,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1068,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1071,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1079,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1077,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:960,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:954,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:972,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:976,1
    - Dst: mbedtls_ssl_cipher_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1049,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1062,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1075,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1082,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1083,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:952,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1011,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1009,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1055,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1016,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1008,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1056,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1063,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1070,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1072,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:970,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:978,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1004,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1054,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1066,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1081,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 95
    argCount: 5
    argNames:
    - transform
    - endpoint
    - ciphersuite
    - traffic_keys
    - ssl
    - /* DEBUG ONLY */
    argTypes:
    - mbedtls_ssl_transform*
    - int
    - int
    - mbedtls_ssl_key_set*
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1089
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 1089
    functionName: mbedtls_ssl_tls13_populate_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - mbedtls_cipher_info_from_type
    - PSA_BITS_TO_BYTES
    - psa_set_key_algorithm
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_ssl_cipher_to_psa
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_populate_transform( mbedtls_ssl_transform *transform,
      int endpoint, int ciphersuite, mbedtls_ssl_key_set const *traffic_keys, mbedtls_ssl_context
      *ssl /* DEBUG ONLY */) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1485,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1482,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1492,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1499,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1500,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1518,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1515,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1543,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1545,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1469,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1481,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1495,1
    - Dst: psa_raw_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1505,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1525,1
    - Dst: mbedtls_ssl_tls13_evolve_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1534,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1517,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1539,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1511,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1549,1
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1480,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1498,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1510,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1553
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1553
    functionName: ssl_tls13_key_schedule_stage_handshake
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - psa_destroy_key
    - PSA_BITS_TO_BYTES
    - mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral
    - psa_get_key_bits
    - mbedtls_zeroize_and_free
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - psa_get_key_attributes
    - mbedtls_ssl_tls13_evolve_secret
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - PSA_TO_MBEDTLS_ERR
    - psa_raw_key_agreement
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_key_schedule_stage_handshake(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1596,1
    - Dst: mbedtls_ssl_tls13_derive_application_secrets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1624,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1628,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1641,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1682,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1678,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1603,1
    - Dst: ssl_tls13_get_cipher_key_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1600,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1676,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1685,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1689,1
    - Dst: mbedtls_ssl_tls13_make_traffic_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1635,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1649,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1610,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1609,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1615,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1645,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1680,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1692,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - ssl
    - traffic_keys
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_key_set*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1694
    functionName: ssl_tls13_generate_application_keys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_platform_zeroize
    - ssl_tls13_get_cipher_key_info
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_derive_application_secrets
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ssl_tls13_make_traffic_keys
    - mbedtls_ssl_get_handshake_transcript
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_generate_application_keys(
      mbedtls_ssl_context *ssl, mbedtls_ssl_key_set *traffic_keys) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:170,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:186,1
    - Dst: ssl_tls13_hkdf_encode_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:174,1
    - Dst: PSA_ALG_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:180,1
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:180,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:195,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:204,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:213,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:215,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:216,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 9
    argNames:
    - hash_alg
    - secret
    - secret_len
    - label
    - label_len
    - ctx
    - ctx_len
    - buf
    - buf_len
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 217
    functionName: mbedtls_ssl_tls13_hkdf_expand_label
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_HASH
    - psa_key_derivation_input_bytes
    - psa_key_derivation_abort
    - PSA_ALG_HKDF_EXPAND
    - ssl_tls13_hkdf_encode_label
    - mbedtls_platform_zeroize
    - psa_key_derivation_output_bytes
    - psa_key_derivation_setup
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_hkdf_expand_label( psa_algorithm_t hash_alg,
      const unsigned char *secret, size_t secret_len, const unsigned char *label,
      size_t label_len, const unsigned char *ctx, size_t ctx_len, unsigned char *buf,
      size_t buf_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_cipher_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1108,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1114,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ciphersuite_info
    - key_len
    - iv_len
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1120
    functionName: ssl_tls13_get_cipher_key_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_ssl_cipher_to_psa
    - PSA_BITS_TO_BYTES
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_get_cipher_key_info(
      const mbedtls_ssl_ciphersuite_t *ciphersuite_info, size_t *key_len, size_t *iv_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_key_schedule_stage_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1704,1
    - Dst: ssl_tls13_generate_handshake_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1712,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1714,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1706,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1719,1
    - Dst: mbedtls_ssl_tls13_populate_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1725,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1732,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1738,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1740,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1744
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1744
    functionName: mbedtls_ssl_tls13_compute_handshake_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_ssl_tls13_populate_transform
    - ssl_tls13_generate_handshake_keys
    - mbedtls_free
    - mbedtls_platform_zeroize
    - ssl_tls13_key_schedule_stage_handshake
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_compute_handshake_transform(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1363,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1362,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1365,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1388,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1441,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1356,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1385,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1421,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1425,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1433,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1352,1
    - Dst: ssl_tls13_get_cipher_key_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1354,1
    - Dst: mbedtls_ssl_tls13_derive_handshake_secrets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1376,1
    - Dst: mbedtls_ssl_tls13_make_traffic_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1415,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1370,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1380,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1437,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1429,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - ssl
    - traffic_keys
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_key_set*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1446
    functionName: ssl_tls13_generate_handshake_keys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_derive_handshake_secrets
    - ssl_tls13_get_cipher_key_info
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ssl_tls13_make_traffic_keys
    - mbedtls_ssl_get_handshake_transcript
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_generate_handshake_keys(mbedtls_ssl_context
      *ssl, mbedtls_ssl_key_set *traffic_keys) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1850,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1859,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1859,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1854,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1856,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1860,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1865,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1868,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:1870,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ssl
    - psk
    - psk_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1881
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1881
    functionName: mbedtls_ssl_tls13_export_handshake_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - PSA_BITS_TO_BYTES
    - mbedtls_free
    - mbedtls_svc_key_id_is_null
    - psa_get_key_bits
    - psa_export_key
    - psa_get_key_attributes
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_export_handshake_psk(mbedtls_ssl_context *ssl,
      unsigned char **psk, size_t *psk_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:30,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_hkdf_expand_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:228,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:231,1
    - Dst: mbedtls_ssl_tls13_hkdf_expand_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:238,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 7
    argNames:
    - hash_alg
    - secret
    - secret_len
    - key
    - key_len
    - iv
    - iv_len
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: ssl_tls13_make_traffic_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_hkdf_expand_label
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_make_traffic_key(
      psa_algorithm_t hash_alg, const unsigned char *secret, size_t secret_len, unsigned
      char *key, size_t key_len, unsigned char *iv, size_t iv_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:307,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:322,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:308,1
    - Dst: mbedtls_ssl_tls13_hkdf_expand_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:325,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 10
    argNames:
    - hash_alg
    - secret
    - secret_len
    - label
    - label_len
    - ctx
    - ctx_len
    - ctx_hashed
    - dstbuf
    - dstbuf_len
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 331
    functionName: mbedtls_ssl_tls13_derive_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - psa_hash_compute
    - memcpy
    - mbedtls_ssl_tls13_hkdf_expand_label
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_derive_secret( psa_algorithm_t hash_alg, const
      unsigned char *secret, size_t secret_len, const unsigned char *label, size_t
      label_len, const unsigned char *ctx, size_t ctx_len, int ctx_hashed, unsigned
      char *dstbuf, size_t dstbuf_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:429,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:452,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:433,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:455,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:465,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - hash_alg
    - early_secret
    - transcript
    - transcript_len
    - derived
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - unsigned char*
    - size_t
    - mbedtls_ssl_tls13_early_secrets*
    constantsTouched: []
    func_position:
      end: 478
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 478
    functionName: mbedtls_ssl_tls13_derive_early_secrets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_derive_secret
    - PSA_ALG_IS_HASH
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_derive_early_secrets( psa_algorithm_t hash_alg,
      unsigned char const *early_secret, unsigned char const *transcript, size_t transcript_len,
      mbedtls_ssl_tls13_early_secrets *derived) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:351,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:363,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:360,1
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:382,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:355,1
    - Dst: PSA_ALG_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:383,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:389,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:398,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:406,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:408,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:418,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:417,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:415,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 5
    argNames:
    - hash_alg
    - secret_old
    - input
    - input_len
    - secret_new
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 420
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 420
    functionName: mbedtls_ssl_tls13_evolve_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - PSA_ALG_HKDF_EXTRACT
    - PSA_ALG_IS_HASH
    - psa_key_derivation_input_bytes
    - psa_key_derivation_abort
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_derive_secret
    - psa_key_derivation_setup
    - psa_key_derivation_output_bytes
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_evolve_secret( psa_algorithm_t hash_alg, const
      unsigned char *secret_old, const unsigned char *input, size_t input_len, unsigned
      char *secret_new) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:487,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:531,1
    - Dst: mbedtls_ssl_tls13_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:514,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:491,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:517,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - hash_alg
    - handshake_secret
    - transcript
    - transcript_len
    - derived
    argTypes:
    - psa_algorithm_t
    - unsigned char*
    - unsigned char*
    - size_t
    - mbedtls_ssl_tls13_handshake_secrets*
    constantsTouched: []
    func_position:
      end: 544
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 544
    functionName: mbedtls_ssl_tls13_derive_handshake_secrets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_keys.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_derive_secret
    - PSA_ALG_IS_HASH
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_derive_handshake_secrets( psa_algorithm_t hash_alg,
      unsigned char const *handshake_secret, unsigned char const *transcript, size_t
      transcript_len, mbedtls_ssl_tls13_handshake_secrets *derived) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pem_context*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: mbedtls_pem_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pem_init(mbedtls_pem_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - s
    - iv
    - iv_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 72
    functionName: pem_get_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int pem_get_iv(const unsigned char *s, unsigned char *iv, size_t
      iv_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:160,1
    - Dst: mbedtls_des_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:166,1
    - Dst: mbedtls_des_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:173,1
    - Dst: mbedtls_des_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:169,1
    - Dst: pem_pbkdf1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:162,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - des_iv
    - buf
    - buflen
    - pwd
    - pwdlen
    argTypes:
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: pem_des_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - mbedtls_des_init
    - mbedtls_platform_zeroize
    - mbedtls_des_crypt_cbc
    - pem_pbkdf1
    - mbedtls_des_free
    - mbedtls_des_setkey_dec
    linkageType: ''
    returnType: int
    signature: 'static int pem_des_decrypt(unsigned char des_iv[8], unsigned char
      *buf, size_t buflen, const unsigned char *pwd, size_t pwdlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:222,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:235,1
    - Dst: pem_pbkdf1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:224,1
    - Dst: mbedtls_aes_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:231,1
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:228,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - aes_iv
    - keylen
    - buf
    - buflen
    - pwd
    - pwdlen
    argTypes:
    - unsigned char
    - unsigned int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 239
    functionName: pem_aes_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_setkey_dec
    - mbedtls_platform_zeroize
    - pem_pbkdf1
    - mbedtls_aes_free
    - mbedtls_aes_init
    - mbedtls_aes_crypt_cbc
    linkageType: ''
    returnType: int
    signature: 'static int pem_aes_decrypt(unsigned char aes_iv[16], unsigned int
      keylen, unsigned char *buf, size_t buflen, const unsigned char *pwd, size_t
      pwdlen) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:287,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:299,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:343,1
    - Dst: pem_get_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:347,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:365,1
    - Dst: mbedtls_base64_decode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:408,1
    - Dst: mbedtls_base64_decode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:422,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:424,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:430,1
    - Dst: pem_des3_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:438,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:470,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:352,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:368,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:411,1
    - Dst: pem_aes_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:450,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:465,1
    - Dst: pem_aes_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:448,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:327,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:293,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:313,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:423,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:370,1
    - Dst: pem_get_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:379,1
    - Dst: pem_des_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:440,1
    - Dst: pem_check_pkcs_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:463,1
    - Dst: pem_get_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:356,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:418,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:372,1
    - Dst: pem_aes_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:446,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:455,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 172
    argCount: 7
    argNames:
    - ctx
    - header
    - footer
    - data
    - pwd
    - pwdlen
    - use_len
    argTypes:
    - mbedtls_pem_context*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 479
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 479
    functionName: mbedtls_pem_read_buffer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - pem_des_decrypt
    - pem_get_iv
    - mbedtls_calloc
    - memcmp
    - pem_aes_decrypt
    - pem_des3_decrypt
    - MBEDTLS_ERROR_ADD
    - mbedtls_base64_decode
    - mbedtls_zeroize_and_free
    - strstr
    - pem_check_pkcs_padding
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pem_read_buffer(mbedtls_pem_context *ctx, const char *header,
      const char *footer, const unsigned char *data, const unsigned char *pwd, size_t
      pwdlen, size_t *use_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:84,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:88,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:95,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:98,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:87,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:101,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:104,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:109,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:113,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:118,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:121,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:143,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:130,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:124,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:142,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:139,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:127,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 5
    argNames:
    - key
    - keylen
    - iv
    - pwd
    - pwdlen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 146
    functionName: pem_pbkdf1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_md_init
    - mbedtls_md_starts
    - mbedtls_md_update
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'static int pem_pbkdf1(unsigned char *key, size_t keylen, unsigned
      char *iv, const unsigned char *pwd, size_t pwdlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:488,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:490,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pem_context*
    constantsTouched: []
    func_position:
      end: 493
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 493
    functionName: mbedtls_pem_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_zeroize_and_free
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pem_free(mbedtls_pem_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:190,1
    - Dst: pem_pbkdf1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:192,1
    - Dst: mbedtls_des3_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:199,1
    - Dst: mbedtls_des3_set3key_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:196,1
    - Dst: mbedtls_des3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:203,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - des3_iv
    - buf
    - buflen
    - pwd
    - pwdlen
    argTypes:
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: pem_des3_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - mbedtls_des3_set3key_dec
    - mbedtls_platform_zeroize
    - pem_pbkdf1
    - mbedtls_des3_init
    - mbedtls_des3_free
    - mbedtls_des3_crypt_cbc
    linkageType: ''
    returnType: int
    signature: 'static int pem_des3_decrypt(unsigned char des3_iv[8], unsigned char
      *buf, size_t buflen, const unsigned char *pwd, size_t pwdlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_base64_encode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:505,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:506,1
    - Dst: mbedtls_base64_encode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:518,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:506,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:514,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:520,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:524,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:524,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:525,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:530,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:537,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:538,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:544,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:537,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c:546,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 7
    argNames:
    - header
    - footer
    - der_data
    - der_len
    - buf
    - buf_len
    - olen
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 548
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 548
    functionName: mbedtls_pem_write_buffer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_free
    - memcpy
    - memset
    - mbedtls_base64_encode
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pem_write_buffer(const char *header, const char *footer,
      const unsigned char *der_data, size_t der_len, unsigned char *buf, size_t buf_len,
      size_t *olen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - input
    - input_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 262
    functionName: pem_check_pkcs_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pem_check_pkcs_padding(unsigned char *input, size_t input_len,
      size_t *data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_cond_swap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:38,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - X
    - Y
    - N
    - swap
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: mbedtls_mpi_mod_raw_cond_swap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool
    - mbedtls_mpi_core_cond_swap
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_raw_cond_swap(mbedtls_mpi_uint *X, mbedtls_mpi_uint
      *Y, const mbedtls_mpi_mod_modulus *N, unsigned char swap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_write_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:84,1
    - Dst: mbedtls_mpi_core_write_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - A
    - N
    - output
    - output_length
    - ext_rep
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    - unsigned char*
    - size_t
    - mbedtls_mpi_mod_ext_rep
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: mbedtls_mpi_mod_raw_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_write_be
    - mbedtls_mpi_core_write_le
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_raw_write(const mbedtls_mpi_uint *A, const mbedtls_mpi_mod_modulus
      *N, unsigned char *output, size_t output_length, mbedtls_mpi_mod_ext_rep ext_rep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:108,1
    - Dst: mbedtls_mpi_core_add_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - X
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: mbedtls_mpi_mod_raw_fix_quasi_reduction
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_add_if
    - mbedtls_mpi_core_sub
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE void mbedtls_mpi_mod_raw_fix_quasi_reduction(mbedtls_mpi_uint
      *X, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_exp_mod_working_limbs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - AN_limbs
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: mbedtls_mpi_mod_raw_inv_prime_working_limbs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_exp_mod_working_limbs
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_mpi_mod_raw_inv_prime_working_limbs(size_t AN_limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:184,1
    - Dst: mbedtls_mpi_core_add_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:186,1
    - Dst: mbedtls_mpi_core_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - X
    - A
    - B
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: mbedtls_mpi_mod_raw_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_add
    - mbedtls_mpi_core_add_if
    - mbedtls_mpi_core_sub
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_raw_add(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *B, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_raw_from_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - X
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: mbedtls_mpi_mod_raw_modulus_to_canonical_rep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_raw_from_mont_rep
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_raw_modulus_to_canonical_rep( mbedtls_mpi_uint
      *X, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_montmul_working_limbs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:234,1
    - Dst: mbedtls_mpi_core_to_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:240,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:236,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - X
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: mbedtls_mpi_mod_raw_to_mont_rep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_mpi_core_to_mont_rep
    - mbedtls_mpi_core_montmul_working_limbs
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_raw_to_mont_rep(mbedtls_mpi_uint *X, const mbedtls_mpi_mod_modulus
      *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_cond_assign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:30,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - X
    - A
    - N
    - assign
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: mbedtls_mpi_mod_raw_cond_assign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool
    - mbedtls_mpi_core_cond_assign
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_raw_cond_assign(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_mod_modulus *N, unsigned char assign) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_read_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:51,1
    - Dst: mbedtls_mpi_core_lt_ct
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:66,1
    - Dst: mbedtls_mpi_core_read_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:55,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 5
    argNames:
    - X
    - N
    - input
    - input_length
    - ext_rep
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    - unsigned char*
    - size_t
    - mbedtls_mpi_mod_ext_rep
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: mbedtls_mpi_mod_raw_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_lt_ct
    - mbedtls_mpi_core_read_le
    - mbedtls_mpi_core_read_be
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_raw_read(mbedtls_mpi_uint *X, const mbedtls_mpi_mod_modulus
      *N, const unsigned char *input, size_t input_length, mbedtls_mpi_mod_ext_rep
      ext_rep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:99,1
    - Dst: mbedtls_mpi_core_add_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - X
    - A
    - B
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: mbedtls_mpi_mod_raw_sub
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_add_if
    - mbedtls_mpi_core_sub
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_raw_sub(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *B, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:125,1
    - Dst: mbedtls_mpi_core_montmul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:128,1
    - Dst: mbedtls_mpi_mod_raw_fix_quasi_reduction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:138,1
    - Dst: mbedtls_mpi_core_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:132,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - X
    - A
    - B
    - N
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 145
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 145
    functionName: mbedtls_mpi_mod_raw_mul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - BITS_TO_LIMBS
    - memcpy
    - mbedtls_mpi_core_mul
    - mbedtls_mpi_core_montmul
    - mbedtls_mpi_mod_raw_fix_quasi_reduction
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_raw_mul(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *B, const mbedtls_mpi_mod_modulus *N, mbedtls_mpi_uint
      *T) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:170,1
    - Dst: mbedtls_mpi_core_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 6
    argNames:
    - X
    - A
    - N
    - AN_limbs
    - RR
    - T
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: mbedtls_mpi_mod_raw_inv_prime
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_sub_int
    - mbedtls_mpi_core_exp_mod
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_raw_inv_prime(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_uint *N, size_t AN_limbs, const mbedtls_mpi_uint *RR,
      mbedtls_mpi_uint *T) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_raw_to_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - X
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: mbedtls_mpi_mod_raw_canonical_to_modulus_rep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_raw_to_mont_rep
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_raw_canonical_to_modulus_rep( mbedtls_mpi_uint
      *X, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:223,1
    - Dst: mbedtls_mpi_mod_raw_canonical_to_modulus_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - X
    - min
    - N
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint
    - mbedtls_mpi_mod_modulus*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: mbedtls_mpi_mod_raw_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_random
    - mbedtls_mpi_mod_raw_canonical_to_modulus_rep
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_raw_random(mbedtls_mpi_uint *X, mbedtls_mpi_uint
      min, const mbedtls_mpi_mod_modulus *N, int (*f_rng)(void *, unsigned char *,
      size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_montmul_working_limbs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:250,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:253,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:259,1
    - Dst: mbedtls_mpi_core_from_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - X
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: mbedtls_mpi_mod_raw_from_mont_rep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_zeroize_and_free
    - mbedtls_mpi_core_montmul_working_limbs
    - mbedtls_mpi_core_from_mont_rep
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_raw_from_mont_rep(mbedtls_mpi_uint *X, const mbedtls_mpi_mod_modulus
      *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:267,1
    - Dst: mbedtls_mpi_core_add_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:272,1
    - Dst: mbedtls_mpi_core_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - X
    - A
    - N
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: mbedtls_mpi_mod_raw_neg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod_raw.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_add_if
    - mbedtls_mpi_core_sub
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_raw_neg(mbedtls_mpi_uint *X, const mbedtls_mpi_uint
      *A, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - padded_block
    - padded_block_len
    - last_block
    - last_block_len
    argTypes:
    - unsigned char
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: cmac_pad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cmac_pad(unsigned char padded_block[MBEDTLS_CMAC_MAX_BLOCK_SIZE],
      size_t padded_block_len, const unsigned char *last_block, size_t last_block_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:102,1
    - Dst: cmac_multiply_by_u
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:118,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:107,1
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:104,1
    - Dst: cmac_multiply_by_u
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:114,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - K1
    - K2
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: cmac_generate_subkeys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_update
    - mbedtls_platform_zeroize
    - mbedtls_cipher_info_get_block_size
    - cmac_multiply_by_u
    linkageType: ''
    returnType: int
    signature: 'static int cmac_generate_subkeys(mbedtls_cipher_context_t *ctx, unsigned
      char *K1, unsigned char *K2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:211,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:228,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:222,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:216,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:226,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:244,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:246,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:257,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 265
    functionName: mbedtls_cipher_cmac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - MBEDTLS_ASSUME
    - memcpy
    - mbedtls_cipher_info_get_block_size
    - mbedtls_cipher_update
    - mbedtls_xor_no_simd
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_cmac_update(mbedtls_cipher_context_t *ctx, const
      unsigned char *input, size_t ilen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:338,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 344
    functionName: mbedtls_cipher_cmac_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_cmac_reset(mbedtls_cipher_context_t *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:399,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:408,1
    - Dst: mbedtls_cipher_cmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:412,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:410,1
    - Dst: mbedtls_cipher_cmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:419,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:423,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 5
    argNames:
    - key
    - key_length
    - input
    - in_len
    - output
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 426
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 426
    functionName: mbedtls_aes_cmac_prf_128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_info_from_type
    - mbedtls_platform_zeroize
    - memcpy
    - mbedtls_cipher_cmac
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_cmac_prf_128(const unsigned char *key, size_t key_length,
      const unsigned char *input, size_t in_len, unsigned char output[16]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:837,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:860,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:866,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:846,1
    - Dst: mbedtls_cipher_cmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:849,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:871,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:873,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:879,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 10
    argNames:
    - verbose
    - testname
    - key
    - keybits
    - messages
    - message_lengths
    - expected_result
    - cipher_type
    - block_size
    - num_tests
    argTypes:
    - int
    - char*
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - mbedtls_cipher_type_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 886
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 886
    functionName: cmac_test_wth_cipher
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_info_from_type
    - memcmp
    - mbedtls_cipher_cmac
    - mbedtls_printf
    linkageType: ''
    returnType: int
    signature: 'static int cmac_test_wth_cipher(int verbose, const char *testname,
      const unsigned char *key, int keybits, const unsigned char *messages, const
      unsigned int message_lengths[4], const unsigned char *expected_result, mbedtls_cipher_type_t
      cipher_type, int block_size, int num_tests) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:166,1
    - Dst: mbedtls_cipher_info_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:171,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:192,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:185,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 195
    functionName: mbedtls_cipher_cmac_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_calloc
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_get_type
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_cmac_starts(mbedtls_cipher_context_t *ctx, const
      unsigned char *key, size_t keybits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:284,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:285,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:289,1
    - Dst: cmac_generate_subkeys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:290,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:288,1
    - Dst: cmac_pad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:296,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:297,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:300,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:304,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:305,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:310,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:316,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:319,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:322,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:315,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: mbedtls_cipher_cmac_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - MBEDTLS_ASSUME
    - mbedtls_xor
    - cmac_pad
    - mbedtls_platform_zeroize
    - memcpy
    - mbedtls_cipher_info_get_block_size
    - cmac_generate_subkeys
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_cmac_finish(mbedtls_cipher_context_t *ctx, unsigned
      char *output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:358,1
    - Dst: mbedtls_cipher_cmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:374,1
    - Dst: mbedtls_cipher_cmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:369,1
    - Dst: mbedtls_cipher_cmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:364,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:360,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:377,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 6
    argNames:
    - cipher_info
    - key
    - keylen
    - input
    - ilen
    - output
    argTypes:
    - mbedtls_cipher_info_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 380
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 380
    functionName: mbedtls_cipher_cmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - mbedtls_cipher_free
    - mbedtls_cipher_cmac_finish
    - mbedtls_cipher_init
    - mbedtls_cipher_cmac_update
    - mbedtls_cipher_cmac_starts
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_cmac(const mbedtls_cipher_info_t *cipher_info,
      const unsigned char *key, size_t keylen, const unsigned char *input, size_t
      ilen, unsigned char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:896,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:902,1
    - Dst: mbedtls_aes_cmac_prf_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:897,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:907,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 911
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 911
    functionName: test_aes128_cmac_prf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_aes_cmac_prf_128
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int test_aes128_cmac_prf(int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:77,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:84,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:80,1
    - Dst: mbedtls_ct_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - output
    - input
    - blocksize
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: cmac_multiply_by_u
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_if_else_0
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_ct_bool
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: int
    signature: 'static int cmac_multiply_by_u(unsigned char *output, const unsigned
      char *input, size_t blocksize) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:743,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:758,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:751,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:756,1
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:754,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:764,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:774,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:780,1
    - Dst: cmac_generate_subkeys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:786,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:789,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:796,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:798,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:809,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:795,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:816,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:805,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 8
    argNames:
    - verbose
    - testname
    - key
    - keybits
    - subkeys
    - cipher_type
    - block_size
    - num_tests
    argTypes:
    - int
    - char*
    - unsigned char*
    - int
    - unsigned char*
    - mbedtls_cipher_type_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 820
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 820
    functionName: cmac_test_subkeys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_cipher_setup
    - mbedtls_cipher_free
    - memcmp
    - mbedtls_cipher_info_from_type
    - mbedtls_cipher_init
    - mbedtls_cipher_setkey
    - cmac_generate_subkeys
    linkageType: ''
    returnType: int
    signature: 'static int cmac_test_subkeys(int verbose, const char *testname, const
      unsigned char *key, int keybits, const unsigned char *subkeys, mbedtls_cipher_type_t
      cipher_type, int block_size, int num_tests) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cmac_test_subkeys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:920,1
    - Dst: cmac_test_wth_cipher
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:957,1
    - Dst: cmac_test_wth_cipher
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:931,1
    - Dst: cmac_test_subkeys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:973,1
    - Dst: cmac_test_subkeys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:946,1
    - Dst: cmac_test_wth_cipher
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:984,1
    - Dst: cmac_test_subkeys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:1001,1
    - Dst: cmac_test_wth_cipher
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:1012,1
    - Dst: cmac_test_subkeys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:1026,1
    - Dst: cmac_test_wth_cipher
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:1037,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:1058,1
    - Dst: test_aes128_cmac_prf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c:1052,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1062
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 1062
    functionName: mbedtls_cmac_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - test_aes128_cmac_prf
    - cmac_test_subkeys
    - cmac_test_wth_cipher
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cmac_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - MBEDTLS_DES3_BLOCK_SIZE
    argTypes:
    - blocksize
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cmac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (blocksize == MBEDTLS_DES3_BLOCK_SIZE) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - threshold
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: mbedtls_debug_set_threshold
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_set_threshold(int threshold) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:108,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - ret
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mbedtls_debug_print_ret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - debug_send_line
    - mbedtls_snprintf
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_print_ret(const mbedtls_ssl_context *ssl, int level,
      const char *file, int line, const char *text, int ret) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:199,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:218,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:212,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:202,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:211,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:224,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:227,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:228,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 7
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 230
    functionName: mbedtls_debug_print_ec_coord
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - debug_send_line
    - mbedtls_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_debug_print_ec_coord(const mbedtls_ssl_context
      *ssl, int level, const char *file, int line, const char *text, const unsigned
      char *buf, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:323,1
    - Dst: mbedtls_debug_print_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:341,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:336,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:326,1
    - Dst: mbedtls_pk_debug
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:325,1
    - Dst: mbedtls_debug_print_ecp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:346,1
    - Dst: mbedtls_debug_print_psa_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:351,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - pk
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 357
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 357
    functionName: debug_print_pk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - mbedtls_debug_print_mpi
    - mbedtls_debug_print_ecp
    - mbedtls_snprintf
    - debug_send_line
    - mbedtls_pk_debug
    - mbedtls_debug_print_psa_ec
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void debug_print_pk(const mbedtls_ssl_context *ssl, int level,
      const char *file, int line, const char *text, const mbedtls_pk_context *pk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_debug_print_ecp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:430,1
    - Dst: mbedtls_debug_print_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:438,1
    - Dst: mbedtls_debug_print_ecp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:434,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - ecdh
    - attr
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - mbedtls_ecdh_context*
    - mbedtls_debug_ecdh_attr
    constantsTouched: []
    func_position:
      end: 444
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 444
    functionName: mbedtls_debug_printf_ecdh_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - mbedtls_debug_print_mpi
    - mbedtls_debug_print_ecp
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_debug_printf_ecdh_internal(const mbedtls_ssl_context
      *ssl, int level, const char *file, int line, const mbedtls_ecdh_context *ecdh,
      mbedtls_debug_ecdh_attr attr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:60,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:71,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:83,1
    - Dst: mbedtls_vsnprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:70,1
    - Dst: va_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - ssl
    - level
    - file
    - line
    - format
    - '...'
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: mbedtls_debug_print_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - va_start
    - debug_send_line
    - mbedtls_vsnprintf
    - MBEDTLS_STATIC_ASSERT
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level,
      const char *file, int line, const char *format, ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:129,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:142,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:143,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:132,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:134,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:146,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:149,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:154,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:161,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:164,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 7
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 167
    functionName: mbedtls_debug_print_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - debug_send_line
    - mbedtls_snprintf
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_print_buf(const mbedtls_ssl_context *ssl, int level,
      const char *file, int line, const char *text, const unsigned char *buf, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:253,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:258,1
    - Dst: mbedtls_debug_print_ec_coord
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:254,1
    - Dst: mbedtls_debug_print_ec_coord
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - pk
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 260
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 260
    functionName: mbedtls_debug_print_psa_ec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - mbedtls_debug_print_ec_coord
    - mbedtls_snprintf
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_print_psa_ec(const mbedtls_ssl_context *ssl, int
      level, const char *file, int line, const char *text, const mbedtls_pk_context
      *pk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:373,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 381
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 381
    functionName: debug_print_line_by_line
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - debug_send_line
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void debug_print_line_by_line(const mbedtls_ssl_context *ssl,
      int level, const char *file, int line, const char *text) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:280,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:284,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:300,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:282,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:296,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:301,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:308,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:309,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - X
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 311
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 311
    functionName: mbedtls_debug_print_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - debug_send_line
    - mbedtls_snprintf
    - mbedtls_mpi_bitlen
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_print_mpi(const mbedtls_ssl_context *ssl, int level,
      const char *file, int line, const char *text, const mbedtls_mpi *X) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:401,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:404,1
    - Dst: debug_print_pk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:407,1
    - Dst: debug_print_line_by_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:405,1
    - Dst: debug_send_line
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:402,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - crt
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 411
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 411
    functionName: mbedtls_debug_print_crt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - debug_print_pk
    - debug_send_line
    - mbedtls_snprintf
    - debug_print_line_by_line
    - mbedtls_x509_crt_info
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_print_crt(const mbedtls_ssl_context *ssl, int level,
      const char *file, int line, const char *text, const mbedtls_x509_crt *crt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_debug_printf_ecdh_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:452,1
    - Dst: mbedtls_debug_printf_ecdh_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - ecdh
    - attr
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - mbedtls_ecdh_context*
    - mbedtls_debug_ecdh_attr
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: mbedtls_debug_printf_ecdh
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - mbedtls_debug_printf_ecdh_internal
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_printf_ecdh(const mbedtls_ssl_context *ssl, int
      level, const char *file, int line, const mbedtls_ecdh_context *ecdh, mbedtls_debug_ecdh_attr
      attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - ssl
    - level
    - file
    - line
    - str
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: debug_send_line
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    linkageType: ''
    returnType: void
    signature: 'static inline void debug_send_line(const mbedtls_ssl_context *ssl,
      int level, const char *file, int line, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:183,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:186,1
    - Dst: mbedtls_debug_print_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:187,1
    - Dst: mbedtls_debug_print_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 6
    argNames:
    - ssl
    - level
    - file
    - line
    - text
    - X
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - char*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: mbedtls_debug_print_ecp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/debug.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    - mbedtls_debug_print_mpi
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_debug_print_ecp(const mbedtls_ssl_context *ssl, int level,
      const char *file, int line, const char *text, const mbedtls_ecp_point *X) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:40,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:177,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:183,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:190,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:189,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:178,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:195,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:200,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:201,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:206,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:207,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:212,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:212,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:221,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:219,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 5
    argNames:
    - params
    - left_node
    - right_node
    - r_node_idx
    - out
    argTypes:
    - mbedtls_lms_parameters_t*
    - unsigned char*
    - unsigned char*
    - unsigned int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 222
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 222
    functionName: create_merkle_internal_value
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_BE
    - psa_hash_abort
    - MBEDTLS_LMS_M_NODE_BYTES
    - PSA_TO_MBEDTLS_ERR
    - psa_hash_operation_init
    - psa_hash_finish
    - psa_hash_update
    - psa_hash_setup
    linkageType: ''
    returnType: int
    signature: 'static int create_merkle_internal_value(const mbedtls_lms_parameters_t
      *params, const unsigned char *left_node, const unsigned char *right_node, unsigned
      int r_node_idx, unsigned char *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lms_public_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: mbedtls_lms_public_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lms_public_free(mbedtls_lms_public_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMS_PUBLIC_KEY_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:276,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:289,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:285,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:284,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:286,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:291,1
    - Dst: MBEDTLS_LMS_PUBLIC_KEY_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - key
    - key_size
    - key_len
    argTypes:
    - mbedtls_lms_public_t*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 298
    functionName: mbedtls_lms_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - memcpy
    - MBEDTLS_LMS_M_NODE_BYTES
    - MBEDTLS_LMS_PUBLIC_KEY_LEN
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lms_export_public_key(const mbedtls_lms_public_t *ctx,
      unsigned char *key, size_t key_size, size_t *key_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:490,1
    - Dst: MBEDTLS_LMS_H_TREE_HEIGHT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:508,1
    - Dst: calculate_merkle_tree
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:503,1
    - Dst: MERKLE_TREE_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:497,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:497,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:512,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:521,1
    - Dst: MERKLE_TREE_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - leaf_node_id
    - path
    argTypes:
    - mbedtls_lms_private_t*
    - unsigned int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: get_merkle_path
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - MBEDTLS_LMS_H_TREE_HEIGHT
    - MERKLE_TREE_NODE_AM
    - memcpy
    - calculate_merkle_tree
    - MBEDTLS_LMS_M_NODE_BYTES
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'static int get_merkle_path(mbedtls_lms_private_t *ctx, unsigned int
      leaf_node_id, unsigned char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lms_private_t*
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: mbedtls_lms_private_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lms_private_init(mbedtls_lms_private_t *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:587,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:605,1
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:605,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:596,1
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:596,1
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:612,1
    - Dst: mbedtls_lmots_private_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:613,1
    - Dst: mbedtls_lmots_public_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:614,1
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:618,1
    - Dst: mbedtls_lmots_generate_private_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:619,1
    - Dst: mbedtls_lmots_calculate_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:627,1
    - Dst: mbedtls_lms_private_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:638,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 7
    argNames:
    - ctx
    - type
    - otstype
    - (*f_rng)
    - p_rng
    - seed
    - seed_size
    argTypes:
    - mbedtls_lms_private_t*
    - mbedtls_lms_algorithm_type_t
    - mbedtls_lmots_algorithm_type_t
    - int
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 642
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 642
    functionName: mbedtls_lms_generate_private_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - mbedtls_lms_private_free
    - mbedtls_calloc
    - mbedtls_lmots_generate_private_key
    - MERKLE_TREE_LEAF_NODE_AM
    - f_rng
    - mbedtls_lmots_public_init
    - mbedtls_lmots_calculate_public_key
    - mbedtls_lmots_private_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lms_generate_private_key(mbedtls_lms_private_t *ctx, mbedtls_lms_algorithm_type_t
      type, mbedtls_lmots_algorithm_type_t otstype, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng, const unsigned char *seed, size_t seed_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lms_public_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: mbedtls_lms_public_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lms_public_init(mbedtls_lms_public_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:244,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:255,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:261,1
    - Dst: MBEDTLS_LMS_PUBLIC_KEY_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:250,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:264,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - key
    - key_size
    argTypes:
    - mbedtls_lms_public_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 270
    functionName: mbedtls_lms_import_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - memcpy
    - MBEDTLS_LMS_M_NODE_BYTES
    - MBEDTLS_LMS_PUBLIC_KEY_LEN
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lms_import_public_key(mbedtls_lms_public_t *ctx, const
      unsigned char *key, size_t key_size) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SIG_TYPE_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:342,1
    - Dst: SIG_TYPE_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:346,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:352,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:361,1
    - Dst: mbedtls_lmots_calculate_public_key_candidate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:364,1
    - Dst: MERKLE_TREE_INTERNAL_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:379,1
    - Dst: create_merkle_internal_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:400,1
    - Dst: MBEDTLS_LMS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:329,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:337,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:397,1
    - Dst: create_merkle_leaf_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:376,1
    - Dst: SIG_PATH_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:396,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:392,1
    - Dst: MBEDTLS_LMS_H_TREE_HEIGHT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:385,1
    - Dst: SIG_PATH_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:391,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:346,1
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:354,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:358,1
    - Dst: MERKLE_TREE_INTERNAL_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:382,1
    - Dst: MBEDTLS_LMOTS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:368,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:406,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:407,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 5
    argNames:
    - ctx
    - msg
    - msg_size
    - sig
    - sig_size
    argTypes:
    - mbedtls_lms_public_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 412
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 412
    functionName: mbedtls_lms_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - MBEDTLS_LMOTS_SIG_LEN
    - MERKLE_TREE_INTERNAL_NODE_AM
    - MBEDTLS_LMS_H_TREE_HEIGHT
    - MBEDTLS_PUT_UINT32_BE
    - MERKLE_TREE_LEAF_NODE_AM
    - mbedtls_lmots_calculate_public_key_candidate
    - SIG_TYPE_OFFSET
    - memcmp
    - memcpy
    - MBEDTLS_LMS_SIG_LEN
    - MBEDTLS_LMS_M_NODE_BYTES
    - create_merkle_leaf_value
    - create_merkle_internal_value
    - SIG_PATH_OFFSET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lms_verify(const mbedtls_lms_public_t *ctx, const unsigned
      char *msg, size_t msg_size, const unsigned char *sig, size_t sig_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:542,1
    - Dst: mbedtls_lmots_public_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:549,1
    - Dst: mbedtls_lmots_private_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:543,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:553,1
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:548,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:554,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lms_private_t*
    constantsTouched: []
    func_position:
      end: 558
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 558
    functionName: mbedtls_lms_private_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - mbedtls_lmots_private_free
    - mbedtls_free
    - MERKLE_TREE_LEAF_NODE_AM
    - mbedtls_platform_zeroize
    - mbedtls_lmots_public_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lms_private_free(mbedtls_lms_private_t *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:647,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:671,1
    - Dst: calculate_merkle_tree
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:674,1
    - Dst: MERKLE_TREE_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:665,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:665,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:680,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:687,1
    - Dst: MERKLE_TREE_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:688,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - priv_ctx
    argTypes:
    - mbedtls_lms_public_t*
    - mbedtls_lms_private_t*
    constantsTouched: []
    func_position:
      end: 691
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 691
    functionName: mbedtls_lms_calculate_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - MERKLE_TREE_NODE_AM
    - memcpy
    - calculate_merkle_tree
    - MBEDTLS_LMS_M_NODE_BYTES
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lms_calculate_public_key(mbedtls_lms_public_t *ctx, const
      mbedtls_lms_private_t *priv_ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:707,1
    - Dst: mbedtls_lmots_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:736,1
    - Dst: MBEDTLS_LMS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:742,1
    - Dst: MBEDTLS_LMS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:731,1
    - Dst: MERKLE_TREE_LEAF_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:720,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:749,1
    - Dst: SIG_TYPE_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:749,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:750,1
    - Dst: get_merkle_path
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:752,1
    - Dst: MERKLE_TREE_INTERNAL_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:753,1
    - Dst: MBEDTLS_LMS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:760,1
    - Dst: SIG_PATH_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:754,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 8
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - msg
    - msg_size
    - sig
    - sig_size
    - sig_len
    argTypes:
    - mbedtls_lms_private_t*
    - int
    - void*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 765
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 765
    functionName: mbedtls_lms_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - get_merkle_path
    - MERKLE_TREE_INTERNAL_NODE_AM
    - MBEDTLS_PUT_UINT32_BE
    - MERKLE_TREE_LEAF_NODE_AM
    - SIG_TYPE_OFFSET
    - MBEDTLS_LMS_SIG_LEN
    - SIG_PATH_OFFSET
    - mbedtls_lmots_sign
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lms_sign(mbedtls_lms_private_t *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, const unsigned char *msg, unsigned
      int msg_size, unsigned char *sig, size_t sig_size, size_t *sig_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:103,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:115,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:104,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:109,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:116,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:121,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:126,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:127,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:132,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:132,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:141,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:139,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 4
    argNames:
    - params
    - pub_key
    - r_node_idx
    - out
    argTypes:
    - mbedtls_lms_parameters_t*
    - unsigned char*
    - unsigned int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 142
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 142
    functionName: create_merkle_leaf_value
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_BE
    - psa_hash_abort
    - MBEDTLS_LMS_M_NODE_BYTES
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_LMOTS_N_HASH_LEN
    - psa_hash_operation_init
    - psa_hash_finish
    - psa_hash_update
    - psa_hash_setup
    linkageType: ''
    returnType: int
    signature: 'static int create_merkle_leaf_value(const mbedtls_lms_parameters_t
      *params, unsigned char *pub_key, unsigned int r_node_idx, unsigned char *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MERKLE_TREE_INTERNAL_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:439,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:446,1
    - Dst: MERKLE_TREE_INTERNAL_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:455,1
    - Dst: create_merkle_leaf_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:443,1
    - Dst: MERKLE_TREE_INTERNAL_NODE_AM
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:441,1
    - Dst: create_merkle_internal_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:458,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:460,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:462,1
    - Dst: MBEDTLS_LMS_M_NODE_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c:465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - tree
    argTypes:
    - mbedtls_lms_private_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 472
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 472
    functionName: calculate_merkle_tree
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lms.c
    functionUses: []
    functionsReached:
    - MERKLE_TREE_INTERNAL_NODE_AM
    - MBEDTLS_LMS_M_NODE_BYTES
    - create_merkle_internal_value
    - create_merkle_leaf_value
    linkageType: ''
    returnType: int
    signature: 'static int calculate_merkle_tree(const mbedtls_lms_private_t *ctx,
      unsigned char *tree) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: psa_pake_cipher_suite_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:161,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:183,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:189,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:240,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:260,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:271,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:271,1
    - Dst: psa_crypto_driver_pake_get_peer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:213,1
    - Dst: mbedtls_psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:277,1
    - Dst: psa_crypto_driver_pake_get_user
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:207,1
    - Dst: psa_pake_ecjpake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:254,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:243,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:260,1
    - Dst: psa_crypto_driver_pake_get_peer_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:173,1
    - Dst: psa_crypto_driver_pake_get_user_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:168,1
    - Dst: psa_crypto_driver_pake_get_password_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:163,1
    - Dst: psa_crypto_driver_pake_get_cipher_suite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:178,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:195,1
    - Dst: psa_crypto_driver_pake_get_password
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:201,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:239,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:244,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    argCount: 2
    argNames:
    - operation
    - inputs
    argTypes:
    - mbedtls_psa_pake_operation_t*
    - psa_crypto_driver_pake_inputs_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 279
    functionName: mbedtls_psa_pake_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - psa_crypto_driver_pake_get_password
    - psa_crypto_driver_pake_get_peer
    - memcmp
    - mbedtls_free
    - mbedtls_psa_pake_abort
    - psa_crypto_driver_pake_get_peer_len
    - psa_crypto_driver_pake_get_user_len
    - psa_pake_cipher_suite_init
    - psa_pake_ecjpake_setup
    - psa_crypto_driver_pake_get_cipher_suite
    - psa_crypto_driver_pake_get_user
    - psa_crypto_driver_pake_get_password_len
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_pake_setup(mbedtls_psa_pake_operation_t *operation,
      const psa_crypto_driver_pake_inputs_t *inputs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_pake_output_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - operation
    - step
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_psa_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: mbedtls_psa_pake_output
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_output_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_pake_output(mbedtls_psa_pake_operation_t
      *operation, psa_crypto_driver_pake_step_t step, uint8_t *output, size_t output_size,
      size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_pake_input_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - operation
    - step
    - input
    - input_length
    argTypes:
    - mbedtls_psa_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 518
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 518
    functionName: mbedtls_psa_pake_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_input_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_pake_input(mbedtls_psa_pake_operation_t *operation,
      psa_crypto_driver_pake_step_t step, const uint8_t *input, size_t input_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecjpake_write_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:310,1
    - Dst: mbedtls_ecjpake_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:329,1
    - Dst: mbedtls_ecjpake_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:317,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:364,1
    - Dst: mbedtls_ecjpake_write_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:322,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:374,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - operation
    - step
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_psa_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 388
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 388
    functionName: mbedtls_psa_pake_output_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecjpake_to_psa_error
    - mbedtls_ecjpake_write_round_one
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_ecjpake_write_round_two
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_psa_pake_output_internal( mbedtls_psa_pake_operation_t
      *operation, psa_crypto_driver_pake_step_t step, uint8_t *output, size_t output_size,
      size_t *output_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:451,1
    - Dst: mbedtls_ecjpake_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:484,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:470,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:480,1
    - Dst: mbedtls_ecjpake_read_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:476,1
    - Dst: mbedtls_ecjpake_read_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:487,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:491,1
    - Dst: mbedtls_ecjpake_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:495,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - operation
    - step
    - input
    - input_length
    argTypes:
    - mbedtls_psa_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 507
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 507
    functionName: mbedtls_psa_pake_input_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecjpake_to_psa_error
    - mbedtls_ecjpake_read_round_one
    - mbedtls_ecjpake_read_round_two
    - mbedtls_platform_zeroize
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_psa_pake_input_internal( mbedtls_psa_pake_operation_t
      *operation, psa_crypto_driver_pake_step_t step, const uint8_t *input, size_t
      input_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecjpake_write_shared_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:529,1
    - Dst: mbedtls_ecjpake_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - operation
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_psa_pake_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 545
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 545
    functionName: mbedtls_psa_pake_get_implicit_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecjpake_to_psa_error
    - mbedtls_ecjpake_write_shared_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_pake_get_implicit_key( mbedtls_psa_pake_operation_t
      *operation, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:549,1
    - Dst: mbedtls_ecjpake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:559,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_pake_operation_t*
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: mbedtls_psa_pake_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    - mbedtls_platform_zeroize
    - mbedtls_ecjpake_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_pake_abort(mbedtls_psa_pake_operation_t *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecjpake_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:131,1
    - Dst: mbedtls_ecjpake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:133,1
    - Dst: mbedtls_ecjpake_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:143,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_pake_operation_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: psa_pake_ecjpake_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecjpake_to_psa_error
    - mbedtls_ecjpake_init
    - mbedtls_platform_zeroize
    - mbedtls_ecjpake_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pake_ecjpake_setup(mbedtls_psa_pake_operation_t
      *operation) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: mbedtls_ecjpake_to_psa_error
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_pake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_ecjpake_to_psa_error(int ret) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:107,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:115,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:115,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:113,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:113,1
    - Dst: mbedtls_ecjpake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - role
    - hash
    - curve
    - secret
    - len
    argTypes:
    - mbedtls_ecjpake_context*
    - mbedtls_ecjpake_role
    - mbedtls_md_type_t
    - mbedtls_ecp_group_id
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: mbedtls_ecjpake_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_ecjpake_free
    - mbedtls_ecp_group_load
    - mbedtls_mpi_read_binary
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_setup(mbedtls_ecjpake_context *ctx, mbedtls_ecjpake_role
      role, mbedtls_md_type_t hash, mbedtls_ecp_group_id curve, const unsigned char
      *secret, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1007,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1008,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1008,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1007,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1009,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1009,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1011,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - xm1
    - len1
    - xm2
    - len2
    argTypes:
    - mbedtls_ecjpake_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1016
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1016
    functionName: ecjpake_test_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_read_binary
    - mbedtls_ecp_mul
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_test_load(mbedtls_ecjpake_context *ctx, const unsigned
      char *xm1, size_t len1, const unsigned char *xm2, size_t len2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - point_format
    argTypes:
    - mbedtls_ecjpake_context*
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: mbedtls_ecjpake_set_point_format
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_set_point_format(mbedtls_ecjpake_context *ctx,
      int point_format) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:169,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - p
    - end
    - grp
    - pf
    - P
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: ecjpake_write_len_point
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_write_binary
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_write_len_point(unsigned char **p, const unsigned
      char *end, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point
      *P) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:430,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:437,1
    - Dst: mbedtls_ecp_gen_keypair_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:430,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:432,1
    - Dst: mbedtls_ecp_tls_write_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:432,1
    - Dst: ecjpake_zkp_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 11
    argNames:
    - md_type
    - grp
    - pf
    - G
    - x
    - X
    - id
    - p
    - end
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_md_type_t
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - char*
    - unsigned char**
    - unsigned char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 442
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 442
    functionName: ecjpake_kkp_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - ecjpake_zkp_write
    - mbedtls_ecp_tls_write_point
    - mbedtls_ecp_gen_keypair_base
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_kkp_write(const mbedtls_md_type_t md_type, const
      mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, mbedtls_mpi
      *x, mbedtls_ecp_point *X, const char *id, unsigned char **p, const unsigned
      char *end, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_gen_keypair_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:339,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:335,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:342,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:357,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:344,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:358,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:364,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:334,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:341,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:343,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:347,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:362,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:339,1
    - Dst: ecjpake_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:341,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:342,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:351,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:358,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:344,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:336,1
    - Dst: mbedtls_ecp_tls_write_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:347,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:343,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:363,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 11
    argNames:
    - md_type
    - grp
    - pf
    - G
    - x
    - X
    - id
    - p
    - end
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_md_type_t
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - char*
    - unsigned char**
    - unsigned char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 367
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 367
    functionName: ecjpake_zkp_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - ecjpake_hash
    - MBEDTLS_BYTE_0
    - mbedtls_mpi_mul_mpi
    - mbedtls_ecp_point_init
    - mbedtls_mpi_write_binary
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_size
    - mbedtls_ecp_tls_write_point
    - mbedtls_ecp_point_free
    - mbedtls_ecp_gen_keypair_base
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_zkp_write(const mbedtls_md_type_t md_type, const
      mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, const mbedtls_mpi
      *x, const mbedtls_ecp_point *X, const char *id, unsigned char **p, const unsigned
      char *end, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:800,1
    - Dst: mbedtls_ecjpake_derive_k
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:802,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:807,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - buf
    - len
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecjpake_context*
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 817
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 817
    functionName: mbedtls_ecjpake_write_shared_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_write_binary
    - mbedtls_ecp_point_init
    - mbedtls_ecp_point_free
    - mbedtls_ecjpake_derive_k
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_write_shared_key(mbedtls_ecjpake_context *ctx,
      unsigned char *buf, size_t len, size_t *olen, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1088,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1100,1
    - Dst: mbedtls_ecjpake_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1100,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1103,1
    - Dst: mbedtls_ecjpake_write_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1103,1
    - Dst: ecjpake_test_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1129,1
    - Dst: ecjpake_test_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1133,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1142,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1156,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1159,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1160,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1182,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1160,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1175,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1138,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1067,1
    - Dst: mbedtls_ecjpake_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1061,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1082,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1085,1
    - Dst: mbedtls_ecjpake_write_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1095,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1095,1
    - Dst: mbedtls_ecjpake_write_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1085,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1106,1
    - Dst: mbedtls_ecjpake_read_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1106,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1129,1
    - Dst: mbedtls_ecjpake_read_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1138,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1112,1
    - Dst: mbedtls_ecjpake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1191,1
    - Dst: mbedtls_ecjpake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1192,1
    - Dst: mbedtls_ecjpake_write_shared_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1163,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1147,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1163,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1203,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1183,1
    - Dst: mbedtls_ecjpake_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1060,1
    - Dst: mbedtls_ecjpake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1067,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1064,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1072,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1078,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1090,1
    - Dst: mbedtls_ecjpake_read_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1088,1
    - Dst: mbedtls_ecjpake_write_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1090,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1098,1
    - Dst: mbedtls_ecjpake_read_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1098,1
    - Dst: mbedtls_ecjpake_read_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1142,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1167,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1111,1
    - Dst: mbedtls_ecjpake_write_shared_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1179,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1186,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1179,1
    - Dst: mbedtls_ecjpake_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1172,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1151,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1172,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1176,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1133,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1183,1
    - Dst: mbedtls_ecjpake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1072,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1093,1
    - Dst: mbedtls_ecjpake_read_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1093,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1108,1
    - Dst: mbedtls_ecjpake_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1108,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1112,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1115,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1125,1
    - Dst: mbedtls_ecjpake_read_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1147,1
    - Dst: mbedtls_ecjpake_read_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1151,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1167,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1166,1
    - Dst: mbedtls_ecjpake_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1156,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1169,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1196,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 123
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1207
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1207
    functionName: mbedtls_ecjpake_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ecjpake_read_round_one
    - mbedtls_ecjpake_init
    - mbedtls_ecjpake_read_round_two
    - memcmp
    - mbedtls_ecjpake_free
    - mbedtls_ecjpake_write_round_one
    - ecjpake_test_load
    - MBEDTLS_MPI_CHK
    - mbedtls_ecjpake_write_round_two
    - TEST_ASSERT
    - mbedtls_ecjpake_derive_secret
    - mbedtls_ecjpake_write_shared_key
    - mbedtls_ecjpake_setup
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_self_test(int verbose) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:256,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:259,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:271,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:257,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:258,1
    - Dst: mbedtls_ecp_tls_read_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:271,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:285,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:285,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:291,1
    - Dst: ecjpake_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:291,1
    - Dst: mbedtls_ecp_muladd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:292,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:302,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:301,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:303,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:304,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:292,1
    - Dst: mbedtls_ecp_point_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:295,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 8
    argNames:
    - md_type
    - grp
    - pf
    - G
    - X
    - id
    - p
    - end
    argTypes:
    - mbedtls_md_type_t
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - char*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 307
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 307
    functionName: ecjpake_zkp_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_tls_read_point
    - ecjpake_hash
    - mbedtls_mpi_read_binary
    - mbedtls_ecp_point_init
    - mbedtls_ecp_muladd
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecp_point_cmp
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_zkp_read(const mbedtls_md_type_t md_type, const
      mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, const mbedtls_ecp_point
      *X, const char *id, const unsigned char **p, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:52,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:58,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:56,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:55,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:57,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:59,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:61,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:62,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecjpake_context*
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: mbedtls_ecjpake_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_ecp_point_init
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecjpake_init(mbedtls_ecjpake_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:501,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:503,1
    - Dst: ecjpake_kkp_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:501,1
    - Dst: ecjpake_kkp_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:503,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 14
    argNames:
    - md_type
    - grp
    - pf
    - G
    - xm1
    - Xa
    - xm2
    - Xb
    - id
    - buf
    - len
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_md_type_t
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - char*
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 510
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 510
    functionName: ecjpake_kkpp_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPI_CHK
    - ecjpake_kkp_write
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_kkpp_write(const mbedtls_md_type_t md_type, const
      mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, mbedtls_mpi
      *xm1, mbedtls_ecp_point *Xa, mbedtls_mpi *xm2, mbedtls_ecp_point *Xb, const
      char *id, unsigned char *buf, size_t len, size_t *olen, int (*f_rng)(void *,
      unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:630,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:634,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:633,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:633,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:634,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:635,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:635,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:638,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:638,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:640,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:643,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 7
    argNames:
    - R
    - sign
    - X
    - S
    - N
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - int
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 646
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 646
    functionName: ecjpake_mul_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_fill_random
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_mul_secret(mbedtls_mpi *R, int sign, const mbedtls_mpi
      *X, const mbedtls_mpi *S, const mbedtls_mpi *N, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:733,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:736,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:736,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:743,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:734,1
    - Dst: ecjpake_mul_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:743,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:745,1
    - Dst: mbedtls_ecp_muladd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:745,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:748,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:748,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:752,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - K
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecjpake_context*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 756
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 756
    functionName: mbedtls_ecjpake_derive_k
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mul
    - mbedtls_mpi_lset
    - mbedtls_ecp_muladd
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    - ecjpake_mul_secret
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ecjpake_derive_k(mbedtls_ecjpake_context *ctx,
      mbedtls_ecp_point *K, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - out
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 998
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 998
    functionName: self_test_rng
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int self_test_rng(void *ctx, unsigned char *out, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:768,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:782,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:773,1
    - Dst: mbedtls_ecjpake_derive_k
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:775,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:782,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:783,1
    - Dst: mbedtls_ecjpake_compute_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:783,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:787,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - buf
    - len
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecjpake_context*
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 790
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 790
    functionName: mbedtls_ecjpake_derive_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_init
    - mbedtls_mpi_write_binary
    - mbedtls_ecjpake_derive_k
    - mbedtls_md_get_size_from_type
    - mbedtls_ecjpake_compute_hash
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_derive_secret(mbedtls_ecjpake_context *ctx, unsigned
      char *buf, size_t len, size_t *olen, int (*f_rng)(void *, unsigned char *, size_t),
      void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:204,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:209,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:208,1
    - Dst: ecjpake_write_len_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:208,1
    - Dst: ecjpake_write_len_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:209,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:210,1
    - Dst: ecjpake_write_len_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:210,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:216,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:223,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:227,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:231,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:233,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:231,1
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:232,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:233,1
    - Dst: mbedtls_ecjpake_compute_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 8
    argNames:
    - md_type
    - grp
    - pf
    - G
    - V
    - X
    - id
    - h
    argTypes:
    - mbedtls_md_type_t
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - char*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 237
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 237
    functionName: ecjpake_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_BE
    - mbedtls_mpi_read_binary
    - memcpy
    - mbedtls_mpi_mod_mpi
    - mbedtls_md_get_size_from_type
    - ecjpake_write_len_point
    - mbedtls_ecjpake_compute_hash
    - MBEDTLS_MPI_CHK
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_hash(const mbedtls_md_type_t md_type, const mbedtls_ecp_group
      *grp, const int pf, const mbedtls_ecp_point *G, const mbedtls_ecp_point *V,
      const mbedtls_ecp_point *X, const char *id, mbedtls_mpi *h) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:467,1
    - Dst: ecjpake_kkp_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:467,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:468,1
    - Dst: ecjpake_kkp_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 9
    argNames:
    - md_type
    - grp
    - pf
    - G
    - Xa
    - Xb
    - id
    - buf
    - len
    argTypes:
    - mbedtls_md_type_t
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 476
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 476
    functionName: ecjpake_kkpp_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPI_CHK
    - ecjpake_kkp_read
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_kkpp_read(const mbedtls_md_type_t md_type, const
      mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, mbedtls_ecp_point
      *Xa, mbedtls_ecp_point *Xb, const char *id, const unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: mbedtls_ecjpake_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:1030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p
    - out
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1036
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1036
    functionName: ecjpake_lgc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_lgc(void *p, unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:42,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - md_type
    - input
    - ilen
    - output
    argTypes:
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: mbedtls_ecjpake_compute_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ecjpake_compute_hash(mbedtls_md_type_t md_type,
      const unsigned char *input, size_t ilen, unsigned char *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecjpake_context*
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: mbedtls_ecjpake_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_check(const mbedtls_ecjpake_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:394,1
    - Dst: mbedtls_ecp_tls_read_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:394,1
    - Dst: mbedtls_ecp_is_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:395,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:400,1
    - Dst: ecjpake_zkp_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 8
    argNames:
    - md_type
    - grp
    - pf
    - G
    - X
    - id
    - p
    - end
    argTypes:
    - mbedtls_md_type_t
    - mbedtls_ecp_group*
    - int
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - char*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 404
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 404
    functionName: ecjpake_kkp_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - ecjpake_zkp_read
    - mbedtls_ecp_tls_read_point
    - mbedtls_ecp_is_zero
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_kkp_read(const mbedtls_md_type_t md_type, const
      mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, mbedtls_ecp_point
      *X, const char *id, const unsigned char **p, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecjpake_kkpp_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - buf
    - len
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecjpake_context*
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: mbedtls_ecjpake_write_round_one
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - ecjpake_kkpp_write
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_write_round_one(mbedtls_ecjpake_context *ctx,
      unsigned char *buf, size_t len, size_t *olen, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:575,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:576,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:584,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:594,1
    - Dst: ecjpake_ecp_add3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:584,1
    - Dst: mbedtls_ecp_tls_read_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:594,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:601,1
    - Dst: ecjpake_kkp_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:601,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:611,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:612,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - mbedtls_ecjpake_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 615
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 615
    functionName: mbedtls_ecjpake_read_round_two
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_ecp_group_free
    - mbedtls_ecp_point_init
    - ecjpake_ecp_add3
    - mbedtls_ecp_tls_read_group
    - ecjpake_kkp_read
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_read_round_two(mbedtls_ecjpake_context *ctx, const
      unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:76,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:80,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:79,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:78,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:81,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:82,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:84,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:85,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecjpake_context*
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: mbedtls_ecjpake_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_free
    - mbedtls_ecp_group_free
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecjpake_free(mbedtls_ecjpake_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecjpake_kkpp_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - mbedtls_ecjpake_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: mbedtls_ecjpake_read_round_one
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - ecjpake_kkpp_read
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_read_round_one(mbedtls_ecjpake_context *ctx, const
      unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:550,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:552,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:552,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:553,1
    - Dst: mbedtls_ecp_muladd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:553,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:554,1
    - Dst: mbedtls_ecp_muladd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:554,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - grp
    - R
    - A
    - B
    - C
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 560
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 560
    functionName: ecjpake_ecp_add3
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_lset
    - mbedtls_ecp_muladd
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecjpake_ecp_add3(mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_ecp_point *A, const mbedtls_ecp_point *B, const mbedtls_ecp_point
      *C) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:664,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:665,1
    - Dst: ecjpake_ecp_add3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:675,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:666,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:675,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:677,1
    - Dst: ecjpake_mul_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:677,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:679,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:679,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:694,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:716,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:703,1
    - Dst: mbedtls_ecp_tls_write_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:703,1
    - Dst: ecjpake_zkp_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:707,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:717,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:715,1
    - Dst: mbedtls_ecp_tls_write_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:694,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c:707,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - ctx
    - buf
    - len
    - olen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecjpake_context*
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 720
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 720
    functionName: mbedtls_ecjpake_write_round_two
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecjpake.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_tls_write_group
    - mbedtls_ecp_mul
    - mbedtls_ecp_point_init
    - ecjpake_ecp_add3
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - ecjpake_zkp_write
    - mbedtls_ecp_tls_write_point
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    - ecjpake_mul_secret
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecjpake_write_round_two(mbedtls_ecjpake_context *ctx,
      unsigned char *buf, size_t len, size_t *olen, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:226,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:242,1
    - Dst: x509_get_crl_entry_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:260,1
    - Dst: mbedtls_x509_get_serial
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:251,1
    - Dst: mbedtls_x509_get_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:255,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:266,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - p
    - end
    - entry
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_crl_entry*
    constantsTouched: []
    func_position:
      end: 277
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 277
    functionName: x509_get_entries
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - x509_get_crl_entry_ext
    - mbedtls_x509_get_serial
    - mbedtls_asn1_get_tag
    - mbedtls_x509_get_time
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_entries(unsigned char **p, const unsigned char
      *end, mbedtls_x509_crl_entry *entry) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:178,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:195,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:197,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:190,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:184,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - p
    - end
    - ext
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 209
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 209
    functionName: x509_get_crl_entry_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_crl_entry_ext(unsigned char **p, const unsigned
      char *end, mbedtls_x509_buf *ext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pem_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:517,1
    - Dst: mbedtls_x509_crl_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:539,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:541,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:545,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:524,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:549,1
    - Dst: mbedtls_x509_crl_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:559,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - chain
    - buf
    - buflen
    argTypes:
    - mbedtls_x509_crl*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 560
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 560
    functionName: mbedtls_x509_crl_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_pem_free
    - mbedtls_pem_read_buffer
    - mbedtls_x509_crl_parse_der
    - mbedtls_pem_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crl_parse(mbedtls_x509_crl *chain, const unsigned
      char *buf, size_t buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_load_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:572,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:578,1
    - Dst: mbedtls_x509_crl_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - chain
    - path
    argTypes:
    - mbedtls_x509_crl*
    - char*
    constantsTouched: []
    func_position:
      end: 581
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 581
    functionName: mbedtls_x509_crl_parse_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crl_parse
    - mbedtls_zeroize_and_free
    - mbedtls_pk_load_file
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crl_parse_file(mbedtls_x509_crl *chain, const char
      *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - mbedtls_x509_crl*
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: mbedtls_x509_crl_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_crl_init(mbedtls_x509_crl *crl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:56,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - p
    - end
    - ver
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: x509_crl_get_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_crl_get_version(unsigned char **p, const unsigned
      char *end, int *ver) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_get_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:89,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:109,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:115,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:117,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:107,1
    - Dst: mbedtls_asn1_get_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:122,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:125,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:129,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:131,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:137,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:143,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:149,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - p
    - end
    - ext
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 154
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 154
    functionName: x509_get_crl_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_get_ext
    - mbedtls_asn1_get_tag
    - mbedtls_asn1_get_bool
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_crl_ext(unsigned char **p, const unsigned char
      *end, mbedtls_x509_buf *ext) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:298,1
    - Dst: mbedtls_x509_crl_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:317,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:333,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:346,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:365,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:354,1
    - Dst: mbedtls_x509_get_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:391,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:403,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:406,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:410,1
    - Dst: mbedtls_x509_get_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:420,1
    - Dst: x509_get_entries
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:443,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:299,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:366,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:363,1
    - Dst: mbedtls_x509_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:409,1
    - Dst: mbedtls_x509_get_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:425,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:430,1
    - Dst: x509_get_crl_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:453,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:462,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:479,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:483,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:444,1
    - Dst: mbedtls_x509_get_sig
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:487,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:313,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:300,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:328,1
    - Dst: x509_crl_get_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:378,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:456,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:463,1
    - Dst: mbedtls_x509_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:473,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:488,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:474,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:494,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:493,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:310,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:348,1
    - Dst: mbedtls_x509_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:379,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:353,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:380,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:385,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:394,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:405,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:421,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:428,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:482,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 152
    argCount: 3
    argNames:
    - chain
    - buf
    - buflen
    argTypes:
    - mbedtls_x509_crl*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 499
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 499
    functionName: mbedtls_x509_crl_parse_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_x509_get_name
    - x509_get_entries
    - memcmp
    - mbedtls_x509_get_alg
    - memcpy
    - mbedtls_x509_get_sig_alg
    - x509_get_crl_ext
    - x509_crl_get_version
    - mbedtls_x509_crl_init
    - mbedtls_x509_crl_free
    - MBEDTLS_ERROR_ADD
    - mbedtls_x509_get_sig
    - mbedtls_asn1_get_tag
    - mbedtls_x509_get_time
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crl_parse_der(mbedtls_x509_crl *chain, const unsigned
      char *buf, size_t buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:604,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:620,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:613,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:610,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:608,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:629,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:634,1
    - Dst: mbedtls_x509_serial_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:638,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:641,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:651,1
    - Dst: mbedtls_x509_sig_alg_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:654,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:658,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - buf
    - size
    - prefix
    - crl
    argTypes:
    - char*
    - size_t
    - char*
    - mbedtls_x509_crl*
    constantsTouched: []
    func_position:
      end: 662
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 662
    functionName: mbedtls_x509_crl_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_serial_gets
    - mbedtls_snprintf
    - mbedtls_x509_dn_gets
    - mbedtls_x509_sig_alg_gets
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_crl_info(char *buf, size_t size, const char *prefix,
      const mbedtls_x509_crl *crl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:685,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:699,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:694,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:705,1
    - Dst: mbedtls_asn1_free_named_data_list_shallow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:688,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c:707,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - crl
    argTypes:
    - mbedtls_x509_crl*
    constantsTouched: []
    func_position:
      end: 710
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 710
    functionName: mbedtls_x509_crl_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_crl.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_zeroize_and_free
    - mbedtls_asn1_free_named_data_list_shallow
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_crl_free(mbedtls_x509_crl *crl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aesni_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:67,1
    - Dst: MBEDTLS_AESCE_HAS_SUPPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_gcm_context*
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: gcm_set_acceleration
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_aesni_has_support
    - MBEDTLS_AESCE_HAS_SUPPORT
    linkageType: ''
    returnType: void
    signature: 'static inline void gcm_set_acceleration(mbedtls_gcm_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:105,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:143,1
    - Dst: gcm_set_acceleration
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:114,1
    - Dst: gcm_gen_table_rightshift
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:137,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:108,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:144,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_gcm_context*
    constantsTouched: []
    func_position:
      end: 159
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 159
    functionName: gcm_gen_table
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_encrypt
    - gcm_set_acceleration
    - MBEDTLS_PUT_UINT64_BE
    - gcm_gen_table_rightshift
    - mbedtls_cipher_update
    - mbedtls_xor_no_simd
    linkageType: ''
    returnType: int
    signature: 'static int gcm_gen_table(mbedtls_gcm_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aesni_gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:352,1
    - Dst: mbedtls_aesce_gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:358,1
    - Dst: gcm_mult_largetable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:364,1
    - Dst: gcm_mult_smalltable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - x
    - output
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: gcm_mult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - gcm_mult_largetable
    - gcm_mult_smalltable
    - mbedtls_aesce_gcm_mult
    - mbedtls_aesni_gcm_mult
    linkageType: ''
    returnType: void
    signature: 'static void gcm_mult(mbedtls_gcm_context *ctx, const unsigned char
      x[16], unsigned char output[16]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:494,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:510,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:508,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:517,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:497,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - add
    - add_len
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 521
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 521
    functionName: mbedtls_gcm_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - gcm_mult
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_update_ad(mbedtls_gcm_context *ctx, const unsigned
      char *add, size_t add_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:542,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:555,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:553,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:548,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:545,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - ectr
    - offset
    - use_len
    - input
    - output
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char
    - size_t
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 561
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 561
    functionName: gcm_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_encrypt
    - mbedtls_xor
    - mbedtls_cipher_update
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: int
    signature: 'static int gcm_mask(mbedtls_gcm_context *ctx, unsigned char ectr[16],
      size_t offset, size_t use_len, const unsigned char *input, unsigned char *output) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:599,1
    - Dst: gcm_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:609,1
    - Dst: gcm_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:627,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:614,1
    - Dst: gcm_incr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:626,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:631,1
    - Dst: gcm_incr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:639,1
    - Dst: gcm_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:640,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:645,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 6
    argNames:
    - ctx
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 647
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 647
    functionName: mbedtls_gcm_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - gcm_incr
    - mbedtls_platform_zeroize
    - gcm_mask
    - gcm_mult
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_update(mbedtls_gcm_context *ctx, const unsigned char
      *input, size_t input_length, unsigned char *output, size_t output_size, size_t
      *output_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:717,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:725,1
    - Dst: mbedtls_gcm_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:721,1
    - Dst: mbedtls_gcm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 11
    argNames:
    - ctx
    - mode
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag_len
    - tag
    argTypes:
    - mbedtls_gcm_context*
    - int
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 735
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 735
    functionName: mbedtls_gcm_crypt_and_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_gcm_finish
    - mbedtls_gcm_update
    - mbedtls_gcm_update_ad
    - mbedtls_gcm_starts
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_crypt_and_tag(mbedtls_gcm_context *ctx, int mode,
      size_t length, const unsigned char *iv, size_t iv_len, const unsigned char *add,
      size_t add_len, const unsigned char *input, unsigned char *output, size_t tag_len,
      unsigned char *tag) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_block_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:173,1
    - Dst: mbedtls_block_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:179,1
    - Dst: mbedtls_block_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:175,1
    - Dst: mbedtls_cipher_info_from_values
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:185,1
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:191,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:195,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:197,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:201,1
    - Dst: gcm_gen_table
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - keybits
    argTypes:
    - mbedtls_gcm_context*
    - mbedtls_cipher_id_t
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 212
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 212
    functionName: mbedtls_gcm_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_free
    - mbedtls_cipher_free
    - mbedtls_cipher_setup
    - mbedtls_block_cipher_setup
    - gcm_gen_table
    - mbedtls_block_cipher_setkey
    - mbedtls_cipher_info_from_values
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_setkey(mbedtls_gcm_context *ctx, mbedtls_cipher_id_t
      cipher, const unsigned char *key, unsigned int keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:84,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:86,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:86,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: gcm_gen_table_rightshift
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT64_BE
    - MBEDTLS_GET_UINT64_BE
    linkageType: ''
    returnType: void
    signature: 'static inline void gcm_gen_table_rightshift(uint64_t dst[2], const
      uint64_t src[2]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:263,1
    - Dst: MBEDTLS_GET_UINT16_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:270,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:285,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - output
    - x
    - H
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 286
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 286
    functionName: gcm_mult_largetable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT16_LE
    - mbedtls_xor_no_simd
    linkageType: ''
    returnType: void
    signature: 'static void gcm_mult_largetable(uint8_t *output, const uint8_t *x,
      uint64_t H[256][2]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:318,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:338,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:334,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:328,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 3
    argNames:
    - output
    - x
    - H
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 339
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 339
    functionName: gcm_mult_smalltable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT64_BE
    - mbedtls_xor_no_simd
    linkageType: ''
    returnType: void
    signature: 'static void gcm_mult_smalltable(uint8_t *output, const uint8_t *x,
      uint64_t H[16][2]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:671,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:682,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:687,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:679,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:685,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:688,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:689,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:690,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:692,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:694,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:696,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - ctx
    - output
    - output_size
    - output_length
    - tag
    - tag_len
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 700
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 700
    functionName: mbedtls_gcm_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_BE
    - mbedtls_xor
    - memcpy
    - gcm_mult
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_finish(mbedtls_gcm_context *ctx, unsigned char *output,
      size_t output_size, size_t *output_length, unsigned char *tag, size_t tag_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:752,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:762,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:759,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 10
    argNames:
    - ctx
    - length
    - iv
    - iv_len
    - add
    - add_len
    - tag
    - tag_len
    - input
    - output
    argTypes:
    - mbedtls_gcm_context*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 767
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 767
    functionName: mbedtls_gcm_auth_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_memcmp
    - mbedtls_platform_zeroize
    - mbedtls_gcm_crypt_and_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_auth_decrypt(mbedtls_gcm_context *ctx, size_t length,
      const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t add_len,
      const unsigned char *tag, size_t tag_len, const unsigned char *input, unsigned
      char *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_block_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:775,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:779,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_gcm_context*
    constantsTouched: []
    func_position:
      end: 780
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 780
    functionName: mbedtls_gcm_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_free
    - mbedtls_platform_zeroize
    - mbedtls_cipher_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_gcm_free(mbedtls_gcm_context *ctx) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1027,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1031,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1059,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1094,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1074,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1135,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1153,1
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1222,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1225,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1235,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1319,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1295,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1305,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1037,1
    - Dst: mbedtls_gcm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1057,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1086,1
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1101,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1104,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1133,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1187,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1198,1
    - Dst: mbedtls_gcm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1228,1
    - Dst: mbedtls_gcm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1242,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1297,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1215,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1231,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1267,1
    - Dst: MBEDTLS_AESCE_HAS_SUPPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1036,1
    - Dst: mbedtls_aesni_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1030,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1110,1
    - Dst: mbedtls_gcm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1107,1
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1140,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1143,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1176,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1217,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1257,1
    - Dst: mbedtls_gcm_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1248,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1278,1
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1321,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1041,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1053,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1068,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1096,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1114,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1121,1
    - Dst: mbedtls_gcm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1146,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1149,1
    - Dst: mbedtls_gcm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1160,1
    - Dst: mbedtls_gcm_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1167,1
    - Dst: mbedtls_gcm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1290,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1311,1
    - Dst: mbedtls_gcm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1210,1
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:1302,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 219
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1325
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1325
    functionName: mbedtls_gcm_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - memcmp
    - mbedtls_gcm_init
    - mbedtls_gcm_crypt_and_tag
    - mbedtls_gcm_setkey
    - mbedtls_gcm_finish
    - mbedtls_gcm_free
    - mbedtls_gcm_update_ad
    - mbedtls_gcm_update
    - mbedtls_gcm_starts
    - mbedtls_aesni_has_support
    - MBEDTLS_AESCE_HAS_SUPPORT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_gcm_context*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: mbedtls_gcm_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_gcm_init(mbedtls_gcm_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:395,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:406,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:403,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:396,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:408,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:419,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:425,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:431,1
    - Dst: gcm_mult
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:433,1
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:438,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:440,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - mode
    - iv
    - iv_len
    argTypes:
    - mbedtls_gcm_context*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 447
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 447
    functionName: mbedtls_gcm_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_encrypt
    - MBEDTLS_PUT_UINT64_BE
    - mbedtls_xor
    - memcpy
    - gcm_mult
    - mbedtls_cipher_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_gcm_starts(mbedtls_gcm_context *ctx, int mode, const unsigned
      char *iv, size_t iv_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:526,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - y
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: gcm_incr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/gcm.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: void
    signature: 'static void gcm_incr(unsigned char y[16]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1419,1
    - Dst: psa_get_se_driver_entry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1429,1
    - Dst: psa_key_slot_get_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1431,1
    - Dst: psa_set_key_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1430,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1421,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - key
    - attributes
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1436
    functionName: psa_get_key_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_and_lock_key_slot_with_policy
    - psa_get_se_driver_entry
    - psa_reset_key_attributes
    - psa_set_key_slot_number
    - psa_unregister_read_under_mutex
    - psa_key_slot_get_slot_number
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_get_key_attributes(mbedtls_svc_key_id_t key, psa_key_attributes_t
      *attributes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2630,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2663,1
    - Dst: psa_mac_finalize_alg_and_key_validation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2639,1
    - Dst: psa_driver_wrapper_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2654,1
    - Dst: psa_driver_wrapper_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2648,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2666,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - operation
    - key
    - alg
    - is_sign
    argTypes:
    - psa_mac_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 2669
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2669
    functionName: psa_mac_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_mac_finalize_alg_and_key_validation
    - psa_get_and_lock_key_slot_with_policy
    - psa_mac_abort
    - psa_driver_wrapper_mac_verify_setup
    - psa_driver_wrapper_mac_sign_setup
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_mac_setup(psa_mac_operation_t *operation,
      mbedtls_svc_key_id_t key, psa_algorithm_t alg, int is_sign) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3090,1
    - Dst: psa_driver_wrapper_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3094,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3095,1
    - Dst: psa_driver_wrapper_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3110
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3110
    functionName: psa_sign_message_builtin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_sign_hash
    - psa_driver_wrapper_hash_compute
    - PSA_ALG_SIGN_GET_HASH
    - PSA_ALG_IS_SIGN_HASH
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_sign_message_builtin( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3823
      start: 3809
    functionDepth: 0
    functionLinenumber: 3809
    functionLinenumberEnd: 3823
    functionName: mbedtls_psa_sign_hash_get_num_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t mbedtls_psa_sign_hash_get_num_ops( const mbedtls_psa_sign_hash_interruptible_operation_t
      *operation) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_get_base_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4704,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - alg
    - nonce_length
    argTypes:
    - psa_algorithm_t
    - size_t
    constantsTouched: []
    func_position:
      end: 4742
      start: 4701
    functionDepth: 0
    functionLinenumber: 4701
    functionLinenumberEnd: 4742
    functionName: psa_aead_check_nonce_length
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_aead_get_base_algorithm
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_aead_check_nonce_length(psa_algorithm_t alg,
      size_t nonce_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - operation
    - key
    - alg
    argTypes:
    - psa_mac_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 2676
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2676
    functionName: psa_mac_sign_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_mac_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_sign_setup(psa_mac_operation_t *operation, mbedtls_svc_key_id_t
      key, psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3121,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3125,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3124,1
    - Dst: psa_sign_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3126,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3122,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3132,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - signature_external
    - signature_size
    - signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3135
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3135
    functionName: psa_sign_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - psa_sign_internal
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_sign_message(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, uint8_t *signature_external,
      size_t signature_size, size_t *signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3839
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3839
    functionName: mbedtls_psa_verify_hash_get_num_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t mbedtls_psa_verify_hash_get_num_ops( const mbedtls_psa_verify_hash_interruptible_operation_t
      *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4746,1
    - Dst: PSA_ALG_IS_WILDCARD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 4751
      start: 4744
    functionDepth: 0
    functionLinenumber: 4744
    functionLinenumberEnd: 4751
    functionName: psa_aead_check_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_AEAD
    - PSA_ALG_IS_WILDCARD
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_aead_check_algorithm(psa_algorithm_t alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - psa_crypto_transaction_t*
    constantsTouched: []
    func_position:
      end: 8186
      start: 8171
    functionDepth: 0
    functionLinenumber: 8171
    functionLinenumberEnd: 8186
    functionName: psa_crypto_recover_transaction
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_crypto_recover_transaction( const psa_crypto_transaction_t
      *transaction) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1272,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1293,1
    - Dst: psa_get_and_lock_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1283,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1302,1
    - Dst: psa_get_se_driver_entry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1333,1
    - Dst: psa_key_slot_get_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1359,1
    - Dst: psa_crypto_save_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1344,1
    - Dst: psa_unregister_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1394,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1404,1
    - Dst: psa_unregister_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1300,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1293,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1302,1
    - Dst: psa_crypto_stop_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1346,1
    - Dst: psa_key_slot_get_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1342,1
    - Dst: psa_save_se_persistent_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1380,1
    - Dst: psa_crypto_prepare_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1340,1
    - Dst: psa_key_slot_state_transition
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1315,1
    - Dst: PSA_KEY_LIFETIME_IS_READ_ONLY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1322,1
    - Dst: psa_destroy_se_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1358,1
    - Dst: psa_destroy_persistent_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1371,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1367,1
    - Dst: psa_crypto_stop_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1384,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1404,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 1409
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1409
    functionName: psa_destroy_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_save_se_persistent_data
    - psa_key_slot_state_transition
    - psa_destroy_persistent_key
    - psa_crypto_save_transaction
    - psa_crypto_prepare_transaction
    - PSA_THREADING_CHK_GOTO_EXIT
    - psa_crypto_stop_transaction
    - mbedtls_svc_key_id_is_null
    - PSA_THREADING_CHK_RET
    - mbedtls_mutex_lock
    - psa_get_se_driver_entry
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - psa_unregister_read
    - psa_get_and_lock_key_slot
    - psa_destroy_se_key
    - PSA_KEY_LIFETIME_IS_READ_ONLY
    - mbedtls_mutex_unlock
    - psa_key_slot_get_slot_number
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_destroy_key(mbedtls_svc_key_id_t key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1910,1
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1922,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1915,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1910,1
    - Dst: psa_key_slot_get_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1920,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1926,1
    - Dst: psa_save_persistent_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1927,1
    - Dst: psa_save_persistent_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1935,1
    - Dst: psa_save_se_persistent_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1950,1
    - Dst: psa_destroy_persistent_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1952,1
    - Dst: psa_crypto_stop_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1960,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1955,1
    - Dst: psa_key_slot_state_transition
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1966,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1974,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1955,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1974,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - slot
    - driver
    - key
    argTypes:
    - psa_key_slot_t*
    - psa_se_drv_table_entry_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1978
    functionName: psa_finish_key_creation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_slot_state_transition
    - psa_destroy_persistent_key
    - mbedtls_mutex_unlock
    - psa_crypto_stop_transaction
    - psa_save_persistent_key
    - PSA_THREADING_CHK_RET
    - memcpy
    - mbedtls_mutex_lock
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - MBEDTLS_STATIC_ASSERT
    - psa_save_se_persistent_data
    - psa_key_slot_get_slot_number
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_finish_key_creation( psa_key_slot_t *slot,
      psa_se_drv_table_entry_t *driver, mbedtls_svc_key_id_t *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_drivers_initialized
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hash_alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: psa_can_do_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_drivers_initialized
    linkageType: ''
    returnType: int
    signature: 'int psa_can_do_hash(psa_algorithm_t hash_alg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_validate_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1775,1
    - Dst: psa_reserve_free_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1787,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1780,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1784,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1784,1
    - Dst: PSA_THREADING_CHK_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1791,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1791,1
    - Dst: psa_find_se_slot_for_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1836,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1842,1
    - Dst: psa_crypto_prepare_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1843,1
    - Dst: psa_crypto_stop_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1849,1
    - Dst: psa_crypto_save_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1847,1
    - Dst: psa_copy_key_material_into_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1854,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - method
    - attributes
    - p_slot
    - p_drv
    argTypes:
    - psa_key_creation_method_t
    - psa_key_attributes_t*
    - psa_key_slot_t**
    - psa_se_drv_table_entry_t**
    constantsTouched: []
    func_position:
      end: 1868
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1868
    functionName: psa_start_key_creation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_crypto_save_transaction
    - psa_reserve_free_key_slot
    - psa_crypto_prepare_transaction
    - psa_crypto_stop_transaction
    - psa_copy_key_material_into_slot
    - PSA_THREADING_CHK_RET
    - mbedtls_mutex_lock
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - psa_validate_key_attributes
    - psa_find_se_slot_for_key
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_start_key_creation( psa_key_creation_method_t
      method, const psa_key_attributes_t *attributes, psa_key_slot_t **p_slot, psa_se_drv_table_entry_t
      **p_drv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_SIGN_MESSAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2948,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2952,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2953,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2958,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2953,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - input_is_message
    - alg
    argTypes:
    - int
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 2964
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2964
    functionName: psa_sign_verify_check_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_SIGN_GET_HASH
    - PSA_ALG_IS_SIGN_MESSAGE
    - PSA_ALG_IS_HASH
    - PSA_ALG_IS_SIGN_HASH
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_sign_verify_check_alg(int input_is_message,
      psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 2319
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2319
    functionName: psa_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_abort(psa_hash_operation_t *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2393,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - operation
    - hash
    - hash_size
    - hash_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2398
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2398
    functionName: psa_hash_finish_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_hash_finish
    - psa_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_hash_finish_internal(psa_hash_operation_t
      *operation, uint8_t *hash, size_t hash_size, size_t *hash_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4032,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4033,1
    - Dst: mbedtls_ecdsa_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 4052
      start: 4023
    functionDepth: 0
    functionLinenumber: 4023
    functionLinenumberEnd: 4052
    functionName: mbedtls_psa_sign_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ecdsa_restart_free
    - mbedtls_ecdsa_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_sign_hash_abort( mbedtls_psa_sign_hash_interruptible_operation_t
      *operation) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4297,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4302,1
    - Dst: psa_driver_wrapper_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4321,1
    - Dst: PSA_CIPHER_IV_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4317,1
    - Dst: psa_driver_wrapper_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4327,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4336,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4339,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - operation
    - key
    - alg
    - cipher_operation
    argTypes:
    - psa_cipher_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - mbedtls_operation_t
    constantsTouched: []
    func_position:
      end: 4342
      start: 4279
    functionDepth: 0
    functionLinenumber: 4279
    functionLinenumberEnd: 4342
    functionName: psa_cipher_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_cipher_encrypt_setup
    - psa_get_and_lock_key_slot_with_policy
    - PSA_ALG_IS_CIPHER
    - psa_driver_wrapper_cipher_decrypt_setup
    - PSA_CIPHER_IV_LENGTH
    - psa_cipher_abort
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_cipher_setup(psa_cipher_operation_t *operation,
      mbedtls_svc_key_id_t key, psa_algorithm_t alg, mbedtls_operation_t cipher_operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5353,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5356,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5354,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5357,1
    - Dst: psa_aead_final_checks
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5362,1
    - Dst: psa_driver_wrapper_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5372,1
    - Dst: psa_wipe_tag_output_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5385,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5387,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5389,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 7
    argNames:
    - operation
    - ciphertext_external
    - ciphertext_size
    - ciphertext_length
    - tag_external
    - tag_size
    - tag_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 5393
      start: 5343
    functionDepth: 0
    functionLinenumber: 5343
    functionLinenumberEnd: 5393
    functionName: psa_aead_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_OUTPUT_FREE
    - psa_driver_wrapper_aead_finish
    - LOCAL_OUTPUT_ALLOC
    - psa_wipe_tag_output_buffer
    - LOCAL_OUTPUT_DECLARE
    - psa_aead_abort
    - psa_aead_final_checks
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_finish(psa_aead_operation_t *operation, uint8_t
      *ciphertext_external, size_t ciphertext_size, size_t *ciphertext_length, uint8_t
      *tag_external, size_t tag_size, size_t *tag_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_drivers_initialized
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - key_type
    - cipher_alg
    argTypes:
    - psa_key_type_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: psa_can_do_cipher
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_drivers_initialized
    linkageType: ''
    returnType: int
    signature: 'int psa_can_do_cipher(psa_key_type_t key_type, psa_algorithm_t cipher_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2406,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2414,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2408,1
    - Dst: psa_hash_finish_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - operation
    - hash_external
    - hash_size
    - hash_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2416
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2416
    functionName: psa_hash_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_hash_finish_internal
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_finish(psa_hash_operation_t *operation, uint8_t
      *hash_external, size_t hash_size, size_t *hash_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4066,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4080,1
    - Dst: mbedtls_ecdsa_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4078,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4070,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4079,1
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4085,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4095,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4101,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4102,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4110,1
    - Dst: mbedtls_psa_ecp_load_public_part
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4120,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4136,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4111,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 9
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - mbedtls_psa_verify_hash_interruptible_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 4157
      start: 4054
    functionDepth: 0
    functionLinenumber: 4054
    functionLinenumberEnd: 4157
    functionName: mbedtls_psa_verify_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_restart_init
    - mbedtls_psa_ecp_load_public_part
    - PSA_BITS_TO_BYTES
    - mbedtls_to_psa_error
    - mbedtls_mpi_read_binary
    - memcpy
    - PSA_ALG_IS_ECDSA
    - mbedtls_mpi_init
    - mbedtls_psa_ecp_load_representation
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_verify_hash_start( mbedtls_psa_verify_hash_interruptible_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
      const uint8_t *signature, size_t signature_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 6714
      start: 6700
    functionDepth: 0
    functionLinenumber: 6700
    functionLinenumberEnd: 6714
    functionName: psa_key_agreement_try_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_agreement_try_support(psa_algorithm_t
      alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_pbkdf2_set_salt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7286,1
    - Dst: psa_pbkdf2_set_password
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - pbkdf2
    - kdf_alg
    - step
    - data
    - data_length
    argTypes:
    - psa_pbkdf2_key_derivation_t*
    - psa_algorithm_t
    - psa_key_derivation_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7292
      start: 7278
    functionDepth: 0
    functionLinenumber: 7278
    functionLinenumberEnd: 7292
    functionName: psa_pbkdf2_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_pbkdf2_set_salt
    - psa_pbkdf2_set_password
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pbkdf2_input(psa_pbkdf2_key_derivation_t *pbkdf2,
      psa_algorithm_t kdf_alg, psa_key_derivation_step_t step, const uint8_t *data,
      size_t data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_pake_get_implicit_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9007,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9016,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9023,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9021,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - operation
    - output
    argTypes:
    - psa_pake_operation_t*
    - psa_key_derivation_operation_t*
    constantsTouched: []
    func_position:
      end: 9025
      start: 8978
    functionDepth: 0
    functionLinenumber: 8978
    functionLinenumberEnd: 9025
    functionName: psa_pake_get_implicit_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_input_bytes
    - mbedtls_platform_zeroize
    - psa_driver_wrapper_pake_get_implicit_key
    - psa_pake_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_get_implicit_key( psa_pake_operation_t *operation,
      psa_key_derivation_operation_t *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_aead_operation_t*
    constantsTouched: []
    func_position:
      end: 5340
      start: 5328
    functionDepth: 0
    functionLinenumber: 5328
    functionLinenumberEnd: 5340
    functionName: psa_aead_final_checks
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_aead_final_checks(const psa_aead_operation_t
      *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - PSA_ALG_CCM
    argTypes:
    - operation
    constantsTouched: []
    func_position:
      end: 5240
      start: 5237
    functionDepth: 0
    functionLinenumber: 5237
    functionLinenumberEnd: 5240
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (operation->alg == PSA_ALG_CCM) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ecjpake
    - step
    - data
    - data_length
    argTypes:
    - psa_tls12_ecjpake_to_pms_t*
    - psa_key_derivation_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7129
      start: 7109
    functionDepth: 0
    functionLinenumber: 7109
    functionLinenumberEnd: 7129
    functionName: psa_tls12_ecjpake_to_pms_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_ecjpake_to_pms_input( psa_tls12_ecjpake_to_pms_t
      *ecjpake, psa_key_derivation_step_t step, const uint8_t *data, size_t data_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - stage
    argTypes:
    - psa_jpake_computation_stage_t*
    constantsTouched: []
    func_position:
      end: 8701
      start: 8677
    functionDepth: 0
    functionLinenumber: 8677
    functionLinenumberEnd: 8701
    functionName: convert_jpake_computation_stage_to_driver_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_crypto_driver_pake_step_t
    signature: 'static psa_crypto_driver_pake_step_t convert_jpake_computation_stage_to_driver_step(
      psa_jpake_computation_stage_t *stage) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2211,1
    - Dst: psa_validate_optional_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2217,1
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2244,1
    - Dst: psa_restrict_key_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2232,1
    - Dst: psa_start_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2239,1
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2245,1
    - Dst: psa_key_lifetime_is_external
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2262,1
    - Dst: psa_driver_wrapper_get_key_buffer_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2263,1
    - Dst: psa_allocate_buffer_to_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2269,1
    - Dst: psa_driver_wrapper_copy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2274,1
    - Dst: psa_fail_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2294,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2297,1
    - Dst: psa_finish_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2291,1
    - Dst: psa_copy_key_material_into_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2284,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 3
    argNames:
    - source_key
    - specified_attributes
    - target_key
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 2300
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2300
    functionName: psa_copy_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_validate_optional_attributes
    - psa_allocate_buffer_to_slot
    - psa_driver_wrapper_get_key_buffer_size
    - psa_get_and_lock_key_slot_with_policy
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_copy_key_material_into_slot
    - psa_unregister_read_under_mutex
    - psa_start_key_creation
    - psa_driver_wrapper_copy_key
    - psa_fail_key_creation
    - psa_finish_key_creation
    - psa_restrict_key_policy
    - psa_key_lifetime_is_external
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_copy_key(mbedtls_svc_key_id_t source_key, const psa_key_attributes_t
      *specified_attributes, mbedtls_svc_key_id_t *target_key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2909,1
    - Dst: psa_mac_compute_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2913,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2912,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2910,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2926,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2927,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2933,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2934,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2935,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - mac_external
    - mac_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2938
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2938
    functionName: psa_mac_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - psa_mac_compute_internal
    - mbedtls_platform_zeroize
    - LOCAL_INPUT_ALLOC
    - mbedtls_ct_memcmp
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_verify(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, const uint8_t *mac_external,
      size_t mac_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3149,1
    - Dst: psa_driver_wrapper_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3153,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3154,1
    - Dst: psa_driver_wrapper_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3169
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3169
    functionName: psa_verify_message_builtin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_verify_hash
    - psa_driver_wrapper_hash_compute
    - PSA_ALG_SIGN_GET_HASH
    - PSA_ALG_IS_SIGN_HASH
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_verify_message_builtin( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, const uint8_t *signature, size_t
      signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_sign_hash_abort_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3644
      start: 3629
    functionDepth: 0
    functionLinenumber: 3629
    functionLinenumberEnd: 3644
    functionName: psa_sign_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_sign_hash_abort_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_sign_hash_abort( psa_sign_hash_interruptible_operation_t
      *operation) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3679,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3680,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3703,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3694,1
    - Dst: psa_sign_verify_check_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3688,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3704,1
    - Dst: psa_driver_wrapper_verify_hash_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3709,1
    - Dst: psa_verify_hash_abort_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3720,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3723,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3729,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 7
    argNames:
    - operation
    - key
    - alg
    - hash_external
    - hash_length
    - signature_external
    - signature_length
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3733
      start: 3669
    functionDepth: 0
    functionLinenumber: 3669
    functionLinenumberEnd: 3733
    functionName: psa_verify_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - psa_driver_wrapper_verify_hash_start
    - psa_sign_verify_check_alg
    - psa_verify_hash_abort_internal
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_verify_hash_start( psa_verify_hash_interruptible_operation_t
      *operation, mbedtls_svc_key_id_t key, psa_algorithm_t alg, const uint8_t *hash_external,
      size_t hash_length, const uint8_t *signature_external, size_t signature_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_external_get_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4238,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4260,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4262,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - output
    - output_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 4272
      start: 4229
    functionDepth: 0
    functionLinenumber: 4229
    functionLinenumberEnd: 4272
    functionName: psa_generate_random_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_ctr_drbg_random
    - mbedtls_hmac_drbg_random
    - mbedtls_psa_external_get_random
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_generate_random_internal(uint8_t *output,
      size_t output_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3179,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3182,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3180,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3183,1
    - Dst: psa_verify_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3184,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3190,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - signature_external
    - signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3194
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3194
    functionName: psa_verify_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - LOCAL_INPUT_FREE
    - psa_verify_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_verify_message(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, const uint8_t *signature_external,
      size_t signature_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_verify_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3667
      start: 3646
    functionDepth: 0
    functionLinenumber: 3646
    functionLinenumberEnd: 3667
    functionName: psa_verify_hash_abort_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_verify_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_verify_hash_abort_internal( psa_verify_hash_interruptible_operation_t
      *operation) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_verify_hash_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3747,1
    - Dst: psa_verify_hash_abort_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3760,1
    - Dst: psa_driver_wrapper_verify_hash_get_num_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3764
      start: 3735
    functionDepth: 0
    functionLinenumber: 3735
    functionLinenumberEnd: 3764
    functionName: psa_verify_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_verify_hash_get_num_ops
    - psa_driver_wrapper_verify_hash_complete
    - psa_verify_hash_abort_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_verify_hash_complete( psa_verify_hash_interruptible_operation_t
      *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:127,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:133,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:137,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: psa_get_initialized
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t psa_get_initialized(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_type_is_raw_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1475,1
    - Dst: psa_export_key_buffer_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1479,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1476,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1477,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1488
    functionName: psa_export_key_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_export_key_buffer_internal
    - PSA_KEY_TYPE_IS_DH
    - PSA_KEY_TYPE_IS_RSA
    - key_type_is_raw_bytes
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_export_key_internal( const psa_key_attributes_t *attributes,
      const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data, size_t data_size,
      size_t *data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2826,1
    - Dst: psa_driver_wrapper_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2846,1
    - Dst: psa_wipe_tag_output_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2865,1
    - Dst: psa_mac_finalize_alg_and_key_validation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2835,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2867,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 8
    argNames:
    - key
    - alg
    - input
    - input_length
    - mac
    - mac_size
    - mac_length
    - is_sign
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 2870
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2870
    functionName: psa_mac_compute_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_mac_finalize_alg_and_key_validation
    - psa_get_and_lock_key_slot_with_policy
    - psa_driver_wrapper_mac_compute
    - psa_wipe_tag_output_buffer
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_mac_compute_internal(mbedtls_svc_key_id_t
      key, psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t
      *mac, size_t mac_size, size_t *mac_length, int is_sign) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3356,1
    - Dst: PSA_ALG_IS_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3368,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3358,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3372,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3357,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3377,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3378,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3383,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3384,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3385,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3396,1
    - Dst: psa_driver_wrapper_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3387,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3392,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3395,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 9
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - salt_external
    - salt_length
    - output_external
    - output_size
    - output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3399
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3399
    functionName: psa_asymmetric_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - PSA_ALG_IS_RSA_OAEP
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - psa_driver_wrapper_asymmetric_encrypt
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_asymmetric_encrypt(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, const uint8_t *salt_external,
      size_t salt_length, uint8_t *output_external, size_t output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_interruptible_set_max_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4170,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4172,1
    - Dst: psa_interruptible_get_max_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4170,1
    - Dst: mbedtls_ecdsa_verify_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 4194
      start: 4159
    functionDepth: 0
    functionLinenumber: 4159
    functionLinenumberEnd: 4194
    functionName: mbedtls_psa_verify_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - psa_interruptible_get_max_ops
    - mbedtls_ecdsa_verify_restartable
    - mbedtls_psa_interruptible_set_max_ops
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_verify_hash_complete( mbedtls_psa_verify_hash_interruptible_operation_t
      *operation) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6913,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6918,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - prf
    - data
    - data_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6925
      start: 6904
    functionDepth: 0
    functionLinenumber: 6904
    functionLinenumberEnd: 6925
    functionName: psa_tls12_prf_set_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_prf_set_seed(psa_tls12_prf_key_derivation_t
      *prf, const uint8_t *data, size_t data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - inputs
    - password_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 8369
      start: 8358
    functionDepth: 0
    functionLinenumber: 8358
    functionLinenumberEnd: 8369
    functionName: psa_crypto_driver_pake_get_password_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_driver_pake_get_password_len( const psa_crypto_driver_pake_inputs_t
      *inputs, size_t *password_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:155,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: psa_get_drivers_initialized
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t psa_get_drivers_initialized(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1498,1
    - Dst: psa_driver_wrapper_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1525,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1523,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1532,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1517,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - key
    - data_external
    - data_size
    - data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1536
    functionName: psa_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_and_lock_key_slot_with_policy
    - LOCAL_OUTPUT_FREE
    - psa_driver_wrapper_export_key
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_export_key(mbedtls_svc_key_id_t key, uint8_t *data_external,
      size_t data_size, size_t *data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2881,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2882,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2885,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2884,1
    - Dst: psa_mac_compute_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2886,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2893,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - mac_external
    - mac_size
    - mac_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2897
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2897
    functionName: psa_mac_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - psa_mac_compute_internal
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_compute(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, uint8_t *mac_external,
      size_t mac_size, size_t *mac_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3415,1
    - Dst: PSA_ALG_IS_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3427,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3431,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3417,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3416,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3436,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3441,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3442,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3443,1
    - Dst: psa_driver_wrapper_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3445,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3451,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3454,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3453,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3455,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 9
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - salt_external
    - salt_length
    - output_external
    - output_size
    - output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3458
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3458
    functionName: psa_asymmetric_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - PSA_ALG_IS_RSA_OAEP
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - psa_driver_wrapper_asymmetric_decrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_asymmetric_decrypt(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, const uint8_t *salt_external,
      size_t salt_length, uint8_t *output_external, size_t output_size, size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4205,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4206,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4215,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4214,1
    - Dst: mbedtls_ecdsa_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 4227
      start: 4196
    functionDepth: 0
    functionLinenumber: 4196
    functionLinenumberEnd: 4227
    functionName: mbedtls_psa_verify_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_mpi_free
    - mbedtls_ecdsa_restart_free
    - mbedtls_ecdsa_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_verify_hash_abort( mbedtls_psa_verify_hash_interruptible_operation_t
      *operation) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6937,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - prf
    - data
    - data_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6949
      start: 6927
    functionDepth: 0
    functionLinenumber: 6927
    functionLinenumberEnd: 6949
    functionName: psa_tls12_prf_set_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_prf_set_key(psa_tls12_prf_key_derivation_t
      *prf, const uint8_t *data, size_t data_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - inputs
    - buffer
    - buffer_size
    - buffer_length
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 8387
      start: 8371
    functionDepth: 0
    functionLinenumber: 8371
    functionLinenumberEnd: 8387
    functionName: psa_crypto_driver_pake_get_password
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_driver_pake_get_password( const psa_crypto_driver_pake_inputs_t
      *inputs, uint8_t *buffer, size_t buffer_size, size_t *buffer_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_copy_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9219,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - local_output
    argTypes:
    - psa_crypto_local_output_t*
    constantsTouched: []
    func_position:
      end: 9230
      start: 9206
    functionDepth: 0
    functionLinenumber: 9206
    functionLinenumberEnd: 9230
    functionName: psa_crypto_local_output_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - psa_crypto_copy_output
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_local_output_free(psa_crypto_local_output_t
      *local_output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1162,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1169,1
    - Dst: psa_key_lifetime_is_external
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - key
    - p_slot
    - usage
    - alg
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_slot_t**
    - psa_key_usage_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1175
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1175
    functionName: psa_get_and_lock_transparent_key_slot_with_policy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_unregister_read_under_mutex
    - psa_get_and_lock_key_slot_with_policy
    - psa_key_lifetime_is_external
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_get_and_lock_transparent_key_slot_with_policy(
      mbedtls_svc_key_id_t key, psa_key_slot_t **p_slot, psa_key_usage_t usage, psa_algorithm_t
      alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5062,1
    - Dst: psa_generate_random_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5093,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5063,1
    - Dst: psa_aead_set_nonce_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5098,1
    - Dst: PSA_AEAD_NONCE_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5086,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5103,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5106,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5109,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - operation
    - nonce_external
    - nonce_size
    - nonce_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 5112
      start: 5053
    functionDepth: 0
    functionLinenumber: 5053
    functionLinenumberEnd: 5112
    functionName: psa_aead_generate_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_AEAD_NONCE_LENGTH
    - LOCAL_OUTPUT_FREE
    - psa_generate_random_internal
    - memcpy
    - LOCAL_OUTPUT_ALLOC
    - psa_aead_set_nonce_internal
    - psa_aead_abort
    - LOCAL_OUTPUT_DECLARE
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_generate_nonce(psa_aead_operation_t *operation,
      uint8_t *nonce_external, size_t nonce_size, size_t *nonce_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6305,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - bits
    - operation
    - data
    argTypes:
    - size_t
    - psa_key_derivation_operation_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 6333
      start: 6284
    functionDepth: 0
    functionLinenumber: 6284
    functionLinenumberEnd: 6333
    functionName: psa_generate_derived_ecc_key_montgomery_helper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - psa_key_derivation_output_bytes
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_generate_derived_ecc_key_montgomery_helper(
      size_t bits, psa_key_derivation_operation_t *operation, uint8_t **data ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2425,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2447,1
    - Dst: psa_hash_finish_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2427,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2442,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2441,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2449,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - operation
    - hash_external
    - hash_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2453
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2453
    functionName: psa_hash_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_hash_finish_internal
    - LOCAL_INPUT_FREE
    - psa_hash_abort
    - LOCAL_INPUT_DECLARE
    - mbedtls_platform_zeroize
    - LOCAL_INPUT_ALLOC
    - mbedtls_ct_memcmp
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_verify(psa_hash_operation_t *operation, const
      uint8_t *hash_external, size_t hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - operation
    - key
    - alg
    argTypes:
    - psa_cipher_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 4349
      start: 4344
    functionDepth: 0
    functionLinenumber: 4344
    functionLinenumberEnd: 4349
    functionName: psa_cipher_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_cipher_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_encrypt_setup(psa_cipher_operation_t *operation,
      mbedtls_svc_key_id_t key, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_RAW_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7566,1
    - Dst: psa_driver_wrapper_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 7
    argNames:
    - alg
    - private_key
    - peer_key
    - peer_key_length
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_algorithm_t
    - psa_key_slot_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 7577
      start: 7558
    functionDepth: 0
    functionLinenumber: 7558
    functionLinenumberEnd: 7577
    functionName: psa_key_agreement_raw_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_key_agreement
    - PSA_ALG_IS_RAW_KEY_AGREEMENT
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_agreement_raw_internal(psa_algorithm_t
      alg, psa_key_slot_t *private_key, const uint8_t *peer_key, size_t peer_key_length,
      uint8_t *shared_secret, size_t shared_secret_size, size_t *shared_secret_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - inputs
    - cipher_suite
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 8462
      start: 8451
    functionDepth: 0
    functionLinenumber: 8451
    functionLinenumberEnd: 8462
    functionName: psa_crypto_driver_pake_get_cipher_suite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_driver_pake_get_cipher_suite( const psa_crypto_driver_pake_inputs_t
      *inputs, psa_pake_cipher_suite_t *cipher_suite) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PSA_PAKE_INPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8909,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8912,1
    - Dst: convert_jpake_computation_stage_to_driver_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8938,1
    - Dst: psa_pake_complete_inputs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8915,1
    - Dst: psa_jpake_prologue
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8934,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8948,1
    - Dst: psa_driver_wrapper_pake_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8949,1
    - Dst: psa_jpake_epilogue
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8959,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8971,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8973,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 4
    argNames:
    - operation
    - step
    - input_external
    - input_length
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 8976
      start: 8901
    functionDepth: 0
    functionLinenumber: 8901
    functionLinenumberEnd: 8976
    functionName: psa_pake_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_pake_complete_inputs
    - LOCAL_INPUT_DECLARE
    - psa_jpake_epilogue
    - convert_jpake_computation_stage_to_driver_step
    - psa_jpake_prologue
    - psa_pake_abort
    - PSA_PAKE_INPUT_SIZE
    - LOCAL_INPUT_ALLOC
    - psa_driver_wrapper_pake_input
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_input( psa_pake_operation_t *operation, psa_pake_step_t
      step, const uint8_t *input_external, size_t input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - local_input
    argTypes:
    - psa_crypto_local_input_t*
    constantsTouched: []
    func_position:
      end: 9184
      start: 9179
    functionDepth: 0
    functionLinenumber: 9179
    functionLinenumberEnd: 9184
    functionName: psa_crypto_local_input_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'void psa_crypto_local_input_free(psa_crypto_local_input_t *local_input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2461,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2469,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2465,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2462,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2470,1
    - Dst: psa_driver_wrapper_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2471,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2477,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - alg
    - input_external
    - input_length
    - hash_external
    - hash_size
    - hash_length
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2480
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2480
    functionName: psa_hash_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - PSA_ALG_IS_HASH
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - psa_driver_wrapper_hash_compute
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_compute(psa_algorithm_t alg, const uint8_t *input_external,
      size_t input_length, uint8_t *hash_external, size_t hash_size, size_t *hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - operation
    - key
    - alg
    argTypes:
    - psa_cipher_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 4356
      start: 4351
    functionDepth: 0
    functionLinenumber: 4351
    functionLinenumberEnd: 4356
    functionName: psa_cipher_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_cipher_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_decrypt_setup(psa_cipher_operation_t *operation,
      mbedtls_svc_key_id_t key, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - operation
    - capacity
    argTypes:
    - psa_key_derivation_operation_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 5592
      start: 5582
    functionDepth: 0
    functionLinenumber: 5582
    functionLinenumberEnd: 5592
    functionName: psa_key_derivation_get_capacity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_get_capacity(const psa_key_derivation_operation_t
      *operation, size_t *capacity) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_PAKE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8475,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8481,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8493,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8476,1
    - Dst: PSA_PAKE_PRIMITIVE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8484,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8506,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - operation
    - cipher_suite
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_cipher_suite_t*
    constantsTouched: []
    func_position:
      end: 8508
      start: 8464
    functionDepth: 0
    functionLinenumber: 8464
    functionLinenumberEnd: 8508
    functionName: psa_pake_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_HASH
    - psa_pake_abort
    - PSA_PAKE_PRIMITIVE
    - PSA_ALG_IS_PAKE
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_setup( psa_pake_operation_t *operation, const
      psa_pake_cipher_suite_t *cipher_suite) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9033,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9045,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9038,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9048,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9042,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_pake_operation_t*
    constantsTouched: []
    func_position:
      end: 9051
      start: 9027
    functionDepth: 0
    functionLinenumber: 9027
    functionLinenumberEnd: 9051
    functionName: psa_pake_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_zeroize_and_free
    - psa_driver_wrapper_pake_abort
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_abort( psa_pake_operation_t *operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - output
    - output_len
    - local_output
    argTypes:
    - uint8_t*
    - size_t
    - psa_crypto_local_output_t*
    constantsTouched: []
    func_position:
      end: 9204
      start: 9186
    functionDepth: 0
    functionLinenumber: 9186
    functionLinenumberEnd: 9204
    functionName: psa_crypto_local_output_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_local_output_alloc(uint8_t *output, size_t
      output_len, psa_crypto_local_output_t *local_output) '
  - BBCount: 90
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 13
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 567
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 567
    functionName: mbedtls_to_psa_error
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_to_psa_error(int ret) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_policy_algorithm_intersection
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1054,1
    - Dst: psa_key_policy_algorithm_intersection
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1057,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - key_type
    - policy
    - constraint
    argTypes:
    - psa_key_type_t
    - psa_key_policy_t*
    - psa_key_policy_t*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1069
    functionName: psa_restrict_key_policy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_policy_algorithm_intersection
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_restrict_key_policy( psa_key_type_t key_type,
      psa_key_policy_t *policy, const psa_key_policy_t *constraint) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_check_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4936,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4958,1
    - Dst: psa_driver_wrapper_aead_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4975,1
    - Dst: psa_validate_tag_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4964,1
    - Dst: psa_driver_wrapper_aead_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4969,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4985,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4988,1
    - Dst: psa_aead_get_base_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4992,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4995,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 4
    argNames:
    - operation
    - is_encrypt
    - key
    - alg
    argTypes:
    - psa_aead_operation_t*
    - int
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 4999
      start: 4926
    functionDepth: 0
    functionLinenumber: 4926
    functionLinenumberEnd: 4999
    functionName: psa_aead_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_aead_decrypt_setup
    - psa_aead_check_algorithm
    - psa_get_and_lock_key_slot_with_policy
    - psa_driver_wrapper_aead_encrypt_setup
    - psa_aead_abort
    - psa_get_key_type
    - psa_unregister_read_under_mutex
    - psa_aead_get_base_algorithm
    - psa_validate_tag_length
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_aead_setup(psa_aead_operation_t *operation,
      int is_encrypt, mbedtls_svc_key_id_t key, psa_algorithm_t alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_key_agreement_ecdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7519,1
    - Dst: mbedtls_psa_ffdh_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - peer_key
    - peer_key_length
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 7550
      start: 7506
    functionDepth: 0
    functionLinenumber: 7506
    functionLinenumberEnd: 7550
    functionName: psa_key_agreement_raw_builtin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_ffdh_key_agreement
    - mbedtls_psa_key_agreement_ecdh
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_agreement_raw_builtin(const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *peer_key, size_t peer_key_length, uint8_t *shared_secret,
      size_t shared_secret_size, size_t *shared_secret_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_WILDCARD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1018,1
    - Dst: psa_key_algorithm_permits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1023,1
    - Dst: psa_key_algorithm_permits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - policy
    - key_type
    - alg
    argTypes:
    - psa_key_policy_t*
    - psa_key_type_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1028
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1028
    functionName: psa_key_policy_permits
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_algorithm_permits
    - PSA_ALG_IS_WILDCARD
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_policy_permits(const psa_key_policy_t
      *policy, psa_key_type_t key_type, psa_algorithm_t alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2332,1
    - Dst: psa_driver_wrapper_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2341,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2339,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - operation
    - alg
    argTypes:
    - psa_hash_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 2349
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2349
    functionName: psa_hash_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_hash_abort
    - psa_driver_wrapper_hash_setup
    - PSA_ALG_IS_HASH
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_setup(psa_hash_operation_t *operation, psa_algorithm_t
      alg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2726,1
    - Dst: psa_wipe_tag_output_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2769,1
    - Dst: psa_driver_wrapper_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2752,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2727,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2772,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2773,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - operation
    - mac_external
    - mac_size
    - mac_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2776
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2776
    functionName: psa_mac_sign_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_OUTPUT_FREE
    - psa_mac_abort
    - psa_driver_wrapper_mac_sign_finish
    - LOCAL_OUTPUT_ALLOC
    - psa_wipe_tag_output_buffer
    - LOCAL_OUTPUT_DECLARE
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_sign_finish(psa_mac_operation_t *operation, uint8_t
      *mac_external, size_t mac_size, size_t *mac_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4888,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4890,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4901,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4910,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4892,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 4923
      start: 4886
    functionDepth: 0
    functionLinenumber: 4886
    functionLinenumberEnd: 4923
    functionName: psa_validate_tag_length
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_AEAD_GET_TAG_LENGTH
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_validate_tag_length(psa_algorithm_t alg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8198,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8220,1
    - Dst: psa_initialize_key_slots
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8224,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8240,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8247,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8255,1
    - Dst: mbedtls_psa_random_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8263,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8270,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8211,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8231,1
    - Dst: mbedtls_psa_random_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8260,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8279,1
    - Dst: psa_crypto_load_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8284,1
    - Dst: psa_crypto_recover_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8286,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8303,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8198,1
    - Dst: psa_driver_wrapper_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8203,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8220,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8247,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8255,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8240,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8270,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8211,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8231,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8279,1
    - Dst: psa_crypto_stop_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8290,1
    - Dst: PSA_THREADING_CHK_GOTO_EXIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8303,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 1
    argNames:
    - subsystem
    argTypes:
    - mbedtls_psa_crypto_subsystem
    constantsTouched: []
    func_position:
      end: 8319
      start: 8189
    functionDepth: 0
    functionLinenumber: 8189
    functionLinenumberEnd: 8319
    functionName: mbedtls_psa_crypto_init_subsystem
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_crypto_recover_transaction
    - psa_crypto_stop_transaction
    - PSA_THREADING_CHK_GOTO_EXIT
    - psa_initialize_key_slots
    - mbedtls_mutex_lock
    - psa_driver_wrapper_init
    - mbedtls_psa_random_seed
    - mbedtls_psa_random_init
    - psa_crypto_load_transaction
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_psa_crypto_init_subsystem(mbedtls_psa_crypto_subsystem
      subsystem) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8833,1
    - Dst: psa_jpake_prologue
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8856,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8870,1
    - Dst: psa_pake_complete_inputs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8837,1
    - Dst: convert_jpake_computation_stage_to_driver_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8860,1
    - Dst: psa_driver_wrapper_pake_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8872,1
    - Dst: psa_jpake_epilogue
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8882,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8894,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8896,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 5
    argNames:
    - operation
    - step
    - output_external
    - output_size
    - output_length
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_step_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 8899
      start: 8824
    functionDepth: 0
    functionLinenumber: 8824
    functionLinenumberEnd: 8899
    functionName: psa_pake_output
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_pake_complete_inputs
    - LOCAL_OUTPUT_FREE
    - psa_jpake_epilogue
    - convert_jpake_computation_stage_to_driver_step
    - psa_jpake_prologue
    - psa_pake_abort
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - psa_driver_wrapper_pake_output
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_output( psa_pake_operation_t *operation, psa_pake_step_t
      step, uint8_t *output_external, size_t output_size, size_t *output_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_output_pre_copy_hook
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9126,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9131,1
    - Dst: psa_output_post_copy_hook
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - output_copy
    - output_copy_len
    - output
    - output_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 9141
      start: 9116
    functionDepth: 0
    functionLinenumber: 9116
    functionLinenumberEnd: 9141
    functionName: psa_crypto_copy_output
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_output_pre_copy_hook
    - memcpy
    - psa_output_post_copy_hook
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE psa_status_t psa_crypto_copy_output(const
      uint8_t *output_copy, size_t output_copy_len, uint8_t *output, size_t output_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2356,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2374,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2377,1
    - Dst: psa_driver_wrapper_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2370,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - operation
    - input_external
    - input_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2379
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2379
    functionName: psa_hash_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_hash_abort
    - LOCAL_INPUT_DECLARE
    - psa_driver_wrapper_hash_update
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_update(psa_hash_operation_t *operation, const
      uint8_t *input_external, size_t input_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2784,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2806,1
    - Dst: psa_driver_wrapper_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2802,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2807,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - operation
    - mac_external
    - mac_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2810
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2810
    functionName: psa_mac_verify_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - psa_mac_abort
    - LOCAL_INPUT_ALLOC
    - psa_driver_wrapper_mac_verify_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_verify_finish(psa_mac_operation_t *operation,
      const uint8_t *mac_external, size_t mac_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 4698
      start: 4695
    functionDepth: 0
    functionLinenumber: 4695
    functionLinenumberEnd: 4698
    functionName: psa_aead_get_base_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static psa_algorithm_t psa_aead_get_base_algorithm(psa_algorithm_t
      alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9154,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9173,1
    - Dst: psa_crypto_copy_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - input
    - input_len
    - local_input
    argTypes:
    - uint8_t*
    - size_t
    - psa_crypto_local_input_t*
    constantsTouched: []
    func_position:
      end: 9177
      start: 9143
    functionDepth: 0
    functionLinenumber: 9143
    functionLinenumberEnd: 9177
    functionName: psa_crypto_local_input_alloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_calloc
    - psa_crypto_copy_input
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_local_input_alloc(const uint8_t *input, size_t
      input_len, psa_crypto_local_input_t *local_input) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1695,1
    - Dst: psa_get_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1696,1
    - Dst: psa_validate_key_persistence
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1703,1
    - Dst: psa_validate_key_location
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1698,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1708,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1709,1
    - Dst: psa_is_valid_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1713,1
    - Dst: psa_get_key_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1713,1
    - Dst: psa_validate_key_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1718,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1727,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - attributes
    - p_drv
    argTypes:
    - psa_key_attributes_t*
    - psa_se_drv_table_entry_t**
    constantsTouched: []
    func_position:
      end: 1732
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1732
    functionName: psa_validate_key_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - psa_validate_key_location
    - psa_get_key_bits
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - psa_is_valid_key_id
    - psa_validate_key_persistence
    - psa_validate_key_policy
    - psa_get_key_id
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_validate_key_attributes( const psa_key_attributes_t
      *attributes, psa_se_drv_table_entry_t **p_drv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - PSA_ALG_CCM
    argTypes:
    - operation
    constantsTouched: []
    func_position:
      end: 5308
      start: 5305
    functionDepth: 0
    functionLinenumber: 5305
    functionLinenumberEnd: 5308
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (operation->alg == PSA_ALG_CCM) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ecjpake
    - output
    - output_length
    argTypes:
    - psa_tls12_ecjpake_to_pms_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5898
      start: 5874
    functionDepth: 0
    functionLinenumber: 5874
    functionLinenumberEnd: 5898
    functionName: psa_key_derivation_tls12_ecjpake_to_pms_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_hash_compute
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_tls12_ecjpake_to_pms_read(
      psa_tls12_ecjpake_to_pms_t *ecjpake, uint8_t *output, size_t output_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7201,1
    - Dst: PSA_HASH_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7207,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7202,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - hash_alg
    - input
    - input_len
    - output
    - output_len
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 7209
      start: 7194
    functionDepth: 0
    functionLinenumber: 7194
    functionLinenumberEnd: 7209
    functionName: psa_pbkdf2_hmac_set_password
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_hash_compute
    - memcpy
    - PSA_HASH_BLOCK_LENGTH
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pbkdf2_hmac_set_password(psa_algorithm_t hash_alg,
      const uint8_t *input, size_t input_len, uint8_t *output, size_t *output_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: key_type_is_raw_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7863,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7870,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7887,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7870,1
    - Dst: psa_validate_unstructured_key_bit_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7864,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7887,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7894,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7894,1
    - Dst: psa_is_dh_key_size_valid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7895,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - type
    - bits
    argTypes:
    - psa_key_type_t
    - size_t
    constantsTouched: []
    func_position:
      end: 7905
      start: 7858
    functionDepth: 0
    functionLinenumber: 7858
    functionLinenumberEnd: 7905
    functionName: psa_validate_key_type_and_size_for_key_generation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - psa_validate_unstructured_key_bit_size
    - PSA_KEY_TYPE_IS_DH
    - psa_is_dh_key_size_valid
    - PSA_KEY_TYPE_IS_RSA
    - key_type_is_raw_bytes
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_validate_key_type_and_size_for_key_generation(
      psa_key_type_t type, size_t bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8094,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - (* entropy_init)
    - (* entropy_free)
    argTypes:
    - void
    - void
    constantsTouched: []
    func_position:
      end: 8110
      start: 8087
    functionDepth: 0
    functionLinenumber: 8087
    functionLinenumberEnd: 8110
    functionName: mbedtls_psa_crypto_configure_entropy_sources
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_crypto_configure_entropy_sources( void (*
      entropy_init)(mbedtls_entropy_context *ctx), void (* entropy_free)(mbedtls_entropy_context
      *ctx)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1461,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1466
    functionName: psa_export_key_buffer_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_export_key_buffer_internal(const uint8_t *key_buffer,
      size_t key_buffer_size, uint8_t *data, size_t data_size, size_t *data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - policy
    argTypes:
    - psa_key_policy_t*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1675
    functionName: psa_validate_key_policy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_validate_key_policy(const psa_key_policy_t
      *policy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4366,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4389,1
    - Dst: psa_driver_wrapper_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4396,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4405,1
    - Dst: psa_generate_random_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4391,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4407,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4411,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - operation
    - iv_external
    - iv_size
    - iv_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4413
      start: 4358
    functionDepth: 0
    functionLinenumber: 4358
    functionLinenumberEnd: 4413
    functionName: psa_cipher_generate_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_OUTPUT_FREE
    - psa_generate_random_internal
    - mbedtls_platform_zeroize
    - psa_cipher_abort
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - psa_driver_wrapper_cipher_set_iv
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_generate_iv(psa_cipher_operation_t *operation,
      uint8_t *iv_external, size_t iv_size, size_t *iv_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_cipher_operation_t*
    constantsTouched: []
    func_position:
      end: 4554
      start: 4538
    functionDepth: 0
    functionLinenumber: 4538
    functionLinenumberEnd: 4554
    functionName: psa_cipher_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_cipher_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_abort(psa_cipher_operation_t *operation) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4645,1
    - Dst: PSA_ALG_IS_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4648,1
    - Dst: PSA_CIPHER_IV_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4660,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4646,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4653,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4665,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4666,1
    - Dst: psa_driver_wrapper_cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4668,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4674,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4683,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4684,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 7
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - output_external
    - output_size
    - output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4687
      start: 4633
    functionDepth: 0
    functionLinenumber: 4633
    functionLinenumberEnd: 4687
    functionName: psa_cipher_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - PSA_ALG_IS_CIPHER
    - LOCAL_OUTPUT_FREE
    - PSA_CIPHER_IV_LENGTH
    - LOCAL_OUTPUT_ALLOC
    - psa_driver_wrapper_cipher_decrypt
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_decrypt(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, uint8_t *output_external,
      size_t output_size, size_t *output_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4768,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4769,1
    - Dst: psa_aead_check_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4775,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4771,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4770,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4780,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4786,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4787,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4788,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4789,1
    - Dst: psa_driver_wrapper_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4796,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4805,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4809,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4810,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4814,1
    - Dst: psa_aead_check_nonce_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4791,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4811,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4812,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 11
    argNames:
    - key
    - alg
    - nonce_external
    - nonce_length
    - additional_data_external
    - additional_data_length
    - plaintext_external
    - plaintext_length
    - ciphertext_external
    - ciphertext_size
    - ciphertext_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4817
      start: 4753
    functionDepth: 0
    functionLinenumber: 4753
    functionLinenumberEnd: 4817
    functionName: psa_aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_aead_check_algorithm
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - psa_driver_wrapper_aead_encrypt
    - psa_aead_check_nonce_length
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_encrypt(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *nonce_external, size_t nonce_length, const uint8_t *additional_data_external,
      size_t additional_data_length, const uint8_t *plaintext_external, size_t plaintext_length,
      uint8_t *ciphertext_external, size_t ciphertext_size, size_t *ciphertext_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - slot
    - bits
    - operation
    - data
    argTypes:
    - psa_key_slot_t*
    - size_t
    - psa_key_derivation_operation_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 6344
      start: 6335
    functionDepth: 0
    functionLinenumber: 6335
    functionLinenumberEnd: 6344
    functionName: psa_generate_derived_ecc_key_weierstrass_helper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_generate_derived_ecc_key_weierstrass_helper(
      psa_key_slot_t *slot, size_t bits, psa_key_derivation_operation_t *operation,
      uint8_t **data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7008,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7036,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7034,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7037,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7033,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7041,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7042,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7043,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7047,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7048,1
    - Dst: psa_tls12_prf_set_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7052,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7054,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7049,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - prf
    - data
    - data_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7056
      start: 6994
    functionDepth: 0
    functionLinenumber: 6994
    functionLinenumberEnd: 7056
    functionName: psa_tls12_prf_psk_to_ms_set_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - MBEDTLS_BYTE_0
    - MBEDTLS_BYTE_1
    - mbedtls_platform_zeroize
    - memcpy
    - psa_tls12_prf_set_key
    - mbedtls_zeroize_and_free
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_prf_psk_to_ms_set_key( psa_tls12_prf_key_derivation_t
      *prf, const uint8_t *data, size_t data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4421,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4438,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4451,1
    - Dst: psa_driver_wrapper_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4440,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4448,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - operation
    - iv_external
    - iv_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 4454
      start: 4415
    functionDepth: 0
    functionLinenumber: 4415
    functionLinenumberEnd: 4454
    functionName: psa_cipher_set_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - psa_cipher_abort
    - LOCAL_INPUT_ALLOC
    - psa_driver_wrapper_cipher_set_iv
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_set_iv(psa_cipher_operation_t *operation,
      const uint8_t *iv_external, size_t iv_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4570,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4571,1
    - Dst: PSA_CIPHER_IV_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4585,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4578,1
    - Dst: PSA_ALG_IS_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4573,1
    - Dst: psa_generate_random_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4597,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4603,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4604,1
    - Dst: psa_driver_wrapper_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4606,1
    - Dst: psa_crypto_buffer_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4609,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4613,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4620,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4628,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4627,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 7
    argNames:
    - key
    - alg
    - input_external
    - input_length
    - output_external
    - output_size
    - output_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4631
      start: 4556
    functionDepth: 0
    functionLinenumber: 4556
    functionLinenumberEnd: 4631
    functionName: psa_cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_crypto_buffer_offset
    - LOCAL_INPUT_FREE
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - PSA_ALG_IS_CIPHER
    - psa_generate_random_internal
    - memcpy
    - LOCAL_OUTPUT_FREE
    - psa_driver_wrapper_cipher_encrypt
    - PSA_CIPHER_IV_LENGTH
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_encrypt(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *input_external, size_t input_length, uint8_t *output_external,
      size_t output_size, size_t *output_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4834,1
    - Dst: psa_aead_check_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4841,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4835,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4836,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4837,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4846,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4852,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4853,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4855,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4856,1
    - Dst: psa_driver_wrapper_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4863,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4881,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4872,1
    - Dst: psa_aead_check_nonce_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4858,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4878,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4876,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4877,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4879,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 11
    argNames:
    - key
    - alg
    - nonce_external
    - nonce_length
    - additional_data_external
    - additional_data_length
    - ciphertext_external
    - ciphertext_length
    - plaintext_external
    - plaintext_size
    - plaintext_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4884
      start: 4819
    functionDepth: 0
    functionLinenumber: 4819
    functionLinenumberEnd: 4884
    functionName: psa_aead_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_aead_check_algorithm
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - psa_aead_check_nonce_length
    - LOCAL_OUTPUT_ALLOC
    - psa_driver_wrapper_aead_decrypt
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_decrypt(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *nonce_external, size_t nonce_length, const uint8_t *additional_data_external,
      size_t additional_data_length, const uint8_t *ciphertext_external, size_t ciphertext_length,
      uint8_t *plaintext_external, size_t plaintext_size, size_t *plaintext_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - bits
    - operation
    - data
    argTypes:
    - size_t
    - psa_key_derivation_operation_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 6353
      start: 6346
    functionDepth: 0
    functionLinenumber: 6346
    functionLinenumberEnd: 6353
    functionName: psa_generate_derived_ecc_key_montgomery_helper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_generate_derived_ecc_key_montgomery_helper(
      size_t bits, psa_key_derivation_operation_t *operation, uint8_t **data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7068,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - prf
    - data
    - data_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7082
      start: 7058
    functionDepth: 0
    functionLinenumber: 7058
    functionLinenumberEnd: 7082
    functionName: psa_tls12_prf_psk_to_ms_set_other_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_prf_psk_to_ms_set_other_key( psa_tls12_prf_key_derivation_t
      *prf, const uint8_t *data, size_t data_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_aead_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5187,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5196,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 3
    argNames:
    - operation
    - ad_length
    - plaintext_length
    argTypes:
    - psa_aead_operation_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 5200
      start: 5138
    functionDepth: 0
    functionLinenumber: 5138
    functionLinenumberEnd: 5200
    functionName: psa_aead_set_lengths
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_aead_set_lengths
    - psa_aead_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_set_lengths(psa_aead_operation_t *operation,
      size_t ad_length, size_t plaintext_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3520,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3547,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3534,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3542,1
    - Dst: psa_sign_verify_check_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3528,1
    - Dst: psa_driver_wrapper_sign_hash_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3552,1
    - Dst: psa_sign_hash_abort_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3560,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3563,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3569,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - operation
    - key
    - alg
    - hash_external
    - hash_length
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3572
      start: 3511
    functionDepth: 0
    functionLinenumber: 3511
    functionLinenumberEnd: 3572
    functionName: psa_sign_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_sign_hash_start
    - LOCAL_INPUT_FREE
    - psa_get_and_lock_key_slot_with_policy
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - psa_sign_hash_abort_internal
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - psa_sign_verify_check_alg
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_sign_hash_start( psa_sign_hash_interruptible_operation_t
      *operation, mbedtls_svc_key_id_t key, psa_algorithm_t alg, const uint8_t *hash_external,
      size_t hash_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - operation
    - key
    - alg
    argTypes:
    - psa_aead_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 5015
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5015
    functionName: psa_aead_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_aead_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_decrypt_setup(psa_aead_operation_t *operation,
      mbedtls_svc_key_id_t key, psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5122,1
    - Dst: psa_aead_set_nonce_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5125,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5123,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - operation
    - nonce_external
    - nonce_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5135
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5135
    functionName: psa_aead_set_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - LOCAL_INPUT_FREE
    - psa_aead_set_nonce_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_set_nonce(psa_aead_operation_t *operation, const
      uint8_t *nonce_external, size_t nonce_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_derivation_get_kdf_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7417,1
    - Dst: psa_pbkdf2_set_input_cost
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7421,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7433,1
    - Dst: PSA_ALG_IS_PBKDF2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - operation
    - step
    - value
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 7436
      start: 7411
    functionDepth: 0
    functionLinenumber: 7411
    functionLinenumberEnd: 7436
    functionName: psa_key_derivation_input_integer_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_get_kdf_alg
    - psa_key_derivation_abort
    - psa_pbkdf2_set_input_cost
    - PSA_ALG_IS_PBKDF2
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_input_integer_internal( psa_key_derivation_operation_t
      *operation, psa_key_derivation_step_t step, uint64_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7804,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rng
    argTypes:
    - mbedtls_psa_random_context_t*
    constantsTouched: []
    func_position:
      end: 7808
      start: 7796
    functionDepth: 0
    functionLinenumber: 7796
    functionLinenumberEnd: 7808
    functionName: mbedtls_psa_random_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_psa_drbg_seed
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_psa_random_seed(mbedtls_psa_random_context_t
      *rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - inputs
    - peer_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 8431
      start: 8420
    functionDepth: 0
    functionLinenumber: 8420
    functionLinenumberEnd: 8431
    functionName: psa_crypto_driver_pake_get_peer_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_driver_pake_get_peer_len( const psa_crypto_driver_pake_inputs_t
      *inputs, size_t *peer_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3582,1
    - Dst: psa_driver_wrapper_sign_hash_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3602,1
    - Dst: psa_driver_wrapper_sign_hash_get_num_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3607,1
    - Dst: psa_wipe_tag_output_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3612,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3600,1
    - Dst: psa_sign_hash_abort_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3621,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3624,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - operation
    - signature_external
    - signature_size
    - signature_length
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3627
      start: 3575
    functionDepth: 0
    functionLinenumber: 3575
    functionLinenumberEnd: 3627
    functionName: psa_sign_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_sign_hash_abort_internal
    - LOCAL_OUTPUT_FREE
    - psa_driver_wrapper_sign_hash_get_num_ops
    - psa_driver_wrapper_sign_hash_complete
    - LOCAL_OUTPUT_ALLOC
    - psa_wipe_tag_output_buffer
    - LOCAL_OUTPUT_DECLARE
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_sign_hash_complete( psa_sign_hash_interruptible_operation_t
      *operation, uint8_t *signature_external, size_t signature_size, size_t *signature_length) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6603,1
    - Dst: psa_hash_try_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6632,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6624,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6610,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6623,1
    - Dst: PSA_ALG_IS_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6638,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6643,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6648,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6653,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6659,1
    - Dst: PSA_ALG_IS_PBKDF2_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6667,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - operation
    - kdf_alg
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 6680
      start: 6597
    functionDepth: 0
    functionLinenumber: 6597
    functionLinenumberEnd: 6680
    functionName: psa_key_derivation_set_maximum_capacity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - PSA_HASH_LENGTH
    - PSA_MAC_LENGTH
    - psa_hash_try_support
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - PSA_ALG_IS_HKDF
    - PSA_ALG_GET_HASH
    - PSA_ALG_IS_PBKDF2_HMAC
    - PSA_ALG_IS_HKDF_EXPAND
    - PSA_ALG_IS_HKDF_EXTRACT
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_set_maximum_capacity( psa_key_derivation_operation_t
      *operation, psa_algorithm_t kdf_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7445,1
    - Dst: psa_key_derivation_input_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7449,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7455,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - operation
    - step
    - data_external
    - data_length
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7457
      start: 7438
    functionDepth: 0
    functionLinenumber: 7438
    functionLinenumberEnd: 7457
    functionName: psa_key_derivation_input_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - LOCAL_INPUT_FREE
    - psa_key_derivation_input_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_input_bytes( psa_key_derivation_operation_t
      *operation, psa_key_derivation_step_t step, const uint8_t *data_external, size_t
      data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7815,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7823,1
    - Dst: psa_generate_random_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7818,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - output_external
    - output_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7825
      start: 7810
    functionDepth: 0
    functionLinenumber: 7810
    functionLinenumberEnd: 7825
    functionName: psa_generate_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_OUTPUT_FREE
    - psa_generate_random_internal
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_generate_random(uint8_t *output_external, size_t
      output_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - inputs
    - peer_id
    - peer_id_size
    - peer_id_length
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 8449
      start: 8433
    functionDepth: 0
    functionLinenumber: 8433
    functionLinenumberEnd: 8449
    functionName: psa_crypto_driver_pake_get_peer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_driver_pake_get_peer( const psa_crypto_driver_pake_inputs_t
      *inputs, uint8_t *peer_id, size_t peer_id_size, size_t *peer_id_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - operation
    - key
    - alg
    argTypes:
    - psa_aead_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 5007
      start: 5002
    functionDepth: 0
    functionLinenumber: 5002
    functionLinenumberEnd: 5007
    functionName: psa_aead_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_aead_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_encrypt_setup(psa_aead_operation_t *operation,
      mbedtls_svc_key_id_t key, psa_algorithm_t alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8723,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8731,1
    - Dst: psa_driver_wrapper_pake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8725,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8732,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8728,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_pake_operation_t*
    constantsTouched: []
    func_position:
      end: 8745
      start: 8704
    functionDepth: 0
    functionLinenumber: 8704
    functionLinenumberEnd: 8745
    functionName: psa_pake_complete_inputs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_zeroize_and_free
    - mbedtls_platform_zeroize
    - psa_driver_wrapper_pake_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pake_complete_inputs( psa_pake_operation_t
      *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6688,1
    - Dst: psa_key_derivation_set_maximum_capacity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6695,1
    - Dst: is_kdf_alg_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - operation
    - kdf_alg
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 6698
      start: 6682
    functionDepth: 0
    functionLinenumber: 6682
    functionLinenumberEnd: 6698
    functionName: psa_key_derivation_setup_kdf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_set_maximum_capacity
    - is_kdf_alg_supported
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_setup_kdf( psa_key_derivation_operation_t
      *operation, psa_algorithm_t kdf_alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:682,1
    - Dst: PSA_ALG_IS_BLOCK_CIPHER_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:688,1
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - algorithm
    - key_type
    argTypes:
    - psa_algorithm_t
    - psa_key_type_t
    constantsTouched: []
    func_position:
      end: 702
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 702
    functionName: psa_mac_key_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - PSA_ALG_IS_HMAC
    - PSA_ALG_IS_BLOCK_CIPHER_MAC
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE psa_status_t psa_mac_key_can_do( psa_algorithm_t
      algorithm, psa_key_type_t key_type) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2066,1
    - Dst: psa_driver_wrapper_get_key_buffer_size_from_key_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2100,1
    - Dst: psa_key_lifetime_is_external
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2099,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2086,1
    - Dst: psa_start_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2088,1
    - Dst: psa_allocate_buffer_to_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2106,1
    - Dst: psa_driver_wrapper_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2113,1
    - Dst: psa_validate_optional_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2135,1
    - Dst: psa_finish_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2140,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2142,1
    - Dst: psa_fail_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2144,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 4
    argNames:
    - attributes
    - data_external
    - data_length
    - key
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 2148
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2148
    functionName: psa_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_finish_key_creation
    - psa_validate_optional_attributes
    - psa_allocate_buffer_to_slot
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - psa_start_key_creation
    - psa_driver_wrapper_import_key
    - psa_driver_wrapper_get_key_buffer_size_from_key_data
    - psa_fail_key_creation
    - LOCAL_INPUT_ALLOC
    - psa_key_lifetime_is_external
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_import_key(const psa_key_attributes_t *attributes,
      const uint8_t *data_external, size_t data_length, mbedtls_svc_key_id_t *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4465,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4479,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4478,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4466,1
    - Dst: psa_driver_wrapper_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4481,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4490,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4493,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 6
    argNames:
    - operation
    - input_external
    - input_length
    - output_external
    - output_size
    - output_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4497
      start: 4456
    functionDepth: 0
    functionLinenumber: 4456
    functionLinenumberEnd: 4497
    functionName: psa_cipher_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - LOCAL_OUTPUT_ALLOC
    - psa_cipher_abort
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - psa_driver_wrapper_cipher_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_update(psa_cipher_operation_t *operation,
      const uint8_t *input_external, size_t input_length, uint8_t *output_external,
      size_t output_size, size_t *output_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6473,1
    - Dst: psa_generate_derived_key_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6499,1
    - Dst: psa_finish_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6504,1
    - Dst: psa_custom_key_parameters_are_default
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6478,1
    - Dst: psa_start_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6490,1
    - Dst: psa_fail_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6507,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 6
    argNames:
    - attributes
    - operation
    - custom
    - custom_data
    - custom_data_length
    - key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_derivation_operation_t*
    - psa_custom_key_parameters_t*
    - uint8_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 6511
      start: 6457
    functionDepth: 0
    functionLinenumber: 6457
    functionLinenumberEnd: 6511
    functionName: psa_key_derivation_output_key_custom
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_key_bits
    - psa_start_key_creation
    - psa_custom_key_parameters_are_default
    - psa_generate_derived_key_internal
    - psa_fail_key_creation
    - psa_finish_key_creation
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_output_key_custom( const psa_key_attributes_t
      *attributes, psa_key_derivation_operation_t *operation, const psa_custom_key_parameters_t
      *custom, const uint8_t *custom_data, size_t custom_data_length, mbedtls_svc_key_id_t
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_derivation_input_integer_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - operation
    - step
    - value
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 7465
      start: 7459
    functionDepth: 0
    functionLinenumber: 7459
    functionLinenumberEnd: 7465
    functionName: psa_key_derivation_input_integer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_input_integer_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_input_integer( psa_key_derivation_operation_t
      *operation, psa_key_derivation_step_t step, uint64_t value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: key_type_is_raw_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7922,1
    - Dst: psa_des_set_key_parity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7930,1
    - Dst: mbedtls_psa_rsa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7937,1
    - Dst: psa_generate_random_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7923,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7946,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7946,1
    - Dst: mbedtls_psa_ecp_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7947,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7955,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7955,1
    - Dst: mbedtls_psa_ffdh_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7956,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 7
    argNames:
    - attributes
    - custom
    - custom_data
    - custom_data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - psa_custom_key_parameters_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 7968
      start: 7907
    functionDepth: 0
    functionLinenumber: 7907
    functionLinenumberEnd: 7968
    functionName: psa_generate_key_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_des_set_key_parity
    - psa_generate_random_internal
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - mbedtls_psa_ecp_generate_key
    - mbedtls_psa_rsa_generate_key
    - PSA_KEY_TYPE_IS_DH
    - key_type_is_raw_bytes
    - mbedtls_psa_ffdh_generate_key
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_generate_key_internal( const psa_key_attributes_t
      *attributes, const psa_custom_key_parameters_t *custom, const uint8_t *custom_data,
      size_t custom_data_length, uint8_t *key_buffer, size_t key_buffer_size, size_t
      *key_buffer_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - slot
    - buffer_length
    argTypes:
    - psa_key_slot_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 718
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 718
    functionName: psa_allocate_buffer_to_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_allocate_buffer_to_slot(psa_key_slot_t *slot, size_t
      buffer_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4506,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4518,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4530,1
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4527,1
    - Dst: psa_driver_wrapper_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4520,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4533,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - operation
    - output_external
    - output_size
    - output_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4536
      start: 4499
    functionDepth: 0
    functionLinenumber: 4499
    functionLinenumberEnd: 4536
    functionName: psa_cipher_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_OUTPUT_FREE
    - psa_driver_wrapper_cipher_finish
    - psa_cipher_abort
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_cipher_finish(psa_cipher_operation_t *operation,
      uint8_t *output_external, size_t output_size, size_t *output_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_derivation_output_key_custom
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - attributes
    - operation
    - params
    - params_data_length
    - key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_derivation_operation_t*
    - psa_key_production_parameters_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 6525
      start: 6513
    functionDepth: 0
    functionLinenumber: 6513
    functionLinenumberEnd: 6525
    functionName: psa_key_derivation_output_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_output_key_custom
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_output_key_ext( const psa_key_attributes_t
      *attributes, psa_key_derivation_operation_t *operation, const psa_key_production_parameters_t
      *params, size_t params_data_length, mbedtls_svc_key_id_t *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_transparent_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7476,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7479,1
    - Dst: psa_key_derivation_input_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7490,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - operation
    - step
    - key
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 7498
      start: 7467
    functionDepth: 0
    functionLinenumber: 7467
    functionLinenumberEnd: 7498
    functionName: psa_key_derivation_input_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_unregister_read_under_mutex
    - psa_get_and_lock_transparent_key_slot_with_policy
    - psa_key_derivation_input_internal
    - psa_key_derivation_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_input_key( psa_key_derivation_operation_t
      *operation, psa_key_derivation_step_t step, mbedtls_svc_key_id_t key) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7985,1
    - Dst: psa_custom_key_parameters_are_default
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8001,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7990,1
    - Dst: psa_start_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8005,1
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8016,1
    - Dst: psa_validate_key_type_and_size_for_key_generation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8018,1
    - Dst: PSA_EXPORT_KEY_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8024,1
    - Dst: psa_driver_wrapper_get_key_buffer_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8028,1
    - Dst: psa_allocate_buffer_to_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8035,1
    - Dst: psa_driver_wrapper_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8041,1
    - Dst: psa_remove_key_data_from_memory
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8047,1
    - Dst: psa_fail_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8055,1
    - Dst: psa_finish_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8052,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 5
    argNames:
    - attributes
    - custom
    - custom_data
    - custom_data_length
    - key
    argTypes:
    - psa_key_attributes_t*
    - psa_custom_key_parameters_t*
    - uint8_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 8059
      start: 7970
    functionDepth: 0
    functionLinenumber: 7970
    functionLinenumberEnd: 8059
    functionName: psa_generate_key_custom
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_validate_key_type_and_size_for_key_generation
    - psa_allocate_buffer_to_slot
    - psa_driver_wrapper_get_key_buffer_size
    - psa_remove_key_data_from_memory
    - psa_fail_key_creation
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_get_key_bits
    - psa_start_key_creation
    - psa_custom_key_parameters_are_default
    - psa_driver_wrapper_generate_key
    - psa_finish_key_creation
    - PSA_EXPORT_KEY_OUTPUT_SIZE
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_generate_key_custom(const psa_key_attributes_t *attributes,
      const psa_custom_key_parameters_t *custom, const uint8_t *custom_data, size_t
      custom_data_length, mbedtls_svc_key_id_t *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - slot
    - attributes
    argTypes:
    - psa_key_slot_t*
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 2058
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2058
    functionName: psa_validate_optional_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_validate_optional_attributes( const psa_key_slot_t
      *slot, const psa_key_attributes_t *attributes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5270,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5274,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5273,1
    - Dst: psa_driver_wrapper_aead_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5311,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5271,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5319,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5322,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5323,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 6
    argNames:
    - operation
    - input_external
    - input_length
    - output_external
    - output_size
    - output_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 5326
      start: 5260
    functionDepth: 0
    functionLinenumber: 5260
    functionLinenumberEnd: 5326
    functionName: psa_aead_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_driver_wrapper_aead_update
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - LOCAL_OUTPUT_ALLOC
    - psa_aead_abort
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_update(psa_aead_operation_t *operation, const
      uint8_t *input_external, size_t input_length, uint8_t *output_external, size_t
      output_size, size_t *output_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_RAW_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6738,1
    - Dst: psa_key_agreement_try_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6744,1
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6740,1
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_BASE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6743,1
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_KDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6742,1
    - Dst: psa_key_derivation_allows_free_form_secret_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6748,1
    - Dst: psa_key_derivation_setup_kdf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6751,1
    - Dst: PSA_ALG_IS_KEY_DERIVATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6755,1
    - Dst: psa_key_derivation_setup_kdf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - operation
    - alg
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 6769
      start: 6729
    functionDepth: 0
    functionLinenumber: 6729
    functionLinenumberEnd: 6769
    functionName: psa_key_derivation_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_KEY_AGREEMENT_GET_KDF
    - PSA_ALG_IS_KEY_DERIVATION
    - PSA_ALG_KEY_AGREEMENT_GET_BASE
    - psa_key_agreement_try_support
    - PSA_ALG_IS_RAW_KEY_AGREEMENT
    - psa_key_derivation_allows_free_form_secret_input
    - psa_key_derivation_setup_kdf
    - PSA_ALG_IS_KEY_AGREEMENT
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_setup(psa_key_derivation_operation_t
      *operation, psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3474
      start: 3471
    functionDepth: 0
    functionLinenumber: 3471
    functionLinenumberEnd: 3474
    functionName: psa_interruptible_get_max_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t psa_interruptible_get_max_ops(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_UNSTRUCTURED
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - psa_key_type_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: key_type_is_raw_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_IS_UNSTRUCTURED
    linkageType: ''
    returnType: int
    signature: 'static int key_type_is_raw_bytes(psa_key_type_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - output_buffer
    - status
    - output_buffer_size
    - output_buffer_length
    argTypes:
    - uint8_t*
    - psa_status_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: psa_wipe_tag_output_buffer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void psa_wipe_tag_output_buffer(uint8_t *output_buffer, psa_status_t
      status, size_t output_buffer_size, size_t output_buffer_length) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:828,1
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:863,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:835,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:835,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:839,1
    - Dst: PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:845,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:825,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:836,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:837,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:838,1
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:862,1
    - Dst: psa_mac_key_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:866,1
    - Dst: PSA_ALG_TRUNCATED_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:903,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:822,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:823,1
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:861,1
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:861,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:878,1
    - Dst: PSA_ALG_AT_LEAST_THIS_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:885,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:879,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 3
    argNames:
    - key_type
    - alg1
    - alg2
    argTypes:
    - psa_key_type_t
    - psa_algorithm_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 908
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 908
    functionName: psa_key_policy_algorithm_intersection
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - PSA_ALG_IS_MAC
    - PSA_MAC_LENGTH
    - psa_mac_key_can_do
    - PSA_ALG_AT_LEAST_THIS_LENGTH_MAC
    - PSA_ALG_TRUNCATED_MAC
    - PSA_ALG_IS_AEAD
    - PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    - PSA_ALG_IS_SIGN_HASH
    - PSA_ALG_AEAD_GET_TAG_LENGTH
    - PSA_ALG_SIGN_GET_HASH
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static psa_algorithm_t psa_key_policy_algorithm_intersection( psa_key_type_t
      key_type, psa_algorithm_t alg1, psa_algorithm_t alg2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2005,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2028,1
    - Dst: psa_crypto_stop_transaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2022,1
    - Dst: psa_wipe_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - slot
    - driver
    argTypes:
    - psa_key_slot_t*
    - psa_se_drv_table_entry_t*
    constantsTouched: []
    func_position:
      end: 2030
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2030
    functionName: psa_fail_key_creation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_wipe_key_slot
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    - psa_crypto_stop_transaction
    linkageType: ''
    returnType: void
    signature: 'static void psa_fail_key_creation(psa_key_slot_t *slot, psa_se_drv_table_entry_t
      *driver) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3203,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3217,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3204,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3218,1
    - Dst: mbedtls_psa_rsa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3207,1
    - Dst: mbedtls_psa_ecdsa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3242
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3242
    functionName: psa_sign_hash_builtin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - PSA_ALG_IS_ECDSA
    - mbedtls_psa_ecdsa_sign_hash
    - PSA_ALG_IS_RSA_PSS
    - PSA_KEY_TYPE_IS_ECC
    - mbedtls_psa_rsa_sign_hash
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_sign_hash_builtin( const psa_key_attributes_t *attributes,
      const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const
      uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3276,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3277,1
    - Dst: mbedtls_psa_rsa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3281,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3291,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3278,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3292,1
    - Dst: mbedtls_psa_ecdsa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3315
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3315
    functionName: psa_verify_hash_builtin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - PSA_KEY_TYPE_IS_RSA
    - mbedtls_psa_ecdsa_verify_hash
    - PSA_ALG_IS_ECDSA
    - PSA_ALG_IS_RSA_PSS
    - mbedtls_psa_rsa_verify_hash
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_verify_hash_builtin( const psa_key_attributes_t *attributes,
      const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const
      uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t signature_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5209,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5210,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5250,1
    - Dst: psa_driver_wrapper_aead_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5243,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5253,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 3
    argNames:
    - operation
    - input_external
    - input_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5256
      start: 5203
    functionDepth: 0
    functionLinenumber: 5203
    functionLinenumberEnd: 5256
    functionName: psa_aead_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_driver_wrapper_aead_update_ad
    - LOCAL_INPUT_DECLARE
    - psa_aead_abort
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_update_ad(psa_aead_operation_t *operation, const
      uint8_t *input_external, size_t input_length) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 31
    argCount: 2
    argNames:
    - type
    - bits
    argTypes:
    - psa_key_type_t
    - size_t
    constantsTouched: []
    func_position:
      end: 662
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 662
    functionName: psa_validate_unstructured_key_bit_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_validate_unstructured_key_bit_size(psa_key_type_t
      type, size_t bits) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:929,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:930,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:934,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:935,1
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:939,1
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:940,1
    - Dst: PSA_MAC_TRUNCATED_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:969,1
    - Dst: PSA_ALG_IS_RAW_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:984,1
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:985,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:921,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:931,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:922,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:932,1
    - Dst: psa_mac_key_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:945,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:956,1
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:958,1
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:942,1
    - Dst: PSA_MAC_TRUNCATED_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:977,1
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_BASE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:986,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:954,1
    - Dst: PSA_MAC_TRUNCATED_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:968,1
    - Dst: PSA_MAC_TRUNCATED_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:962,1
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:941,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - key_type
    - policy_alg
    - requested_alg
    argTypes:
    - psa_key_type_t
    - psa_algorithm_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 991
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 991
    functionName: psa_key_algorithm_permits
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - PSA_ALG_IS_MAC
    - PSA_MAC_LENGTH
    - psa_mac_key_can_do
    - PSA_ALG_IS_AEAD
    - PSA_ALG_KEY_AGREEMENT_GET_BASE
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    - PSA_MAC_TRUNCATED_LENGTH
    - PSA_ALG_IS_RAW_KEY_AGREEMENT
    - PSA_ALG_IS_SIGN_HASH
    - PSA_ALG_IS_KEY_AGREEMENT
    - PSA_ALG_AEAD_GET_TAG_LENGTH
    - PSA_ALG_SIGN_GET_HASH
    linkageType: ''
    returnType: int
    signature: 'static int psa_key_algorithm_permits(psa_key_type_t key_type, psa_algorithm_t
      policy_alg, psa_algorithm_t requested_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3253,1
    - Dst: psa_sign_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3258,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3256,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3257,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3254,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3264,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - key
    - alg
    - hash_external
    - hash_length
    - signature_external
    - signature_size
    - signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3268
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3268
    functionName: psa_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - psa_sign_internal
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_sign_hash(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *hash_external, size_t hash_length, uint8_t *signature_external,
      size_t signature_size, size_t *signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3325,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3328,1
    - Dst: psa_verify_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3330,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3326,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3329,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3336,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key
    - alg
    - hash_external
    - hash_length
    - signature_external
    - signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3340
      start: 3317
    functionDepth: 0
    functionLinenumber: 3317
    functionLinenumberEnd: 3340
    functionName: psa_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - LOCAL_INPUT_FREE
    - psa_verify_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_verify_hash(mbedtls_svc_key_id_t key, psa_algorithm_t
      alg, const uint8_t *hash_external, size_t hash_length, const uint8_t *signature_external,
      size_t signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3480
      start: 3476
    functionDepth: 0
    functionLinenumber: 3476
    functionLinenumberEnd: 3480
    functionName: psa_sign_hash_get_num_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t psa_sign_hash_get_num_ops( const psa_sign_hash_interruptible_operation_t
      *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_set_max_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - max_ops
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3807
      start: 3788
    functionDepth: 0
    functionLinenumber: 3788
    functionLinenumberEnd: 3807
    functionName: mbedtls_psa_interruptible_set_max_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_set_max_ops
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_psa_interruptible_set_max_ops(uint32_t max_ops) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - operation
    - capacity
    argTypes:
    - psa_key_derivation_operation_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5605
      start: 5594
    functionDepth: 0
    functionLinenumber: 5594
    functionLinenumberEnd: 5605
    functionName: psa_key_derivation_set_capacity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_set_capacity(psa_key_derivation_operation_t
      *operation, size_t capacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - kdf_alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 6726
      start: 6716
    functionDepth: 0
    functionLinenumber: 6716
    functionLinenumberEnd: 6726
    functionName: psa_key_derivation_allows_free_form_secret_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int psa_key_derivation_allows_free_form_secret_input( psa_algorithm_t
      kdf_alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5406,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5410,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5409,1
    - Dst: psa_aead_final_checks
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5414,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5407,1
    - Dst: psa_driver_wrapper_aead_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5424,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5430,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5432,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 6
    argNames:
    - operation
    - plaintext_external
    - plaintext_size
    - plaintext_length
    - tag_external
    - tag_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5436
      start: 5397
    functionDepth: 0
    functionLinenumber: 5397
    functionLinenumberEnd: 5436
    functionName: psa_aead_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - LOCAL_OUTPUT_ALLOC
    - psa_aead_abort
    - LOCAL_OUTPUT_DECLARE
    - psa_driver_wrapper_aead_verify
    - LOCAL_INPUT_ALLOC
    - psa_aead_final_checks
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_verify(psa_aead_operation_t *operation, uint8_t
      *plaintext_external, size_t plaintext_size, size_t *plaintext_length, const
      uint8_t *tag_external, size_t tag_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7752,1
    - Dst: mbedtls_entropy_add_source
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7769,1
    - Dst: mbedtls_psa_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rng
    argTypes:
    - mbedtls_psa_random_context_t*
    constantsTouched: []
    func_position:
      end: 7777
      start: 7749
    functionDepth: 0
    functionLinenumber: 7749
    functionLinenumberEnd: 7777
    functionName: mbedtls_psa_random_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_entropy_add_source
    - mbedtls_psa_drbg_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_psa_random_init(mbedtls_psa_random_context_t *rng) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 326
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 326
    functionName: psa_is_dh_key_size_valid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int psa_is_dh_key_size_valid(size_t bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2163,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2174,1
    - Dst: PSA_KEY_LIFETIME_IS_VOLATILE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2174,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2166,1
    - Dst: psa_start_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2178,1
    - Dst: psa_finish_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2184,1
    - Dst: psa_fail_key_creation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2188,1
    - Dst: psa_close_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 2194
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2194
    functionName: mbedtls_psa_register_se_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_key_bits
    - psa_start_key_creation
    - PSA_KEY_LIFETIME_IS_VOLATILE
    - psa_fail_key_creation
    - psa_get_key_type
    - psa_finish_key_creation
    - psa_get_key_lifetime
    - psa_close_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_register_se_key( const psa_key_attributes_t
      *attributes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7219,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7223,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7223,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7222,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7224,1
    - Dst: psa_driver_wrapper_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7228,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7232,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7237,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - input
    - input_len
    - output
    - output_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 7241
      start: 7213
    functionDepth: 0
    functionLinenumber: 7213
    functionLinenumberEnd: 7241
    functionName: psa_pbkdf2_cmac_set_password
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - PSA_MAC_LENGTH
    - psa_set_key_type
    - PSA_BYTES_TO_BITS
    - psa_driver_wrapper_mac_compute
    - memcpy
    - psa_set_key_bits
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pbkdf2_cmac_set_password(const uint8_t *input,
      size_t input_len, uint8_t *output, size_t *output_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_initialized
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7831,1
    - Dst: mbedtls_psa_storage_inject_entropy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7841,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - seed
    - seed_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7842
      start: 7828
    functionDepth: 0
    functionLinenumber: 7828
    functionLinenumberEnd: 7842
    functionName: mbedtls_psa_inject_entropy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_initialized
    - mbedtls_psa_storage_inject_entropy
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_inject_entropy(const uint8_t *seed, size_t
      seed_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2490,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2493,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2498,1
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2491,1
    - Dst: psa_driver_wrapper_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2499,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2511,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2512,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2517,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2519,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - alg
    - input_external
    - input_length
    - hash_external
    - hash_length
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2523
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2523
    functionName: psa_hash_compare
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - PSA_ALG_IS_HASH
    - LOCAL_INPUT_DECLARE
    - mbedtls_platform_zeroize
    - psa_driver_wrapper_hash_compute
    - LOCAL_INPUT_ALLOC
    - mbedtls_ct_memcmp
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_compare(psa_algorithm_t alg, const uint8_t *input_external,
      size_t input_length, const uint8_t *hash_external, size_t hash_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_sign_verify_check_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2981,1
    - Dst: psa_driver_wrapper_sign_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3010,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3004,1
    - Dst: psa_driver_wrapper_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3016,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2994,1
    - Dst: psa_wipe_tag_output_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3024,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3027,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 8
    argNames:
    - key
    - input_is_message
    - alg
    - input
    - input_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - int
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3030
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 3030
    functionName: psa_sign_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_sign_message
    - psa_get_and_lock_key_slot_with_policy
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - psa_driver_wrapper_sign_hash
    - psa_sign_verify_check_alg
    - psa_wipe_tag_output_buffer
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_sign_internal(mbedtls_svc_key_id_t key, int
      input_is_message, psa_algorithm_t alg, const uint8_t *input, size_t input_length,
      uint8_t *signature, size_t signature_size, size_t *signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_verify_hash_abort_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3781
      start: 3766
    functionDepth: 0
    functionLinenumber: 3766
    functionLinenumberEnd: 3781
    functionName: psa_verify_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_verify_hash_abort_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_verify_hash_abort( psa_verify_hash_interruptible_operation_t
      *operation) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8117,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8135,1
    - Dst: mbedtls_psa_random_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8139,1
    - Dst: psa_wipe_all_key_slots
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8126,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8131,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8142,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8145,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8149,1
    - Dst: psa_driver_wrapper_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8154,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 8162
      start: 8113
    functionDepth: 0
    functionLinenumber: 8113
    functionLinenumberEnd: 8162
    functionName: mbedtls_psa_crypto_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_mutex_lock
    - psa_wipe_all_key_slots
    - mbedtls_psa_random_free
    - psa_driver_wrapper_free
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_psa_crypto_free(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - inputs
    - user_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 8400
      start: 8389
    functionDepth: 0
    functionLinenumber: 8389
    functionLinenumberEnd: 8400
    functionName: psa_crypto_driver_pake_get_user_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_driver_pake_get_user_len( const psa_crypto_driver_pake_inputs_t
      *inputs, size_t *user_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2533,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - source_operation
    - target_operation
    argTypes:
    - psa_hash_operation_t*
    - psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 2540
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2540
    functionName: psa_hash_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_hash_clone
    - psa_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_hash_clone(const psa_hash_operation_t *source_operation,
      psa_hash_operation_t *target_operation) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_sign_verify_check_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3044,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3071,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3049,1
    - Dst: psa_driver_wrapper_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3065,1
    - Dst: psa_driver_wrapper_verify_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3060,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 7
    argNames:
    - key
    - input_is_message
    - alg
    - input
    - input_length
    - signature
    - signature_length
    argTypes:
    - mbedtls_svc_key_id_t
    - int
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3075
      start: 3032
    functionDepth: 0
    functionLinenumber: 3032
    functionLinenumberEnd: 3075
    functionName: psa_verify_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_verify_hash
    - psa_get_and_lock_key_slot_with_policy
    - psa_sign_verify_check_alg
    - psa_driver_wrapper_verify_message
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_verify_internal(mbedtls_svc_key_id_t key,
      int input_is_message, psa_algorithm_t alg, const uint8_t *input, size_t input_length,
      const uint8_t *signature, size_t signature_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - max_ops
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3469
      start: 3466
    functionDepth: 0
    functionLinenumber: 3466
    functionLinenumberEnd: 3469
    functionName: psa_interruptible_set_max_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void psa_interruptible_set_max_ops(uint32_t max_ops) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - inputs
    - user_id
    - user_id_size
    - user_id_len
    argTypes:
    - psa_crypto_driver_pake_inputs_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 8418
      start: 8402
    functionDepth: 0
    functionLinenumber: 8402
    functionLinenumberEnd: 8418
    functionName: psa_crypto_driver_pake_get_user
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_driver_pake_get_user( const psa_crypto_driver_pake_inputs_t
      *inputs, uint8_t *user_id, size_t user_id_size, size_t *user_id_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_allocate_buffer_to_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:724,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - slot
    - data
    - data_length
    argTypes:
    - psa_key_slot_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 732
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 732
    functionName: psa_copy_key_material_into_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - memcpy
    - psa_allocate_buffer_to_slot
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_copy_key_material_into_slot(psa_key_slot_t *slot,
      const uint8_t *data, size_t data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1548,1
    - Dst: psa_export_key_buffer_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1552,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1549,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1549,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1550,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1555,1
    - Dst: mbedtls_psa_rsa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1558,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1569,1
    - Dst: mbedtls_psa_ecp_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1572,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1583,1
    - Dst: mbedtls_psa_ffdh_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1586,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1603
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1603
    functionName: psa_export_public_key_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_export_key_buffer_internal
    - PSA_KEY_TYPE_IS_DH
    - mbedtls_psa_rsa_export_public_key
    - PSA_KEY_TYPE_IS_RSA
    - mbedtls_psa_ffdh_export_public_key
    - PSA_KEY_TYPE_IS_ECC
    - mbedtls_psa_ecp_export_public_key
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_export_public_key_internal( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3486
      start: 3482
    functionDepth: 0
    functionLinenumber: 3482
    functionLinenumberEnd: 3486
    functionName: psa_verify_hash_get_num_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t psa_verify_hash_get_num_ops( const psa_verify_hash_interruptible_operation_t
      *operation) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3850,1
    - Dst: mbedtls_ecdsa_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3862,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3854,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3877,1
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3867,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3880,1
    - Dst: mbedtls_md_type_from_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3881,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 7
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    argTypes:
    - mbedtls_psa_sign_hash_interruptible_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3913
      start: 3841
    functionDepth: 0
    functionLinenumber: 3841
    functionLinenumberEnd: 3913
    functionName: mbedtls_psa_sign_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_restart_init
    - PSA_BITS_TO_BYTES
    - memcpy
    - mbedtls_md_type_from_psa_alg
    - PSA_ALG_IS_ECDSA
    - mbedtls_psa_ecp_load_representation
    - PSA_KEY_TYPE_IS_ECC
    - PSA_ALG_SIGN_GET_HASH
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_sign_hash_start( mbedtls_psa_sign_hash_interruptible_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_HKDF_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5706,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5707,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5755,1
    - Dst: psa_key_derivation_start_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5742,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5761,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5769,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5775,1
    - Dst: psa_key_derivation_start_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5786,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5793,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5797,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5814,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5801,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5805,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - tls12_prf
    - alg
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 5820
      start: 5702
    functionDepth: 0
    functionLinenumber: 5702
    functionLinenumberEnd: 5820
    functionName: psa_key_derivation_tls12_prf_generate_next_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - psa_mac_sign_finish
    - PSA_ALG_HKDF_GET_HASH
    - psa_mac_update
    - psa_mac_abort
    - psa_key_derivation_start_hmac
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_tls12_prf_generate_next_block(
      psa_tls12_prf_key_derivation_t *tls12_prf, psa_algorithm_t alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8607,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8638,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8624,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8630,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8632,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8640,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - operation
    - peer_id_external
    - peer_id_len
    argTypes:
    - psa_pake_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 8643
      start: 8601
    functionDepth: 0
    functionLinenumber: 8601
    functionLinenumberEnd: 8643
    functionName: psa_pake_set_peer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - memcpy
    - psa_pake_abort
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_set_peer( psa_pake_operation_t *operation, const
      uint8_t *peer_id_external, size_t peer_id_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_input_pre_copy_hook
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9087,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9092,1
    - Dst: psa_input_post_copy_hook
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:9097,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - input
    - input_len
    - input_copy
    - input_copy_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 9102
      start: 9077
    functionDepth: 0
    functionLinenumber: 9077
    functionLinenumberEnd: 9102
    functionName: psa_crypto_copy_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_input_post_copy_hook
    - memcpy
    - psa_input_pre_copy_hook
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE psa_status_t psa_crypto_copy_input(const uint8_t
      *input, size_t input_len, uint8_t *input_copy, size_t input_copy_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: key_type_is_raw_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:748,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:749,1
    - Dst: PSA_KEY_TYPE_IS_ASYMMETRIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:763,1
    - Dst: psa_validate_unstructured_key_bit_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:751,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:758,1
    - Dst: PSA_KEY_TYPE_IS_DH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:766,1
    - Dst: psa_is_dh_key_size_valid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:767,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:767,1
    - Dst: mbedtls_psa_ffdh_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:770,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:780,1
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:792,1
    - Dst: mbedtls_psa_rsa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:793,1
    - Dst: mbedtls_psa_ecp_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:781,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 805
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 805
    functionName: psa_import_key_into_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_BYTES_TO_BITS
    - PSA_KEY_TYPE_IS_ASYMMETRIC
    - memcpy
    - psa_validate_unstructured_key_bit_size
    - PSA_KEY_TYPE_IS_DH
    - mbedtls_psa_ecp_import_key
    - psa_is_dh_key_size_valid
    - mbedtls_psa_rsa_import_key
    - PSA_KEY_TYPE_IS_RSA
    - key_type_is_raw_bytes
    - mbedtls_psa_ffdh_import_key
    - PSA_KEY_TYPE_IS_ECC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_import_key_into_slot( const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1614,1
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1630,1
    - Dst: PSA_KEY_TYPE_IS_ASYMMETRIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1637,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1635,1
    - Dst: psa_driver_wrapper_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1642,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1647,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - key
    - data_external
    - data_size
    - data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1651
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1651
    functionName: psa_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_and_lock_key_slot_with_policy
    - psa_driver_wrapper_export_public_key
    - LOCAL_OUTPUT_FREE
    - PSA_KEY_TYPE_IS_ASYMMETRIC
    - LOCAL_OUTPUT_ALLOC
    - LOCAL_OUTPUT_DECLARE
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_export_public_key(mbedtls_svc_key_id_t key, uint8_t
      *data_external, size_t data_size, size_t *data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_sign_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 3509
      start: 3488
    functionDepth: 0
    functionLinenumber: 3488
    functionLinenumberEnd: 3509
    functionName: psa_sign_hash_abort_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_sign_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_sign_hash_abort_internal( psa_sign_hash_interruptible_operation_t
      *operation) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3928,1
    - Dst: mbedtls_psa_interruptible_set_max_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3932,1
    - Dst: PSA_ALG_ECDSA_IS_DETERMINISTIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3939,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3929,1
    - Dst: psa_interruptible_get_max_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3932,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3942,1
    - Dst: mbedtls_ecdsa_sign_det_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3943,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3958,1
    - Dst: mbedtls_ecdsa_sign_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3959,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3977,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3978,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4006,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3987,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:3988,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:4005,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - operation
    - signature
    - signature_size
    - signature_length
    argTypes:
    - mbedtls_psa_sign_hash_interruptible_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4021
      start: 3915
    functionDepth: 0
    functionLinenumber: 3915
    functionLinenumberEnd: 4021
    functionName: mbedtls_psa_sign_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdsa_sign_det_restartable
    - mbedtls_ecdsa_sign_restartable
    - mbedtls_to_psa_error
    - psa_interruptible_get_max_ops
    - mbedtls_mpi_write_binary
    - PSA_ALG_ECDSA_IS_DETERMINISTIC
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_psa_interruptible_set_max_ops
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_sign_hash_complete( mbedtls_psa_sign_hash_interruptible_operation_t
      *operation, uint8_t *signature, size_t signature_size, size_t *signature_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5450,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_aead_operation_t*
    constantsTouched: []
    func_position:
      end: 5455
      start: 5439
    functionDepth: 0
    functionLinenumber: 5439
    functionLinenumberEnd: 5455
    functionName: psa_aead_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_aead_abort
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_aead_abort(psa_aead_operation_t *operation) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_TLS12_PRF_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5828,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5862,1
    - Dst: psa_key_derivation_tls12_prf_generate_next_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5846,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5829,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - tls12_prf
    - alg
    - output
    - output_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5869
      start: 5822
    functionDepth: 0
    functionLinenumber: 5822
    functionLinenumberEnd: 5869
    functionName: psa_key_derivation_tls12_prf_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_tls12_prf_generate_next_block
    - PSA_ALG_TLS12_PRF_GET_HASH
    - memcpy
    - PSA_HASH_LENGTH
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_tls12_prf_read( psa_tls12_prf_key_derivation_t
      *tls12_prf, psa_algorithm_t alg, uint8_t *output, size_t output_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_tls12_prf_set_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6981,1
    - Dst: psa_tls12_prf_set_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6985,1
    - Dst: psa_tls12_prf_set_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6983,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - prf
    - step
    - data
    - data_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - psa_key_derivation_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6989
      start: 6974
    functionDepth: 0
    functionLinenumber: 6974
    functionLinenumberEnd: 6989
    functionName: psa_tls12_prf_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_tls12_prf_set_label
    - psa_tls12_prf_set_key
    - psa_tls12_prf_set_seed
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_prf_input(psa_tls12_prf_key_derivation_t
      *prf, psa_key_derivation_step_t step, const uint8_t *data, size_t data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7787,1
    - Dst: mbedtls_psa_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rng
    argTypes:
    - mbedtls_psa_random_context_t*
    constantsTouched: []
    func_position:
      end: 7792
      start: 7784
    functionDepth: 0
    functionLinenumber: 7784
    functionLinenumberEnd: 7792
    functionName: mbedtls_psa_random_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_drbg_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_psa_random_free(mbedtls_psa_random_context_t *rng) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - operation
    - role
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_role_t
    constantsTouched: []
    func_position:
      end: 8673
      start: 8645
    functionDepth: 0
    functionLinenumber: 8645
    functionLinenumberEnd: 8673
    functionName: psa_pake_set_role
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_pake_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_set_role( psa_pake_operation_t *operation, psa_pake_role_t
      role) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1099,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1132,1
    - Dst: psa_key_policy_permits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1120,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - key
    - p_slot
    - usage
    - alg
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_slot_t**
    - psa_key_usage_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1135
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1135
    functionName: psa_get_and_lock_key_slot_with_policy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_and_lock_key_slot
    - psa_key_policy_permits
    - psa_unregister_read_under_mutex
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_get_and_lock_key_slot_with_policy( mbedtls_svc_key_id_t
      key, psa_key_slot_t **p_slot, psa_key_usage_t usage, psa_algorithm_t alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_driver_wrapper_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_mac_operation_t*
    constantsTouched: []
    func_position:
      end: 2560
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2560
    functionName: psa_mac_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_driver_wrapper_mac_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_abort(psa_mac_operation_t *operation) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_check_nonce_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5033,1
    - Dst: psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5046,1
    - Dst: psa_driver_wrapper_aead_set_nonce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5039,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - operation
    - nonce
    - nonce_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5050
      start: 5017
    functionDepth: 0
    functionLinenumber: 5017
    functionLinenumberEnd: 5050
    functionName: psa_aead_set_nonce_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_aead_check_nonce_length
    - psa_aead_abort
    - psa_driver_wrapper_aead_set_nonce
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_aead_set_nonce_internal(psa_aead_operation_t
      *operation, const uint8_t *nonce, size_t nonce_length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6045,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6064,1
    - Dst: psa_key_derivation_get_kdf_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6047,1
    - Dst: PSA_ALG_IS_ANY_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6076,1
    - Dst: psa_key_derivation_hkdf_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6077,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6083,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6084,1
    - Dst: psa_key_derivation_tls12_prf_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6085,1
    - Dst: psa_key_derivation_tls12_ecjpake_to_pms_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6093,1
    - Dst: PSA_ALG_IS_PBKDF2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6098,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6107,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6119,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6122,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6126,1
    - Dst: psa_key_derivation_pbkdf2_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6099,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - operation
    - output_external
    - output_length
    argTypes:
    - psa_key_derivation_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6128
      start: 6039
    functionDepth: 0
    functionLinenumber: 6039
    functionLinenumberEnd: 6128
    functionName: psa_key_derivation_output_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - psa_key_derivation_tls12_ecjpake_to_pms_read
    - psa_key_derivation_get_kdf_alg
    - LOCAL_OUTPUT_FREE
    - psa_key_derivation_abort
    - memset
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - LOCAL_OUTPUT_ALLOC
    - psa_key_derivation_tls12_prf_read
    - PSA_ALG_IS_ANY_HKDF
    - LOCAL_OUTPUT_DECLARE
    - psa_key_derivation_pbkdf2_read
    - psa_key_derivation_hkdf_read
    - PSA_ALG_IS_PBKDF2
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_output_bytes( psa_key_derivation_operation_t
      *operation, uint8_t *output_external, size_t output_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6245,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6228,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6251,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6265,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6205,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6207,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6216,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6255,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6256,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6259,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6266,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6194,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6192,1
    - Dst: mbedtls_ecc_group_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6197,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6213,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6216,1
    - Dst: mbedtls_mpi_lt_mpi_ct
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6251,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6245,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6191,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6207,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6256,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6220,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6255,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6262,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - slot
    - bits
    - operation
    - data
    argTypes:
    - psa_key_slot_t*
    - size_t
    - psa_key_derivation_operation_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 6268
      start: 6176
    functionDepth: 0
    functionLinenumber: 6176
    functionLinenumberEnd: 6268
    functionName: psa_generate_derived_ecc_key_weierstrass_helper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_calloc
    - mbedtls_mpi_sub_int
    - mbedtls_ecp_group_load
    - PSA_BITS_TO_BYTES
    - mbedtls_mpi_read_binary
    - mbedtls_ecc_group_from_psa
    - mbedtls_mpi_write_binary
    - mbedtls_to_psa_error
    - mbedtls_free
    - mbedtls_mpi_add_int
    - psa_key_derivation_output_bytes
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_lt_mpi_ct
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_generate_derived_ecc_key_weierstrass_helper(
      psa_key_slot_t *slot, size_t bits, psa_key_derivation_operation_t *operation,
      uint8_t **data ) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - step
    - key_type
    argTypes:
    - psa_key_derivation_step_t
    - psa_key_type_t
    constantsTouched: []
    func_position:
      end: 7349
      start: 7304
    functionDepth: 0
    functionLinenumber: 7304
    functionLinenumberEnd: 7349
    functionName: psa_key_derivation_check_input_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int psa_key_derivation_check_input_type( psa_key_derivation_step_t
      step, psa_key_type_t key_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_and_lock_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8524,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8539,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8531,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8551,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8545,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8553,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - operation
    - password
    argTypes:
    - psa_pake_operation_t*
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 8555
      start: 8510
    functionDepth: 0
    functionLinenumber: 8510
    functionLinenumberEnd: 8555
    functionName: psa_pake_set_password_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - psa_get_and_lock_key_slot_with_policy
    - memcpy
    - psa_pake_abort
    - psa_get_key_type
    - psa_unregister_read_under_mutex
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_set_password_key( psa_pake_operation_t *operation,
      mbedtls_svc_key_id_t password) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - operation
    - step
    - io_mode
    argTypes:
    - psa_pake_operation_t*
    - psa_pake_step_t
    - psa_jpake_io_mode_t
    constantsTouched: []
    func_position:
      end: 8785
      start: 8748
    functionDepth: 0
    functionLinenumber: 8748
    functionLinenumberEnd: 8785
    functionName: psa_jpake_prologue
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_jpake_prologue( psa_pake_operation_t *operation,
      psa_pake_step_t step, psa_jpake_io_mode_t io_mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2568,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2582,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2569,1
    - Dst: PSA_ALG_IS_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2571,1
    - Dst: psa_mac_key_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2576,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2592,1
    - Dst: PSA_ALG_FULL_LENGTH_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2593,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - alg
    - attributes
    - mac_size
    argTypes:
    - psa_algorithm_t
    - psa_key_attributes_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2613
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2613
    functionName: psa_mac_finalize_alg_and_key_validation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_FULL_LENGTH_MAC
    - PSA_ALG_IS_MAC
    - PSA_MAC_LENGTH
    - psa_mac_key_can_do
    - psa_get_key_bits
    - psa_get_key_type
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_mac_finalize_alg_and_key_validation( psa_algorithm_t
      alg, const psa_key_attributes_t *attributes, uint8_t *mac_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_tls12_prf_psk_to_ms_set_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7092,1
    - Dst: psa_tls12_prf_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7101,1
    - Dst: psa_tls12_prf_psk_to_ms_set_other_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - prf
    - step
    - data
    - data_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - psa_key_derivation_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7105
      start: 7084
    functionDepth: 0
    functionLinenumber: 7084
    functionLinenumberEnd: 7105
    functionName: psa_tls12_prf_psk_to_ms_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_tls12_prf_psk_to_ms_set_other_key
    - psa_tls12_prf_psk_to_ms_set_key
    - psa_tls12_prf_input
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_prf_psk_to_ms_input( psa_tls12_prf_key_derivation_t
      *prf, psa_key_derivation_step_t step, const uint8_t *data, size_t data_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_derivation_get_kdf_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7359,1
    - Dst: PSA_ALG_IS_ANY_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7367,1
    - Dst: psa_hkdf_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7368,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7373,1
    - Dst: psa_key_derivation_check_input_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7361,1
    - Dst: psa_tls12_prf_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7374,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7379,1
    - Dst: psa_tls12_prf_psk_to_ms_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7380,1
    - Dst: psa_tls12_ecjpake_to_pms_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7386,1
    - Dst: PSA_ALG_IS_PBKDF2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7391,1
    - Dst: psa_pbkdf2_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7392,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - operation
    - step
    - key_type
    - data
    - data_length
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - psa_key_type_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7409
      start: 7351
    functionDepth: 0
    functionLinenumber: 7351
    functionLinenumberEnd: 7409
    functionName: psa_key_derivation_input_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - psa_tls12_ecjpake_to_pms_input
    - psa_key_derivation_get_kdf_alg
    - psa_key_derivation_abort
    - psa_hkdf_input
    - psa_tls12_prf_psk_to_ms_input
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - psa_pbkdf2_input
    - PSA_ALG_IS_ANY_HKDF
    - psa_tls12_prf_input
    - psa_key_derivation_check_input_type
    - PSA_ALG_IS_PBKDF2
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_input_internal( psa_key_derivation_operation_t
      *operation, psa_key_derivation_step_t step, psa_key_type_t key_type, const uint8_t
      *data, size_t data_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8563,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8594,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8586,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8588,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8580,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8596,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - operation
    - user_id_external
    - user_id_len
    argTypes:
    - psa_pake_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 8599
      start: 8557
    functionDepth: 0
    functionLinenumber: 8557
    functionLinenumberEnd: 8599
    functionName: psa_pake_set_user
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - memcpy
    - psa_pake_abort
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_pake_set_user( psa_pake_operation_t *operation, const
      uint8_t *user_id_external, size_t user_id_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_JPAKE_EXPECTED_INPUTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8798,1
    - Dst: PSA_JPAKE_EXPECTED_OUTPUTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8809,1
    - Dst: PSA_JPAKE_EXPECTED_INPUTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8808,1
    - Dst: PSA_JPAKE_EXPECTED_OUTPUTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8804,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - operation
    - io_mode
    argTypes:
    - psa_pake_operation_t*
    - psa_jpake_io_mode_t
    constantsTouched: []
    func_position:
      end: 8820
      start: 8787
    functionDepth: 0
    functionLinenumber: 8787
    functionLinenumberEnd: 8820
    functionName: psa_jpake_epilogue
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_JPAKE_EXPECTED_INPUTS
    - PSA_JPAKE_EXPECTED_OUTPUTS
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_jpake_epilogue( psa_pake_operation_t *operation,
      psa_jpake_io_mode_t io_mode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_remove_key_data_from_memory
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1193,1
    - Dst: MBEDTLS_TEST_HOOK_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1226,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1248,1
    - Dst: MBEDTLS_TEST_HOOK_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1220,1
    - Dst: MBEDTLS_TEST_HOOK_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1213,1
    - Dst: psa_free_key_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1261
    functionName: psa_wipe_key_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - MBEDTLS_TEST_HOOK_TEST_ASSERT
    - memset
    - psa_free_key_slot
    - psa_remove_key_data_from_memory
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_wipe_key_slot(psa_key_slot_t *slot) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1187
    functionName: psa_remove_key_data_from_memory
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_remove_key_data_from_memory(psa_key_slot_t *slot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - operation
    - key
    - alg
    argTypes:
    - psa_mac_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 2683
      start: 2678
    functionDepth: 0
    functionLinenumber: 2678
    functionLinenumberEnd: 2683
    functionName: psa_mac_verify_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_mac_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_verify_setup(psa_mac_operation_t *operation,
      mbedtls_svc_key_id_t key, psa_algorithm_t alg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_HKDF_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5614,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5619,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5640,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5627,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5615,1
    - Dst: psa_key_derivation_start_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5660,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5669,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5676,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5682,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5687,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 4
    argNames:
    - hkdf
    - kdf_alg
    - output
    - output_length
    argTypes:
    - psa_hkdf_key_derivation_t*
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5697
      start: 5609
    functionDepth: 0
    functionLinenumber: 5609
    functionLinenumberEnd: 5697
    functionName: psa_key_derivation_hkdf_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - psa_mac_sign_finish
    - PSA_ALG_HKDF_GET_HASH
    - psa_mac_update
    - memcpy
    - psa_key_derivation_start_hmac
    - PSA_ALG_IS_HKDF_EXTRACT
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_hkdf_read(psa_hkdf_key_derivation_t
      *hkdf, psa_algorithm_t kdf_alg, uint8_t *output, size_t output_length) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6363,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6374,1
    - Dst: PSA_ECC_FAMILY_IS_WEIERSTRASS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6375,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6373,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6367,1
    - Dst: psa_generate_derived_ecc_key_weierstrass_helper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6377,1
    - Dst: psa_generate_derived_ecc_key_montgomery_helper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6383,1
    - Dst: key_type_is_raw_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6391,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6395,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6400,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6437,1
    - Dst: psa_des_set_key_parity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6406,1
    - Dst: psa_driver_wrapper_get_key_buffer_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6416,1
    - Dst: psa_key_lifetime_is_external
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6415,1
    - Dst: psa_allocate_buffer_to_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6422,1
    - Dst: psa_driver_wrapper_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6427,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 3
    argNames:
    - slot
    - bits
    - operation
    argTypes:
    - psa_key_slot_t*
    - size_t
    - psa_key_derivation_operation_t*
    constantsTouched: []
    func_position:
      end: 6439
      start: 6357
    functionDepth: 0
    functionLinenumber: 6357
    functionLinenumberEnd: 6439
    functionName: psa_generate_derived_key_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - psa_allocate_buffer_to_slot
    - psa_driver_wrapper_get_key_buffer_size
    - psa_des_set_key_parity
    - PSA_BITS_TO_BYTES
    - PSA_ECC_FAMILY_IS_WEIERSTRASS
    - psa_generate_derived_ecc_key_montgomery_helper
    - mbedtls_free
    - PSA_KEY_TYPE_IS_ECC
    - psa_key_lifetime_is_external
    - key_type_is_raw_bytes
    - psa_key_derivation_output_bytes
    - psa_driver_wrapper_import_key
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - psa_generate_derived_ecc_key_weierstrass_helper
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_generate_derived_key_internal( psa_key_slot_t
      *slot, size_t bits, psa_key_derivation_operation_t *operation) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6547,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6552,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6562,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6557,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6567,1
    - Dst: PSA_ALG_IS_PBKDF2_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6577,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - kdf_alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 6587
      start: 6544
    functionDepth: 0
    functionLinenumber: 6544
    functionLinenumberEnd: 6587
    functionName: is_kdf_alg_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - PSA_ALG_IS_HKDF
    - PSA_ALG_IS_PBKDF2_HMAC
    - PSA_ALG_IS_HKDF_EXPAND
    - PSA_ALG_IS_HKDF_EXTRACT
    linkageType: ''
    returnType: int
    signature: 'static int is_kdf_alg_supported(psa_algorithm_t kdf_alg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pbkdf2
    - step
    - data
    argTypes:
    - psa_pbkdf2_key_derivation_t*
    - psa_key_derivation_step_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 7158
      start: 7133
    functionDepth: 0
    functionLinenumber: 7133
    functionLinenumberEnd: 7158
    functionName: psa_pbkdf2_set_input_cost
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pbkdf2_set_input_cost( psa_pbkdf2_key_derivation_t
      *pbkdf2, psa_key_derivation_step_t step, uint64_t data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_BASE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7591,1
    - Dst: psa_key_agreement_raw_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7595,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7613,1
    - Dst: psa_key_derivation_input_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - operation
    - step
    - private_key
    - peer_key
    - peer_key_length
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - psa_key_slot_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7615
      start: 7582
    functionDepth: 0
    functionLinenumber: 7582
    functionLinenumberEnd: 7615
    functionName: psa_key_agreement_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - psa_key_agreement_raw_internal
    - PSA_ALG_KEY_AGREEMENT_GET_BASE
    - psa_key_derivation_input_internal
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_agreement_internal(psa_key_derivation_operation_t
      *operation, psa_key_derivation_step_t step, psa_key_slot_t *private_key, const
      uint8_t *peer_key, size_t peer_key_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2690,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2708,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2704,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2714,1
    - Dst: psa_driver_wrapper_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:2705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - operation
    - input_external
    - input_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2717
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2717
    functionName: psa_mac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - LOCAL_INPUT_DECLARE
    - psa_driver_wrapper_mac_update
    - psa_mac_abort
    - LOCAL_INPUT_ALLOC
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_mac_update(psa_mac_operation_t *operation, const
      uint8_t *input_external, size_t input_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6592,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 6595
      start: 6589
    functionDepth: 0
    functionLinenumber: 6589
    functionLinenumberEnd: 6595
    functionName: psa_hash_try_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_hash_setup
    - psa_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_hash_try_support(psa_algorithm_t alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7177,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7187,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7185,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pbkdf2
    - data
    - data_length
    argTypes:
    - psa_pbkdf2_key_derivation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7191
      start: 7160
    functionDepth: 0
    functionLinenumber: 7160
    functionLinenumberEnd: 7191
    functionName: psa_pbkdf2_set_salt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pbkdf2_set_salt(psa_pbkdf2_key_derivation_t
      *pbkdf2, const uint8_t *data, size_t data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7626,1
    - Dst: psa_key_agreement_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7638,1
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7628,1
    - Dst: psa_get_and_lock_transparent_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7631,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7637,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7646,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7655,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - operation
    - step
    - private_key
    - peer_key_external
    - peer_key_length
    argTypes:
    - psa_key_derivation_operation_t*
    - psa_key_derivation_step_t
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7659
      start: 7617
    functionDepth: 0
    functionLinenumber: 7617
    functionLinenumberEnd: 7659
    functionName: psa_key_derivation_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - psa_key_agreement_internal
    - psa_key_derivation_abort
    - psa_get_and_lock_transparent_key_slot_with_policy
    - LOCAL_INPUT_ALLOC
    - PSA_ALG_IS_KEY_AGREEMENT
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_key_agreement(psa_key_derivation_operation_t
      *operation, psa_key_derivation_step_t step, mbedtls_svc_key_id_t private_key,
      const uint8_t *peer_key_external, size_t peer_key_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_INPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7673,1
    - Dst: LOCAL_OUTPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7675,1
    - Dst: LOCAL_OUTPUT_DECLARE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7674,1
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7677,1
    - Dst: psa_get_and_lock_transparent_key_slot_with_policy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7681,1
    - Dst: PSA_RAW_KEY_AGREEMENT_OUTPUT_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7696,1
    - Dst: LOCAL_INPUT_ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7702,1
    - Dst: psa_key_agreement_raw_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7703,1
    - Dst: psa_generate_random_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7719,1
    - Dst: psa_unregister_read_under_mutex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7728,1
    - Dst: LOCAL_OUTPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7731,1
    - Dst: LOCAL_INPUT_FREE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7730,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 7
    argNames:
    - alg
    - private_key
    - peer_key_external
    - peer_key_length
    - output_external
    - output_size
    - output_length
    argTypes:
    - psa_algorithm_t
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 7733
      start: 7661
    functionDepth: 0
    functionLinenumber: 7661
    functionLinenumberEnd: 7733
    functionName: psa_raw_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - LOCAL_INPUT_FREE
    - psa_key_agreement_raw_internal
    - PSA_RAW_KEY_AGREEMENT_OUTPUT_SIZE
    - psa_unregister_read_under_mutex
    - LOCAL_INPUT_DECLARE
    - LOCAL_OUTPUT_FREE
    - psa_generate_random_internal
    - LOCAL_OUTPUT_ALLOC
    - psa_get_and_lock_transparent_key_slot_with_policy
    - LOCAL_OUTPUT_DECLARE
    - LOCAL_INPUT_ALLOC
    - PSA_ALG_IS_KEY_AGREEMENT
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_raw_key_agreement(psa_algorithm_t alg, mbedtls_svc_key_id_t
      private_key, const uint8_t *peer_key_external, size_t peer_key_length, uint8_t
      *output_external, size_t output_size, size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - attributes
    - slot_number
    argTypes:
    - psa_key_attributes_t*
    - psa_key_slot_number_t*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1449
    functionName: psa_get_key_slot_number
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_get_key_slot_number( const psa_key_attributes_t *attributes,
      psa_key_slot_number_t *slot_number) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5480,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5481,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5485,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5482,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5481,1
    - Dst: psa_driver_wrapper_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5487,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5490,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - operation
    - hash_alg
    - hmac_key
    - hmac_key_length
    argTypes:
    - psa_mac_operation_t*
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5494
      start: 5472
    functionDepth: 0
    functionLinenumber: 5472
    functionLinenumberEnd: 5494
    functionName: psa_key_derivation_start_hmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - PSA_HASH_LENGTH
    - psa_set_key_type
    - PSA_BYTES_TO_BITS
    - psa_set_key_bits
    - PSA_ALG_HMAC
    - psa_driver_wrapper_mac_sign_setup
    - psa_reset_key_attributes
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_start_hmac( psa_mac_operation_t
      *operation, psa_algorithm_t hash_alg, const uint8_t *hmac_key, size_t hmac_key_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_key_set_parity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6134,1
    - Dst: mbedtls_des_key_set_parity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6140,1
    - Dst: mbedtls_des_key_set_parity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6142
      start: 6131
    functionDepth: 0
    functionLinenumber: 6131
    functionLinenumberEnd: 6142
    functionName: psa_des_set_key_parity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_des_key_set_parity
    linkageType: ''
    returnType: void
    signature: 'static void psa_des_set_key_parity(uint8_t *data, size_t data_size) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_HKDF_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6778,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6801,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6811,1
    - Dst: psa_key_derivation_start_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6790,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6783,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6815,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6823,1
    - Dst: psa_key_derivation_start_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6827,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6838,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6843,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6855,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6864,1
    - Dst: PSA_ALG_IS_HKDF_EXPAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6875,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6888,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6892,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6857,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6857,1
    - Dst: PSA_ALG_IS_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6870,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 5
    argNames:
    - hkdf
    - kdf_alg
    - step
    - data
    - data_length
    argTypes:
    - psa_hkdf_key_derivation_t*
    - psa_algorithm_t
    - psa_key_derivation_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6899
      start: 6772
    functionDepth: 0
    functionLinenumber: 6772
    functionLinenumberEnd: 6899
    functionName: psa_hkdf_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - psa_mac_sign_finish
    - mbedtls_calloc
    - PSA_ALG_HKDF_GET_HASH
    - psa_mac_update
    - memcpy
    - psa_key_derivation_start_hmac
    - PSA_ALG_IS_HKDF_EXPAND
    - PSA_ALG_IS_HKDF_EXTRACT
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_hkdf_input(psa_hkdf_key_derivation_t *hkdf,
      psa_algorithm_t kdf_alg, psa_key_derivation_step_t step, const uint8_t *data,
      size_t data_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5918,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5928,1
    - Dst: psa_driver_wrapper_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5920,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5936,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5932,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5947,1
    - Dst: psa_driver_wrapper_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5953,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5963,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5968,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - pbkdf2
    - prf_alg
    - prf_output_length
    - attributes
    argTypes:
    - psa_pbkdf2_key_derivation_t*
    - psa_algorithm_t
    - uint8_t
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 5970
      start: 5902
    functionDepth: 0
    functionLinenumber: 5902
    functionLinenumberEnd: 5970
    functionName: psa_key_derivation_pbkdf2_generate_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_mac_sign_finish
    - MBEDTLS_PUT_UINT32_BE
    - psa_driver_wrapper_mac_compute
    - psa_mac_update
    - memcpy
    - mbedtls_xor
    - mbedtls_platform_zeroize
    - psa_driver_wrapper_mac_sign_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_pbkdf2_generate_block( psa_pbkdf2_key_derivation_t
      *pbkdf2, psa_algorithm_t prf_alg, uint8_t prf_output_length, psa_key_attributes_t
      *attributes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_derivation_output_key_custom
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - attributes
    - operation
    - key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_derivation_operation_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 6536
      start: 6527
    functionDepth: 0
    functionLinenumber: 6527
    functionLinenumberEnd: 6536
    functionName: psa_key_derivation_output_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_key_derivation_output_key_custom
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_output_key( const psa_key_attributes_t
      *attributes, psa_key_derivation_operation_t *operation, mbedtls_svc_key_id_t
      *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_PBKDF2_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7255,1
    - Dst: psa_pbkdf2_cmac_set_password
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7264,1
    - Dst: psa_pbkdf2_hmac_set_password
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7257,1
    - Dst: PSA_ALG_PBKDF2_HMAC_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:7256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pbkdf2
    - kdf_alg
    - data
    - data_length
    argTypes:
    - psa_pbkdf2_key_derivation_t*
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7276
      start: 7244
    functionDepth: 0
    functionLinenumber: 7244
    functionLinenumberEnd: 7276
    functionName: psa_pbkdf2_set_password
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_pbkdf2_hmac_set_password
    - PSA_ALG_IS_PBKDF2_HMAC
    - PSA_ALG_PBKDF2_HMAC_GET_HASH
    - psa_pbkdf2_cmac_set_password
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_pbkdf2_set_password(psa_pbkdf2_key_derivation_t
      *pbkdf2, psa_algorithm_t kdf_alg, const uint8_t *data, size_t data_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_initialized
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8327,1
    - Dst: mbedtls_psa_crypto_init_subsystem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8331,1
    - Dst: mbedtls_psa_crypto_init_subsystem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8346,1
    - Dst: mbedtls_psa_crypto_init_subsystem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8336,1
    - Dst: mbedtls_psa_crypto_init_subsystem
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8341,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8351,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 8355
      start: 8321
    functionDepth: 0
    functionLinenumber: 8321
    functionLinenumberEnd: 8355
    functionName: psa_crypto_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_get_initialized
    - mbedtls_psa_crypto_free
    - mbedtls_psa_crypto_init_subsystem
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_init(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5982,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5986,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5983,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5982,1
    - Dst: PSA_ALG_IS_PBKDF2_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5985,1
    - Dst: PSA_ALG_PBKDF2_HMAC_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5986,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5987,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5988,1
    - Dst: PSA_MAC_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5991,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5992,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6014,1
    - Dst: psa_key_derivation_pbkdf2_generate_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6027,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - pbkdf2
    - kdf_alg
    - output
    - output_length
    argTypes:
    - psa_pbkdf2_key_derivation_t*
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6036
      start: 5972
    functionDepth: 0
    functionLinenumber: 5972
    functionLinenumberEnd: 6036
    functionName: psa_key_derivation_pbkdf2_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - PSA_HASH_LENGTH
    - PSA_MAC_LENGTH
    - psa_set_key_type
    - PSA_BYTES_TO_BITS
    - memcpy
    - psa_set_key_bits
    - PSA_ALG_HMAC
    - psa_key_derivation_pbkdf2_generate_block
    - PSA_ALG_IS_PBKDF2_HMAC
    - PSA_ALG_PBKDF2_HMAC_GET_HASH
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_key_derivation_pbkdf2_read( psa_pbkdf2_key_derivation_t
      *pbkdf2, psa_algorithm_t kdf_alg, uint8_t *output, size_t output_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - custom
    - custom_data_length
    argTypes:
    - psa_custom_key_parameters_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6455
      start: 6444
    functionDepth: 0
    functionLinenumber: 6444
    functionLinenumberEnd: 6455
    functionName: psa_custom_key_parameters_are_default
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int psa_custom_key_parameters_are_default( const psa_custom_key_parameters_t
      *custom, size_t custom_data_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6960,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:6965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - prf
    - data
    - data_length
    argTypes:
    - psa_tls12_prf_key_derivation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 6972
      start: 6951
    functionDepth: 0
    functionLinenumber: 6951
    functionLinenumberEnd: 6972
    functionName: psa_tls12_prf_set_label
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_tls12_prf_set_label(psa_tls12_prf_key_derivation_t
      *prf, const uint8_t *data, size_t data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_KEY_AGREEMENT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5505,1
    - Dst: PSA_ALG_KEY_AGREEMENT_GET_KDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_key_derivation_operation_t*
    constantsTouched: []
    func_position:
      end: 5510
      start: 5502
    functionDepth: 0
    functionLinenumber: 5502
    functionLinenumberEnd: 5510
    functionName: psa_key_derivation_get_kdf_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_KEY_AGREEMENT_GET_KDF
    - PSA_ALG_IS_KEY_AGREEMENT
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static psa_algorithm_t psa_key_derivation_get_kdf_alg( const psa_key_derivation_operation_t
      *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_generate_key_custom
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8066,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - attributes
    - params
    - params_data_length
    - key
    argTypes:
    - psa_key_attributes_t*
    - psa_key_production_parameters_t*
    - size_t
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 8071
      start: 8061
    functionDepth: 0
    functionLinenumber: 8061
    functionLinenumberEnd: 8071
    functionName: psa_generate_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_generate_key_custom
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_generate_key_ext(const psa_key_attributes_t *attributes,
      const psa_key_production_parameters_t *params, size_t params_data_length, mbedtls_svc_key_id_t
      *key) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_derivation_get_kdf_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5515,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5524,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5523,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5529,1
    - Dst: PSA_ALG_IS_ANY_HKDF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5522,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5531,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5533,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5538,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5543,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5548,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5561,1
    - Dst: PSA_ALG_IS_PBKDF2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5566,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5568,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:5578,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_key_derivation_operation_t*
    constantsTouched: []
    func_position:
      end: 5580
      start: 5512
    functionDepth: 0
    functionLinenumber: 5512
    functionLinenumberEnd: 5580
    functionName: psa_key_derivation_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - psa_key_derivation_get_kdf_alg
    - mbedtls_free
    - mbedtls_platform_zeroize
    - psa_mac_abort
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - PSA_ALG_IS_ANY_HKDF
    - mbedtls_zeroize_and_free
    - PSA_ALG_IS_PBKDF2
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_key_derivation_abort(psa_key_derivation_operation_t
      *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_generate_key_custom
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c:8076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - attributes
    - key
    argTypes:
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 8080
      start: 8073
    functionDepth: 0
    functionLinenumber: 8073
    functionLinenumberEnd: 8080
    functionName: psa_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto.c
    functionUses: []
    functionsReached:
    - psa_generate_key_custom
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_generate_key(const psa_key_attributes_t *attributes,
      mbedtls_svc_key_id_t *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h:81,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - p_rng
    argTypes:
    - mbedtls_psa_drbg_context_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: mbedtls_psa_drbg_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_hmac_drbg_init
    - mbedtls_ctr_drbg_init
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_psa_drbg_init(mbedtls_psa_drbg_context_t
      *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h:116,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h:118,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - drbg_ctx
    - entropy
    - custom
    - len
    argTypes:
    - mbedtls_psa_drbg_context_t*
    - mbedtls_entropy_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: mbedtls_psa_drbg_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_hmac_drbg_seed
    - mbedtls_ctr_drbg_seed
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_psa_drbg_seed(mbedtls_psa_drbg_context_t
      *drbg_ctx, mbedtls_entropy_context *entropy, const unsigned char *custom, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h:94,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - p_rng
    argTypes:
    - mbedtls_psa_drbg_context_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: mbedtls_psa_drbg_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_random_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ctr_drbg_free
    - mbedtls_hmac_drbg_free
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_psa_drbg_free(mbedtls_psa_drbg_context_t
      *p_rng) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ssl_write_renegotiation_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:533,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:534,1
    - Dst: ssl_write_ecjpake_kkpp_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:554,1
    - Dst: ssl_write_supported_point_formats_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:544,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:546,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:555,1
    - Dst: ssl_write_cid_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:562,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:563,1
    - Dst: ssl_write_max_fragment_length_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:570,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:572,1
    - Dst: ssl_write_encrypt_then_mac_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:579,1
    - Dst: ssl_write_extended_ms_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:587,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:596,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:580,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:604,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:588,1
    - Dst: ssl_write_session_ticket_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:603,1
    - Dst: ssl_write_use_srtp_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:595,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - uses_ec
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 613
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 613
    functionName: mbedtls_ssl_tls12_write_client_hello_exts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - ssl_write_max_fragment_length_ext
    - ssl_write_supported_point_formats_ext
    - ssl_write_ecjpake_kkpp_ext
    - ssl_write_session_ticket_ext
    - ssl_write_renegotiation_ext
    - ssl_write_cid_ext
    - ssl_write_use_srtp_ext
    - ssl_write_extended_ms_ext
    - ssl_write_encrypt_then_mac_ext
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls12_write_client_hello_exts(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, int uses_ec, size_t *out_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2505,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2511,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2523,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2580,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2602,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2621,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2626,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2638,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2639,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2644,1
    - Dst: mbedtls_ssl_ciphersuite_cert_req_allowed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2499,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2559,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2561,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2601,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2586,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2610,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2621,1
    - Dst: mbedtls_x509_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2643,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2651,1
    - Dst: mbedtls_asn1_free_named_data_list_shallow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2654,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2497,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2506,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2560,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2565,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2586,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2578,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2600,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2612,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2624,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2632,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2653,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2500,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2512,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2579,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2625,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2641,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2645,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2659,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 110
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2662
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2662
    functionName: ssl_parse_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_get_name
    - memset
    - mbedtls_x509_dn_gets
    - mbedtls_ssl_hs_hdr_len
    - mbedtls_ssl_ciphersuite_cert_req_allowed
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_asn1_get_tag
    - mbedtls_asn1_free_named_data_list_shallow
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_certificate_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_tls_id_from_ecp_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1798,1
    - Dst: mbedtls_ssl_check_curve
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1807,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1804,1
    - Dst: mbedtls_ssl_get_curve_name_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1805,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1800,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1815
    functionName: ssl_check_server_ecdh_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_ECDH
    - mbedtls_ssl_check_curve
    - mbedtls_ssl_get_tls_id_from_ecp_group_id
    - mbedtls_ssl_get_curve_name_from_tls_id
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_server_ecdh_params(const
      mbedtls_ssl_context *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2670,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2673,1
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2672,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2678,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2682,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2684,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2685,1
    - Dst: mbedtls_ssl_recv_flight_completed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2694,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2698,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2701
    functionName: ssl_parse_server_hello_done
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_recv_flight_completed
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_hello_done(mbedtls_ssl_context
      *ssl) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_write_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3509,1
    - Dst: mbedtls_ssl_parse_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3524,1
    - Dst: ssl_parse_certificate_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3532,1
    - Dst: ssl_parse_server_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3528,1
    - Dst: ssl_parse_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3520,1
    - Dst: ssl_parse_server_hello_done
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3536,1
    - Dst: mbedtls_ssl_write_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3547,1
    - Dst: ssl_write_client_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3551,1
    - Dst: ssl_write_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3555,1
    - Dst: mbedtls_ssl_write_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3559,1
    - Dst: mbedtls_ssl_handshake_wrapup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3591,1
    - Dst: mbedtls_ssl_parse_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3582,1
    - Dst: ssl_parse_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3573,1
    - Dst: mbedtls_ssl_write_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3563,1
    - Dst: mbedtls_ssl_parse_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3578,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3595,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3586,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3600
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3600
    functionName: mbedtls_ssl_handshake_client_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_parse_finished
    - mbedtls_ssl_write_finished
    - ssl_parse_server_hello
    - mbedtls_ssl_parse_change_cipher_spec
    - mbedtls_ssl_handshake_wrapup
    - mbedtls_ssl_write_change_cipher_spec
    - ssl_parse_new_session_ticket
    - ssl_parse_server_key_exchange
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_write_client_hello
    - ssl_write_certificate_verify
    - ssl_parse_server_hello_done
    - ssl_write_client_key_exchange
    - mbedtls_ssl_parse_certificate
    - mbedtls_ssl_write_certificate
    - ssl_parse_certificate_request
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_handshake_client_step(mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:625,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:630,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:629,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:627,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:640,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 653
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 653
    functionName: ssl_parse_renegotiation_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ct_memcmp
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_renegotiation_info(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3386,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3413,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3431,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3452,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3457,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3459,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3464,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3475,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3384,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3392,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3412,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3420,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3422,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3425,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3458,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3424,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3478,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3446,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3426,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3393,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3387,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3411,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3418,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3481
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3481
    functionName: ssl_parse_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_calloc
    - memcpy
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_zeroize_and_free
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_new_session_ticket(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_get_session_tickets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:790,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:795,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 807
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 807
    functionName: ssl_parse_session_ticket_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_conf_get_session_tickets
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_session_ticket_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_dhm_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1684,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1686,1
    - Dst: mbedtls_dhm_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1690,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1692,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1698,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1699,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ssl
    - p
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1703
    functionName: ssl_parse_server_dh_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_dhm_read_params
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_MPI
    - mbedtls_dhm_get_bitlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_dh_params(mbedtls_ssl_context
      *ssl, unsigned char **p, unsigned char *end) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1743,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1772,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1748,1
    - Dst: mbedtls_ssl_check_curve_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1747,1
    - Dst: mbedtls_ssl_get_psa_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1755,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - ssl
    - p
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1777
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1777
    functionName: ssl_parse_server_ecdh_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_ssl_check_curve_tls_id
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_psa_curve_info_from_tls_id
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_ecdh_params(mbedtls_ssl_context
      *ssl, unsigned char **p, unsigned char *end) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1921,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1932,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1947,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1936,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1956,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1957,1
    - Dst: mbedtls_pk_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1961,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1966,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1971,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1977,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - ssl
    - offset
    - olen
    - pms_offset
    argTypes:
    - mbedtls_ssl_context*
    - size_t
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1980
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1980
    functionName: ssl_write_encrypted_pms
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_pk_can_do
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_pk_free
    - mbedtls_ssl_write_version
    - mbedtls_pk_encrypt
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_encrypted_pms(mbedtls_ssl_context
      *ssl, size_t offset, size_t *olen, size_t pms_offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:66,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:78,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:74,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:79,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:69,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 86
    functionName: ssl_write_renegotiation_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_BYTE_0
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_renegotiation_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:305,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:308,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 319
    functionName: ssl_write_encrypt_then_mac_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_encrypt_then_mac_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:668,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 678
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 678
    functionName: ssl_parse_max_fragment_length_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_max_fragment_length_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:337,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:342,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 351
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 351
    functionName: ssl_write_extended_ms_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_extended_ms_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:693,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:694,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:710,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:701,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:700,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:711,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:717,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:718,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:725,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:727,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:728,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 731
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 731
    functionName: ssl_parse_cid_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - mbedtls_ssl_send_alert_message
    - MBEDTLS_SSL_DEBUG_BUF
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_cid_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:822,1
    - Dst: mbedtls_ecjpake_set_point_format
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:839,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:842,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:823,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:850,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:851,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 854
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 854
    functionName: ssl_parse_supported_point_formats_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ecjpake_set_point_format
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_supported_point_formats_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:104,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:106,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: ssl_write_supported_point_formats_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_supported_point_formats_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_get_session_tickets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:366,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:371,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:380,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:377,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:375,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:389,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 397
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 397
    functionName: ssl_write_session_ticket_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_conf_get_session_tickets
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_session_ticket_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:742,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 756
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 756
    functionName: ssl_parse_encrypt_then_mac_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_encrypt_then_mac_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:869,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:874,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:883,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:882,1
    - Dst: mbedtls_psa_ecjpake_read_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:879,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:885,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:886,1
    - Dst: mbedtls_ecjpake_read_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:895,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:897,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 907
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 907
    functionName: ssl_parse_ecjpake_kkpp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ecjpake_read_round_one
    - psa_destroy_key
    - mbedtls_free
    - psa_pake_abort
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_psa_ecjpake_read_round
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_ecjpake_kkpp(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:767,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 781
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 781
    functionName: ssl_parse_extended_ms_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_extended_ms_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1196,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1224,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1236,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1247,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1276,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1249,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1289,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1303,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1309,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1323,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1194,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1283,1
    - Dst: mbedtls_ssl_read_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1269,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1302,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1330,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1338,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1350,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1362,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1373,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1377,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1381,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1211,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1216,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1198,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1235,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1240,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1295,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1314,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1320,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1352,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1354,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1361,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1225,1
    - Dst: ssl_parse_hello_verify_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1237,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1266,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1268,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1250,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1299,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1308,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1312,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1313,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1324,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1340,1
    - Dst: mbedtls_ssl_optimize_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1359,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 138
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1382
    functionName: ssl_parse_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_read_version
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_parse_hello_verify_request
    - memcmp
    - mbedtls_free
    - memcpy
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_GET_UINT16_BE
    - mbedtls_ssl_optimize_checksum
    - mbedtls_time
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - renegotiation_info_seen
    - == 0
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 1637
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1637
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS
      && ssl->secure_renegotiation == MBEDTLS_SSL_SECURE_RENEGOTIATION && renegotiation_info_seen
      == 0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 1643
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1643
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS
      && ssl->secure_renegotiation == MBEDTLS_SSL_LEGACY_RENEGOTIATION && ssl->conf->allow_legacy_renegotiation
      == MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2746,1
    - Dst: mbedtls_ecdh_enable_restart
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2841,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2873,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2972,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3042,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2929,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2953,1
    - Dst: psa_raw_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2998,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3101,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3085,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2720,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2800,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2766,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2783,1
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2951,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3043,1
    - Dst: mbedtls_ssl_psk_derive_premaster
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3134,1
    - Dst: mbedtls_psa_ecjpake_write_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3161,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2726,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2730,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2804,1
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2907,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2782,1
    - Dst: mbedtls_ssl_ciphersuite_uses_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3022,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3124,1
    - Dst: psa_raw_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2815,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2932,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3098,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3095,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3081,1
    - Dst: mbedtls_ecjpake_write_round_two
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3171,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3177,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3203,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2734,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2786,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3016,1
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3026,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2938,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3129,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2961,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2713,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2737,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2955,1
    - Dst: mbedtls_dhm_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2725,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2735,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2850,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3137,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3072,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2859,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2887,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3006,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3166,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3204,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3045,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2823,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3012,1
    - Dst: mbedtls_ecdh_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3114,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3120,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2722,1
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2779,1
    - Dst: mbedtls_ecdh_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2845,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3104,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3167,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2781,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2978,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2976,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2742,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2921,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2952,1
    - Dst: ssl_write_encrypted_pms
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3147,1
    - Dst: ssl_write_encrypted_pms
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3057,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3077,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2958,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3165,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3078,1
    - Dst: mbedtls_dhm_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3068,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3010,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3037,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2780,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2878,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3193,1
    - Dst: mbedtls_dhm_make_public
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3080,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2928,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2954,1
    - Dst: mbedtls_ecjpake_derive_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3181,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3185,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3208,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 283
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3211
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 3211
    functionName: ssl_write_client_key_exchange
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_ecjpake_write_round
    - psa_destroy_key
    - psa_pake_abort
    - mbedtls_dhm_calc_secret
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_ecjpake_write_round_two
    - psa_set_key_usage_flags
    - mbedtls_dhm_get_len
    - mbedtls_ssl_conf_has_static_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_MPI
    - psa_export_public_key
    - mbedtls_dhm_make_public
    - psa_raw_key_agreement
    - mbedtls_ecjpake_derive_secret
    - ssl_write_encrypted_pms
    - mbedtls_ecdh_calc_secret
    - mbedtls_ecdh_make_public
    - mbedtls_ssl_write_handshake_msg
    - mbedtls_ssl_psk_derive_premaster
    - MBEDTLS_SSL_DEBUG_ECDH
    - mbedtls_ssl_ciphersuite_uses_psk
    - psa_set_key_algorithm
    - memcpy
    - psa_set_key_bits
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_PUT_UINT16_BE
    - psa_key_attributes_init
    - mbedtls_ecdh_enable_restart
    - psa_set_key_type
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - psa_generate_key
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_client_key_exchange(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1112,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1125,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1126,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1135,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1168,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1157,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1153,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1174,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1111,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1147,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1105,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1145,1
    - Dst: mbedtls_ssl_reset_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1166,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1096,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1114,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1137,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1151,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1155,1
    - Dst: mbedtls_ssl_recv_flight_completed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1172,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1177
    functionName: ssl_parse_hello_verify_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_free
    - mbedtls_ssl_reset_checksum
    - memcpy
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_recv_flight_completed
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_hello_verify_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:437,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:460,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:445,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:443,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:448,1
    - Dst: mbedtls_ssl_check_srtp_profile_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:465,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:468,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:470,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:477,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:489,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 509
    functionName: ssl_write_use_srtp_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_BYTE_0
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_ssl_check_srtp_profile_value
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_use_srtp_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1997,1
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2017,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2011,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2005,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2006,1
    - Dst: mbedtls_ssl_check_curve
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2019,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2020,1
    - Dst: mbedtls_ssl_get_tls_id_from_ecp_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2024,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2026,1
    - Dst: mbedtls_ssl_get_psa_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2033,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2040,1
    - Dst: ssl_check_server_ecdh_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2063,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2045,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2064,1
    - Dst: mbedtls_ecdh_get_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2057,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2072,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2059,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2051,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2076
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 2076
    functionName: ssl_get_ecdh_params_from_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdh_get_params
    - ssl_check_server_ecdh_params
    - mbedtls_pk_can_do
    - mbedtls_ssl_check_curve
    - mbedtls_ssl_get_tls_id_from_ecp_group_id
    - memcpy
    - mbedtls_ecp_point_write_binary
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_psa_curve_info_from_tls_id
    - mbedtls_pk_free
    - mbedtls_pk_ec_ro
    - mbedtls_pk_get_ec_group_id
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_ecdh_params_from_cert(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:234,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:241,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:238,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:244,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 253
    functionName: ssl_write_cid_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_cid_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:271,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:274,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 287
    functionName: ssl_write_max_fragment_length_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_max_fragment_length_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:28,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_check_srtp_profile_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1030,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1046,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1033,1
    - Dst: mbedtls_ssl_get_srtp_profile_as_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1047,1
    - Dst: mbedtls_ssl_get_srtp_profile_as_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1034,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1055,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1073,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1074,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1080,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1085
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1085
    functionName: ssl_parse_use_srtp_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_BUF
    - memcmp
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_srtp_profile_as_string
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_check_srtp_profile_value
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_use_srtp_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - renegotiation_info_seen
    - == 1
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS
      && ssl->secure_renegotiation == MBEDTLS_SSL_LEGACY_RENEGOTIATION && renegotiation_info_seen
      == 1) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecdh_read_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1841,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1853,1
    - Dst: ssl_check_server_ecdh_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1852,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - ssl
    - p
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1859
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1859
    functionName: ssl_parse_server_ecdh_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_check_server_ecdh_params
    - mbedtls_ecdh_read_params
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_ecdh_params(mbedtls_ssl_context
      *ssl, unsigned char **p, unsigned char *end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1880,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1888,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:1884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ssl
    - p
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1902
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1902
    functionName: ssl_parse_server_psk_hint
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_GET_UINT16_BE
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_psk_hint(mbedtls_ssl_context
      *ssl, unsigned char **p, unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2470,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2478,1
    - Dst: mbedtls_ssl_ciphersuite_cert_req_allowed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2472,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:2473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2480
      start: 2464
    functionDepth: 0
    functionLinenumber: 2464
    functionLinenumberEnd: 2480
    functionName: ssl_parse_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_cert_req_allowed
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_certificate_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:920,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:940,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:945,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:947,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:921,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:954,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:961,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:962,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:968,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:969,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 972
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 972
    functionName: ssl_parse_alpn_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - memcmp
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_alpn_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecjpake_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:144,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:152,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:149,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:154,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:164,1
    - Dst: mbedtls_psa_ecjpake_write_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:167,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:171,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:172,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:173,1
    - Dst: mbedtls_ecjpake_write_round_one
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:177,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:201,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:187,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:199,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:204,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:196,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:181,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:189,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 210
    functionName: ssl_write_ecjpake_kkpp_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_psa_ecjpake_write_round
    - mbedtls_calloc
    - psa_destroy_key
    - mbedtls_ecjpake_check
    - mbedtls_ecjpake_write_round_one
    - memcpy
    - psa_pake_abort
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_ecjpake_kkpp_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3221,1
    - Dst: mbedtls_ssl_ciphersuite_cert_req_allowed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3228,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3229,1
    - Dst: mbedtls_ssl_derive_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3223,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3224,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c:3234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3236
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3236
    functionName: ssl_write_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls12_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_cert_req_allowed
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_ssl_derive_keys
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - X
    - p
    - len
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 4506
      start: 4501
    functionDepth: 0
    functionLinenumber: 4501
    functionLinenumberEnd: 4506
    functionName: ecp_mpi_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void ecp_mpi_load(mbedtls_mpi *X, const mbedtls_mpi_uint
      *p, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4532,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4539,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4537,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4536,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4534,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4540,1
    - Dst: ecp_mpi_set1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4541,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4543,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 14
    argNames:
    - grp
    - p
    - plen
    - a
    - alen
    - b
    - blen
    - gx
    - gxlen
    - gy
    - gylen
    - n
    - nlen
    - T
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 4555
      start: 4523
    functionDepth: 0
    functionLinenumber: 4523
    functionLinenumberEnd: 4555
    functionName: ecp_group_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - ecp_mpi_set1
    - mbedtls_mpi_bitlen
    - ecp_mpi_load
    linkageType: ''
    returnType: int
    signature: 'static int ecp_group_load(mbedtls_ecp_group *grp, const mbedtls_mpi_uint
      *p, size_t plen, const mbedtls_mpi_uint *a, size_t alen, const mbedtls_mpi_uint
      *b, size_t blen, const mbedtls_mpi_uint *gx, size_t gxlen, const mbedtls_mpi_uint
      *gy, size_t gylen, const mbedtls_mpi_uint *n, size_t nlen, const mbedtls_ecp_point
      *T) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - src
    - carry
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 4882
      start: 4873
    functionDepth: 0
    functionLinenumber: 4873
    functionLinenumberEnd: 4882
    functionName: add64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void add64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint *src,
      mbedtls_mpi_uint *carry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5754,1
    - Dst: mbedtls_ecp_mod_p224k1_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5756,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5755,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5760
      start: 5751
    functionDepth: 0
    functionLinenumber: 5751
    functionLinenumberEnd: 5760
    functionName: ecp_mod_p224k1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mod_p224k1_raw
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p224k1(mbedtls_mpi *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTES_TO_T_UINT_8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5766,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5770,1
    - Dst: ecp_mod_koblitz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5775
      start: 5762
    functionDepth: 0
    functionLinenumber: 5762
    functionLinenumberEnd: 5775
    functionName: mbedtls_ecp_mod_p224k1_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTES_TO_T_UINT_8
    - ecp_mod_koblitz
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p224k1_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4730,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4732,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4730,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4737,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4733,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4737,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4738,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4738,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4739,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4741,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 4752
      start: 4725
    functionDepth: 0
    functionLinenumber: 4725
    functionLinenumberEnd: 4752
    functionName: ecp_use_curve448
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_free
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_lset
    - ecp_mpi_load
    - mbedtls_mpi_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_use_curve448(mbedtls_ecp_group *grp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 4518
      start: 4513
    functionDepth: 0
    functionLinenumber: 4513
    functionLinenumberEnd: 4518
    functionName: ecp_mpi_set1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void ecp_mpi_set1(mbedtls_mpi *X) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4775,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4762,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4781,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4787,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4793,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4800,1
    - Dst: ecp_use_curve448
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4839,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4827,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4806,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4760,1
    - Dst: NIST_MODP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4769,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4812,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4770,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4776,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4782,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4788,1
    - Dst: ecp_use_curve25519
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4833,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4817,1
    - Dst: LOAD_GROUP_A
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4822,1
    - Dst: LOAD_GROUP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4794,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - grp
    - id
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 4846
      start: 4758
    functionDepth: 0
    functionLinenumber: 4758
    functionLinenumberEnd: 4846
    functionName: mbedtls_ecp_group_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - LOAD_GROUP
    - ecp_use_curve25519
    - mbedtls_ecp_group_free
    - LOAD_GROUP_A
    - NIST_MODP
    - ecp_use_curve448
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_group_load(mbedtls_ecp_group *grp, mbedtls_ecp_group_id
      id) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5851,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5911,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5961,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5987,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5997,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5839,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5884,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5908,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5948,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5958,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5974,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5984,1
    - Dst: mbedtls_mpi_mod_modulus_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:6015,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5836,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5869,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5881,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5899,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5945,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5923,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5935,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5971,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5854,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5866,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5896,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5932,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5920,1
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:6000,1
    - Dst: mbedtls_mpi_mod_optred_modulus_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:6011,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 141
    argCount: 3
    argNames:
    - N
    - id
    - ctype
    argTypes:
    - mbedtls_mpi_mod_modulus*
    - mbedtls_ecp_group_id
    - mbedtls_ecp_modulus_type
    constantsTouched: []
    func_position:
      end: 6020
      start: 5814
    functionDepth: 0
    functionLinenumber: 5814
    functionLinenumberEnd: 6020
    functionName: mbedtls_ecp_modulus_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - CHARS_TO_LIMBS
    - mbedtls_mpi_mod_modulus_setup
    - mbedtls_mpi_mod_optred_modulus_setup
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_modulus_setup(mbedtls_mpi_mod_modulus
      *N, const mbedtls_ecp_group_id id, const mbedtls_ecp_modulus_type ctype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4908,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4909,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4909,1
    - Dst: mbedtls_ecp_mod_p192_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 4914
      start: 4905
    functionDepth: 0
    functionLinenumber: 4905
    functionLinenumberEnd: 4914
    functionName: ecp_mod_p192
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - mbedtls_ecp_mod_p192_raw
    - MBEDTLS_MPI_CHK
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p192(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cur
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 5022
      start: 5019
    functionDepth: 0
    functionLinenumber: 5019
    functionLinenumberEnd: 5022
    functionName: extract_carry
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'static inline int8_t extract_carry(int64_t cur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5201,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5202,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5202,1
    - Dst: mbedtls_ecp_mod_p384_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5206
      start: 5198
    functionDepth: 0
    functionLinenumber: 5198
    functionLinenumberEnd: 5206
    functionName: ecp_mod_p384
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - mbedtls_ecp_mod_p384_raw
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p384(mbedtls_mpi *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4922,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4930,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4929,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4930,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4929,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4930,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4931,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - Np
    - Nn
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 4954
      start: 4916
    functionDepth: 0
    functionLinenumber: 4916
    functionLinenumberEnd: 4954
    functionName: mbedtls_ecp_mod_p192_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - ADD
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p192_raw(mbedtls_mpi_uint
      *Np, size_t Nn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5211,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5217,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5220,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5223,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5227,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5229,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5230,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5232,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5233,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5235,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5235,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5247,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5235,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5235,1
    - Dst: INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5215,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5218,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5220,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5226,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5227,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5229,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5229,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5230,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5232,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5235,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5241,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5232,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5241,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5236,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5238,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5242,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5250,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5250,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5244,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5245,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5217,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5220,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5221,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5224,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5226,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5223,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5227,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5229,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5229,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5232,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5244,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5251,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5238,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5232,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5217,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5224,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5221,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5226,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5226,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5229,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5229,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5230,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5232,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5232,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5238,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5238,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5244,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5247,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5239,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5241,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5247,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5235,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5250,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 72
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5287
      start: 5208
    functionDepth: 0
    functionLinenumber: 5208
    functionLinenumberEnd: 5287
    functionName: mbedtls_ecp_mod_p384_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - INIT
    - ADD
    - SUB
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p384_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - carry
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 4892
      start: 4885
    functionDepth: 0
    functionLinenumber: 4885
    functionLinenumberEnd: 4892
    functionName: carry64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void carry64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint
      *carry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5068,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5069,1
    - Dst: mbedtls_ecp_mod_p224_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5070,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5073
      start: 5065
    functionDepth: 0
    functionLinenumber: 5065
    functionLinenumberEnd: 5073
    functionName: ecp_mod_p224
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - mbedtls_ecp_mod_p224_raw
    - MBEDTLS_MPI_CHK
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p224(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5121,1
    - Dst: mbedtls_ecp_mod_p256_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5123,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5122,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5126
      start: 5118
    functionDepth: 0
    functionLinenumber: 5118
    functionLinenumberEnd: 5126
    functionName: ecp_mod_p256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - mbedtls_ecp_mod_p256_raw
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p256(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5323,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5324,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5324,1
    - Dst: mbedtls_ecp_mod_p521_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5328
      start: 5320
    functionDepth: 0
    functionLinenumber: 5320
    functionLinenumberEnd: 5328
    functionName: ecp_mod_p521
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - mbedtls_ecp_mod_p521_raw
    - MBEDTLS_MPI_CHK
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p521(mbedtls_mpi *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5335,1
    - Dst: mbedtls_mpi_core_mla
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5360,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5362,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5388
      start: 5330
    functionDepth: 0
    functionLinenumber: 5330
    functionLinenumberEnd: 5388
    functionName: mbedtls_ecp_mod_p521_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_add
    - mbedtls_mpi_core_mla
    - memset
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p521_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5720,1
    - Dst: mbedtls_ecp_mod_p192k1_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5722,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5721,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5726
      start: 5717
    functionDepth: 0
    functionLinenumber: 5717
    functionLinenumberEnd: 5726
    functionName: ecp_mod_p192k1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mod_p192k1_raw
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p192k1(mbedtls_mpi *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5788,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5789,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5789,1
    - Dst: mbedtls_ecp_mod_p256k1_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5794
      start: 5785
    functionDepth: 0
    functionLinenumber: 5785
    functionLinenumberEnd: 5794
    functionName: ecp_mod_p256k1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mod_p256k1_raw
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p256k1(mbedtls_mpi *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5082,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5086,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5089,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5088,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5087,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5084,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5085,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5087,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5090,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5089,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5088,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5084,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5086,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5078,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5085,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5087,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5088,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5090,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5109
      start: 5075
    functionDepth: 0
    functionLinenumber: 5075
    functionLinenumberEnd: 5109
    functionName: mbedtls_ecp_mod_p224_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - INIT
    - ADD
    - SUB
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p224_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5137,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5138,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5141,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5143,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5146,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5146,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5147,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5149,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5152,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5155,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5153,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5155,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5159,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5159,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5131,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5138,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5140,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5141,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5144,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5146,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5149,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5150,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5152,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5153,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5159,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5159,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5155,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5158,1
    - Dst: INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5135,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5138,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5144,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5141,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5143,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5146,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5147,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5149,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5150,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5152,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5155,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5155,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5137,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5138,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5140,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5144,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5141,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5146,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5147,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5149,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5149,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5152,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5152,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5158,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5155,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5158,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5156,1
    - Dst: ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5158,1
    - Dst: SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5190
      start: 5128
    functionDepth: 0
    functionLinenumber: 5128
    functionLinenumberEnd: 5190
    functionName: mbedtls_ecp_mod_p256_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - INIT
    - ADD
    - SUB
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p256_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5420,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5438,1
    - Dst: mbedtls_mpi_core_mla
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5436,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5424,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5456,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - X
    - X_Limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5460
      start: 5416
    functionDepth: 0
    functionLinenumber: 5416
    functionLinenumberEnd: 5460
    functionName: mbedtls_ecp_mod_p255_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_mpi_core_mla
    - BITS_TO_LIMBS
    - mbedtls_mpi_core_add
    - mbedtls_free
    - memset
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p255_raw(mbedtls_mpi_uint
      *X, size_t X_Limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5478,1
    - Dst: mbedtls_ecp_mod_p448_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5485,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5483,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5489
      start: 5475
    functionDepth: 0
    functionLinenumber: 5475
    functionLinenumberEnd: 5489
    functionName: ecp_mod_p448
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - mbedtls_ecp_mod_p448_raw
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p448(mbedtls_mpi *N) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5644,1
    - Dst: mbedtls_mpi_core_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5673,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5669,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5652,1
    - Dst: mbedtls_mpi_core_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5689,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5690,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5701,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5702,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - X
    - X_limbs
    - R
    - bits
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5705
      start: 5629
    functionDepth: 0
    functionLinenumber: 5629
    functionLinenumberEnd: 5705
    functionName: ecp_mod_koblitz
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_mpi_core_add
    - mbedtls_free
    - mbedtls_mpi_core_mul
    - memcpy
    - mbedtls_mpi_core_shift_r
    linkageType: ''
    returnType: int
    signature: 'static inline int ecp_mod_koblitz(mbedtls_mpi_uint *X, size_t X_limbs,
      mbedtls_mpi_uint *R, size_t bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTES_TO_T_UINT_8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5732,1
    - Dst: ecp_mod_koblitz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5740,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5741
      start: 5728
    functionDepth: 0
    functionLinenumber: 5728
    functionLinenumberEnd: 5741
    functionName: mbedtls_ecp_mod_p192k1_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTES_TO_T_UINT_8
    - ecp_mod_koblitz
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p192k1_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTES_TO_T_UINT_8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5800,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5804,1
    - Dst: ecp_mod_koblitz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5809
      start: 5796
    functionDepth: 0
    functionLinenumber: 5796
    functionLinenumberEnd: 5809
    functionName: mbedtls_ecp_mod_p256k1_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTES_TO_T_UINT_8
    - ecp_mod_koblitz
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p256k1_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6029
      start: 6026
    functionDepth: 0
    functionLinenumber: 6026
    functionLinenumberEnd: 6029
    functionName: (void)
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_get_variant
    signature: 'mbedtls_ecp_get_variant (void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4668,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4672,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4670,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4668,1
    - Dst: ecp_mpi_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4674,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4678,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4678,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4679,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4679,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4680,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:4687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 4691
      start: 4663
    functionDepth: 0
    functionLinenumber: 4663
    functionLinenumberEnd: 4691
    functionName: ecp_use_curve25519
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_free
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_lset
    - ecp_mpi_load
    - mbedtls_mpi_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_use_curve25519(mbedtls_ecp_group *grp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5409,1
    - Dst: mbedtls_ecp_mod_p255_raw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5411,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5410,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 5414
      start: 5406
    functionDepth: 0
    functionLinenumber: 5406
    functionLinenumberEnd: 5414
    functionName: ecp_mod_p255
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mod_p255_raw
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - BITS_TO_LIMBS
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mod_p255(mbedtls_mpi *N) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5532,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5543,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5555,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5590,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5587,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5566,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5610,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5546,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5551,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5611,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5508,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5554,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5573,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5604,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5577,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5540,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5526,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5560,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5569,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5574,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c:5586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 2
    argNames:
    - X
    - X_limbs
    argTypes:
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 5614
      start: 5502
    functionDepth: 0
    functionLinenumber: 5502
    functionLinenumberEnd: 5614
    functionName: mbedtls_ecp_mod_p448_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp_curves_new.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - BITS_TO_LIMBS
    - mbedtls_mpi_core_add
    - memmove
    - mbedtls_free
    - memcpy
    - memset
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_mod_p448_raw(mbedtls_mpi_uint
      *X, size_t X_limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c:90,1
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - val
    - reset
    argTypes:
    - struct mbedtls_timing_hr_time*
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: mbedtls_timing_get_timer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long mbedtls_timing_get_timer(struct mbedtls_timing_hr_time
      *val, int reset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_timing_get_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - data
    - int_ms
    - fin_ms
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: mbedtls_timing_set_delay
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c
    functionUses: []
    functionsReached:
    - mbedtls_timing_get_timer
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_timing_set_delay(void *data, uint32_t int_ms, uint32_t
      fin_ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - mbedtls_timing_delay_context*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: mbedtls_timing_get_final_delay
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t mbedtls_timing_get_final_delay( const mbedtls_timing_delay_context
      *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_timing_get_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: mbedtls_timing_get_delay
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c
    functionUses: []
    functionsReached:
    - mbedtls_timing_get_timer
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_timing_get_delay(void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c:70,1
    - Dst: QueryPerformanceCounter
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c:75,1
    - Dst: QueryPerformanceFrequency
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - val
    - reset
    argTypes:
    - struct mbedtls_timing_hr_time*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: mbedtls_timing_get_timer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/timing.c
    functionUses: []
    functionsReached:
    - QueryPerformanceFrequency
    - QueryPerformanceCounter
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long mbedtls_timing_get_timer(struct mbedtls_timing_hr_time
      *val, int reset) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OVERFLOW_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:74,1
    - Dst: CHECK_OVERFLOW_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:63,1
    - Dst: CHECK_OVERFLOW_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:77,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:117,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:130,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:151,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:159,1
    - Dst: CHECK_OVERFLOW_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:62,1
    - Dst: CHECK_OVERFLOW_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:73,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:115,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:118,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:131,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:151,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:152,1
    - Dst: mbedtls_x509_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:157,1
    - Dst: CHECK_OVERFLOW_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:87,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:90,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:111,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:115,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:124,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:132,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:153,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:169,1
    - Dst: CHECK_OVERFLOW_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:72,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:112,1
    - Dst: mbedtls_x509_write_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:125,1
    - Dst: MBEDTLS_ASN1_CHK_CLEANUP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c:129,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 71
    argCount: 2
    argNames:
    - extensions
    - san_list
    argTypes:
    - mbedtls_asn1_named_data**
    - mbedtls_x509_san_list*
    constantsTouched: []
    func_position:
      end: 171
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 171
    functionName: mbedtls_x509_write_set_san_common
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_x509_set_extension
    - mbedtls_free
    - CHECK_OVERFLOW_ADD
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_tag
    - MBEDTLS_OID_SIZE
    - mbedtls_x509_write_names
    - mbedtls_asn1_write_raw_buffer
    - MBEDTLS_ASN1_CHK_CLEANUP_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_write_set_san_common(mbedtls_asn1_named_data **extensions,
      const mbedtls_x509_san_list *san_list) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: psa_generic_status_to_mbedtls
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int psa_generic_status_to_mbedtls(psa_status_t status) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 2
    argNames:
    - grpid
    - bits
    argTypes:
    - mbedtls_ecp_group_id
    - size_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 259
    functionName: mbedtls_ecc_group_to_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_ecc_family_t
    signature: 'psa_ecc_family_t mbedtls_ecc_group_to_psa(mbedtls_ecp_group_id grpid,
      size_t *bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:414,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:426,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:427,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:427,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - raw_buf
    - raw_len
    - der_buf_start
    - der_buf_end
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 430
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 430
    functionName: convert_raw_to_der_single_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_tag
    - mbedtls_asn1_write_len
    - memcpy
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int convert_raw_to_der_single_int(const unsigned char *raw_buf,
      size_t raw_len, unsigned char *der_buf_start, unsigned char *der_buf_end) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:514,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:546,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - der
    - der_len
    - raw
    - coordinate_size
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 550
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 550
    functionName: convert_der_to_raw_single_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int convert_der_to_raw_single_int(unsigned char *der, size_t
      der_len, unsigned char *raw, size_t coordinate_size) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 6
    argCount: 2
    argNames:
    - family
    - bits
    argTypes:
    - psa_ecc_family_t
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 338
    functionName: mbedtls_ecc_group_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_group_id
    signature: 'mbedtls_ecp_group_id mbedtls_ecc_group_from_psa(psa_ecc_family_t family,
      size_t bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fallback_f
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - status
    - local_translations
    - local_errors_num
    - (*fallback_f)
    argTypes:
    - psa_status_t
    - mbedtls_error_pair_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: psa_status_to_mbedtls
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached:
    - fallback_f
    linkageType: ''
    returnType: int
    signature: 'int psa_status_to_mbedtls(psa_status_t status, const mbedtls_error_pair_t
      *local_translations, size_t local_errors_num, int (*fallback_f)(psa_status_t)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - p_rng
    - output
    - output_size
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: mbedtls_psa_get_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached:
    - psa_generate_random
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_psa_get_random(void *p_rng, unsigned char *output, size_t
      output_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:435,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:452,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:451,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:436,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:437,1
    - Dst: convert_raw_to_der_single_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:456,1
    - Dst: convert_raw_to_der_single_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:463,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:471,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:471,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:472,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:477,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 6
    argNames:
    - bits
    - raw
    - raw_len
    - der
    - der_size
    - der_len
    argTypes:
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 481
    functionName: mbedtls_ecdsa_raw_to_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached:
    - PSA_BITS_TO_BYTES
    - memmove
    - mbedtls_asn1_write_len
    - memcpy
    - mbedtls_asn1_write_tag
    - convert_raw_to_der_single_int
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_raw_to_der(size_t bits, const unsigned char *raw,
      size_t raw_len, unsigned char *der, size_t der_size, size_t *der_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:558,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:571,1
    - Dst: convert_der_to_raw_single_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:588,1
    - Dst: convert_der_to_raw_single_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:580,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:577,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:601,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 6
    argNames:
    - bits
    - der
    - der_len
    - raw
    - raw_size
    - raw_len
    argTypes:
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 605
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 605
    functionName: mbedtls_ecdsa_der_to_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached:
    - PSA_BITS_TO_BYTES
    - memcpy
    - convert_der_to_raw_single_int
    - mbedtls_asn1_get_tag
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecdsa_der_to_raw(size_t bits, const unsigned char *der,
      size_t der_len, unsigned char *raw, size_t raw_size, size_t *raw_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: psa_pk_status_to_mbedtls
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_util.c
    functionUses: []
    functionsReached:
    - psa_generic_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'int psa_pk_status_to_mbedtls(psa_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SVC_KEY_ID_GET_OWNER_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:46,1
    - Dst: MBEDTLS_SVC_KEY_ID_GET_KEY_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: psa_its_identifier_of_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SVC_KEY_ID_GET_KEY_ID
    - MBEDTLS_SVC_KEY_ID_GET_OWNER_ID
    linkageType: ''
    returnType: psa_storage_uid_t
    signature: 'static psa_storage_uid_t psa_its_identifier_of_slot(mbedtls_svc_key_id_t
      key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_identifier_of_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:132,1
    - Dst: psa_its_remove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:160,1
    - Dst: psa_its_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:139,1
    - Dst: psa_is_key_present_in_storage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:135,1
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - key
    - data
    - data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: psa_crypto_storage_store
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_remove
    - psa_its_identifier_of_slot
    - psa_its_set
    - psa_is_key_present_in_storage
    - psa_its_get_info
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_crypto_storage_store(const mbedtls_svc_key_id_t
      key, const uint8_t *data, size_t data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_identifier_of_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:205,1
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - key
    - data_length
    argTypes:
    - mbedtls_svc_key_id_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: psa_crypto_storage_get_data_length
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_identifier_of_slot
    - psa_its_get_info
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_crypto_storage_get_data_length( const mbedtls_svc_key_id_t
      key, size_t *data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: check_magic_header
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t check_magic_header(const uint8_t *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:334,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:344,1
    - Dst: psa_crypto_storage_store
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:341,1
    - Dst: psa_format_key_data_for_storage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - attr
    - data
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 347
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 347
    functionName: psa_save_persistent_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_format_key_data_for_storage
    - mbedtls_calloc
    - psa_crypto_storage_store
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_save_persistent_key(const psa_key_attributes_t *attr,
      const uint8_t *data, const size_t data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_storage_get_data_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:363,1
    - Dst: psa_parse_key_data_from_storage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:379,1
    - Dst: psa_crypto_storage_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:374,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:368,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:389,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - attr
    - data
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 391
    functionName: psa_load_persistent_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_crypto_storage_load
    - mbedtls_calloc
    - psa_crypto_storage_get_data_length
    - psa_parse_key_data_from_storage
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_load_persistent_key(psa_key_attributes_t *attr, uint8_t
      **data, size_t *data_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:243,1
    - Dst: MBEDTLS_PUT_UINT16_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:247,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:246,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:245,1
    - Dst: MBEDTLS_PUT_UINT16_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:248,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:249,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:250,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:251,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:252,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - data
    - data_length
    - attr
    - storage_data
    argTypes:
    - uint8_t*
    - size_t
    - psa_key_attributes_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: psa_format_key_data_for_storage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_LE
    - memcpy
    - MBEDTLS_PUT_UINT32_LE
    linkageType: ''
    returnType: void
    signature: 'void psa_format_key_data_for_storage(const uint8_t *data, const size_t
      data_length, const psa_key_attributes_t *attr, uint8_t *storage_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_magic_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:280,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:303,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:290,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:299,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:285,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:306,1
    - Dst: MBEDTLS_GET_UINT16_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:307,1
    - Dst: MBEDTLS_GET_UINT16_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:308,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:309,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:310,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - storage_data
    - storage_data_length
    - key_data
    - key_data_length
    - attr
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 314
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 314
    functionName: psa_parse_key_data_from_storage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    - MBEDTLS_GET_UINT16_LE
    - MBEDTLS_GET_UINT32_LE
    - check_magic_header
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_parse_key_data_from_storage(const uint8_t *storage_data,
      size_t storage_data_length, uint8_t **key_data, size_t *key_data_length, psa_key_attributes_t
      *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key_data
    - key_data_length
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: psa_free_persistent_key_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'void psa_free_persistent_key_data(uint8_t *key_data, size_t key_data_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:407,1
    - Dst: psa_its_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 419
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 419
    functionName: psa_crypto_save_transaction
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_get_info
    - psa_its_set
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_save_transaction(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_get
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: psa_crypto_load_transaction
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_get
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_load_transaction(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_remove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:439,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: psa_crypto_stop_transaction
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_remove
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_crypto_stop_transaction(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_identifier_of_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:168,1
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:180,1
    - Dst: psa_its_remove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:176,1
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: psa_destroy_persistent_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_identifier_of_slot
    - psa_its_get_info
    - psa_its_remove
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_destroy_persistent_key(const mbedtls_svc_key_id_t
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_identifier_of_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:99,1
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: psa_is_key_present_in_storage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_identifier_of_slot
    - psa_its_get_info
    linkageType: ''
    returnType: int
    signature: 'int psa_is_key_present_in_storage(const mbedtls_svc_key_id_t key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_identifier_of_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:79,1
    - Dst: psa_its_get
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:88,1
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - key
    - data
    - data_size
    argTypes:
    - mbedtls_svc_key_id_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: psa_crypto_storage_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_identifier_of_slot
    - psa_its_get_info
    - psa_its_get
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_crypto_storage_load( const mbedtls_svc_key_id_t
      key, uint8_t *data, size_t data_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_get_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:462,1
    - Dst: psa_its_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - seed
    - seed_size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: mbedtls_psa_storage_inject_entropy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.c
    functionUses: []
    functionsReached:
    - psa_its_get_info
    - psa_its_set
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_storage_inject_entropy(const unsigned char
      *seed, size_t seed_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ciphersuite
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1874
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1874
    functionName: mbedtls_ssl_ciphersuite_from_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ssl_ciphersuite_t*
    signature: 'const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id(int
      ciphersuite) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ciphersuite_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1900
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1900
    functionName: mbedtls_ssl_get_ciphersuite_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_ciphersuite_from_string
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_ciphersuite_id(const char *ciphersuite_name) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 1947
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1947
    functionName: mbedtls_ssl_get_ciphersuite_sig_pk_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_pk_type_t
    signature: 'mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1958,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1962,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1959,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1962,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 1971
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1971
    functionName: mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached:
    - PSA_ALG_RSA_PKCS1V15_SIGN
    - PSA_ALG_ECDSA
    - mbedtls_md_psa_alg_from_type
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'psa_algorithm_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 2007
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2007
    functionName: mbedtls_ssl_get_ciphersuite_sig_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_pk_type_t
    signature: 'mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1827,1
    - Dst: ciphersuite_is_removed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1838
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1838
    functionName: mbedtls_ssl_list_ciphersuites
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached:
    - ciphersuite_is_removed
    - mbedtls_ssl_ciphersuite_from_id
    linkageType: ''
    returnType: int*
    signature: 'const int *mbedtls_ssl_list_ciphersuites(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cs_info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1811
    functionName: ciphersuite_is_removed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ciphersuite_is_removed(const
      mbedtls_ssl_ciphersuite_t *cs_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ciphersuite_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1887
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1887
    functionName: mbedtls_ssl_get_ciphersuite_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_ciphersuite_from_id
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_get_ciphersuite_name(const int ciphersuite_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_cipher_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1910,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1921,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1925
    functionName: mbedtls_ssl_ciphersuite_get_cipher_key_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_info_from_type
    - mbedtls_ssl_cipher_to_psa
    - mbedtls_cipher_info_get_key_bitlen
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_ssl_ciphersuite_get_cipher_key_bitlen(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 1991
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1991
    functionName: mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: 'psa_key_usage_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage(const
      mbedtls_ssl_ciphersuite_t *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c:1851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - ciphersuite_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1859
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1859
    functionName: mbedtls_ssl_ciphersuite_from_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: mbedtls_ssl_ciphersuite_t*
    signature: 'const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string(
      const char *ciphersuite_name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 2046
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2046
    functionName: mbedtls_ssl_ciphersuite_uses_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_ciphersuite_uses_psk(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: mbedtls_ssl_list_ciphersuites
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int*
    signature: 'const int *mbedtls_ssl_list_ciphersuites(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 2028
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2028
    functionName: mbedtls_ssl_ciphersuite_uses_ec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_ciphersuite_uses_ec(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: mbedtls_ssl_ciphersuite_cert_req_allowed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_cert_req_allowed(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: mbedtls_ssl_ciphersuite_uses_srv_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_uses_srv_cert(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: mbedtls_ssl_ciphersuite_no_pfs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_no_pfs(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: mbedtls_ssl_ciphersuite_uses_dhe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_uses_dhe(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: mbedtls_ssl_ciphersuite_uses_ecdh
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_uses_ecdh(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: mbedtls_ssl_ciphersuite_has_pfs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_has_pfs(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: mbedtls_ssl_ciphersuite_uses_server_signature
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_uses_server_signature( const
      mbedtls_ssl_ciphersuite_t *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: mbedtls_ssl_ciphersuite_uses_ecdhe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ciphersuites_internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_ciphersuite_uses_ecdhe(const mbedtls_ssl_ciphersuite_t
      *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:129,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:169,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:158,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:149,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:155,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 5
    argNames:
    - uid
    - data_offset
    - data_length
    - p_data
    - p_data_length
    argTypes:
    - psa_storage_uid_t
    - uint32_t
    - uint32_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 172
    functionName: psa_its_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c
    functionUses: []
    functionsReached:
    - fread
    - psa_its_read_file
    - fclose
    - fseek
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_its_get(psa_storage_uid_t uid, uint32_t data_offset,
      uint32_t data_length, void *p_data, size_t *p_data_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_fill_filename
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:82,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:95,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:91,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:83,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:89,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:100,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - uid
    - p_info
    - p_stream
    argTypes:
    - psa_storage_uid_t
    - struct psa_storage_info_t*
    - FILE**
    constantsTouched: []
    func_position:
      end: 104
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 104
    functionName: psa_its_read_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - memcmp
    - fread
    - psa_its_fill_filename
    - MBEDTLS_GET_UINT32_LE
    - fopen
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_its_read_file(psa_storage_uid_t uid, struct
      psa_storage_info_t *p_info, FILE **p_stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - uid
    - filename
    argTypes:
    - psa_storage_uid_t
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: psa_its_fill_filename
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void psa_its_fill_filename(psa_storage_uid_t uid, char *filename) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:189,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:194,1
    - Dst: psa_its_fill_filename
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:193,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:191,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:190,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:201,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:204,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:209,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:218,1
    - Dst: rename_replace_existing
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:224,1
    - Dst: remove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:233,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - uid
    - data_length
    - p_data
    - create_flags
    argTypes:
    - psa_storage_uid_t
    - uint32_t
    - void*
    - psa_storage_create_flags_t
    constantsTouched: []
    func_position:
      end: 235
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 235
    functionName: psa_its_set
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c
    functionUses: []
    functionsReached:
    - remove
    - mbedtls_setbuf
    - rename_replace_existing
    - memcpy
    - psa_its_fill_filename
    - MBEDTLS_PUT_UINT32_LE
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_its_set(psa_storage_uid_t uid, uint32_t data_length,
      const void *p_data, psa_storage_create_flags_t create_flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_read_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:111,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - uid
    - p_info
    argTypes:
    - psa_storage_uid_t
    - struct psa_storage_info_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: psa_its_get_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c
    functionUses: []
    functionsReached:
    - fclose
    - psa_its_read_file
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_its_get_info(psa_storage_uid_t uid, struct psa_storage_info_t
      *p_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_fill_filename
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:241,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:246,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:242,1
    - Dst: remove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - uid
    argTypes:
    - psa_storage_uid_t
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: psa_its_remove
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_its_file.c
    functionUses: []
    functionsReached:
    - fopen
    - remove
    - fclose
    - psa_its_fill_filename
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_its_remove(psa_storage_uid_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: mbedtls_mps_trace_inc_depth
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mps_trace_inc_depth() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: mbedtls_mps_trace_dec_depth
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mps_trace_dec_depth() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: mbedtls_mps_trace_get_depth
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mps_trace_get_depth() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:47,1
    - Dst: mbedtls_vsnprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:48,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:49,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - id
    - line
    - format
    - '...'
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: mbedtls_mps_trace_print_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c
    functionUses: []
    functionsReached:
    - mbedtls_vsnprintf
    - va_end
    - mbedtls_printf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mps_trace_print_msg(int id, int line, const char *format,
      ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: mbedtls_mps_trace_color
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mps_trace_color(int id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:82,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:90,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:98,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:94,1
    - Dst: printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:85,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - level
    - ty
    argTypes:
    - int
    - mbedtls_mps_trace_type
    constantsTouched: []
    func_position:
      end: 108
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 108
    functionName: mbedtls_mps_trace_indent
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_trace.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - printf
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mps_trace_indent(int level, mbedtls_mps_trace_type ty) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - mbedtls_pkcs7*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mbedtls_pkcs7_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pkcs7_init(mbedtls_pkcs7 *pkcs7) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:64,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - p
    - end
    - ver
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: pkcs7_get_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_version(unsigned char **p, unsigned char *end,
      int *ver) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:139,1
    - Dst: mbedtls_asn1_get_alg_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:147,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:142,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - p
    - end
    - alg
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 158
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 158
    functionName: pkcs7_get_digest_algorithm_set
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - mbedtls_asn1_get_alg_null
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_digest_algorithm_set(unsigned char **p, unsigned
      char *end, mbedtls_x509_buf *alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - p
    - end
    - signature
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pkcs7_buf*
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: pkcs7_get_signature
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_signature(unsigned char **p, unsigned char *end,
      mbedtls_pkcs7_buf *signature) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:284,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:297,1
    - Dst: pkcs7_get_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:292,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:307,1
    - Dst: mbedtls_x509_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:313,1
    - Dst: mbedtls_x509_get_serial
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:320,1
    - Dst: pkcs7_get_digest_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:331,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:339,1
    - Dst: pkcs7_get_digest_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:345,1
    - Dst: pkcs7_get_signature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:350,1
    - Dst: pkcs7_free_signer_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:362,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:363,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 69
    argCount: 4
    argNames:
    - p
    - end
    - signer
    - alg
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pkcs7_signer_info*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 368
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 368
    functionName: pkcs7_get_signer_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - pkcs7_get_digest_algorithm
    - mbedtls_x509_get_name
    - pkcs7_get_signature
    - memcmp
    - pkcs7_free_signer_info
    - mbedtls_x509_get_serial
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_tag
    - pkcs7_get_version
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_signer_info(unsigned char **p, unsigned char
      *end, mbedtls_pkcs7_signer_info *signer, mbedtls_x509_buf *alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:385,1
    - Dst: pkcs7_get_signer_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:413,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:407,1
    - Dst: pkcs7_get_signer_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:398,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:388,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:415,1
    - Dst: pkcs7_free_signer_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:426,1
    - Dst: pkcs7_free_signer_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:431,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:432,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 4
    argNames:
    - p
    - end
    - signers_set
    - digest_alg
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pkcs7_signer_info*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 436
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 436
    functionName: pkcs7_get_signers_info_set
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_free
    - pkcs7_get_signer_info
    - pkcs7_free_signer_info
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_signers_info_set(unsigned char **p, unsigned
      char *end, mbedtls_pkcs7_signer_info *signers_set, mbedtls_x509_buf *digest_alg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:565,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:582,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:574,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:577,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:570,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:587,1
    - Dst: MBEDTLS_OID_CMP_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:596,1
    - Dst: MBEDTLS_OID_CMP_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:598,1
    - Dst: MBEDTLS_OID_CMP_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:599,1
    - Dst: MBEDTLS_OID_CMP_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:600,1
    - Dst: MBEDTLS_OID_CMP_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:602,1
    - Dst: pkcs7_get_signed_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:626,1
    - Dst: MBEDTLS_OID_CMP_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:601,1
    - Dst: mbedtls_pkcs7_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:635,1
    - Dst: pkcs7_get_next_content_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:614,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 3
    argNames:
    - pkcs7
    - buf
    - buflen
    argTypes:
    - mbedtls_pkcs7*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 639
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 639
    functionName: mbedtls_pkcs7_parse_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - pkcs7_get_next_content_len
    - pkcs7_get_signed_data
    - memcpy
    - mbedtls_pkcs7_free
    - MBEDTLS_OID_CMP_RAW
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs7_parse_der(mbedtls_pkcs7 *pkcs7, const unsigned char
      *buf, const size_t buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pkcs7_data_or_hash_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pkcs7
    - cert
    - data
    - datalen
    argTypes:
    - mbedtls_pkcs7*
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 730
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 730
    functionName: mbedtls_pkcs7_signed_data_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_pkcs7_data_or_hash_verify
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs7_signed_data_verify(mbedtls_pkcs7 *pkcs7, const mbedtls_x509_crt
      *cert, const unsigned char *data, size_t datalen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:44,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:47,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - p
    - end
    - len
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: pkcs7_get_next_content_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_next_content_len(unsigned char **p, unsigned
      char *end, size_t *len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_time_is_past
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:658,1
    - Dst: mbedtls_oid_get_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:663,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:673,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:668,1
    - Dst: mbedtls_x509_time_is_future
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:659,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:673,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:680,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:683,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:686,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:689,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:716,1
    - Dst: mbedtls_pk_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:707,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:708,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 5
    argNames:
    - pkcs7
    - cert
    - data
    - datalen
    - is_data_hash
    argTypes:
    - mbedtls_pkcs7*
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 719
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 719
    functionName: mbedtls_pkcs7_data_or_hash_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_calloc
    - mbedtls_x509_time_is_past
    - mbedtls_md
    - mbedtls_oid_get_md_alg
    - mbedtls_free
    - mbedtls_x509_time_is_future
    - memcpy
    - mbedtls_pk_verify
    - mbedtls_md_get_size
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_pkcs7_data_or_hash_verify(mbedtls_pkcs7 *pkcs7,
      const mbedtls_x509_crt *cert, const unsigned char *data, size_t datalen, const
      int is_data_hash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pkcs7_data_or_hash_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pkcs7
    - cert
    - hash
    - hashlen
    argTypes:
    - mbedtls_pkcs7*
    - mbedtls_x509_crt*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 741
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 741
    functionName: mbedtls_pkcs7_signed_hash_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_pkcs7_data_or_hash_verify
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs7_signed_hash_verify(mbedtls_pkcs7 *pkcs7, const mbedtls_x509_crt
      *cert, const unsigned char *hash, size_t hashlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:755,1
    - Dst: pkcs7_free_signer_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:761,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:757,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:758,1
    - Dst: pkcs7_free_signer_info
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:765,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - mbedtls_pkcs7*
    constantsTouched: []
    func_position:
      end: 770
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 770
    functionName: mbedtls_pkcs7_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - pkcs7_free_signer_info
    - mbedtls_x509_crl_free
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pkcs7_free(mbedtls_pkcs7 *pkcs7) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:91,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:98,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:95,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - p
    - end
    - seq_end
    - pkcs7
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char**
    - mbedtls_pkcs7_buf*
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: pkcs7_get_content_info_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_content_info_type(unsigned char **p, unsigned
      char *end, unsigned char **seq_end, mbedtls_pkcs7_buf *pkcs7) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_alg_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:122,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - p
    - end
    - alg
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: pkcs7_get_digest_algorithm
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_alg_null
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_digest_algorithm(unsigned char **p, unsigned
      char *end, mbedtls_x509_buf *alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:177,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:188,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:206,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:191,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:183,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - p
    - end
    - certs
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 217
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 217
    functionName: pkcs7_get_certificates
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - mbedtls_x509_crt_parse_der
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_certificates(unsigned char **p, unsigned char
      *end, mbedtls_x509_crt *certs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - signer
    argTypes:
    - mbedtls_pkcs7_signer_info*
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: pkcs7_free_signer_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'static void pkcs7_free_signer_info(mbedtls_pkcs7_signer_info *signer) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:460,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:463,1
    - Dst: pkcs7_get_digest_algorithm_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:478,1
    - Dst: pkcs7_get_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:472,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:467,1
    - Dst: mbedtls_oid_get_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:484,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:490,1
    - Dst: pkcs7_get_content_info_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:491,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:495,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:501,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:506,1
    - Dst: pkcs7_get_signers_info_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:534,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:510,1
    - Dst: pkcs7_get_certificates
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:518,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c:517,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - buf
    - buflen
    - signed_data
    argTypes:
    - unsigned char*
    - size_t
    - mbedtls_pkcs7_signed_data*
    constantsTouched: []
    func_position:
      end: 550
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 550
    functionName: pkcs7_get_signed_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs7.c
    functionUses: []
    functionsReached:
    - pkcs7_get_content_info_type
    - pkcs7_get_signers_info_set
    - mbedtls_oid_get_md_alg
    - pkcs7_get_certificates
    - MBEDTLS_ERROR_ADD
    - MBEDTLS_OID_CMP
    - mbedtls_asn1_get_tag
    - pkcs7_get_version
    - pkcs7_get_digest_algorithm_set
    - mbedtls_x509_crt_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_get_signed_data(unsigned char *buf, size_t buflen,
      mbedtls_pkcs7_signed_data *signed_data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:31,1
    - Dst: mbedtls_sha1_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:41,1
    - Dst: mbedtls_sha256_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:46,1
    - Dst: mbedtls_ripemd160_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:36,1
    - Dst: mbedtls_sha256_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:51,1
    - Dst: mbedtls_sha512_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:56,1
    - Dst: mbedtls_sha512_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:61,1
    - Dst: mbedtls_sha3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:80,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 88
    functionName: mbedtls_psa_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_sha512_free
    - mbedtls_sha3_free
    - mbedtls_ripemd160_free
    - mbedtls_sha1_free
    - mbedtls_sha256_free
    - mbedtls_md5_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_hash_abort( mbedtls_psa_hash_operation_t
      *operation) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:270,1
    - Dst: mbedtls_ripemd160_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:276,1
    - Dst: mbedtls_sha256_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:294,1
    - Dst: mbedtls_sha1_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:282,1
    - Dst: mbedtls_sha256_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:288,1
    - Dst: mbedtls_sha512_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:300,1
    - Dst: mbedtls_sha512_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:306,1
    - Dst: mbedtls_sha3_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:326,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:336,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - mbedtls_psa_hash_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 337
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 337
    functionName: mbedtls_psa_hash_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_sha3_update
    - mbedtls_to_psa_error
    - mbedtls_sha1_update
    - mbedtls_sha512_update
    - mbedtls_md5_update
    - mbedtls_sha256_update
    - mbedtls_ripemd160_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_hash_update( mbedtls_psa_hash_operation_t
      *operation, const uint8_t *input, size_t input_length) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:129,1
    - Dst: mbedtls_sha512_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:134,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:165,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:178,1
    - Dst: mbedtls_sha1_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:116,1
    - Dst: mbedtls_ripemd160_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:111,1
    - Dst: mbedtls_sha256_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:123,1
    - Dst: mbedtls_sha256_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:128,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:147,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:159,1
    - Dst: mbedtls_sha3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:164,1
    - Dst: mbedtls_md5_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:104,1
    - Dst: mbedtls_ripemd160_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:110,1
    - Dst: mbedtls_sha1_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:117,1
    - Dst: mbedtls_sha256_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:122,1
    - Dst: mbedtls_sha3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:146,1
    - Dst: mbedtls_sha3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:158,1
    - Dst: mbedtls_sha512_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:141,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:153,1
    - Dst: mbedtls_psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:176,1
    - Dst: mbedtls_md5_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:105,1
    - Dst: mbedtls_sha512_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:135,1
    - Dst: mbedtls_sha3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:152,1
    - Dst: mbedtls_sha512_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:140,1
    - Dst: PSA_ALG_IS_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:169,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - operation
    - alg
    argTypes:
    - mbedtls_psa_hash_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 179
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 179
    functionName: mbedtls_psa_hash_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_ripemd160_starts
    - mbedtls_sha3_init
    - mbedtls_sha512_starts
    - mbedtls_sha3_starts
    - PSA_ALG_IS_HASH
    - mbedtls_to_psa_error
    - mbedtls_md5_init
    - mbedtls_sha1_init
    - mbedtls_sha1_starts
    - mbedtls_ripemd160_init
    - mbedtls_sha256_starts
    - mbedtls_sha512_init
    - mbedtls_psa_hash_abort
    - mbedtls_md5_starts
    - mbedtls_sha256_init
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_hash_setup( mbedtls_psa_hash_operation_t
      *operation, psa_algorithm_t alg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:190,1
    - Dst: mbedtls_ripemd160_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:196,1
    - Dst: mbedtls_sha256_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:208,1
    - Dst: mbedtls_sha1_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:202,1
    - Dst: mbedtls_sha256_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:214,1
    - Dst: mbedtls_sha512_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:220,1
    - Dst: mbedtls_sha512_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:226,1
    - Dst: mbedtls_sha3_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:246,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 14
    argCount: 2
    argNames:
    - source_operation
    - target_operation
    argTypes:
    - mbedtls_psa_hash_operation_t*
    - mbedtls_psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 258
    functionName: mbedtls_psa_hash_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_sha1_clone
    - mbedtls_sha3_clone
    - mbedtls_md5_clone
    - mbedtls_sha256_clone
    - mbedtls_ripemd160_clone
    - mbedtls_sha512_clone
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_hash_clone( const mbedtls_psa_hash_operation_t
      *source_operation, mbedtls_psa_hash_operation_t *target_operation) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:347,1
    - Dst: mbedtls_ripemd160_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:372,1
    - Dst: mbedtls_md5_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:367,1
    - Dst: mbedtls_sha1_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:377,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:356,1
    - Dst: mbedtls_sha256_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:382,1
    - Dst: mbedtls_sha256_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:387,1
    - Dst: mbedtls_sha512_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:392,1
    - Dst: mbedtls_sha512_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:397,1
    - Dst: mbedtls_sha3_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:416,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:423,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 4
    argNames:
    - operation
    - hash
    - hash_size
    - hash_length
    argTypes:
    - mbedtls_psa_hash_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 430
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 430
    functionName: mbedtls_psa_hash_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - mbedtls_to_psa_error
    - mbedtls_sha256_finish
    - mbedtls_ripemd160_finish
    - mbedtls_sha3_finish
    - mbedtls_sha512_finish
    - mbedtls_md5_finish
    - mbedtls_sha1_finish
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_hash_finish( mbedtls_psa_hash_operation_t
      *operation, uint8_t *hash, size_t hash_size, size_t *hash_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:445,1
    - Dst: mbedtls_psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:453,1
    - Dst: mbedtls_psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:459,1
    - Dst: mbedtls_psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c:449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 6
    argNames:
    - alg
    - input
    - input_length
    - hash
    - hash_size
    - hash_length
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 466
    functionName: mbedtls_psa_hash_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_hash.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_hash_abort
    - mbedtls_psa_hash_setup
    - mbedtls_psa_hash_update
    - mbedtls_psa_hash_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_hash_compute( psa_algorithm_t alg, const
      uint8_t *input, size_t input_length, uint8_t *hash, size_t hash_size, size_t
      *hash_length) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:119,1
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:159,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:179,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:198,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:197,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:192,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:205,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:230,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:246,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:152,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:163,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:190,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:191,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:218,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:231,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:243,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:118,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:147,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:160,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:166,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:232,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:132,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:151,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:199,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:210,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:217,1
    - Dst: mbedtls_ecp_point_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:221,1
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:229,1
    - Dst: mbedtls_asn1_get_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:242,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 113
    argCount: 2
    argNames:
    - params
    - grp
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 253
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 253
    functionName: pk_group_from_specified
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_read_binary
    - memcmp
    - mbedtls_mpi_bitlen
    - mbedtls_asn1_get_int
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_lset
    - mbedtls_asn1_get_mpi
    - MBEDTLS_OID_SIZE
    - MBEDTLS_ERROR_ADD
    - mbedtls_mpi_size
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'static int pk_group_from_specified(const mbedtls_asn1_buf *params,
      mbedtls_ecp_group *grp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_oid_get_ec_grp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:394,1
    - Dst: pk_ecc_group_id_from_specified
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:398,1
    - Dst: mbedtls_pk_ecc_set_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - params
    - pk
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: pk_use_ecparams
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - pk_ecc_group_id_from_specified
    - mbedtls_oid_get_ec_grp
    - mbedtls_pk_ecc_set_group
    linkageType: ''
    returnType: int
    signature: 'static int pk_use_ecparams(const mbedtls_asn1_buf *params, mbedtls_pk_context
      *pk) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1003,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1009,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1025,1
    - Dst: pk_parse_key_sec1_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1034,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1062,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1109,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1126,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1139,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1145,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1154,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1160,1
    - Dst: mbedtls_pem_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:989,1
    - Dst: mbedtls_rsa_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1004,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1037,1
    - Dst: pk_parse_key_pkcs8_unencrypted_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1060,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1055,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1084,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1125,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1138,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1143,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1144,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1004,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1006,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1065,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1076,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1033,1
    - Dst: mbedtls_pk_parse_key_pkcs8_encrypted_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1082,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1149,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1155,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1002,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:996,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1031,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1040,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1087,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1113,1
    - Dst: mbedtls_pk_parse_key_pkcs8_encrypted_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1115,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1118,1
    - Dst: pk_parse_key_pkcs8_unencrypted_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1133,1
    - Dst: mbedtls_rsa_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1145,1
    - Dst: pk_parse_key_sec1_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1156,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1150,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 137
    argCount: 7
    argNames:
    - pk
    - key
    - keylen
    - pwd
    - pwdlen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1174
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1174
    functionName: mbedtls_pk_parse_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_init
    - mbedtls_calloc
    - mbedtls_pk_info_from_type
    - pk_parse_key_sec1_der
    - mbedtls_pk_rsa
    - pk_parse_key_pkcs8_unencrypted_der
    - mbedtls_pk_setup
    - mbedtls_pem_free
    - memcpy
    - mbedtls_zeroize_and_free
    - mbedtls_rsa_parse_key
    - mbedtls_pem_init
    - mbedtls_pk_parse_key_pkcs8_encrypted_der
    - mbedtls_pk_free
    - mbedtls_pem_read_buffer
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_parse_key(mbedtls_pk_context *pk, const unsigned char
      *key, size_t keylen, const unsigned char *pwd, size_t pwdlen, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1302,1
    - Dst: ftell
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1310,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1311,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1307,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1309,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1314,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1319,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1320,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1324,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1325,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1327,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1336,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - path
    - buf
    - n
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1341
    functionName: mbedtls_pk_load_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_setbuf
    - fread
    - strstr
    - ftell
    - fopen
    - mbedtls_zeroize_and_free
    - fseek
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_load_file(const char *path, unsigned char **buf, size_t
      *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pk_ecc_tag_is_specified_ec_domain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pk_ecc_tag_is_specified_ec_domain(int tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:353,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:361,1
    - Dst: pk_ecc_tag_is_specified_ec_domain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:360,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:365,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:366,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - p
    - end
    - params
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_buf*
    constantsTouched: []
    func_position:
      end: 378
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 378
    functionName: pk_get_ecparams
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - pk_ecc_tag_is_specified_ec_domain
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pk_get_ecparams(unsigned char **p, const unsigned char
      *end, mbedtls_asn1_buf *params) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:435,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:436,1
    - Dst: mbedtls_pk_ecc_set_pubkey_from_prv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:454,1
    - Dst: mbedtls_pk_ecc_set_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:446,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 6
    argNames:
    - pk
    - key
    - keylen
    - end
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 459
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 459
    functionName: pk_parse_key_rfc8410_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_ecc_set_pubkey_from_prv
    - mbedtls_asn1_get_tag
    - mbedtls_pk_ecc_set_key
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pk_parse_key_rfc8410_der(mbedtls_pk_context *pk, unsigned
      char *key, size_t keylen, const unsigned char *end, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:626,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:633,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:641,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:634,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:628,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:642,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:657,1
    - Dst: pk_get_ecparams
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:660,1
    - Dst: pk_use_ecparams
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:661,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:665,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:682,1
    - Dst: mbedtls_asn1_get_bitstring_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:687,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:688,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:708,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:692,1
    - Dst: mbedtls_pk_ecc_set_pubkey_from_prv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:713,1
    - Dst: mbedtls_pk_ecc_set_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:672,1
    - Dst: mbedtls_pk_ecc_set_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:696,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 5
    argNames:
    - pk
    - key
    - keylen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 719
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 719
    functionName: pk_parse_key_sec1_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - pk_use_ecparams
    - mbedtls_asn1_get_int
    - mbedtls_asn1_get_bitstring_null
    - mbedtls_pk_ecc_set_pubkey_from_prv
    - pk_get_ecparams
    - MBEDTLS_ERROR_ADD
    - mbedtls_pk_ecc_set_pubkey
    - mbedtls_asn1_get_tag
    - mbedtls_pk_ecc_set_key
    linkageType: ''
    returnType: int
    signature: 'static int pk_parse_key_sec1_der(mbedtls_pk_context *pk, const unsigned
      char *key, size_t keylen, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:478,1
    - Dst: mbedtls_oid_get_ec_grp_algid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:487,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:481,1
    - Dst: mbedtls_oid_get_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:484,1
    - Dst: mbedtls_asn1_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:480,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 5
    argNames:
    - p
    - end
    - pk_alg
    - params
    - ec_grp_id
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_type_t*
    - mbedtls_asn1_buf*
    - mbedtls_ecp_group_id*
    constantsTouched: []
    func_position:
      end: 509
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 509
    functionName: pk_get_pk_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_oid_get_pk_alg
    - mbedtls_oid_get_ec_grp_algid
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_alg
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int pk_get_pk_alg(unsigned char **p, const unsigned char *end,
      mbedtls_pk_type_t *pk_alg, mbedtls_asn1_buf *params, mbedtls_ecp_group_id *ec_grp_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_ecc_set_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - params
    - grp_id
    - pk
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_ecp_group_id
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: pk_use_ecparams_rfc8410
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_ecc_set_group
    linkageType: ''
    returnType: int
    signature: 'static int pk_use_ecparams_rfc8410(const mbedtls_asn1_buf *params,
      mbedtls_ecp_group_id grp_id, mbedtls_pk_context *pk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_load_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1379,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1385,1
    - Dst: mbedtls_pk_parse_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - mbedtls_pk_context*
    - char*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1388
    functionName: mbedtls_pk_parse_public_keyfile
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_parse_public_key
    - mbedtls_pk_load_file
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_parse_public_keyfile(mbedtls_pk_context *ctx, const
      char *path) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:903,1
    - Dst: mbedtls_asn1_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:910,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:911,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:905,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:914,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:915,1
    - Dst: mbedtls_oid_get_pkcs12_pbe_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:924,1
    - Dst: mbedtls_pkcs12_pbe_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:925,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:939,1
    - Dst: mbedtls_pkcs5_pbes2_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:940,1
    - Dst: pk_parse_key_pkcs8_unencrypted_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:959,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 7
    argNames:
    - pk
    - key
    - keylen
    - pwd
    - pwdlen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 960
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 960
    functionName: mbedtls_pk_parse_key_pkcs8_encrypted_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - pk_parse_key_pkcs8_unencrypted_der
    - mbedtls_oid_get_pkcs12_pbe_alg
    - mbedtls_pkcs12_pbe_ext
    - mbedtls_pkcs5_pbes2_ext
    - MBEDTLS_ERROR_ADD
    - MBEDTLS_OID_CMP
    - mbedtls_asn1_get_tag
    - mbedtls_asn1_get_alg
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_pk_parse_key_pkcs8_encrypted_der(
      mbedtls_pk_context *pk, unsigned char *key, size_t keylen, const unsigned char
      *pwd, size_t pwdlen, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:307,1
    - Dst: pk_group_from_specified
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:309,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:323,1
    - Dst: pk_group_id_from_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:313,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:324,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:325,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:326,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - params
    - grp_id
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_ecp_group_id*
    constantsTouched: []
    func_position:
      end: 330
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 330
    functionName: pk_ecc_group_id_from_specified
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - pk_group_from_specified
    - pk_group_id_from_group
    - mbedtls_mpi_free
    - mbedtls_ecp_point_free
    linkageType: ''
    returnType: int
    signature: 'static int pk_ecc_group_id_from_specified(const mbedtls_asn1_buf *params,
      mbedtls_ecp_group_id *grp_id) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:526,1
    - Dst: mbedtls_asn1_get_bitstring_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:537,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:528,1
    - Dst: pk_get_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:533,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:538,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:542,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:546,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:550,1
    - Dst: mbedtls_rsa_parse_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:556,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:556,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:588,1
    - Dst: mbedtls_pk_ecc_set_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:580,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:593,1
    - Dst: pk_use_ecparams
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:577,1
    - Dst: MBEDTLS_PK_IS_RFC8410_GROUP_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:572,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:563,1
    - Dst: pk_use_ecparams_rfc8410
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:573,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 3
    argNames:
    - p
    - end
    - pk
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 597
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 597
    functionName: mbedtls_pk_parse_subpubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - pk_use_ecparams
    - mbedtls_pk_info_from_type
    - mbedtls_pk_rsa
    - mbedtls_pk_setup
    - MBEDTLS_PK_IS_RFC8410_GROUP_ID
    - mbedtls_pk_free
    - mbedtls_asn1_get_bitstring_null
    - pk_use_ecparams_rfc8410
    - pk_get_pk_alg
    - MBEDTLS_ERROR_ADD
    - mbedtls_pk_ecc_set_pubkey
    - mbedtls_asn1_get_tag
    - mbedtls_rsa_parse_pubkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_parse_subpubkey(unsigned char **p, const unsigned char
      *end, mbedtls_pk_context *pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - params
    - grp_id
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_ecp_group_id*
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: pk_ecc_group_id_from_specified
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pk_ecc_group_id_from_specified(const mbedtls_asn1_buf *params,
      mbedtls_ecp_group_id *grp_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: pk_ecc_tag_is_specified_ec_domain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pk_ecc_tag_is_specified_ec_domain(int tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:265,1
    - Dst: mbedtls_ecp_grp_id_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:267,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:269,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:270,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:270,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:274,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:275,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:276,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:277,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:278,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:287,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:281,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:279,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:281,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 2
    argNames:
    - grp
    - grp_id
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_group_id*
    constantsTouched: []
    func_position:
      end: 296
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 296
    functionName: pk_group_id_from_group
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_ecp_group_free
    - mbedtls_mpi_get_bit
    - mbedtls_mpi_cmp_mpi
    - mbedtls_ecp_group_load
    - mbedtls_ecp_grp_id_list
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int pk_group_id_from_group(const mbedtls_ecp_group *grp, mbedtls_ecp_group_id
      *grp_id) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:778,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:796,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:815,1
    - Dst: pk_parse_key_sec1_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:836,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:784,1
    - Dst: pk_get_pk_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:791,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:800,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:804,1
    - Dst: mbedtls_rsa_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:814,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:829,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:808,1
    - Dst: MBEDTLS_PK_IS_RFC8410_GROUP_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:823,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:776,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:788,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:795,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:814,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:783,1
    - Dst: pk_use_ecparams_rfc8410
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:825,1
    - Dst: pk_parse_key_rfc8410_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:827,1
    - Dst: pk_use_ecparams
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:835,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:837,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:847,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 5
    argNames:
    - pk
    - key
    - keylen
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 852
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 852
    functionName: pk_parse_key_pkcs8_unencrypted_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - pk_use_ecparams
    - mbedtls_pk_info_from_type
    - pk_parse_key_sec1_der
    - mbedtls_pk_rsa
    - mbedtls_asn1_get_int
    - mbedtls_pk_setup
    - MBEDTLS_PK_IS_RFC8410_GROUP_ID
    - mbedtls_pk_free
    - pk_parse_key_rfc8410_der
    - mbedtls_rsa_parse_key
    - pk_use_ecparams_rfc8410
    - pk_get_pk_alg
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'static int pk_parse_key_pkcs8_unencrypted_der( mbedtls_pk_context
      *pk, const unsigned char *key, size_t keylen, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1215,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1221,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1224,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1227,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1262,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1203,1
    - Dst: mbedtls_rsa_parse_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1220,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1220,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1248,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1254,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1258,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1251,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1271,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1211,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1216,1
    - Dst: mbedtls_rsa_parse_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1267,1
    - Dst: mbedtls_pk_parse_subpubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1278,1
    - Dst: mbedtls_pem_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1197,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1210,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1236,1
    - Dst: mbedtls_pk_parse_subpubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1247,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1267,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1281
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1281
    functionName: mbedtls_pk_parse_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_info_from_type
    - mbedtls_pk_rsa
    - mbedtls_pem_free
    - mbedtls_pk_setup
    - mbedtls_pk_parse_subpubkey
    - mbedtls_pem_init
    - mbedtls_pk_free
    - mbedtls_pem_read_buffer
    - mbedtls_rsa_parse_pubkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_parse_public_key(mbedtls_pk_context *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_load_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1354,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1362,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1359,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1365,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c:1361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - path
    - pwd
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - char*
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1368
    functionName: mbedtls_pk_parse_keyfile
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkparse.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    - mbedtls_pk_parse_key
    - mbedtls_pk_load_file
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_parse_keyfile(mbedtls_pk_context *ctx, const char *path,
      const char *pwd, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - lifetime
    argTypes:
    - psa_key_lifetime_t
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: psa_get_se_driver_entry
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_se_drv_table_entry_t*
    signature: 'psa_se_drv_table_entry_t *psa_get_se_driver_entry( psa_key_lifetime_t
      lifetime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - driver
    argTypes:
    - psa_se_drv_table_entry_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: psa_get_se_driver_context
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_drv_se_context_t*
    signature: 'psa_drv_se_context_t *psa_get_se_driver_context( psa_se_drv_table_entry_t
      *driver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - driver
    - uid
    argTypes:
    - psa_se_drv_table_entry_t*
    - psa_storage_uid_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: psa_get_se_driver_its_file_uid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_get_se_driver_its_file_uid( const psa_se_drv_table_entry_t
      *driver, psa_storage_uid_t *uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_se_driver_its_file_uid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:155,1
    - Dst: psa_its_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - driver
    argTypes:
    - psa_se_drv_table_entry_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 167
    functionName: psa_save_se_persistent_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - psa_get_se_driver_its_file_uid
    - psa_its_set
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_save_se_persistent_data( const psa_se_drv_table_entry_t
      *driver) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:187,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:187,1
    - Dst: p_validate_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:209,1
    - Dst: p_allocate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:225,1
    - Dst: psa_get_key_slot_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - attributes
    - method
    - driver
    - slot_number
    argTypes:
    - psa_key_attributes_t*
    - psa_key_creation_method_t
    - psa_se_drv_table_entry_t*
    - psa_key_slot_number_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 231
    functionName: psa_find_se_slot_for_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    - p_allocate
    - p_validate_slot_number
    - psa_get_key_slot_number
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_find_se_slot_for_key( const psa_key_attributes_t
      *attributes, psa_key_creation_method_t method, psa_se_drv_table_entry_t *driver,
      psa_key_slot_number_t *slot_number) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_se_driver_methods
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:266,1
    - Dst: psa_save_se_persistent_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 282
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 282
    functionName: psa_init_all_se_drivers
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - psa_get_se_driver_methods
    - psa_save_se_persistent_data
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_init_all_se_drivers(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:302,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:351,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:334,1
    - Dst: psa_load_se_persistent_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:342,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - location
    - methods
    argTypes:
    - psa_key_location_t
    - psa_drv_se_t*
    constantsTouched: []
    func_position:
      end: 353
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 353
    functionName: psa_register_se_driver
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - MBEDTLS_STATIC_ASSERT
    - mbedtls_calloc
    - psa_load_se_persistent_data
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_register_se_driver( psa_key_location_t location,
      const psa_drv_se_t *methods) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_se_driver_entry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - lifetime
    - p_methods
    - p_drv_context
    argTypes:
    - psa_key_lifetime_t
    - psa_drv_se_t**
    - psa_drv_se_context_t**
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: psa_get_se_driver
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - psa_get_se_driver_entry
    linkageType: ''
    returnType: int
    signature: 'int psa_get_se_driver(psa_key_lifetime_t lifetime, const psa_drv_se_t
      **p_methods, psa_drv_se_context_t **p_drv_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - driver
    argTypes:
    - psa_se_drv_table_entry_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: psa_get_se_driver_methods
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_drv_se_t*
    signature: 'const psa_drv_se_t *psa_get_se_driver_methods( const psa_se_drv_table_entry_t
      *driver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_se_driver_its_file_uid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:131,1
    - Dst: psa_its_get
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - driver
    argTypes:
    - psa_se_drv_table_entry_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: psa_load_se_persistent_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - psa_get_se_driver_its_file_uid
    - psa_its_get
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_load_se_persistent_data( const psa_se_drv_table_entry_t
      *driver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_its_remove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - location
    argTypes:
    - psa_key_location_t
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: psa_destroy_se_persistent_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - psa_its_remove
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_destroy_se_persistent_data(psa_key_location_t location) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_save_se_persistent_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - driver
    - slot_number
    argTypes:
    - psa_se_drv_table_entry_t*
    - psa_key_slot_number_t
    constantsTouched: []
    func_position:
      end: 256
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 256
    functionName: psa_destroy_se_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - psa_save_se_persistent_data
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t psa_destroy_se_key(psa_se_drv_table_entry_t *driver,
      psa_key_slot_number_t slot_number) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:360,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: psa_unregister_all_se_drivers
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_se.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void psa_unregister_all_se_drivers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:31,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:33,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:35,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:34,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: mbedtls_ct_base64_enc_char
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uchar_in_range_if
    linkageType: ''
    returnType: 'MBEDTLS_STATIC_TESTABLE

      unsigned'
    signature: 'MBEDTLS_STATIC_TESTABLEunsigned char mbedtls_ct_base64_enc_char(unsigned
      char value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:260,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:268,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:275,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:266,1
    - Dst: mbedtls_base64_encode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:265,1
    - Dst: mbedtls_base64_decode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:280,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:281,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:283,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 294
    functionName: mbedtls_base64_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_base64_decode
    - mbedtls_base64_encode
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_base64_self_test(int verbose) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_base64_enc_char
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:93,1
    - Dst: mbedtls_ct_base64_enc_char
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:98,1
    - Dst: mbedtls_ct_base64_enc_char
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:94,1
    - Dst: mbedtls_ct_base64_enc_char
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:105,1
    - Dst: mbedtls_ct_base64_enc_char
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:96,1
    - Dst: mbedtls_ct_base64_enc_char
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:106,1
    - Dst: mbedtls_ct_base64_enc_char
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 85
    argCount: 5
    argNames:
    - dst
    - dlen
    - olen
    - src
    - slen
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 122
    functionName: mbedtls_base64_encode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_base64_enc_char
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_base64_encode(unsigned char *dst, size_t dlen, size_t
      *olen, const unsigned char *src, size_t slen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:47,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:49,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:48,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:51,1
    - Dst: mbedtls_ct_uchar_in_range_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: mbedtls_ct_base64_dec_value
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uchar_in_range_if
    linkageType: ''
    returnType: 'MBEDTLS_STATIC_TESTABLE

      signed'
    signature: 'MBEDTLS_STATIC_TESTABLEsigned char mbedtls_ct_base64_dec_value(unsigned
      char c) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_base64_dec_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:178,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:222,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:217,1
    - Dst: mbedtls_ct_base64_dec_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:212,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c:219,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 5
    argNames:
    - dst
    - dlen
    - olen
    - src
    - slen
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 230
    functionName: mbedtls_base64_decode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/base64.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_0
    - mbedtls_ct_base64_dec_value
    - MBEDTLS_BYTE_1
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_base64_decode(unsigned char *dst, size_t dlen, size_t
      *olen, const unsigned char *src, size_t slen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ccm_context*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: mbedtls_ccm_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ccm_init(mbedtls_ccm_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:131,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:142,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:134,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:144,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - offset
    - use_len
    - input
    - output
    argTypes:
    - mbedtls_ccm_context*
    - size_t
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: mbedtls_ccm_crypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_encrypt
    - mbedtls_xor
    - mbedtls_cipher_update
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ccm_crypt(mbedtls_ccm_context *ctx, size_t offset,
      size_t use_len, const unsigned char *input, unsigned char *output) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:520,1
    - Dst: mbedtls_ccm_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:528,1
    - Dst: mbedtls_ccm_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:524,1
    - Dst: mbedtls_ccm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:537,1
    - Dst: mbedtls_ccm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:532,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 11
    argNames:
    - ctx
    - mode
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - int
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 542
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 542
    functionName: ccm_auth_crypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_finish
    - mbedtls_ccm_update
    - mbedtls_ccm_set_lengths
    - mbedtls_ccm_starts
    - mbedtls_ccm_update_ad
    linkageType: ''
    returnType: int
    signature: 'static int ccm_auth_crypt(mbedtls_ccm_context *ctx, int mode, size_t
      length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t
      add_len, const unsigned char *input, unsigned char *output, unsigned char *tag,
      size_t tag_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_block_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:59,1
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:77,1
    - Dst: mbedtls_cipher_info_from_values
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:71,1
    - Dst: mbedtls_block_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:65,1
    - Dst: mbedtls_block_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:61,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:81,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:83,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - keybits
    argTypes:
    - mbedtls_ccm_context*
    - mbedtls_cipher_id_t
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 94
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 94
    functionName: mbedtls_ccm_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_free
    - mbedtls_cipher_free
    - mbedtls_cipher_setup
    - mbedtls_block_cipher_setup
    - mbedtls_block_cipher_setkey
    - mbedtls_cipher_info_from_values
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_setkey(mbedtls_ccm_context *ctx, mbedtls_cipher_id_t
      cipher, const unsigned char *key, unsigned int keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:151,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ccm_context*
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: mbedtls_ccm_clear_state
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mbedtls_ccm_clear_state(mbedtls_ccm_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - tag1
    - tag2
    - tag_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: mbedtls_ccm_compare_tags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ccm_compare_tags(const unsigned char *tag1, const
      unsigned char *tag2, size_t tag_len) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:402,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:408,1
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:406,1
    - Dst: mbedtls_ccm_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:416,1
    - Dst: mbedtls_ccm_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:430,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:435,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:437,1
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:441,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:443,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:466,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 85
    argCount: 6
    argNames:
    - ctx
    - input
    - input_len
    - output
    - output_size
    - output_len
    argTypes:
    - mbedtls_ccm_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 469
    functionName: mbedtls_ccm_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_encrypt
    - mbedtls_xor
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_ccm_crypt
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_update(mbedtls_ccm_context *ctx, const unsigned char
      *input, size_t input_len, unsigned char *output, size_t output_size, size_t
      *output_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccm_auth_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: mbedtls_ccm_encrypt_and_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - ccm_auth_crypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_encrypt_and_tag(mbedtls_ccm_context *ctx, size_t length,
      const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t add_len,
      const unsigned char *input, unsigned char *output, unsigned char *tag, size_t
      tag_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccm_auth_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:593,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:600,1
    - Dst: mbedtls_ccm_compare_tags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:599,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 11
    argNames:
    - ctx
    - mode
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - int
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 605
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 605
    functionName: ccm_auth_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_compare_tags
    - ccm_auth_crypt
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: int
    signature: 'static int ccm_auth_decrypt(mbedtls_ccm_context *ctx, int mode, size_t
      length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t
      add_len, const unsigned char *input, unsigned char *output, const unsigned char
      *tag, size_t tag_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:496,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:501,1
    - Dst: mbedtls_ccm_clear_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:503,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - tag
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 506
    functionName: mbedtls_ccm_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_ccm_clear_state
    - mbedtls_ccm_crypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_finish(mbedtls_ccm_context *ctx, unsigned char *tag,
      size_t tag_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccm_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: mbedtls_ccm_star_auth_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - ccm_auth_decrypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_star_auth_decrypt(mbedtls_ccm_context *ctx, size_t
      length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t
      add_len, const unsigned char *input, unsigned char *output, const unsigned char
      *tag, size_t tag_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccm_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: mbedtls_ccm_auth_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - ccm_auth_decrypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_auth_decrypt(mbedtls_ccm_context *ctx, size_t length,
      const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t add_len,
      const unsigned char *input, unsigned char *output, const unsigned char *tag,
      size_t tag_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:199,1
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:209,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:211,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ccm_context*
    constantsTouched: []
    func_position:
      end: 219
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 219
    functionName: ccm_calculate_first_block_if_ready
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_encrypt
    - mbedtls_cipher_update
    - MBEDTLS_BYTE_0
    linkageType: ''
    returnType: int
    signature: 'static int ccm_calculate_first_block_if_ready(mbedtls_ccm_context
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:244,1
    - Dst: ccm_calculate_first_block_if_ready
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:256,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:253,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:247,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - mode
    - iv
    - iv_len
    argTypes:
    - mbedtls_ccm_context*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 257
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 257
    functionName: mbedtls_ccm_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - memcpy
    - ccm_calculate_first_block_if_ready
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_starts(mbedtls_ccm_context *ctx, int mode, const unsigned
      char *iv, size_t iv_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:692,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:708,1
    - Dst: mbedtls_ccm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:694,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:705,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:697,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:709,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:710,1
    - Dst: mbedtls_ccm_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:712,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:720,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:723,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:728,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:740,1
    - Dst: mbedtls_ccm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:751,1
    - Dst: mbedtls_ccm_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:730,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:754,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:747,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:738,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 758
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 758
    functionName: mbedtls_ccm_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ccm_encrypt_and_tag
    - memcmp
    - mbedtls_ccm_init
    - memcpy
    - mbedtls_ccm_free
    - mbedtls_ccm_setkey
    - mbedtls_ccm_auth_decrypt
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_self_test(int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_block_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:105,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:109,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ccm_context*
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: mbedtls_ccm_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_free
    - mbedtls_platform_zeroize
    - mbedtls_cipher_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ccm_free(mbedtls_ccm_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccm_calculate_first_block_if_ready
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - total_ad_len
    - plaintext_len
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: mbedtls_ccm_set_lengths
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - ccm_calculate_first_block_if_ready
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_set_lengths(mbedtls_ccm_context *ctx, size_t total_ad_len,
      size_t plaintext_len, size_t tag_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:329,1
    - Dst: mbedtls_block_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:337,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:339,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - ctx
    - add
    - add_len
    argTypes:
    - mbedtls_ccm_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 355
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 355
    functionName: mbedtls_ccm_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - mbedtls_block_cipher_encrypt
    - mbedtls_xor
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_update_ad(mbedtls_ccm_context *ctx, const unsigned
      char *add, size_t add_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccm_auth_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c:553,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag
    - tag_len
    argTypes:
    - mbedtls_ccm_context*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: mbedtls_ccm_star_encrypt_and_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ccm.c
    functionUses: []
    functionsReached:
    - ccm_auth_crypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ccm_star_encrypt_and_tag(mbedtls_ccm_context *ctx, size_t
      length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t
      add_len, const unsigned char *input, unsigned char *output, unsigned char *tag,
      size_t tag_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:579,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:585,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:584,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:581,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:580,1
    - Dst: ecp_group_is_static_comb_table
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:589,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:591,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:593,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:596,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 597
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 597
    functionName: mbedtls_ecp_group_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_group_is_static_comb_table
    - mbedtls_free
    - mbedtls_platform_zeroize
    - mbedtls_mpi_free
    - mbedtls_ecp_point_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_group_free(mbedtls_ecp_group *grp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1060,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1060,1
    - Dst: MOD_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - grp
    - X
    - A
    - B
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1064
    functionName: mbedtls_mpi_mul_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mul_mpi
    - MOD_MUL
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_mpi_mul_mod(const mbedtls_ecp_group *grp,
      mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1132,1
    - Dst: MOD_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1133,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - grp
    - X
    - A
    - c
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 1136
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1136
    functionName: mbedtls_mpi_sub_int_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - MBEDTLS_MPI_CHK
    - MOD_SUB
    linkageType: ''
    returnType: MBEDTLS_MAYBE_UNUSED
    signature: 'MBEDTLS_MAYBE_UNUSED static inline int mbedtls_mpi_sub_int_mod(const
      mbedtls_ecp_group *grp, mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_uint
      c) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2776,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2780,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2781,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2775,1
    - Dst: mbedtls_ecp_set_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2776,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2778,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2781,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2785,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2790,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2772,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2775,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2777,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2778,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2779,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2782,1
    - Dst: ecp_mul_restartable_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2785,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2774,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2779,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2782,1
    - Dst: MPI_ECP_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - grp
    - R
    - m
    - P
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2793
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2793
    functionName: mbedtls_ecp_mul_shortcuts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_copy
    - mbedtls_ecp_set_zero
    - ecp_mul_restartable_internal
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MPI_ECP_NEG
    - mbedtls_ecp_check_pubkey
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ecp_mul_shortcuts(mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_mpi *m, const mbedtls_ecp_point *P, mbedtls_ecp_restart_ctx
      *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: mbedtls_ecp_restart_is_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_restart_is_enabled(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: ecp_group_is_static_comb_table
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ecp_group_is_static_comb_table(const mbedtls_ecp_group
      *grp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ecp_mul_restartable_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 7
    argNames:
    - grp
    - R
    - m
    - P
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2706
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2706
    functionName: mbedtls_ecp_mul_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_mul_restartable_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_mul_restartable(mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_mpi *m, const mbedtls_ecp_point *P, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng, mbedtls_ecp_restart_ctx *rs_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: mbedtls_ecp_get_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_curve_type
    signature: 'mbedtls_ecp_curve_type mbedtls_ecp_get_type(const mbedtls_ecp_group
      *grp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2645,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2660,1
    - Dst: MBEDTLS_ECP_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2657,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2646,1
    - Dst: mbedtls_internal_ecp_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2646,1
    - Dst: mbedtls_ecp_check_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2660,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2661,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2661,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2666,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2667,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2671,1
    - Dst: ecp_mul_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2667,1
    - Dst: ecp_mul_comb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2672,1
    - Dst: mbedtls_internal_ecp_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2680,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2672,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 7
    argNames:
    - grp
    - R
    - m
    - P
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2691
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2691
    functionName: ecp_mul_restartable_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_mul_comb
    - MBEDTLS_ECP_BUDGET
    - mbedtls_internal_ecp_grp_capable
    - mbedtls_ecp_get_type
    - ecp_mul_mxz
    - mbedtls_internal_ecp_init
    - mbedtls_internal_ecp_free
    - mbedtls_ecp_check_pubkey
    - mbedtls_ecp_check_privkey
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mul_restartable_internal(mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_mpi *m, const mbedtls_ecp_point *P, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng, mbedtls_ecp_restart_ctx *rs_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_curve_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:471,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 480
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 480
    functionName: mbedtls_ecp_curve_info_from_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - strcmp
    - mbedtls_ecp_curve_list
    linkageType: ''
    returnType: mbedtls_ecp_curve_info*
    signature: 'const mbedtls_ecp_curve_info *mbedtls_ecp_curve_info_from_name(const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:193,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecp_restart_muladd_ctx*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: ecp_restart_ma_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_init
    linkageType: ''
    returnType: void
    signature: 'static void ecp_restart_ma_init(mbedtls_ecp_restart_muladd_ctx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3030,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3040,1
    - Dst: ecp_check_pubkey_mx
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3036,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3035,1
    - Dst: ecp_check_pubkey_sw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3041,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - grp
    - pt
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 3045
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3045
    functionName: mbedtls_ecp_check_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_check_pubkey_mx
    - mbedtls_mpi_cmp_int
    - mbedtls_ecp_get_type
    - ecp_check_pubkey_sw
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_check_pubkey(const mbedtls_ecp_group *grp, const mbedtls_ecp_point
      *pt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3354,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3355,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3360,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - key
    - olen
    - buf
    - buflen
    argTypes:
    - mbedtls_ecp_keypair*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3367
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3367
    functionName: mbedtls_ecp_write_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_write_binary
    - mbedtls_ecp_get_type
    - mbedtls_mpi_write_binary_le
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_write_key_ext(const mbedtls_ecp_keypair *key, size_t
      *olen, unsigned char *buf, size_t buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MPI_ECP_COND_ASSIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2023,1
    - Dst: MPI_ECP_COND_ASSIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2024,1
    - Dst: MPI_ECP_LSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2030,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2028,1
    - Dst: ecp_safe_invert_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - grp
    - R
    - T
    - T_size
    - i
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 2034
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2034
    functionName: ecp_select_comb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - MPI_ECP_COND_ASSIGN
    - MPI_ECP_LSET
    - MBEDTLS_MPI_CHK
    - ecp_safe_invert_jac
    linkageType: ''
    returnType: int
    signature: 'static int ecp_select_comb(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_ecp_point T[], unsigned char T_size, unsigned char i) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:778,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:787,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:781,1
    - Dst: mbedtls_mpi_read_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:786,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:786,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:791,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:791,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:794,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:794,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:798,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:812,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:812,1
    - Dst: mbedtls_ecp_sw_derive_y
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:825,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:811,1
    - Dst: mbedtls_ecp_set_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:801,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:819,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:811,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - grp
    - pt
    - buf
    - ilen
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 835
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 835
    functionName: mbedtls_ecp_point_read_binary
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_set_zero
    - mbedtls_mpi_read_binary
    - mbedtls_ecp_sw_derive_y
    - mbedtls_ecp_get_type
    - mbedtls_mpi_lset
    - mbedtls_mpi_set_bit
    - mbedtls_mpi_free
    - mbedtls_mpi_read_binary_le
    - mbedtls_mpi_size
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_point_read_binary(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *pt, const unsigned char *buf, size_t ilen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1264,1
    - Dst: ecp_sw_rhs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1274,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1274,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1271,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1265,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1278,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1278,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1279,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1279,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1281,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1281,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1288,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1289,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1294,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - grp
    - X
    - Y
    - parity_bit
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - int
    constantsTouched: []
    func_position:
      end: 1296
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1296
    functionName: mbedtls_ecp_sw_derive_y
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_get_bit
    - ecp_sw_rhs
    - mbedtls_mpi_add_int
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ecp_sw_derive_y(const mbedtls_ecp_group *grp, const
      mbedtls_mpi *X, mbedtls_mpi *Y, int parity_bit) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ECP_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1906,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1896,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1912,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1987,1
    - Dst: mpi_init_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1861,1
    - Dst: MBEDTLS_ECP_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1952,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1979,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1957,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1912,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1896,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1939,1
    - Dst: mpi_free_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1992,1
    - Dst: ecp_normalize_jac_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1979,1
    - Dst: MBEDTLS_ECP_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1977,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1915,1
    - Dst: ecp_double_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1915,1
    - Dst: MBEDTLS_ECP_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1937,1
    - Dst: ecp_normalize_jac_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1939,1
    - Dst: ecp_add_mixed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1957,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 121
    argCount: 6
    argNames:
    - grp
    - T
    - P
    - w
    - d
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point
    - mbedtls_ecp_point*
    - unsigned char
    - size_t
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2004
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 2004
    functionName: ecp_precompute_comb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_add_mixed
    - ecp_double_jac
    - mpi_init_many
    - mbedtls_ecp_copy
    - MBEDTLS_ECP_BUDGET
    - mpi_free_many
    - mbedtls_mpi_free
    - ecp_normalize_jac_many
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_precompute_comb(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      T[], const mbedtls_ecp_point *P, unsigned char w, size_t d, mbedtls_ecp_restart_ctx
      *rs_ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - grp
    - rs_ctx
    - ops
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_restart_ctx*
    - unsigned
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: mbedtls_ecp_check_budget
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_check_budget(const mbedtls_ecp_group *grp, mbedtls_ecp_restart_ctx
      *rs_ctx, unsigned ops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1147,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1147,1
    - Dst: MOD_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - grp
    - X
    - count
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 1151
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1151
    functionName: mbedtls_mpi_shift_l_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_shift_l
    - MBEDTLS_MPI_CHK
    - MOD_ADD
    linkageType: ''
    returnType: MBEDTLS_MAYBE_UNUSED
    signature: 'MBEDTLS_MAYBE_UNUSED static inline int mbedtls_mpi_shift_l_mod(const
      mbedtls_ecp_group *grp, mbedtls_mpi *X, size_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1231,1
    - Dst: mbedtls_ecp_group_a_is_minus_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1234,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1237,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1240,1
    - Dst: MPI_ECP_SUB_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1235,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - grp
    - rhs
    - X
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1245
    functionName: ecp_sw_rhs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_a_is_minus_3
    - MPI_ECP_SUB_INT
    - MPI_ECP_ADD
    - MPI_ECP_MUL
    - MPI_ECP_SQR
    linkageType: ''
    returnType: int
    signature: 'static int ecp_sw_rhs(const mbedtls_ecp_group *grp, mbedtls_mpi *rhs,
      const mbedtls_mpi *X) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3537,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3537,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3539,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3538,1
    - Dst: self_test_adjust_exponent
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3538,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3539,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3549,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3549,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3550,1
    - Dst: self_test_adjust_exponent
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3550,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3564,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3566,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3551,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3551,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 7
    argNames:
    - verbose
    - grp
    - R
    - m
    - P
    - exponents
    - n_exponents
    argTypes:
    - int
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 3570
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3570
    functionName: self_test_point
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ecp_mul
    - mbedtls_mpi_read_string
    - self_test_adjust_exponent
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int self_test_point(int verbose, mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, mbedtls_mpi *m, const mbedtls_ecp_point *P, const char *const *exponents,
      size_t n_exponents) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 4
    argNames:
    - N
    - d
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3130
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3130
    functionName: mbedtls_ecp_gen_privkey_sw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_random
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ecp_gen_privkey_sw( const mbedtls_mpi *N, mbedtls_mpi
      *d, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3311,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3322,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3326,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3327,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3322,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - key
    - buf
    - buflen
    argTypes:
    - mbedtls_ecp_keypair*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3334
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3334
    functionName: mbedtls_ecp_write_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_write_binary
    - MBEDTLS_MPI_CHK
    - mbedtls_ecp_get_type
    - mbedtls_mpi_write_binary_le
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_write_key(mbedtls_ecp_keypair *key, unsigned char
      *buf, size_t buflen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:162,1
    - Dst: ecp_restart_rsm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:171,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:166,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecp_restart_mul_ctx*
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: ecp_restart_rsm_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ecp_point_free
    - ecp_restart_rsm_init
    linkageType: ''
    returnType: void
    signature: 'static void ecp_restart_rsm_free(mbedtls_ecp_restart_mul_ctx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:549,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:550,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pt
    argTypes:
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: mbedtls_ecp_point_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_point_free(mbedtls_ecp_point *pt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:663,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:664,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - P
    - Q
    argTypes:
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: mbedtls_ecp_point_cmp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_point_cmp(const mbedtls_ecp_point *P, const mbedtls_ecp_point
      *Q) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_a_is_minus_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1505,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1509,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1510,1
    - Dst: MPI_ECP_MUL_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1511,1
    - Dst: MPI_ECP_MUL_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1515,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1523,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1530,1
    - Dst: MPI_ECP_CMP_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1518,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1540,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1543,1
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1494,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1507,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1514,1
    - Dst: MPI_ECP_SHIFT_L
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1529,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1528,1
    - Dst: MPI_ECP_SHIFT_L
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1531,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1548,1
    - Dst: MPI_ECP_SHIFT_L
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1549,1
    - Dst: MPI_ECP_MOV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1552,1
    - Dst: MPI_ECP_MOV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1553,1
    - Dst: mbedtls_internal_ecp_double_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1495,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1522,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1534,1
    - Dst: MPI_ECP_SHIFT_L
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1535,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1539,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1508,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1520,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1521,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1538,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1544,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1545,1
    - Dst: MPI_ECP_MOV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 4
    argNames:
    - grp
    - R
    - P
    - tmp
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_mpi
    constantsTouched: []
    func_position:
      end: 1560
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1560
    functionName: ecp_double_jac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_ecp_double_jac
    - mbedtls_ecp_group_a_is_minus_3
    - MPI_ECP_SUB
    - MPI_ECP_MUL_INT
    - MPI_ECP_MOV
    - MPI_ECP_CMP_INT
    - MPI_ECP_ADD
    - MPI_ECP_MUL
    - MPI_ECP_SHIFT_L
    - MPI_ECP_SQR
    - mbedtls_internal_ecp_grp_capable
    linkageType: ''
    returnType: int
    signature: 'static int ecp_double_jac(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_ecp_point *P, mbedtls_mpi tmp[4]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MPI_ECP_CMP_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1626,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1631,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1635,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1652,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1661,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1662,1
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1591,1
    - Dst: mbedtls_internal_ecp_add_mixed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1592,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1630,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1634,1
    - Dst: MPI_ECP_CMP_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1638,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1649,1
    - Dst: MPI_ECP_CMP_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1639,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1650,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1651,1
    - Dst: MPI_ECP_MOV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1654,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1665,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1633,1
    - Dst: MPI_ECP_SHIFT_L
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1655,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1659,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1660,1
    - Dst: MPI_ECP_CMP_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1615,1
    - Dst: MPI_ECP_VALID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1608,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1616,1
    - Dst: MPI_ECP_CMP_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1619,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1620,1
    - Dst: ecp_double_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1640,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1632,1
    - Dst: mbedtls_ecp_set_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1643,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1658,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1663,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 5
    argNames:
    - grp
    - R
    - P
    - Q
    - tmp
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_mpi
    constantsTouched: []
    func_position:
      end: 1671
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1671
    functionName: ecp_add_mixed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_ecp_add_mixed
    - mbedtls_ecp_copy
    - ecp_double_jac
    - MPI_ECP_SUB
    - mbedtls_ecp_set_zero
    - MPI_ECP_VALID
    - MPI_ECP_MOV
    - MPI_ECP_CMP_INT
    - MPI_ECP_MUL
    - MPI_ECP_SHIFT_L
    - MPI_ECP_SQR
    - mbedtls_internal_ecp_grp_capable
    linkageType: ''
    returnType: int
    signature: 'static int ecp_add_mixed(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q, mbedtls_mpi tmp[4]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2519,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2528,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2530,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2524,1
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2505,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2516,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2531,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2523,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2525,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2517,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2529,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2526,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2527,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2532,1
    - Dst: mbedtls_internal_ecp_double_add_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2506,1
    - Dst: MPI_ECP_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2515,1
    - Dst: MPI_ECP_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2518,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2520,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2521,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2522,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 7
    argNames:
    - grp
    - R
    - S
    - P
    - Q
    - d
    - T
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_mpi
    constantsTouched: []
    func_position:
      end: 2538
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2538
    functionName: ecp_double_add_mxz
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_ecp_double_add_mxz
    - MPI_ECP_SUB
    - MPI_ECP_ADD
    - MPI_ECP_MUL
    - MPI_ECP_SQR
    - mbedtls_internal_ecp_grp_capable
    linkageType: ''
    returnType: int
    signature: 'static int ecp_double_add_mxz(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, mbedtls_ecp_point *S, const mbedtls_ecp_point *P, const mbedtls_ecp_point
      *Q, const mbedtls_mpi *d, mbedtls_mpi T[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_gen_keypair_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - grp
    - d
    - Q
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3183
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3183
    functionName: mbedtls_ecp_gen_keypair
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_gen_keypair_base
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_gen_keypair(mbedtls_ecp_group *grp, mbedtls_mpi *d,
      mbedtls_ecp_point *Q, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:535,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:537,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_ecp_keypair*
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: mbedtls_ecp_keypair_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_ecp_point_init
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_keypair_init(mbedtls_ecp_keypair *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pt
    argTypes:
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: mbedtls_ecp_is_zero
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_is_zero(mbedtls_ecp_point *pt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:893,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - grp
    - pt
    - format
    - olen
    - buf
    - blen
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - int
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 905
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 905
    functionName: mbedtls_ecp_tls_write_point
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_write_binary
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_tls_write_point(const mbedtls_ecp_group *grp, const
      mbedtls_ecp_point *pt, int format, size_t *olen, unsigned char *buf, size_t
      blen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1462,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1467,1
    - Dst: MPI_ECP_COND_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - grp
    - Q
    - inv
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1469
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1469
    functionName: ecp_safe_invert_jac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_free
    - MPI_ECP_COND_NEG
    - mbedtls_mpi_init
    linkageType: ''
    returnType: int
    signature: 'static int ecp_safe_invert_jac(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *Q, unsigned char inv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_mul_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - grp
    - R
    - m
    - P
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2716
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2716
    functionName: mbedtls_ecp_mul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mul_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_mul(mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
      const mbedtls_mpi *m, const mbedtls_ecp_point *P, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3167,1
    - Dst: mbedtls_ecp_gen_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3167,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3168,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 6
    argNames:
    - grp
    - G
    - d
    - Q
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3172
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3172
    functionName: mbedtls_ecp_gen_keypair_base
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mul
    - MBEDTLS_MPI_CHK
    - mbedtls_ecp_gen_privkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_gen_keypair_base(mbedtls_ecp_group *grp, const mbedtls_ecp_point
      *G, mbedtls_mpi *d, mbedtls_ecp_point *Q, int (*f_rng)(void *, unsigned char
      *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:641,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:641,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:642,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:643,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:642,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: mbedtls_ecp_set_zero
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_lset
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_set_zero(mbedtls_ecp_point *pt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:867,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - grp
    - pt
    - buf
    - buf_len
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 868
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 868
    functionName: mbedtls_ecp_tls_read_point
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_read_binary
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_tls_read_point(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *pt, const unsigned char **buf, size_t buf_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2555,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2565,1
    - Dst: ecp_double_add_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2591,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2576,1
    - Dst: MPI_ECP_COND_SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2592,1
    - Dst: MPI_ECP_COND_SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2589,1
    - Dst: ecp_randomize_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2607,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2608,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2611,1
    - Dst: mpi_init_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2557,1
    - Dst: MPI_ECP_MOV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2564,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2555,1
    - Dst: MPI_ECP_LSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2569,1
    - Dst: MOD_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2573,1
    - Dst: ecp_randomize_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2576,1
    - Dst: MPI_ECP_COND_SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2590,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2607,1
    - Dst: ecp_normalize_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2608,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2611,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2565,1
    - Dst: MPI_ECP_LSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2568,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2581,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2591,1
    - Dst: MPI_ECP_COND_SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2593,1
    - Dst: mpi_free_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2613,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2570,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - grp
    - R
    - m
    - P
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2615
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2615
    functionName: ecp_mul_mxz
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mpi_init_many
    - mbedtls_ecp_copy
    - mbedtls_mpi_get_bit
    - ecp_randomize_mxz
    - mbedtls_ecp_point_init
    - mpi_free_many
    - MPI_ECP_LSET
    - MPI_ECP_MOV
    - ecp_double_add_mxz
    - mbedtls_mpi_free
    - MPI_ECP_COND_SWAP
    - mbedtls_mpi_init
    - ecp_normalize_mxz
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    - MOD_ADD
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mul_mxz(mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
      const mbedtls_mpi *m, const mbedtls_ecp_point *P, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3208,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - grp_id
    - key
    - Q
    argTypes:
    - mbedtls_ecp_group_id
    - mbedtls_ecp_keypair*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 3216
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3216
    functionName: mbedtls_ecp_set_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_copy
    - mbedtls_ecp_group_load
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_set_public_key(mbedtls_ecp_group_id grp_id, mbedtls_ecp_keypair
      *key, const mbedtls_ecp_point *Q) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3249,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3250,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3253,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3272,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3275,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3283,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3289,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3229,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3245,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3248,1
    - Dst: mbedtls_mpi_read_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3268,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3271,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3260,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3284,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3295,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3236,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3249,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3250,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3254,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3272,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3276,1
    - Dst: mbedtls_ecp_check_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3289,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3248,1
    - Dst: mbedtls_mpi_read_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3245,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3271,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3268,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3259,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3284,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 4
    argNames:
    - grp_id
    - key
    - buf
    - buflen
    argTypes:
    - mbedtls_ecp_group_id
    - mbedtls_ecp_keypair*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3299
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3299
    functionName: mbedtls_ecp_read_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_load
    - mbedtls_mpi_read_binary
    - mbedtls_ecp_get_type
    - mbedtls_mpi_set_bit
    - mbedtls_mpi_read_binary_le
    - mbedtls_mpi_free
    - mbedtls_ecp_check_privkey
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_read_key(mbedtls_ecp_group_id grp_id, mbedtls_ecp_keypair
      *key, const unsigned char *buf, size_t buflen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3500,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3504,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3500,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3501,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3501,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3505,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - grp
    - m
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 3518
      start: 3488
    functionDepth: 0
    functionLinenumber: 3488
    functionLinenumberEnd: 3518
    functionName: self_test_adjust_exponent
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_set_bit
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_get_bit
    linkageType: ''
    returnType: int
    signature: 'static int self_test_adjust_exponent(const mbedtls_ecp_group *grp,
      mbedtls_mpi *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - max_ops
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: mbedtls_ecp_set_max_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_set_max_ops(unsigned max_ops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: mbedtls_ecp_group_copy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_load
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_group_copy(mbedtls_ecp_group *dst, const mbedtls_ecp_group
      *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - out
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3483
      start: 3471
    functionDepth: 0
    functionLinenumber: 3471
    functionLinenumberEnd: 3483
    functionName: self_test_rng
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int self_test_rng(void *ctx, unsigned char *out, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:948,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - grp
    - buf
    - len
    argTypes:
    - mbedtls_ecp_group_id*
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 958
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 958
    functionName: mbedtls_ecp_tls_read_group_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_curve_info_from_tls_id
    - MBEDTLS_GET_UINT16_BE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_tls_read_group_id(mbedtls_ecp_group_id *grp, const
      unsigned char **buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecp_group_is_static_comb_table
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - grp
    - p_eq_g
    argTypes:
    - mbedtls_ecp_group*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 2273
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2273
    functionName: ecp_pick_window_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_group_is_static_comb_table
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char ecp_pick_window_size(const mbedtls_ecp_group
      *grp, unsigned char p_eq_g) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_tls_read_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:915,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - grp
    - buf
    - len
    argTypes:
    - mbedtls_ecp_group*
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 920
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 920
    functionName: mbedtls_ecp_tls_read_group
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_tls_read_group_id
    - mbedtls_ecp_group_load
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_tls_read_group(mbedtls_ecp_group *grp, const unsigned
      char **buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2130,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2131,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2142,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2139,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2134,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2142,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2143,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2143,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2144,1
    - Dst: mbedtls_mpi_safe_cond_assign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2144,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2150,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2151,1
    - Dst: ecp_comb_recode_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - grp
    - m
    - k
    - d
    - w
    - parity_trick
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - unsigned char
    - size_t
    - unsigned char
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2154
    functionName: ecp_comb_recode_scalar
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_get_bit
    - ecp_comb_recode_core
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_safe_cond_assign
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'static int ecp_comb_recode_scalar(const mbedtls_ecp_group *grp, const
      mbedtls_mpi *m, unsigned char k[COMB_MAX_D + 1], size_t d, unsigned char w,
      unsigned char *parity_trick) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2189,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2191,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2193,1
    - Dst: ecp_comb_recode_scalar
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2189,1
    - Dst: ecp_mul_comb_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2191,1
    - Dst: ecp_safe_invert_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2193,1
    - Dst: MBEDTLS_ECP_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2201,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2215,1
    - Dst: ecp_randomize_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2215,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2218,1
    - Dst: ecp_normalize_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2218,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2222,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2222,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 10
    argNames:
    - grp
    - R
    - m
    - T
    - T_size
    - w
    - d
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - unsigned char
    - unsigned char
    - size_t
    - int
    - void*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2228
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2228
    functionName: ecp_mul_comb_after_precomp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_comb_recode_scalar
    - mbedtls_ecp_copy
    - ecp_safe_invert_jac
    - ecp_randomize_jac
    - MBEDTLS_ECP_BUDGET
    - ecp_mul_comb_core
    - ecp_normalize_jac
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mul_comb_after_precomp(const mbedtls_ecp_group *grp,
      mbedtls_ecp_point *R, const mbedtls_mpi *m, const mbedtls_ecp_point *T, unsigned
      char T_size, unsigned char w, size_t d, int (*f_rng)(void *, unsigned char *,
      size_t), void *p_rng, mbedtls_ecp_restart_ctx *rs_ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2054,1
    - Dst: mpi_init_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2055,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2077,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2079,1
    - Dst: ecp_select_comb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2077,1
    - Dst: ecp_randomize_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2079,1
    - Dst: MBEDTLS_ECP_BUDGET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2084,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2087,1
    - Dst: ecp_double_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2087,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2088,1
    - Dst: ecp_select_comb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2088,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2094,1
    - Dst: mpi_free_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2095,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2089,1
    - Dst: ecp_add_mixed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2089,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 9
    argNames:
    - grp
    - R
    - T
    - T_size
    - x
    - d
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_ecp_point
    - unsigned char
    - unsigned char
    - size_t
    - int
    - void*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2106
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2106
    functionName: ecp_mul_comb_core
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_add_mixed
    - mpi_init_many
    - ecp_double_jac
    - ecp_randomize_jac
    - ecp_select_comb
    - MBEDTLS_ECP_BUDGET
    - mbedtls_ecp_point_init
    - mpi_free_many
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mul_comb_core(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_ecp_point T[], unsigned char T_size, const unsigned char x[],
      size_t d, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_ecp_restart_ctx
      *rs_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2730,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2731,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2732,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2737,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2733,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2737,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2743,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2744,1
    - Dst: ecp_sw_rhs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2744,1
    - Dst: MPI_ECP_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2746,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2752,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - grp
    - pt
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 2755
      start: 2724
    functionDepth: 0
    functionLinenumber: 2724
    functionLinenumberEnd: 2755
    functionName: ecp_check_pubkey_sw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_sw_rhs
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - MPI_ECP_CMP
    - mbedtls_mpi_init
    - MPI_ECP_SQR
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_check_pubkey_sw(const mbedtls_ecp_group *grp, const
      mbedtls_ecp_point *pt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3613,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3614,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3621,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3627,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3630,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3663,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3685,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3615,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3623,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3641,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3652,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3631,1
    - Dst: self_test_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3632,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3661,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3682,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3616,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3621,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3630,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3653,1
    - Dst: self_test_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3644,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3658,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3663,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3679,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3683,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3623,1
    - Dst: mbedtls_ecp_curve_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3623,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3631,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3661,1
    - Dst: self_test_point
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3667,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3684,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3688,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3696
      start: 3576
    functionDepth: 0
    functionLinenumber: 3576
    functionLinenumberEnd: 3696
    functionName: mbedtls_ecp_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_printf
    - mbedtls_ecp_group_free
    - mbedtls_ecp_group_load
    - mbedtls_ecp_mul
    - mbedtls_ecp_point_init
    - mbedtls_mpi_lset
    - mbedtls_mpi_free
    - mbedtls_ecp_curve_list
    - mbedtls_mpi_init
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    - self_test_point
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_self_test(int verbose) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1684,1
    - Dst: MPI_ECP_RAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1698,1
    - Dst: mbedtls_internal_ecp_randomize_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1685,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1701,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1695,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1704,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1707,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1708,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1711,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1714,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - grp
    - pt
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1721
    functionName: ecp_randomize_jac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_ecp_randomize_jac
    - MPI_ECP_RAND
    - MPI_ECP_MUL
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MPI_ECP_SQR
    - mbedtls_internal_ecp_grp_capable
    linkageType: ''
    returnType: int
    signature: 'static int ecp_randomize_jac(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *pt, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3099,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3101,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3099,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3103,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3101,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3103,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3107,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3107,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3108,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3108,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3110,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - high_bit
    - d
    - (*f_rng)
    - p_rng
    argTypes:
    - size_t
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3115
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3115
    functionName: mbedtls_ecp_gen_privkey_mx
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_fill_random
    - mbedtls_mpi_set_bit
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ecp_gen_privkey_mx(size_t high_bit,
      mbedtls_mpi *d, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ecp_restart_rsm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:233,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:237,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:234,1
    - Dst: ecp_restart_ma_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:236,1
    - Dst: mbedtls_ecp_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: mbedtls_ecp_restart_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_ecp_restart_init
    - ecp_restart_ma_free
    - ecp_restart_rsm_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_restart_free(mbedtls_ecp_restart_ctx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MPI_ECP_CMP_INT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1315,1
    - Dst: mbedtls_internal_ecp_normalize_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1321,1
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1320,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1330,1
    - Dst: MPI_ECP_INV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1332,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1333,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1334,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1335,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1336,1
    - Dst: MPI_ECP_LSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1338,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - grp
    - pt
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1346
    functionName: ecp_normalize_jac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - MPI_ECP_INV
    - mbedtls_internal_ecp_normalize_jac
    - MPI_ECP_LSET
    - MPI_ECP_CMP_INT
    - MPI_ECP_MUL
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MPI_ECP_SQR
    - mbedtls_internal_ecp_grp_capable
    linkageType: ''
    returnType: int
    signature: 'static int ecp_normalize_jac(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - key
    - format
    - olen
    - buf
    - buflen
    argTypes:
    - mbedtls_ecp_keypair*
    - int
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3378
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3378
    functionName: mbedtls_ecp_write_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_write_binary
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_write_public_key(const mbedtls_ecp_keypair *key, int
      format, size_t *olen, unsigned char *buf, size_t buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecp_restart_mul_ctx*
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: ecp_restart_rsm_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_init
    linkageType: ''
    returnType: void
    signature: 'static void ecp_restart_rsm_init(mbedtls_ecp_restart_mul_ctx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: mbedtls_ecp_restart_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_restart_init(mbedtls_ecp_restart_ctx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3446,1
    - Dst: mbedtls_ecp_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3454,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - key
    - grp
    - d
    - Q
    argTypes:
    - mbedtls_ecp_keypair*
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 3459
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3459
    functionName: mbedtls_ecp_export
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_copy
    - mbedtls_ecp_copy
    - mbedtls_ecp_group_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_export(const mbedtls_ecp_keypair *key, mbedtls_ecp_group
      *grp, mbedtls_mpi *d, mbedtls_ecp_point *Q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:619,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:621,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:620,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:620,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:619,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - P
    - Q
    argTypes:
    - mbedtls_ecp_point*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: mbedtls_ecp_copy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_copy(mbedtls_ecp_point *P, const mbedtls_ecp_point
      *Q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3142,1
    - Dst: mbedtls_ecp_gen_privkey_sw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3149,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3148,1
    - Dst: mbedtls_ecp_gen_privkey_mx
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - grp
    - d
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3154
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3154
    functionName: mbedtls_ecp_gen_privkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_gen_privkey_sw
    - mbedtls_ecp_get_type
    - mbedtls_ecp_gen_privkey_mx
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_gen_privkey(const mbedtls_ecp_group *grp, mbedtls_mpi
      *d, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_ecp_keypair*
    constantsTouched: []
    func_position:
      end: 3436
      start: 3432
    functionDepth: 0
    functionLinenumber: 3432
    functionLinenumberEnd: 3436
    functionName: mbedtls_ecp_keypair_get_group_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_group_id
    signature: 'mbedtls_ecp_group_id mbedtls_ecp_keypair_get_group_id( const mbedtls_ecp_keypair
      *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:608,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:610,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - mbedtls_ecp_keypair*
    constantsTouched: []
    func_position:
      end: 611
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 611
    functionName: mbedtls_ecp_keypair_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_free
    - mbedtls_ecp_group_free
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_keypair_free(mbedtls_ecp_keypair *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1083,1
    - Dst: MOD_SUB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1084,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - grp
    - X
    - A
    - B
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1087
    functionName: mbedtls_mpi_sub_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_mpi
    - MBEDTLS_MPI_CHK
    - MOD_SUB
    linkageType: ''
    returnType: MBEDTLS_MAYBE_UNUSED
    signature: 'MBEDTLS_MAYBE_UNUSED static inline int mbedtls_mpi_sub_mod(const mbedtls_ecp_group
      *grp, mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1104,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1104,1
    - Dst: MOD_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - grp
    - X
    - A
    - B
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1108
    functionName: mbedtls_mpi_add_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_add_mpi
    - MBEDTLS_MPI_CHK
    - MOD_ADD
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_mpi_add_mod(const mbedtls_ecp_group *grp,
      mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi *B) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ECP_RS_ENTER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2300,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2335,1
    - Dst: MPI_ECP_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2304,1
    - Dst: ecp_pick_window_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2311,1
    - Dst: MPI_ECP_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2305,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2342,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2350,1
    - Dst: ecp_precompute_comb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2350,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2361,1
    - Dst: ecp_mul_comb_after_precomp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2361,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2387,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2399,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2385,1
    - Dst: ECP_RS_LEAVE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2402,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 7
    argNames:
    - grp
    - R
    - m
    - P
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - int
    - void*
    - mbedtls_ecp_restart_ctx*
    constantsTouched: []
    func_position:
      end: 2405
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2405
    functionName: ecp_mul_comb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - ECP_RS_LEAVE
    - mbedtls_free
    - mbedtls_ecp_point_init
    - ecp_pick_window_size
    - MPI_ECP_CMP
    - ecp_mul_comb_after_precomp
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    - ecp_precompute_comb
    - ECP_RS_ENTER
    linkageType: ''
    returnType: int
    signature: 'static int ecp_mul_comb(mbedtls_ecp_group *grp, mbedtls_ecp_point
      *R, const mbedtls_mpi *m, const mbedtls_ecp_point *P, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng, mbedtls_ecp_restart_ctx *rs_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1118,1
    - Dst: MOD_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1119,1
    - Dst: mbedtls_mpi_mul_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - grp
    - X
    - A
    - c
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 1122
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1122
    functionName: mbedtls_mpi_mul_int_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mul_int
    - MBEDTLS_MPI_CHK
    - MOD_ADD
    linkageType: ''
    returnType: MBEDTLS_MAYBE_UNUSED
    signature: 'MBEDTLS_MAYBE_UNUSED static inline int mbedtls_mpi_mul_int_mod(const
      mbedtls_ecp_group *grp, mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_uint
      c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:514,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:518,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:517,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:515,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - grp
    argTypes:
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: mbedtls_ecp_group_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_init
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_group_init(mbedtls_ecp_group *grp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3192,1
    - Dst: mbedtls_ecp_gen_keypair
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - grp_id
    - key
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group_id
    - mbedtls_ecp_keypair*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3197
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3197
    functionName: mbedtls_ecp_gen_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_gen_keypair
    - mbedtls_ecp_group_load
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_gen_key(mbedtls_ecp_group_id grp_id, mbedtls_ecp_keypair
      *key, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:503,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:505,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: mbedtls_ecp_point_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ecp_point_init(mbedtls_ecp_point *pt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ecp_normalize_jac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1363,1
    - Dst: mbedtls_internal_ecp_normalize_jac_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1368,1
    - Dst: MPI_ECP_MOV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1389,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1415,1
    - Dst: MPI_ECP_SQR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1422,1
    - Dst: MPI_ECP_MOV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1417,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1423,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1424,1
    - Dst: MPI_ECP_INV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1397,1
    - Dst: mbedtls_mpi_shrink
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1432,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1433,1
    - Dst: mpi_init_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1385,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1391,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1414,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1421,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1379,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1383,1
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1367,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1432,1
    - Dst: mbedtls_mpi_shrink
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1433,1
    - Dst: MPI_ECP_LSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1435,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1444,1
    - Dst: mpi_free_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1445,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1446,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - grp
    - T
    - T_size
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - size_t
    constantsTouched: []
    func_position:
      end: 1450
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1450
    functionName: ecp_normalize_jac_many
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mpi_init_many
    - MPI_ECP_INV
    - mbedtls_free
    - mpi_free_many
    - mbedtls_internal_ecp_normalize_jac_many
    - MPI_ECP_LSET
    - MPI_ECP_MOV
    - MBEDTLS_MPI_CHK
    - MPI_ECP_MUL
    - mbedtls_mpi_shrink
    - mbedtls_mpi_init
    - mbedtls_mpi_free
    - ecp_normalize_jac
    - MPI_ECP_SQR
    - mbedtls_internal_ecp_grp_capable
    linkageType: ''
    returnType: int
    signature: 'static int ecp_normalize_jac_many(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *T[], size_t T_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2425,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2435,1
    - Dst: MPI_ECP_LSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2436,1
    - Dst: MPI_ECP_INV
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2434,1
    - Dst: mbedtls_internal_ecp_normalize_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - grp
    - P
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2441
    functionName: ecp_normalize_mxz
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_ecp_normalize_mxz
    - MPI_ECP_INV
    - MPI_ECP_LSET
    - MPI_ECP_MUL
    - mbedtls_internal_ecp_grp_capable
    linkageType: ''
    returnType: int
    signature: 'static int ecp_normalize_mxz(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *P) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - arr
    - size
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: mpi_init_many
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_init
    linkageType: ''
    returnType: void
    signature: 'static void mpi_init_many(mbedtls_mpi *arr, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - arr
    - size
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: mpi_free_many
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: 'static void mpi_free_many(mbedtls_mpi *arr, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:207,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:208,1
    - Dst: ecp_restart_ma_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ecp_restart_muladd_ctx*
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: ecp_restart_ma_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - ecp_restart_ma_init
    - mbedtls_ecp_point_free
    linkageType: ''
    returnType: void
    signature: 'static void ecp_restart_ma_free(mbedtls_ecp_restart_muladd_ctx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1789,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 4
    argNames:
    - x
    - d
    - w
    - m
    argTypes:
    - unsigned char
    - size_t
    - unsigned char
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1812
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1812
    functionName: ecp_comb_recode_core
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_get_bit
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ecp_comb_recode_core(unsigned char x[], size_t d, unsigned
      char w, const mbedtls_mpi *m) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3054,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3058,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3057,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3063,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3056,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3071,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3073,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3074,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - grp
    - d
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 3083
      start: 3050
    functionDepth: 0
    functionLinenumber: 3050
    functionLinenumberEnd: 3083
    functionName: mbedtls_ecp_check_privkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_get_bit
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_cmp_mpi
    - mbedtls_ecp_get_type
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_check_privkey(const mbedtls_ecp_group *grp, const
      mbedtls_mpi *d) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2952,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2957,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2956,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2956,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2958,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2958,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2964,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2971,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2976,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2986,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2986,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2995,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2987,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - X
    - P
    - grp_id
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 2998
      start: 2946
    functionDepth: 0
    functionLinenumber: 2946
    functionLinenumberEnd: 2998
    functionName: ecp_check_bad_points_mx
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_add_int
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'static int ecp_check_bad_points_mx(const mbedtls_mpi *X, const mbedtls_mpi
      *P, const mbedtls_ecp_group_id grp_id) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:702,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:716,1
    - Dst: mbedtls_ecp_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:706,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:712,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:712,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:720,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:739,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:739,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:740,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:740,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:748,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:749,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:749,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 6
    argNames:
    - grp
    - P
    - format
    - olen
    - buf
    - buflen
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - int
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 756
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 756
    functionName: mbedtls_ecp_point_write_binary
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_get_bit
    - mbedtls_mpi_write_binary
    - mbedtls_ecp_get_type
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_size
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_write_binary_le
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_point_write_binary(const mbedtls_ecp_group *grp, const
      mbedtls_ecp_point *P, int format, size_t *olen, unsigned char *buf, size_t buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_curve_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 422
    functionName: mbedtls_ecp_grp_id_list
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_curve_list
    linkageType: ''
    returnType: mbedtls_ecp_group_id*
    signature: 'const mbedtls_ecp_group_id *mbedtls_ecp_grp_id_list(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_curve_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - tls_id
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: mbedtls_ecp_curve_info_from_tls_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_curve_list
    linkageType: ''
    returnType: mbedtls_ecp_curve_info*
    signature: 'const mbedtls_ecp_curve_info *mbedtls_ecp_curve_info_from_tls_id(uint16_t
      tls_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:679,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:680,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:680,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:679,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:681,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - P
    - radix
    - x
    - y
    argTypes:
    - mbedtls_ecp_point*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 685
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 685
    functionName: mbedtls_ecp_point_read_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_lset
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_read_string
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_point_read_string(mbedtls_ecp_point *P, int radix,
      const char *x, const char *y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1003,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1007,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1012,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1008,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1015,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1016,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1016,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1019,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1021,1
    - Dst: mbedtls_mpi_sub_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:1021,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - N
    - grp
    argTypes:
    - mbedtls_mpi*
    - mbedtls_ecp_group*
    constantsTouched: []
    func_position:
      end: 1026
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1026
    functionName: ecp_modp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_abs
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_cmp_int
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int ecp_modp(mbedtls_mpi *N, const mbedtls_ecp_group *grp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3394,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3401,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3396,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3395,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3400,1
    - Dst: mbedtls_ecp_group_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3404,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3407,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3407,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3409,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3410,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3411,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3417,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3418,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - pub
    - prv
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_keypair*
    - mbedtls_ecp_keypair*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3421
      start: 3385
    functionDepth: 0
    functionLinenumber: 3385
    functionLinenumberEnd: 3421
    functionName: mbedtls_ecp_check_pub_priv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_group_init
    - mbedtls_ecp_group_free
    - mbedtls_ecp_group_copy
    - mbedtls_mpi_cmp_mpi
    - mbedtls_ecp_mul
    - mbedtls_ecp_point_init
    - mbedtls_ecp_point_free
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_check_pub_priv( const mbedtls_ecp_keypair *pub, const
      mbedtls_ecp_keypair *prv, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - key
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_keypair*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3429
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3429
    functionName: mbedtls_ecp_keypair_calc_public
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mul
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_keypair_calc_public(mbedtls_ecp_keypair *key, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3008,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3015,1
    - Dst: ecp_check_bad_points_mx
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:3019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - grp
    - pt
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 3020
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3020
    functionName: ecp_check_pubkey_mx
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_size
    - mbedtls_mpi_cmp_int
    - ecp_check_bad_points_mx
    linkageType: ''
    returnType: int
    signature: 'static int ecp_check_pubkey_mx(const mbedtls_ecp_group *grp, const
      mbedtls_ecp_point *pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: mbedtls_ecp_curve_list
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_curve_info*
    signature: 'const mbedtls_ecp_curve_info *mbedtls_ecp_curve_list(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_curve_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - grp_id
    argTypes:
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: mbedtls_ecp_curve_info_from_grp_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_curve_list
    linkageType: ''
    returnType: mbedtls_ecp_curve_info*
    signature: 'const mbedtls_ecp_curve_info *mbedtls_ecp_curve_info_from_grp_id(mbedtls_ecp_group_id
      grp_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_curve_info_from_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:967,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - grp
    - olen
    - buf
    - blen
    argTypes:
    - mbedtls_ecp_group*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 990
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 990
    functionName: mbedtls_ecp_tls_write_group
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ecp_curve_info_from_grp_id
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_tls_write_group(const mbedtls_ecp_group *grp, size_t
      *olen, unsigned char *buf, size_t blen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_ecp_grp_capable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2455,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2470,1
    - Dst: mbedtls_internal_ecp_randomize_mxz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2456,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2465,1
    - Dst: MPI_ECP_RAND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2468,1
    - Dst: MPI_ECP_MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2471,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2474,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - grp
    - P
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2481
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2481
    functionName: ecp_randomize_mxz
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - MPI_ECP_RAND
    - MPI_ECP_MUL
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_internal_ecp_grp_capable
    - mbedtls_internal_ecp_randomize_mxz
    linkageType: ''
    returnType: int
    signature: 'static int ecp_randomize_mxz(const mbedtls_ecp_group *grp, mbedtls_ecp_point
      *P, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_muladd_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c:2907,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - grp
    - R
    - m
    - P
    - n
    - Q
    argTypes:
    - mbedtls_ecp_group*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    - mbedtls_mpi*
    - mbedtls_ecp_point*
    constantsTouched: []
    func_position:
      end: 2908
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2908
    functionName: mbedtls_ecp_muladd
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_muladd_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ecp_muladd(mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
      const mbedtls_mpi *m, const mbedtls_ecp_point *P, const mbedtls_mpi *n, const
      mbedtls_ecp_point *Q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_lt_ct
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - r
    - N
    - p
    - p_limbs
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: mbedtls_mpi_mod_residue_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_lt_ct
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_residue_setup(mbedtls_mpi_mod_residue *r, const
      mbedtls_mpi_mod_modulus *N, mbedtls_mpi_uint *p, size_t p_limbs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:98,1
    - Dst: mbedtls_mpi_core_get_mont_r2_unsafe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:111,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:105,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:99,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:109,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:119,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:120,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - X
    - A
    - limbs
    argTypes:
    - mbedtls_mpi_uint**
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 123
    functionName: set_mont_const_square
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_get_mont_r2_unsafe
    - memcpy
    - mbedtls_mpi_grow
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    linkageType: ''
    returnType: int
    signature: 'static int set_mont_const_square(const mbedtls_mpi_uint **X, const
      mbedtls_mpi_uint *A, size_t limbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: mbedtls_mpi_mod_modulus_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_modulus_init(mbedtls_mpi_mod_modulus *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: standard_modulus_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:141,1
    - Dst: mbedtls_mpi_mod_modulus_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:146,1
    - Dst: set_mont_const_square
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:143,1
    - Dst: mbedtls_mpi_core_montmul_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - N
    - p
    - p_limbs
    argTypes:
    - mbedtls_mpi_mod_modulus*
    - mbedtls_mpi_uint*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: mbedtls_mpi_mod_modulus_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_modulus_free
    - mbedtls_mpi_core_montmul_init
    - set_mont_const_square
    - standard_modulus_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_modulus_setup(mbedtls_mpi_mod_modulus *N, const
      mbedtls_mpi_uint *p, size_t p_limbs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:175,1
    - Dst: mbedtls_mpi_mod_raw_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:180,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:182,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - X
    - A
    - B
    - N
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 185
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 185
    functionName: mbedtls_mpi_mod_mul
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_calloc
    - mbedtls_mpi_mod_raw_mul
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_mul(mbedtls_mpi_mod_residue *X, const mbedtls_mpi_mod_residue
      *A, const mbedtls_mpi_mod_residue *B, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_raw_inv_prime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - X
    - A
    - N
    - working_memory
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: mbedtls_mpi_mod_inv_mont
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_raw_inv_prime
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_mpi_mod_inv_mont(mbedtls_mpi_mod_residue *X, const
      mbedtls_mpi_mod_residue *A, const mbedtls_mpi_mod_modulus *N, mbedtls_mpi_uint
      *working_memory) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_check_zero_ct
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:257,1
    - Dst: mbedtls_mpi_mod_inv_non_mont
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:277,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:264,1
    - Dst: mbedtls_mpi_mod_inv_mont
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:274,1
    - Dst: mbedtls_mpi_mod_raw_inv_prime_working_limbs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:262,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:284,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - X
    - A
    - N
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 288
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 288
    functionName: mbedtls_mpi_mod_inv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_check_zero_ct
    - mbedtls_calloc
    - mbedtls_mpi_mod_inv_mont
    - mbedtls_mpi_mod_raw_inv_prime_working_limbs
    - mbedtls_mpi_mod_inv_non_mont
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_inv(mbedtls_mpi_mod_residue *X, const mbedtls_mpi_mod_residue
      *A, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_raw_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - X
    - min
    - N
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_uint
    - mbedtls_mpi_mod_modulus*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: mbedtls_mpi_mod_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_raw_random
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_random(mbedtls_mpi_mod_residue *X, mbedtls_mpi_uint
      min, const mbedtls_mpi_mod_modulus *N, int (*f_rng)(void *, unsigned char *,
      size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - mbedtls_mpi_mod_residue*
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: mbedtls_mpi_mod_residue_release
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_residue_release(mbedtls_mpi_mod_residue *r) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - N
    argTypes:
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: mbedtls_mpi_mod_modulus_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_mod_modulus_free(mbedtls_mpi_mod_modulus *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - N
    - p
    - p_limbs
    - int_rep
    argTypes:
    - mbedtls_mpi_mod_modulus*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_mod_rep_selector
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: standard_modulus_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_bitlen
    linkageType: ''
    returnType: void
    signature: 'static inline void standard_modulus_setup(mbedtls_mpi_mod_modulus
      *N, const mbedtls_mpi_uint *p, size_t p_limbs, mbedtls_mpi_mod_rep_selector
      int_rep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: standard_modulus_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - N
    - p
    - p_limbs
    - modp
    argTypes:
    - mbedtls_mpi_mod_modulus*
    - mbedtls_mpi_uint*
    - size_t
    - mbedtls_mpi_modp_fn
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: mbedtls_mpi_mod_optred_modulus_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - standard_modulus_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_optred_modulus_setup(mbedtls_mpi_mod_modulus *N,
      const mbedtls_mpi_uint *p, size_t p_limbs, mbedtls_mpi_modp_fn modp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_raw_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - X
    - A
    - B
    - N
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: mbedtls_mpi_mod_sub
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_raw_sub
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_sub(mbedtls_mpi_mod_residue *X, const mbedtls_mpi_mod_residue
      *A, const mbedtls_mpi_mod_residue *B, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_modulus_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:224,1
    - Dst: mbedtls_mpi_core_to_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:229,1
    - Dst: mbedtls_mpi_mod_raw_inv_prime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:233,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:226,1
    - Dst: mbedtls_mpi_mod_modulus_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:226,1
    - Dst: mbedtls_mpi_core_from_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:240,1
    - Dst: mbedtls_mpi_mod_modulus_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - X
    - A
    - N
    - working_memory
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: mbedtls_mpi_mod_inv_non_mont
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_modulus_free
    - mbedtls_mpi_mod_raw_inv_prime
    - mbedtls_mpi_mod_modulus_setup
    - mbedtls_mpi_mod_modulus_init
    - mbedtls_mpi_core_to_mont_rep
    - mbedtls_mpi_core_from_mont_rep
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_mpi_mod_inv_non_mont(mbedtls_mpi_mod_residue *X,
      const mbedtls_mpi_mod_residue *A, const mbedtls_mpi_mod_modulus *N, mbedtls_mpi_uint
      *working_memory) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_raw_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - X
    - A
    - B
    - N
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: mbedtls_mpi_mod_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_raw_add
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_add(mbedtls_mpi_mod_residue *X, const mbedtls_mpi_mod_residue
      *A, const mbedtls_mpi_mod_residue *B, const mbedtls_mpi_mod_modulus *N) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_mod_raw_read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:332,1
    - Dst: mbedtls_mpi_mod_raw_canonical_to_modulus_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:339,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - r
    - N
    - buf
    - buflen
    - ext_rep
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    - unsigned char*
    - size_t
    - mbedtls_mpi_mod_ext_rep
    constantsTouched: []
    func_position:
      end: 343
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 343
    functionName: mbedtls_mpi_mod_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_mod_raw_canonical_to_modulus_rep
    - mbedtls_mpi_mod_raw_read
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_read(mbedtls_mpi_mod_residue *r, const mbedtls_mpi_mod_modulus
      *N, const unsigned char *buf, size_t buflen, mbedtls_mpi_mod_ext_rep ext_rep) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:365,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:372,1
    - Dst: mbedtls_mpi_mod_raw_write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:380,1
    - Dst: mbedtls_mpi_mod_raw_from_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:374,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c:387,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - r
    - N
    - buf
    - buflen
    - ext_rep
    argTypes:
    - mbedtls_mpi_mod_residue*
    - mbedtls_mpi_mod_modulus*
    - unsigned char*
    - size_t
    - mbedtls_mpi_mod_ext_rep
    constantsTouched: []
    func_position:
      end: 391
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 391
    functionName: mbedtls_mpi_mod_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum_mod.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_mpi_mod_raw_from_mont_rep
    - memcpy
    - mbedtls_mpi_mod_raw_write
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_write(const mbedtls_mpi_mod_residue *r, const
      mbedtls_mpi_mod_modulus *N, unsigned char *buf, size_t buflen, mbedtls_mpi_mod_ext_rep
      ext_rep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SBOX1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:255,1
    - Dst: SBOX3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:257,1
    - Dst: SBOX2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:256,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:256,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:255,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:257,1
    - Dst: SBOX4
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:258,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:258,1
    - Dst: SBOX2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:259,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:259,1
    - Dst: SBOX3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:260,1
    - Dst: SBOX4
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:261,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:261,1
    - Dst: SBOX1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:262,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:262,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 3
    argNames:
    - x
    - k
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 271
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 271
    functionName: camellia_feistel
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - SBOX4
    - MBEDTLS_BYTE_3
    - SBOX1
    - SBOX3
    - SBOX2
    linkageType: ''
    returnType: void
    signature: 'static void camellia_feistel(const uint32_t x[2], const uint32_t k[2],
      uint32_t z[2]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_camellia_context*
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: mbedtls_camellia_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_camellia_free(mbedtls_camellia_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:536,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:541,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:549,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:539,1
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:537,1
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:551,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:552,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - mbedtls_camellia_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 561
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 561
    functionName: mbedtls_camellia_crypt_cbc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - memcpy
    - mbedtls_camellia_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_camellia_crypt_cbc(mbedtls_camellia_context *ctx, int
      mode, size_t length, unsigned char iv[16], const unsigned char *input, unsigned
      char *output) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:590,1
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:602,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 7
    argNames:
    - ctx
    - mode
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - mbedtls_camellia_context*
    - int
    - size_t
    - size_t*
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 614
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 614
    functionName: mbedtls_camellia_crypt_cfb128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_camellia_crypt_cfb128(mbedtls_camellia_context *ctx, int
      mode, size_t length, size_t *iv_off, unsigned char iv[16], const unsigned char
      *input, unsigned char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 7
    argNames:
    - ctx
    - length
    - nc_off
    - nonce_counter
    - stream_block
    - input
    - output
    argTypes:
    - mbedtls_camellia_context*
    - size_t
    - size_t*
    - unsigned char
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 657
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 657
    functionName: mbedtls_camellia_crypt_ctr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_camellia_crypt_ctr(mbedtls_camellia_context *ctx, size_t
      length, size_t *nc_off, unsigned char nonce_counter[16], unsigned char stream_block[16],
      const unsigned char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_camellia_context*
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: mbedtls_camellia_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_camellia_init(mbedtls_camellia_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:468,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:471,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:469,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:470,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:480,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:482,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:484,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:486,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:488,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:490,1
    - Dst: FLInv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:496,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:509,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:506,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:507,1
    - Dst: FL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:494,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_camellia_context*
    - int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 512
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 512
    functionName: mbedtls_camellia_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - FLInv
    - MBEDTLS_PUT_UINT32_BE
    - FL
    - camellia_feistel
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_camellia_crypt_ecb(mbedtls_camellia_context *ctx, int
      mode, const unsigned char input[16], unsigned char output[16]) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:908,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:949,1
    - Dst: mbedtls_camellia_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:956,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:966,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:975,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1000,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1004,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1005,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1017,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1030,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1019,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1044,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:968,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:895,1
    - Dst: mbedtls_camellia_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:906,1
    - Dst: mbedtls_camellia_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:912,1
    - Dst: mbedtls_camellia_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:917,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:921,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:950,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:919,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:933,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:964,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:967,1
    - Dst: mbedtls_camellia_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1008,1
    - Dst: mbedtls_camellia_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1051,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1032,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:888,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:902,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:907,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:928,1
    - Dst: mbedtls_camellia_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:954,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:962,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1012,1
    - Dst: mbedtls_camellia_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1014,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1025,1
    - Dst: mbedtls_camellia_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1027,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:1039,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:988,1
    - Dst: mbedtls_camellia_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:880,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:881,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:913,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:914,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:945,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:951,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:963,1
    - Dst: mbedtls_camellia_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:971,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:973,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:982,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 150
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1053
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 1053
    functionName: mbedtls_camellia_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_camellia_crypt_ecb
    - memcmp
    - mbedtls_camellia_init
    - mbedtls_camellia_setkey_enc
    - memcpy
    - mbedtls_camellia_crypt_cbc
    - mbedtls_camellia_crypt_ctr
    - mbedtls_camellia_setkey_dec
    - mbedtls_camellia_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_camellia_self_test(int verbose) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:304,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:329,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:336,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:328,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:305,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:340,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:348,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:349,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:355,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:356,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:365,1
    - Dst: SHIFT_AND_PLACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:373,1
    - Dst: camellia_feistel
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:364,1
    - Dst: SHIFT_AND_PLACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:377,1
    - Dst: SHIFT_AND_PLACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:381,1
    - Dst: SHIFT_AND_PLACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:385,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_camellia_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 396
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 396
    functionName: mbedtls_camellia_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - SHIFT_AND_PLACE
    - MBEDTLS_GET_UINT32_BE
    - camellia_feistel
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_camellia_setkey_enc(mbedtls_camellia_context *ctx, const
      unsigned char *key, unsigned int keybits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_camellia_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:412,1
    - Dst: mbedtls_camellia_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:443,1
    - Dst: mbedtls_camellia_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_camellia_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 446
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 446
    functionName: mbedtls_camellia_setkey_dec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/camellia.c
    functionUses: []
    functionsReached:
    - mbedtls_camellia_setkey_enc
    - mbedtls_camellia_free
    - mbedtls_camellia_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_camellia_setkey_dec(mbedtls_camellia_context *ctx, const
      unsigned char *key, unsigned int keybits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - feature
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 51
    functionName: mbedtls_padlock_has_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_padlock_has_support(int feature) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PADLOCK_ALIGN16
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c:73,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c:93,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 96
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 96
    functionName: mbedtls_padlock_xcryptecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PADLOCK_ALIGN16
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_padlock_xcryptecb(mbedtls_aes_context *ctx, int mode,
      const unsigned char input[16], unsigned char output[16]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PADLOCK_ALIGN16
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c:124,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c:125,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 151
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 151
    functionName: mbedtls_padlock_xcryptcbc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/padlock.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PADLOCK_ALIGN16
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_padlock_xcryptcbc(mbedtls_aes_context *ctx, int mode,
      size_t length, unsigned char iv[16], const unsigned char *input, unsigned char
      *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_s
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:180,1
    - Dst: gmtime_s
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:183,1
    - Dst: gmtime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:196,1
    - Dst: gmtime_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:186,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:191,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:199,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - tt
    - tm_buf
    argTypes:
    - mbedtls_time_t*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 210
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 210
    functionName: mbedtls_platform_gmtime_r
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c
    functionUses: []
    functionsReached:
    - gmtime_r
    - memcpy
    - mbedtls_mutex_lock
    - gmtime
    - gmtime_s
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: struct tm*
    signature: 'struct tm *mbedtls_platform_gmtime_r(const mbedtls_time_t *tt, struct
      tm *tm_buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: explicit_bzero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:97,1
    - Dst: memset_s
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:108,1
    - Dst: memset_func
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:112,1
    - Dst: SecureZeroMemory
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:110,1
    - Dst: __msan_unpoison
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 135
    functionName: mbedtls_platform_zeroize
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c
    functionUses: []
    functionsReached:
    - memset_s
    - __msan_unpoison
    - SecureZeroMemory
    - explicit_bzero
    - memset_func
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_platform_zeroize(void *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: mbedtls_ms_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c
    functionUses: []
    functionsReached:
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: mbedtls_ms_time_t
    signature: 'mbedtls_ms_time_t mbedtls_ms_time(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:141,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: mbedtls_zeroize_and_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_zeroize_and_free(void *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:234,1
    - Dst: time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:239,1
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: mbedtls_ms_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/platform_util.c
    functionUses: []
    functionsReached:
    - clock_gettime
    - time
    linkageType: ''
    returnType: mbedtls_ms_time_t
    signature: 'mbedtls_ms_time_t mbedtls_ms_time(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - info
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_info_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: mbedtls_pk_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_setup(mbedtls_pk_context *ctx, const mbedtls_pk_info_t
      *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:170,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:173,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:174,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 191
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 191
    functionName: mbedtls_pk_setup_opaque
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - psa_get_key_type
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - PSA_KEY_TYPE_IS_ECC_KEY_PAIR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_setup_opaque(mbedtls_pk_context *ctx, const mbedtls_svc_key_id_t
      key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - key
    - decrypt_func
    - sign_func
    - key_len_func
    argTypes:
    - mbedtls_pk_context*
    - void*
    - mbedtls_pk_rsa_alt_decrypt_func
    - mbedtls_pk_rsa_alt_sign_func
    - mbedtls_pk_rsa_alt_key_len_func
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: mbedtls_pk_setup_rsa_alt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_setup_rsa_alt(mbedtls_pk_context *ctx, void *key, mbedtls_pk_rsa_alt_decrypt_func
      decrypt_func, mbedtls_pk_rsa_alt_sign_func sign_func, mbedtls_pk_rsa_alt_key_len_func
      key_len_func) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:261,1
    - Dst: PSA_ALG_IS_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:263,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:320,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:276,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:260,1
    - Dst: psa_get_key_enrollment_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:332,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:281,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:284,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:286,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:335,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:369,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:370,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:259,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:277,1
    - Dst: PSA_ALG_IS_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:284,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:325,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:363,1
    - Dst: PSA_ALG_IS_SIGN_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:362,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:289,1
    - Dst: psa_get_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:334,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:364,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 100
    argCount: 3
    argNames:
    - ctx
    - alg
    - usage
    argTypes:
    - mbedtls_pk_context*
    - psa_algorithm_t
    - psa_key_usage_t
    constantsTouched: []
    func_position:
      end: 378
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 378
    functionName: mbedtls_pk_can_do_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - PSA_ALG_IS_ECDH
    - psa_get_key_enrollment_algorithm
    - psa_get_key_algorithm
    - psa_get_key_attributes
    - PSA_ALG_IS_SIGN_HASH
    - PSA_ALG_IS_ECDSA
    - psa_reset_key_attributes
    - mbedtls_pk_get_type
    - PSA_ALG_IS_RSA_PSS
    - psa_get_key_usage_flags
    - PSA_ALG_SIGN_GET_HASH
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_can_do_ext(const mbedtls_pk_context *ctx, psa_algorithm_t
      alg, psa_key_usage_t usage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:597,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:604,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - old_key_id
    - attributes
    - new_key_id
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 606
    functionName: export_import_into_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - psa_export_key
    - psa_import_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t export_import_into_psa(mbedtls_svc_key_id_t old_key_id,
      const psa_key_attributes_t *attributes, mbedtls_svc_key_id_t *new_key_id) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:742,1
    - Dst: mbedtls_rsa_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:761,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:761,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:782,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:752,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:788,1
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:790,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:792,1
    - Dst: mbedtls_ecp_write_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:795,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:812,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:816,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:817,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:821,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:825,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:836,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:836,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:818,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 3
    argNames:
    - pk
    - attributes
    - key_id
    argTypes:
    - mbedtls_pk_context*
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 839
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 839
    functionName: import_public_into_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_rsa
    - PSA_KEY_TYPE_ECC_PUBLIC_KEY
    - psa_import_key
    - mbedtls_rsa_write_pubkey
    - mbedtls_ecc_group_to_psa
    - mbedtls_ecp_write_public_key
    - psa_get_key_attributes
    - psa_export_public_key
    - psa_reset_key_attributes
    - PSA_PK_TO_MBEDTLS_ERR
    - psa_get_key_type
    - mbedtls_pk_get_type
    - mbedtls_pk_ec_ro
    - PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
    linkageType: ''
    returnType: int
    signature: 'static int import_public_into_psa(const mbedtls_pk_context *pk, const
      psa_key_attributes_t *attributes, mbedtls_svc_key_id_t *key_id) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:895,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:888,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:905,1
    - Dst: mbedtls_rsa_parse_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:913,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:929,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:941,1
    - Dst: mbedtls_ecc_group_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:946,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:946,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:952,1
    - Dst: mbedtls_pk_ecc_set_pubkey_from_prv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:957,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:880,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:886,1
    - Dst: mbedtls_pk_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:905,1
    - Dst: PSA_ALG_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:921,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:911,1
    - Dst: PSA_ALG_IS_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:925,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:925,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:919,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:926,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:891,1
    - Dst: mbedtls_rsa_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:911,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:926,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:927,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:937,1
    - Dst: PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:938,1
    - Dst: mbedtls_pk_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:941,1
    - Dst: mbedtls_pk_ecc_set_group
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:947,1
    - Dst: mbedtls_pk_ecc_set_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:953,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:975,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:897,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:899,1
    - Dst: mbedtls_md_type_from_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:922,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:913,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:929,1
    - Dst: mbedtls_pk_ecc_set_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:961,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:974,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 3
    argNames:
    - key_id
    - pk
    - public_only
    argTypes:
    - mbedtls_svc_key_id_t
    - mbedtls_pk_context*
    - int
    constantsTouched: []
    func_position:
      end: 978
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 978
    functionName: copy_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_md_type_from_psa_alg
    - mbedtls_pk_ecc_set_pubkey
    - mbedtls_pk_info_from_type
    - PSA_ALG_IS_RSA_OAEP
    - mbedtls_pk_setup
    - psa_get_key_bits
    - mbedtls_pk_ecc_set_pubkey_from_prv
    - mbedtls_pk_ecc_set_group
    - psa_export_public_key
    - psa_reset_key_attributes
    - psa_get_key_type
    - PSA_ALG_IS_RSA_PSS
    - PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - PSA_ALG_GET_HASH
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - mbedtls_pk_ecc_set_key
    - mbedtls_rsa_parse_pubkey
    - mbedtls_rsa_set_padding
    - mbedtls_pk_rsa
    - mbedtls_ecc_group_from_psa
    - psa_get_key_algorithm
    - mbedtls_rsa_parse_key
    - psa_export_key
    - psa_get_key_attributes
    - PSA_KEY_TYPE_IS_ECC_KEY_PAIR
    - PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int copy_from_psa(mbedtls_svc_key_id_t key_id, mbedtls_pk_context
      *pk, int public_only) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - info
    argTypes:
    - mbedtls_pk_restart_ctx*
    - mbedtls_pk_info_t*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1035
    functionName: pk_restart_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pk_restart_setup(mbedtls_pk_restart_ctx *ctx, const mbedtls_pk_info_t
      *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_copy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:614,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:635,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:634,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:633,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:629,1
    - Dst: export_import_into_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:638,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - old_key_id
    - attributes
    - new_key_id
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 641
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 641
    functionName: copy_into_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - psa_copy_key
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - psa_get_key_type
    - export_import_into_psa
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int copy_into_psa(mbedtls_svc_key_id_t old_key_id, const psa_key_attributes_t
      *attributes, mbedtls_svc_key_id_t *new_key_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:850,1
    - Dst: import_public_into_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:857,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:855,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:855,1
    - Dst: import_pair_into_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:859,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pk
    - attributes
    - key_id
    argTypes:
    - mbedtls_pk_context*
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 861
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 861
    functionName: mbedtls_pk_import_into_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - import_public_into_psa
    - psa_get_key_type
    - mbedtls_pk_get_type
    - import_pair_into_psa
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_import_into_psa(const mbedtls_pk_context *pk, const
      psa_key_attributes_t *attributes, mbedtls_svc_key_id_t *key_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key_id
    - pk
    argTypes:
    - mbedtls_svc_key_id_t
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: mbedtls_pk_copy_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - copy_from_psa
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_copy_from_psa(mbedtls_svc_key_id_t key_id, mbedtls_pk_context
      *pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_verify_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1097
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1097
    functionName: mbedtls_pk_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_verify_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_verify(mbedtls_pk_context *ctx, mbedtls_md_type_t md_alg,
      const unsigned char *hash, size_t hash_len, const unsigned char *sig, size_t
      sig_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1463
    functionName: mbedtls_pk_get_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_pk_get_bitlen(const mbedtls_pk_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_sign_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1294
    functionName: mbedtls_pk_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_sign_restartable
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_sign(mbedtls_pk_context *ctx, mbedtls_md_type_t md_alg,
      const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t sig_size,
      size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_rsa_get_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:386,1
    - Dst: mbedtls_rsa_get_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:388,1
    - Dst: PSA_ALG_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:389,1
    - Dst: PSA_ALG_RSA_PSS_ANY_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:391,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:389,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - rsa
    - want_crypt
    argTypes:
    - mbedtls_rsa_context*
    - int
    constantsTouched: []
    func_position:
      end: 400
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 400
    functionName: psa_algorithm_for_rsa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_get_md_alg
    - PSA_ALG_RSA_PKCS1V15_SIGN
    - mbedtls_md_psa_alg_from_type
    - PSA_ALG_RSA_PSS_ANY_SALT
    - mbedtls_rsa_get_padding_mode
    - PSA_ALG_RSA_OAEP
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static psa_algorithm_t psa_algorithm_for_rsa(const mbedtls_rsa_context
      *rsa, int want_crypt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 8
    argNames:
    - ctx
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1392
    functionName: mbedtls_pk_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_decrypt(mbedtls_pk_context *ctx, const unsigned char
      *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1504
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1504
    functionName: mbedtls_pk_get_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_pk_type_t
    signature: 'mbedtls_pk_type_t mbedtls_pk_get_type(const mbedtls_pk_context *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1174,1
    - Dst: mbedtls_pk_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1188,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1201,1
    - Dst: mbedtls_pk_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1187,1
    - Dst: PSA_ALG_RSA_PSS_ANY_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1162,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1171,1
    - Dst: psa_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1189,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1191,1
    - Dst: mbedtls_pk_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1193,1
    - Dst: mbedtls_pk_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1205,1
    - Dst: mbedtls_rsa_rsassa_pss_verify_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1209,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1115,1
    - Dst: mbedtls_pk_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1125,1
    - Dst: mbedtls_rsa_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1164,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1170,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1172,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1178,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1159,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1130,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1164,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1179,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1209,1
    - Dst: mbedtls_pk_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1218,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 8
    argNames:
    - type
    - options
    - ctx
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    argTypes:
    - mbedtls_pk_type_t
    - void*
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1227
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1227
    functionName: mbedtls_pk_verify_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - psa_verify_hash
    - mbedtls_pk_rsa
    - psa_set_key_type
    - mbedtls_pk_can_do
    - psa_import_key
    - psa_set_key_algorithm
    - mbedtls_rsa_write_pubkey
    - psa_destroy_key
    - mbedtls_rsa_rsassa_pss_verify_ext
    - mbedtls_pk_get_len
    - mbedtls_pk_verify
    - mbedtls_md_psa_alg_from_type
    - PSA_ALG_RSA_PSS_ANY_SALT
    - mbedtls_pk_get_type
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_verify_ext(mbedtls_pk_type_t type, const void *options,
      mbedtls_pk_context *ctx, mbedtls_md_type_t md_alg, const unsigned char *hash,
      size_t hash_len, const unsigned char *sig, size_t sig_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pk_hashlen_helper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1243,1
    - Dst: mbedtls_pk_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1264,1
    - Dst: mbedtls_ecp_restart_is_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1250,1
    - Dst: pk_restart_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1254,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 10
    argNames:
    - ctx
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    - rs_ctx
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    - mbedtls_pk_restart_ctx*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1281
    functionName: mbedtls_pk_sign_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - pk_hashlen_helper
    - pk_restart_setup
    - mbedtls_pk_restart_free
    - mbedtls_ecp_restart_is_enabled
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_sign_restartable(mbedtls_pk_context *ctx, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t
      sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng, mbedtls_pk_restart_ctx *rs_ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1311,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1323,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1328,1
    - Dst: psa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1334,1
    - Dst: mbedtls_pk_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1316,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1334,1
    - Dst: psa_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1338,1
    - Dst: PSA_ALG_RSA_PSS_ANY_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1338,1
    - Dst: PSA_PK_RSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1342,1
    - Dst: mbedtls_pk_psa_rsa_sign_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1345,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1358,1
    - Dst: mbedtls_rsa_rsassa_pss_sign_no_mode_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1360,1
    - Dst: PSA_ALG_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1345,1
    - Dst: pk_hashlen_helper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1354,1
    - Dst: mbedtls_pk_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1350,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 10
    argNames:
    - pk_type
    - ctx
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_size
    - sig_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_type_t
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1372
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1372
    functionName: mbedtls_pk_sign_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - PSA_PK_RSA_TO_MBEDTLS_ERR
    - mbedtls_pk_rsa
    - mbedtls_pk_can_do
    - PSA_ALG_RSA_PSS
    - pk_hashlen_helper
    - mbedtls_pk_psa_rsa_sign_ext
    - PSA_ALG_RSA_PSS_ANY_SALT
    - mbedtls_pk_get_len
    - mbedtls_md_psa_alg_from_type
    - psa_sign_hash
    - mbedtls_pk_get_type
    - mbedtls_rsa_rsassa_pss_sign_no_mode_check
    - mbedtls_pk_sign
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_sign_ext(mbedtls_pk_type_t pk_type, mbedtls_pk_context
      *ctx, mbedtls_md_type_t md_alg, const unsigned char *hash, size_t hash_len,
      unsigned char *sig, size_t sig_size, size_t *sig_len, int (*f_rng)(void *, unsigned
      char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1492
    functionName: mbedtls_pk_get_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_pk_get_name(const mbedtls_pk_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: mbedtls_pk_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pk_init(mbedtls_pk_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_restart_ctx*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: mbedtls_pk_restart_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pk_restart_init(mbedtls_pk_restart_ctx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - md_alg
    - hash_len
    argTypes:
    - mbedtls_md_type_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1009
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1009
    functionName: pk_hashlen_helper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_md_get_size_from_type
    linkageType: ''
    returnType: int
    signature: 'static inline int pk_hashlen_helper(mbedtls_md_type_t md_alg, size_t
      *hash_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 8
    argNames:
    - ctx
    - input
    - ilen
    - output
    - olen
    - osize
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1412
    functionName: mbedtls_pk_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_encrypt(mbedtls_pk_context *ctx, const unsigned char
      *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - items
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_debug_item*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1480
    functionName: mbedtls_pk_debug
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_debug(const mbedtls_pk_context *ctx, mbedtls_pk_debug_item
      *items) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pk_hashlen_helper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1052,1
    - Dst: mbedtls_ecp_restart_is_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1059,1
    - Dst: pk_restart_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1063,1
    - Dst: mbedtls_pk_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:1071,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 7
    argNames:
    - ctx
    - md_alg
    - hash
    - hash_len
    - sig
    - sig_len
    - rs_ctx
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - mbedtls_pk_restart_ctx*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1086
    functionName: mbedtls_pk_verify_restartable
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - pk_hashlen_helper
    - pk_restart_setup
    - mbedtls_pk_restart_free
    - mbedtls_ecp_restart_is_enabled
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_verify_restartable(mbedtls_pk_context *ctx, mbedtls_md_type_t
      md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig,
      size_t sig_len, mbedtls_pk_restart_ctx *rs_ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 4
    argNames:
    - pub
    - prv
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1449
    functionName: mbedtls_pk_check_pair
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_check_pair(const mbedtls_pk_context *pub, const mbedtls_pk_context
      *prv, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - pk_type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: mbedtls_pk_info_from_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_pk_info_t*
    signature: 'const mbedtls_pk_info_t *mbedtls_pk_info_from_type(mbedtls_pk_type_t
      pk_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key_id
    - pk
    argTypes:
    - mbedtls_svc_key_id_t
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 990
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 990
    functionName: mbedtls_pk_copy_public_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - copy_from_psa
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_copy_public_from_psa(mbedtls_svc_key_id_t key_id, mbedtls_pk_context
      *pk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_restart_ctx*
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: mbedtls_pk_restart_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pk_restart_free(mbedtls_pk_restart_ctx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:76,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: mbedtls_pk_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_pk_free(mbedtls_pk_context *ctx) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:474,1
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:478,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:509,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:510,1
    - Dst: psa_get_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:568,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:452,1
    - Dst: mbedtls_rsa_check_privkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:445,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:536,1
    - Dst: PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:560,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:568,1
    - Dst: psa_set_key_enrollment_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:584,1
    - Dst: mbedtls_pk_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:452,1
    - Dst: psa_algorithm_for_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:454,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:530,1
    - Dst: PSA_ALG_DETERMINISTIC_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:490,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:508,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:548,1
    - Dst: psa_get_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:562,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:567,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:577,1
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:407,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:449,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:444,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:453,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:511,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:526,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:492,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:507,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:566,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:567,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 94
    argCount: 3
    argNames:
    - pk
    - usage
    - attributes
    argTypes:
    - mbedtls_pk_context*
    - psa_key_usage_t
    - psa_key_attributes_t*
    constantsTouched: []
    func_position:
      end: 588
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 588
    functionName: mbedtls_pk_get_psa_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_bitlen
    - PSA_ALG_ECDSA
    - psa_get_key_usage_flags
    - psa_set_key_usage_flags
    - psa_get_key_bits
    - psa_get_key_type
    - mbedtls_pk_get_type
    - mbedtls_pk_ec_ro
    - PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR
    - PSA_KEY_TYPE_ECC_PUBLIC_KEY
    - psa_set_key_enrollment_algorithm
    - psa_set_key_algorithm
    - psa_set_key_bits
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_set_key_type
    - mbedtls_pk_rsa
    - PSA_ALG_DETERMINISTIC_ECDSA
    - psa_algorithm_for_rsa
    - psa_get_key_algorithm
    - psa_get_key_attributes
    - PSA_KEY_TYPE_IS_ECC_KEY_PAIR
    - mbedtls_rsa_check_privkey
    - mbedtls_ecc_group_to_psa
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_get_psa_attributes(const mbedtls_pk_context *pk, psa_key_usage_t
      usage, psa_key_attributes_t *attributes) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:648,1
    - Dst: mbedtls_pk_rsa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:659,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:665,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:668,1
    - Dst: PSA_PK_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:719,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:697,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:722,1
    - Dst: PSA_KEY_EXPORT_RSA_KEY_PAIR_MAX_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:656,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:687,1
    - Dst: mbedtls_ecp_write_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:714,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:665,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:683,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:692,1
    - Dst: copy_into_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:701,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:719,1
    - Dst: copy_into_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:730,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:652,1
    - Dst: mbedtls_rsa_write_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:659,1
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:689,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c:712,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - pk
    - attributes
    - key_id
    argTypes:
    - mbedtls_pk_context*
    - psa_key_attributes_t*
    - mbedtls_svc_key_id_t*
    constantsTouched: []
    func_position:
      end: 736
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 736
    functionName: import_pair_into_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached:
    - copy_into_psa
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - mbedtls_rsa_write_key
    - mbedtls_ecp_write_key_ext
    - mbedtls_pk_rsa
    - psa_import_key
    - PSA_BITS_TO_BYTES
    - mbedtls_svc_key_id_is_null
    - mbedtls_platform_zeroize
    - mbedtls_ecc_group_to_psa
    - PSA_KEY_EXPORT_RSA_KEY_PAIR_MAX_SIZE
    - psa_get_key_type
    - mbedtls_pk_get_type
    - mbedtls_pk_ec_ro
    - PSA_PK_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'static int import_pair_into_psa(const mbedtls_pk_context *pk, const
      psa_key_attributes_t *attributes, mbedtls_svc_key_id_t *key_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: mbedtls_pk_can_do
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_can_do(const mbedtls_pk_context *ctx, mbedtls_pk_type_t
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:537,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:544,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:542,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:541,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:538,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:546,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:548,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:554,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: ssl_tls13_parse_cookie_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_calloc
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_free
    - memcpy
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_cookie_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:672,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ciphersuite
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 679
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 679
    functionName: ssl_tls13_get_ciphersuite_hash_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_md_psa_alg_from_type
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static psa_algorithm_t ssl_tls13_get_ciphersuite_hash_alg(int ciphersuite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:808,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:811,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:810,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:812,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 7
    argNames:
    - ssl
    - buf
    - end
    - identity
    - identity_len
    - obfuscated_ticket_age
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - uint32_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 819
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 819
    functionName: ssl_tls13_write_identity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_PUT_UINT32_BE
    - memcpy
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_identity(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, const unsigned char *identity,
      size_t identity_len, uint32_t obfuscated_ticket_age, size_t *out_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1083,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1087,1
    - Dst: ssl_tls13_get_configured_psk_count
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1089,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1084,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1090,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1092,1
    - Dst: ssl_tls13_has_configured_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1098,1
    - Dst: ssl_tls13_ticket_get_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1099,1
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1102,1
    - Dst: ssl_tls13_psk_get_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1103,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1105,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1112,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1124,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1114,1
    - Dst: mbedtls_ssl_set_hs_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1122,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1129
    functionName: ssl_tls13_parse_server_pre_shared_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - ssl_tls13_ticket_get_psk
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_GET_UINT16_BE
    - mbedtls_ssl_conf_has_static_psk
    - mbedtls_ssl_set_hs_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_get_configured_psk_count
    - ssl_tls13_has_configured_ticket
    - ssl_tls13_psk_get_psk
    - mbedtls_md_psa_alg_from_type
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_server_pre_shared_key_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1451,1
    - Dst: ssl_tls13_is_supported_versions_ext_present
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1451,1
    - Dst: ssl_tls13_is_downgrade_negotiation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1456,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1465,1
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1455,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1479,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1479,1
    - Dst: mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1483,1
    - Dst: ssl_tls13_reset_key_share
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1484,1
    - Dst: ssl_server_hello_is_hrr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1498,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1501,1
    - Dst: mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1523,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1524,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1512,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1526,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1511,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1504,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1540
    functionName: ssl_tls13_preprocess_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
    - ssl_tls13_is_supported_versions_ext_present
    - ssl_server_hello_is_hrr
    - MBEDTLS_SSL_PROC_CHK_NEG
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - ssl_tls13_is_downgrade_negotiation
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_add_hs_msg_to_checksum
    - ssl_tls13_reset_key_share
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_preprocess_server_hello(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_process_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2580,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2587
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2587
    functionName: ssl_tls13_process_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_process_certificate_verify
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_write_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2674,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2681
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2681
    functionName: ssl_tls13_write_client_certificate_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_write_certificate_verify
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_client_certificate_verify(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_write_finished_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2692,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2704,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2699,1
    - Dst: mbedtls_ssl_tls13_compute_resumption_master_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2706
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2706
    functionName: ssl_tls13_write_client_finished
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_write_finished_message
    - mbedtls_ssl_tls13_compute_resumption_master_secret
    - mbedtls_ssl_handshake_set_state
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_client_finished(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:686,1
    - Dst: mbedtls_ssl_tls13_session_get_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 689
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 689
    functionName: ssl_tls13_has_configured_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_session_get_ticket_flags
    - mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    linkageType: ''
    returnType: int
    signature: 'static int ssl_tls13_has_configured_ticket(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_has_configured_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:729,1
    - Dst: ssl_tls13_get_ciphersuite_hash_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:733,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ssl
    - hash_alg
    - psk
    - psk_len
    argTypes:
    - mbedtls_ssl_context*
    - psa_algorithm_t*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 738
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 738
    functionName: ssl_tls13_ticket_get_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - ssl_tls13_has_configured_ticket
    - ssl_tls13_get_ciphersuite_hash_alg
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_ticket_get_psk(mbedtls_ssl_context
      *ssl, psa_algorithm_t *hash_alg, const unsigned char **psk, size_t *psk_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:838,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:844,1
    - Dst: mbedtls_ssl_tls13_create_psk_binder
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:856,1
    - Dst: mbedtls_md_type_from_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:850,1
    - Dst: mbedtls_ssl_get_handshake_transcript
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:849,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:860,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 8
    argNames:
    - ssl
    - buf
    - end
    - psk_type
    - hash_alg
    - psk
    - psk_len
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - int
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 868
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 868
    functionName: ssl_tls13_write_binder
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_get_handshake_transcript
    - mbedtls_ssl_tls13_create_psk_binder
    - mbedtls_md_type_from_psa_alg
    - MBEDTLS_SSL_CHK_BUF_PTR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_binder(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, int psk_type, psa_algorithm_t
      hash_alg, const unsigned char *psk, size_t psk_len, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1550,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1558,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1557,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1553,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1561,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1564,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1576
    functionName: ssl_tls13_check_server_hello_session_id_echo
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_DEBUG_BUF
    - memcmp
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_check_server_hello_session_id_echo(mbedtls_ssl_context
      *ssl, const unsigned char **buf, const unsigned char *end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:476,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:492,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:483,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:477,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:486,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:493,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:494,1
    - Dst: mbedtls_ssl_named_group_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:495,1
    - Dst: mbedtls_ssl_tls13_read_public_xxdhe_share
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:496,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 509
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 509
    functionName: ssl_tls13_parse_key_share_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_ssl_named_group_to_str
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - mbedtls_ssl_tls13_read_public_xxdhe_share
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_key_share_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_session_ticket_allow_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:697,1
    - Dst: mbedtls_ssl_tls13_cipher_suite_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: ssl_tls13_early_data_has_valid_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_cipher_suite_is_offered
    - mbedtls_ssl_tls13_session_ticket_allow_early_data
    linkageType: ''
    returnType: int
    signature: 'static int ssl_tls13_early_data_has_valid_ticket(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:149,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:150,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:160,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:153,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:156,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:162,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 170
    functionName: ssl_tls13_parse_alpn_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - memcmp
    - MBEDTLS_GET_UINT16_BE
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_alpn_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1857
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1857
    functionName: ssl_tls13_get_kex_mode_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *ssl_tls13_get_kex_mode_str(int mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_get_configured_psk_count
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:910,1
    - Dst: ssl_tls13_ticket_get_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:928,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:924,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:912,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:916,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:931,1
    - Dst: ssl_tls13_write_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:941,1
    - Dst: ssl_tls13_write_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:946,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:954,1
    - Dst: ssl_tls13_psk_get_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:958,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:971,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:968,1
    - Dst: ssl_tls13_write_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:961,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:987,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:985,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:978,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:992,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:986,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - out_len
    - binders_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 995
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 995
    functionName: mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_tls13_psk_get_identity
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_get_configured_psk_count
    - ssl_tls13_ticket_get_identity
    - ssl_tls13_write_identity
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_ms_time
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext( mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len, size_t *binders_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1890,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1878,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1953,1
    - Dst: mbedtls_ssl_tls13_compute_handshake_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1939,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1875,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1884,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1898,1
    - Dst: mbedtls_ssl_set_inbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1947,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1948,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1891,1
    - Dst: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1903,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1912,1
    - Dst: ssl_tls13_get_kex_mode_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1914,1
    - Dst: mbedtls_ssl_tls13_key_schedule_stage_early
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1931,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1876,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1906,1
    - Dst: ssl_tls13_get_kex_mode_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1908,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1941,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1933,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1959
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1959
    functionName: ssl_tls13_postprocess_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_EXT_MASK
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_set_inbound_transform
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_compute_handshake_transform
    - ssl_tls13_get_kex_mode_str
    - mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    - mbedtls_ssl_tls13_key_schedule_stage_early
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_postprocess_server_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2195,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2197,1
    - Dst: ssl_tls13_parse_encrypted_extensions
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2203,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2197,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2202,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2206,1
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2234,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2239,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2264,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2264,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2272,1
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_with_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2269,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2276,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2270,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2284
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2284
    functionName: ssl_tls13_process_encrypted_extensions
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_EXT_MASK
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_SSL_PROC_CHK
    - mbedtls_ssl_tls13_key_exchange_mode_with_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_parse_encrypted_extensions
    - mbedtls_ssl_handshake_set_state
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_encrypted_extensions(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2752,1
    - Dst: mbedtls_ssl_tls13_session_set_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2755,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2757,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2762
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2762
    functionName: ssl_tls13_parse_new_session_ticket_early_data_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_ssl_tls13_session_set_ticket_flags
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_new_session_ticket_early_data_ext(
      mbedtls_ssl_context *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_groups
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:384,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:389,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:393,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:392,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:394,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:407,1
    - Dst: mbedtls_ssl_get_psa_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:408,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:417,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:432,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:433,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 449
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 449
    functionName: ssl_tls13_parse_hrr_key_share_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_get_groups
    - mbedtls_ssl_get_psa_curve_info_from_tls_id
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_hrr_key_share_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1010,1
    - Dst: ssl_tls13_write_binder
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1029,1
    - Dst: ssl_tls13_ticket_get_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1014,1
    - Dst: ssl_tls13_psk_get_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1027,1
    - Dst: ssl_tls13_write_binder
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1016,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1039,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1044,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1046,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1048,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1052
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1052
    functionName: mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - ssl_tls13_ticket_get_psk
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_write_binder
    - ssl_tls13_psk_get_psk
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext( mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_reset_msg_layer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1966,1
    - Dst: ssl_tls13_reset_key_share
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1988
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1988
    functionName: ssl_tls13_postprocess_hrr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_session_reset_msg_layer
    - ssl_tls13_reset_key_share
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_postprocess_hrr(mbedtls_ssl_context
      *ssl) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2098,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2078,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2099,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2103,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2145,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2167,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2077,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2084,1
    - Dst: mbedtls_ssl_tls13_check_received_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2105,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2140,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2153,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2163,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2162,1
    - Dst: mbedtls_ssl_tls13_parse_record_size_limit_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2142,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2178,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2081,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2100,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2164,1
    - Dst: ssl_tls13_parse_alpn_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2117,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2115,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2130,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2173,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2179,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2185
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2185
    functionName: ssl_tls13_parse_encrypted_extensions
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_EXT_MASK
    - MBEDTLS_SSL_PRINT_EXT
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_check_received_extension
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_SSL_PRINT_EXTS
    - ssl_tls13_parse_alpn_ext
    - mbedtls_ssl_tls13_parse_record_size_limit_ext
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_encrypted_extensions(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1425,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1434
    functionName: ssl_server_hello_is_hrr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_server_hello_is_hrr(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2002,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2004,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2019,1
    - Dst: ssl_tls13_preprocess_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2007,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2004,1
    - Dst: ssl_tls13_parse_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2019,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2023,1
    - Dst: mbedtls_ssl_reset_transcript_for_hrr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2023,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2026,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2026,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2036,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2030,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2043,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2039,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2047,1
    - Dst: ssl_tls13_postprocess_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2042,1
    - Dst: ssl_tls13_postprocess_hrr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2030,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2042,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2050
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2050
    functionName: ssl_tls13_process_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PROC_CHK
    - mbedtls_ssl_reset_transcript_for_hrr
    - ssl_tls13_postprocess_hrr
    - mbedtls_ssl_add_hs_msg_to_checksum
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_parse_server_hello
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_postprocess_server_hello
    - ssl_tls13_preprocess_server_hello
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_server_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2714,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2717
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2717
    functionName: ssl_tls13_flush_buffers
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_flush_buffers(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2781,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2786,1
    - Dst: mbedtls_ssl_tls13_check_received_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2788,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2782,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2783,1
    - Dst: ssl_tls13_parse_new_session_ticket_early_data_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2798,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2801,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2809,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2818,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2822
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2822
    functionName: ssl_tls13_parse_new_session_ticket_exts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_PRINT_EXT
    - ssl_tls13_parse_new_session_ticket_early_data_ext
    - mbedtls_ssl_tls13_check_received_extension
    - MBEDTLS_SSL_PRINT_EXTS
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_new_session_ticket_exts(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:56,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:66,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:77,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:64,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:67,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:79,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:83,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:85,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 94
    functionName: ssl_tls13_write_supported_versions_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_ssl_write_version
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_supported_versions_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_crypto_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1143,1
    - Dst: ssl_tls13_write_cookie_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1161,1
    - Dst: mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1177,1
    - Dst: ssl_tls13_write_supported_versions_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1152,1
    - Dst: mbedtls_ssl_tls13_write_record_size_limit_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1168,1
    - Dst: ssl_tls13_write_key_share_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1178,1
    - Dst: mbedtls_ssl_conf_tls13_is_some_psk_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1196,1
    - Dst: ssl_tls13_early_data_has_valid_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1197,1
    - Dst: mbedtls_ssl_tls13_write_early_data_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1199,1
    - Dst: ssl_tls13_write_psk_key_exchange_modes_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1223,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1233
    functionName: mbedtls_ssl_tls13_write_client_hello_exts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - ssl_tls13_early_data_has_valid_ticket
    - ssl_tls13_write_supported_versions_ext
    - ssl_tls13_write_psk_key_exchange_modes_ext
    - mbedtls_ssl_tls13_write_early_data_ext
    - ssl_tls13_write_cookie_ext
    - mbedtls_ssl_tls13_crypto_init
    - ssl_tls13_write_key_share_ext
    - mbedtls_ssl_tls13_write_record_size_limit_ext
    - mbedtls_ssl_conf_tls13_is_some_psk_enabled
    - mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_write_client_hello_exts(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2305,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2311,1
    - Dst: mbedtls_ssl_add_hs_hdr_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2311,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2307,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2307,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2314,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2315,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2317,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2323
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2323
    functionName: ssl_tls13_write_end_of_early_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - MBEDTLS_SSL_PROC_CHK
    - mbedtls_ssl_add_hs_hdr_to_checksum
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_end_of_early_data(mbedtls_ssl_context
      *ssl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2421,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2449,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2453,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2489,1
    - Dst: MBEDTLS_SSL_EXT_MASK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2498,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2499,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2508,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2416,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2426,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2435,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2439,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2448,1
    - Dst: mbedtls_ssl_tls13_check_received_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2455,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2411,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2417,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2450,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2484,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2423,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2436,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2464,1
    - Dst: MBEDTLS_SSL_PRINT_EXT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2475,1
    - Dst: mbedtls_ssl_parse_sig_alg_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2466,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2511
    functionName: ssl_tls13_parse_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_EXT_MASK
    - mbedtls_calloc
    - MBEDTLS_SSL_PRINT_EXT
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_check_received_extension
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_SSL_PRINT_EXTS
    - memcpy
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_parse_sig_alg_ext
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_certificate_request(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2521,1
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2523,1
    - Dst: ssl_tls13_certificate_request_coordinate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2523,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2529,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2529,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2533,1
    - Dst: ssl_tls13_parse_certificate_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2533,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2536,1
    - Dst: mbedtls_ssl_add_hs_msg_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2536,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2542,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2547,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2553
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2553
    functionName: ssl_tls13_process_certificate_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PROC_CHK_NEG
    - ssl_tls13_parse_certificate_request
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_certificate_request_coordinate
    - mbedtls_ssl_add_hs_msg_to_checksum
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_certificate_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_process_certificate_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3091,1
    - Dst: ssl_tls13_write_client_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3124,1
    - Dst: mbedtls_ssl_tls13_write_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3140,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3152,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3178,1
    - Dst: ssl_tls13_process_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3173,1
    - Dst: ssl_tls13_write_end_of_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3109,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3074,1
    - Dst: ssl_tls13_process_server_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3082,1
    - Dst: ssl_tls13_process_server_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3095,1
    - Dst: ssl_tls13_write_client_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3114,1
    - Dst: ssl_tls13_flush_buffers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3128,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3159,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3161,1
    - Dst: mbedtls_ssl_write_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3078,1
    - Dst: ssl_tls13_process_encrypted_extensions
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3086,1
    - Dst: ssl_tls13_process_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3099,1
    - Dst: ssl_tls13_process_server_finished
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3104,1
    - Dst: ssl_tls13_write_client_certificate_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3119,1
    - Dst: ssl_tls13_handshake_wrapup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3132,1
    - Dst: mbedtls_ssl_tls13_write_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3148,1
    - Dst: mbedtls_ssl_tls13_write_change_cipher_spec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3157,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3144,1
    - Dst: mbedtls_ssl_set_outbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3163,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3183
      start: 3068
    functionDepth: 0
    functionLinenumber: 3068
    functionLinenumberEnd: 3183
    functionName: mbedtls_ssl_tls13_handshake_client_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - ssl_tls13_process_certificate_verify
    - ssl_tls13_process_server_certificate
    - ssl_tls13_write_client_certificate_verify
    - ssl_tls13_flush_buffers
    - mbedtls_ssl_set_outbound_transform
    - mbedtls_ssl_tls13_write_change_cipher_spec
    - ssl_tls13_write_end_of_early_data
    - ssl_tls13_process_encrypted_extensions
    - ssl_tls13_process_server_hello
    - ssl_tls13_process_server_finished
    - ssl_tls13_write_client_certificate
    - ssl_tls13_write_client_finished
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_process_certificate_request
    - mbedtls_ssl_write_client_hello
    - mbedtls_ssl_handshake_set_state
    - ssl_tls13_handshake_wrapup
    - ssl_tls13_process_new_session_ticket
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_handshake_client_step(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:103,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:114,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:108,1
    - Dst: mbedtls_ssl_read_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:104,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:106,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: ssl_tls13_parse_supported_versions_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_read_version
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_supported_versions_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_has_configured_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:710,1
    - Dst: ssl_tls13_get_ciphersuite_hash_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ssl
    - hash_alg
    - identity
    - identity_len
    argTypes:
    - mbedtls_ssl_context*
    - psa_algorithm_t*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 718
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 718
    functionName: ssl_tls13_ticket_get_identity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - ssl_tls13_has_configured_ticket
    - ssl_tls13_get_ciphersuite_hash_alg
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_ticket_get_identity(mbedtls_ssl_context
      *ssl, psa_algorithm_t *hash_alg, const unsigned char **identity, size_t *identity_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1247,1
    - Dst: ssl_tls13_ticket_get_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1250,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1259,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1252,1
    - Dst: mbedtls_ssl_set_hs_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1257,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1275,1
    - Dst: mbedtls_ssl_tls13_key_schedule_stage_early
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1286,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1288,1
    - Dst: mbedtls_ssl_tls13_compute_early_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1294,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1296,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1305,1
    - Dst: mbedtls_ssl_set_outbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1307,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1314
    functionName: mbedtls_ssl_tls13_finalize_client_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - ssl_tls13_ticket_get_psk
    - mbedtls_ssl_set_outbound_transform
    - mbedtls_ssl_set_hs_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_compute_early_transform
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_ssl_handshake_set_state
    - mbedtls_ssl_tls13_key_schedule_stage_early
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls13_finalize_client_hello(mbedtls_ssl_context *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2348
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2348
    functionName: mbedtls_ssl_get_early_data_status
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_is_handshake_over
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_early_data_status(mbedtls_ssl_context *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:183,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:191,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:192,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:189,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 205
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 205
    functionName: ssl_tls13_reset_key_share
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - psa_destroy_key
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_reset_key_share(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2370,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2382,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2378,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2385
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2385
    functionName: ssl_tls13_certificate_request_coordinate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_certificate_request_coordinate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:28,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:281,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:289,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:288,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:290,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:284,1
    - Dst: ssl_tls13_get_default_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:290,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:304,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:305,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:315,1
    - Dst: mbedtls_ssl_tls13_generate_and_write_xxdh_key_exchange
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:317,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:327,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:339,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:325,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:345,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:347,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:358,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:355,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:343,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 363
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 363
    functionName: ssl_tls13_write_key_share_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_generate_and_write_xxdh_key_exchange
    - MBEDTLS_SSL_PROC_CHK
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - MBEDTLS_SSL_CHK_BUF_PTR
    - ssl_tls13_get_default_group_id
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_key_share_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:571,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:583,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:575,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:579,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:581,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:584,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:585,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:589,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:593,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 596
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 596
    functionName: ssl_tls13_write_cookie_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - memcpy
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_cookie_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_some_psk_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:623,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:632,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:631,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:624,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:635,1
    - Dst: mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:642,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:646,1
    - Dst: mbedtls_ssl_conf_tls13_is_psk_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:649,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:653,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:657,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:662,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 666
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 666
    functionName: ssl_tls13_write_psk_key_exchange_modes_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_conf_tls13_is_psk_enabled
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled
    - mbedtls_ssl_conf_tls13_is_some_psk_enabled
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_psk_key_exchange_modes_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - ssl
    - hash_alg
    - psk
    - psk_len
    argTypes:
    - mbedtls_ssl_context*
    - psa_algorithm_t*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 773
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 773
    functionName: ssl_tls13_psk_get_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_has_static_psk
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_psk_get_psk(mbedtls_ssl_context
      *ssl, psa_algorithm_t *hash_alg, const unsigned char **psk, size_t *psk_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1383,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1395
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1395
    functionName: ssl_tls13_is_downgrade_negotiation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_is_downgrade_negotiation(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1693,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1706,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1715,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1749,1
    - Dst: ssl_tls13_parse_cookie_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1766,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1791,1
    - Dst: ssl_tls13_parse_key_share_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1809,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1769,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1787,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1833,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1629,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1644,1
    - Dst: ssl_tls13_check_server_hello_session_id_echo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1655,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1671,1
    - Dst: mbedtls_ssl_optimize_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1699,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1729,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1730,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1737,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1750,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1754,1
    - Dst: ssl_tls13_parse_hrr_key_share_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1806,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1618,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1619,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1646,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1666,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1667,1
    - Dst: mbedtls_ssl_tls13_cipher_suite_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1678,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1702,1
    - Dst: ssl_tls13_parse_supported_versions_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1777,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1799,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1837,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1813,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1616,1
    - Dst: mbedtls_ssl_read_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1627,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1630,1
    - Dst: mbedtls_ssl_validate_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1675,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1713,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1734,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1751,1
    - Dst: mbedtls_ssl_tls13_check_received_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1757,1
    - Dst: ssl_tls13_parse_server_pre_shared_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1789,1
    - Dst: mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1800,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1828,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 120
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - is_hrr
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1842
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1842
    functionName: ssl_tls13_parse_server_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_check_received_extension
    - MBEDTLS_SSL_PRINT_EXTS
    - mbedtls_time
    - mbedtls_ssl_validate_ciphersuite
    - ssl_tls13_parse_server_pre_shared_key_ext
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_ssl_read_version
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_tls13_parse_hrr_key_share_ext
    - memcpy
    - ssl_tls13_parse_supported_versions_ext
    - mbedtls_ssl_optimize_checksum
    - mbedtls_ssl_ciphersuite_from_id
    - MBEDTLS_SSL_DEBUG_RET
    - ssl_tls13_check_server_hello_session_id_echo
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - ssl_tls13_parse_key_share_ext
    - mbedtls_ssl_tls13_cipher_suite_is_offered
    - ssl_tls13_parse_cookie_ext
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_server_hello(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end, int is_hrr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2637,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2652,1
    - Dst: mbedtls_ssl_tls13_write_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2643,1
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2648,1
    - Dst: mbedtls_ssl_set_outbound_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2639,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2657,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2660,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2665
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2665
    functionName: ssl_tls13_write_client_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_outbound_transform
    - mbedtls_ssl_own_cert
    - mbedtls_ssl_tls13_write_certificate
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_client_certificate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_has_configured_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:779,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:780,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:785,1
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 789
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 789
    functionName: ssl_tls13_get_configured_psk_count
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls13_has_configured_ticket
    - mbedtls_ssl_conf_has_static_psk
    linkageType: ''
    returnType: int
    signature: 'static int ssl_tls13_get_configured_psk_count(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2859,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2860,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2870,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2877,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2891,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2886,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2897,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2857,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2865,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2879,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2896,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2910,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2869,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2883,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2884,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2887,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2909,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2918,1
    - Dst: mbedtls_ssl_tls13_session_clear_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2906,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2900,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2912,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2914,1
    - Dst: ssl_tls13_parse_new_session_ticket_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2916,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - ticket_nonce
    - ticket_nonce_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2925
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2925
    functionName: ssl_tls13_parse_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_calloc
    - ssl_tls13_parse_new_session_ticket_exts
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_free
    - memcpy
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_session_clear_ticket_flags
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_parse_new_session_ticket(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, unsigned char **ticket_nonce,
      size_t *ticket_nonce_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2952,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2955,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2957,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2961,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2962,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2969,1
    - Dst: mbedtls_ssl_tls13_hkdf_expand_label
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2978,1
    - Dst: MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2982,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2989,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2997,1
    - Dst: mbedtls_ssl_tls13_session_set_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3002,1
    - Dst: MBEDTLS_SSL_PRINT_TICKET_FLAGS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3004,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ssl
    - ticket_nonce
    - ticket_nonce_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3007
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 3007
    functionName: ssl_tls13_postprocess_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls13_hkdf_expand_label
    - MBEDTLS_SSL_PRINT_TICKET_FLAGS
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_from_id
    - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN
    - mbedtls_ssl_tls13_session_set_ticket_flags
    - mbedtls_md_psa_alg_from_type
    - mbedtls_ms_time
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_postprocess_new_session_ticket(mbedtls_ssl_context
      *ssl, unsigned char *ticket_nonce, size_t ticket_nonce_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_groups
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:219,1
    - Dst: mbedtls_ssl_get_psa_curve_info_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:227,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:235,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - ssl
    - group_id
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 247
    functionName: ssl_tls13_get_default_group_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_get_groups
    - mbedtls_ssl_get_psa_curve_info_from_tls_id
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_get_default_group_id(mbedtls_ssl_context
      *ssl, uint16_t *group_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:748,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - ssl
    - hash_alg
    - identity
    - identity_len
    argTypes:
    - mbedtls_ssl_context*
    - psa_algorithm_t*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 756
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 756
    functionName: ssl_tls13_psk_get_identity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_has_static_psk
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_psk_get_identity(mbedtls_ssl_context
      *ssl, psa_algorithm_t *hash_alg, const unsigned char **identity, size_t *identity_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1349,1
    - Dst: mbedtls_ssl_tls13_is_supported_versions_ext_present_in_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1362,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:1359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1365
    functionName: ssl_tls13_is_supported_versions_ext_present
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_ssl_tls13_is_supported_versions_ext_present_in_exts
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_is_supported_versions_ext_present(
      mbedtls_ssl_context *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_process_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2563,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2570
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2570
    functionName: ssl_tls13_process_server_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_process_certificate
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_server_certificate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3021,1
    - Dst: ssl_tls13_parse_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3033,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3033,1
    - Dst: mbedtls_ssl_tls13_fetch_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3023,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3023,1
    - Dst: MBEDTLS_SSL_PROC_CHK_NEG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3037,1
    - Dst: ssl_tls13_postprocess_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3037,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3052,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3059,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:3063,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3065
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3065
    functionName: ssl_tls13_process_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - ssl_tls13_postprocess_new_session_ticket
    - mbedtls_ssl_tls13_fetch_handshake_msg
    - MBEDTLS_SSL_PROC_CHK_NEG
    - MBEDTLS_SSL_PROC_CHK
    - ssl_tls13_parse_new_session_ticket
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_new_session_ticket(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_process_finished_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2598,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2614,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2619,1
    - Dst: mbedtls_ssl_tls13_compute_application_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2603,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2605,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2627
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2627
    functionName: ssl_tls13_process_server_finished
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_process_finished_message
    - mbedtls_ssl_handshake_set_state
    - mbedtls_ssl_tls13_compute_application_transform
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_process_server_finished(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_handshake_wrapup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2726,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c:2728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2730
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2730
    functionName: ssl_tls13_handshake_wrapup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls13_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_handshake_wrapup
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_handshake_wrapup(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - cipher_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: mbedtls_cipher_info_from_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: mbedtls_cipher_info_t*
    signature: 'const mbedtls_cipher_info_t *mbedtls_cipher_info_from_string( const
      char *cipher_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:219,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:222,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:232,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:225,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:238,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: mbedtls_cipher_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    - mbedtls_platform_zeroize
    - mbedtls_cipher_get_base
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_cipher_free(mbedtls_cipher_context_t *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_get_iv_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:437,1
    - Dst: mbedtls_gcm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:470,1
    - Dst: mbedtls_ccm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:496,1
    - Dst: mbedtls_chacha20_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:454,1
    - Dst: mbedtls_ccm_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:481,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:503,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - iv
    - iv_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 508
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 508
    functionName: mbedtls_cipher_set_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_starts
    - mbedtls_cipher_info_get_iv_size
    - memcpy
    - mbedtls_gcm_starts
    - mbedtls_ccm_set_lengths
    - mbedtls_ccm_starts
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_set_iv(mbedtls_cipher_context_t *ctx, const unsigned
      char *iv, size_t iv_len) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:629,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:677,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:769,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:598,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:661,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:674,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:610,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:737,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:720,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:791,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:809,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:621,1
    - Dst: mbedtls_chachapoly_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:638,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:753,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:709,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 140
    argCount: 5
    argNames:
    - ctx
    - input
    - ilen
    - output
    - olen
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 822
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 822
    functionName: mbedtls_cipher_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_update
    - memcpy
    - mbedtls_ccm_update
    - mbedtls_cipher_get_base
    - mbedtls_gcm_update
    - mbedtls_cipher_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_update(mbedtls_cipher_context_t *ctx, const unsigned
      char *input, size_t ilen, unsigned char *output, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - output
    - output_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 930
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 930
    functionName: add_zeros_and_len_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void add_zeros_and_len_padding(unsigned char *output, size_t
      output_len, size_t data_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1331,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1357,1
    - Dst: psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1364,1
    - Dst: psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1335,1
    - Dst: psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1351,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1376,1
    - Dst: mbedtls_cipher_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1380,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1384,1
    - Dst: mbedtls_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1389,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 7
    argNames:
    - ctx
    - iv
    - iv_len
    - input
    - ilen
    - output
    - olen
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1397
    functionName: mbedtls_cipher_crypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_reset
    - psa_cipher_encrypt_setup
    - psa_cipher_finish
    - mbedtls_cipher_finish
    - mbedtls_cipher_set_iv
    - psa_cipher_decrypt_setup
    - psa_cipher_set_iv
    - psa_cipher_update
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_crypt(mbedtls_cipher_context_t *ctx, const unsigned
      char *iv, size_t iv_len, const unsigned char *input, size_t ilen, unsigned char
      *output, size_t *olen) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1506,1
    - Dst: mbedtls_ccm_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1543,1
    - Dst: mbedtls_gcm_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1527,1
    - Dst: mbedtls_chachapoly_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1565,1
    - Dst: mbedtls_cipher_info_get_iv_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1559,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 11
    argNames:
    - ctx
    - iv
    - iv_len
    - ad
    - ad_len
    - input
    - ilen
    - output
    - olen
    - tag
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1577
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1577
    functionName: mbedtls_cipher_aead_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_auth_decrypt
    - mbedtls_cipher_info_get_iv_size
    - psa_aead_decrypt
    - mbedtls_ccm_auth_decrypt
    - mbedtls_gcm_auth_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_cipher_aead_decrypt(mbedtls_cipher_context_t *ctx,
      const unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len,
      const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen,
      const unsigned char *tag, size_t tag_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:124,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - cipher_id
    - key_bitlen
    - mode
    argTypes:
    - mbedtls_cipher_id_t
    - int
    - mbedtls_cipher_mode_t
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: mbedtls_cipher_info_from_values
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_cipher_get_base
    linkageType: ''
    returnType: mbedtls_cipher_info_t*
    signature: 'const mbedtls_cipher_info_t *mbedtls_cipher_info_from_values( const
      mbedtls_cipher_id_t cipher_id, int key_bitlen, const mbedtls_cipher_mode_t mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:251,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:254,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - cipher_info
    argTypes:
    - mbedtls_cipher_context_t*
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: mbedtls_cipher_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_get_base
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_setup(mbedtls_cipher_context_t *ctx, const mbedtls_cipher_info_t
      *cipher_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 527
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 527
    functionName: mbedtls_cipher_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_reset(mbedtls_cipher_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_gt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:947,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:948,1
    - Dst: mbedtls_ct_bool_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:955,1
    - Dst: mbedtls_ct_uint_ge
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:953,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:948,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:955,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:956,1
    - Dst: mbedtls_ct_error_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:959,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - input
    - input_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 960
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 960
    functionName: get_zeros_and_len_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_or
    - mbedtls_ct_uint_gt
    - mbedtls_ct_bool_if_else_0
    - mbedtls_ct_uint_ge
    - mbedtls_ct_error_if_else_0
    - mbedtls_ct_bool
    - mbedtls_ct_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int get_zeros_and_len_padding(unsigned char *input, size_t
      input_len, size_t *data_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1429,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1447,1
    - Dst: mbedtls_ccm_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1455,1
    - Dst: mbedtls_chachapoly_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1469,1
    - Dst: mbedtls_cipher_info_get_iv_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1463,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 11
    argNames:
    - ctx
    - iv
    - iv_len
    - ad
    - ad_len
    - input
    - ilen
    - output
    - olen
    - tag
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1475
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1475
    functionName: mbedtls_cipher_aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_encrypt_and_tag
    - mbedtls_cipher_info_get_iv_size
    - psa_aead_encrypt
    - mbedtls_gcm_crypt_and_tag
    - mbedtls_chachapoly_encrypt_and_tag
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_cipher_aead_encrypt(mbedtls_cipher_context_t *ctx,
      const unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len,
      const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen,
      unsigned char *tag, size_t tag_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - input
    - input_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1010
    functionName: get_no_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_no_padding(unsigned char *input, size_t input_len,
      size_t *data_len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - mbedtls_cipher_type_t
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: mbedtls_psa_translate_cipher_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_type_t
    signature: 'static inline psa_key_type_t mbedtls_psa_translate_cipher_type( mbedtls_cipher_type_t
      cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: mbedtls_cipher_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_cipher_init(mbedtls_cipher_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - output
    - output_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: add_pkcs_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void add_pkcs_padding(unsigned char *output, size_t output_len,
      size_t data_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_nist_kw_unwrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1662,1
    - Dst: mbedtls_cipher_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1673,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 11
    argNames:
    - ctx
    - iv
    - iv_len
    - ad
    - ad_len
    - input
    - ilen
    - output
    - output_len
    - olen
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1679
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1679
    functionName: mbedtls_cipher_auth_decrypt_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_aead_decrypt
    - mbedtls_nist_kw_unwrap
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_auth_decrypt_ext(mbedtls_cipher_context_t *ctx,
      const unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len,
      const unsigned char *input, size_t ilen, unsigned char *output, size_t output_len,
      size_t *olen, size_t tag_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:183,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - taglen
    argTypes:
    - mbedtls_cipher_mode_t
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: mbedtls_psa_translate_cipher_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static inline psa_algorithm_t mbedtls_psa_translate_cipher_mode( mbedtls_cipher_mode_t
      mode, size_t taglen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_gt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:856,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:864,1
    - Dst: mbedtls_ct_uint_ge
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:863,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:857,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:857,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:865,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:865,1
    - Dst: mbedtls_ct_error_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - input
    - input_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 869
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 869
    functionName: get_pkcs_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_or
    - mbedtls_ct_bool_and
    - mbedtls_ct_uint_gt
    - mbedtls_ct_uint_ne
    - mbedtls_ct_uint_ge
    - mbedtls_ct_error_if_else_0
    - mbedtls_ct_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int get_pkcs_padding(unsigned char *input, size_t input_len,
      size_t *data_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_nist_kw_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1611,1
    - Dst: mbedtls_cipher_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1622,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 11
    argNames:
    - ctx
    - iv
    - iv_len
    - ad
    - ad_len
    - input
    - ilen
    - output
    - output_len
    - olen
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1630
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1630
    functionName: mbedtls_cipher_auth_encrypt_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_nist_kw_wrap
    - mbedtls_cipher_aead_encrypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_auth_encrypt_ext(mbedtls_cipher_context_t *ctx,
      const unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len,
      const unsigned char *input, size_t ilen, unsigned char *output, size_t output_len,
      size_t *olen, size_t tag_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:548,1
    - Dst: mbedtls_chachapoly_update_aad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:569,1
    - Dst: mbedtls_chachapoly_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:562,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - ad
    - ad_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 575
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 575
    functionName: mbedtls_cipher_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_update_aad
    - mbedtls_chachapoly_starts
    - mbedtls_gcm_update_ad
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_update_ad(mbedtls_cipher_context_t *ctx, const
      unsigned char *ad, size_t ad_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_translate_cipher_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:279,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:287,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:289,1
    - Dst: mbedtls_psa_translate_cipher_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - cipher_info
    - taglen
    argTypes:
    - mbedtls_cipher_context_t*
    - mbedtls_cipher_info_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 298
    functionName: mbedtls_cipher_setup_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memset
    - mbedtls_psa_translate_cipher_type
    - mbedtls_psa_translate_cipher_mode
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_setup_psa(mbedtls_cipher_context_t *ctx, const
      mbedtls_cipher_info_t *cipher_info, size_t taglen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - mbedtls_cipher_context_t*
    - mbedtls_cipher_padding_t
    constantsTouched: []
    func_position:
      end: 1177
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1177
    functionName: mbedtls_cipher_set_padding_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_set_padding_mode(mbedtls_cipher_context_t *ctx,
      mbedtls_cipher_padding_t mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: mbedtls_cipher_list
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int*
    signature: 'const int *mbedtls_cipher_list(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - output
    - output_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 886
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 886
    functionName: add_one_and_zeros_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void add_one_and_zeros_padding(unsigned char *output, size_t
      output_len, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - output
    - output_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 971
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 971
    functionName: add_zeros_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void add_zeros_padding(unsigned char *output, size_t output_len,
      size_t data_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1206,1
    - Dst: mbedtls_chachapoly_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - tag
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1225
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1225
    functionName: mbedtls_cipher_write_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_gcm_finish
    - mbedtls_chachapoly_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_write_tag(mbedtls_cipher_context_t *ctx, unsigned
      char *tag, size_t tag_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - cipher_type
    argTypes:
    - mbedtls_cipher_type_t
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: mbedtls_cipher_info_from_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_info_t*
    signature: 'const mbedtls_cipher_info_t *mbedtls_cipher_info_from_type( const
      mbedtls_cipher_type_t cipher_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:901,1
    - Dst: mbedtls_ct_size_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:905,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:903,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:907,1
    - Dst: mbedtls_ct_bool_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:907,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:909,1
    - Dst: mbedtls_ct_bool_not
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:909,1
    - Dst: mbedtls_ct_error_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - input
    - input_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 913
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 913
    functionName: get_one_and_zeros_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_not
    - mbedtls_ct_bool_and
    - mbedtls_ct_uint_ne
    - mbedtls_ct_error_if_else_0
    - mbedtls_ct_size_if
    - mbedtls_ct_bool
    - mbedtls_ct_bool_if
    linkageType: ''
    returnType: int
    signature: 'static int get_one_and_zeros_padding(unsigned char *input, size_t
      input_len, size_t *data_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:986,1
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:986,1
    - Dst: mbedtls_ct_bool_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:987,1
    - Dst: mbedtls_ct_size_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - input_len
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 991
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 991
    functionName: get_zeros_padding
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_or
    - mbedtls_ct_bool_ne
    - mbedtls_ct_uint_ne
    - mbedtls_ct_size_if
    linkageType: ''
    returnType: int
    signature: 'static int get_zeros_padding(unsigned char *input, size_t input_len,
      size_t *data_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1263,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1271,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1300,1
    - Dst: mbedtls_chachapoly_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1285,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1292,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - tag
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1302
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1302
    functionName: mbedtls_cipher_check_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_gcm_finish
    - mbedtls_ct_memcmp
    - mbedtls_chachapoly_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_check_tag(mbedtls_cipher_context_t *ctx, const
      unsigned char *tag, size_t tag_len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_get_iv_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1078,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1093,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1080,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1095,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1105,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:1110,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 3
    argNames:
    - ctx
    - output
    - olen
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1118
    functionName: mbedtls_cipher_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_get_iv_size
    - mbedtls_cipher_get_base
    - mbedtls_cipher_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_finish(mbedtls_cipher_context_t *ctx, unsigned
      char *output, size_t *olen) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_translate_cipher_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:340,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:353,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:345,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:351,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:355,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:378,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:393,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:398,1
    - Dst: mbedtls_cipher_get_base
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c:403,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 4
    argNames:
    - ctx
    - key
    - key_bitlen
    - operation
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - int
    - mbedtls_operation_t
    constantsTouched: []
    func_position:
      end: 409
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 409
    functionName: mbedtls_cipher_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - psa_set_key_algorithm
    - mbedtls_psa_translate_cipher_type
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_cipher_get_base
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_cipher_setkey(mbedtls_cipher_context_t *ctx, const unsigned
      char *key, int key_bitlen, const mbedtls_operation_t operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: mbedtls_cipher_get_base
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_base_t*
    signature: 'static inline const mbedtls_cipher_base_t *mbedtls_cipher_get_base(
      const mbedtls_cipher_info_t *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:46,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:50,1
    - Dst: mbedtls_rsa_export
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:48,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:54,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: psa_check_rsa_key_byte_aligned
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    - mbedtls_to_psa_error
    - mbedtls_rsa_export
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_check_rsa_key_byte_aligned( const mbedtls_rsa_context
      *rsa) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:162,1
    - Dst: mbedtls_rsa_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:165,1
    - Dst: mbedtls_rsa_write_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:163,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:170,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:171,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:178,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:179,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:181,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - type
    - rsa
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_type_t
    - mbedtls_rsa_context*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 187
    functionName: mbedtls_psa_rsa_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_write_key
    - memmove
    - mbedtls_to_psa_error
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - mbedtls_rsa_write_pubkey
    - memcpy
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_rsa_export_key(psa_key_type_t type, mbedtls_rsa_context
      *rsa, uint8_t *data, size_t data_size, size_t *data_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - e_bytes
    - e_length
    - exponent
    argTypes:
    - uint8_t*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 237
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 237
    functionName: psa_rsa_read_exponent
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_rsa_read_exponent(const uint8_t *e_bytes,
      size_t e_length, int *exponent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:290,1
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:307,1
    - Dst: mbedtls_md_type_from_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - alg
    - hash_length
    - md_alg
    argTypes:
    - psa_algorithm_t
    - size_t
    - mbedtls_md_type_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 313
    functionName: psa_rsa_decode_md_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_md_type_from_psa_alg
    - PSA_ALG_SIGN_GET_HASH
    - mbedtls_md_get_size_from_type
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_rsa_decode_md_type(psa_algorithm_t alg, size_t
      hash_length, mbedtls_md_type_t *md_alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:65,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:69,1
    - Dst: mbedtls_rsa_parse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:73,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:73,1
    - Dst: PSA_KEY_TYPE_IS_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:72,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:75,1
    - Dst: mbedtls_rsa_parse_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:75,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:84,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:84,1
    - Dst: psa_check_rsa_key_byte_aligned
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:89,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - type
    - data
    - data_length
    - p_rsa
    argTypes:
    - psa_key_type_t
    - uint8_t*
    - size_t
    - mbedtls_rsa_context**
    constantsTouched: []
    func_position:
      end: 96
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 96
    functionName: mbedtls_psa_rsa_load_representation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - psa_check_rsa_key_byte_aligned
    - PSA_BYTES_TO_BITS
    - mbedtls_to_psa_error
    - PSA_KEY_TYPE_IS_KEY_PAIR
    - mbedtls_rsa_parse_key
    - mbedtls_rsa_init
    - mbedtls_rsa_get_len
    - mbedtls_rsa_parse_pubkey
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_rsa_load_representation( psa_key_type_t type,
      const uint8_t *data, size_t data_length, mbedtls_rsa_context **p_rsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_rsa_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:197,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:208,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:207,1
    - Dst: mbedtls_psa_rsa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: mbedtls_psa_rsa_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_rsa_load_representation
    - mbedtls_free
    - mbedtls_rsa_free
    - mbedtls_psa_rsa_export_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_rsa_export_public_key( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_rsa_read_exponent
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:250,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:265,1
    - Dst: mbedtls_rsa_gen_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:258,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:264,1
    - Dst: mbedtls_rsa_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:257,1
    - Dst: mbedtls_psa_rsa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:268,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - attributes
    - custom_data
    - custom_data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 274
    functionName: mbedtls_psa_rsa_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - psa_rsa_read_exponent
    - mbedtls_to_psa_error
    - mbedtls_rsa_free
    - mbedtls_psa_rsa_export_key
    - mbedtls_rsa_gen_key
    - mbedtls_rsa_init
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_rsa_generate_key( const psa_key_attributes_t
      *attributes, const uint8_t *custom_data, size_t custom_data_length, uint8_t
      *key_buffer, size_t key_buffer_size, size_t *key_buffer_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_rsa_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:326,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:345,1
    - Dst: psa_rsa_decode_md_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:334,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:339,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:346,1
    - Dst: mbedtls_rsa_pkcs1_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:349,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:360,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:361,1
    - Dst: mbedtls_rsa_rsassa_pss_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:364,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:380,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:382,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:385,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:386,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 389
    functionName: mbedtls_psa_rsa_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - psa_rsa_decode_md_type
    - mbedtls_to_psa_error
    - mbedtls_free
    - mbedtls_rsa_pkcs1_sign
    - mbedtls_rsa_free
    - mbedtls_rsa_rsassa_pss_sign
    - mbedtls_psa_rsa_load_representation
    - mbedtls_rsa_get_len
    - PSA_ALG_IS_RSA_PSS
    - mbedtls_rsa_set_padding
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_rsa_sign_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_RSA_OAEP_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:501,1
    - Dst: mbedtls_md_type_from_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:502,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:506,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - alg
    - rsa
    argTypes:
    - psa_algorithm_t
    - mbedtls_rsa_context*
    constantsTouched: []
    func_position:
      end: 511
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 511
    functionName: psa_rsa_oaep_set_padding_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - PSA_ALG_RSA_OAEP_GET_HASH
    - mbedtls_md_type_from_psa_alg
    - mbedtls_rsa_set_padding
    linkageType: ''
    returnType: int
    signature: 'static int psa_rsa_oaep_set_padding_mode(psa_algorithm_t alg, mbedtls_rsa_context
      *rsa) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_rsa_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:637,1
    - Dst: mbedtls_rsa_pkcs1_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:655,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:645,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:654,1
    - Dst: PSA_ALG_IS_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:666,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:668,1
    - Dst: psa_rsa_oaep_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:669,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:674,1
    - Dst: mbedtls_rsa_rsaes_oaep_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:675,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:693,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:694,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 702
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 702
    functionName: mbedtls_psa_asymmetric_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_OAEP
    - mbedtls_to_psa_error
    - mbedtls_rsa_pkcs1_decrypt
    - mbedtls_free
    - mbedtls_rsa_free
    - mbedtls_rsa_rsaes_oaep_decrypt
    - psa_rsa_oaep_set_padding_mode
    - mbedtls_psa_rsa_load_representation
    - mbedtls_rsa_get_len
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_asymmetric_decrypt(const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, const uint8_t *salt, size_t
      salt_length, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_rsa_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:425,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:438,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:445,1
    - Dst: PSA_ALG_IS_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:444,1
    - Dst: psa_rsa_decode_md_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:433,1
    - Dst: mbedtls_rsa_pkcs1_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:448,1
    - Dst: PSA_ALG_IS_RSA_PSS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:457,1
    - Dst: mbedtls_rsa_set_padding
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:458,1
    - Dst: rsa_pss_expected_salt_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:460,1
    - Dst: mbedtls_rsa_rsassa_pss_verify_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:461,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:481,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:485,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:484,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 488
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 488
    functionName: mbedtls_psa_rsa_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_RSA_PKCS1V15_SIGN
    - psa_rsa_decode_md_type
    - PSA_ALG_IS_RSA_PSS
    - mbedtls_to_psa_error
    - mbedtls_free
    - mbedtls_rsa_free
    - rsa_pss_expected_salt_len
    - mbedtls_rsa_rsassa_pss_verify_ext
    - mbedtls_psa_rsa_load_representation
    - mbedtls_rsa_get_len
    - mbedtls_rsa_pkcs1_verify
    - mbedtls_rsa_set_padding
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_rsa_verify_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t
      signature_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_RSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:537,1
    - Dst: mbedtls_psa_rsa_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:541,1
    - Dst: mbedtls_rsa_pkcs1_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:558,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:549,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:557,1
    - Dst: PSA_ALG_IS_RSA_OAEP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:568,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:570,1
    - Dst: psa_rsa_oaep_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:571,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:576,1
    - Dst: mbedtls_rsa_rsaes_oaep_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:577,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:594,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:597,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:598,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 606
    functionName: mbedtls_psa_asymmetric_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_rsaes_oaep_encrypt
    - PSA_ALG_IS_RSA_OAEP
    - mbedtls_to_psa_error
    - mbedtls_free
    - mbedtls_rsa_free
    - PSA_KEY_TYPE_IS_RSA
    - psa_rsa_oaep_set_padding_mode
    - mbedtls_psa_rsa_load_representation
    - mbedtls_rsa_get_len
    - mbedtls_rsa_pkcs1_encrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_asymmetric_encrypt(const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, const uint8_t *salt, size_t
      salt_length, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_RSA_PSS_ANY_SALT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:396,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - alg
    - rsa
    - hash_length
    argTypes:
    - psa_algorithm_t
    - mbedtls_rsa_context*
    - size_t
    constantsTouched: []
    func_position:
      end: 411
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 411
    functionName: rsa_pss_expected_salt_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - mbedtls_rsa_get_len
    - PSA_ALG_IS_RSA_PSS_ANY_SALT
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pss_expected_salt_len(psa_algorithm_t alg, const mbedtls_rsa_context
      *rsa, size_t hash_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_rsa_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:118,1
    - Dst: mbedtls_rsa_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:126,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:126,1
    - Dst: mbedtls_psa_rsa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:132,1
    - Dst: mbedtls_rsa_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:139,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 143
    functionName: mbedtls_psa_rsa_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_rsa.c
    functionUses: []
    functionsReached:
    - PSA_BYTES_TO_BITS
    - mbedtls_free
    - mbedtls_rsa_free
    - mbedtls_psa_rsa_export_key
    - mbedtls_psa_rsa_load_representation
    - mbedtls_rsa_get_len
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_rsa_import_key( const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:968,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:970,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - buf
    - size
    - oid
    argTypes:
    - char*
    - size_t
    - mbedtls_asn1_buf*
    constantsTouched: []
    func_position:
      end: 987
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 987
    functionName: mbedtls_oid_get_numeric_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_oid_get_numeric_string(char *buf, size_t size, const mbedtls_asn1_buf
      *oid) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1073,1
    - Dst: oid_parse_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1124,1
    - Dst: oid_subidentifier_encode_into
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1117,1
    - Dst: oid_parse_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1095,1
    - Dst: oid_parse_number
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1080,1
    - Dst: oid_subidentifier_encode_into
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1137,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1144,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1149,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1150,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1159,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 90
    argCount: 3
    argNames:
    - oid
    - oid_str
    - size
    argTypes:
    - mbedtls_asn1_buf*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1163
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1163
    functionName: mbedtls_oid_from_numeric_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_free
    - memcpy
    - oid_parse_number
    - oid_subidentifier_encode_into
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_oid_from_numeric_string(mbedtls_asn1_buf *oid, const char
      *oid_str, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1017
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: oid_subidentifier_num_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t oid_subidentifier_num_bytes(unsigned int value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - num
    - p
    - bound
    argTypes:
    - unsigned int*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 1005
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1005
    functionName: oid_parse_number
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int oid_parse_number(unsigned int *num, const char **p, const
      char *bound) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oid_subidentifier_num_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c:1023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - p
    - bound
    - value
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1038
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1038
    functionName: oid_subidentifier_encode_into
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/oid.c
    functionUses: []
    functionsReached:
    - oid_subidentifier_num_bytes
    linkageType: ''
    returnType: int
    signature: 'static int oid_subidentifier_encode_into(unsigned char **p, unsigned
      char *bound, unsigned int value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:121,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - mbedtls_ssl_cache_entry*
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: ssl_cache_entry_zeroize
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'static void ssl_cache_entry_zeroize(mbedtls_ssl_cache_entry *entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:43,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:56,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - cache
    - session_id
    - session_id_len
    - dst
    argTypes:
    - mbedtls_ssl_cache_context*
    - unsigned char*
    - size_t
    - mbedtls_ssl_cache_entry**
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: ssl_cache_find_entry
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_time
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_cache_find_entry(mbedtls_ssl_cache_context
      *cache, unsigned char const *session_id, size_t session_id_len, mbedtls_ssl_cache_entry
      **dst) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:258,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:284,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:277,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:272,1
    - Dst: ssl_cache_pick_writing_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:263,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:297,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:307,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:313,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 4
    argNames:
    - data
    - session_id
    - session_id_len
    - session
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 318
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 318
    functionName: mbedtls_ssl_cache_set
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - ssl_cache_pick_writing_slot
    - memcpy
    - mbedtls_mutex_lock
    - mbedtls_ssl_session_save
    - mbedtls_zeroize_and_free
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_cache_set(void *data, unsigned char const *session_id,
      size_t session_id_len, const mbedtls_ssl_session *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:25,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - mbedtls_ssl_cache_context*
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: mbedtls_ssl_cache_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_cache_init(mbedtls_ssl_cache_context *cache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:83,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:104,1
    - Dst: ssl_cache_find_entry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:88,1
    - Dst: mbedtls_ssl_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:93,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - data
    - session_id
    - session_id_len
    - session
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 110
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 110
    functionName: mbedtls_ssl_cache_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    - mbedtls_ssl_session_load
    - ssl_cache_find_entry
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_cache_get(void *data, unsigned char const *session_id,
      size_t session_id_len, mbedtls_ssl_session *session) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:135,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:185,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:154,1
    - Dst: ssl_cache_entry_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:233,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 4
    argNames:
    - cache
    - session_id
    - session_id_len
    - dst
    argTypes:
    - mbedtls_ssl_cache_context*
    - unsigned char*
    - size_t
    - mbedtls_ssl_cache_entry**
    constantsTouched: []
    func_position:
      end: 243
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 243
    functionName: ssl_cache_pick_writing_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_time
    - ssl_cache_entry_zeroize
    - mbedtls_calloc
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_cache_pick_writing_slot(mbedtls_ssl_cache_context
      *cache, unsigned char const *session_id, size_t session_id_len, mbedtls_ssl_cache_entry
      **dst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:330,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:356,1
    - Dst: ssl_cache_find_entry
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:335,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:361,1
    - Dst: ssl_cache_entry_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:355,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - data
    - session_id
    - session_id_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 367
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 367
    functionName: mbedtls_ssl_cache_remove
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_mutex_lock
    - ssl_cache_find_entry
    - ssl_cache_entry_zeroize
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_cache_remove(void *data, unsigned char const *session_id,
      size_t session_id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cache_entry_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:399,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:404,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - cache
    argTypes:
    - mbedtls_ssl_cache_context*
    constantsTouched: []
    func_position:
      end: 407
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 407
    functionName: mbedtls_ssl_cache_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - ssl_cache_entry_zeroize
    - mbedtls_mutex_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_cache_free(mbedtls_ssl_cache_context *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cache
    - max
    argTypes:
    - mbedtls_ssl_cache_context*
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: mbedtls_ssl_cache_set_max_entries
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_cache_set_max_entries(mbedtls_ssl_cache_context *cache,
      int max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cache
    - timeout
    argTypes:
    - mbedtls_ssl_cache_context*
    - int
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: mbedtls_ssl_cache_set_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_cache_set_timeout(mbedtls_ssl_cache_context *cache,
      int timeout) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:825,1
    - Dst: mbedtls_oid_get_numeric_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:849,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:838,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:847,1
    - Dst: mbedtls_oid_get_attr_short_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:846,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:852,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:857,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:866,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:870,1
    - Dst: nibble_to_hex_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:882,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:906,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:907,1
    - Dst: nibble_to_hex_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:923,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:930,1
    - Dst: nibble_to_hex_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:892,1
    - Dst: nibble_to_hex_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:883,1
    - Dst: nibble_to_hex_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:922,1
    - Dst: nibble_to_hex_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:893,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 146
    argCount: 3
    argNames:
    - buf
    - size
    - dn
    argTypes:
    - char*
    - size_t
    - mbedtls_x509_name*
    constantsTouched: []
    func_position:
      end: 938
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 938
    functionName: mbedtls_x509_dn_gets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - strchr
    - mbedtls_asn1_write_len
    - nibble_to_hex_digit
    - mbedtls_asn1_write_tag
    - mbedtls_snprintf
    - mbedtls_oid_get_numeric_string
    - mbedtls_oid_get_attr_short_name
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_dn_gets(char *buf, size_t size, const mbedtls_x509_name
      *dn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_oid_get_sig_alg_desc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:987,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:989,1
    - Dst: md_type_to_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1001,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:991,1
    - Dst: md_type_to_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1002,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1004,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 6
    argNames:
    - buf
    - size
    - sig_oid
    - pk_alg
    - md_alg
    - sig_opts
    argTypes:
    - char*
    - size_t
    - mbedtls_x509_buf*
    - mbedtls_pk_type_t
    - mbedtls_md_type_t
    - void*
    constantsTouched: []
    func_position:
      end: 1017
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1017
    functionName: mbedtls_x509_sig_alg_gets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    - mbedtls_oid_get_sig_alg_desc
    - md_type_to_string
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_sig_alg_gets(char *buf, size_t size, const mbedtls_x509_buf
      *sig_oid, mbedtls_pk_type_t pk_alg, mbedtls_md_type_t md_alg, const void *sig_opts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_bitstring
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1344,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1345,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - p
    - end
    - ns_cert_type
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1363
    functionName: mbedtls_x509_get_ns_cert_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_bitstring
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_ns_cert_type(unsigned char **p, const unsigned
      char *end, unsigned char *ns_cert_type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: x509_get_other_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1407,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1424,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1414,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1412,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1427,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1437,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1440,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1449,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1453,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1465,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1467,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1480,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1477,1
    - Dst: mbedtls_x509_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1487,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - san_buf
    - san
    argTypes:
    - mbedtls_x509_buf*
    - mbedtls_x509_subject_alternative_name*
    constantsTouched: []
    func_position:
      end: 1500
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1500
    functionName: mbedtls_x509_parse_subject_alt_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_get_name
    - memcpy
    - mbedtls_asn1_get_tag
    - x509_get_other_name
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_parse_subject_alt_name(const mbedtls_x509_buf *san_buf,
      mbedtls_x509_subject_alternative_name *san) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1524,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1528,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1549,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1551,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1641,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1644,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1669,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1687,1
    - Dst: mbedtls_x509_free_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1694,1
    - Dst: mbedtls_oid_get_numeric_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1557,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1563,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1618,1
    - Dst: mbedtls_x509_parse_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1525,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1546,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1531,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1567,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1590,1
    - Dst: mbedtls_x509_free_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1665,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1554,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1628,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1581,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1663,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1605,1
    - Dst: mbedtls_x509_free_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1672,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 104
    argCount: 4
    argNames:
    - buf
    - size
    - subject_alt_name
    - prefix
    argTypes:
    - char**
    - size_t*
    - mbedtls_x509_sequence*
    - char*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1704
    functionName: mbedtls_x509_info_subject_alt_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_x509_dn_gets
    - mbedtls_x509_free_subject_alt_name
    - mbedtls_snprintf
    - mbedtls_oid_get_numeric_string
    - mbedtls_x509_parse_subject_alt_name
    - MBEDTLS_OID_CMP
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_info_subject_alt_name(char **buf, size_t *size, const
      mbedtls_x509_sequence *subject_alt_name, const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_get_current_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1078,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - to
    argTypes:
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1083
    functionName: mbedtls_x509_time_is_past
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_time_cmp
    - x509_get_current_time
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_time_is_past(const mbedtls_x509_time *to) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_bitstring
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1373,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - p
    - end
    - key_usage
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1391
    functionName: mbedtls_x509_get_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_bitstring
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_key_usage(unsigned char **p, const unsigned char
      *end, unsigned int *key_usage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_free_named_data_list_shallow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - san
    argTypes:
    - mbedtls_x509_subject_alternative_name*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1507
    functionName: mbedtls_x509_free_subject_alt_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_free_named_data_list_shallow
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_free_subject_alt_name(mbedtls_x509_subject_alternative_name
      *san) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1758,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1759,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1762,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1760,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1761,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1763,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1764,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1765,1
    - Dst: KEY_USAGE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - size
    - key_usage
    argTypes:
    - char**
    - size_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1772
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1772
    functionName: mbedtls_x509_info_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - KEY_USAGE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_info_key_usage(char **buf, size_t *size, unsigned
      int key_usage) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_oid_get_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:727,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:735,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:745,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:728,1
    - Dst: mbedtls_x509_get_rsassa_pss_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:740,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 5
    argNames:
    - sig_oid
    - sig_params
    - md_alg
    - pk_alg
    - sig_opts
    argTypes:
    - mbedtls_x509_buf*
    - mbedtls_x509_buf*
    - mbedtls_md_type_t*
    - mbedtls_pk_type_t*
    - void**
    constantsTouched: []
    func_position:
      end: 761
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 761
    functionName: mbedtls_x509_get_sig_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_get_rsassa_pss_params
    - mbedtls_calloc
    - mbedtls_oid_get_sig_alg
    - mbedtls_free
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_sig_alg(const mbedtls_x509_buf *sig_oid, const
      mbedtls_x509_buf *sig_params, mbedtls_md_type_t *md_alg, mbedtls_pk_type_t *pk_alg,
      void **sig_opts) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1223,1
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1228,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1229,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1237,1
    - Dst: mbedtls_x509_parse_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1245,1
    - Dst: mbedtls_asn1_sequence_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1251,1
    - Dst: mbedtls_x509_free_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1256,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1263,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1266,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1281,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - p
    - end
    - subject_alt_name
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_sequence*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1286
    functionName: mbedtls_x509_get_subject_alt_name_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_asn1_get_len
    - mbedtls_asn1_sequence_free
    - mbedtls_x509_free_subject_alt_name
    - MBEDTLS_ERROR_ADD
    - mbedtls_x509_parse_subject_alt_name
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_subject_alt_name_ext(unsigned char **p, const
      unsigned char *end, mbedtls_x509_sequence *subject_alt_name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - md_alg
    argTypes:
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 164
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 164
    functionName: md_type_to_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline const char *md_type_to_string(mbedtls_md_type_t md_alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:776,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:779,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:795,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:789,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - p
    - end
    - ext
    - tag
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    - int
    constantsTouched: []
    func_position:
      end: 800
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 800
    functionName: mbedtls_x509_get_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_ext(unsigned char **p, const unsigned char *end,
      mbedtls_x509_buf *ext, int tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - mbedtls_x509_time*
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1049
    functionName: mbedtls_x509_time_cmp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_time_cmp(const mbedtls_x509_time *t1, const mbedtls_x509_time
      *t2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: nibble_to_hex_digit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'static char nibble_to_hex_digit(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:961,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:967,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - size
    - serial
    argTypes:
    - char*
    - size_t
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 972
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 972
    functionName: mbedtls_x509_serial_gets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_serial_gets(char *buf, size_t size, const mbedtls_x509_buf
      *serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buf_size
    - name
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1033
    functionName: mbedtls_x509_key_size_helper
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_snprintf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_key_size_helper(char *buf, size_t buf_size, const
      char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:68,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:74,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:81,1
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - p
    - end
    - serial
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 88
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 88
    functionName: mbedtls_x509_get_serial
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_len
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_serial(unsigned char **p, const unsigned char
      *end, mbedtls_x509_buf *serial) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:188,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:204,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:196,1
    - Dst: mbedtls_oid_get_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:211,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:203,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:212,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:220,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:221,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - alg
    - md_alg
    argTypes:
    - mbedtls_x509_buf*
    - mbedtls_md_type_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 230
    functionName: x509_get_hash_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    - mbedtls_oid_get_md_alg
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_hash_alg(const mbedtls_x509_buf *alg, mbedtls_md_type_t
      *md_alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:116,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - p
    - end
    - alg
    - params
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: mbedtls_x509_get_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_alg
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_alg(unsigned char **p, const unsigned char *end,
      mbedtls_x509_buf *alg, mbedtls_x509_buf *params) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:414,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:416,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:429,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:422,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:430,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:437,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:445,1
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:452,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:453,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:460,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - p
    - end
    - cur
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_name*
    constantsTouched: []
    func_position:
      end: 467
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 467
    functionName: x509_get_attr_type_value
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_len
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_attr_type_value(unsigned char **p, const unsigned
      char *end, mbedtls_x509_name *cur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - to
    argTypes:
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    functionName: mbedtls_x509_time_is_past
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_time_is_past(const mbedtls_x509_time *to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - from
    argTypes:
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1108
    functionName: mbedtls_x509_time_is_future
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_time_is_future(const mbedtls_x509_time *from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_alg_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:101,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - p
    - end
    - alg
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: mbedtls_x509_get_alg_null
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_alg_null
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_alg_null(unsigned char **p, const unsigned char
      *end, mbedtls_x509_buf *alg) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 23
    argCount: 1
    argNames:
    - t
    argTypes:
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 596
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 596
    functionName: x509_date_is_valid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int x509_date_is_valid(const mbedtls_x509_time *t) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:656,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:667,1
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:672,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:675,1
    - Dst: x509_parse_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:685,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - p
    - end
    - tm
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 686
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 686
    functionName: mbedtls_x509_get_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_len
    - MBEDTLS_ERROR_ADD
    - x509_parse_time
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_time(unsigned char **p, const unsigned char *end,
      mbedtls_x509_time *tm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:695,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:702,1
    - Dst: mbedtls_asn1_get_bitstring_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:701,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - p
    - end
    - sig
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_buf*
    constantsTouched: []
    func_position:
      end: 712
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 712
    functionName: mbedtls_x509_get_sig
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_bitstring_null
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_sig(unsigned char **p, const unsigned char *end,
      mbedtls_x509_buf *sig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_gmtime_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - tt
    - now
    argTypes:
    - mbedtls_time_t
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1067
    functionName: mbedtls_x509_time_gmtime
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_gmtime_r
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_time_gmtime(mbedtls_time_t tt, mbedtls_x509_time
      *now) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1143,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1155,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1161,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1145,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1164,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1168,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1172,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1174,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1178,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1182,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1191,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1193,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1183,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1201,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - subject_alt_name
    - other_name
    argTypes:
    - mbedtls_x509_buf*
    - mbedtls_x509_san_other_name*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1205
    functionName: x509_get_other_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - MBEDTLS_OID_CMP
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_other_name(const mbedtls_x509_buf *subject_alt_name,
      mbedtls_x509_san_other_name *other_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1728,1
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1729,1
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1730,1
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1731,1
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1732,1
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1733,1
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1734,1
    - Dst: CERT_TYPE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - size
    - ns_cert_type
    argTypes:
    - char**
    - size_t*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1741
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1741
    functionName: mbedtls_x509_info_cert_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - CERT_TYPE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_info_cert_type(char **buf, size_t *size, unsigned
      char ns_cert_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 603
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 603
    functionName: x509_parse2_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int x509_parse2_int(const unsigned char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_time_gmtime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1071,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - now
    argTypes:
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: x509_get_current_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_time
    - mbedtls_x509_time_gmtime
    linkageType: ''
    returnType: int
    signature: 'static int x509_get_current_time(mbedtls_x509_time *now) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_get_current_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1089,1
    - Dst: mbedtls_x509_time_cmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - from
    argTypes:
    - mbedtls_x509_time*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1094
    functionName: mbedtls_x509_time_is_future
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_time_cmp
    - x509_get_current_time
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_time_is_future(const mbedtls_x509_time *from) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:261,1
    - Dst: mbedtls_oid_get_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:285,1
    - Dst: mbedtls_x509_get_alg_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:281,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:326,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:345,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:384,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:275,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:290,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:350,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:340,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:371,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:286,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:304,1
    - Dst: mbedtls_x509_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:310,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:315,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:346,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:330,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:316,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:364,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:376,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:388,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:294,1
    - Dst: x509_get_hash_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:321,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:354,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:372,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 111
    argCount: 4
    argNames:
    - params
    - md_alg
    - mgf_md
    - salt_len
    argTypes:
    - mbedtls_x509_buf*
    - mbedtls_md_type_t*
    - mbedtls_md_type_t*
    - int*
    constantsTouched: []
    func_position:
      end: 393
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 393
    functionName: mbedtls_x509_get_rsassa_pss_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_oid_get_md_alg
    - mbedtls_asn1_get_int
    - mbedtls_x509_get_alg
    - mbedtls_x509_get_alg_null
    - MBEDTLS_ERROR_ADD
    - x509_get_hash_alg
    - MBEDTLS_OID_CMP
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_rsassa_pss_params(const mbedtls_x509_buf *params,
      mbedtls_md_type_t *md_alg, mbedtls_md_type_t *mgf_md, int *salt_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:510,1
    - Dst: x509_get_attr_type_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:519,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:547,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:530,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:512,1
    - Dst: mbedtls_asn1_free_named_data_list_shallow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:559,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - p
    - end
    - cur
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_name*
    constantsTouched: []
    func_position:
      end: 563
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 563
    functionName: mbedtls_x509_get_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - x509_get_attr_type_value
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_tag
    - mbedtls_asn1_free_named_data_list_shallow
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_name(unsigned char **p, const unsigned char *end,
      mbedtls_x509_name *cur) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: x509_parse2_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:617,1
    - Dst: x509_parse2_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:636,1
    - Dst: x509_parse2_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:625,1
    - Dst: x509_parse2_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:635,1
    - Dst: x509_parse2_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:634,1
    - Dst: x509_parse2_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:637,1
    - Dst: x509_parse2_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:638,1
    - Dst: x509_date_is_valid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - p
    - tm
    - yearlen
    argTypes:
    - unsigned char*
    - mbedtls_x509_time*
    - size_t
    constantsTouched: []
    func_position:
      end: 641
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 641
    functionName: x509_parse_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - x509_date_is_valid
    - x509_parse2_int
    linkageType: ''
    returnType: int
    signature: 'static int x509_parse_time(const unsigned char *p, mbedtls_x509_time
      *tm, size_t yearlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1324,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1326,1
    - Dst: mbedtls_x509_get_subject_alt_name_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1334,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c:1330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - p
    - end
    - subject_alt_name
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_sequence*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1335
    functionName: mbedtls_x509_get_subject_alt_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_tag
    - mbedtls_x509_get_subject_alt_name_ext
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_get_subject_alt_name(unsigned char **p, const unsigned
      char *end, mbedtls_x509_sequence *subject_alt_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:230,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:234,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:235,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:235,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:234,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:240,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:240,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:241,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:241,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:246,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:246,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - P
    - Q
    - D
    - DP
    - DQ
    - QP
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 253
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 253
    functionName: mbedtls_rsa_deduce_crt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_init
    - mbedtls_mpi_free
    - mbedtls_mpi_inv_mod
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_deduce_crt(const mbedtls_mpi *P, const mbedtls_mpi
      *Q, const mbedtls_mpi *D, mbedtls_mpi *DP, mbedtls_mpi *DQ, mbedtls_mpi *QP) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:379,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:389,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:422,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:406,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:409,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:424,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:388,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:390,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:405,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:407,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:423,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:425,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:440,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:389,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:392,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:422,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:406,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:424,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:441,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:378,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:388,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:390,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:405,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:423,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:407,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 6
    argNames:
    - P
    - Q
    - D
    - DP
    - DQ
    - QP
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 444
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 444
    functionName: mbedtls_rsa_validate_crt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_validate_crt(const mbedtls_mpi *P, const mbedtls_mpi
      *Q, const mbedtls_mpi *D, const mbedtls_mpi *DP, const mbedtls_mpi *DQ, const
      mbedtls_mpi *QP) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:195,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:203,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:204,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:218,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:189,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:211,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:210,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:199,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:203,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:204,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:214,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:207,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:219,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:193,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:194,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:200,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:210,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:211,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:214,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - P
    - Q
    - E
    - D
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 222
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 222
    functionName: mbedtls_rsa_deduce_private_exponent
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_inv_mod
    - mbedtls_mpi_div_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_gcd
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_deduce_private_exponent(mbedtls_mpi const *P, mbedtls_mpi
      const *Q, mbedtls_mpi const *E, mbedtls_mpi *D) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:78,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:79,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:94,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:95,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:116,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:103,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:153,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:173,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:80,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:90,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:91,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:119,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:126,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:137,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:138,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:140,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:141,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:147,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:152,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:81,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:94,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:95,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:103,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:120,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:116,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:147,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:153,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:163,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:172,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:82,1
    - Dst: mbedtls_mpi_lsb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:97,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:119,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:126,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:133,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:137,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:138,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:151,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:152,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:151,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 5
    argNames:
    - N
    - E
    - D
    - P
    - Q
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 175
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 175
    functionName: mbedtls_rsa_deduce_primes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_lset
    - mbedtls_mpi_add_int
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_div_mpi
    - mbedtls_mpi_lsb
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_gcd
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_deduce_primes(mbedtls_mpi const *N, mbedtls_mpi const
      *E, mbedtls_mpi const *D, mbedtls_mpi *P, mbedtls_mpi *Q) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:267,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:335,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:316,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:336,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:338,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:345,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:346,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:348,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:357,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:268,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:301,1
    - Dst: mbedtls_mpi_is_prime_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:281,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:302,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:317,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:337,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:339,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:347,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:349,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:335,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:336,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:338,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:345,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:346,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:348,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:358,1
    - Dst: mbedtls_mpi_is_prime_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:287,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:301,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:303,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:314,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:315,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:328,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:329,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:337,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c:347,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 101
    argCount: 7
    argNames:
    - N
    - P
    - Q
    - D
    - E
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 366
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 366
    functionName: mbedtls_rsa_validate_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/rsa_alt_helpers.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_is_prime_ext
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_rsa_validate_params(const mbedtls_mpi *N, const mbedtls_mpi
      *P, const mbedtls_mpi *Q, const mbedtls_mpi *D, const mbedtls_mpi *E, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_hkdf_extract
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:23,1
    - Dst: mbedtls_hkdf_expand
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:26,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:30,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:26,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 9
    argNames:
    - md
    - salt
    - salt_len
    - ikm
    - ikm_len
    - info
    - info_len
    - okm
    - okm_len
    argTypes:
    - mbedtls_md_info_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: mbedtls_hkdf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c
    functionUses: []
    functionsReached:
    - mbedtls_md_get_size
    - mbedtls_hkdf_extract
    - mbedtls_platform_zeroize
    - mbedtls_hkdf_expand
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hkdf(const mbedtls_md_info_t *md, const unsigned char
      *salt, size_t salt_len, const unsigned char *ikm, size_t ikm_len, const unsigned
      char *info, size_t info_len, unsigned char *okm, size_t okm_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:79,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:106,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:104,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:110,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:120,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:125,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:130,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:137,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:142,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:148,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:154,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:155,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 7
    argNames:
    - md
    - prk
    - prk_len
    - info
    - info_len
    - okm
    - okm_len
    argTypes:
    - mbedtls_md_info_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 158
    functionName: mbedtls_hkdf_expand
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_setup
    - mbedtls_md_free
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_md_hmac_update
    - mbedtls_md_init
    - mbedtls_md_hmac_finish
    - mbedtls_md_get_size
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hkdf_expand(const mbedtls_md_info_t *md, const unsigned
      char *prk, size_t prk_len, const unsigned char *info, size_t info_len, unsigned
      char *okm, size_t okm_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:49,1
    - Dst: mbedtls_md_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - md
    - salt
    - salt_len
    - ikm
    - ikm_len
    - prk
    argTypes:
    - mbedtls_md_info_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: mbedtls_hkdf_extract
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hkdf.c
    functionUses: []
    functionsReached:
    - mbedtls_md_get_size
    - mbedtls_md_hmac
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hkdf_extract(const mbedtls_md_info_t *md, const unsigned
      char *salt, size_t salt_len, const unsigned char *ikm, size_t ikm_len, unsigned
      char *prk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: mbedtls_buffer_offset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static inline unsigned char *mbedtls_buffer_offset( unsigned char
      *p, size_t n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_get_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:277,1
    - Dst: mbedtls_get_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:291,1
    - Dst: mbedtls_put_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:278,1
    - Dst: mbedtls_get_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:291,1
    - Dst: mbedtls_get_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:277,1
    - Dst: mbedtls_put_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 304
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 304
    functionName: mbedtls_xor_no_simd
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h
    functionUses: []
    functionsReached:
    - mbedtls_put_unaligned_uint32
    - mbedtls_put_unaligned_uint64
    - mbedtls_get_unaligned_uint32
    - mbedtls_get_unaligned_uint64
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_xor_no_simd(unsigned char *r, const unsigned
      char *a, const unsigned char *b, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: mbedtls_buffer_offset_const
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static inline const unsigned char *mbedtls_buffer_offset_const( const
      unsigned char *p, size_t n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:196,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:197,1
    - Dst: mbedtls_get_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:213,1
    - Dst: vst1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:199,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:198,1
    - Dst: mbedtls_get_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:213,1
    - Dst: mbedtls_put_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:214,1
    - Dst: mbedtls_get_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:223,1
    - Dst: mbedtls_get_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:223,1
    - Dst: mbedtls_put_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h:224,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 236
    functionName: mbedtls_xor
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/common.h
    functionUses: []
    functionsReached:
    - mbedtls_get_unaligned_uint64
    - vld1q_u8
    - veorq_u8
    - mbedtls_put_unaligned_uint64
    - vst1q_u8
    - mbedtls_put_unaligned_uint32
    - mbedtls_get_unaligned_uint32
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_xor(unsigned char *r, const unsigned char
      *a, const unsigned char *b, size_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr.h:25,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr.h:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: mbedtls_ctr_increment_counter
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr.h
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ctr_increment_counter(uint8_t n[16]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:49,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:52,1
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509write_csr*
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: mbedtls_x509write_csr_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_free_named_data_list
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_csr_free(mbedtls_x509write_csr *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_x509write_csr*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mbedtls_x509write_csr_set_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_csr_set_key(mbedtls_x509write_csr *ctx, mbedtls_pk_context
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - oid
    - oid_len
    - critical
    - val
    - val_len
    argTypes:
    - mbedtls_x509write_csr*
    - char*
    - size_t
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: mbedtls_x509write_csr_set_extension
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_set_extension
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_csr_set_extension(mbedtls_x509write_csr *ctx,
      const char *oid, size_t oid_len, int critical, const unsigned char *val, size_t
      val_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_named_bitstring
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:94,1
    - Dst: mbedtls_x509write_csr_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:99,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - key_usage
    argTypes:
    - mbedtls_x509write_csr*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: mbedtls_x509write_csr_set_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_named_bitstring
    - mbedtls_x509write_csr_set_extension
    - MBEDTLS_OID_SIZE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_csr_set_key_usage(mbedtls_x509write_csr *ctx,
      unsigned char key_usage) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:150,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:177,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:168,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:178,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:172,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:186,1
    - Dst: mbedtls_pk_write_pubkey_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:190,1
    - Dst: mbedtls_x509_write_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:198,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:206,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:207,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:237,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:275,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:160,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:156,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:161,1
    - Dst: mbedtls_asn1_write_oid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:173,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:175,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:179,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:204,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:208,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:226,1
    - Dst: mbedtls_pk_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:231,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:275,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:282,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:276,1
    - Dst: mbedtls_x509_write_extensions
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:156,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:160,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:162,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:166,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:184,1
    - Dst: mbedtls_asn1_write_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:204,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:217,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:226,1
    - Dst: mbedtls_oid_get_oid_by_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:245,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:262,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:239,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:254,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:277,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:166,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:167,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:177,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:184,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:185,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:190,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:198,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:206,1
    - Dst: mbedtls_x509_write_sig
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:263,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:271,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 7
    argNames:
    - ctx
    - buf
    - size
    - sig
    - sig_size
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_x509write_csr*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 285
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 285
    functionName: x509write_csr_der_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_int
    - memmove
    - mbedtls_asn1_write_len
    - mbedtls_md_psa_alg_from_type
    - MBEDTLS_ASN1_CHK_ADD
    - psa_hash_compute
    - MBEDTLS_OID_SIZE
    - mbedtls_x509_write_sig
    - mbedtls_x509_write_names
    - mbedtls_x509_write_extensions
    - mbedtls_pk_write_pubkey_der
    - mbedtls_asn1_write_oid
    - mbedtls_pk_sign
    - mbedtls_md_info_from_type
    - mbedtls_md
    - mbedtls_pk_can_do
    - mbedtls_oid_get_oid_by_sig_alg
    - mbedtls_asn1_write_tag
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int x509write_csr_der_internal(mbedtls_x509write_csr *ctx,
      unsigned char *buf, size_t size, unsigned char *sig, size_t sig_size, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509write_csr*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: mbedtls_x509write_csr_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_csr_init(mbedtls_x509write_csr *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md_alg
    argTypes:
    - mbedtls_x509write_csr*
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: mbedtls_x509write_csr_set_md_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_csr_set_md_alg(mbedtls_x509write_csr *ctx,
      mbedtls_md_type_t md_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_string_to_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - subject_name
    argTypes:
    - mbedtls_x509write_csr*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: mbedtls_x509write_csr_set_subject_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_string_to_names
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_csr_set_subject_name(mbedtls_x509write_csr *ctx,
      const char *subject_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_write_set_san_common
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - san_list
    argTypes:
    - mbedtls_x509write_csr*
    - mbedtls_x509_san_list*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: mbedtls_x509write_csr_set_subject_alternative_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_write_set_san_common
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_csr_set_subject_alternative_name(mbedtls_x509write_csr
      *ctx, const mbedtls_x509_san_list *san_list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_named_bitstring
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:118,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:124,1
    - Dst: mbedtls_x509write_csr_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - ns_cert_type
    argTypes:
    - mbedtls_x509write_csr*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: mbedtls_x509write_csr_set_ns_cert_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_named_bitstring
    - mbedtls_x509write_csr_set_extension
    - MBEDTLS_OID_SIZE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_csr_set_ns_cert_type(mbedtls_x509write_csr *ctx,
      unsigned char ns_cert_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:295,1
    - Dst: x509write_csr_der_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:299,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - buf
    - size
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_x509write_csr*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: mbedtls_x509write_csr_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_calloc
    - x509write_csr_der_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_csr_der(mbedtls_x509write_csr *ctx, unsigned
      char *buf, size_t size, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509write_csr_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:319,1
    - Dst: mbedtls_pem_write_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - buf
    - size
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_x509write_csr*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 331
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 331
    functionName: mbedtls_x509write_csr_pem
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_pem_write_buffer
    - mbedtls_x509write_csr_der
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_csr_pem(mbedtls_x509write_csr *ctx, unsigned
      char *buf, size_t size, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1660
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1660
    functionName: mbedtls_ssl_own_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_pk_context*
    signature: 'static inline mbedtls_pk_context *mbedtls_ssl_own_key(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_is_kex_mode_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2062
    functionName: mbedtls_ssl_tls13_is_ephemeral_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_is_kex_mode_supported
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_is_ephemeral_supported(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_extension_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - extension_type
    argTypes:
    - mbedtls_ssl_context*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2094
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2094
    functionName: mbedtls_ssl_tls13_set_hs_sent_ext_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_extension_mask
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_tls13_set_hs_sent_ext_mask( mbedtls_ssl_context
      *ssl, unsigned int extension_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2311
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2311
    functionName: mbedtls_ssl_get_groups
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static inline const void *mbedtls_ssl_get_groups(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_groups
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - named_group
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2368
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2368
    functionName: mbedtls_ssl_named_group_is_offered
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_groups
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_named_group_is_offered( const mbedtls_ssl_context
      *ssl, uint16_t named_group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1673
    functionName: mbedtls_ssl_own_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_x509_crt*
    signature: 'static inline mbedtls_x509_crt *mbedtls_ssl_own_cert(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1745
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1745
    functionName: mbedtls_ssl_in_hdr_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ssl_in_hdr_len(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_is_kex_mode_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2068
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2068
    functionName: mbedtls_ssl_tls13_is_some_ephemeral_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_is_kex_mode_supported
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_is_some_ephemeral_supported(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_is_kex_mode_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2074
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2074
    functionName: mbedtls_ssl_tls13_is_some_psk_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_is_kex_mode_supported
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_is_some_psk_supported(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2373,1
    - Dst: mbedtls_ssl_get_ecp_group_id_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2374,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - named_group
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2389
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2389
    functionName: mbedtls_ssl_named_group_is_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_get_ecp_group_id_from_tls_id
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_named_group_is_supported(uint16_t named_group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - mbedtls_ssl_session*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2970
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2970
    functionName: mbedtls_ssl_tls13_session_clear_ticket_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_tls13_session_clear_ticket_flags( mbedtls_ssl_session
      *session, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 2989
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2989
    functionName: mbedtls_ssl_conf_get_session_tickets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_get_session_tickets( const mbedtls_ssl_config
      *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - cipher_suite
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 2801
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2801
    functionName: mbedtls_ssl_tls13_cipher_suite_is_offered
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_cipher_suite_is_offered( mbedtls_ssl_context
      *ssl, int cipher_suite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_session_get_ticket_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - mbedtls_ssl_session*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2937
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2937
    functionName: mbedtls_ssl_tls13_session_ticket_has_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_session_get_ticket_flags
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_session_ticket_has_flags( mbedtls_ssl_session
      *session, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_output_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:460,1
    - Dst: mbedtls_ssl_get_output_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: mbedtls_ssl_get_output_buflen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_output_max_frag_len
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ssl_get_output_buflen(const mbedtls_ssl_context
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - kex_mode_mask
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 1995
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 1995
    functionName: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_tls13_is_kex_mode_enabled(mbedtls_ssl_context
      *ssl, int kex_mode_mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - named_group
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2344
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2344
    functionName: mbedtls_ssl_tls13_named_group_is_ecdhe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_named_group_is_ecdhe(uint16_t
      named_group) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 2708
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2708
    functionName: psa_ssl_status_to_mbedtls
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_DEPRECATED
    signature: 'static inline MBEDTLS_DEPRECATED int psa_ssl_status_to_mbedtls(psa_status_t
      status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_session_ticket_has_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 2944
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2944
    functionName: mbedtls_ssl_tls13_session_ticket_allow_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_session_ticket_has_flags
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_session_ticket_allow_psk( mbedtls_ssl_session
      *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_session_ticket_has_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 2958
      start: 2953
    functionDepth: 0
    functionLinenumber: 2953
    functionLinenumberEnd: 2958
    functionName: mbedtls_ssl_tls13_session_ticket_allow_early_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_session_ticket_has_flags
    linkageType: ''
    returnType: unsigned int
    signature: 'static inline unsigned int mbedtls_ssl_tls13_session_ticket_allow_early_data(
      mbedtls_ssl_session *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_input_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:472,1
    - Dst: mbedtls_ssl_get_input_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: mbedtls_ssl_get_input_buflen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_input_max_frag_len
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ssl_get_input_buflen(const mbedtls_ssl_context
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - state
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_states
    constantsTouched: []
    func_position:
      end: 1338
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1338
    functionName: mbedtls_ssl_handshake_set_state
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_handshake_set_state(mbedtls_ssl_context
      *ssl, mbedtls_ssl_states state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:1999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2001
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2001
    functionName: mbedtls_ssl_conf_tls13_is_psk_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_tls13_is_psk_enabled(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - named_group
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2350
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2350
    functionName: mbedtls_ssl_tls13_named_group_is_ffdh
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_named_group_is_ffdh(uint16_t named_group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_session_ticket_has_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 2951
      start: 2946
    functionDepth: 0
    functionLinenumber: 2946
    functionLinenumberEnd: 2951
    functionName: mbedtls_ssl_tls13_session_ticket_allow_psk_ephemeral
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_session_ticket_has_flags
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_session_ticket_allow_psk_ephemeral(
      mbedtls_ssl_session *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - mbedtls_ssl_session*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2964
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2964
    functionName: mbedtls_ssl_tls13_session_set_ticket_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_ssl_tls13_session_set_ticket_flags( mbedtls_ssl_session
      *session, unsigned int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - ssl
    - psk
    - psk_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1557
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1557
    functionName: mbedtls_ssl_get_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_get_psk(const mbedtls_ssl_context *ssl,
      const unsigned char **psk, size_t *psk_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - srtp_profile_value
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1645
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1645
    functionName: mbedtls_ssl_check_srtp_profile_value
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ssl_srtp_profile
    signature: 'static inline mbedtls_ssl_srtp_profile mbedtls_ssl_check_srtp_profile_value
      (const uint16_t srtp_profile_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 1893
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1893
    functionName: mbedtls_ssl_conf_is_tls12_only
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_is_tls12_only(const mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - cur
    - end
    - need
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: mbedtls_ssl_chk_buf_ptr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_chk_buf_ptr(const uint8_t *cur, const
      uint8_t *end, size_t need) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 1884
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1884
    functionName: mbedtls_ssl_conf_is_tls13_only
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_is_tls13_only(const mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 1924
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1924
    functionName: mbedtls_ssl_conf_is_hybrid_tls12_tls13
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_is_hybrid_tls12_tls13(const mbedtls_ssl_config
      *conf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2570,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2571,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 5
    argCount: 1
    argNames:
    - sig_alg
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2624
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2624
    functionName: mbedtls_ssl_tls12_sig_alg_is_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_0
    - MBEDTLS_BYTE_1
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls12_sig_alg_is_supported( const uint16_t
      sig_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 2998
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 2998
    functionName: mbedtls_ssl_conf_is_signal_new_session_tickets_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_is_signal_new_session_tickets_enabled(
      const mbedtls_ssl_config *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - transform
    argTypes:
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1187
    functionName: mbedtls_ssl_transform_uses_aead
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_transform_uses_aead( const mbedtls_ssl_transform
      *transform) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_write_handshake_msg_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:1453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1454
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1454
    functionName: mbedtls_ssl_write_handshake_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_write_handshake_msg_ext
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_write_handshake_msg(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1750
    functionName: mbedtls_ssl_out_hdr_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ssl_out_hdr_len(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 1906
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1906
    functionName: mbedtls_ssl_conf_is_tls13_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_is_tls13_enabled(const mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - kex_modes_mask
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 2043
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2043
    functionName: mbedtls_ssl_tls13_is_kex_mode_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_is_kex_mode_supported(mbedtls_ssl_context
      *ssl, int kex_modes_mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2110
    functionName: mbedtls_ssl_tls13_key_exchange_mode_with_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_key_exchange_mode_check
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_key_exchange_mode_with_psk( mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - own_sig_alg
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2439
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2439
    functionName: mbedtls_ssl_sig_alg_is_received
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_sig_alg_is_received(const mbedtls_ssl_context
      *ssl, uint16_t own_sig_alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_sig_algs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - proposed_sig_alg
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2526
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2526
    functionName: mbedtls_ssl_sig_alg_is_offered
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_sig_algs
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_sig_alg_is_offered(const mbedtls_ssl_context
      *ssl, uint16_t proposed_sig_alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1762
    functionName: mbedtls_ssl_hs_hdr_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ssl_hs_hdr_len(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 1917
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1917
    functionName: mbedtls_ssl_conf_is_tls12_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_is_tls12_enabled(const mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_is_kex_mode_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2049
    functionName: mbedtls_ssl_tls13_is_psk_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_is_kex_mode_supported
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_is_psk_supported(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_is_kex_mode_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2056
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2056
    functionName: mbedtls_ssl_tls13_is_psk_ephemeral_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_is_kex_mode_supported
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_is_psk_ephemeral_supported( mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_key_exchange_mode_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2117
    functionName: mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_key_exchange_mode_check
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral(
      mbedtls_ssl_context *ssl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 1
    argNames:
    - sig_alg
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2479
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2479
    functionName: mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported(
      const uint16_t sig_alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_pk_alg_from_sig
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2531,1
    - Dst: mbedtls_ssl_md_alg_from_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2532,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - sig_alg
    - pk_type
    - md_alg
    argTypes:
    - uint16_t
    - mbedtls_pk_type_t*
    - mbedtls_md_type_t*
    constantsTouched: []
    func_position:
      end: 2563
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2563
    functionName: mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_md_alg_from_hash
    - mbedtls_ssl_pk_alg_from_sig
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg(
      uint16_t sig_alg, mbedtls_pk_type_t *pk_type, mbedtls_md_type_t *md_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - mbedtls_ssl_session*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2925
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2925
    functionName: mbedtls_ssl_tls13_session_get_ticket_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static inline unsigned int mbedtls_ssl_tls13_session_get_ticket_flags(
      mbedtls_ssl_session *session, unsigned int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:1524,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:1528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1533
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1533
    functionName: mbedtls_ssl_get_opaque_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    linkageType: ''
    returnType: mbedtls_svc_key_id_t
    signature: 'static inline mbedtls_svc_key_id_t mbedtls_ssl_get_opaque_psk( const
      mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1820
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1820
    functionName: mbedtls_ssl_ep_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ssl_ep_len(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2007
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2007
    functionName: mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2019
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2019
    functionName: mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2422
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2422
    functionName: mbedtls_ssl_get_sig_algs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static inline const void *mbedtls_ssl_get_sig_algs( const mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls12_sig_alg_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2634,1
    - Dst: mbedtls_ssl_tls13_sig_alg_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - sig_alg
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2646
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2646
    functionName: mbedtls_ssl_sig_alg_is_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls12_sig_alg_is_supported
    - mbedtls_ssl_tls13_sig_alg_is_supported
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_sig_alg_is_supported( const mbedtls_ssl_context
      *ssl, const uint16_t sig_alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_chk_buf_ptr_fail_args
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - cur
    - end
    - need
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: mbedtls_ssl_chk_buf_ptr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_chk_buf_ptr_fail_args
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_chk_buf_ptr(const uint8_t *cur, const
      uint8_t *end, size_t need) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2013
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2013
    functionName: mbedtls_ssl_conf_tls13_is_ephemeral_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_tls13_is_ephemeral_enabled(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_tls13_is_kex_mode_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2025
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2025
    functionName: mbedtls_ssl_conf_tls13_is_some_psk_enabled
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_tls13_is_kex_mode_enabled
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_conf_tls13_is_some_psk_enabled(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h:2500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - sig_alg
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2504
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2504
    functionName: mbedtls_ssl_tls13_sig_alg_is_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached:
    - mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_sig_alg_is_supported( const uint16_t
      sig_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - kex_mask
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 2103
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2103
    functionName: mbedtls_ssl_tls13_key_exchange_mode_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls13_key_exchange_mode_check( mbedtls_ssl_context
      *ssl, int kex_mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - named_group
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2335
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2335
    functionName: mbedtls_ssl_tls12_named_group_is_ecdhe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_misc.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ssl_tls12_named_group_is_ecdhe(uint16_t
      named_group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:221,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:222,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:224,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 65
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - mbedtls_poly1305_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 225
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 225
    functionName: poly1305_compute_mac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_LE
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_compute_mac(const mbedtls_poly1305_context *ctx,
      unsigned char mac[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:110,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:113,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:115,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:120,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:124,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:117,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:127,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:95,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:96,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:118,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:116,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:121,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:128,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:93,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:111,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:114,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:122,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:119,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:125,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:94,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:112,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:123,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 132
    argCount: 4
    argNames:
    - ctx
    - nblocks
    - input
    - needs_padding
    argTypes:
    - mbedtls_poly1305_context*
    - size_t
    - unsigned char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 161
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 161
    functionName: poly1305_process
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - mul64
    - MBEDTLS_GET_UINT32_LE
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_process(mbedtls_poly1305_context *ctx, size_t
      nblocks, const unsigned char *input, uint32_t needs_padding) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_poly1305_context*
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: mbedtls_poly1305_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_poly1305_free(mbedtls_poly1305_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:285,1
    - Dst: poly1305_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:300,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:294,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:319,1
    - Dst: poly1305_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_poly1305_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 323
    functionName: mbedtls_poly1305_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - memcpy
    - poly1305_process
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_poly1305_update(mbedtls_poly1305_context *ctx, const unsigned
      char *input, size_t ilen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: mul64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static inline uint64_t mul64(uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_poly1305_context*
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: mbedtls_poly1305_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_poly1305_init(mbedtls_poly1305_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:245,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:250,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:248,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:246,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:247,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:251,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:252,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:253,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_poly1305_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 267
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 267
    functionName: mbedtls_poly1305_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - MBEDTLS_GET_UINT32_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_poly1305_starts(mbedtls_poly1305_context *ctx, const unsigned
      char key[32]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:335,1
    - Dst: poly1305_compute_mac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:343,1
    - Dst: poly1305_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - mbedtls_poly1305_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: mbedtls_poly1305_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - poly1305_compute_mac
    - poly1305_process
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_poly1305_finish(mbedtls_poly1305_context *ctx, unsigned
      char mac[16]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_poly1305_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:356,1
    - Dst: mbedtls_poly1305_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:368,1
    - Dst: mbedtls_poly1305_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:358,1
    - Dst: mbedtls_poly1305_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:371,1
    - Dst: mbedtls_poly1305_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - key
    - input
    - ilen
    - mac
    argTypes:
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 373
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 373
    functionName: mbedtls_poly1305_mac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - mbedtls_poly1305_free
    - mbedtls_poly1305_starts
    - mbedtls_poly1305_update
    - mbedtls_poly1305_finish
    - mbedtls_poly1305_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_poly1305_mac(const unsigned char key[32], const unsigned
      char *input, size_t ilen, unsigned char mac[16]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:466,1
    - Dst: mbedtls_poly1305_mac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:469,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:475,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:475,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:473,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:478,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 487
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 487
    functionName: mbedtls_poly1305_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - ASSERT
    - memcmp
    - mbedtls_poly1305_mac
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_poly1305_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: mul64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t mul64(uint32_t a, uint32_t b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:50,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:62,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:61,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:54,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:55,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:66,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - params
    - salt
    - iterations
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_asn1_buf*
    - int*
    constantsTouched: []
    func_position:
      end: 71
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 71
    functionName: pkcs12_parse_pbe_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - mbedtls_asn1_get_tag
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_parse_pbe_params(mbedtls_asn1_buf *params, mbedtls_asn1_buf
      *salt, int *iterations) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:89,1
    - Dst: mbedtls_pkcs12_derivation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:101,1
    - Dst: pkcs12_parse_pbe_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:92,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:90,1
    - Dst: mbedtls_pkcs12_derivation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 8
    argNames:
    - pbe_params
    - md_type
    - pwd
    - pwdlen
    - key
    - keylen
    - iv
    - ivlen
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 117
    functionName: pkcs12_pbe_derive_key_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c
    functionUses: []
    functionsReached:
    - mbedtls_pkcs12_derivation
    - pkcs12_parse_pbe_params
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_pbe_derive_key_iv(mbedtls_asn1_buf *pbe_params,
      mbedtls_md_type_t md_type, const unsigned char *pwd, size_t pwdlen, unsigned
      char *key, size_t keylen, unsigned char *iv, size_t ivlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - data
    - data_len
    - filler
    - fill_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 264
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 264
    functionName: pkcs12_fill_buffer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void pkcs12_fill_buffer(unsigned char *data, size_t data_len,
      const unsigned char *filler, size_t fill_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:169,1
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:196,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:174,1
    - Dst: pkcs12_pbe_derive_key_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:190,1
    - Dst: mbedtls_cipher_info_get_iv_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:189,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:198,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:202,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:221,1
    - Dst: mbedtls_cipher_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:227,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:235,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:237,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:236,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 11
    argNames:
    - pbe_params
    - mode
    - cipher_type
    - md_type
    - pwd
    - pwdlen
    - data
    - len
    - output
    - output_size
    - output_len
    argTypes:
    - mbedtls_asn1_buf*
    - int
    - mbedtls_cipher_type_t
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 240
    functionName: mbedtls_pkcs12_pbe_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - mbedtls_cipher_free
    - mbedtls_cipher_info_from_type
    - mbedtls_cipher_info_get_iv_size
    - mbedtls_platform_zeroize
    - mbedtls_cipher_init
    - pkcs12_pbe_derive_key_iv
    - mbedtls_cipher_set_padding_mode
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_cipher_crypt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs12_pbe_ext(mbedtls_asn1_buf *pbe_params, int mode,
      mbedtls_cipher_type_t cipher_type, mbedtls_md_type_t md_type, const unsigned
      char *pwd, size_t pwdlen, const unsigned char *data, size_t len, unsigned char
      *output, size_t output_size, size_t *output_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:276,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:291,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:281,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:287,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:283,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:296,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:302,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:307,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:313,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:320,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 10
    argNames:
    - md_type
    - iterations
    - diversifier
    - salt_block
    - pwd_block
    - hash_output
    - use_salt
    - use_password
    - hlen
    - v
    argTypes:
    - mbedtls_md_type_t
    - int
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - int
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 322
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 322
    functionName: calculate_hashes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - mbedtls_md
    - mbedtls_md_init
    - mbedtls_md_starts
    - mbedtls_md_update
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'static int calculate_hashes(mbedtls_md_type_t md_type, int iterations,
      unsigned char *diversifier, unsigned char *salt_block, unsigned char *pwd_block,
      unsigned char *hash_output, int use_salt, int use_password, size_t hlen, size_t
      v) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:359,1
    - Dst: pkcs12_fill_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:370,1
    - Dst: calculate_hashes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:379,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:367,1
    - Dst: pkcs12_fill_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:374,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:386,1
    - Dst: pkcs12_fill_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:395,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:409,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:410,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:419,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:428,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:420,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:431,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:430,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:429,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 9
    argNames:
    - data
    - datalen
    - pwd
    - pwdlen
    - salt
    - saltlen
    - md_type
    - id
    - iterations
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - mbedtls_md_type_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 434
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 434
    functionName: mbedtls_pkcs12_derivation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - memcpy
    - pkcs12_fill_buffer
    - mbedtls_md_get_size_from_type
    - mbedtls_platform_zeroize
    - calculate_hashes
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs12_derivation(unsigned char *data, size_t datalen,
      const unsigned char *pwd, size_t pwdlen, const unsigned char *salt, size_t saltlen,
      mbedtls_md_type_t md_type, int id, int iterations) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pkcs12_pbe_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 9
    argNames:
    - pbe_params
    - mode
    - cipher_type
    - md_type
    - pwd
    - pwdlen
    - data
    - len
    - output
    argTypes:
    - mbedtls_asn1_buf*
    - int
    - mbedtls_cipher_type_t
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: mbedtls_pkcs12_pbe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs12.c
    functionUses: []
    functionsReached:
    - mbedtls_pkcs12_pbe_ext
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs12_pbe(mbedtls_asn1_buf *pbe_params, int mode, mbedtls_cipher_type_t
      cipher_type, mbedtls_md_type_t md_type, const unsigned char *pwd, size_t pwdlen,
      const unsigned char *data, size_t len, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:25,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:124,1
    - Dst: ssl_ticket_gen_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:144,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:140,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ssl_ticket_context*
    constantsTouched: []
    func_position:
      end: 148
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 148
    functionName: ssl_ticket_update_keys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - mbedtls_time
    - PSA_TO_MBEDTLS_ERR
    - psa_destroy_key
    - ssl_ticket_gen_key
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_ticket_update_keys(mbedtls_ssl_ticket_context
      *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_cipher_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:229,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:238,1
    - Dst: mbedtls_cipher_info_get_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:241,1
    - Dst: mbedtls_cipher_info_get_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:240,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:234,1
    - Dst: mbedtls_cipher_info_get_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:242,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:246,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:267,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:271,1
    - Dst: ssl_ticket_gen_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:276,1
    - Dst: ssl_ticket_gen_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - cipher
    - lifetime
    argTypes:
    - mbedtls_ssl_ticket_context*
    - int
    - void*
    - mbedtls_cipher_type_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 282
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 282
    functionName: mbedtls_ssl_ticket_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - mbedtls_cipher_info_from_type
    - ssl_ticket_gen_key
    - PSA_ALG_IS_AEAD
    - mbedtls_ssl_cipher_to_psa
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_cipher_info_get_mode
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_ticket_setup(mbedtls_ssl_ticket_context *ctx, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_cipher_type_t
      cipher, uint32_t lifetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - mbedtls_ssl_ticket_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: ssl_ticket_select_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: mbedtls_ssl_ticket_key*
    signature: 'static mbedtls_ssl_ticket_key *ssl_ticket_select_key( mbedtls_ssl_ticket_context
      *ctx, const unsigned char name[4]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:541,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:544,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:542,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:549,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:545,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ssl_ticket_context*
    constantsTouched: []
    func_position:
      end: 553
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 553
    functionName: mbedtls_ssl_ticket_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_cipher_free
    - mbedtls_mutex_free
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_ticket_free(mbedtls_ssl_ticket_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:37,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ssl_ticket_context*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mbedtls_ssl_ticket_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_ticket_init(mbedtls_ssl_ticket_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:167,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:180,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:182,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:176,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:175,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:183,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:184,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:186,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:187,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:189,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:201,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:203,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - ctx
    - name
    - nlength
    - k
    - klength
    - lifetime
    argTypes:
    - mbedtls_ssl_ticket_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 208
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 208
    functionName: mbedtls_ssl_ticket_rotate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_destroy_key
    - psa_set_key_type
    - psa_import_key
    - PSA_BITS_TO_BYTES
    - psa_set_key_algorithm
    - memcpy
    - psa_set_key_bits
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_time
    - mbedtls_cipher_setkey
    - mbedtls_cipher_get_key_bitlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_ticket_rotate(mbedtls_ssl_ticket_context *ctx, const
      unsigned char *name, size_t nlength, const unsigned char *k, size_t klength,
      uint32_t lifetime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:75,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:93,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:91,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:94,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:95,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:97,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:98,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:99,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:103,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:108,1
    - Dst: mbedtls_cipher_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - mbedtls_ssl_ticket_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 111
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 111
    functionName: ssl_ticket_gen_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - PSA_BITS_TO_BYTES
    - psa_set_key_algorithm
    - mbedtls_platform_zeroize
    - psa_set_key_bits
    - mbedtls_time
    - mbedtls_cipher_setkey
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_cipher_get_key_bitlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_ticket_gen_key(mbedtls_ssl_ticket_context
      *ctx, unsigned char index) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:326,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:329,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:342,1
    - Dst: ssl_ticket_update_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:334,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:349,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:355,1
    - Dst: psa_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:359,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:364,1
    - Dst: mbedtls_cipher_auth_encrypt_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:368,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:388,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 55
    argCount: 6
    argNames:
    - p_ticket
    - session
    - start
    - end
    - tlen
    - ticket_lifetime
    argTypes:
    - void*
    - mbedtls_ssl_session*
    - unsigned char*
    - unsigned char*
    - size_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 394
    functionName: mbedtls_ssl_ticket_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - ssl_ticket_update_keys
    - MBEDTLS_PUT_UINT16_BE
    - memcpy
    - mbedtls_mutex_lock
    - psa_aead_encrypt
    - mbedtls_ssl_session_save
    - mbedtls_cipher_auth_encrypt_ext
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_ticket_write(void *p_ticket, const mbedtls_ssl_session
      *session, unsigned char *start, const unsigned char *end, size_t *tlen, uint32_t
      *ticket_lifetime) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:444,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:453,1
    - Dst: psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:470,1
    - Dst: ssl_ticket_select_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:461,1
    - Dst: ssl_ticket_update_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:449,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:474,1
    - Dst: mbedtls_cipher_auth_decrypt_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:478,1
    - Dst: mbedtls_ssl_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:499,1
    - Dst: mbedtls_ssl_session_get_ticket_creation_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:508,1
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:514,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c:523,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 4
    argNames:
    - p_ticket
    - session
    - buf
    - len
    argTypes:
    - void*
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 529
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 529
    functionName: mbedtls_ssl_ticket_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_ticket.c
    functionUses: []
    functionsReached:
    - ssl_ticket_update_keys
    - mbedtls_ssl_session_get_ticket_creation_time
    - psa_aead_decrypt
    - mbedtls_mutex_lock
    - MBEDTLS_GET_UINT16_BE
    - mbedtls_ssl_session_load
    - ssl_ticket_select_key
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_cipher_auth_decrypt_ext
    - mbedtls_ms_time
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_ticket_parse(void *p_ticket, mbedtls_ssl_session *session,
      unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:39,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:320,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:343,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:332,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:338,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:325,1
    - Dst: MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:344,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:345,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:350,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:351,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:356,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:359,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - params
    - y_hashed_digits
    - pub_key
    argTypes:
    - mbedtls_lmots_parameters_t*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 360
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 360
    functionName: public_key_from_hashed_digit_array
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - psa_hash_abort
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_LMOTS_N_HASH_LEN
    - psa_hash_finish
    - psa_hash_update
    - MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
    - psa_hash_setup
    linkageType: ''
    returnType: int
    signature: 'static int public_key_from_hashed_digit_array(const mbedtls_lmots_parameters_t
      *params, const unsigned char *y_hashed_digits, unsigned char *pub_key) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:228,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:240,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:229,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:286,1
    - Dst: MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:225,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:260,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:266,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:271,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:291,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:286,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:287,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:272,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:294,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:230,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:245,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:283,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:252,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:259,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:292,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:277,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 5
    argNames:
    - params
    - x_digit_array
    - hash_idx_min_values
    - hash_idx_max_values
    - output
    argTypes:
    - mbedtls_lmots_parameters_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 295
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 295
    functionName: hash_digit_array
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - psa_hash_abort
    - memcpy
    - mbedtls_platform_zeroize
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_LMOTS_N_HASH_LEN
    - psa_hash_finish
    - psa_hash_update
    - MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
    - psa_hash_setup
    linkageType: ''
    returnType: int
    signature: 'static int hash_digit_array(const mbedtls_lmots_parameters_t *params,
      const unsigned char *x_digit_array, const unsigned char *hash_idx_min_values,
      const unsigned char *hash_idx_max_values, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lmots_public_t*
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: mbedtls_lmots_public_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lmots_public_init(mbedtls_lmots_public_t *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:404,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:418,1
    - Dst: MBEDTLS_LMOTS_PUBLIC_KEY_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:406,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:410,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:414,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - key
    - key_len
    argTypes:
    - mbedtls_lmots_public_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 425
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 425
    functionName: mbedtls_lmots_import_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - MBEDTLS_LMOTS_N_HASH_LEN
    - memcpy
    - MBEDTLS_LMOTS_PUBLIC_KEY_LEN
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lmots_import_public_key(mbedtls_lmots_public_t *ctx, const
      unsigned char *key, size_t key_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMOTS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:476,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:477,1
    - Dst: MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:489,1
    - Dst: hash_digit_array
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:488,1
    - Dst: create_digit_array_with_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:481,1
    - Dst: public_key_from_hashed_digit_array
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:495,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:503,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 8
    argNames:
    - params
    - msg
    - msg_size
    - sig
    - sig_size
    - out
    - out_size
    - out_len
    argTypes:
    - mbedtls_lmots_parameters_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 507
    functionName: mbedtls_lmots_calculate_public_key_candidate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - public_key_from_hashed_digit_array
    - MBEDTLS_LMOTS_SIG_LEN
    - MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET
    - MBEDTLS_LMOTS_N_HASH_LEN
    - create_digit_array_with_checksum
    - hash_digit_array
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lmots_calculate_public_key_candidate(const mbedtls_lmots_parameters_t
      *params, const unsigned char *msg, size_t msg_size, const unsigned char *sig,
      size_t sig_size, unsigned char *out, size_t out_size, size_t *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lmots_private_t*
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: mbedtls_lmots_private_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lmots_private_init(mbedtls_lmots_private_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 379
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 379
    functionName: mbedtls_lms_error_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lms_error_from_psa(psa_status_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lmots_public_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: mbedtls_lmots_public_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lmots_public_free(mbedtls_lmots_public_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMOTS_PUBLIC_KEY_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:431,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:445,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:449,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:441,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:439,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:450,1
    - Dst: MBEDTLS_LMOTS_PUBLIC_KEY_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - key
    - key_size
    - key_len
    argTypes:
    - mbedtls_lmots_public_t*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 457
    functionName: mbedtls_lmots_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - MBEDTLS_LMOTS_N_HASH_LEN
    - memcpy
    - MBEDTLS_LMOTS_PUBLIC_KEY_LEN
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lmots_export_public_key(const mbedtls_lmots_public_t *ctx,
      unsigned char *key, size_t key_size, size_t *key_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:532,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:539,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:545,1
    - Dst: mbedtls_lmots_calculate_public_key_candidate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:536,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - msg
    - msg_size
    - sig
    - sig_size
    argTypes:
    - mbedtls_lmots_public_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 551
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 551
    functionName: mbedtls_lmots_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - mbedtls_lmots_calculate_public_key_candidate
    - MBEDTLS_GET_UINT32_BE
    - MBEDTLS_LMOTS_N_HASH_LEN
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lmots_verify(const mbedtls_lmots_public_t *ctx, const
      unsigned char *msg, size_t msg_size, const unsigned char *sig, size_t sig_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_lmots_private_t*
    constantsTouched: []
    func_position:
      end: 568
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 568
    functionName: mbedtls_lmots_private_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_lmots_private_free(mbedtls_lmots_private_t *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hash_digit_array
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:668,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:682,1
    - Dst: public_key_from_hashed_digit_array
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:675,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:688,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - priv_ctx
    argTypes:
    - mbedtls_lmots_public_t*
    - mbedtls_lmots_private_t*
    constantsTouched: []
    func_position:
      end: 691
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 691
    functionName: mbedtls_lmots_calculate_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - public_key_from_hashed_digit_array
    - mbedtls_platform_zeroize
    - memcpy
    - hash_digit_array
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lmots_calculate_public_key(mbedtls_lmots_public_t *ctx,
      const mbedtls_lmots_private_t *priv_ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMOTS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:714,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:724,1
    - Dst: hash_digit_array
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:737,1
    - Dst: create_digit_array_with_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:729,1
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:723,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:743,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:761,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:764,1
    - Dst: MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:765,1
    - Dst: MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:767,1
    - Dst: MBEDTLS_LMOTS_SIG_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:772,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:769,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:778,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:779,1
    - Dst: MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:768,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:767,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 8
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    - msg
    - msg_size
    - sig
    - sig_size
    - sig_len
    argTypes:
    - mbedtls_lmots_private_t*
    - int
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 782
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 782
    functionName: mbedtls_lmots_sign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - MBEDTLS_LMOTS_SIG_LEN
    - MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET
    - MBEDTLS_PUT_UINT32_BE
    - f_rng
    - mbedtls_platform_zeroize
    - memcpy
    - MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN
    - MBEDTLS_LMOTS_N_HASH_LEN
    - create_digit_array_with_checksum
    - MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
    - hash_digit_array
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lmots_sign(mbedtls_lmots_private_t *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng, const unsigned char *msg, size_t msg_size,
      unsigned char *sig, size_t sig_size, size_t *sig_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:129,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:140,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:146,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:134,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:151,1
    - Dst: MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:152,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:157,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:162,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:163,1
    - Dst: lmots_checksum_calculate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:169,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:170,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:173,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:175,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:170,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 5
    argNames:
    - params
    - msg
    - msg_len
    - C_random_value
    - out
    argTypes:
    - mbedtls_lmots_parameters_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 176
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 176
    functionName: create_digit_array_with_checksum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - psa_hash_abort
    - lmots_checksum_calculate
    - MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_LMOTS_N_HASH_LEN
    - psa_hash_finish
    - psa_hash_update
    - psa_hash_setup
    linkageType: ''
    returnType: int
    signature: 'static int create_digit_array_with_checksum(const mbedtls_lmots_parameters_t
      *params, const unsigned char *msg, size_t msg_len, const unsigned char *C_random_value,
      unsigned char *out) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:594,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:598,1
    - Dst: MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:601,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:608,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:603,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:615,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:622,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:623,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:628,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:633,1
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:640,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:652,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:654,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:646,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:638,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 6
    argNames:
    - ctx
    - type
    - I_key_identifier
    - q_leaf_identifier
    - seed
    - seed_size
    argTypes:
    - mbedtls_lmots_private_t*
    - mbedtls_lmots_algorithm_type_t
    - unsigned char
    - uint32_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 655
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 655
    functionName: mbedtls_lmots_generate_private_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_PUT_UINT32_BE
    - psa_hash_abort
    - memcpy
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_LMOTS_N_HASH_LEN
    - psa_hash_finish
    - psa_hash_update
    - MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT
    - psa_hash_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_lmots_generate_private_key(mbedtls_lmots_private_t *ctx,
      mbedtls_lmots_algorithm_type_t type, const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN],
      uint32_t q_leaf_identifier, const unsigned char *seed, size_t seed_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_LMOTS_N_HASH_LEN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - params
    - digest
    argTypes:
    - mbedtls_lmots_parameters_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: lmots_checksum_calculate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/lmots.c
    functionUses: []
    functionsReached:
    - MBEDTLS_LMOTS_N_HASH_LEN
    linkageType: ''
    returnType: unsigned short
    signature: 'static unsigned short lmots_checksum_calculate(const mbedtls_lmots_parameters_t
      *params, const unsigned char *digest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:159,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:161,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:162,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:161,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:162,1
    - Dst: mbedtls_ct_mpi_sign_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:165,1
    - Dst: mbedtls_ct_mpi_sign_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:166,1
    - Dst: mbedtls_mpi_core_cond_swap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - X
    - Y
    - swap
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: mbedtls_mpi_safe_cond_swap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_cond_swap
    - mbedtls_ct_mpi_sign_if
    - mbedtls_mpi_grow
    - mbedtls_ct_bool
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_safe_cond_swap(mbedtls_mpi *X, mbedtls_mpi *Y, unsigned
      char swap) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:318,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:333,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:338,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:333,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - X
    - Y
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 343
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 343
    functionName: mbedtls_mpi_copy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - memcpy
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_copy(mbedtls_mpi *X, const mbedtls_mpi *Y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:380,1
    - Dst: TO_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:384,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:380,1
    - Dst: mpi_sint_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:383,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - X
    - z
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi_sint
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: mbedtls_mpi_lset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - TO_SIGN
    - mbedtls_mpi_grow
    - mpi_sint_abs
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_lset(mbedtls_mpi *X, mbedtls_mpi_sint z) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - X
    - count
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: mbedtls_mpi_shift_r
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_shift_r
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_shift_r(mbedtls_mpi *X, size_t count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1011,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1011,1
    - Dst: mbedtls_mpi_core_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1037,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1031,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1031,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1045,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1045,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - X
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1055
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1055
    functionName: mbedtls_mpi_add_abs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_add
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_add_abs(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *B) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2037,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2039,1
    - Dst: mbedtls_mpi_mod_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2037,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2049
    functionName: mpi_check_small_factors
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_int
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_mod_int
    linkageType: ''
    returnType: int
    signature: 'static int mpi_check_small_factors(const mbedtls_mpi *X) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2063,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2072,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2073,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2100,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2108,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2125,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2062,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2070,1
    - Dst: mbedtls_mpi_lsb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2071,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2083,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2095,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2081,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2112,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2113,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2133,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2134,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2135,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2062,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2064,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2072,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2073,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2100,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2102,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2103,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2115,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2126,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2134,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2063,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2070,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2081,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2084,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2094,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2112,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2113,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2133,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 4
    argNames:
    - X
    - rounds
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2138
    functionName: mpi_miller_rabin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_fill_random
    - mbedtls_mpi_lsb
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'static int mpi_miller_rabin(const mbedtls_mpi *X, size_t rounds, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:796,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:799,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:801,1
    - Dst: mbedtls_mpi_resize_clear
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:799,1
    - Dst: mbedtls_mpi_core_read_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - X
    - buf
    - buflen
    argTypes:
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 811
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 811
    functionName: mbedtls_mpi_read_binary_le
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - CHARS_TO_LIMBS
    - mbedtls_mpi_resize_clear
    - mbedtls_mpi_core_read_le
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_read_binary_le(mbedtls_mpi *X, const unsigned char
      *buf, size_t buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:123,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:123,1
    - Dst: mbedtls_mpi_core_cond_assign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:130,1
    - Dst: mbedtls_ct_mpi_sign_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:128,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:126,1
    - Dst: mbedtls_ct_bool_not
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:132,1
    - Dst: mbedtls_ct_mpi_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - X
    - Y
    - assign
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 140
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 140
    functionName: mbedtls_mpi_safe_cond_assign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_not
    - mbedtls_ct_mpi_uint_if_else_0
    - mbedtls_ct_mpi_sign_if
    - mbedtls_mpi_grow
    - mbedtls_mpi_core_cond_assign
    - mbedtls_ct_bool
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: '__declspec(noinline) #endif int mbedtls_mpi_safe_cond_assign(mbedtls_mpi
      *X, const mbedtls_mpi *Y, unsigned char assign) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_write_le
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - X
    - buf
    - buflen
    argTypes:
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: mbedtls_mpi_write_binary_le
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_write_le
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_write_binary_le(const mbedtls_mpi *X, unsigned char
      *buf, size_t buflen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - r
    - A
    - b
    argTypes:
    - mbedtls_mpi_uint*
    - mbedtls_mpi*
    - mbedtls_mpi_sint
    constantsTouched: []
    func_position:
      end: 1611
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1611
    functionName: mbedtls_mpi_mod_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_int(mbedtls_mpi_uint *r, const mbedtls_mpi *A,
      mbedtls_mpi_sint b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:589,1
    - Dst: mbedtls_mpi_div_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:590,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:590,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:601,1
    - Dst: mbedtls_mpi_mod_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:589,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - X
    - radix
    - p
    - buflen
    argTypes:
    - mbedtls_mpi*
    - int
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 609
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 609
    functionName: mpi_write_hlp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - memmove
    - mbedtls_mpi_div_int
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_mod_int
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int mpi_write_hlp(mbedtls_mpi *X, int radix, char **p, const
      size_t buflen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:758,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:767,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:760,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:766,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:760,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:772,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:773,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - p
    - X
    - radix
    - fout
    argTypes:
    - char*
    - mbedtls_mpi*
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 783
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 783
    functionName: mbedtls_mpi_write_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - memset
    - fwrite
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_write_string
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_write_file(const char *p, const mbedtls_mpi *X, int
      radix, FILE *fout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1119,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1127,1
    - Dst: mbedtls_mpi_sub_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1121,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1121,1
    - Dst: mbedtls_mpi_sub_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1127,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1132,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - X
    - A
    - B
    - flip_B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - int
    constantsTouched: []
    func_position:
      end: 1139
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1139
    functionName: add_sub_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_add_abs
    - mbedtls_mpi_sub_abs
    - mbedtls_mpi_cmp_abs
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'static int add_sub_mpi(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *B, int flip_B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_sint_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1165,1
    - Dst: TO_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1166,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - X
    - A
    - b
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi_sint
    constantsTouched: []
    func_position:
      end: 1171
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1171
    functionName: mbedtls_mpi_add_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_add_mpi
    - mpi_sint_abs
    - TO_SIGN
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_add_int(mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_sint
      b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1862,1
    - Dst: mbedtls_mpi_core_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1870,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1865,1
    - Dst: mbedtls_mpi_resize_clear
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1865,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - X
    - size
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1874
    functionName: mbedtls_mpi_fill_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_fill_random
    - CHARS_TO_LIMBS
    - mbedtls_mpi_resize_clear
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_fill_random(mbedtls_mpi *X, size_t size, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1885,1
    - Dst: mbedtls_mpi_core_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1897,1
    - Dst: mbedtls_mpi_resize_clear
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1892,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - X
    - min
    - N
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi_sint
    - mbedtls_mpi*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1898
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1898
    functionName: mbedtls_mpi_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_resize_clear
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_core_random
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_random(mbedtls_mpi *X, mbedtls_mpi_sint min, const
      mbedtls_mpi *N, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:352,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:353,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - X
    - Y
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 355
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 355
    functionName: mbedtls_mpi_swap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_swap(mbedtls_mpi *X, mbedtls_mpi *Y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - z
    argTypes:
    - mbedtls_mpi_sint
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: mpi_sint_abs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'static inline mbedtls_mpi_uint mpi_sint_abs(mbedtls_mpi_sint z) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - X
    - pos
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: mbedtls_mpi_get_bit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_get_bit(const mbedtls_mpi *X, size_t pos) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:714,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:719,1
    - Dst: mpi_get_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:733,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:715,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:738,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - X
    - radix
    - fin
    argTypes:
    - mbedtls_mpi*
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 739
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 739
    functionName: mbedtls_mpi_read_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - fgets
    - memset
    - mbedtls_mpi_read_string
    - mpi_get_digit
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_read_file(mbedtls_mpi *X, int radix, FILE *fin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - X
    - Y
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 929
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 929
    functionName: mbedtls_mpi_cmp_abs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_cmp_abs(const mbedtls_mpi *X, const mbedtls_mpi *Y) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1077,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1083,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1077,1
    - Dst: mbedtls_mpi_core_sub
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1089,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1086,1
    - Dst: mbedtls_mpi_core_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1092,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - X
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1106
    functionName: mbedtls_mpi_sub_abs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_sub
    - memcpy
    - mbedtls_mpi_grow
    - mbedtls_mpi_core_sub_int
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_sub_abs(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - X
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1155
    functionName: mbedtls_mpi_sub_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - add_sub_mpi
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_sub_mpi(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *B) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2154,1
    - Dst: mpi_check_small_factors
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2163,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2155,1
    - Dst: mpi_miller_rabin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2171,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - X
    - rounds
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2172
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2172
    functionName: mbedtls_mpi_is_prime_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mpi_miller_rabin
    - mbedtls_mpi_cmp_int
    - mpi_check_small_factors
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_is_prime_ext(const mbedtls_mpi *X, int rounds, int
      (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cond
    - sign1
    - sign2
    argTypes:
    - mbedtls_ct_condition_t
    - signed short
    - signed short
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: mbedtls_ct_mpi_sign_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_if
    linkageType: ''
    returnType: signed short
    signature: 'static inline signed short mbedtls_ct_mpi_sign_if(mbedtls_ct_condition_t
      cond, signed short sign1, signed short sign2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: mbedtls_mpi_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_init(mbedtls_mpi *X) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:217,1
    - Dst: mbedtls_mpi_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:223,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - X
    - nblimbs
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: mbedtls_mpi_grow
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_zeroize_and_free
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_grow(mbedtls_mpi *X, size_t nblimbs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:286,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:289,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:294,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - X
    - limbs
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: mbedtls_mpi_resize_clear
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - mbedtls_mpi_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_mpi_resize_clear(mbedtls_mpi *X, size_t limbs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:421,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - X
    - pos
    - val
    argTypes:
    - mbedtls_mpi*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 430
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 430
    functionName: mbedtls_mpi_set_bit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_set_bit(mbedtls_mpi *X, size_t pos, unsigned char
      val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: mbedtls_mpi_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_mpi_size(const mbedtls_mpi *X) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - d
    - radix
    - c
    argTypes:
    - mbedtls_mpi_uint*
    - int
    - char
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: mpi_get_digit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mpi_get_digit(mbedtls_mpi_uint *d, int radix, char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_sint_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:988,1
    - Dst: TO_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:989,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - X
    - z
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi_sint
    constantsTouched: []
    func_position:
      end: 994
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 994
    functionName: mbedtls_mpi_cmp_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    - mpi_sint_abs
    - TO_SIGN
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_cmp_int(const mbedtls_mpi *X, mbedtls_mpi_sint z) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1199,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1203,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1200,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1206,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1203,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1206,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1227,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1227,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1228,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1228,1
    - Dst: mbedtls_mpi_core_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1230,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1244,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - X
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1247
    functionName: mbedtls_mpi_mul_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_mul
    - mbedtls_mpi_lset
    - mbedtls_mpi_grow
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mul_mpi(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *B) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1261,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1278,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1277,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1278,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1277,1
    - Dst: mbedtls_mpi_core_mla
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - X
    - A
    - b
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 1283
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1283
    functionName: mbedtls_mpi_mul_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_mla
    - mbedtls_mpi_lset
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mul_int(mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_uint
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: mbedtls_mpi_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_mpi_free(mbedtls_mpi *X) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:250,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:270,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:265,1
    - Dst: mbedtls_mpi_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - X
    - nblimbs
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 280
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 280
    functionName: mbedtls_mpi_shrink
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_zeroize_and_free
    - mbedtls_mpi_grow
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_shrink(mbedtls_mpi *X, size_t nblimbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: mbedtls_mpi_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_bitlen
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_mpi_bitlen(const mbedtls_mpi *X) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:626,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:676,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:651,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:676,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:682,1
    - Dst: mpi_write_hlp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:682,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:690,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 5
    argNames:
    - X
    - radix
    - buf
    - buflen
    - olen
    argTypes:
    - mbedtls_mpi*
    - int
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 693
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 693
    functionName: mbedtls_mpi_write_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mpi_write_hlp
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_write_string(const mbedtls_mpi *X, int radix, char
      *buf, size_t buflen, size_t *olen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - X
    - Y
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 978
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 978
    functionName: mbedtls_mpi_cmp_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_cmp_mpi(const mbedtls_mpi *X, const mbedtls_mpi *Y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - X
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1147
    functionName: mbedtls_mpi_add_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - add_sub_mpi
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_add_mpi(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_sint_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1181,1
    - Dst: TO_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1182,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - X
    - A
    - b
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi_sint
    constantsTouched: []
    func_position:
      end: 1187
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1187
    functionName: mbedtls_mpi_sub_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_mpi
    - mpi_sint_abs
    - TO_SIGN
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_sub_int(mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_sint
      b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1400,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1405,1
    - Dst: mbedtls_mpi_cmp_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1417,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1419,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1428,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1433,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1450,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1452,1
    - Dst: mbedtls_int_div_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1458,1
    - Dst: mbedtls_mpi_mul_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1476,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1477,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1483,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1505,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1474,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1489,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1494,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1404,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1427,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1431,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1432,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1435,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1438,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1439,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1446,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1470,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1473,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1478,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1480,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1482,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1496,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1498,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1481,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1506,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1404,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1419,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1422,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1428,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1433,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1448,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1450,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1452,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1476,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1478,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1483,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1489,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1477,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1404,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1422,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1427,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1432,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1431,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1438,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1439,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1446,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1470,1
    - Dst: mbedtls_mpi_mul_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1473,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1481,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1482,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1494,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1505,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1507,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1496,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1505,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 156
    argCount: 4
    argNames:
    - Q
    - R
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1510
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1510
    functionName: mbedtls_mpi_div_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_cmp_abs
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_lset
    - mbedtls_platform_zeroize
    - mbedtls_mpi_shift_l
    - mbedtls_mpi_grow
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_cmp_int
    - mbedtls_int_div_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_mul_int
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_div_mpi(mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi
      *A, const mbedtls_mpi *B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_sint_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1522,1
    - Dst: TO_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1523,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - Q
    - R
    - A
    - b
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi_sint
    constantsTouched: []
    func_position:
      end: 1528
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1528
    functionName: mbedtls_mpi_div_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_div_mpi
    - mpi_sint_abs
    - TO_SIGN
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_div_int(mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi
      *A, mbedtls_mpi_sint b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHARS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:822,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:827,1
    - Dst: mbedtls_mpi_resize_clear
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:825,1
    - Dst: mbedtls_mpi_core_read_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:827,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - X
    - buf
    - buflen
    argTypes:
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 837
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 837
    functionName: mbedtls_mpi_read_binary
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - CHARS_TO_LIMBS
    - mbedtls_mpi_resize_clear
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_core_read_be
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_read_binary(mbedtls_mpi *X, const unsigned char *buf,
      size_t buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:865,1
    - Dst: mbedtls_mpi_core_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:873,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:868,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:868,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - X
    - count
    argTypes:
    - mbedtls_mpi*
    - size_t
    constantsTouched: []
    func_position:
      end: 877
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 877
    functionName: mbedtls_mpi_shift_l
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    - BITS_TO_LIMBS
    - mbedtls_mpi_core_shift_l
    - mbedtls_mpi_grow
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_shift_l(mbedtls_mpi *X, size_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1537,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1541,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1543,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1541,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1544,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1544,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1547,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1548,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - R
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1554
    functionName: mbedtls_mpi_mod_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_div_mpi
    - mbedtls_mpi_cmp_int
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_mod_mpi(mbedtls_mpi *R, const mbedtls_mpi *A, const
      mbedtls_mpi *B) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1623,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1632,1
    - Dst: mbedtls_mpi_core_get_mont_r2_unsafe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1660,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1692,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1666,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1694,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1674,1
    - Dst: mbedtls_mpi_core_montmul_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1700,1
    - Dst: mbedtls_mpi_core_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1705,1
    - Dst: mbedtls_mpi_core_from_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1707,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1627,1
    - Dst: mbedtls_ct_mpi_sign_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1715,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1725,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1640,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1631,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1648,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1654,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1660,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1691,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1694,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1666,1
    - Dst: mbedtls_mpi_core_exp_mod_unsafe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1703,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1717,1
    - Dst: mbedtls_mpi_core_exp_mod_working_limbs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1647,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1674,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1692,1
    - Dst: mbedtls_mpi_core_to_mont_rep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1701,1
    - Dst: mbedtls_mpi_core_check_zero_ct
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1714,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1717,1
    - Dst: mbedtls_mpi_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1722,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 6
    argNames:
    - X
    - A
    - E
    - E_public
    - N
    - prec_RR
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - int
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1729
    functionName: mbedtls_mpi_exp_mod_optionally_safe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_core_montmul_init
    - mbedtls_mpi_core_exp_mod_working_limbs
    - mbedtls_mpi_core_from_mont_rep
    - mbedtls_mpi_zeroize_and_free
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_core_check_zero_ct
    - mbedtls_calloc
    - mbedtls_mpi_core_exp_mod_unsafe
    - mbedtls_mpi_grow
    - mbedtls_mpi_free
    - mbedtls_mpi_bitlen
    - mbedtls_mpi_core_get_mont_r2_unsafe
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_lset
    - mbedtls_ct_mpi_sign_if
    - mbedtls_mpi_core_exp_mod
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_core_to_mont_rep
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_init
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_mpi_exp_mod_optionally_safe(mbedtls_mpi *X, const
      mbedtls_mpi *A, const mbedtls_mpi *E, int E_public, const mbedtls_mpi *N, mbedtls_mpi
      *prec_RR) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_lsb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1759,1
    - Dst: mbedtls_mpi_lsb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1813,1
    - Dst: mbedtls_mpi_lsb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1812,1
    - Dst: mbedtls_mpi_sub_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1823,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1827,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1842,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1756,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1757,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1754,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1810,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1813,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1812,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1824,1
    - Dst: mbedtls_mpi_sub_abs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1826,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1841,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1846,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1754,1
    - Dst: mbedtls_mpi_lsb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1760,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1767,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1823,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1822,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1827,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1756,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1757,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1766,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1813,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1812,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1824,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1826,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1841,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1842,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 3
    argNames:
    - G
    - A
    - B
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1849
    functionName: mbedtls_mpi_gcd
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_sub_abs
    - mbedtls_mpi_get_bit
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_shift_l
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_lsb
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_gcd(mbedtls_mpi *G, const mbedtls_mpi *A, const mbedtls_mpi
      *B) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1908,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1913,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1924,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1923,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1982,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1914,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1942,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1943,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1963,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1983,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1954,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1967,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1977,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1965,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1912,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1929,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1938,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1981,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1959,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1964,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1973,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1977,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1913,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1935,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1950,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1961,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1974,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1916,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1925,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1926,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1981,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1939,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1930,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1960,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1918,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1982,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1970,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1914,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1955,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1969,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1947,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1983,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1963,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1912,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1942,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1912,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1928,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1929,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1938,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1959,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1931,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1951,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1974,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1981,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1923,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1925,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1924,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1913,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1943,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1982,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1970,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1930,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1965,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1955,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1947,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1954,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1958,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1912,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1935,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1950,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1961,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1981,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1964,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1939,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1916,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1926,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1928,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1931,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1960,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1951,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 113
    argCount: 3
    argNames:
    - X
    - A
    - N
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1986
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1986
    functionName: mbedtls_mpi_inv_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_lset
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_gcd
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_inv_mod(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *N) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2320,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2321,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2323,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2340,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2329,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2352,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2373,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2382,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2383,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2385,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2454,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2475,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2474,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2452,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2474,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2449,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2474,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2320,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2321,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2335,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2355,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2342,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2368,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2370,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2393,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2396,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2404,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2441,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2475,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2478,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2422,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2450,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2465,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2320,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2321,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2323,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2329,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2340,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2357,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2373,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2398,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2398,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2417,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2431,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2433,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2449,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2456,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2422,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2474,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2471,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2320,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2342,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2335,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2365,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2368,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2370,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2379,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2396,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2420,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2428,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2475,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2445,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2452,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2407,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2409,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2450,1
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2420,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 124
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2482
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2482
    functionName: mbedtls_mpi_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_mpi_exp_mod
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_mul_mpi
    - mbedtls_mpi_inv_mod
    - mbedtls_mpi_lset
    - mbedtls_mpi_read_string
    - mbedtls_mpi_div_mpi
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_gcd
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_exp_mod_optionally_safe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - X
    - A
    - E
    - N
    - prec_RR
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1736
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1736
    functionName: mbedtls_mpi_exp_mod
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_exp_mod_optionally_safe
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_exp_mod(mbedtls_mpi *X, const mbedtls_mpi *A, const
      mbedtls_mpi *E, const mbedtls_mpi *N, mbedtls_mpi *prec_RR) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:70,1
    - Dst: mbedtls_ct_size_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:89,1
    - Dst: mbedtls_ct_bool_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:78,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:71,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:79,1
    - Dst: mbedtls_mpi_core_lt_ct
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:90,1
    - Dst: mbedtls_ct_bool_or
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:96,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:97,1
    - Dst: mbedtls_ct_bool_not
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:97,1
    - Dst: mbedtls_ct_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - X
    - Y
    - ret
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: mbedtls_mpi_lt_mpi_ct
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool_or
    - mbedtls_ct_bool_ne
    - mbedtls_ct_bool_not
    - mbedtls_ct_bool_and
    - mbedtls_mpi_core_lt_ct
    - mbedtls_ct_size_if_else_0
    - mbedtls_ct_bool
    - mbedtls_ct_uint_if_else_0
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_lt_mpi_ct(const mbedtls_mpi *X, const mbedtls_mpi
      *Y, unsigned *ret) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __has_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:440,1
    - Dst: mbedtls_mpi_uint_ctz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:452,1
    - Dst: __has_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:442,1
    - Dst: __has_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - X
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 467
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 467
    functionName: mbedtls_mpi_lsb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_uint_ctz
    - __has_builtin
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_mpi_lsb(const mbedtls_mpi *X) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:549,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:553,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:524,1
    - Dst: mpi_get_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:556,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:558,1
    - Dst: mbedtls_mpi_mul_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:557,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:527,1
    - Dst: mbedtls_mpi_grow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:545,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:546,1
    - Dst: mpi_get_digit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:549,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:558,1
    - Dst: mbedtls_mpi_lset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:553,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:568,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:545,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:543,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:536,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:546,1
    - Dst: mbedtls_mpi_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:562,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:556,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:557,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - X
    - radix
    - s
    argTypes:
    - mbedtls_mpi*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 571
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 571
    functionName: mbedtls_mpi_read_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_bitlen
    - BITS_TO_LIMBS
    - mbedtls_mpi_lset
    - mbedtls_mpi_add_int
    - mbedtls_mpi_grow
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_mul_int
    - mpi_get_digit
    - MBEDTLS_MPI_CHK
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_read_string(mbedtls_mpi *X, int radix, const char
      *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_write_be
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - X
    - buf
    - buflen
    argTypes:
    - mbedtls_mpi*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: mbedtls_mpi_write_binary
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_write_be
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_write_binary(const mbedtls_mpi *X, unsigned char *buf,
      size_t buflen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_core_clz
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1338,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 102
    argCount: 4
    argNames:
    - u1
    - u0
    - d
    - r
    argTypes:
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1387
    functionName: mbedtls_int_div_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_core_clz
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'static mbedtls_mpi_uint mbedtls_int_div_int(mbedtls_mpi_uint u1, mbedtls_mpi_uint
      u0, mbedtls_mpi_uint d, mbedtls_mpi_uint *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_exp_mod_optionally_safe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:1742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - X
    - A
    - E
    - N
    - prec_RR
    argTypes:
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 1743
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1743
    functionName: mbedtls_mpi_exp_mod_unsafe
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_exp_mod_optionally_safe
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_exp_mod_unsafe(mbedtls_mpi *X, const mbedtls_mpi *A,
      const mbedtls_mpi *E, const mbedtls_mpi *N, mbedtls_mpi *prec_RR) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2225,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2233,1
    - Dst: mbedtls_mpi_is_prime_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2238,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2252,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2254,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2260,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2254,1
    - Dst: mpi_miller_rabin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2270,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2287,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2261,1
    - Dst: mpi_check_small_factors
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2269,1
    - Dst: mpi_miller_rabin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2272,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2202,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2233,1
    - Dst: mbedtls_mpi_mod_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2252,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2256,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2256,1
    - Dst: mbedtls_mpi_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2260,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2286,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2286,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2287,1
    - Dst: mbedtls_mpi_fill_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2225,1
    - Dst: BITS_TO_LIMBS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2204,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2261,1
    - Dst: mpi_check_small_factors
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2268,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c:2294,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 90
    argCount: 5
    argNames:
    - X
    - nbits
    - flags
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_mpi*
    - size_t
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2297
    functionName: mbedtls_mpi_gen_prime
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/bignum.c
    functionUses: []
    functionsReached:
    - mpi_miller_rabin
    - BITS_TO_LIMBS
    - mbedtls_mpi_is_prime_ext
    - mbedtls_mpi_add_int
    - mbedtls_mpi_shift_r
    - mbedtls_mpi_fill_random
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_mpi_copy
    - MBEDTLS_MPI_CHK
    - mbedtls_mpi_mod_int
    - mpi_check_small_factors
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mpi_gen_prime(mbedtls_mpi *X, size_t nbits, int flags,
      int (*f_rng)(void *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_sign_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 599
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 599
    functionName: psa_driver_wrapper_sign_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_sign_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_sign_hash_abort( psa_sign_hash_interruptible_operation_t
      *operation ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1436,1
    - Dst: mbedtls_test_opaque_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1453,1
    - Dst: mbedtls_test_transparent_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 6
    argNames:
    - operation
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1468
    functionName: psa_driver_wrapper_cipher_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_cipher_update
    - mbedtls_test_opaque_cipher_update
    - mbedtls_test_transparent_cipher_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_update( psa_cipher_operation_t
      *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t
      output_size, size_t *output_length ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2209,1
    - Dst: mbedtls_psa_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2229,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2209,1
    - Dst: mbedtls_test_opaque_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2242,1
    - Dst: mbedtls_test_transparent_mac_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - mac
    - mac_size
    - mac_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2262
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2262
    functionName: psa_driver_wrapper_mac_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_transparent_mac_compute
    - mbedtls_test_opaque_mac_compute
    - psa_get_key_lifetime
    - mbedtls_psa_mac_compute
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_mac_compute( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *mac, size_t mac_size,
      size_t *mac_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_pake_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2824,1
    - Dst: mbedtls_test_transparent_pake_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - step
    - input
    - input_length
    argTypes:
    - psa_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2844
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2844
    functionName: psa_driver_wrapper_pake_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_input
    - mbedtls_test_transparent_pake_input
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_pake_input( psa_pake_operation_t
      *operation, psa_crypto_driver_pake_step_t step, const uint8_t *input, size_t
      input_length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:609,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:610,1
    - Dst: mbedtls_psa_verify_hash_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:630,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 9
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 646
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 646
    functionName: psa_driver_wrapper_verify_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_verify_hash_start
    - psa_get_key_lifetime
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_verify_hash_start( psa_verify_hash_interruptible_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
      const uint8_t *signature, size_t signature_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1480,1
    - Dst: mbedtls_test_transparent_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1489,1
    - Dst: mbedtls_test_opaque_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - output
    - output_size
    - output_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1506
    functionName: psa_driver_wrapper_cipher_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_cipher_finish
    - mbedtls_test_opaque_cipher_finish
    - mbedtls_test_transparent_cipher_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_finish( psa_cipher_operation_t
      *operation, uint8_t *output, size_t output_size, size_t *output_length ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2273,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2273,1
    - Dst: mbedtls_test_opaque_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2313,1
    - Dst: mbedtls_test_transparent_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2282,1
    - Dst: mbedtls_psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2297,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - psa_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 2334
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2334
    functionName: psa_driver_wrapper_mac_sign_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_mac_sign_setup
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_opaque_mac_sign_setup
    - mbedtls_test_transparent_mac_sign_setup
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_mac_sign_setup( psa_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_pake_get_implicit_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2855,1
    - Dst: mbedtls_test_transparent_pake_get_implicit_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - output
    - output_size
    - output_length
    argTypes:
    - psa_pake_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2873
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2873
    functionName: psa_driver_wrapper_pake_get_implicit_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_get_implicit_key
    - mbedtls_test_transparent_pake_get_implicit_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_pake_get_implicit_key(
      psa_pake_operation_t *operation, uint8_t *output, size_t output_size, size_t
      *output_length ) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:847,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:848,1
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:855,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:855,1
    - Dst: mbedtls_test_transparent_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:887,1
    - Dst: p256_transparent_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:902,1
    - Dst: psa_import_key_into_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:920,1
    - Dst: mbedtls_test_opaque_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:929,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 947
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 947
    functionName: psa_driver_wrapper_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - psa_get_se_driver
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_import_key_into_slot
    - mbedtls_test_opaque_import_key
    - mbedtls_test_transparent_import_key
    - psa_get_key_lifetime
    - p256_transparent_import_key
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_import_key( const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1023,1
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1029,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1023,1
    - Dst: mbedtls_test_opaque_copy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1042,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1029,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 6
    argNames:
    - attributes
    - source_key
    - source_key_length
    - target_key_buffer
    - target_key_buffer_size
    - target_key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1064
    functionName: psa_driver_wrapper_copy_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_copy_key
    - psa_get_se_driver
    - psa_get_key_lifetime
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_copy_key( psa_key_attributes_t
      *attributes, const uint8_t *source_key, size_t source_key_length, uint8_t *target_key_buffer,
      size_t target_key_buffer_size, size_t *target_key_buffer_length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_transparent_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1560,1
    - Dst: mbedtls_psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - alg
    - input
    - input_length
    - hash
    - hash_size
    - hash_length
    argTypes:
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1582
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1582
    functionName: psa_driver_wrapper_hash_compute
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_hash_compute
    - mbedtls_psa_hash_compute
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_hash_compute( psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *hash, size_t hash_size,
      size_t *hash_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_aead_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2029,1
    - Dst: mbedtls_test_transparent_aead_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2039,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 6
    argNames:
    - operation
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2057
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2057
    functionName: psa_driver_wrapper_aead_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_update
    - mbedtls_test_transparent_aead_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_update( psa_aead_operation_t
      *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t
      output_size, size_t *output_length ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2121,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2132,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2137,1
    - Dst: mbedtls_test_transparent_aead_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 6
    argNames:
    - operation
    - plaintext
    - plaintext_size
    - plaintext_length
    - tag
    - tag_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2165
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2165
    functionName: psa_driver_wrapper_aead_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_finish
    - mbedtls_ct_memcmp
    - mbedtls_platform_zeroize
    - mbedtls_test_transparent_aead_verify
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_verify( psa_aead_operation_t
      *operation, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length,
      const uint8_t *tag, size_t tag_length ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2516,1
    - Dst: mbedtls_test_transparent_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2522,1
    - Dst: mbedtls_test_opaque_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_mac_operation_t*
    constantsTouched: []
    func_position:
      end: 2532
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2532
    functionName: psa_driver_wrapper_mac_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_mac_abort
    - mbedtls_test_opaque_mac_abort
    - mbedtls_psa_mac_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_mac_abort( psa_mac_operation_t
      *operation ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2603,1
    - Dst: mbedtls_psa_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2621,1
    - Dst: mbedtls_test_transparent_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2612,1
    - Dst: mbedtls_test_opaque_asymmetric_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2629,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2603,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2651
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2651
    functionName: psa_driver_wrapper_asymmetric_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_asymmetric_decrypt
    - mbedtls_psa_asymmetric_decrypt
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_opaque_asymmetric_decrypt
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_asymmetric_decrypt(
      const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t
      *salt, size_t salt_length, uint8_t *output, size_t output_size, size_t *output_length
      ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2747,1
    - Dst: mbedtls_psa_pake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2768,1
    - Dst: mbedtls_test_transparent_pake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2757,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - operation
    - inputs
    argTypes:
    - psa_pake_operation_t*
    - psa_crypto_driver_pake_inputs_t*
    constantsTouched: []
    func_position:
      end: 2780
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2780
    functionName: psa_driver_wrapper_pake_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_setup
    - mbedtls_test_transparent_pake_setup
    - psa_get_key_lifetime
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_pake_setup( psa_pake_operation_t
      *operation, const psa_crypto_driver_pake_inputs_t *inputs ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:957,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:958,1
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:965,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:965,1
    - Dst: psa_export_key_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:983,1
    - Dst: mbedtls_test_opaque_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:995,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1012
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 1012
    functionName: psa_driver_wrapper_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - psa_export_key_internal
    - psa_get_se_driver
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_opaque_export_key
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_export_key( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2072,1
    - Dst: mbedtls_test_transparent_aead_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2083,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 7
    argNames:
    - operation
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    - tag
    - tag_size
    - tag_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2102
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2102
    functionName: psa_driver_wrapper_aead_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_finish
    - mbedtls_test_transparent_aead_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_finish( psa_aead_operation_t
      *operation, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length,
      uint8_t *tag, size_t tag_size, size_t *tag_length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2174,1
    - Dst: mbedtls_test_transparent_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_aead_operation_t*
    constantsTouched: []
    func_position:
      end: 2191
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2191
    functionName: psa_driver_wrapper_aead_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_abort
    - mbedtls_test_transparent_aead_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_abort( psa_aead_operation_t
      *operation ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_pake_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2793,1
    - Dst: mbedtls_test_transparent_pake_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - operation
    - step
    - output
    - output_size
    - output_length
    argTypes:
    - psa_pake_operation_t*
    - psa_crypto_driver_pake_step_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2812
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2812
    functionName: psa_driver_wrapper_pake_output
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_pake_output
    - mbedtls_psa_pake_output
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_pake_output( psa_pake_operation_t
      *operation, psa_crypto_driver_pake_step_t step, uint8_t *output, size_t output_size,
      size_t *output_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2882,1
    - Dst: mbedtls_test_transparent_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_pake_operation_t*
    constantsTouched: []
    func_position:
      end: 2895
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2895
    functionName: psa_driver_wrapper_pake_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_pake_abort
    - mbedtls_test_transparent_pake_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_pake_abort( psa_pake_operation_t
      * operation ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1517,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1533,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1525,1
    - Dst: mbedtls_test_opaque_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1531,1
    - Dst: mbedtls_test_transparent_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_cipher_operation_t*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1543
    functionName: psa_driver_wrapper_cipher_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_cipher_abort
    - mbedtls_test_transparent_cipher_abort
    - mbedtls_platform_zeroize
    - mbedtls_psa_cipher_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_abort( psa_cipher_operation_t
      *operation ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_verify_hash_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 667
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 667
    functionName: psa_driver_wrapper_verify_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_verify_hash_complete
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_verify_hash_complete(
      psa_verify_hash_interruptible_operation_t *operation ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:708,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:709,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:717,1
    - Dst: mbedtls_test_opaque_size_function
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:716,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:708,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer_size
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 728
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 728
    functionName: psa_driver_wrapper_get_key_buffer_size_from_key_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - PSA_BYTES_TO_BITS
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_get_key_type
    - psa_get_key_lifetime
    - mbedtls_test_opaque_size_function
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_get_key_buffer_size_from_key_data(
      const psa_key_attributes_t *attributes, const uint8_t *data, size_t data_length,
      size_t *key_buffer_size ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1174,1
    - Dst: mbedtls_test_transparent_cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1183,1
    - Dst: mbedtls_psa_cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1199,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1174,1
    - Dst: mbedtls_test_opaque_cipher_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1241
    functionName: psa_driver_wrapper_cipher_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_cipher_decrypt
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_psa_cipher_decrypt
    - mbedtls_test_transparent_cipher_decrypt
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_decrypt( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *output,
      size_t output_size, size_t *output_length ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_test_transparent_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1592,1
    - Dst: mbedtls_psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - operation
    - alg
    argTypes:
    - psa_hash_operation_t*
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1615
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1615
    functionName: psa_driver_wrapper_hash_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_hash_setup
    - mbedtls_test_transparent_hash_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_hash_setup( psa_hash_operation_t
      *operation, psa_algorithm_t alg ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1776,1
    - Dst: mbedtls_psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1800,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1776,1
    - Dst: mbedtls_test_transparent_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1786,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 13
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - nonce
    - nonce_length
    - additional_data
    - additional_data_length
    - ciphertext
    - ciphertext_length
    - plaintext
    - plaintext_size
    - plaintext_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1815
    functionName: psa_driver_wrapper_aead_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_aead_decrypt
    - psa_get_key_lifetime
    - mbedtls_psa_aead_decrypt
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_decrypt( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *nonce, size_t nonce_length, const uint8_t
      *additional_data, size_t additional_data_length, const uint8_t *ciphertext,
      size_t ciphertext_length, uint8_t *plaintext, size_t plaintext_size, size_t
      *plaintext_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1873,1
    - Dst: mbedtls_test_transparent_aead_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1884,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1873,1
    - Dst: mbedtls_psa_aead_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - psa_aead_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1913
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1913
    functionName: psa_driver_wrapper_aead_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_decrypt_setup
    - psa_get_key_lifetime
    - mbedtls_test_transparent_aead_decrypt_setup
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_decrypt_setup(
      psa_aead_operation_t *operation, const psa_key_attributes_t *attributes, const
      uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2345,1
    - Dst: mbedtls_psa_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2369,1
    - Dst: mbedtls_test_opaque_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2385,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2345,1
    - Dst: mbedtls_test_transparent_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2354,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - psa_mac_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 2406
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2406
    functionName: psa_driver_wrapper_mac_verify_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_mac_verify_setup
    - mbedtls_test_opaque_mac_verify_setup
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_psa_mac_verify_setup
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_mac_verify_setup( psa_mac_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2451,1
    - Dst: mbedtls_test_transparent_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2458,1
    - Dst: mbedtls_test_opaque_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - mac
    - mac_size
    - mac_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2474
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2474
    functionName: psa_driver_wrapper_mac_sign_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_mac_sign_finish
    - mbedtls_psa_mac_sign_finish
    - mbedtls_test_transparent_mac_sign_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_mac_sign_finish( psa_mac_operation_t
      *operation, uint8_t *mac, size_t mac_size, size_t *mac_length ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_verify_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 687
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 687
    functionName: psa_driver_wrapper_verify_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_verify_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_verify_hash_abort( psa_verify_hash_interruptible_operation_t
      *operation ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:738,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:738,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:759,1
    - Dst: psa_custom_key_parameters_are_default
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:742,1
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:759,1
    - Dst: PSA_KEY_TYPE_IS_ASYMMETRIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:782,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:782,1
    - Dst: mbedtls_test_transparent_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:787,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:795,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:797,1
    - Dst: psa_generate_key_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:812,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:796,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:795,1
    - Dst: p256_transparent_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:799,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:796,1
    - Dst: mbedtls_test_opaque_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:821,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 7
    argNames:
    - attributes
    - custom
    - custom_data
    - custom_data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - psa_custom_key_parameters_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 834
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 834
    functionName: psa_driver_wrapper_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - p256_transparent_generate_key
    - psa_get_se_driver
    - psa_generate_key_internal
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_transparent_generate_key
    - PSA_KEY_TYPE_IS_ASYMMETRIC
    - psa_get_key_bits
    - mbedtls_test_opaque_generate_key
    - PSA_KEY_TYPE_IS_ECC
    - psa_custom_key_parameters_are_default
    - psa_get_key_type
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_generate_key( const
      psa_key_attributes_t *attributes, const psa_custom_key_parameters_t *custom,
      const uint8_t *custom_data, size_t custom_data_length, uint8_t *key_buffer,
      size_t key_buffer_size, size_t *key_buffer_length ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1251,1
    - Dst: mbedtls_psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1276,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1251,1
    - Dst: mbedtls_test_opaque_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1293,1
    - Dst: mbedtls_test_transparent_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1260,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - psa_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1314
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1314
    functionName: psa_driver_wrapper_cipher_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_transparent_cipher_encrypt_setup
    - mbedtls_test_opaque_cipher_encrypt_setup
    - mbedtls_psa_cipher_encrypt_setup
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_encrypt_setup(
      psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const
      uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1626,1
    - Dst: mbedtls_test_transparent_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1632,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - source_operation
    - target_operation
    argTypes:
    - psa_hash_operation_t*
    - psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1640
    functionName: psa_driver_wrapper_hash_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_hash_clone
    - mbedtls_psa_hash_clone
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_hash_clone( const psa_hash_operation_t
      *source_operation, psa_hash_operation_t *target_operation ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1825,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1825,1
    - Dst: mbedtls_psa_aead_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1849,1
    - Dst: mbedtls_test_transparent_aead_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - psa_aead_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1863
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1863
    functionName: psa_driver_wrapper_aead_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_encrypt_setup
    - mbedtls_test_transparent_aead_encrypt_setup
    - psa_get_key_lifetime
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_encrypt_setup(
      psa_aead_operation_t *operation, const psa_key_attributes_t *attributes, const
      uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_aead_set_nonce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1924,1
    - Dst: mbedtls_test_transparent_aead_set_nonce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - operation
    - nonce
    - nonce_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1947
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1947
    functionName: psa_driver_wrapper_aead_set_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_set_nonce
    - mbedtls_test_transparent_aead_set_nonce
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_set_nonce( psa_aead_operation_t
      *operation, const uint8_t *nonce, size_t nonce_length ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2417,1
    - Dst: mbedtls_test_opaque_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2429,1
    - Dst: mbedtls_test_transparent_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2439
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2439
    functionName: psa_driver_wrapper_mac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_mac_update
    - mbedtls_test_transparent_mac_update
    - mbedtls_test_opaque_mac_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_mac_update( psa_mac_operation_t
      *operation, const uint8_t *input, size_t input_length ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2485,1
    - Dst: mbedtls_test_transparent_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2492,1
    - Dst: mbedtls_test_opaque_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - operation
    - mac
    - mac_length
    argTypes:
    - psa_mac_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2507
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2507
    functionName: psa_driver_wrapper_mac_verify_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_mac_verify_finish
    - mbedtls_test_transparent_mac_verify_finish
    - mbedtls_psa_mac_verify_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_mac_verify_finish( psa_mac_operation_t
      *operation, const uint8_t *mac, size_t mac_length ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1084,1
    - Dst: mbedtls_test_opaque_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1130,1
    - Dst: mbedtls_psa_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1111,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1084,1
    - Dst: mbedtls_test_transparent_cipher_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1093,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - iv
    - iv_length
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1159
    functionName: psa_driver_wrapper_cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_cipher_encrypt
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_opaque_cipher_encrypt
    - psa_get_key_lifetime
    - mbedtls_test_transparent_cipher_encrypt
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_encrypt( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *iv, size_t iv_length, const uint8_t *input,
      size_t input_length, uint8_t *output, size_t output_size, size_t *output_length
      ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2545,1
    - Dst: mbedtls_psa_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2563,1
    - Dst: mbedtls_test_transparent_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2554,1
    - Dst: mbedtls_test_opaque_asymmetric_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2571,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2545,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - salt
    - salt_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2593
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2593
    functionName: psa_driver_wrapper_asymmetric_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_asymmetric_encrypt
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_transparent_asymmetric_encrypt
    - mbedtls_test_opaque_asymmetric_encrypt
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_asymmetric_encrypt(
      const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t
      *salt, size_t salt_length, uint8_t *output, size_t output_size, size_t *output_length
      ) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2667,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2685,1
    - Dst: mbedtls_test_transparent_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2677,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2685,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2667,1
    - Dst: PSA_ALG_IS_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2686,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2687,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2687,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2688,1
    - Dst: p256_transparent_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2690,1
    - Dst: psa_key_agreement_raw_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2706,1
    - Dst: mbedtls_test_opaque_key_agreement
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2719,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - peer_key
    - peer_key_length
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2653
    functionDepth: 0
    functionLinenumber: 2653
    functionLinenumberEnd: 2738
    functionName: psa_driver_wrapper_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - p256_transparent_key_agreement
    - PSA_ALG_IS_ECDH
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_get_key_bits
    - PSA_KEY_TYPE_IS_ECC
    - mbedtls_test_opaque_key_agreement
    - mbedtls_test_transparent_key_agreement
    - psa_get_key_type
    - psa_key_agreement_raw_builtin
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_key_agreement( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *peer_key, size_t peer_key_length, uint8_t
      *shared_secret, size_t shared_secret_size, size_t *shared_secret_length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_aead_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1958,1
    - Dst: mbedtls_test_transparent_aead_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - operation
    - ad_length
    - plaintext_length
    argTypes:
    - psa_aead_operation_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1981
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1981
    functionName: psa_driver_wrapper_aead_set_lengths
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_set_lengths
    - mbedtls_test_transparent_aead_set_lengths
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_set_lengths( psa_aead_operation_t
      *operation, size_t ad_length, size_t plaintext_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_init_all_se_drivers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:76,1
    - Dst: mbedtls_test_opaque_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:86,1
    - Dst: mbedtls_test_transparent_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: psa_driver_wrapper_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_init
    - mbedtls_test_opaque_init
    - psa_init_all_se_drivers
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_init( void ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:123,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:123,1
    - Dst: mbedtls_test_transparent_signature_sign_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:132,1
    - Dst: mbedtls_test_opaque_signature_sign_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:153,1
    - Dst: psa_sign_message_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 183
    functionName: psa_driver_wrapper_sign_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - psa_sign_message_builtin
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_transparent_signature_sign_message
    - mbedtls_test_opaque_signature_sign_message
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_sign_message( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *signature,
      size_t signature_size, size_t *signature_length ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:267,1
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:284,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:284,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:267,1
    - Dst: mbedtls_test_transparent_signature_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:293,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:307,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:307,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:308,1
    - Dst: PSA_ALG_ECDSA_IS_DETERMINISTIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:309,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:310,1
    - Dst: mbedtls_test_opaque_signature_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:342,1
    - Dst: psa_sign_hash_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:328,1
    - Dst: p256_transparent_sign_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:313,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:311,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:310,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 358
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 358
    functionName: psa_driver_wrapper_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - p256_transparent_sign_hash
    - mbedtls_test_transparent_signature_sign_hash
    - psa_get_se_driver
    - PSA_KEY_LIFETIME_GET_LOCATION
    - psa_get_key_bits
    - PSA_ALG_ECDSA_IS_DETERMINISTIC
    - psa_sign_hash_builtin
    - PSA_ALG_IS_ECDSA
    - mbedtls_test_opaque_signature_sign_hash
    - psa_get_key_type
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - PSA_KEY_TYPE_IS_ECC
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_sign_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_sign_hash_get_num_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 483
    functionName: psa_driver_wrapper_sign_hash_get_num_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_sign_hash_get_num_ops
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t psa_driver_wrapper_sign_hash_get_num_ops( psa_sign_hash_interruptible_operation_t
      *operation ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:517,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:518,1
    - Dst: mbedtls_psa_sign_hash_start
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 7
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 553
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 553
    functionName: psa_driver_wrapper_sign_hash_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - psa_get_key_lifetime
    - mbedtls_psa_sign_hash_start
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_sign_hash_start( psa_sign_hash_interruptible_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length
      ) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1324,1
    - Dst: mbedtls_psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1349,1
    - Dst: mbedtls_test_transparent_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1333,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1324,1
    - Dst: mbedtls_test_opaque_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1366,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - psa_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 1387
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1387
    functionName: psa_driver_wrapper_cipher_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_transparent_cipher_decrypt_setup
    - mbedtls_psa_cipher_decrypt_setup
    - mbedtls_test_opaque_cipher_decrypt_setup
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_decrypt_setup(
      psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const
      uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1651,1
    - Dst: mbedtls_test_transparent_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1665
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1665
    functionName: psa_driver_wrapper_hash_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_hash_update
    - mbedtls_psa_hash_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_hash_update( psa_hash_operation_t
      *operation, const uint8_t *input, size_t input_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1701,1
    - Dst: mbedtls_test_transparent_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_hash_operation_t*
    constantsTouched: []
    func_position:
      end: 1711
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1711
    functionName: psa_driver_wrapper_hash_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_hash_abort
    - mbedtls_psa_hash_abort
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_hash_abort( psa_hash_operation_t
      *operation ) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:197,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:197,1
    - Dst: mbedtls_test_transparent_signature_verify_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:206,1
    - Dst: mbedtls_test_opaque_signature_verify_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:226,1
    - Dst: psa_verify_message_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 254
    functionName: psa_driver_wrapper_verify_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_opaque_signature_verify_message
    - psa_verify_message_builtin
    - psa_get_key_lifetime
    - mbedtls_test_transparent_signature_verify_message
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_verify_message( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *input, size_t input_length, const uint8_t
      *signature, size_t signature_length ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_unregister_all_se_drivers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:100,1
    - Dst: mbedtls_test_opaque_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:105,1
    - Dst: mbedtls_test_transparent_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: psa_driver_wrapper_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_opaque_free
    - psa_unregister_all_se_drivers
    - mbedtls_test_transparent_free
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_driver_wrapper_free( void ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_get_se_driver
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:371,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:388,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:371,1
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:388,1
    - Dst: mbedtls_test_transparent_signature_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:397,1
    - Dst: PSA_KEY_TYPE_IS_ECC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:411,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:411,1
    - Dst: PSA_ALG_IS_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:412,1
    - Dst: PSA_ALG_ECDSA_IS_DETERMINISTIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:413,1
    - Dst: psa_verify_hash_builtin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:431,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:415,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:414,1
    - Dst: mbedtls_test_opaque_signature_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:444,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:414,1
    - Dst: p256_transparent_verify_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:417,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 459
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 459
    functionName: psa_driver_wrapper_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - psa_verify_hash_builtin
    - psa_get_se_driver
    - PSA_KEY_LIFETIME_GET_LOCATION
    - mbedtls_test_opaque_signature_verify_hash
    - psa_get_key_bits
    - PSA_ALG_ECDSA_IS_DETERMINISTIC
    - p256_transparent_verify_hash
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - PSA_ALG_IS_ECDSA
    - psa_get_key_type
    - mbedtls_test_transparent_signature_verify_hash
    - PSA_KEY_TYPE_IS_ECC
    - psa_get_key_lifetime
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_verify_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t
      signature_length ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_verify_hash_get_num_ops
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - operation
    argTypes:
    - psa_verify_hash_interruptible_operation_t*
    constantsTouched: []
    func_position:
      end: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    functionName: psa_driver_wrapper_verify_hash_get_num_ops
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_verify_hash_get_num_ops
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t psa_driver_wrapper_verify_hash_get_num_ops(
      psa_verify_hash_interruptible_operation_t *operation ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_sign_hash_complete
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - operation
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_sign_hash_interruptible_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 580
    functionName: psa_driver_wrapper_sign_hash_complete
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_sign_hash_complete
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_sign_hash_complete(
      psa_sign_hash_interruptible_operation_t *operation, uint8_t *signature, size_t
      signature_size, size_t *signature_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1398,1
    - Dst: mbedtls_test_opaque_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1411,1
    - Dst: mbedtls_test_transparent_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - operation
    - iv
    - iv_length
    argTypes:
    - psa_cipher_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1422
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1422
    functionName: psa_driver_wrapper_cipher_set_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_cipher_set_iv
    - mbedtls_test_opaque_cipher_set_iv
    - mbedtls_psa_cipher_set_iv
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_cipher_set_iv( psa_cipher_operation_t
      *operation, const uint8_t *iv, size_t iv_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1677,1
    - Dst: mbedtls_test_transparent_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - hash
    - hash_size
    - hash_length
    argTypes:
    - psa_hash_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1692
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1692
    functionName: psa_driver_wrapper_hash_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_hash_finish
    - mbedtls_psa_hash_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_hash_finish( psa_hash_operation_t
      *operation, uint8_t *hash, size_t hash_size, size_t *hash_length ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1724,1
    - Dst: mbedtls_test_transparent_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1734,1
    - Dst: mbedtls_psa_aead_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1748,1
    - Dst: psa_get_key_lifetime
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1724,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 13
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - nonce
    - nonce_length
    - additional_data
    - additional_data_length
    - plaintext
    - plaintext_length
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1763
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1763
    functionName: psa_driver_wrapper_aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_test_transparent_aead_encrypt
    - psa_get_key_lifetime
    - mbedtls_psa_aead_encrypt
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_encrypt( const
      psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg, const uint8_t *nonce, size_t nonce_length, const uint8_t
      *additional_data, size_t additional_data_length, const uint8_t *plaintext, size_t
      plaintext_length, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length
      ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_aead_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:1992,1
    - Dst: mbedtls_test_transparent_aead_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h:2001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2015
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 2015
    functionName: psa_driver_wrapper_aead_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_driver_wrappers.h
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_update_ad
    - mbedtls_test_transparent_aead_update_ad
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_driver_wrapper_aead_update_ad( psa_aead_operation_t
      *operation, const uint8_t *input, size_t input_length ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - mbedtls_ssl_protocol_version
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: mbedtls_ssl_protocol_version_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_debug_helpers_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_protocol_version_str( mbedtls_ssl_protocol_version
      in ) '
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - mbedtls_ssl_states
    constantsTouched: []
    func_position:
      end: 172
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 172
    functionName: mbedtls_ssl_states_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_debug_helpers_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_states_str( mbedtls_ssl_states in ) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 63
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 63
    functionName: mbedtls_ssl_named_group_to_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_debug_helpers_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_named_group_to_str( uint16_t in ) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 105
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 105
    functionName: mbedtls_ssl_sig_alg_to_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_debug_helpers_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_sig_alg_to_str( uint16_t in ) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - mbedtls_tls_prf_types
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: mbedtls_tls_prf_types_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_debug_helpers_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_tls_prf_types_str( mbedtls_tls_prf_types in ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - mbedtls_ssl_key_export_type
    constantsTouched: []
    func_position:
      end: 244
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 244
    functionName: mbedtls_ssl_key_export_type_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_debug_helpers_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_key_export_type_str( mbedtls_ssl_key_export_type
      in ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - mbedtls_ssl_early_data_status
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: mbedtls_ssl_early_data_status_str
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_debug_helpers_generated.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_early_data_status_str( mbedtls_ssl_early_data_status
      in ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:132,1
    - Dst: getauxval
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:133,1
    - Dst: getauxval
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 151
    functionName: mbedtls_aesce_has_support_impl
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - getauxval
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aesce_has_support_impl(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u8_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:314,1
    - Dst: vdupq_n_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:314,1
    - Dst: vaeseq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:319,1
    - Dst: vdupq_n_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:315,1
    - Dst: vgetq_lane_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:320,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: aes_sub_word
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vreinterpretq_u32_u8
    - vdupq_n_u32
    - vaeseq_u8
    - vdupq_n_u8
    - vgetq_lane_u32
    - vreinterpretq_u8_u32
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t aes_sub_word(uint32_t in) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aesce_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:391,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - key
    - bits
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: mbedtls_aesce_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - aesce_setkey_enc
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aesce_setkey_enc(unsigned char *rk, const unsigned char
      *key, size_t bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - poly64_t
    - poly64_t
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: vmull_p64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: poly128_t
    signature: 'static inline poly128_t vmull_p64(poly64_t a, poly64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 455
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 455
    functionName: vrbitq_u8
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8x16_t
    signature: 'static inline uint8x16_t vrbitq_u8(uint8x16_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u8_p128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:500,1
    - Dst: vget_low_p64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:503,1
    - Dst: MBEDTLS_VMULL_P64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:501,1
    - Dst: vget_low_p64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:502,1
    - Dst: vreinterpretq_p64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:502,1
    - Dst: vreinterpretq_p64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pmull_low
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - MBEDTLS_VMULL_P64
    - vreinterpretq_p64_u8
    - vreinterpretq_u8_p128
    - vget_low_p64
    linkageType: ''
    returnType: uint8x16_t
    signature: 'static inline uint8x16_t pmull_low(uint8x16_t a, uint8x16_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmull_high
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:536,1
    - Dst: pmull_high
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:539,1
    - Dst: vextq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:538,1
    - Dst: pmull_low
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:537,1
    - Dst: pmull_low
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:540,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 547
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 547
    functionName: poly_mult_128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - veorq_u8
    - pmull_low
    - vextq_u8
    - pmull_high
    linkageType: ''
    returnType: uint8x16x3_t
    signature: 'static inline uint8x16x3_t poly_mult_128(uint8x16_t a, uint8x16_t
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vaeseq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:188,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:194,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:194,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - block
    - keys
    - rounds
    argTypes:
    - uint8x16_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: aesce_encrypt_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vld1q_u8
    - veorq_u8
    - vaeseq_u8
    linkageType: ''
    returnType: MBEDTLS_OPTIMIZE_FOR_PERFORMANCE
    signature: 'MBEDTLS_OPTIMIZE_FOR_PERFORMANCE static uint8x16_t aesce_encrypt_block(uint8x16_t
      block, unsigned char *keys, int rounds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - word
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: aes_rot_word
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t aes_rot_word(uint32_t word) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmull_p64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:425,1
    - Dst: vget_high_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:426,1
    - Dst: vget_high_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - poly64x2_t
    - poly64x2_t
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: vmull_high_p64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vget_high_u64
    - vmull_p64
    linkageType: ''
    returnType: poly128_t
    signature: 'static inline poly128_t vmull_high_p64(poly64x2_t a, poly64x2_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vget_low_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:474,1
    - Dst: vreinterpretq_u64_p64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - poly64x2_t
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: vget_low_p64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vreinterpretq_u64_p64
    - vget_low_u64
    linkageType: ''
    returnType: poly64x1_t
    signature: 'static inline poly64x1_t vget_low_p64(poly64x2_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u8_p128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:509,1
    - Dst: vmull_high_p64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:510,1
    - Dst: vreinterpretq_p64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:511,1
    - Dst: vreinterpretq_p64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: pmull_high
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vmull_high_p64
    - vreinterpretq_p64_u8
    - vreinterpretq_u8_p128
    linkageType: ''
    returnType: uint8x16_t
    signature: 'static inline uint8x16_t pmull_high(uint8x16_t a, uint8x16_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:269,1
    - Dst: vst1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:282,1
    - Dst: aesce_encrypt_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:280,1
    - Dst: aesce_decrypt_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: mbedtls_aesce_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - aesce_decrypt_block
    - vld1q_u8
    - aesce_encrypt_block
    - vst1q_u8
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aesce_crypt_ecb(mbedtls_aes_context *ctx, int mode, const
      unsigned char input[16], unsigned char output[16]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:343,1
    - Dst: aes_rot_word
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:352,1
    - Dst: aes_sub_word
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:370,1
    - Dst: aes_sub_word
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - rk
    - key
    - key_bit_length
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 378
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 378
    functionName: aesce_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - aes_sub_word
    - aes_rot_word
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void aesce_setkey_enc(unsigned char *rk, const unsigned char
      *key, const size_t key_bit_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:565,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:574,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:567,1
    - Dst: vshrq_n_u64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:574,1
    - Dst: vdupq_n_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:567,1
    - Dst: pmull_high
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:580,1
    - Dst: pmull_low
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:581,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:582,1
    - Dst: pmull_high
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:583,1
    - Dst: vextq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:584,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:587,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:586,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint8x16x3_t
    constantsTouched: []
    func_position:
      end: 588
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 588
    functionName: poly_mult_reduce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vreinterpretq_u8_u64
    - vshrq_n_u64
    - vreinterpretq_u64_u8
    - vdupq_n_u8
    - pmull_high
    - vextq_u8
    - veorq_u8
    - pmull_low
    linkageType: ''
    returnType: uint8x16_t
    signature: 'static inline uint8x16_t poly_mult_reduce(uint8x16x3_t input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vrbitq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:598,1
    - Dst: vrbitq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:600,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:598,1
    - Dst: vrbitq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:599,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:599,1
    - Dst: poly_mult_reduce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:600,1
    - Dst: poly_mult_128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:600,1
    - Dst: vst1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: mbedtls_aesce_gcm_mult
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vrbitq_u8
    - vld1q_u8
    - vst1q_u8
    - poly_mult_128
    - poly_mult_reduce
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aesce_gcm_mult(unsigned char c[16], const unsigned char
      a[16], const unsigned char b[16]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vaesdq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:251,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:255,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:251,1
    - Dst: veorq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - block
    - keys
    - rounds
    argTypes:
    - uint8x16_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 258
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 258
    functionName: aesce_decrypt_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vld1q_u8
    - veorq_u8
    - vaesdq_u8
    linkageType: ''
    returnType: uint8x16_t
    signature: 'static uint8x16_t aesce_decrypt_block(uint8x16_t block, unsigned char
      *keys, int rounds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vst1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:297,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:297,1
    - Dst: vaesimcq_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:300,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:300,1
    - Dst: vst1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:299,1
    - Dst: vst1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:302,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - invkey
    - fwdkey
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: mbedtls_aesce_inverse_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aesce.c
    functionUses: []
    functionsReached:
    - vld1q_u8
    - vaesimcq_u8
    - vst1q_u8
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aesce_inverse_key(unsigned char *invkey, const unsigned
      char *fwdkey, int nr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version_features.c:828,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version_features.c:835,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - feature
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 841
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 841
    functionName: mbedtls_version_check_feature
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version_features.c
    functionUses: []
    functionsReached:
    - strcmp
    - strncmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_version_check_feature(const char *feature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: psa_crypto_buffer_offset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_core_common.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static inline unsigned char *psa_crypto_buffer_offset( unsigned char
      *p, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: psa_crypto_buffer_offset_const
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_core_common.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'static inline const unsigned char *psa_crypto_buffer_offset_const(
      const unsigned char *p, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: psa_key_slot_has_readers
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_core.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int psa_key_slot_has_readers(const psa_key_slot_t *slot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: psa_key_slot_get_slot_number
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_core.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_key_slot_number_t
    signature: 'static inline psa_key_slot_number_t psa_key_slot_get_slot_number(
      const psa_key_slot_t *slot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - allow_packing
    argTypes:
    - mbedtls_ssl_context*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1631
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1631
    functionName: mbedtls_ssl_set_datagram_packing
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_datagram_packing(mbedtls_ssl_context *ssl, unsigned
      allow_packing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - early_data_enabled
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 1790
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1790
    functionName: mbedtls_ssl_conf_early_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_early_data(mbedtls_ssl_config *conf, int early_data_enabled) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4708,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4729,1
    - Dst: ssl_write_hello_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4719,1
    - Dst: mbedtls_ssl_start_renegotiation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4733,1
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4716,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4734,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4738,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4746
      start: 4697
    functionDepth: 0
    functionLinenumber: 4697
    functionLinenumberEnd: 4746
    functionName: mbedtls_ssl_renegotiate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_flush_output
    - mbedtls_ssl_start_renegotiation
    - mbedtls_ssl_handshake
    - ssl_write_hello_request
    - mbedtls_ssl_is_handshake_over
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_renegotiate(mbedtls_ssl_context *ssl) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5309,1
    - Dst: ssl_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5307,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5280,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5441,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5368,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5377,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5399,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5414,1
    - Dst: mbedtls_ssl_handshake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5479,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5396,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5440,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5480,1
    - Dst: mbedtls_ssl_update_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5468,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5271,1
    - Dst: ssl_tls12prf_from_cs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5329,1
    - Dst: ssl_tls12_populate_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5339,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5388,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5293,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5422,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 138
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 5492
      start: 5232
    functionDepth: 0
    functionLinenumber: 5232
    functionLinenumberEnd: 5492
    functionName: ssl_context_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_ssl_handshake_free
    - MBEDTLS_SSL_DEBUG_BUF
    - memcmp
    - ssl_tls12prf_from_cs
    - mbedtls_ssl_update_out_pointers
    - mbedtls_free
    - ssl_session_load
    - memcpy
    - MBEDTLS_GET_UINT16_BE
    - ssl_tls12_populate_transform
    - MBEDTLS_GET_UINT64_BE
    - mbedtls_ssl_session_free
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_context_load(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_tls_id_from_ecp_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6241,1
    - Dst: mbedtls_ssl_check_curve_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - grp_id
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 6248
      start: 6239
    functionDepth: 0
    functionLinenumber: 6239
    functionLinenumberEnd: 6248
    functionName: mbedtls_ssl_check_curve
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_tls_id_from_ecp_group_id
    - mbedtls_ssl_check_curve_tls_id
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_check_curve(const mbedtls_ssl_context *ssl, mbedtls_ecp_group_id
      grp_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - min
    - max
    argTypes:
    - mbedtls_ssl_config*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1638
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1638
    functionName: mbedtls_ssl_conf_handshake_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_handshake_timeout(mbedtls_ssl_config *conf,
      uint32_t min, uint32_t max) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - tls_prf
    argTypes:
    - mbedtls_ssl_tls_prf_cb*
    constantsTouched: []
    func_position:
      end: 8542
      start: 8528
    functionDepth: 0
    functionLinenumber: 8528
    functionLinenumberEnd: 8542
    functionName: tls_prf_get_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_tls_prf_types
    signature: 'static mbedtls_tls_prf_types tls_prf_get_type(mbedtls_ssl_tls_prf_cb
      *tls_prf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - f_export_keys
    - p_export_keys
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_export_keys_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3035
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3035
    functionName: mbedtls_ssl_set_export_keys_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_export_keys_cb(mbedtls_ssl_context *ssl, mbedtls_ssl_export_keys_t
      *f_export_keys, void *p_export_keys) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5062,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5071,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5081,1
    - Dst: mbedtls_ssl_transform_uses_aead
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5085,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5092,1
    - Dst: ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5121,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5158,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5168,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5221,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5052,1
    - Dst: mbedtls_ssl_check_pending
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5066,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5144,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5118,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5165,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5086,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5103,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5135,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5182,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5053,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5057,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5067,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5076,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5148,1
    - Dst: ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5111,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5189,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5197,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5205,1
    - Dst: mbedtls_ssl_session_reset_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5223,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 111
    argCount: 4
    argNames:
    - ssl
    - buf
    - buf_len
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 5224
      start: 5033
    functionDepth: 0
    functionLinenumber: 5033
    functionLinenumberEnd: 5224
    functionName: mbedtls_ssl_context_save
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - ssl_session_save
    - mbedtls_ssl_session_reset_int
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_PUT_UINT32_BE
    - MBEDTLS_PUT_UINT64_BE
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_transform_uses_aead
    - mbedtls_ssl_check_pending
    - mbedtls_ssl_is_handshake_over
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_context_save(mbedtls_ssl_context *ssl, unsigned char
      *buf, size_t buf_len, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - mtu
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1688
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1688
    functionName: mbedtls_ssl_set_mtu
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_mtu(mbedtls_ssl_context *ssl, uint16_t mtu) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1741,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1746,1
    - Dst: mbedtls_ssl_session_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1761,1
    - Dst: mbedtls_ssl_validate_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1743,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1769
    functionName: mbedtls_ssl_set_session
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_ssl_session_copy
    - mbedtls_ssl_validate_ciphersuite
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_session(mbedtls_ssl_context *ssl, const mbedtls_ssl_session
      *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - (*f_psk)
    - p_psk
    argTypes:
    - mbedtls_ssl_config*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2341
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2341
    functionName: mbedtls_ssl_conf_psk_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_psk_cb(mbedtls_ssl_config *conf, int (*f_psk)(void
      *, mbedtls_ssl_context *, const unsigned char *, size_t), void *p_psk) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2767,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2791,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2778,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2778,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2786,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ssl
    - hostname
    argTypes:
    - mbedtls_ssl_context*
    - char*
    constantsTouched: []
    func_position:
      end: 2797
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2797
    functionName: mbedtls_ssl_set_hostname
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_zeroize_and_free
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_hostname(mbedtls_ssl_context *ssl, const char
      *hostname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - mfl_code
    argTypes:
    - mbedtls_ssl_config*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 2960
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2960
    functionName: mbedtls_ssl_conf_max_frag_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_mfl_code_to_length
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_max_frag_len(mbedtls_ssl_config *conf, unsigned
      char mfl_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - num_tickets
    argTypes:
    - mbedtls_ssl_config*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 3014
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3014
    functionName: mbedtls_ssl_conf_new_session_tickets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_new_session_tickets(mbedtls_ssl_config *conf,
      uint16_t num_tickets) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6385,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6421,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6411,1
    - Dst: psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6406,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 5
    argNames:
    - ssl
    - md
    - dst
    - dst_len
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 6422
      start: 6377
    functionDepth: 0
    functionLinenumber: 6377
    functionLinenumberEnd: 6422
    functionName: mbedtls_ssl_get_handshake_transcript
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - psa_hash_clone
    - PSA_TO_MBEDTLS_ERR
    - psa_hash_operation_init
    - psa_hash_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_handshake_transcript(mbedtls_ssl_context *ssl,
      const mbedtls_md_type_t md, unsigned char *dst, size_t dst_len, size_t *olen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6477,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6478,1
    - Dst: mbedtls_md_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6482,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6478,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6487,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6488,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - ssl
    - dst
    - dst_len
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 6498
      start: 6464
    functionDepth: 0
    functionLinenumber: 6464
    functionLinenumberEnd: 6498
    functionName: ssl_get_handshake_transcript_sha256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_md_init
    - mbedtls_md_clone
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_handshake_transcript_sha256(mbedtls_ssl_context
      *ssl, unsigned char *dst, size_t dst_len, size_t *olen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_prf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 8
    argNames:
    - prf
    - secret
    - slen
    - label
    - random
    - rlen
    - dstbuf
    - dlen
    argTypes:
    - mbedtls_tls_prf_types
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 491
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 491
    functionName: mbedtls_ssl_tls_prf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - tls_prf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_tls_prf(const mbedtls_tls_prf_types prf, const unsigned
      char *secret, size_t slen, const char *label, const unsigned char *random, size_t
      rlen, unsigned char *dstbuf, size_t dlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - ssl
    - p_bio
    - f_send
    - f_recv
    - f_recv_timeout
    argTypes:
    - mbedtls_ssl_context*
    - void*
    - mbedtls_ssl_send_t*
    - mbedtls_ssl_recv_t*
    - mbedtls_ssl_recv_timeout_t*
    constantsTouched: []
    func_position:
      end: 1682
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1682
    functionName: mbedtls_ssl_set_bio
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_bio(mbedtls_ssl_context *ssl, void *p_bio, mbedtls_ssl_send_t
      *f_send, mbedtls_ssl_recv_t *f_recv, mbedtls_ssl_recv_timeout_t *f_recv_timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - ca_chain
    - ca_crl
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    constantsTouched: []
    func_position:
      end: 1919
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1919
    functionName: mbedtls_ssl_set_hs_ca_chain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_hs_ca_chain(mbedtls_ssl_context *ssl, mbedtls_x509_crt
      *ca_chain, mbedtls_x509_crl *ca_crl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7170,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7185,1
    - Dst: ssl_compute_master
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7181,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7176,1
    - Dst: ssl_set_handshake_prfs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7173,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7194,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7195,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7196,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7197,1
    - Dst: ssl_tls12_populate_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7201,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7218,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7221,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 7224
      start: 7164
    functionDepth: 0
    functionLinenumber: 7164
    functionLinenumberEnd: 7224
    functionName: mbedtls_ssl_derive_keys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_set_handshake_prfs
    - ssl_compute_master
    - memcpy
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_tls12_populate_transform
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_derive_keys(mbedtls_ssl_context *ssl) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_check_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9761,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9772,1
    - Dst: mbedtls_x509_crt_check_extended_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9778,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9775,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 5
    argNames:
    - cert
    - ciphersuite
    - recv_endpoint
    - tls_version
    - flags
    argTypes:
    - mbedtls_x509_crt*
    - mbedtls_ssl_ciphersuite_t*
    - int
    - mbedtls_ssl_protocol_version
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 9784
      start: 9703
    functionDepth: 0
    functionLinenumber: 9703
    functionLinenumberEnd: 9784
    functionName: mbedtls_ssl_check_cert_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_OID_SIZE
    - mbedtls_x509_crt_check_extended_key_usage
    - mbedtls_x509_crt_check_key_usage
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_check_cert_usage(const mbedtls_x509_crt *cert, const
      mbedtls_ssl_ciphersuite_t *ciphersuite, int recv_endpoint, mbedtls_ssl_protocol_version
      tls_version, uint32_t *flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6723,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6737,1
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6736,1
    - Dst: PSA_ALG_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6725,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6738,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6739,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6741,1
    - Dst: setup_psa_key_derivation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6747,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6752,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6756,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6763,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6764,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6768,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6774,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6761,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6775,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6770,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6757,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 8
    argNames:
    - md_type
    - secret
    - slen
    - label
    - random
    - rlen
    - dstbuf
    - dlen
    argTypes:
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 6782
      start: 6709
    functionDepth: 0
    functionLinenumber: 6709
    functionLinenumberEnd: 6782
    functionName: tls_prf_generic
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - psa_key_attributes_init
    - psa_set_key_usage_flags
    - PSA_ALG_TLS12_PRF
    - psa_set_key_type
    - psa_import_key
    - setup_psa_key_derivation
    - psa_destroy_key
    - psa_set_key_algorithm
    - psa_key_derivation_abort
    - mbedtls_svc_key_id_is_null
    - psa_key_derivation_output_bytes
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_generic(mbedtls_md_type_t
      md_type, const unsigned char *secret, size_t slen, const char *label, const
      unsigned char *random, size_t rlen, unsigned char *dstbuf, size_t dlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:170,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ssl
    - enabled
    - peer_cid
    - peer_cid_len
    argTypes:
    - mbedtls_ssl_context*
    - int*
    - unsigned char
    - size_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: mbedtls_ssl_get_peer_cid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_ssl_is_handshake_over
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_peer_cid(mbedtls_ssl_context *ssl, int *enabled,
      unsigned char peer_cid[MBEDTLS_SSL_CID_OUT_LEN_MAX], size_t *peer_cid_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - md
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 7247
      start: 7226
    functionDepth: 0
    functionLinenumber: 7226
    functionLinenumberEnd: 7247
    functionName: mbedtls_ssl_set_calc_verify_md
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_calc_verify_md(mbedtls_ssl_context *ssl, int md) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7289,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7294,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7296,1
    - Dst: mbedtls_md_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7300,1
    - Dst: mbedtls_md_info_from_ctx
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7296,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7305,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7310,1
    - Dst: mbedtls_md_info_from_ctx
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7310,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7312,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7313,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7316,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - ssl
    - hs_ctx
    - hash
    - hlen
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_md_context_t*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 7318
      start: 7281
    functionDepth: 0
    functionLinenumber: 7281
    functionLinenumberEnd: 7318
    functionName: ssl_calc_verify_tls_legacy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_free
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_md_init
    - mbedtls_md_clone
    - mbedtls_md_info_from_ctx
    - mbedtls_md_get_size
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'static int ssl_calc_verify_tls_legacy(const mbedtls_ssl_context *ssl,
      const mbedtls_md_context_t *hs_ctx, unsigned char *hash, size_t *hlen) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9802,1
    - Dst: mbedtls_x509_crt_verify_with_ca_cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9819,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9806,1
    - Dst: mbedtls_x509_crt_verify_restartable
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9847,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9818,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9857,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9880,1
    - Dst: mbedtls_ssl_check_curve
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9881,1
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9881,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9882,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9897,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9920,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9957,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9951,1
    - Dst: mbedtls_ssl_check_cert_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9892,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9960,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 107
    argCount: 5
    argNames:
    - ssl
    - authmode
    - chain
    - ciphersuite_info
    - rs_ctx
    argTypes:
    - mbedtls_ssl_context*
    - int
    - mbedtls_x509_crt*
    - mbedtls_ssl_ciphersuite_t*
    - void*
    constantsTouched: []
    func_position:
      end: 9965
      start: 9786
    functionDepth: 0
    functionLinenumber: 9786
    functionLinenumberEnd: 9965
    functionName: mbedtls_ssl_verify_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_check_cert_usage
    - mbedtls_pk_can_do
    - mbedtls_ssl_check_curve
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_x509_crt_verify_with_ca_cb
    - mbedtls_x509_crt_verify_restartable
    - mbedtls_pk_get_ec_group_id
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_verify_certificate(mbedtls_ssl_context *ssl, int authmode,
      mbedtls_x509_crt *chain, const mbedtls_ssl_ciphersuite_t *ciphersuite_info,
      void *rs_ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9633,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9644,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9643,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9651,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - session
    - hostname
    argTypes:
    - mbedtls_ssl_session*
    - char*
    constantsTouched: []
    func_position:
      end: 9660
      start: 9624
    functionDepth: 0
    functionLinenumber: 9624
    functionLinenumberEnd: 9660
    functionName: mbedtls_ssl_session_set_hostname
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_zeroize_and_free
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_session_set_hostname(mbedtls_ssl_session *session,
      const char *hostname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9529,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9540,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9531,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9543,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9533,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9554,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9559,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9569,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 9573
      start: 9499
    functionDepth: 0
    functionLinenumber: 9499
    functionLinenumberEnd: 9573
    functionName: mbedtls_ssl_parse_alpn_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - memcmp
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_GET_UINT16_BE
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_parse_alpn_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - sig_algs
    argTypes:
    - mbedtls_ssl_config*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2717
    functionDepth: 0
    functionLinenumber: 2717
    functionLinenumberEnd: 2724
    functionName: mbedtls_ssl_conf_sig_algs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_sig_algs(mbedtls_ssl_config *conf, const uint16_t
      *sig_algs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_prf_generic
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - secret
    - slen
    - label
    - random
    - rlen
    - dstbuf
    - dlen
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 6916
      start: 6908
    functionDepth: 0
    functionLinenumber: 6908
    functionLinenumberEnd: 6916
    functionName: tls_prf_sha384
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - tls_prf_generic
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_sha384(const unsigned
      char *secret, size_t slen, const char *label, const unsigned char *random, size_t
      rlen, unsigned char *dstbuf, size_t dlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:322,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:331,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - len_new
    - len_old
    argTypes:
    - unsigned char**
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 339
    functionName: resize_buffer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int resize_buffer(unsigned char
      **buffer, size_t len_new, size_t *len_old) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4796,1
    - Dst: mbedtls_dhm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4803,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4818,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4826,1
    - Dst: mbedtls_ecjpake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4823,1
    - Dst: ssl_key_cert_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4863,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4870,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4897,1
    - Dst: handle_buffer_resizing
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4911,1
    - Dst: mbedtls_ssl_get_output_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4912,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4760,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4807,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4841,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4819,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4898,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4900,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4916,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4791,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4845,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4836,1
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4876,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4881,1
    - Dst: mbedtls_ssl_buffering_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4887,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4892,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4901,1
    - Dst: mbedtls_ssl_get_input_buflen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4911,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4789,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4775,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4769,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4798,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4812,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4852,1
    - Dst: mbedtls_x509_crt_restart_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4867,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4869,1
    - Dst: mbedtls_ssl_flight_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4886,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4918
      start: 4749
    functionDepth: 0
    functionLinenumber: 4749
    functionLinenumberEnd: 4918
    functionName: mbedtls_ssl_handshake_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - psa_hash_abort
    - psa_destroy_key
    - mbedtls_platform_zeroize
    - psa_pake_abort
    - mbedtls_zeroize_and_free
    - mbedtls_ecdh_free
    - mbedtls_ssl_flight_free
    - handle_buffer_resizing
    - mbedtls_ssl_buffering_free
    - mbedtls_svc_key_id_is_null
    - mbedtls_x509_crt_free
    - mbedtls_free
    - mbedtls_dhm_free
    - mbedtls_x509_crt_restart_free
    - mbedtls_md_free
    - mbedtls_ecjpake_free
    - ssl_key_cert_free
    - mbedtls_ssl_get_input_buflen
    - mbedtls_pk_free
    - mbedtls_ssl_get_output_buflen
    - mbedtls_ssl_transform_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_handshake_free(mbedtls_ssl_context *ssl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: resize_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:355,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:358,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:373,1
    - Dst: resize_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:372,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:356,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:375,1
    - Dst: mbedtls_ssl_reset_in_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:383,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 4
    argNames:
    - ssl
    - downsizing
    - in_buf_new_len
    - out_buf_new_len
    argTypes:
    - mbedtls_ssl_context*
    - int
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 394
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 394
    functionName: handle_buffer_resizing
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - resize_buffer
    - mbedtls_ssl_reset_in_out_pointers
    linkageType: ''
    returnType: void
    signature: 'static void handle_buffer_resizing(mbedtls_ssl_context *ssl, int downsizing,
      size_t in_buf_new_len, size_t out_buf_new_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_clear_peer_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4927,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4943,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4940,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4933,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 4944
      start: 4920
    functionDepth: 0
    functionLinenumber: 4920
    functionLinenumberEnd: 4944
    functionName: mbedtls_ssl_session_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - ssl_clear_peer_cert
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_session_free(mbedtls_ssl_session *session) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:230,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:251,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:231,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:258,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:256,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:260,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:268,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:273,1
    - Dst: mbedtls_ssl_session_set_ticket_alpn
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:285,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:294,1
    - Dst: mbedtls_ssl_session_set_hostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:306,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:299,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_ssl_session*
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 316
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 316
    functionName: mbedtls_ssl_session_copy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_x509_crt_parse_der
    - mbedtls_free
    - memcpy
    - mbedtls_ssl_session_set_ticket_alpn
    - mbedtls_ssl_session_set_hostname
    - mbedtls_ssl_session_free
    - mbedtls_x509_crt_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_session_copy(mbedtls_ssl_session *dst, const mbedtls_ssl_session
      *src) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3766,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3839,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3829,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3835,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3772,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3843,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3850,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3855,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3860,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3870,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3886,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3874,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3890,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3880,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3883,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 4
    argNames:
    - session
    - buf
    - buf_len
    - olen
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3896
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3896
    functionName: ssl_tls13_session_save
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_PUT_UINT32_BE
    - MBEDTLS_PUT_UINT64_BE
    - memcpy
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_session_save(const
      mbedtls_ssl_session *session, unsigned char *buf, size_t buf_len, size_t *olen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2052,1
    - Dst: mbedtls_ssl_set_hs_ecjpake_password_common
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2056,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2058,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ssl
    - pwd
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 2063
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2063
    functionName: mbedtls_ssl_set_hs_ecjpake_password_opaque
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    - mbedtls_ssl_set_hs_ecjpake_password_common
    - psa_pake_abort
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_hs_ecjpake_password_opaque(mbedtls_ssl_context
      *ssl, mbedtls_svc_key_id_t pwd) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3909,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3923,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3937,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3930,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3947,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3958,1
    - Dst: mbedtls_ssl_session_set_ticket_alpn
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3966,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3984,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3991,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3995,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4010,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4027,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4023,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4016,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4004,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 101
    argCount: 3
    argNames:
    - session
    - buf
    - len
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4035
      start: 3898
    functionDepth: 0
    functionLinenumber: 3898
    functionLinenumberEnd: 4035
    functionName: ssl_tls13_session_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_calloc
    - memcpy
    - mbedtls_ssl_session_set_ticket_alpn
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_GET_UINT64_BE
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_session_load(mbedtls_ssl_session
      *session, const unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - tls_id
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 6373
      start: 6364
    functionDepth: 0
    functionLinenumber: 6364
    functionLinenumberEnd: 6373
    functionName: mbedtls_ssl_get_curve_name_from_tls_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_get_curve_name_from_tls_id(uint16_t tls_id) '
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 2
    argCount: 1
    argNames:
    - extension_type
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 604
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 604
    functionName: mbedtls_ssl_get_extension_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t mbedtls_ssl_get_extension_id(unsigned int extension_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_calc_verify_tls_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7327,1
    - Dst: ssl_calc_verify_tls_legacy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - hash
    - hlen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 7333
      start: 7322
    functionDepth: 0
    functionLinenumber: 7322
    functionLinenumberEnd: 7333
    functionName: ssl_calc_verify_tls_sha256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_calc_verify_tls_psa
    - ssl_calc_verify_tls_legacy
    linkageType: ''
    returnType: int
    signature: 'int ssl_calc_verify_tls_sha256(const mbedtls_ssl_context *ssl, unsigned
      char *hash, size_t *hlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 2114
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2114
    functionName: mbedtls_ssl_conf_has_static_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_has_static_psk(mbedtls_ssl_config const *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - bitlen
    argTypes:
    - mbedtls_ssl_config*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2701
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2701
    functionName: mbedtls_ssl_conf_dhm_min_bitlen
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_dhm_min_bitlen(mbedtls_ssl_config *conf, unsigned
      int bitlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - curve_list
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ecp_group_id*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2742
    functionName: mbedtls_ssl_conf_curves
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_curves(mbedtls_ssl_config *conf, const mbedtls_ecp_group_id
      *curve_list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3131
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3131
    functionName: mbedtls_ssl_get_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_get_version(const mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4481,1
    - Dst: mbedtls_ssl_flight_transmit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4495
      start: 4461
    functionDepth: 0
    functionLinenumber: 4461
    functionLinenumberEnd: 4495
    functionName: ssl_prepare_handshake_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_flush_output
    - mbedtls_ssl_flight_transmit
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_prepare_handshake_step(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4631,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4637,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4642,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4645
      start: 4626
    functionDepth: 0
    functionLinenumber: 4626
    functionLinenumberEnd: 4645
    functionName: ssl_write_hello_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_hello_request(mbedtls_ssl_context
      *ssl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6655,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6669,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6661,1
    - Dst: PSA_ALG_IS_TLS12_PRF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6660,1
    - Dst: PSA_ALG_IS_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6660,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6677,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6678,1
    - Dst: psa_key_derivation_input_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6682,1
    - Dst: psa_key_derivation_input_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6689,1
    - Dst: psa_key_derivation_set_capacity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6699,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 12
    argNames:
    - derivation
    - key
    - alg
    - raw_psk
    - raw_psk_length
    - seed
    - seed_length
    - label
    - label_length
    - other_secret
    - other_secret_length
    - capacity
    argTypes:
    - psa_key_derivation_operation_t*
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 6705
      start: 6643
    functionDepth: 0
    functionLinenumber: 6643
    functionLinenumberEnd: 6705
    functionName: setup_psa_key_derivation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_TLS12_PRF
    - mbedtls_svc_key_id_is_null
    - psa_key_derivation_input_bytes
    - psa_key_derivation_input_key
    - PSA_ALG_IS_TLS12_PSK_TO_MS
    - psa_key_derivation_set_capacity
    - psa_key_derivation_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t setup_psa_key_derivation(psa_key_derivation_operation_t
      *derivation, mbedtls_svc_key_id_t key, psa_algorithm_t alg, const unsigned char
      *raw_psk, size_t raw_psk_length, const unsigned char *seed, size_t seed_length,
      const unsigned char *label, size_t label_length, const unsigned char *other_secret,
      size_t other_secret_length, size_t capacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ciphersuite_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8525
      start: 8503
    functionDepth: 0
    functionLinenumber: 8503
    functionLinenumberEnd: 8525
    functionName: ssl_tls12prf_from_cs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_ciphersuite_from_id
    linkageType: ''
    returnType: tls_prf_fn
    signature: 'static tls_prf_fn ssl_tls12prf_from_cs(int ciphersuite_id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2120,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2134,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2138
    functionName: ssl_conf_remove_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_svc_key_id_is_null
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_conf_remove_psk(mbedtls_ssl_config *conf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3090
      start: 3079
    functionDepth: 0
    functionLinenumber: 3079
    functionLinenumberEnd: 3090
    functionName: mbedtls_ssl_get_verify_result
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t mbedtls_ssl_get_verify_result(const mbedtls_ssl_context *ssl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ssl_prepare_handshake_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4508,1
    - Dst: mbedtls_ssl_states_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4525,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4524,1
    - Dst: mbedtls_ssl_write_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4534,1
    - Dst: mbedtls_ssl_handle_pending_alert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4513,1
    - Dst: mbedtls_ssl_tls13_handshake_client_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4540,1
    - Dst: mbedtls_ssl_handshake_client_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4542,1
    - Dst: mbedtls_ssl_handshake_client_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4545,1
    - Dst: mbedtls_ssl_tls13_handshake_client_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4547,1
    - Dst: mbedtls_ssl_tls13_handshake_server_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4557,1
    - Dst: mbedtls_ssl_tls13_handshake_server_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4564,1
    - Dst: mbedtls_ssl_handle_pending_alert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4574,1
    - Dst: mbedtls_ssl_handshake_server_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4562,1
    - Dst: mbedtls_ssl_handshake_server_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4559,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4581
      start: 4497
    functionDepth: 0
    functionLinenumber: 4497
    functionLinenumberEnd: 4581
    functionName: mbedtls_ssl_handshake_step
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_handle_pending_alert
    - mbedtls_ssl_states_str
    - mbedtls_ssl_tls13_handshake_server_step
    - mbedtls_ssl_handshake_server_step
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_handshake_client_step
    - mbedtls_ssl_write_client_hello
    - ssl_prepare_handshake_step
    - mbedtls_ssl_handshake_client_step
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_handshake_step(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:498,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:505,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 511
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 511
    functionName: ssl_clear_peer_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_clear_peer_cert(mbedtls_ssl_session *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:943,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:946,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 948
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 948
    functionName: ssl_update_checksum_sha256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_update
    - psa_hash_update
    - mbedtls_md_error_from_psa
    linkageType: ''
    returnType: int
    signature: 'static int ssl_update_checksum_sha256(mbedtls_ssl_context *ssl, const
      unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - mode
    argTypes:
    - mbedtls_ssl_config*
    - char
    constantsTouched: []
    func_position:
      end: 1617
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1617
    functionName: mbedtls_ssl_conf_dtls_anti_replay
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_dtls_anti_replay(mbedtls_ssl_config *conf, char
      mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - conf
    - p_cache
    - f_get_cache
    - f_set_cache
    argTypes:
    - mbedtls_ssl_config*
    - void*
    - mbedtls_ssl_cache_get_t*
    - mbedtls_ssl_cache_set_t*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1718
    functionName: mbedtls_ssl_conf_session_cache
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_session_cache(mbedtls_ssl_config *conf, void
      *p_cache, mbedtls_ssl_cache_get_t *f_get_cache, mbedtls_ssl_cache_set_t *f_set_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - max_early_data_size
    argTypes:
    - mbedtls_ssl_config*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1797
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1797
    functionName: mbedtls_ssl_conf_max_early_data_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_max_early_data_size( mbedtls_ssl_config *conf,
      uint32_t max_early_data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - f_ca_cb
    - p_ca_cb
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_x509_crt_ca_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 1893
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1893
    functionName: mbedtls_ssl_conf_ca_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_ca_cb(mbedtls_ssl_config *conf, mbedtls_x509_crt_ca_cb_t
      f_ca_cb, void *p_ca_cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - (*f_vrfy)
    - p_vrfy
    argTypes:
    - mbedtls_ssl_context*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1943
    functionName: mbedtls_ssl_set_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_verify(mbedtls_ssl_context *ssl, int (*f_vrfy)(void
      *, mbedtls_x509_crt *, int, uint32_t *), void *p_vrfy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 2359
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2359
    functionName: mbedtls_ssl_get_base_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_AEAD
    linkageType: ''
    returnType: mbedtls_ssl_mode_t
    signature: 'static mbedtls_ssl_mode_t mbedtls_ssl_get_base_mode( psa_algorithm_t
      alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - (*f_sni)
    - p_sni
    argTypes:
    - mbedtls_ssl_config*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2808
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2808
    functionName: mbedtls_ssl_conf_sni
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_sni(mbedtls_ssl_config *conf, int (*f_sni)(void
      *, mbedtls_ssl_context *, const unsigned char *, size_t), void *p_sni) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - support_mki_value
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 2850
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2850
    functionName: mbedtls_ssl_conf_srtp_mki_value_supported
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_srtp_mki_value_supported(mbedtls_ssl_config
      *conf, int support_mki_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - renegotiation
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 2972
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 2972
    functionName: mbedtls_ssl_conf_renegotiation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_renegotiation(mbedtls_ssl_config *conf, int
      renegotiation) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3415,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3429,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3430,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3433,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3436,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3454,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3455,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3456,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3459,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3469,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3511,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3497,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3501,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3494,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3533,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3492,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3493,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 93
    argCount: 3
    argNames:
    - session
    - buf
    - buf_len
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3538
      start: 3390
    functionDepth: 0
    functionLinenumber: 3390
    functionLinenumberEnd: 3538
    functionName: ssl_tls12_session_save
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - MBEDTLS_PUT_UINT32_BE
    - MBEDTLS_BYTE_0
    - MBEDTLS_PUT_UINT64_BE
    - MBEDTLS_BYTE_1
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ssl_tls12_session_save(const mbedtls_ssl_session *session,
      unsigned char *buf, size_t buf_len) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7359,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7395,1
    - Dst: mbedtls_dhm_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7420,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7370,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7388,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7423,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7426,1
    - Dst: MBEDTLS_SSL_DEBUG_MPI
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7429,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7437,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7440,1
    - Dst: MBEDTLS_SSL_DEBUG_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7447,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7468,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7444,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7461,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7452,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 2
    argNames:
    - ssl
    - key_ex
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_key_exchange_type_t
    constantsTouched: []
    func_position:
      end: 7474
      start: 7353
    functionDepth: 0
    functionLinenumber: 7353
    functionLinenumberEnd: 7474
    functionName: mbedtls_ssl_psk_derive_premaster
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ecdh_calc_secret
    - MBEDTLS_SSL_DEBUG_ECDH
    - memcpy
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_dhm_calc_secret
    - mbedtls_ssl_get_psk
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_MPI
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_psk_derive_premaster(mbedtls_ssl_context *ssl, mbedtls_key_exchange_type_t
      key_ex) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7706,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7712,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7732,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7747,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7787,1
    - Dst: mbedtls_x509_crt_parse_der_nocopy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7805,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7826,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7833,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7718,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7733,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7788,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7717,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7719,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7729,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7783,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7734,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7755,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7767,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7763,1
    - Dst: ssl_check_peer_crt_unchanged
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7784,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7705,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7724,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7756,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7768,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7746,1
    - Dst: ssl_clear_peer_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7795,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7801,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7825,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 2
    argNames:
    - ssl
    - chain
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 7835
      start: 7693
    functionDepth: 0
    functionLinenumber: 7693
    functionLinenumberEnd: 7835
    functionName: ssl_parse_certificate_chain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_crt_parse_der
    - MBEDTLS_SSL_DEBUG_CRT
    - ssl_check_peer_crt_unchanged
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_clear_peer_cert
    - mbedtls_ssl_send_alert_message
    - mbedtls_x509_crt_parse_der_nocopy
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_certificate_chain(mbedtls_ssl_context
      *ssl, mbedtls_x509_crt *chain) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8244,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8279,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8264,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8263,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8287,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8291,1
    - Dst: mbedtls_ssl_handshake_wrapup_free_hs_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8294,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 8299
      start: 8240
    functionDepth: 0
    functionLinenumber: 8240
    functionLinenumberEnd: 8299
    functionName: mbedtls_ssl_handshake_wrapup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_handshake_wrapup_free_hs_transform
    - mbedtls_free
    - mbedtls_ssl_set_timer
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_session_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_handshake_wrapup(mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_pake_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9042,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9045,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - pake_ctx
    - buf
    - len
    - round
    argTypes:
    - psa_pake_operation_t*
    - unsigned char*
    - size_t
    - mbedtls_ecjpake_rounds_t
    constantsTouched: []
    func_position:
      end: 9057
      start: 9017
    functionDepth: 0
    functionLinenumber: 9017
    functionLinenumberEnd: 9057
    functionName: mbedtls_psa_ecjpake_read_round
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - psa_pake_input
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_psa_ecjpake_read_round( psa_pake_operation_t *pake_ctx,
      const unsigned char *buf, size_t len, mbedtls_ecjpake_rounds_t round) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:966,1
    - Dst: psa_hash_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:977,1
    - Dst: psa_hash_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:970,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:979,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:972,1
    - Dst: mbedtls_dhm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:986,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:990,1
    - Dst: psa_pake_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:994,1
    - Dst: mbedtls_ecjpake_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:997,1
    - Dst: mbedtls_x509_crt_restart_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1006,1
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - handshake
    argTypes:
    - mbedtls_ssl_handshake_params*
    constantsTouched: []
    func_position:
      end: 1017
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1017
    functionName: ssl_handshake_params_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_init
    - mbedtls_ecdh_init
    - mbedtls_x509_crt_restart_init
    - psa_pake_operation_init
    - psa_hash_operation_init
    - mbedtls_md_init
    - mbedtls_ecjpake_init
    - mbedtls_dhm_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ssl_handshake_params_init(mbedtls_ssl_handshake_params
      *handshake) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ssl
    - mki_value
    - mki_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2867
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2867
    functionName: mbedtls_ssl_dtls_srtp_set_mki_value
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_dtls_srtp_set_mki_value(mbedtls_ssl_context *ssl,
      unsigned char *mki_value, uint16_t mki_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_check_srtp_profile_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - conf
    - profiles
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ssl_srtp_profile*
    constantsTouched: []
    func_position:
      end: 2898
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2898
    functionName: mbedtls_ssl_conf_dtls_srtp_protection_profiles
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_check_srtp_profile_value
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_dtls_srtp_protection_profiles(mbedtls_ssl_config
      *conf, const mbedtls_ssl_srtp_profile *profiles) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - dtls_srtp_info
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_dtls_srtp_info*
    constantsTouched: []
    func_position:
      end: 2912
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2912
    functionName: mbedtls_ssl_get_dtls_srtp_negotiation_result
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_get_dtls_srtp_negotiation_result(const mbedtls_ssl_context
      *ssl, mbedtls_dtls_srtp_info *dtls_srtp_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - max_records
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 2977
      start: 2974
    functionDepth: 0
    functionLinenumber: 2974
    functionLinenumberEnd: 2977
    functionName: mbedtls_ssl_conf_renegotiation_enforced
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_renegotiation_enforced(mbedtls_ssl_config *conf,
      int max_records) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3565,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3585,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3627,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3654,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3698,1
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3685,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3668,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3579,1
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3611,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3663,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3693,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3631,1
    - Dst: MBEDTLS_GET_UINT64_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3715,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3582,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3621,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3629,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3632,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3650,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3706,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 3
    argNames:
    - session
    - buf
    - len
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3746
      start: 3540
    functionDepth: 0
    functionLinenumber: 3540
    functionLinenumberEnd: 3746
    functionName: ssl_tls12_session_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_calloc
    - mbedtls_x509_crt_parse_der
    - mbedtls_md_info_from_type
    - mbedtls_free
    - memcpy
    - MBEDTLS_GET_UINT24_BE
    - MBEDTLS_GET_UINT64_BE
    - mbedtls_md_get_size
    - mbedtls_x509_crt_init
    - mbedtls_x509_crt_free
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls12_session_load(mbedtls_ssl_session
      *session, const unsigned char *buf, size_t len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8306,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8312,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8325,1
    - Dst: mbedtls_ssl_update_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8308,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8355,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8363,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8367,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8379,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8384,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8395,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8396,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8403,1
    - Dst: mbedtls_ssl_flight_transmit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8402,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8408,1
    - Dst: mbedtls_ssl_send_flight_completed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 8411
      start: 8301
    functionDepth: 0
    functionLinenumber: 8301
    functionLinenumberEnd: 8411
    functionName: mbedtls_ssl_write_finished
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_write_handshake_msg
    - mbedtls_ssl_update_out_pointers
    - memcpy
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_flight_completed
    - mbedtls_ssl_flight_transmit
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_finished(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_pake_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9082,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - pake_ctx
    - buf
    - len
    - olen
    - round
    argTypes:
    - psa_pake_operation_t*
    - unsigned char*
    - size_t
    - size_t*
    - mbedtls_ecjpake_rounds_t
    constantsTouched: []
    func_position:
      end: 9099
      start: 9059
    functionDepth: 0
    functionLinenumber: 9059
    functionLinenumberEnd: 9099
    functionName: mbedtls_psa_ecjpake_write_round
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - psa_pake_output
    - PSA_TO_MBEDTLS_ERR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_psa_ecjpake_write_round( psa_pake_operation_t *pake_ctx,
      unsigned char *buf, size_t len, size_t *olen, mbedtls_ecjpake_rounds_t round) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9166,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9167,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9169,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9180,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9171,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9181,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9184,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9185,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9188,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9189,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9192,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9196,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9197,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9205,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9193,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 6
    argNames:
    - ssl
    - hash
    - hashlen
    - data
    - data_len
    - md_alg
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 9210
      start: 9159
    functionDepth: 0
    functionLinenumber: 9159
    functionLinenumberEnd: 9210
    functionName: mbedtls_ssl_get_key_exchange_md_tls1_2
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_md_init
    - mbedtls_md_starts
    - mbedtls_md_get_size
    - mbedtls_md_update
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_key_exchange_md_tls1_2(mbedtls_ssl_context *ssl,
      unsigned char *hash, size_t *hashlen, unsigned char *data, size_t data_len,
      mbedtls_md_type_t md_alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9588,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9591,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9603,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9599,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9589,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9604,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9608,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9610,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 9617
      start: 9575
    functionDepth: 0
    functionLinenumber: 9575
    functionLinenumberEnd: 9617
    functionName: mbedtls_ssl_write_alpn_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_BYTE_0
    - memcpy
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_alpn_ext(mbedtls_ssl_context *ssl, unsigned
      char *buf, unsigned char *end, size_t *out_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9674,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9692,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9683,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9688,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - session
    - alpn
    argTypes:
    - mbedtls_ssl_session*
    - char*
    constantsTouched: []
    func_position:
      end: 9696
      start: 9668
    functionDepth: 0
    functionLinenumber: 9668
    functionLinenumberEnd: 9696
    functionName: mbedtls_ssl_session_set_ticket_alpn
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_zeroize_and_free
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_session_set_ticket_alpn(mbedtls_ssl_session *session,
      const char *alpn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7516,1
    - Dst: mbedtls_ssl_ciphersuite_uses_srv_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7518,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7524,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 7526
      start: 7511
    functionDepth: 0
    functionLinenumber: 7511
    functionLinenumberEnd: 7526
    functionName: mbedtls_ssl_write_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_uses_srv_cert
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_certificate(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_append_key_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - own_cert
    - pk_key
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_x509_crt*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1864
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1864
    functionName: mbedtls_ssl_conf_own_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_append_key_cert
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_own_cert(mbedtls_ssl_config *conf, mbedtls_x509_crt
      *own_cert, mbedtls_pk_context *pk_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_extension_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - extension_type
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: mbedtls_ssl_get_extension_mask
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_extension_id
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t mbedtls_ssl_get_extension_mask(unsigned int extension_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - ciphersuite_info
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_ciphersuite_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 800
    functionName: mbedtls_ssl_optimize_checksum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_optimize_checksum(mbedtls_ssl_context *ssl, const
      mbedtls_ssl_ciphersuite_t *ciphersuite_info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1474,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1505,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1504,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1495,1
    - Dst: mbedtls_ssl_reset_in_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1476,1
    - Dst: mbedtls_ssl_dtls_replay_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1509,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1514,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1515,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1521,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1522,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1532,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1533,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1527,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - ssl
    - partial
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 1538
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1538
    functionName: mbedtls_ssl_session_reset_msg_layer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_reset_in_out_pointers
    - mbedtls_free
    - mbedtls_ssl_set_timer
    - mbedtls_ssl_dtls_replay_reset
    - mbedtls_ssl_transform_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_session_reset_msg_layer(mbedtls_ssl_context *ssl,
      int partial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_reset_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1598
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1598
    functionName: mbedtls_ssl_session_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_session_reset_int
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_session_reset(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - group_list
    argTypes:
    - mbedtls_ssl_config*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 2756
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2756
    functionName: mbedtls_ssl_conf_groups
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_groups(mbedtls_ssl_config *conf, const uint16_t
      *group_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3099
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3099
    functionName: mbedtls_ssl_get_ciphersuite_id_from_ssl
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_ciphersuite_id_from_ssl(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - grp_id
    argTypes:
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 6340
      start: 6330
    functionDepth: 0
    functionLinenumber: 6330
    functionLinenumberEnd: 6340
    functionName: mbedtls_ssl_get_tls_id_from_ecp_group_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t mbedtls_ssl_get_tls_id_from_ecp_group_id(mbedtls_ecp_group_id
      grp_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:809,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:812,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:811,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - hs_type
    - total_hs_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned
    - size_t
    constantsTouched: []
    func_position:
      end: 815
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 815
    functionName: mbedtls_ssl_add_hs_hdr_to_checksum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_0
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_add_hs_hdr_to_checksum(mbedtls_ssl_context *ssl, unsigned
      hs_type, size_t total_hs_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_reset_msg_layer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1547,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1555,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1563,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1564,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1556,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1578,1
    - Dst: ssl_handshake_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ssl
    - partial
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 1589
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1589
    functionName: mbedtls_ssl_session_reset_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - ssl_handshake_init
    - mbedtls_ssl_session_reset_msg_layer
    - mbedtls_ssl_session_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_session_reset_int(mbedtls_ssl_context *ssl, int partial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - ca_chain
    - ca_crl
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_x509_crt*
    - mbedtls_x509_crl*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1879
    functionName: mbedtls_ssl_conf_ca_chain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_ca_chain(mbedtls_ssl_config *conf, mbedtls_x509_crt
      *ca_chain, mbedtls_x509_crl *ca_crl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_ciphersuite_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3108
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3108
    functionName: mbedtls_ssl_get_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_ciphersuite_name
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_get_ciphersuite(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7533,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7541,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7536,1
    - Dst: mbedtls_ssl_ciphersuite_uses_srv_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 7543
      start: 7528
    functionDepth: 0
    functionLinenumber: 7528
    functionLinenumberEnd: 7543
    functionName: mbedtls_ssl_parse_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_uses_srv_cert
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_parse_certificate(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2157,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - conf
    - psk_identity
    - psk_identity_len
    argTypes:
    - mbedtls_ssl_config*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2166
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2166
    functionName: ssl_conf_set_psk_identity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - memcpy
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_conf_set_psk_identity(mbedtls_ssl_config
      *conf, unsigned char const *psk_identity, size_t psk_identity_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 5594
      start: 5591
    functionDepth: 0
    functionLinenumber: 5591
    functionLinenumberEnd: 5594
    functionName: mbedtls_ssl_config_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_config_init(mbedtls_ssl_config *conf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 6177
      start: 6147
    functionDepth: 0
    functionLinenumber: 6147
    functionLinenumberEnd: 6177
    functionName: mbedtls_ssl_md_alg_from_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_md_type_t
    signature: 'mbedtls_md_type_t mbedtls_ssl_md_alg_from_hash(unsigned char hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1021,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1036,1
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1028,1
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1027,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - transform
    argTypes:
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 1040
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1040
    functionName: mbedtls_ssl_transform_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_init
    - mbedtls_cipher_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_transform_init(mbedtls_ssl_transform *transform) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - limit
    argTypes:
    - mbedtls_ssl_config*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1623
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1623
    functionName: mbedtls_ssl_conf_dtls_badmac_limit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_dtls_badmac_limit(mbedtls_ssl_config *conf,
      unsigned limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - kex_modes
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 1783
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1783
    functionName: mbedtls_ssl_conf_tls13_key_exchange_modes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_tls13_key_exchange_modes(mbedtls_ssl_config
      *conf, const int kex_modes) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_uses_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7031,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7040,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7092,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7021,1
    - Dst: mbedtls_ssl_get_opaque_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7042,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7076,1
    - Dst: psa_key_derivation_set_capacity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7116,1
    - Dst: psa_key_derivation_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7111,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7126,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7134,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7138,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7149,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7011,1
    - Dst: PSA_ALG_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7045,1
    - Dst: PSA_ALG_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7047,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7080,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7088,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7024,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7065,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7084,1
    - Dst: setup_psa_key_derivation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7072,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7107,1
    - Dst: psa_key_derivation_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7119,1
    - Dst: psa_pake_get_implicit_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7123,1
    - Dst: psa_key_derivation_output_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7130,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7153,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7157,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 94
    argCount: 3
    argNames:
    - handshake
    - master
    - ssl
    argTypes:
    - mbedtls_ssl_handshake_params*
    - unsigned char*
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 7162
      start: 6971
    functionDepth: 0
    functionLinenumber: 6971
    functionLinenumberEnd: 7162
    functionName: ssl_compute_master
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_get_opaque_psk
    - mbedtls_ssl_ciphersuite_uses_psk
    - setup_psa_key_derivation
    - psa_pake_get_implicit_key
    - psa_key_derivation_abort
    - mbedtls_platform_zeroize
    - PSA_ALG_TLS12_PSK_TO_MS
    - MBEDTLS_GET_UINT16_BE
    - psa_key_derivation_set_capacity
    - MBEDTLS_SSL_DEBUG_MSG
    - strlen
    - psa_key_derivation_output_bytes
    - psa_key_derivation_setup
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_compute_master(mbedtls_ssl_handshake_params
      *handshake, unsigned char *master, const mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8218,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8231,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8232,1
    - Dst: mbedtls_ssl_handshake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8223,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8224,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 8238
      start: 8216
    functionDepth: 0
    functionLinenumber: 8216
    functionLinenumberEnd: 8238
    functionName: mbedtls_ssl_handshake_wrapup_free_hs_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_transform_free
    - mbedtls_ssl_handshake_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_handshake_wrapup_free_hs_transform(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    functionName: mbedtls_ssl_session_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_session_init(mbedtls_ssl_session *session) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - endpoint
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 1606
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1606
    functionName: mbedtls_ssl_conf_endpoint
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_endpoint(mbedtls_ssl_config *conf, int endpoint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - handshake
    - hash
    argTypes:
    - mbedtls_ssl_handshake_params*
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 6955
      start: 6928
    functionDepth: 0
    functionLinenumber: 6928
    functionLinenumberEnd: 6955
    functionName: ssl_set_handshake_prfs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_set_handshake_prfs(mbedtls_ssl_handshake_params
      *handshake, mbedtls_md_type_t hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:46,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - mfl
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: ssl_mfl_code_to_length
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int ssl_mfl_code_to_length(int mfl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - profile
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_x509_crt_profile*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1808
    functionName: mbedtls_ssl_conf_cert_profile
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_cert_profile(mbedtls_ssl_config *conf, const
      mbedtls_x509_crt_profile *profile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - base_mode
    - encrypt_then_mac
    argTypes:
    - mbedtls_ssl_mode_t
    - int
    constantsTouched: []
    func_position:
      end: 2399
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2399
    functionName: mbedtls_ssl_get_actual_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ssl_mode_t
    signature: 'static mbedtls_ssl_mode_t mbedtls_ssl_get_actual_mode( mbedtls_ssl_mode_t
      base_mode, int encrypt_then_mac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - hashes
    argTypes:
    - mbedtls_ssl_config*
    - int*
    constantsTouched: []
    func_position:
      end: 2713
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2713
    functionName: mbedtls_ssl_conf_sig_hashes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_sig_hashes(mbedtls_ssl_config *conf, const int
      *hashes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - session
    - buf
    - buf_len
    - olen
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4048
      start: 4037
    functionDepth: 0
    functionLinenumber: 4037
    functionLinenumberEnd: 4048
    functionName: ssl_tls13_session_save
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_session_save(const
      mbedtls_ssl_session *session, unsigned char *buf, size_t buf_len, size_t *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sig_algs
    argTypes:
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 5820
      start: 5802
    functionDepth: 0
    functionLinenumber: 5802
    functionLinenumberEnd: 5820
    functionName: ssl_check_no_sig_alg_duplication
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_no_sig_alg_duplication(const
      uint16_t *sig_algs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6585,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6595,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6592,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6586,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6589,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6596,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6598,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6600,1
    - Dst: mbedtls_ssl_sig_alg_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6603,1
    - Dst: mbedtls_ssl_sig_alg_is_offered
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6604,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6609,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6621,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6627,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6628,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6619,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6610,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 6635
      start: 6575
    functionDepth: 0
    functionLinenumber: 6575
    functionLinenumberEnd: 6635
    functionName: mbedtls_ssl_parse_sig_alg_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - mbedtls_ssl_sig_alg_to_str
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - mbedtls_ssl_sig_alg_is_offered
    - mbedtls_ssl_sig_alg_is_supported
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_parse_sig_alg_ext(mbedtls_ssl_context *ssl, const
      unsigned char *buf, const unsigned char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: mbedtls_ssl_reset_chk_buf_ptr_fail_args
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_reset_chk_buf_ptr_fail_args(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - key_cert
    argTypes:
    - mbedtls_ssl_key_cert*
    constantsTouched: []
    func_position:
      end: 1819
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1819
    functionName: ssl_key_cert_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_key_cert_free(mbedtls_ssl_key_cert *key_cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_base_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2404,1
    - Dst: mbedtls_ssl_get_actual_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2416,1
    - Dst: mbedtls_cipher_get_cipher_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - transform
    argTypes:
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 2417
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2417
    functionName: mbedtls_ssl_get_mode_from_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_get_cipher_mode
    - mbedtls_ssl_get_actual_mode
    - mbedtls_ssl_get_base_mode
    linkageType: ''
    returnType: mbedtls_ssl_mode_t
    signature: 'mbedtls_ssl_mode_t mbedtls_ssl_get_mode_from_transform( const mbedtls_ssl_transform
      *transform) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - period
    argTypes:
    - mbedtls_ssl_config*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 2983
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2983
    functionName: mbedtls_ssl_conf_renegotiation_period
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_renegotiation_period(mbedtls_ssl_config *conf,
      const unsigned char period[8]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3065
      start: 3058
    functionDepth: 0
    functionLinenumber: 3058
    functionLinenumberEnd: 3065
    functionName: mbedtls_ssl_get_async_operation_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *mbedtls_ssl_get_async_operation_data(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - ctx
    argTypes:
    - mbedtls_ssl_context*
    - void*
    constantsTouched: []
    func_position:
      end: 3073
      start: 3067
    functionDepth: 0
    functionLinenumber: 3067
    functionLinenumberEnd: 3073
    functionName: mbedtls_ssl_set_async_operation_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_async_operation_data(mbedtls_ssl_context *ssl,
      void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - session
    - buf
    - buf_len
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4058
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4058
    functionName: ssl_tls13_session_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ssl_tls13_session_load(const mbedtls_ssl_session *session,
      const unsigned char *buf, size_t buf_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8428,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8442,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8467,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8429,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8458,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8491,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8421,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8434,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8435,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8449,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8459,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8494,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8425,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8448,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8450,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8456,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8456,1
    - Dst: mbedtls_ssl_recv_flight_completed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8487,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 8496
      start: 8415
    functionDepth: 0
    functionLinenumber: 8415
    functionLinenumberEnd: 8496
    functionName: mbedtls_ssl_parse_finished
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_recv_flight_completed
    - mbedtls_ct_memcmp
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_parse_finished(mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7666,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7684,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7679,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - ssl
    - crt_buf
    - crt_buf_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 7685
      start: 7655
    functionDepth: 0
    functionLinenumber: 7655
    functionLinenumberEnd: 7685
    functionName: ssl_check_peer_crt_unchanged
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_get_size
    - mbedtls_md_info_from_type
    - mbedtls_md
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_peer_crt_unchanged(mbedtls_ssl_context
      *ssl, unsigned char *crt_buf, size_t crt_buf_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_TLS12_HASH_ALG_FROM_SIG_AND_HASH_ALG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9229,1
    - Dst: mbedtls_pk_can_do_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9248,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9245,1
    - Dst: MBEDTLS_SSL_TLS12_SIG_ALG_FROM_SIG_AND_HASH_ALG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9232,1
    - Dst: mbedtls_ssl_md_alg_from_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9236,1
    - Dst: PSA_ALG_ECDSA
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9249,1
    - Dst: mbedtls_pk_can_do_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9255,1
    - Dst: PSA_ALG_RSA_PKCS1V15_SIGN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - ssl
    - sig_alg
    argTypes:
    - mbedtls_ssl_context*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 9269
      start: 9216
    functionDepth: 0
    functionLinenumber: 9216
    functionLinenumberEnd: 9269
    functionName: mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_md_alg_from_hash
    - MBEDTLS_SSL_TLS12_HASH_ALG_FROM_SIG_AND_HASH_ALG
    - PSA_ALG_ECDSA
    - mbedtls_md_psa_alg_from_type
    - PSA_ALG_RSA_PKCS1V15_SIGN
    - MBEDTLS_SSL_TLS12_SIG_ALG_FROM_SIG_AND_HASH_ALG
    - mbedtls_pk_can_do_ext
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg( mbedtls_ssl_context
      *ssl, unsigned int sig_alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_calc_finished_tls_generic
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - buf
    - from
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 8213
      start: 8201
    functionDepth: 0
    functionLinenumber: 8201
    functionLinenumberEnd: 8213
    functionName: ssl_calc_finished_tls_sha384
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_calc_finished_tls_generic
    linkageType: ''
    returnType: int
    signature: 'static int ssl_calc_finished_tls_sha384( mbedtls_ssl_context *ssl,
      unsigned char *buf, int from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - etm
    argTypes:
    - mbedtls_ssl_config*
    - char
    constantsTouched: []
    func_position:
      end: 2939
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2939
    functionName: mbedtls_ssl_conf_encrypt_then_mac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_encrypt_then_mac(mbedtls_ssl_config *conf, char
      etm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - signal_new_session_tickets
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 3003
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3003
    functionName: mbedtls_ssl_conf_tls13_enable_signal_new_session_tickets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_tls13_enable_signal_new_session_tickets( mbedtls_ssl_config
      *conf, int signal_new_session_tickets) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3342
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3342
    functionName: mbedtls_ssl_get_peer_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_x509_crt*
    signature: 'const mbedtls_x509_crt *mbedtls_ssl_get_peer_cert(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6814,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6807,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6880,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6867,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6854,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6883,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6813,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6832,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6859,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6836,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6811,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6821,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6822,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6846,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6840,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6888,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6805,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6820,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6828,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6863,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6850,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6886,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 8
    argNames:
    - md_type
    - secret
    - slen
    - label
    - random
    - rlen
    - dstbuf
    - dlen
    argTypes:
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 6891
      start: 6789
    functionDepth: 0
    functionLinenumber: 6789
    functionLinenumberEnd: 6891
    functionName: tls_prf_generic
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_info_from_type
    - mbedtls_calloc
    - mbedtls_md_setup
    - mbedtls_md_free
    - mbedtls_md_hmac_reset
    - mbedtls_free
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_md_hmac_update
    - mbedtls_md_init
    - mbedtls_md_hmac_finish
    - mbedtls_md_get_size
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_generic(mbedtls_md_type_t
      md_type, const unsigned char *secret, size_t slen, const char *label, const
      unsigned char *random, size_t rlen, unsigned char *dstbuf, size_t dlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - crt_buf
    - crt_buf_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 7653
      start: 7637
    functionDepth: 0
    functionLinenumber: 7637
    functionLinenumberEnd: 7653
    functionName: ssl_check_peer_crt_unchanged
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_peer_crt_unchanged(mbedtls_ssl_context
      *ssl, unsigned char *crt_buf, size_t crt_buf_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_calc_finished_tls_generic
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - buf
    - from
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 8196
      start: 8184
    functionDepth: 0
    functionLinenumber: 8184
    functionLinenumberEnd: 8196
    functionName: ssl_calc_finished_tls_sha256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_calc_finished_tls_generic
    linkageType: ''
    returnType: int
    signature: 'static int ssl_calc_finished_tls_sha256( mbedtls_ssl_context *ssl,
      unsigned char *buf, int from) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9110,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9114,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9120,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9112,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9116,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9122,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9126,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9128,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9132,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9134,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9140,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 6
    argNames:
    - ssl
    - hash
    - hashlen
    - data
    - data_len
    - md_alg
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 9155
      start: 9103
    functionDepth: 0
    functionLinenumber: 9103
    functionLinenumberEnd: 9155
    functionName: mbedtls_ssl_get_key_exchange_md_tls1_2
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - psa_hash_finish
    - mbedtls_md_psa_alg_from_type
    - psa_hash_update
    - psa_hash_setup
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_key_exchange_md_tls1_2(mbedtls_ssl_context *ssl,
      unsigned char *hash, size_t *hashlen, unsigned char *data, size_t data_len,
      mbedtls_md_type_t md_alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_debug_print_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:710,1
    - Dst: ssl_tls13_get_hs_msg_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:724,1
    - Dst: ssl_tls13_get_hs_msg_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:713,1
    - Dst: mbedtls_ssl_get_extension_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:714,1
    - Dst: mbedtls_debug_print_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:722,1
    - Dst: mbedtls_ssl_get_extension_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:725,1
    - Dst: mbedtls_debug_print_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:730,1
    - Dst: ssl_tls13_get_hs_msg_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:732,1
    - Dst: mbedtls_ssl_get_extension_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 8
    argNames:
    - ssl
    - level
    - file
    - line
    - hs_msg_type
    - extension_type
    - extra_msg0
    - extra_msg1
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - int
    - unsigned int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 734
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 734
    functionName: mbedtls_ssl_print_extension
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_extension_name
    - mbedtls_debug_print_msg
    - ssl_tls13_get_hs_msg_name
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_print_extension(const mbedtls_ssl_context *ssl, int
      level, const char *file, int line, int hs_msg_type, unsigned int extension_type,
      const char *extra_msg0, const char *extra_msg1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ssl_config*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1662
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1662
    functionName: mbedtls_ssl_conf_rng
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_rng(mbedtls_ssl_config *conf, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - timeout
    argTypes:
    - mbedtls_ssl_config*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1694
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1694
    functionName: mbedtls_ssl_conf_read_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_read_timeout(mbedtls_ssl_config *conf, uint32_t
      timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - authmode
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 1933
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1933
    functionName: mbedtls_ssl_set_hs_authmode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_hs_authmode(mbedtls_ssl_context *ssl, int authmode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2299,1
    - Dst: ssl_conf_remove_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2313,1
    - Dst: ssl_conf_set_psk_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2310,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - conf
    - psk
    - psk_identity
    - psk_identity_len
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_svc_key_id_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2317
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2317
    functionName: mbedtls_ssl_conf_psk_opaque
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    - ssl_conf_set_psk_identity
    - ssl_conf_remove_psk
    - mbedtls_ssl_conf_has_static_psk
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_psk_opaque(mbedtls_ssl_config *conf, mbedtls_svc_key_id_t
      psk, const unsigned char *psk_identity, size_t psk_identity_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 6
    argNames:
    - conf
    - f_async_sign
    - f_async_decrypt
    - f_async_resume
    - f_async_cancel
    - async_config_data
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ssl_async_sign_t*
    - mbedtls_ssl_async_decrypt_t*
    - mbedtls_ssl_async_resume_t*
    - mbedtls_ssl_async_cancel_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3051
      start: 3038
    functionDepth: 0
    functionLinenumber: 3038
    functionLinenumberEnd: 3051
    functionName: mbedtls_ssl_conf_async_private_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_async_private_cb( mbedtls_ssl_config *conf,
      mbedtls_ssl_async_sign_t *f_async_sign, mbedtls_ssl_async_decrypt_t *f_async_decrypt,
      mbedtls_ssl_async_resume_t *f_async_resume, mbedtls_ssl_async_cancel_t *f_async_cancel,
      void *async_config_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6212
      start: 6182
    functionDepth: 0
    functionLinenumber: 6182
    functionLinenumberEnd: 6212
    functionName: mbedtls_ssl_hash_from_md_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char mbedtls_ssl_hash_from_md_alg(int md) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_handshake_transcript_sha384
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6511,1
    - Dst: ssl_get_handshake_transcript_sha256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - ssl
    - md
    - dst
    - dst_len
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 6530
      start: 6501
    functionDepth: 0
    functionLinenumber: 6501
    functionLinenumberEnd: 6530
    functionName: mbedtls_ssl_get_handshake_transcript
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_get_handshake_transcript_sha256
    - ssl_get_handshake_transcript_sha384
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_handshake_transcript(mbedtls_ssl_context *ssl,
      const mbedtls_md_type_t md, unsigned char *dst, size_t dst_len, size_t *olen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_print_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - ssl
    - level
    - file
    - line
    - hs_msg_type
    - extensions_mask
    - extra
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - int
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: mbedtls_ssl_print_extensions
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_print_extension
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_print_extensions(const mbedtls_ssl_context *ssl,
      int level, const char *file, int line, int hs_msg_type, uint32_t extensions_mask,
      const char *extra) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - (*f_dbg)
    - p_dbg
    argTypes:
    - mbedtls_ssl_config*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1670
    functionName: mbedtls_ssl_conf_dbg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_dbg(mbedtls_ssl_config *conf, void (*f_dbg)(void
      *, int, const char *, int, const char *), void *p_dbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ssl
    - p_timer
    - f_set_timer
    - f_get_timer
    argTypes:
    - mbedtls_ssl_context*
    - void*
    - mbedtls_ssl_set_timer_t*
    - mbedtls_ssl_get_timer_t*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1707
    functionName: mbedtls_ssl_set_timer_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_set_timer
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_timer_cb(mbedtls_ssl_context *ssl, void *p_timer,
      mbedtls_ssl_set_timer_t *f_set_timer, mbedtls_ssl_get_timer_t *f_get_timer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2322,1
    - Dst: ssl_remove_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - psk
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 2330
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2330
    functionName: mbedtls_ssl_set_hs_psk_opaque
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    - ssl_remove_psk
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_hs_psk_opaque(mbedtls_ssl_context *ssl, mbedtls_svc_key_id_t
      psk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 3056
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3056
    functionName: mbedtls_ssl_conf_get_async_config_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *mbedtls_ssl_conf_get_async_config_data(const mbedtls_ssl_config
      *conf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 6140
      start: 6126
    functionDepth: 0
    functionLinenumber: 6126
    functionLinenumberEnd: 6140
    functionName: mbedtls_ssl_pk_alg_from_sig
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_pk_type_t
    signature: 'mbedtls_pk_type_t mbedtls_ssl_pk_alg_from_sig(unsigned char sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7496,1
    - Dst: ssl_write_hello_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 7502
      start: 7482
    functionDepth: 0
    functionLinenumber: 7482
    functionLinenumberEnd: 7502
    functionName: mbedtls_ssl_resend_hello_request
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_write_hello_request
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_resend_hello_request(mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9369,1
    - Dst: mbedtls_ssl_get_sig_algs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9383,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9389,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9376,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9391,1
    - Dst: mbedtls_ssl_sig_alg_is_supported
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9392,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9395,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9396,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9398,1
    - Dst: mbedtls_ssl_sig_alg_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9400,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9410,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9417,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9412,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9411,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 9421
      start: 9360
    functionDepth: 0
    functionLinenumber: 9360
    functionLinenumberEnd: 9421
    functionName: mbedtls_ssl_write_sig_alg_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_sig_alg_to_str
    - mbedtls_ssl_sig_alg_is_supported
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_ssl_get_sig_algs
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_sig_alg_ext(mbedtls_ssl_context *ssl, unsigned
      char *buf, const unsigned char *end, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_add_hs_hdr_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ssl
    - hs_type
    - msg
    - msg_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 828
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 828
    functionName: mbedtls_ssl_add_hs_msg_to_checksum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_add_hs_hdr_to_checksum
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_add_hs_msg_to_checksum(mbedtls_ssl_context *ssl, unsigned
      hs_type, unsigned char const *msg, size_t msg_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - ciphersuites
    argTypes:
    - mbedtls_ssl_config*
    - int*
    constantsTouched: []
    func_position:
      end: 1776
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1776
    functionName: mbedtls_ssl_conf_ciphersuites
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_ciphersuites(mbedtls_ssl_config *conf, const
      int *ciphersuites) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psa_pake_cipher_suite_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1957,1
    - Dst: psa_pake_cs_set_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1962,1
    - Dst: PSA_PAKE_PRIMITIVE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1964,1
    - Dst: psa_pake_cs_set_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1967,1
    - Dst: psa_pake_cs_set_primitive
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1963,1
    - Dst: psa_pake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1969,1
    - Dst: psa_pake_set_user
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1986,1
    - Dst: psa_pake_set_peer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1991,1
    - Dst: psa_pake_set_password_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1996,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ssl
    - pwd
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_svc_key_id_t
    constantsTouched: []
    func_position:
      end: 2004
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 2004
    functionName: mbedtls_ssl_set_hs_ecjpake_password_common
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - PSA_PAKE_PRIMITIVE
    - psa_pake_set_user
    - psa_pake_setup
    - psa_pake_cipher_suite_init
    - psa_pake_cs_set_algorithm
    - psa_pake_set_password_key
    - psa_pake_cs_set_hash
    - psa_pake_set_peer
    - psa_pake_cs_set_primitive
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_ssl_set_hs_ecjpake_password_common( mbedtls_ssl_context
      *ssl, mbedtls_svc_key_id_t pwd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - major
    - minor
    argTypes:
    - mbedtls_ssl_config*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2919
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2919
    functionName: mbedtls_ssl_conf_max_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_max_version(mbedtls_ssl_config *conf, int major,
      int minor) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8114,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8134,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8127,1
    - Dst: psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8129,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8138,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8140,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8142,1
    - Dst: mbedtls_md_info_from_ctx
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8142,1
    - Dst: mbedtls_md_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8146,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8151,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8175,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8167,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8169,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8176,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8178,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8157,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8171,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 6
    argNames:
    - ssl
    - ctx
    - padbuf
    - hlen
    - buf
    - from
    argTypes:
    - mbedtls_ssl_context*
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 8181
      start: 8099
    functionDepth: 0
    functionLinenumber: 8099
    functionLinenumberEnd: 8181
    functionName: ssl_calc_finished_tls_generic
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_free
    - MBEDTLS_SSL_DEBUG_BUF
    - psa_hash_abort
    - mbedtls_platform_zeroize
    - mbedtls_md_error_from_psa
    - psa_hash_clone
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_md_init
    - mbedtls_md_clone
    - psa_hash_finish
    - mbedtls_md_info_from_ctx
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'static int ssl_calc_finished_tls_generic(mbedtls_ssl_context *ssl,
      void *ctx, unsigned char *padbuf, size_t hlen, unsigned char *buf, int from) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2022,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2026,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2023,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2024,1
    - Dst: mbedtls_ssl_set_hs_ecjpake_password_common
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2032,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2035,1
    - Dst: psa_pake_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2036,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ssl
    - pw
    - pw_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2041
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2041
    functionName: mbedtls_ssl_set_hs_ecjpake_password
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - psa_destroy_key
    - psa_set_key_algorithm
    - mbedtls_ssl_set_hs_ecjpake_password_common
    - psa_pake_abort
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_hs_ecjpake_password(mbedtls_ssl_context *ssl,
      const unsigned char *pw, size_t pw_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - ssl
    - enabled
    - own_cid
    - own_cid_len
    argTypes:
    - mbedtls_ssl_context*
    - int*
    - unsigned char
    - size_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: mbedtls_ssl_get_own_cid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_own_cid(mbedtls_ssl_context *ssl, int *enabled,
      unsigned char own_cid[MBEDTLS_SSL_CID_IN_LEN_MAX], size_t *own_cid_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:844,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:848,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:850,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:846,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:853,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:854,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:855,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:856,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:861,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:869,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:879,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:873,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:875,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:881,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:878,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:885,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:880,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:871,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 892
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 892
    functionName: mbedtls_ssl_reset_checksum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - psa_hash_abort
    - mbedtls_md_error_from_psa
    - mbedtls_md_init
    - mbedtls_md_starts
    - psa_hash_setup
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_reset_checksum(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - major
    - minor
    argTypes:
    - mbedtls_ssl_config*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2924
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2924
    functionName: mbedtls_ssl_conf_min_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_min_version(mbedtls_ssl_config *conf, int major,
      int minor) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7978,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8001,1
    - Dst: ssl_remember_peer_crt_digest
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8059,1
    - Dst: ssl_remember_peer_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8064,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8003,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8091,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8055,1
    - Dst: ssl_parse_certificate_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8014,1
    - Dst: ssl_parse_certificate_coordinate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7963,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7981,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8005,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8012,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7961,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7965,1
    - Dst: ssl_srv_check_client_no_crt_notification
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7986,1
    - Dst: ssl_clear_peer_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7999,1
    - Dst: mbedtls_ssl_verify_certificate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8030,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8056,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8075,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:8092,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 8096
      start: 7946
    functionDepth: 0
    functionLinenumber: 7946
    functionLinenumberEnd: 8096
    functionName: mbedtls_ssl_parse_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - ssl_remember_peer_pubkey
    - mbedtls_free
    - mbedtls_x509_crt_free
    - ssl_remember_peer_crt_digest
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_clear_peer_cert
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_verify_certificate
    - ssl_parse_certificate_coordinate
    - ssl_parse_certificate_chain
    - ssl_srv_check_client_no_crt_notification
    - mbedtls_ssl_read_record
    - mbedtls_x509_crt_init
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_parse_certificate(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3155
      start: 3135
    functionDepth: 0
    functionLinenumber: 3135
    functionLinenumberEnd: 3155
    functionName: mbedtls_ssl_get_output_record_size_limit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_ssl_get_output_record_size_limit(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecjpake_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2086,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ssl
    - pw
    - pw_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2091
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2091
    functionName: mbedtls_ssl_set_hs_ecjpake_password
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ecjpake_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_hs_ecjpake_password(mbedtls_ssl_context *ssl,
      const unsigned char *pw, size_t pw_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_conf_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1379,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1394,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1396,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1406,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1404,1
    - Dst: mbedtls_ssl_reset_in_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1411,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1414,1
    - Dst: ssl_handshake_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1417,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1424,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1425,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - ssl
    - conf
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1449
    functionName: mbedtls_ssl_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - ssl_conf_check
    - mbedtls_ssl_reset_in_out_pointers
    - mbedtls_free
    - ssl_handshake_init
    - MBEDTLS_SSL_DEBUG_MSG
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_setup(mbedtls_ssl_context *ssl, const mbedtls_ssl_config
      *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - authmode
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 1644
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1644
    functionName: mbedtls_ssl_conf_authmode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_authmode(mbedtls_ssl_config *conf, int authmode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2175,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2194,1
    - Dst: ssl_conf_remove_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2199,1
    - Dst: ssl_conf_set_psk_identity
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2197,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - conf
    - psk
    - psk_len
    - psk_identity
    - psk_identity_len
    argTypes:
    - mbedtls_ssl_config*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2203
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2203
    functionName: mbedtls_ssl_conf_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - ssl_conf_remove_psk
    - memcpy
    - mbedtls_ssl_conf_has_static_psk
    - ssl_conf_set_psk_identity
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_psk(mbedtls_ssl_config *conf, const unsigned
      char *psk, size_t psk_len, const unsigned char *psk_identity, size_t psk_identity_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - mode
    argTypes:
    - mbedtls_cipher_mode_t
    constantsTouched: []
    func_position:
      end: 2383
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2383
    functionName: mbedtls_ssl_get_base_mode
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ssl_mode_t
    signature: 'static mbedtls_ssl_mode_t mbedtls_ssl_get_base_mode( mbedtls_cipher_mode_t
      mode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_output_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3250,1
    - Dst: mbedtls_ssl_get_record_expansion
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3284,1
    - Dst: mbedtls_ssl_get_current_mtu
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3282,1
    - Dst: mbedtls_ssl_get_output_record_size_limit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3258,1
    - Dst: mbedtls_ssl_get_current_mtu
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3283,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3292,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3309
      start: 3239
    functionDepth: 0
    functionLinenumber: 3239
    functionLinenumberEnd: 3309
    functionName: mbedtls_ssl_get_max_out_record_payload
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_output_record_size_limit
    - mbedtls_ssl_get_record_expansion
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_get_current_mtu
    - mbedtls_ssl_get_output_max_frag_len
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_max_out_record_payload(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6101,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 6111
      start: 6098
    functionDepth: 0
    functionLinenumber: 6098
    functionLinenumberEnd: 6111
    functionName: mbedtls_ssl_sig_from_pk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_can_do
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char mbedtls_ssl_sig_from_pk(mbedtls_pk_context *pk) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7559,1
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7595,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7607,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7616,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7610,1
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7575,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7615,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7624,1
    - Dst: mbedtls_ssl_ciphersuite_uses_srv_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7558,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7600,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7614,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7556,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7567,1
    - Dst: MBEDTLS_SSL_DEBUG_CRT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7583,1
    - Dst: mbedtls_ssl_own_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7583,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7606,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7625,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7629,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7608,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 7632
      start: 7548
    functionDepth: 0
    functionLinenumber: 7548
    functionLinenumberEnd: 7632
    functionName: mbedtls_ssl_write_certificate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_CRT
    - mbedtls_ssl_own_cert
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - memcpy
    - mbedtls_ssl_ciphersuite_uses_srv_cert
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_certificate(mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2208,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2219,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2225
    functionName: ssl_remove_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_svc_key_id_is_null
    - psa_destroy_key
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_remove_psk(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - conf
    - f_ticket_write
    - f_ticket_parse
    - p_ticket
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_ssl_ticket_write_t*
    - mbedtls_ssl_ticket_parse_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3025
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3025
    functionName: mbedtls_ssl_conf_session_tickets_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_session_tickets_cb(mbedtls_ssl_config *conf,
      mbedtls_ssl_ticket_write_t *f_ticket_write, mbedtls_ssl_ticket_parse_t *f_ticket_parse,
      void *p_ticket) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_input_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3328
      start: 3311
    functionDepth: 0
    functionLinenumber: 3311
    functionLinenumberEnd: 3328
    functionName: mbedtls_ssl_get_max_in_record_payload
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_input_max_frag_len
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_max_in_record_payload(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 6124
      start: 6113
    functionDepth: 0
    functionLinenumber: 6113
    functionLinenumberEnd: 6124
    functionName: mbedtls_ssl_sig_from_pk_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char mbedtls_ssl_sig_from_pk_alg(mbedtls_pk_type_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7934,1
    - Dst: mbedtls_pk_parse_subpubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ssl
    - start
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 7943
      start: 7926
    functionDepth: 0
    functionLinenumber: 7926
    functionLinenumberEnd: 7943
    functionName: ssl_remember_peer_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_init
    - mbedtls_pk_parse_subpubkey
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_remember_peer_pubkey(mbedtls_ssl_context
      *ssl, unsigned char *start, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3236
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3236
    functionName: mbedtls_ssl_get_current_mtu
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_ssl_get_current_mtu(const mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_conf_version_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1351,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1364
    functionName: ssl_conf_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_conf_version_check
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_conf_check(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_key_attributes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2231,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2255,1
    - Dst: PSA_ALG_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2253,1
    - Dst: ssl_remove_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2245,1
    - Dst: PSA_ALG_TLS12_PSK_TO_MS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2251,1
    - Dst: PSA_ALG_HKDF_EXTRACT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2261,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2262,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2267,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2268,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2270,1
    - Dst: mbedtls_ssl_set_hs_psk_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2277,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2279,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2284,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - ssl
    - psk
    - psk_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2288
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2288
    functionName: mbedtls_ssl_set_hs_psk
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - psa_key_attributes_init
    - psa_set_key_usage_flags
    - PSA_ALG_HKDF_EXTRACT
    - mbedtls_calloc
    - psa_set_key_type
    - psa_import_key
    - psa_set_key_algorithm
    - memcpy
    - PSA_ALG_TLS12_PSK_TO_MS
    - ssl_remove_psk
    - mbedtls_ssl_set_hs_psk_opaque
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_hs_psk(mbedtls_ssl_context *ssl, const unsigned
      char *psk, size_t psk_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - tls_id
    - type
    - bits
    argTypes:
    - uint16_t
    - psa_key_type_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 6317
      start: 6300
    functionDepth: 0
    functionLinenumber: 6300
    functionLinenumberEnd: 6317
    functionName: mbedtls_ssl_get_psa_curve_info_from_tls_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_psa_curve_info_from_tls_id(uint16_t tls_id, psa_key_type_t
      *type, size_t *bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9455,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9457,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9464,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9458,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9461,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9465,1
    - Dst: MBEDTLS_SSL_CHK_BUF_READ_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9466,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9483,1
    - Dst: MBEDTLS_SSL_PEND_FATAL_ALERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9484,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - ssl
    - buf
    - end
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 9495
      start: 9445
    functionDepth: 0
    functionLinenumber: 9445
    functionLinenumberEnd: 9495
    functionName: mbedtls_ssl_parse_server_name_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_CHK_BUF_READ_PTR
    - MBEDTLS_SSL_PEND_FATAL_ALERT
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_parse_server_name_ext(mbedtls_ssl_context
      *ssl, const unsigned char *buf, const unsigned char *end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7257,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7273,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7262,1
    - Dst: psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7263,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7268,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7274,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7277,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - ssl
    - hs_op
    - buffer_size
    - hash
    - hlen
    argTypes:
    - mbedtls_ssl_context*
    - psa_hash_operation_t*
    - size_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 7279
      start: 7250
    functionDepth: 0
    functionLinenumber: 7250
    functionLinenumberEnd: 7279
    functionName: ssl_calc_verify_tls_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_BUF
    - psa_hash_abort
    - mbedtls_md_error_from_psa
    - psa_hash_clone
    - MBEDTLS_SSL_DEBUG_MSG
    - psa_hash_operation_init
    - psa_hash_finish
    linkageType: ''
    returnType: int
    signature: 'static int ssl_calc_verify_tls_psa(const mbedtls_ssl_context *ssl,
      const psa_hash_operation_t *hs_op, size_t buffer_size, unsigned char *hash,
      size_t *hlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_debug_print_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:765,1
    - Dst: mbedtls_debug_print_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:772,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - ssl
    - level
    - file
    - line
    - flags
    argTypes:
    - mbedtls_ssl_context*
    - int
    - char*
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 776
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 776
    functionName: mbedtls_ssl_print_ticket_flags
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_debug_print_msg
    - ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_print_ticket_flags(const mbedtls_ssl_context *ssl,
      int level, const char *file, int line, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tls_id
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 6328
      start: 6319
    functionDepth: 0
    functionLinenumber: 6319
    functionLinenumberEnd: 6328
    functionName: mbedtls_ssl_get_ecp_group_id_from_tls_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ecp_group_id
    signature: 'mbedtls_ecp_group_id mbedtls_ssl_get_ecp_group_id_from_tls_id(uint16_t
      tls_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_calc_verify_tls_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7342,1
    - Dst: ssl_calc_verify_tls_legacy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - hash
    - hlen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 7348
      start: 7337
    functionDepth: 0
    functionLinenumber: 7337
    functionLinenumberEnd: 7348
    functionName: ssl_calc_verify_tls_sha384
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_calc_verify_tls_psa
    - ssl_calc_verify_tls_legacy
    linkageType: ''
    returnType: int
    signature: 'int ssl_calc_verify_tls_sha384(const mbedtls_ssl_context *ssl, unsigned
      char *hash, size_t *hlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - crt
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_x509_crt*
    constantsTouched: []
    func_position:
      end: 1926
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1926
    functionName: mbedtls_ssl_set_hs_dn_hints
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_hs_dn_hints(mbedtls_ssl_context *ssl, const mbedtls_x509_crt
      *crt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:956,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:956,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 961
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 961
    functionName: ssl_update_checksum_sha384
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_update
    - psa_hash_update
    - mbedtls_md_error_from_psa
    linkageType: ''
    returnType: int
    signature: 'static int ssl_update_checksum_sha384(mbedtls_ssl_context *ssl, const
      unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - (*f_vrfy)
    - p_vrfy
    argTypes:
    - mbedtls_ssl_config*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1653
    functionName: mbedtls_ssl_conf_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_verify(mbedtls_ssl_config *conf, int (*f_vrfy)(void
      *, mbedtls_x509_crt *, int, uint32_t *), void *p_vrfy) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2474,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2530,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2509,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2488,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2544,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2565,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2586,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2600,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2621,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 114
    argCount: 5
    argNames:
    - mbedtls_cipher_type
    - taglen
    - alg
    - key_type
    - key_size
    argTypes:
    - mbedtls_cipher_type_t
    - size_t
    - psa_algorithm_t*
    - psa_key_type_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2650
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2650
    functionName: mbedtls_ssl_cipher_to_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_ssl_cipher_to_psa(mbedtls_cipher_type_t mbedtls_cipher_type,
      size_t taglen, psa_algorithm_t *alg, psa_key_type_t *key_type, size_t *key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - ems
    argTypes:
    - mbedtls_ssl_config*
    - char
    constantsTouched: []
    func_position:
      end: 2946
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2946
    functionName: mbedtls_ssl_conf_extended_master_secret
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_extended_master_secret(mbedtls_ssl_config *conf,
      char ems) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_session_copy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - ssl
    - dst
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_session*
    constantsTouched: []
    func_position:
      end: 3381
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3381
    functionName: mbedtls_ssl_get_session
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_session_copy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_session(const mbedtls_ssl_context *ssl, mbedtls_ssl_session
      *dst) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5545,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5554,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5582,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5574,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5564,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5546,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5529,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5574,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5568,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5520,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5540,1
    - Dst: mbedtls_ssl_handshake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5550,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5551,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5558,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5569,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5559,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5555,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5579,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5563,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5586
      start: 5514
    functionDepth: 0
    functionLinenumber: 5514
    functionLinenumberEnd: 5586
    functionName: mbedtls_ssl_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_handshake_free
    - mbedtls_free
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_zeroize_and_free
    - mbedtls_ssl_session_free
    - mbedtls_ssl_transform_free
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_free(mbedtls_ssl_context *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6439,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6440,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6440,1
    - Dst: mbedtls_md_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6444,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6449,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6450,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - ssl
    - dst
    - dst_len
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 6460
      start: 6426
    functionDepth: 0
    functionLinenumber: 6426
    functionLinenumberEnd: 6460
    functionName: ssl_get_handshake_transcript_sha384
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_md_init
    - mbedtls_md_clone
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_handshake_transcript_sha384(mbedtls_ssl_context
      *ssl, unsigned char *dst, size_t dst_len, size_t *olen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - conf
    - len
    - ignore_other_cid
    argTypes:
    - mbedtls_ssl_config*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: mbedtls_ssl_conf_cid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_cid(mbedtls_ssl_config *conf, size_t len, int
      ignore_other_cid) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1076,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1080,1
    - Dst: handle_buffer_resizing
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1085,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1095,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1101,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1153,1
    - Dst: ssl_handshake_params_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1123,1
    - Dst: mbedtls_ssl_transform_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1126,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1182,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1235,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1071,1
    - Dst: mbedtls_ssl_reset_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1130,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1132,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1105,1
    - Dst: mbedtls_ssl_conf_is_tls12_only
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1204,1
    - Dst: mbedtls_ssl_transform_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1055,1
    - Dst: mbedtls_ssl_handshake_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1062,1
    - Dst: mbedtls_ssl_get_tls_id_from_ecp_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1179,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1173,1
    - Dst: MBEDTLS_STATIC_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1211,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1059,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1097,1
    - Dst: mbedtls_ssl_session_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1122,1
    - Dst: mbedtls_ssl_hash_from_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1216,1
    - Dst: mbedtls_ssl_hash_from_md_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1243,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 122
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1266
    functionName: ssl_handshake_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_handshake_free
    - mbedtls_calloc
    - mbedtls_ssl_conf_is_tls12_only
    - handle_buffer_resizing
    - mbedtls_ssl_transform_init
    - mbedtls_free
    - mbedtls_ssl_get_tls_id_from_ecp_group_id
    - mbedtls_ssl_reset_checksum
    - mbedtls_ssl_set_timer
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_session_init
    - mbedtls_ssl_hash_from_md_alg
    - MBEDTLS_STATIC_ASSERT
    - ssl_handshake_params_init
    - mbedtls_ssl_session_free
    - mbedtls_ssl_transform_free
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_handshake_init(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - transport
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 1611
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1611
    functionName: mbedtls_ssl_conf_transport
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_transport(mbedtls_ssl_config *conf, int transport) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_key_cert_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1831,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1836,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - head
    - cert
    - key
    argTypes:
    - mbedtls_ssl_key_cert**
    - mbedtls_x509_crt*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1857
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1857
    functionName: ssl_append_key_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_key_cert_free
    - mbedtls_calloc
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_append_key_cert(mbedtls_ssl_key_cert
      **head, mbedtls_x509_crt *cert, mbedtls_pk_context *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_cipher_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2432,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2439,1
    - Dst: mbedtls_ssl_get_base_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2442,1
    - Dst: mbedtls_cipher_info_get_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2443,1
    - Dst: mbedtls_ssl_get_base_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2435,1
    - Dst: mbedtls_ssl_get_actual_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames:
    - '#if defined('
    - MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2451
    functionName: mbedtls_ssl_get_mode_from_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_info_from_type
    - mbedtls_ssl_get_actual_mode
    - mbedtls_ssl_get_base_mode
    - mbedtls_ssl_cipher_to_psa
    - mbedtls_cipher_info_get_mode
    linkageType: ''
    returnType: mbedtls_ssl_mode_t
    signature: 'mbedtls_ssl_mode_t mbedtls_ssl_get_mode_from_ciphersuite(#if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM)
      int encrypt_then_mac,#endif /* MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM */ const
      mbedtls_ssl_ciphersuite_t *suite) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2660,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2663,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2661,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2665,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2664,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - conf
    - dhm_P
    - P_len
    - dhm_G
    - G_len
    argTypes:
    - mbedtls_ssl_config*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2671
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2671
    functionName: mbedtls_ssl_conf_dh_param_bin
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_dh_param_bin(mbedtls_ssl_config *conf, const
      unsigned char *dhm_P, size_t P_len, const unsigned char *dhm_G, size_t G_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2824,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - conf
    - protos
    argTypes:
    - mbedtls_ssl_config*
    - char**
    constantsTouched: []
    func_position:
      end: 2837
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2837
    functionName: mbedtls_ssl_conf_alpn_protocols
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_alpn_protocols(mbedtls_ssl_config *conf, const
      char **protos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3168,1
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3174,1
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3189
      start: 3159
    functionDepth: 0
    functionLinenumber: 3159
    functionLinenumberEnd: 3189
    functionName: mbedtls_ssl_get_input_max_frag_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_mfl_code_to_length
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_ssl_get_input_max_frag_len(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - cur
    - end
    - need
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: mbedtls_ssl_set_chk_buf_ptr_fail_args
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_chk_buf_ptr_fail_args( const uint8_t *cur, const
      uint8_t *end, size_t need) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:111,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:124,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:114,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:115,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ssl
    - enable
    - own_cid
    - own_cid_len
    argTypes:
    - mbedtls_ssl_context*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: mbedtls_ssl_set_cid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - MBEDTLS_SSL_DEBUG_BUF
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_cid(mbedtls_ssl_context *ssl, int enable, unsigned
      char const *own_cid, size_t own_cid_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2677,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2684,1
    - Dst: mbedtls_dhm_get_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2680,1
    - Dst: mbedtls_dhm_get_value
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2682,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2678,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:2685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - conf
    - dhm_ctx
    argTypes:
    - mbedtls_ssl_config*
    - mbedtls_dhm_context*
    constantsTouched: []
    func_position:
      end: 2690
      start: 2673
    functionDepth: 0
    functionLinenumber: 2673
    functionLinenumberEnd: 2690
    functionName: mbedtls_ssl_conf_dh_param_ctx
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_dhm_get_value
    - mbedtls_mpi_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_conf_dh_param_ctx(mbedtls_ssl_config *conf, mbedtls_dhm_context
      *dhm_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2842
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2842
    functionName: mbedtls_ssl_get_alpn_protocol
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_get_alpn_protocol(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3198,1
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3208,1
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3203,1
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3202,1
    - Dst: ssl_mfl_code_to_length
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:3209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3213
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3213
    functionName: mbedtls_ssl_get_output_max_frag_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_mfl_code_to_length
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_ssl_get_output_max_frag_len(const mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - cert_req_ca_list
    argTypes:
    - mbedtls_ssl_config*
    - char
    constantsTouched: []
    func_position:
      end: 2932
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 2932
    functionName: mbedtls_ssl_conf_cert_req_ca_list
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_cert_req_ca_list(mbedtls_ssl_config *conf, char
      cert_req_ca_list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 5
    argNames:
    - ctx
    - p
    - end
    - cli_id
    - cli_id_len
    argTypes:
    - void*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1282
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1282
    functionName: ssl_cookie_write_dummy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_cookie_write_dummy(void
      *ctx, unsigned char **p, unsigned char *end, const unsigned char *cli_id, size_t
      cli_id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - use_tickets
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 2994
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 2994
    functionName: mbedtls_ssl_conf_session_tickets
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_session_tickets(mbedtls_ssl_config *conf, int
      use_tickets) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4315,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4330,1
    - Dst: ssl_tls12_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4339,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4328,1
    - Dst: ssl_tls13_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4345,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 5
    argNames:
    - session
    - omit_header
    - buf
    - buf_len
    - olen
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4363
      start: 4290
    functionDepth: 0
    functionLinenumber: 4290
    functionLinenumberEnd: 4363
    functionName: ssl_session_save
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - ssl_tls12_session_save
    - ssl_tls13_session_save
    - MBEDTLS_BYTE_0
    - memcpy
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_session_save(const mbedtls_ssl_session
      *session, unsigned char omit_header, unsigned char *buf, size_t buf_len, size_t
      *olen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4449,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - session
    - buf
    - len
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4456
      start: 4445
    functionDepth: 0
    functionLinenumber: 4445
    functionLinenumberEnd: 4456
    functionName: mbedtls_ssl_session_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_session_load
    - mbedtls_ssl_session_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_session_load(mbedtls_ssl_session *session, const unsigned
      char *buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4599,1
    - Dst: mbedtls_ssl_handshake_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4609,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4605,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4619
      start: 4586
    functionDepth: 0
    functionLinenumber: 4586
    functionLinenumberEnd: 4619
    functionName: mbedtls_ssl_handshake
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_step
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_handshake(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_context_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5501,1
    - Dst: mbedtls_ssl_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - context
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 5508
      start: 5497
    functionDepth: 0
    functionLinenumber: 5497
    functionLinenumberEnd: 5508
    functionName: mbedtls_ssl_context_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_context_load
    - mbedtls_ssl_free
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_context_load(mbedtls_ssl_context *context, const unsigned
      char *buf, size_t len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5836,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5852,1
    - Dst: mbedtls_ssl_conf_endpoint
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5860,1
    - Dst: mbedtls_ssl_conf_transport
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5861,1
    - Dst: ssl_check_no_sig_alg_duplication
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5840,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5847,1
    - Dst: mbedtls_ssl_conf_new_session_tickets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5959,1
    - Dst: mbedtls_ssl_conf_dh_param_bin
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5941,1
    - Dst: ssl_check_no_sig_alg_duplication
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5835,1
    - Dst: ssl_check_no_sig_alg_duplication
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5851,1
    - Dst: mbedtls_ssl_conf_max_early_data_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5954,1
    - Dst: mbedtls_ssl_conf_early_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5952,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5930,1
    - Dst: mbedtls_ssl_list_ciphersuites
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6025,1
    - Dst: ssl_check_no_sig_alg_duplication
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5846,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5841,1
    - Dst: mbedtls_ssl_conf_tls13_enable_signal_new_session_tickets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5894,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5931,1
    - Dst: mbedtls_ssl_conf_session_tickets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:5870,1
    - Dst: mbedtls_ssl_conf_is_tls12_only
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6007,1
    - Dst: mbedtls_ssl_conf_is_tls12_only
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6033,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 4
    argNames:
    - conf
    - endpoint
    - transport
    - preset
    argTypes:
    - mbedtls_ssl_config*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 6051
      start: 5827
    functionDepth: 0
    functionLinenumber: 5827
    functionLinenumberEnd: 6051
    functionName: mbedtls_ssl_config_defaults
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_ssl_conf_is_tls12_only
    - mbedtls_ssl_conf_dh_param_bin
    - mbedtls_ssl_conf_tls13_enable_signal_new_session_tickets
    - memset
    - mbedtls_ssl_conf_session_tickets
    - mbedtls_ssl_conf_early_data
    - mbedtls_ssl_conf_endpoint
    - mbedtls_ssl_conf_max_early_data_size
    - ssl_check_no_sig_alg_duplication
    - mbedtls_ssl_list_ciphersuites
    - mbedtls_ssl_conf_new_session_tickets
    - mbedtls_ssl_conf_transport
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_config_defaults(mbedtls_ssl_config *conf, int endpoint,
      int transport, int preset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_prf_generic
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - secret
    - slen
    - label
    - random
    - rlen
    - dstbuf
    - dlen
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 6904
      start: 6896
    functionDepth: 0
    functionLinenumber: 6896
    functionLinenumberEnd: 6904
    functionName: tls_prf_sha256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - tls_prf_generic
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_sha256(const unsigned
      char *secret, size_t slen, const char *label, const unsigned char *random, size_t
      rlen, unsigned char *dstbuf, size_t dlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - ctx
    - cookie
    - cookie_len
    - cli_id
    - cli_id_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1296
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1296
    functionName: ssl_cookie_check_dummy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_cookie_check_dummy(void
      *ctx, const unsigned char *cookie, size_t cookie_len, const unsigned char *cli_id,
      size_t cli_id_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7845,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7848,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7849,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 7853
      start: 7838
    functionDepth: 0
    functionLinenumber: 7838
    functionLinenumberEnd: 7853
    functionName: ssl_srv_check_client_no_crt_notification
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_hs_hdr_len
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_srv_check_client_no_crt_notification(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecjpake_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9299,1
    - Dst: mbedtls_ssl_conf_has_static_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9309,1
    - Dst: mbedtls_ssl_ciphersuite_uses_psk
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:9308,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - ssl
    - suite_info
    - min_tls_version
    - max_tls_version
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_ciphersuite_t*
    - mbedtls_ssl_protocol_version
    - mbedtls_ssl_protocol_version
    constantsTouched: []
    func_position:
      end: 9316
      start: 9275
    functionDepth: 0
    functionLinenumber: 9275
    functionLinenumberEnd: 9316
    functionName: mbedtls_ssl_validate_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_conf_has_static_psk
    - mbedtls_ssl_ciphersuite_uses_psk
    - mbedtls_ecjpake_check
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_validate_ciphersuite( const mbedtls_ssl_context *ssl,
      const mbedtls_ssl_ciphersuite_t *suite_info, mbedtls_ssl_protocol_version min_tls_version,
      mbedtls_ssl_protocol_version max_tls_version) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ciphersuite_uses_srv_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ssl
    - authmode
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 7892
      start: 7864
    functionDepth: 0
    functionLinenumber: 7864
    functionLinenumberEnd: 7892
    functionName: ssl_parse_certificate_coordinate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_ciphersuite_uses_srv_cert
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_certificate_coordinate(mbedtls_ssl_context
      *ssl, int authmode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4406,1
    - Dst: ssl_tls12_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4429,1
    - Dst: ssl_tls13_session_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4434,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4421,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - session
    - omit_header
    - buf
    - len
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4440
      start: 4382
    functionDepth: 0
    functionLinenumber: 4382
    functionLinenumberEnd: 4440
    functionName: ssl_session_load
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT16_BE
    - ssl_tls13_session_load
    - ssl_tls12_session_load
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_session_load(mbedtls_ssl_session
      *session, unsigned char omit_header, const unsigned char *buf, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_groups
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - tls_id
    argTypes:
    - mbedtls_ssl_context*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 6233
      start: 6218
    functionDepth: 0
    functionLinenumber: 6218
    functionLinenumberEnd: 6233
    functionName: mbedtls_ssl_check_curve_tls_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_groups
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_check_curve_tls_id(const mbedtls_ssl_context *ssl,
      uint16_t tls_id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4661,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4683,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4688,1
    - Dst: ssl_handshake_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4663,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4691
      start: 4657
    functionDepth: 0
    functionLinenumber: 4657
    functionLinenumberEnd: 4691
    functionName: mbedtls_ssl_start_renegotiation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake
    - ssl_handshake_init
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_start_renegotiation(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - name_len
    argTypes:
    - mbedtls_ssl_context*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1903
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1903
    functionName: mbedtls_ssl_get_hs_sni
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *mbedtls_ssl_get_hs_sni(mbedtls_ssl_context *ssl,
      size_t *name_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_extension_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - extension_type
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: mbedtls_ssl_get_extension_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_extension_id
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_ssl_get_extension_name(unsigned int extension_type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:911,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:913,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:916,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:926,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:924,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 936
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 936
    functionName: ssl_update_checksum_start
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_update
    - psa_hash_update
    - mbedtls_md_error_from_psa
    linkageType: ''
    returnType: int
    signature: 'static int ssl_update_checksum_start(mbedtls_ssl_context *ssl, const
      unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: mbedtls_ssl_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_init(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - allow_legacy
    argTypes:
    - mbedtls_ssl_config*
    - int
    constantsTouched: []
    func_position:
      end: 2966
      start: 2963
    functionDepth: 0
    functionLinenumber: 2963
    functionLinenumberEnd: 2966
    functionName: mbedtls_ssl_conf_legacy_renegotiation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_conf_legacy_renegotiation(mbedtls_ssl_config *conf,
      int allow_legacy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - mbedtls_ssl_chk_buf_ptr_args*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: mbedtls_ssl_cmp_chk_buf_ptr_fail_args
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_cmp_chk_buf_ptr_fail_args(mbedtls_ssl_chk_buf_ptr_args
      *args) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - hs_msg_type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: ssl_tls13_get_hs_msg_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *ssl_tls13_get_hs_msg_name(int hs_msg_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_conf_is_tls13_only
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1313,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1326,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1315,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1319,1
    - Dst: mbedtls_ssl_conf_is_tls12_only
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1325,1
    - Dst: mbedtls_ssl_conf_is_hybrid_tls12_tls13
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1332,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1334,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1338,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1345
    functionName: ssl_conf_version_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_conf_is_tls13_only
    - mbedtls_ssl_conf_is_tls12_only
    - mbedtls_ssl_conf_is_hybrid_tls12_tls13
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_conf_version_check(const
      mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_append_key_cert
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:1909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - own_cert
    - pk_key
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_x509_crt*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 1911
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1911
    functionName: mbedtls_ssl_set_hs_own_cert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_append_key_cert
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_set_hs_own_cert(mbedtls_ssl_context *ssl, mbedtls_x509_crt
      *own_cert, mbedtls_pk_context *pk_key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7902,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7913,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7904,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7906,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:7913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ssl
    - start
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 7924
      start: 7895
    functionDepth: 0
    functionLinenumber: 7895
    functionLinenumberEnd: 7924
    functionName: ssl_remember_peer_crt_digest
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_calloc
    - mbedtls_md
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_remember_peer_crt_digest(mbedtls_ssl_context
      *ssl, unsigned char *start, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_session_save
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:4373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - session
    - buf
    - buf_len
    - olen
    argTypes:
    - mbedtls_ssl_session*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4374
      start: 4368
    functionDepth: 0
    functionLinenumber: 4368
    functionLinenumberEnd: 4374
    functionName: mbedtls_ssl_session_save
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_session_save
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_session_save(const mbedtls_ssl_session *session, unsigned
      char *buf, size_t buf_len, size_t *olen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6063,1
    - Dst: mbedtls_svc_key_id_is_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6069,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6074,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6080,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6064,1
    - Dst: ssl_key_cert_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6087,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c:6090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - conf
    argTypes:
    - mbedtls_ssl_config*
    constantsTouched: []
    func_position:
      end: 6091
      start: 6056
    functionDepth: 0
    functionLinenumber: 6056
    functionLinenumberEnd: 6091
    functionName: mbedtls_ssl_config_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_tls.c
    functionUses: []
    functionsReached:
    - ssl_key_cert_free
    - mbedtls_svc_key_id_is_null
    - mbedtls_platform_zeroize
    - mbedtls_mpi_free
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_config_free(mbedtls_ssl_config *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_nist_kw_context*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: mbedtls_nist_kw_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_nist_kw_init(mbedtls_nist_kw_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - A
    - t
    argTypes:
    - unsigned char
    - uint64_t
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: calc_a_xor_t
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void calc_a_xor_t(unsigned char A[KW_SEMIBLOCK_LENGTH], uint64_t
      t) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:162,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:163,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:186,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:185,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:189,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:190,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:198,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:199,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:218,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:219,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:221,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:227,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:230,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:243,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:245,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:246,1
    - Dst: calc_a_xor_t
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:228,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 7
    argNames:
    - ctx
    - mode
    - input
    - in_len
    - output
    - out_len
    - out_size
    argTypes:
    - mbedtls_nist_kw_context*
    - mbedtls_nist_kw_mode_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 249
    functionName: mbedtls_nist_kw_wrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_BE
    - memmove
    - memcpy
    - mbedtls_platform_zeroize
    - calc_a_xor_t
    - mbedtls_cipher_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_nist_kw_wrap(mbedtls_nist_kw_context *ctx, mbedtls_nist_kw_mode_t
      mode, const unsigned char *input, size_t in_len, unsigned char *output, size_t
      *out_len, size_t out_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: unwrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:350,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:388,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:381,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:357,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:387,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:389,1
    - Dst: unwrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:393,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:401,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:407,1
    - Dst: mbedtls_ct_error_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:415,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:445,1
    - Dst: mbedtls_ct_memcmp_partial
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:421,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:432,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:446,1
    - Dst: mbedtls_ct_uint_gt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:415,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:441,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 7
    argNames:
    - ctx
    - mode
    - input
    - in_len
    - output
    - out_len
    - out_size
    argTypes:
    - mbedtls_nist_kw_context*
    - mbedtls_nist_kw_mode_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 449
    functionName: mbedtls_nist_kw_unwrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_ct_error_if
    - mbedtls_ct_memcmp_partial
    - mbedtls_ct_uint_gt
    - mbedtls_platform_zeroize
    - memcpy
    - unwrap
    - mbedtls_ct_memcmp
    - mbedtls_cipher_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_nist_kw_unwrap(mbedtls_nist_kw_context *ctx, mbedtls_nist_kw_mode_t
      mode, const unsigned char *input, size_t in_len, unsigned char *output, size_t
      *out_len, size_t out_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_from_values
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:59,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:89,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:83,1
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:66,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - cipher
    - key
    - keybits
    - is_wrap
    argTypes:
    - mbedtls_nist_kw_context*
    - mbedtls_cipher_id_t
    - unsigned char*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: mbedtls_nist_kw_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - mbedtls_cipher_free
    - mbedtls_cipher_info_from_values
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_nist_kw_setkey(mbedtls_nist_kw_context *ctx, mbedtls_cipher_id_t
      cipher, const unsigned char *key, unsigned int keybits, const int is_wrap) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_nist_kw_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:590,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:600,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:618,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:679,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:704,1
    - Dst: mbedtls_nist_kw_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:603,1
    - Dst: mbedtls_nist_kw_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:625,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:629,1
    - Dst: mbedtls_nist_kw_unwrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:635,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:681,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:712,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:720,1
    - Dst: mbedtls_nist_kw_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:613,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:607,1
    - Dst: mbedtls_nist_kw_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:666,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:641,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:639,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:663,1
    - Dst: mbedtls_nist_kw_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:688,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:692,1
    - Dst: mbedtls_nist_kw_unwrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:698,1
    - Dst: mbedtls_nist_kw_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:717,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:616,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:649,1
    - Dst: mbedtls_nist_kw_wrap
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:675,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:670,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:702,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 115
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 724
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 724
    functionName: mbedtls_nist_kw_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_nist_kw_free
    - mbedtls_nist_kw_wrap
    - memcmp
    - mbedtls_nist_kw_setkey
    - mbedtls_nist_kw_init
    - mbedtls_nist_kw_unwrap
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_nist_kw_self_test(int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:108,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_nist_kw_context*
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: mbedtls_nist_kw_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_free
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_nist_kw_free(mbedtls_nist_kw_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:277,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:286,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:278,1
    - Dst: calc_a_xor_t
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:283,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:285,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:288,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:294,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:297,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:310,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:312,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c:313,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - ctx
    - input
    - semiblocks
    - A
    - output
    - out_len
    argTypes:
    - mbedtls_nist_kw_context*
    - unsigned char*
    - size_t
    - unsigned char
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 316
    functionName: unwrap
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/nist_kw.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - mbedtls_platform_zeroize
    - calc_a_xor_t
    - mbedtls_cipher_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int unwrap(mbedtls_nist_kw_context *ctx, const unsigned char
      *input, size_t semiblocks, unsigned char A[KW_SEMIBLOCK_LENGTH], unsigned char
      *output, size_t *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: mps_reader_is_producing
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mps_reader_is_producing( mbedtls_mps_reader const
      *rd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: mps_reader_get_fragment_offset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mps_size_t
    signature: 'static inline mbedtls_mps_size_t mps_reader_get_fragment_offset( mbedtls_mps_reader
      const *rd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: mps_reader_zero
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void mps_reader_zero(mbedtls_mps_reader *rd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPS_TRACE_INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:140,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:142,1
    - Dst: mps_reader_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: mbedtls_mps_reader_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPS_TRACE_RETURN
    - MBEDTLS_MPS_TRACE_INIT
    - mps_reader_zero
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mps_reader_free(mbedtls_mps_reader *rd) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPS_TRACE_INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:221,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:222,1
    - Dst: MBEDTLS_MPS_STATE_VALIDATE_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:225,1
    - Dst: mps_reader_is_consuming
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:225,1
    - Dst: mps_reader_get_fragment_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:230,1
    - Dst: mps_reader_serving_from_accumulator
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:233,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:299,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:315,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:332,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:336,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:347,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:355,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:379,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:359,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - rd
    - desired
    - buffer
    - buflen
    argTypes:
    - mbedtls_mps_reader*
    - mbedtls_mps_size_t
    - unsigned char**
    - mbedtls_mps_size_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 380
    functionName: mbedtls_mps_reader_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPS_TRACE_RETURN
    - mps_reader_is_consuming
    - MBEDTLS_MPS_TRACE_INIT
    - MBEDTLS_MPS_TRACE
    - mps_reader_serving_from_accumulator
    - mps_reader_get_fragment_offset
    - MBEDTLS_MPS_STATE_VALIDATE_RAW
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mps_reader_get(mbedtls_mps_reader *rd, mbedtls_mps_size_t
      desired, unsigned char **buffer, mbedtls_mps_size_t *buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: mps_reader_is_accumulating
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mps_reader_is_accumulating( mbedtls_mps_reader const
      *rd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mps_reader_get_fragment_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: mps_reader_serving_from_accumulator
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - mps_reader_get_fragment_offset
    linkageType: ''
    returnType: mbedtls_mps_size_t
    signature: 'static inline mbedtls_mps_size_t mps_reader_serving_from_accumulator(
      mbedtls_mps_reader const *rd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mps_reader_is_producing
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: mps_reader_is_consuming
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - mps_reader_is_producing
    linkageType: ''
    returnType: int
    signature: 'static inline int mps_reader_is_consuming( mbedtls_mps_reader const
      *rd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPS_TRACE_INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:129,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:130,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:135,1
    - Dst: mps_reader_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - rd
    - acc
    - acc_len
    argTypes:
    - mbedtls_mps_reader*
    - unsigned char*
    - mbedtls_mps_size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: mbedtls_mps_reader_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPS_TRACE_RETURN
    - MBEDTLS_MPS_TRACE
    - MBEDTLS_MPS_TRACE_INIT
    - mps_reader_zero
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mps_reader_init(mbedtls_mps_reader *rd, unsigned char
      *acc, mbedtls_mps_size_t acc_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPS_TRACE_INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:150,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:155,1
    - Dst: mps_reader_is_producing
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:158,1
    - Dst: MBEDTLS_MPS_STATE_VALIDATE_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:158,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:151,1
    - Dst: mps_reader_is_accumulating
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:162,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:176,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:178,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:190,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:195,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - rd
    - new_frag
    - new_frag_len
    argTypes:
    - mbedtls_mps_reader*
    - unsigned char*
    - mbedtls_mps_size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 211
    functionName: mbedtls_mps_reader_feed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - mps_reader_is_accumulating
    - mps_reader_is_producing
    - MBEDTLS_MPS_TRACE_RETURN
    - memcpy
    - MBEDTLS_MPS_TRACE_INIT
    - MBEDTLS_MPS_TRACE
    - MBEDTLS_MPS_STATE_VALIDATE_RAW
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mps_reader_feed(mbedtls_mps_reader *rd, unsigned char
      *new_frag, mbedtls_mps_size_t new_frag_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPS_TRACE_INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:385,1
    - Dst: MBEDTLS_MPS_STATE_VALIDATE_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:386,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:393,1
    - Dst: mps_reader_is_consuming
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rd
    argTypes:
    - mbedtls_mps_reader*
    constantsTouched: []
    func_position:
      end: 394
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 394
    functionName: mbedtls_mps_reader_commit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - mps_reader_is_consuming
    - MBEDTLS_MPS_TRACE_INIT
    - MBEDTLS_MPS_STATE_VALIDATE_RAW
    - MBEDTLS_MPS_TRACE_RETURN
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mps_reader_commit(mbedtls_mps_reader *rd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mps_reader_get_fragment_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:418,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:421,1
    - Dst: mps_reader_is_consuming
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:408,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:448,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:453,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:491,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:512,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:534,1
    - Dst: MBEDTLS_MPS_STATE_VALIDATE_RAW
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:408,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:455,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:503,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:493,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:426,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:501,1
    - Dst: MBEDTLS_MPS_TRACE_INIT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:402,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:429,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:435,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:508,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:489,1
    - Dst: MBEDTLS_MPS_TRACE_RETURN
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:497,1
    - Dst: MBEDTLS_MPS_TRACE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c:530,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 86
    argCount: 2
    argNames:
    - rd
    - paused
    argTypes:
    - mbedtls_mps_reader*
    - int*
    constantsTouched: []
    func_position:
      end: 535
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 535
    functionName: mbedtls_mps_reader_reclaim
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/mps_reader.c
    functionUses: []
    functionsReached:
    - MBEDTLS_MPS_TRACE_RETURN
    - memmove
    - memcpy
    - mps_reader_is_consuming
    - MBEDTLS_MPS_TRACE_INIT
    - MBEDTLS_MPS_TRACE
    - mps_reader_get_fragment_offset
    - MBEDTLS_MPS_STATE_VALIDATE_RAW
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_mps_reader_reclaim(mbedtls_mps_reader *rd, int *paused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_des_context*
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: mbedtls_des_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_des_init(mbedtls_des_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_des3_context*
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: mbedtls_des3_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_des3_init(mbedtls_des3_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des3_set3key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:583,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_des3_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 587
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 587
    functionName: mbedtls_des3_set3key_dec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - des3_set3key
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des3_set3key_dec(mbedtls_des3_context *ctx, const unsigned
      char key[MBEDTLS_DES_KEY_SIZE * 3]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_des_context*
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: mbedtls_des_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_des_free(mbedtls_des_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_des3_context*
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: mbedtls_des3_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_des3_free(mbedtls_des3_context *ctx) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:844,1
    - Dst: mbedtls_des_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:867,1
    - Dst: mbedtls_des3_set2key_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:875,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:917,1
    - Dst: mbedtls_des_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:949,1
    - Dst: mbedtls_des3_set2key_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:957,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:999,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1000,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1001,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1020,1
    - Dst: mbedtls_des3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:845,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:859,1
    - Dst: mbedtls_des3_set2key_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:871,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:939,1
    - Dst: mbedtls_des3_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:897,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:907,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:940,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:941,1
    - Dst: mbedtls_des3_set2key_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:953,1
    - Dst: mbedtls_des_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:991,1
    - Dst: mbedtls_des3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1031,1
    - Dst: mbedtls_des_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:863,1
    - Dst: mbedtls_des3_set3key_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:883,1
    - Dst: mbedtls_des_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:895,1
    - Dst: mbedtls_des_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:945,1
    - Dst: mbedtls_des3_set3key_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:965,1
    - Dst: mbedtls_des_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:978,1
    - Dst: mbedtls_des3_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:980,1
    - Dst: mbedtls_des3_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:993,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1004,1
    - Dst: mbedtls_des_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1030,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:854,1
    - Dst: mbedtls_des3_set3key_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:879,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:934,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:922,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:905,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:909,1
    - Dst: mbedtls_des3_set3key_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:961,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1008,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1012,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1026,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:1010,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 153
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1037
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 1037
    functionName: mbedtls_des_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_des3_set3key_enc
    - mbedtls_des3_crypt_ecb
    - mbedtls_des_init
    - mbedtls_des3_set3key_dec
    - memcmp
    - mbedtls_des_setkey_enc
    - memcpy
    - mbedtls_des3_set2key_dec
    - mbedtls_des_crypt_cbc
    - mbedtls_des3_init
    - mbedtls_des_free
    - mbedtls_des3_free
    - mbedtls_des3_crypt_cbc
    - mbedtls_des_crypt_ecb
    - mbedtls_des_setkey_dec
    - mbedtls_des3_set2key_enc
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des3_set3key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:569,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_des3_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: mbedtls_des3_set3key_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - des3_set3key
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des3_set3key_enc(mbedtls_des3_context *ctx, const unsigned
      char key[MBEDTLS_DES_KEY_SIZE * 3]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:545,1
    - Dst: mbedtls_des_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:546,1
    - Dst: mbedtls_des_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - esk
    - dsk
    - key
    argTypes:
    - uint32_t
    - uint32_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 559
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 559
    functionName: des3_set3key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_des_setkey
    linkageType: ''
    returnType: void
    signature: 'static void des3_set3key(uint32_t esk[96], uint32_t dsk[96], const
      unsigned char key[24]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:641,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:647,1
    - Dst: mbedtls_des_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:656,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:655,1
    - Dst: mbedtls_des_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:643,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:661,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:663,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - mbedtls_des_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 674
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 674
    functionName: mbedtls_des_crypt_cbc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - mbedtls_des_crypt_ecb
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des_crypt_cbc(mbedtls_des_context *ctx, int mode, size_t
      length, unsigned char iv[8], const unsigned char *input, unsigned char *output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:739,1
    - Dst: mbedtls_des3_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:741,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:753,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:745,1
    - Dst: mbedtls_des3_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:754,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:759,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:761,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - mbedtls_des3_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 772
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 772
    functionName: mbedtls_des3_crypt_cbc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - memcpy
    - mbedtls_des3_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des3_crypt_cbc(mbedtls_des3_context *ctx, int mode, size_t
      length, unsigned char iv[8], const unsigned char *input, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:602,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:608,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:609,1
    - Dst: DES_IP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:605,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:603,1
    - Dst: DES_FP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:612,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:614,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_des_context*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 618
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 618
    functionName: mbedtls_des_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - MBEDTLS_PUT_UINT32_BE
    - DES_IP
    - DES_ROUND
    - DES_FP
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des_crypt_ecb(mbedtls_des_context *ctx, const unsigned
      char input[8], unsigned char output[8]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:690,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:697,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:696,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:691,1
    - Dst: DES_IP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:693,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:701,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:702,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:706,1
    - Dst: DES_ROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:707,1
    - Dst: DES_FP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:710,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:713,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_des3_context*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 716
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 716
    functionName: mbedtls_des3_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - MBEDTLS_PUT_UINT32_BE
    - DES_IP
    - DES_ROUND
    - DES_FP
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des3_crypt_ecb(mbedtls_des3_context *ctx, const unsigned
      char input[8], unsigned char output[8]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:399,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 240
    argCount: 2
    argNames:
    - SK
    - key
    argTypes:
    - uint32_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 457
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 457
    functionName: mbedtls_des_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_des_setkey(uint32_t SK[32], const unsigned char key[MBEDTLS_DES_KEY_SIZE]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: mbedtls_des_key_set_parity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_des_key_set_parity(unsigned char key[MBEDTLS_DES_KEY_SIZE]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: mbedtls_des_key_check_weak
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des_key_check_weak(const unsigned char key[MBEDTLS_DES_KEY_SIZE]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des3_set2key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:533,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_des3_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: mbedtls_des3_set2key_dec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - des3_set2key
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des3_set2key_dec(mbedtls_des3_context *ctx, const unsigned
      char key[MBEDTLS_DES_KEY_SIZE * 2]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_des_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: mbedtls_des_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_des_setkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des_setkey_enc(mbedtls_des_context *ctx, const unsigned
      char key[MBEDTLS_DES_KEY_SIZE]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:477,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:481,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_des_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 485
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 485
    functionName: mbedtls_des_setkey_dec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_des_setkey
    - SWAP
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des_setkey_dec(mbedtls_des_context *ctx, const unsigned
      char key[MBEDTLS_DES_KEY_SIZE]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des3_set2key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:519,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_des3_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 523
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 523
    functionName: mbedtls_des3_set2key_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - des3_set2key
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des3_set2key_enc(mbedtls_des3_context *ctx, const unsigned
      char key[MBEDTLS_DES_KEY_SIZE * 2]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_des_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:493,1
    - Dst: mbedtls_des_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - esk
    - dsk
    - key
    argTypes:
    - uint32_t
    - uint32_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 509
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 509
    functionName: des3_set2key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached:
    - mbedtls_des_setkey
    linkageType: ''
    returnType: void
    signature: 'static void des3_set2key(uint32_t esk[96], uint32_t dsk[96], const
      unsigned char key[MBEDTLS_DES_KEY_SIZE*2]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: mbedtls_des_key_check_key_parity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/des.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_des_key_check_key_parity(const unsigned char key[MBEDTLS_DES_KEY_SIZE]) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:274,1
    - Dst: mbedtls_x509_csr_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:283,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:307,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:294,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:314,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:337,1
    - Dst: mbedtls_x509_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:359,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:370,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:388,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:392,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:315,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:326,1
    - Dst: mbedtls_pk_parse_subpubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:369,1
    - Dst: x509_csr_parse_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:391,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:288,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:324,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:327,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:355,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:384,1
    - Dst: mbedtls_x509_get_sig
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:416,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:422,1
    - Dst: mbedtls_x509_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:404,1
    - Dst: mbedtls_x509_get_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:409,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:309,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:360,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:342,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:353,1
    - Dst: x509_csr_get_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:336,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:356,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:387,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:405,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:412,1
    - Dst: mbedtls_x509_csr_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:417,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:423,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 106
    argCount: 5
    argNames:
    - csr
    - buf
    - buflen
    - cb
    - p_ctx
    argTypes:
    - mbedtls_x509_csr*
    - unsigned char*
    - size_t
    - mbedtls_x509_csr_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 428
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 428
    functionName: mbedtls_x509_csr_parse_der_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_x509_get_name
    - mbedtls_x509_get_alg
    - mbedtls_pk_parse_subpubkey
    - memcpy
    - memset
    - mbedtls_x509_get_sig_alg
    - mbedtls_x509_csr_free
    - x509_csr_parse_attributes
    - MBEDTLS_ERROR_ADD
    - mbedtls_x509_get_sig
    - mbedtls_asn1_get_tag
    - x509_csr_get_version
    - mbedtls_x509_csr_init
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_x509_csr_parse_der_internal(mbedtls_x509_csr *csr,
      const unsigned char *buf, size_t buflen, mbedtls_x509_csr_ext_cb_t cb, void
      *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_csr_parse_der_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - csr
    - buf
    - buflen
    argTypes:
    - mbedtls_x509_csr*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: mbedtls_x509_csr_parse_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_csr_parse_der_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_csr_parse_der(mbedtls_x509_csr *csr, const unsigned
      char *buf, size_t buflen) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:78,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:86,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:80,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:88,1
    - Dst: mbedtls_asn1_get_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:96,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:98,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:102,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:104,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:110,1
    - Dst: mbedtls_oid_get_x509_ext_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:117,1
    - Dst: cb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:122,1
    - Dst: mbedtls_x509_get_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:152,1
    - Dst: mbedtls_x509_get_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:160,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:188,1
    - Dst: mbedtls_x509_get_ns_cert_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:168,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:135,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:143,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 5
    argNames:
    - csr
    - p
    - end
    - cb
    - p_ctx
    argTypes:
    - mbedtls_x509_csr*
    - unsigned char**
    - unsigned char*
    - mbedtls_x509_csr_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 193
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 193
    functionName: x509_csr_parse_extensions
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_get_subject_alt_name
    - cb
    - mbedtls_oid_get_x509_ext_type
    - mbedtls_asn1_get_bool
    - MBEDTLS_ERROR_ADD
    - mbedtls_x509_get_ns_cert_type
    - mbedtls_asn1_get_tag
    - mbedtls_x509_get_key_usage
    linkageType: ''
    returnType: int
    signature: 'static int x509_csr_parse_extensions(mbedtls_x509_csr *csr, unsigned
      char **p, const unsigned char *end, mbedtls_x509_csr_ext_cb_t cb, void *p_ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pem_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:471,1
    - Dst: mbedtls_pem_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:490,1
    - Dst: mbedtls_x509_csr_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:487,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:472,1
    - Dst: mbedtls_pem_read_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:477,1
    - Dst: mbedtls_x509_csr_parse_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:496,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - csr
    - buf
    - buflen
    argTypes:
    - mbedtls_x509_csr*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 497
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 497
    functionName: mbedtls_x509_csr_parse
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_pem_free
    - mbedtls_pem_read_buffer
    - mbedtls_x509_csr_parse_der
    - mbedtls_pem_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_csr_parse(mbedtls_x509_csr *csr, const unsigned char
      *buf, size_t buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_load_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:509,1
    - Dst: mbedtls_x509_csr_parse
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:513,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - csr
    - path
    argTypes:
    - mbedtls_x509_csr*
    - char*
    constantsTouched: []
    func_position:
      end: 518
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 518
    functionName: mbedtls_x509_csr_parse_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    - mbedtls_pk_load_file
    - mbedtls_x509_csr_parse
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_csr_parse_file(mbedtls_x509_csr *csr, const char
      *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:622,1
    - Dst: mbedtls_asn1_sequence_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:629,1
    - Dst: mbedtls_asn1_free_named_data_list_shallow
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:628,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:625,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:632,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - csr
    argTypes:
    - mbedtls_x509_csr*
    constantsTouched: []
    func_position:
      end: 636
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 636
    functionName: mbedtls_x509_csr_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_platform_zeroize
    - mbedtls_asn1_sequence_free
    - mbedtls_zeroize_and_free
    - mbedtls_pk_free
    - mbedtls_asn1_free_named_data_list_shallow
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_csr_free(mbedtls_x509_csr *csr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - csr
    argTypes:
    - mbedtls_x509_csr*
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: mbedtls_x509_csr_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509_csr_init(mbedtls_x509_csr *csr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:48,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - p
    - end
    - ver
    argTypes:
    - unsigned char**
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: x509_csr_get_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_csr_get_version(unsigned char **p, const unsigned
      char *end, int *ver) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:211,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:213,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:228,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:218,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:220,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:229,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:231,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:234,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:237,1
    - Dst: x509_csr_parse_extensions
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:240,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:245,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:254,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 5
    argNames:
    - csr
    - start
    - end
    - cb
    - p_ctx
    argTypes:
    - mbedtls_x509_csr*
    - unsigned char*
    - unsigned char*
    - mbedtls_x509_csr_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 259
    functionName: x509_csr_parse_attributes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - MBEDTLS_OID_CMP
    - mbedtls_asn1_get_tag
    - x509_csr_parse_extensions
    - MBEDTLS_ERROR_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_csr_parse_attributes(mbedtls_x509_csr *csr, const
      unsigned char *start, const unsigned char *end, mbedtls_x509_csr_ext_cb_t cb,
      void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_csr_parse_der_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - csr
    - buf
    - buflen
    - cb
    - p_ctx
    argTypes:
    - mbedtls_x509_csr*
    - unsigned char*
    - size_t
    - mbedtls_x509_csr_ext_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: mbedtls_x509_csr_parse_der_with_ext_cb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_csr_parse_der_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_csr_parse_der_with_ext_cb(mbedtls_x509_csr *csr,
      const unsigned char *buf, size_t buflen, mbedtls_x509_csr_ext_cb_t cb, void
      *p_ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:538,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:547,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:542,1
    - Dst: mbedtls_x509_sig_alg_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:550,1
    - Dst: mbedtls_x509_dn_gets
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:544,1
    - Dst: mbedtls_x509_key_size_helper
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:554,1
    - Dst: mbedtls_pk_get_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:555,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:559,1
    - Dst: mbedtls_pk_get_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:560,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:568,1
    - Dst: mbedtls_x509_info_cert_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:582,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:588,1
    - Dst: mbedtls_x509_info_key_usage
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:591,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:579,1
    - Dst: mbedtls_snprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:597,1
    - Dst: mbedtls_x509_info_subject_alt_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c:571,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - buf
    - size
    - prefix
    - csr
    argTypes:
    - char*
    - size_t
    - char*
    - mbedtls_x509_csr*
    constantsTouched: []
    func_position:
      end: 602
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 602
    functionName: mbedtls_x509_csr_info
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_csr.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_info_subject_alt_name
    - mbedtls_pk_get_bitlen
    - mbedtls_x509_sig_alg_gets
    - mbedtls_x509_dn_gets
    - mbedtls_snprintf
    - mbedtls_x509_key_size_helper
    - mbedtls_x509_info_key_usage
    - mbedtls_x509_info_cert_type
    - mbedtls_pk_get_name
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_csr_info(char *buf, size_t size, const char *prefix,
      const mbedtls_x509_csr *csr) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:470,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:527,1
    - Dst: ssl_write_hostname_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:579,1
    - Dst: mbedtls_ssl_conf_tls13_is_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:639,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:686,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:505,1
    - Dst: ssl_write_alpn_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:587,1
    - Dst: mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:671,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:687,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:689,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:483,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:485,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:484,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:510,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:561,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:573,1
    - Dst: mbedtls_ssl_tls13_write_client_hello_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:596,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:536,1
    - Dst: mbedtls_ssl_tls12_write_client_hello_exts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:656,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:471,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:507,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:533,1
    - Dst: mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:611,1
    - Dst: ssl_write_supported_groups_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:623,1
    - Dst: ssl_write_client_hello_cipher_suites
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:543,1
    - Dst: mbedtls_ssl_write_sig_alg_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:646,1
    - Dst: mbedtls_ssl_conf_tls13_is_some_psk_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:670,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 119
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - out_len
    - binders_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 695
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 695
    functionName: ssl_write_client_hello_body
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_SSL_DEBUG_BUF
    - ssl_write_alpn_ext
    - ssl_write_supported_groups_ext
    - memcpy
    - mbedtls_ssl_tls13_write_client_hello_exts
    - mbedtls_ssl_conf_tls13_is_ephemeral_enabled
    - mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext
    - mbedtls_ssl_write_sig_alg_ext
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_write_client_hello_cipher_suites
    - mbedtls_ssl_tls12_write_client_hello_exts
    - ssl_write_hostname_ext
    - mbedtls_ssl_conf_tls13_is_some_psk_enabled
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_ssl_write_version
    - mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_client_hello_body(mbedtls_ssl_context
      *ssl, unsigned char *buf, unsigned char *end, size_t *out_len, size_t *binders_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:126,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:132,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:133,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:151,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:149,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:153,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:160,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:163,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 169
    functionName: ssl_write_alpn_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - memcpy
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_alpn_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:718,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:722,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 732
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 732
    functionName: ssl_generate_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - mbedtls_time
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_PUT_UINT32_BE
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_generate_random(mbedtls_ssl_context
      *ssl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_groups
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:225,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:298,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:280,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:294,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:236,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:229,1
    - Dst: mbedtls_ssl_get_ecp_group_id_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:254,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ffdh
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:260,1
    - Dst: mbedtls_ssl_tls12_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:269,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:278,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:289,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:300,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:306,1
    - Dst: mbedtls_ssl_get_ecp_group_id_from_tls_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:270,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:277,1
    - Dst: mbedtls_ssl_tls13_named_group_is_ecdhe
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:253,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:248,1
    - Dst: mbedtls_ssl_named_group_to_str
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:281,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:296,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - flags
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: ssl_write_supported_groups_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_named_group_to_str
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_tls12_named_group_is_ecdhe
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_tls13_named_group_is_ffdh
    - mbedtls_ssl_get_groups
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - mbedtls_ssl_get_ecp_group_id_from_tls_id
    - mbedtls_ssl_tls13_named_group_is_ecdhe
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_supported_groups_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, int flags, size_t *out_len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ms_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:753,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:800,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:758,1
    - Dst: ssl_generate_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:798,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:874,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:888,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:893,1
    - Dst: mbedtls_ssl_session_set_hostname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:899,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 94
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 907
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 907
    functionName: ssl_prepare_client_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - ssl_generate_random
    - strcmp
    - mbedtls_ssl_session_set_hostname
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ms_time
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_prepare_client_hello(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:342,1
    - Dst: mbedtls_ssl_ciphersuite_uses_ec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:365,1
    - Dst: mbedtls_ssl_ciphersuite_from_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:353,1
    - Dst: mbedtls_ssl_validate_ciphersuite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:355,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:368,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:373,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:374,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:386,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:387,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:388,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:395,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:394,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 5
    argNames:
    - ssl
    - buf
    - end
    - tls12_uses_ec
    - out_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - int*
    - size_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 403
    functionName: ssl_write_client_hello_cipher_suites
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_ciphersuite_uses_ec
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ciphersuite_from_id
    - mbedtls_ssl_validate_ciphersuite
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_client_hello_cipher_suites(
      mbedtls_ssl_context *ssl, unsigned char *buf, unsigned char *end, int *tls12_uses_ec,
      size_t *out_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:920,1
    - Dst: mbedtls_ssl_add_hs_hdr_to_checksum
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:960,1
    - Dst: MBEDTLS_SSL_PRINT_EXTS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:1005,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:922,1
    - Dst: ssl_write_client_hello_body
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:926,1
    - Dst: mbedtls_ssl_send_flight_completed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:934,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:947,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:953,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:974,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:986,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:994,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:1011,1
    - Dst: mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:975,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:969,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:964,1
    - Dst: mbedtls_ssl_finish_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:986,1
    - Dst: mbedtls_ssl_tls13_finalize_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:999,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:918,1
    - Dst: mbedtls_ssl_start_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:922,1
    - Dst: ssl_prepare_client_hello
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:920,1
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:926,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:945,1
    - Dst: mbedtls_ssl_flight_transmit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:952,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:948,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:980,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 1013
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 1013
    functionName: mbedtls_ssl_write_client_hello
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_handshake_msg
    - mbedtls_ssl_write_handshake_msg
    - mbedtls_ssl_finish_handshake_msg
    - MBEDTLS_SSL_PRINT_EXTS
    - mbedtls_ssl_tls13_finalize_client_hello
    - MBEDTLS_SSL_PROC_CHK
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_ssl_add_hs_hdr_to_checksum
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake_set_state
    - mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext
    - mbedtls_ssl_flight_transmit
    - mbedtls_ssl_send_flight_completed
    - ssl_write_client_hello_body
    - ssl_prepare_client_hello
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_client_hello(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:39,1
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:45,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:76,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:43,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:73,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:79,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:82,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:84,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:87,1
    - Dst: mbedtls_ssl_tls13_set_hs_sent_ext_mask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ssl
    - buf
    - end
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 95
    functionName: ssl_write_hostname_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_client.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_BYTE_0
    - memcpy
    - mbedtls_ssl_tls13_set_hs_sent_ext_mask
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_CHK_BUF_PTR
    - strlen
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_hostname_ext(mbedtls_ssl_context
      *ssl, unsigned char *buf, const unsigned char *end, size_t *olen) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 8
    argCount: 2
    argNames:
    - family
    - bits
    argTypes:
    - psa_ecc_family_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: check_ecc_parameters
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int check_ecc_parameters(psa_ecc_family_t family, size_t *bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:218,1
    - Dst: mbedtls_psa_ecp_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:237,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:227,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:245,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 248
    functionName: mbedtls_psa_ecp_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_ecp_export_key
    - mbedtls_ecp_keypair_free
    - mbedtls_free
    - mbedtls_psa_ecp_load_representation
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecp_import_key( const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:387,1
    - Dst: PSA_ALG_SIGN_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:396,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:398,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:419,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:419,1
    - Dst: mbedtls_ecdsa_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:410,1
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:376,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:386,1
    - Dst: PSA_ALG_ECDSA_IS_DETERMINISTIC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:394,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:423,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:416,1
    - Dst: mbedtls_ecdsa_sign_det_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:398,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:410,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:430,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:385,1
    - Dst: mbedtls_md_type_from_psa_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:397,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:424,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:429,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:416,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:432,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_size
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 433
    functionName: mbedtls_psa_ecdsa_sign_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_keypair_free
    - PSA_BITS_TO_BYTES
    - mbedtls_free
    - mbedtls_mpi_write_binary
    - mbedtls_ecdsa_sign_det_ext
    - mbedtls_to_psa_error
    - PSA_ALG_ECDSA_IS_DETERMINISTIC
    - MBEDTLS_MPI_CHK
    - mbedtls_md_type_from_psa_alg
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_ecdsa_sign
    - mbedtls_psa_ecp_load_representation
    - PSA_ALG_SIGN_GET_HASH
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecdsa_sign_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size,
      size_t *signature_length) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:139,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:161,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:152,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:129,1
    - Dst: check_ecc_parameters
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:139,1
    - Dst: mbedtls_ecc_group_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:145,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:145,1
    - Dst: mbedtls_ecp_read_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:178,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:170,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:190,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:100,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:101,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:137,1
    - Dst: mbedtls_ecp_point_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:162,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:153,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:122,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:133,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:171,1
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:159,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:177,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:191,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 5
    argNames:
    - type
    - curve_bits
    - data
    - data_length
    - p_ecp
    argTypes:
    - psa_key_type_t
    - size_t
    - uint8_t*
    - size_t
    - mbedtls_ecp_keypair**
    constantsTouched: []
    func_position:
      end: 195
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 195
    functionName: mbedtls_psa_ecp_load_representation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_read_binary
    - mbedtls_calloc
    - mbedtls_ecp_keypair_free
    - PSA_BYTES_TO_BITS
    - PSA_BITS_TO_BYTES
    - mbedtls_to_psa_error
    - mbedtls_ecc_group_from_psa
    - mbedtls_ecp_group_load
    - mbedtls_free
    - mbedtls_ecp_keypair_init
    - mbedtls_ecp_read_key
    - mbedtls_ecp_check_pubkey
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    - check_ecc_parameters
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecp_load_representation( psa_key_type_t type,
      size_t curve_bits, const uint8_t *data, size_t data_length, mbedtls_ecp_keypair
      **p_ecp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:297,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:309,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:305,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:306,1
    - Dst: mbedtls_psa_ecp_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:304,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 313
    functionName: mbedtls_psa_ecp_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_ecp_export_key
    - mbedtls_ecp_keypair_free
    - PSA_KEY_TYPE_ECC_PUBLIC_KEY
    - mbedtls_free
    - mbedtls_psa_ecp_load_representation
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecp_export_public_key( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:258,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:262,1
    - Dst: mbedtls_ecp_is_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:260,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:263,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:271,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:272,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:278,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:283,1
    - Dst: mbedtls_ecp_write_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - type
    - ecp
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_type_t
    - mbedtls_ecp_keypair*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 287
    functionName: mbedtls_psa_ecp_export_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_write_key_ext
    - mbedtls_to_psa_error
    - mbedtls_ecp_mul
    - memset
    - mbedtls_ecp_point_write_binary
    - mbedtls_ecp_is_zero
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecp_export_key(psa_key_type_t type, mbedtls_ecp_keypair
      *ecp, uint8_t *data, size_t data_size, size_t *data_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecp_is_zero
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:440,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:441,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ecp
    argTypes:
    - mbedtls_ecp_keypair*
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: mbedtls_psa_ecp_load_public_part
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_mul
    - mbedtls_ecp_is_zero
    - mbedtls_to_psa_error
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecp_load_public_part(mbedtls_ecp_keypair
      *ecp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:463,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:473,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:474,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:472,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:481,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:481,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:488,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:488,1
    - Dst: mbedtls_psa_ecp_load_public_part
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:495,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:500,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:500,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:505,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:507,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:506,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:504,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 8
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - hash
    - hash_length
    - signature
    - signature_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 510
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 510
    functionName: mbedtls_psa_ecdsa_verify_hash
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_ecp_load_public_part
    - mbedtls_ecp_keypair_free
    - PSA_BITS_TO_BYTES
    - mbedtls_to_psa_error
    - mbedtls_mpi_read_binary
    - mbedtls_free
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - mbedtls_psa_ecp_load_representation
    - mbedtls_ecdsa_verify
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecdsa_verify_hash( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t
      signature_length) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:533,1
    - Dst: mbedtls_psa_ecp_load_representation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:548,1
    - Dst: mbedtls_ecdh_calc_secret
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:570,1
    - Dst: mbedtls_ecdh_get_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:564,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:589,1
    - Dst: PSA_KEY_TYPE_IS_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:528,1
    - Dst: mbedtls_ecdh_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:546,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:549,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:558,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:588,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:578,1
    - Dst: mbedtls_ecdh_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:585,1
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:545,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:563,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:569,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:587,1
    - Dst: PSA_ALG_IS_ECDH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:529,1
    - Dst: mbedtls_ecdh_get_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:559,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:583,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:586,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - peer_key
    - peer_key_length
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 591
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 591
    functionName: mbedtls_psa_key_agreement_ecdh
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecdh_calc_secret
    - mbedtls_ecdh_free
    - mbedtls_ecdh_init
    - mbedtls_ecdh_get_params
    - PSA_ALG_IS_ECDH
    - mbedtls_ecp_keypair_free
    - PSA_KEY_TYPE_ECC_PUBLIC_KEY
    - mbedtls_to_psa_error
    - PSA_BITS_TO_BYTES
    - mbedtls_free
    - mbedtls_ecc_group_to_psa
    - mbedtls_platform_zeroize
    - PSA_KEY_TYPE_IS_ECC_KEY_PAIR
    - mbedtls_psa_ecp_load_representation
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_key_agreement_ecdh( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *peer_key, size_t peer_key_length, uint8_t *shared_secret,
      size_t shared_secret_size, size_t *shared_secret_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:326,1
    - Dst: mbedtls_ecp_curve_info_from_grp_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:332,1
    - Dst: mbedtls_ecc_group_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:329,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:339,1
    - Dst: mbedtls_ecp_gen_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:340,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:344,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:345,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:348,1
    - Dst: mbedtls_ecp_write_key_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:349,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c:352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: mbedtls_psa_ecp_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ecp.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_write_key_ext
    - mbedtls_ecp_keypair_free
    - mbedtls_ecp_curve_info_from_grp_id
    - mbedtls_to_psa_error
    - mbedtls_ecc_group_from_psa
    - mbedtls_ecp_keypair_init
    - mbedtls_ecp_gen_key
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ecp_generate_key( const psa_key_attributes_t
      *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher_internal.h:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_block_cipher_context_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: mbedtls_block_cipher_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/block_cipher_internal.h
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_block_cipher_init(mbedtls_block_cipher_context_t
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:65,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ssl_cookie_ctx*
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: mbedtls_ssl_cookie_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached:
    - mbedtls_md_init
    - mbedtls_mutex_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_cookie_init(mbedtls_ssl_cookie_ctx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:91,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:93,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:100,1
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ssl_cookie_ctx*
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: mbedtls_ssl_cookie_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_mutex_free
    - mbedtls_md_free
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_cookie_free(mbedtls_ssl_cookie_ctx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:169,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:173,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:171,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:174,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:172,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 6
    argNames:
    - hmac_ctx
    - time
    - p
    - end
    - cli_id
    - cli_id_len
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: ssl_cookie_hmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_reset
    - memcpy
    - mbedtls_md_hmac_update
    - mbedtls_md_hmac_finish
    - MBEDTLS_SSL_CHK_BUF_PTR
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_cookie_hmac(mbedtls_md_context_t
      *hmac_ctx, const unsigned char time[4], unsigned char **p, unsigned char *end,
      const unsigned char *cli_id, size_t cli_id_len) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:301,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:310,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:324,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:331,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:365,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:308,1
    - Dst: psa_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:321,1
    - Dst: ssl_cookie_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:336,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:376,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:379,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:344,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:343,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:304,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:317,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:332,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:360,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:314,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:374,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:353,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 5
    argNames:
    - p_ctx
    - cookie
    - cookie_len
    - cli_id
    - cli_id_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 382
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 382
    functionName: mbedtls_ssl_cookie_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached:
    - ssl_cookie_hmac
    - MBEDTLS_GET_UINT32_BE
    - psa_mac_update
    - mbedtls_platform_zeroize
    - mbedtls_mutex_lock
    - psa_mac_abort
    - mbedtls_ct_memcmp
    - mbedtls_time
    - MBEDTLS_ERROR_ADD
    - psa_mac_verify_finish
    - PSA_TO_MBEDTLS_ERR
    - psa_mac_verify_setup
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_cookie_check(void *p_ctx, const unsigned char *cookie,
      size_t cookie_len, const unsigned char *cli_id, size_t cli_id_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:115,1
    - Dst: PSA_ALG_HMAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:120,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:125,1
    - Dst: PSA_ALG_TRUNCATED_MAC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:120,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:123,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:126,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:127,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:127,1
    - Dst: psa_generate_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:129,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:131,1
    - Dst: f_rng
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:137,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:141,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:141,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:146,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_ssl_cookie_ctx*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 155
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 155
    functionName: mbedtls_ssl_cookie_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_info_from_type
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_BYTES_TO_BITS
    - psa_generate_key
    - PSA_ALG_TRUNCATED_MAC
    - psa_set_key_algorithm
    - f_rng
    - mbedtls_platform_zeroize
    - psa_set_key_bits
    - PSA_ALG_HMAC
    - mbedtls_md_psa_alg_from_type
    - PSA_TO_MBEDTLS_ERR
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_cookie_setup(mbedtls_ssl_cookie_ctx *ctx, int (*f_rng)(void
      *, unsigned char *, size_t), void *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - delay
    argTypes:
    - mbedtls_ssl_cookie_ctx*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: mbedtls_ssl_cookie_set_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_cookie_set_timeout(mbedtls_ssl_cookie_ctx *ctx, unsigned
      long delay) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:31,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_CHK_BUF_PTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:205,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:213,1
    - Dst: mbedtls_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:208,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:220,1
    - Dst: psa_mac_sign_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:217,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:224,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:226,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:230,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:232,1
    - Dst: psa_mac_sign_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:236,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:239,1
    - Dst: ssl_cookie_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:253,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:257,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:258,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:266,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:249,1
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:248,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c:268,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 5
    argNames:
    - p_ctx
    - p
    - end
    - cli_id
    - cli_id_len
    argTypes:
    - void*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 272
    functionName: mbedtls_ssl_cookie_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_cookie.c
    functionUses: []
    functionsReached:
    - ssl_cookie_hmac
    - psa_mac_sign_finish
    - MBEDTLS_PUT_UINT32_BE
    - psa_mac_update
    - psa_mac_sign_setup
    - mbedtls_mutex_lock
    - psa_mac_abort
    - mbedtls_time
    - MBEDTLS_ERROR_ADD
    - PSA_TO_MBEDTLS_ERR
    - MBEDTLS_SSL_CHK_BUF_PTR
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_cookie_write(void *p_ctx, unsigned char **p, unsigned
      char *end, const unsigned char *cli_id, size_t cli_id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_hmac_drbg_context*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: mbedtls_hmac_drbg_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_hmac_drbg_init(mbedtls_hmac_drbg_context *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:157,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:188,1
    - Dst: mbedtls_hmac_drbg_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:193,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - additional
    - len
    - use_nonce
    argTypes:
    - mbedtls_hmac_drbg_context*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 204
    functionName: hmac_drbg_reseed_core
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_hmac_drbg_update
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int hmac_drbg_reseed_core(mbedtls_hmac_drbg_context *ctx, const
      unsigned char *additional, size_t len, int use_nonce) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:102,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:119,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:115,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:107,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:116,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:119,1
    - Dst: mbedtls_hmac_drbg_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - md_info
    - data
    - data_len
    argTypes:
    - mbedtls_hmac_drbg_context*
    - mbedtls_md_info_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: mbedtls_hmac_drbg_seed_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_setup
    - mbedtls_mutex_init
    - mbedtls_hmac_drbg_update
    - mbedtls_md_get_size
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_seed_buf(mbedtls_hmac_drbg_context *ctx, const
      mbedtls_md_info_t *md_info, const unsigned char *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - resistance
    argTypes:
    - mbedtls_hmac_drbg_context*
    - int
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: mbedtls_hmac_drbg_set_prediction_resistance
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_hmac_drbg_set_prediction_resistance(mbedtls_hmac_drbg_context
      *ctx, int resistance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - mbedtls_hmac_drbg_context*
    - size_t
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: mbedtls_hmac_drbg_set_entropy_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_hmac_drbg_set_entropy_len(mbedtls_hmac_drbg_context *ctx,
      size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:387,1
    - Dst: mbedtls_hmac_drbg_random_with_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:392,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - p_rng
    - output
    - out_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 401
    functionName: mbedtls_hmac_drbg_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_hmac_drbg_random_with_add
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_random(void *p_rng, unsigned char *output, size_t
      out_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:416,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:420,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_hmac_drbg_context*
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: mbedtls_hmac_drbg_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_md_free
    - mbedtls_mutex_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_hmac_drbg_free(mbedtls_hmac_drbg_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:431,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:442,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:438,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:450,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:436,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - mbedtls_hmac_drbg_context*
    - char*
    constantsTouched: []
    func_position:
      end: 454
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 454
    functionName: mbedtls_hmac_drbg_write_seed_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - fopen
    - mbedtls_setbuf
    - mbedtls_platform_zeroize
    - fwrite
    - mbedtls_hmac_drbg_random
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_write_seed_file(mbedtls_hmac_drbg_context *ctx,
      const char *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:464,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:471,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:472,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:469,1
    - Dst: ferror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:476,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:480,1
    - Dst: mbedtls_hmac_drbg_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:483,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:486,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:488,1
    - Dst: mbedtls_hmac_drbg_write_seed_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:493,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - mbedtls_hmac_drbg_context*
    - char*
    constantsTouched: []
    func_position:
      end: 494
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 494
    functionName: mbedtls_hmac_drbg_update_seed_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - ferror
    - fopen
    - mbedtls_setbuf
    - fread
    - mbedtls_platform_zeroize
    - mbedtls_hmac_drbg_update
    - mbedtls_hmac_drbg_write_seed_file
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_update_seed_file(mbedtls_hmac_drbg_context *ctx,
      const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: hmac_drbg_self_test_entropy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int hmac_drbg_self_test_entropy(void *data, unsigned char *buf,
      size_t len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:46,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:66,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:54,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:57,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:61,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:71,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:76,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:79,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:83,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:89,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - additional
    - add_len
    argTypes:
    - mbedtls_hmac_drbg_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 91
    functionName: mbedtls_hmac_drbg_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_hmac_reset
    - mbedtls_platform_zeroize
    - mbedtls_md_hmac_update
    - mbedtls_md_hmac_finish
    - mbedtls_md_get_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_update(mbedtls_hmac_drbg_context *ctx, const
      unsigned char *additional, size_t add_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_drbg_reseed_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - additional
    - len
    argTypes:
    - mbedtls_hmac_drbg_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: mbedtls_hmac_drbg_reseed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - hmac_drbg_reseed_core
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_reseed(mbedtls_hmac_drbg_context *ctx, const
      unsigned char *additional, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:231,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:240,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:237,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:247,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:250,1
    - Dst: hmac_drbg_reseed_core
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - ctx
    - md_info
    - (*f_entropy)
    - p_entropy
    - custom
    - len
    argTypes:
    - mbedtls_hmac_drbg_context*
    - mbedtls_md_info_t*
    - int
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 274
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 274
    functionName: mbedtls_hmac_drbg_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_setup
    - hmac_drbg_reseed_core
    - mbedtls_mutex_init
    - mbedtls_md_get_size
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_seed(mbedtls_hmac_drbg_context *ctx, const mbedtls_md_info_t
      *md_info, int (*f_entropy)(void *, unsigned char *, size_t), void *p_entropy,
      const unsigned char *custom, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - interval
    argTypes:
    - mbedtls_hmac_drbg_context*
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: mbedtls_hmac_drbg_set_reseed_interval
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_hmac_drbg_set_reseed_interval(mbedtls_hmac_drbg_context
      *ctx, int interval) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:311,1
    - Dst: mbedtls_hmac_drbg_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:338,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:348,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:351,1
    - Dst: mbedtls_hmac_drbg_reseed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:329,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:355,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:359,1
    - Dst: mbedtls_hmac_drbg_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:365,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 5
    argNames:
    - p_rng
    - output
    - out_len
    - additional
    - add_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 376
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 376
    functionName: mbedtls_hmac_drbg_random_with_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_reset
    - memcpy
    - mbedtls_md_hmac_update
    - mbedtls_hmac_drbg_update
    - mbedtls_hmac_drbg_reseed
    - mbedtls_md_hmac_finish
    - mbedtls_md_get_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_random_with_add(void *p_rng, unsigned char *output,
      size_t out_len, const unsigned char *additional, size_t add_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: mbedtls_hmac_drbg_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_self_test(int verbose) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:579,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:583,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:587,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:589,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:608,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:590,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:611,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:613,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:614,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:588,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:602,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:612,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:614,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:615,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:571,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:583,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:587,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:595,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:608,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:592,1
    - Dst: mbedtls_hmac_drbg_reseed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:611,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:613,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:617,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:624,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:573,1
    - Dst: mbedtls_hmac_drbg_set_prediction_resistance
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:586,1
    - Dst: mbedtls_hmac_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:588,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:589,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:605,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:612,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c:620,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 628
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 628
    functionName: mbedtls_hmac_drbg_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/hmac_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_md_info_from_type
    - mbedtls_hmac_drbg_set_prediction_resistance
    - mbedtls_hmac_drbg_free
    - CHK
    - memcmp
    - mbedtls_hmac_drbg_seed
    - mbedtls_hmac_drbg_init
    - mbedtls_hmac_drbg_reseed
    - mbedtls_hmac_drbg_random
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_hmac_drbg_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: hex_to_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int hex_to_int(char c) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:228,1
    - Dst: mbedtls_asn1_get_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:246,1
    - Dst: hexpair_to_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:234,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:269,1
    - Dst: MBEDTLS_ASN1_IS_STRING_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:257,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:271,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:276,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 6
    argNames:
    - s
    - len
    - data
    - data_size
    - data_len
    - tag
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 278
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 278
    functionName: parse_attribute_value_hex_der_encoded
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_free
    - mbedtls_asn1_get_len
    - memcpy
    - MBEDTLS_ASN1_IS_STRING_TAG
    - hexpair_to_int
    linkageType: ''
    returnType: int
    signature: 'static int parse_attribute_value_hex_der_encoded(const char *s, size_t
      len, unsigned char *data, size_t data_size, size_t *data_len, int *tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_store_named_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:388,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - head
    - oid
    - oid_len
    - critical
    - val
    - val_len
    argTypes:
    - mbedtls_asn1_named_data**
    - char*
    - size_t
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: mbedtls_x509_set_extension
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_store_named_data
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_set_extension(mbedtls_asn1_named_data **head, const
      char *oid, size_t oid_len, int critical, const unsigned char *val, size_t val_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:423,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:432,1
    - Dst: mbedtls_asn1_write_tagged_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:423,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:429,1
    - Dst: mbedtls_asn1_write_oid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:429,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:432,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:433,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:433,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:437,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:437,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:438,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - p
    - start
    - cur_name
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_named_data*
    constantsTouched: []
    func_position:
      end: 443
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 443
    functionName: x509_write_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_tagged_string
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_tag
    - mbedtls_asn1_write_oid
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_write_name(unsigned char **p, unsigned char *start,
      mbedtls_asn1_named_data *cur_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:479,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:489,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:489,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:488,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:488,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:503,1
    - Dst: mbedtls_asn1_write_algorithm_identifier_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:504,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 7
    argNames:
    - p
    - start
    - oid
    - oid_len
    - sig
    - size
    - pk_alg
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    - unsigned char*
    - size_t
    - mbedtls_pk_type_t
    constantsTouched: []
    func_position:
      end: 508
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 508
    functionName: mbedtls_x509_write_sig
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len
    - memcpy
    - mbedtls_asn1_write_algorithm_identifier_ext
    - mbedtls_asn1_write_tag
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_write_sig(unsigned char **p, unsigned char *start,
      const char *oid, size_t oid_len, unsigned char *sig, size_t size, mbedtls_pk_type_t
      pk_alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - name
    - name_len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: x509_attr_descr_from_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: x509_attr_descriptor_t*
    signature: 'static const x509_attr_descriptor_t *x509_attr_descr_from_name(const
      char *name, size_t name_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hex_to_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:127,1
    - Dst: hex_to_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hexpair
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: hexpair_to_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - hex_to_int
    linkageType: ''
    returnType: int
    signature: 'static int hexpair_to_int(const char *hexpair) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:453,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:458,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:457,1
    - Dst: x509_write_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:453,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:457,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - p
    - start
    - first
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_named_data*
    constantsTouched: []
    func_position:
      end: 462
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 462
    functionName: mbedtls_x509_write_names
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_tag
    - x509_write_name
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_write_names(unsigned char **p, unsigned char *start,
      mbedtls_asn1_named_data *first) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:516,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:518,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:519,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:516,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:518,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:519,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:522,1
    - Dst: mbedtls_asn1_write_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:522,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:525,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:525,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:528,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:531,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:527,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:528,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:527,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:531,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:530,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - p
    - start
    - ext
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_named_data*
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 535
    functionName: x509_write_extension
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_tag
    - mbedtls_asn1_write_bool
    - mbedtls_asn1_write_raw_buffer
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_write_extension(unsigned char **p, unsigned char *start,
      mbedtls_asn1_named_data *ext) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hexpair_to_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:152,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:158,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - s
    - len
    - data
    - data_len
    argTypes:
    - char*
    - int
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 173
    functionName: parse_attribute_value_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - strchr
    - hexpair_to_int
    linkageType: ''
    returnType: int
    signature: 'static int parse_attribute_value_string(const char *s, int len, unsigned
      char *data, size_t *data_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:285,1
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:295,1
    - Dst: mbedtls_oid_from_numeric_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:300,1
    - Dst: x509_attr_descr_from_name
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:299,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:306,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:307,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:308,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:318,1
    - Dst: parse_attribute_value_hex_der_encoded
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:323,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:327,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:332,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:338,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:349,1
    - Dst: parse_attribute_value_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:336,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:371,1
    - Dst: mbedtls_asn1_store_named_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:346,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 2
    argNames:
    - head
    - name
    argTypes:
    - mbedtls_asn1_named_data**
    - char*
    constantsTouched: []
    func_position:
      end: 374
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 374
    functionName: mbedtls_x509_string_to_names
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_asn1_store_named_data
    - mbedtls_free
    - mbedtls_asn1_free_named_data_list
    - parse_attribute_value_string
    - memcpy
    - strlen
    - parse_attribute_value_hex_der_encoded
    - mbedtls_oid_from_numeric_string
    - x509_attr_descr_from_name
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_string_to_names(mbedtls_asn1_named_data **head, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:555,1
    - Dst: x509_write_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - p
    - start
    - first
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_asn1_named_data*
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: mbedtls_x509_write_extensions
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509_create.c
    functionUses: []
    functionsReached:
    - x509_write_extension
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509_write_extensions(unsigned char **p, unsigned char
      *start, mbedtls_asn1_named_data *first) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_reseed_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - additional
    - len
    argTypes:
    - mbedtls_ctr_drbg_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: mbedtls_ctr_drbg_reseed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_ctr_drbg_reseed_internal
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_reseed(mbedtls_ctr_drbg_context *ctx, const unsigned
      char *additional, size_t len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:629,1
    - Dst: mbedtls_ctr_drbg_reseed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:633,1
    - Dst: ctr_drbg_update_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:643,1
    - Dst: block_cipher_df
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:640,1
    - Dst: mbedtls_ctr_increment_counter
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:652,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:661,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:664,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:668,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:679,1
    - Dst: ctr_drbg_update_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:684,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:691,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 5
    argNames:
    - p_rng
    - output
    - output_len
    - additional
    - add_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 693
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 693
    functionName: mbedtls_ctr_drbg_random_with_add
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_ctr_increment_counter
    - psa_cipher_update
    - psa_generic_status_to_mbedtls
    - mbedtls_ctr_drbg_reseed
    - block_cipher_df
    - mbedtls_aes_crypt_ecb
    - ctr_drbg_update_internal
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_random_with_add(void *p_rng, unsigned char *output,
      size_t output_len, const unsigned char *additional, size_t add_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:726,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:731,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:738,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:733,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:746,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:748,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - mbedtls_ctr_drbg_context*
    - char*
    constantsTouched: []
    func_position:
      end: 750
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 750
    functionName: mbedtls_ctr_drbg_write_seed_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_setbuf
    - mbedtls_platform_zeroize
    - mbedtls_ctr_drbg_random
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_write_seed_file(mbedtls_ctr_drbg_context *ctx,
      const char *path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:761,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:769,1
    - Dst: ferror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:773,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:766,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:768,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:777,1
    - Dst: mbedtls_ctr_drbg_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:780,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:783,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:785,1
    - Dst: mbedtls_ctr_drbg_write_seed_file
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:790,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - mbedtls_ctr_drbg_context*
    - char*
    constantsTouched: []
    func_position:
      end: 791
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 791
    functionName: mbedtls_ctr_drbg_update_seed_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_ctr_drbg_update
    - ferror
    - fopen
    - mbedtls_setbuf
    - mbedtls_ctr_drbg_write_seed_file
    - fread
    - mbedtls_platform_zeroize
    - fclose
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_update_seed_file(mbedtls_ctr_drbg_context *ctx,
      const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: ctr_drbg_self_test_entropy
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int ctr_drbg_self_test_entropy(void *data, unsigned char *buf,
      size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:544,1
    - Dst: good_nonce_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:563,1
    - Dst: ctr_drbg_setup_psa_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:569,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:548,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:571,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:575,1
    - Dst: mbedtls_ctr_drbg_reseed_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - (*f_entropy)
    - p_entropy
    - custom
    - len
    argTypes:
    - mbedtls_ctr_drbg_context*
    - int
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 587
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 587
    functionName: mbedtls_ctr_drbg_seed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - good_nonce_len
    - mbedtls_mutex_init
    - psa_generic_status_to_mbedtls
    - mbedtls_aes_setkey_enc
    - ctr_drbg_setup_psa_context
    - mbedtls_ctr_drbg_reseed_internal
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_seed(mbedtls_ctr_drbg_context *ctx, int (*f_entropy)(void
      *, unsigned char *, size_t), void *p_entropy, const unsigned char *custom, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - resistance
    argTypes:
    - mbedtls_ctr_drbg_context*
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: mbedtls_ctr_drbg_set_prediction_resistance
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ctr_drbg_set_prediction_resistance(mbedtls_ctr_drbg_context
      *ctx, int resistance) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:176,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:199,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:202,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:214,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:235,1
    - Dst: ctr_drbg_destroy_psa_contex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:267,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:271,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:297,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:220,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:285,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:248,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:275,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:241,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:292,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:309,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:317,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:188,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:218,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:255,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:310,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:311,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:312,1
    - Dst: ctr_drbg_setup_psa_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:212,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:231,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:244,1
    - Dst: ctr_drbg_setup_psa_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:269,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:288,1
    - Dst: ctr_drbg_destroy_psa_contex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:302,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:304,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 102
    argCount: 3
    argNames:
    - output
    - data
    - data_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 321
    functionName: block_cipher_df
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_BE
    - mbedtls_xor
    - memcpy
    - ctr_drbg_destroy_psa_contex
    - mbedtls_platform_zeroize
    - mbedtls_aes_init
    - psa_generic_status_to_mbedtls
    - mbedtls_aes_free
    - mbedtls_aes_setkey_enc
    - ctr_drbg_setup_psa_context
    - mbedtls_aes_crypt_ecb
    - psa_cipher_update
    - psa_cipher_operation_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int block_cipher_df(unsigned char *output, const unsigned char
      *data, size_t data_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_set_entropy_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:963,1
    - Dst: mbedtls_ctr_drbg_set_prediction_resistance
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:969,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:984,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:972,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:992,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:996,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:999,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:1001,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:1008,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:965,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:970,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:987,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:997,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:953,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:972,1
    - Dst: mbedtls_ctr_drbg_set_nonce_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:991,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:971,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:974,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:977,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:992,1
    - Dst: mbedtls_ctr_drbg_reseed
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:996,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:998,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:999,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:1004,1
    - Dst: mbedtls_ctr_drbg_set_nonce_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:964,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:965,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:959,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:970,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:971,1
    - Dst: mbedtls_ctr_drbg_set_entropy_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:990,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:997,1
    - Dst: CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:998,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1012
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1012
    functionName: mbedtls_ctr_drbg_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - CHK
    - mbedtls_ctr_drbg_seed
    - mbedtls_ctr_drbg_set_prediction_resistance
    - memcmp
    - mbedtls_ctr_drbg_set_entropy_len
    - mbedtls_ctr_drbg_random
    - mbedtls_ctr_drbg_init
    - mbedtls_ctr_drbg_reseed
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_set_nonce_len
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - mbedtls_ctr_drbg_context*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: mbedtls_ctr_drbg_set_entropy_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ctr_drbg_set_entropy_len(mbedtls_ctr_drbg_context *ctx,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - entropy_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: good_nonce_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t good_nonce_len(size_t entropy_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:343,1
    - Dst: mbedtls_ctr_increment_counter
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:349,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:362,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:358,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:355,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:371,1
    - Dst: ctr_drbg_destroy_psa_contex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:377,1
    - Dst: ctr_drbg_setup_psa_context
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:379,1
    - Dst: psa_generic_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:381,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:385,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:394,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_ctr_drbg_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 396
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 396
    functionName: ctr_drbg_update_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - memcpy
    - ctr_drbg_destroy_psa_contex
    - mbedtls_platform_zeroize
    - mbedtls_ctr_increment_counter
    - psa_generic_status_to_mbedtls
    - mbedtls_aes_crypt_ecb
    - ctr_drbg_setup_psa_context
    - mbedtls_aes_setkey_enc
    - psa_cipher_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ctr_drbg_update_internal(mbedtls_ctr_drbg_context *ctx,
      const unsigned char data[MBEDTLS_CTR_DRBG_SEEDLEN]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:41,1
    - Dst: psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:49,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:43,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:42,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:44,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - psa_ctx
    - key
    - key_len
    argTypes:
    - mbedtls_ctr_drbg_psa_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: ctr_drbg_setup_psa_context
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - psa_set_key_usage_flags
    - psa_cipher_encrypt_setup
    - psa_set_key_type
    - psa_import_key
    - psa_set_key_algorithm
    - psa_reset_key_attributes
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t ctr_drbg_setup_psa_context(mbedtls_ctr_drbg_psa_context
      *psa_ctx, unsigned char *key, size_t key_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:101,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:107,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:109,1
    - Dst: ctr_drbg_destroy_psa_contex
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ctr_drbg_context*
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: mbedtls_ctr_drbg_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - ctr_drbg_destroy_psa_contex
    - mbedtls_aes_free
    - mbedtls_mutex_free
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ctr_drbg_free(mbedtls_ctr_drbg_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - mbedtls_ctr_drbg_context*
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mbedtls_ctr_drbg_set_nonce_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_set_nonce_len(mbedtls_ctr_drbg_context *ctx,
      size_t len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:465,1
    - Dst: block_cipher_df
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:488,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:483,1
    - Dst: ctr_drbg_update_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:493,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - additional
    - len
    - nonce_len
    argTypes:
    - mbedtls_ctr_drbg_context*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 501
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 501
    functionName: mbedtls_ctr_drbg_reseed_internal
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - memcpy
    - block_cipher_df
    - ctr_drbg_update_internal
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_ctr_drbg_reseed_internal(mbedtls_ctr_drbg_context
      *ctx, const unsigned char *additional, size_t len, size_t nonce_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:702,1
    - Dst: mbedtls_ctr_drbg_random_with_add
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:707,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - p_rng
    - output
    - output_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 716
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 716
    functionName: mbedtls_ctr_drbg_random
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_ctr_drbg_random_with_add
    - mbedtls_mutex_unlock
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_random(void *p_rng, unsigned char *output, size_t
      output_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:61,1
    - Dst: psa_cipher_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:64,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psa_ctx
    argTypes:
    - mbedtls_ctr_drbg_psa_context*
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: ctr_drbg_destroy_psa_contex
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - psa_cipher_abort
    - psa_destroy_key
    - psa_cipher_operation_init
    linkageType: ''
    returnType: void
    signature: 'static void ctr_drbg_destroy_psa_contex(mbedtls_ctr_drbg_psa_context
      *psa_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - interval
    argTypes:
    - mbedtls_ctr_drbg_context*
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: mbedtls_ctr_drbg_set_reseed_interval
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ctr_drbg_set_reseed_interval(mbedtls_ctr_drbg_context
      *ctx, int interval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:74,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:79,1
    - Dst: psa_cipher_operation_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_ctr_drbg_context*
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: mbedtls_ctr_drbg_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - psa_cipher_operation_init
    - mbedtls_aes_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ctr_drbg_init(mbedtls_ctr_drbg_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_cipher_df
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:421,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:429,1
    - Dst: ctr_drbg_update_internal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c:424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - additional
    - add_len
    argTypes:
    - mbedtls_ctr_drbg_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: mbedtls_ctr_drbg_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ctr_drbg.c
    functionUses: []
    functionsReached:
    - ctr_drbg_update_internal
    - mbedtls_platform_zeroize
    - block_cipher_df
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ctr_drbg_update(mbedtls_ctr_drbg_context *ctx, const unsigned
      char *additional, size_t add_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_md_info_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 241
    functionName: psa_alg_of_md
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_algorithm_t
    signature: 'static psa_algorithm_t psa_alg_of_md(const mbedtls_md_info_t *info) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: md_can_use_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:692,1
    - Dst: psa_alg_of_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:694,1
    - Dst: mbedtls_md5
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:704,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:694,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:697,1
    - Dst: mbedtls_ripemd160
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:708,1
    - Dst: mbedtls_sha1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:712,1
    - Dst: mbedtls_sha256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:716,1
    - Dst: mbedtls_sha256
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:720,1
    - Dst: mbedtls_sha512
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:724,1
    - Dst: mbedtls_sha512
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:728,1
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:736,1
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:738,1
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:732,1
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:734,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 4
    argNames:
    - md_info
    - input
    - ilen
    - output
    argTypes:
    - mbedtls_md_info_t*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 743
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 743
    functionName: mbedtls_md
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - psa_hash_compute
    - mbedtls_sha3
    - mbedtls_sha512
    - mbedtls_md_error_from_psa
    - md_can_use_psa
    - mbedtls_ripemd160
    - mbedtls_sha1
    - mbedtls_md5
    - psa_alg_of_md
    - mbedtls_sha256
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md(const mbedtls_md_info_t *md_info, const unsigned char
      *input, size_t ilen, unsigned char *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:885,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - md_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 890
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 890
    functionName: mbedtls_md_info_from_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - strcmp
    - mbedtls_md_info_from_type
    linkageType: ''
    returnType: mbedtls_md_info_t*
    signature: 'const mbedtls_md_info_t *mbedtls_md_info_from_string(const char *md_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_alg_of_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:245,1
    - Dst: psa_can_do_hash
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_md_info_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: md_can_use_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - psa_can_do_hash
    - psa_alg_of_md
    linkageType: ''
    returnType: int
    signature: 'static int md_can_use_psa(const mbedtls_md_info_t *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - md_info
    argTypes:
    - mbedtls_md_info_t*
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: mbedtls_md_get_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char mbedtls_md_get_size(const mbedtls_md_info_t *md_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - md_info
    argTypes:
    - mbedtls_md_info_t*
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: mbedtls_md_get_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mbedtls_md_get_name(const mbedtls_md_info_t *md_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md_context_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: mbedtls_md_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_md_init(mbedtls_md_context_t *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:930,1
    - Dst: mbedtls_setbuf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:935,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:937,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:943,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:939,1
    - Dst: fread
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:947,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:948,1
    - Dst: ferror
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:953,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:956,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:960,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:961,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:962,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - md_info
    - path
    - output
    argTypes:
    - mbedtls_md_info_t*
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 965
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 965
    functionName: mbedtls_md_file
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_md_free
    - ferror
    - mbedtls_setbuf
    - fread
    - mbedtls_platform_zeroize
    - mbedtls_md_update
    - mbedtls_md_init
    - mbedtls_md_starts
    - fclose
    - fopen
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_file(const mbedtls_md_info_t *md_info, const char *path,
      unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_TO_MBEDTLS_ERR_LIST
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: mbedtls_md_error_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - PSA_TO_MBEDTLS_ERR_LIST
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_error_from_psa(psa_status_t status) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:269,1
    - Dst: mbedtls_sha1_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:285,1
    - Dst: mbedtls_sha256_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:290,1
    - Dst: mbedtls_ripemd160_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:280,1
    - Dst: mbedtls_md5_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:275,1
    - Dst: mbedtls_sha256_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:295,1
    - Dst: mbedtls_sha512_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:300,1
    - Dst: mbedtls_sha512_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:305,1
    - Dst: mbedtls_sha3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:313,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:320,1
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:325,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:330,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md_context_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 331
    functionName: mbedtls_md_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_sha512_free
    - mbedtls_sha3_free
    - psa_hash_abort
    - mbedtls_free
    - mbedtls_ripemd160_free
    - mbedtls_platform_zeroize
    - mbedtls_sha1_free
    - mbedtls_sha256_free
    - mbedtls_md5_free
    - mbedtls_zeroize_and_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_md_free(mbedtls_md_context_t *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:979,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:982,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:997,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:996,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:985,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:999,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1000,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1002,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1005,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1011,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1014
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 1014
    functionName: mbedtls_md_hmac_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - mbedtls_platform_zeroize
    - mbedtls_md_starts
    - mbedtls_md_update
    - mbedtls_md_finish
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_hmac_starts(mbedtls_md_context_t *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:352,1
    - Dst: mbedtls_sha1_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:370,1
    - Dst: mbedtls_ripemd160_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:365,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:353,1
    - Dst: mbedtls_md5_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:360,1
    - Dst: mbedtls_sha256_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:375,1
    - Dst: mbedtls_sha256_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:380,1
    - Dst: mbedtls_sha512_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:385,1
    - Dst: mbedtls_sha512_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:390,1
    - Dst: mbedtls_sha3_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:398,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_md_context_t*
    - mbedtls_md_context_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 406
    functionName: mbedtls_md_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_sha1_clone
    - mbedtls_sha3_clone
    - mbedtls_md5_clone
    - mbedtls_sha256_clone
    - mbedtls_md_error_from_psa
    - psa_hash_clone
    - mbedtls_ripemd160_clone
    - mbedtls_sha512_clone
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_clone(mbedtls_md_context_t *dst, const mbedtls_md_context_t
      *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1023
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1023
    functionName: mbedtls_md_hmac_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_md_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_hmac_update(mbedtls_md_context_t *ctx, const unsigned
      char *input, size_t ilen) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:580,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:581,1
    - Dst: mbedtls_ripemd160_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:592,1
    - Dst: mbedtls_sha1_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:596,1
    - Dst: mbedtls_md5_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:588,1
    - Dst: mbedtls_sha256_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:600,1
    - Dst: mbedtls_sha256_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:604,1
    - Dst: mbedtls_sha512_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:608,1
    - Dst: mbedtls_sha512_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:612,1
    - Dst: mbedtls_sha3_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:619,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 624
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 624
    functionName: mbedtls_md_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_sha3_update
    - mbedtls_sha1_update
    - mbedtls_sha512_update
    - mbedtls_md_error_from_psa
    - mbedtls_md5_update
    - mbedtls_sha256_update
    - mbedtls_ripemd160_update
    - psa_hash_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_update(mbedtls_md_context_t *ctx, const unsigned char
      *input, size_t ilen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md_context_t*
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: mbedtls_md_info_from_ctx
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_md_info_t*
    signature: 'const mbedtls_md_info_t *mbedtls_md_info_from_ctx( const mbedtls_md_context_t
      *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1037,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1040,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1051,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1043,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1047,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1052
    functionName: mbedtls_md_hmac_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_md_update
    - mbedtls_md_finish
    - mbedtls_md_starts
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_hmac_finish(mbedtls_md_context_t *ctx, unsigned char
      *output) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: psa_alg_of_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:519,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:521,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:522,1
    - Dst: mbedtls_md5_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:529,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:520,1
    - Dst: mbedtls_ripemd160_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:533,1
    - Dst: mbedtls_sha1_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:537,1
    - Dst: mbedtls_sha256_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:541,1
    - Dst: mbedtls_sha256_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:545,1
    - Dst: mbedtls_sha512_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:549,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:557,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:561,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:563,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:559,1
    - Dst: mbedtls_sha512_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:553,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md_context_t*
    constantsTouched: []
    func_position:
      end: 568
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 568
    functionName: mbedtls_md_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_ripemd160_starts
    - psa_hash_abort
    - mbedtls_sha512_starts
    - mbedtls_sha3_starts
    - mbedtls_sha1_starts
    - mbedtls_md_error_from_psa
    - mbedtls_sha256_starts
    - mbedtls_md5_starts
    - psa_hash_setup
    - psa_alg_of_md
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_starts(mbedtls_md_context_t *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:637,1
    - Dst: mbedtls_ripemd160_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:650,1
    - Dst: mbedtls_md_error_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:639,1
    - Dst: mbedtls_sha1_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:654,1
    - Dst: mbedtls_md5_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:646,1
    - Dst: mbedtls_sha256_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:658,1
    - Dst: mbedtls_sha256_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:662,1
    - Dst: mbedtls_sha512_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:666,1
    - Dst: mbedtls_sha512_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:670,1
    - Dst: mbedtls_sha3_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:677,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 682
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 682
    functionName: mbedtls_md_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_sha256_finish
    - mbedtls_md_error_from_psa
    - mbedtls_ripemd160_finish
    - mbedtls_sha3_finish
    - mbedtls_sha512_finish
    - psa_hash_finish
    - mbedtls_md5_finish
    - mbedtls_sha1_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_finish(mbedtls_md_context_t *ctx, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: mbedtls_md_list
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int*
    signature: 'const int *mbedtls_md_list(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1065,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1068,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md_context_t*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1069
    functionName: mbedtls_md_hmac_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_md_update
    - mbedtls_md_starts
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_hmac_reset(mbedtls_md_context_t *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - md_info
    argTypes:
    - mbedtls_md_info_t*
    constantsTouched: []
    func_position:
      end: 761
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 761
    functionName: mbedtls_md_get_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_md_type_t
    signature: 'mbedtls_md_type_t mbedtls_md_get_type(const mbedtls_md_info_t *md_info) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 1
    argNames:
    - md_type
    argTypes:
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 188
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 188
    functionName: mbedtls_md_info_from_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_md_info_t*
    signature: 'const mbedtls_md_info_t *mbedtls_md_info_from_type(mbedtls_md_type_t
      md_type) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: md_can_use_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:439,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:455,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:450,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:460,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:440,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:465,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:470,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:475,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:480,1
    - Dst: ALLOC
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:488,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:499,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:497,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - md_info
    - hmac
    argTypes:
    - mbedtls_md_context_t*
    - mbedtls_md_info_t*
    - int
    constantsTouched: []
    func_position:
      end: 506
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 506
    functionName: mbedtls_md_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - mbedtls_md_free
    - md_can_use_psa
    - ALLOC
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_setup(mbedtls_md_context_t *ctx, const mbedtls_md_info_t
      *md_info, int hmac) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1083,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1085,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1089,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1092,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1095,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c:1100,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 6
    argNames:
    - md_info
    - key
    - keylen
    - input
    - ilen
    - output
    argTypes:
    - mbedtls_md_info_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1103
    functionName: mbedtls_md_hmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_free
    - mbedtls_md_hmac_update
    - mbedtls_md_init
    - mbedtls_md_hmac_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md_hmac(const mbedtls_md_info_t *md_info, const unsigned
      char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned
      char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha1_context*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: mbedtls_sha1_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha1_init(mbedtls_sha1_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha1_context*
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: mbedtls_sha1_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha1_starts(mbedtls_sha1_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha1_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:360,1
    - Dst: mbedtls_sha1_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:366,1
    - Dst: mbedtls_sha1_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:362,1
    - Dst: mbedtls_sha1_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:375,1
    - Dst: mbedtls_sha1_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - input
    - ilen
    - output
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: mbedtls_sha1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached:
    - mbedtls_sha1_update
    - mbedtls_sha1_starts
    - mbedtls_sha1_init
    - mbedtls_sha1_free
    - mbedtls_sha1_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha1(const unsigned char *input, size_t ilen, unsigned
      char output[20]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha1_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:415,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:430,1
    - Dst: mbedtls_sha1_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:425,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:422,1
    - Dst: mbedtls_sha1_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:433,1
    - Dst: mbedtls_sha1_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:439,1
    - Dst: mbedtls_sha1_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:446,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:450,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:456,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:461,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:468,1
    - Dst: mbedtls_sha1_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:472,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 475
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 475
    functionName: mbedtls_sha1_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - memcmp
    - mbedtls_sha1_update
    - mbedtls_sha1_starts
    - mbedtls_sha1_init
    - mbedtls_sha1_free
    - mbedtls_sha1_finish
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha1_self_test(int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha1_context*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: mbedtls_sha1_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha1_free(mbedtls_sha1_context *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:260,1
    - Dst: mbedtls_internal_sha1_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:262,1
    - Dst: mbedtls_internal_sha1_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:272,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_sha1_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 285
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 285
    functionName: mbedtls_sha1_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_internal_sha1_process
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha1_update(mbedtls_sha1_context *ctx, const unsigned
      char *input, size_t ilen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_sha1_context*
    - mbedtls_sha1_context*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: mbedtls_sha1_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha1_clone(mbedtls_sha1_context *dst, const mbedtls_sha1_context
      *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:306,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:315,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:309,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:325,1
    - Dst: mbedtls_internal_sha1_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:311,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:326,1
    - Dst: mbedtls_internal_sha1_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:328,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:335,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:336,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:337,1
    - Dst: mbedtls_sha1_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:344,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:339,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_sha1_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 346
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 346
    functionName: mbedtls_sha1_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached:
    - mbedtls_sha1_free
    - mbedtls_internal_sha1_process
    - MBEDTLS_PUT_UINT32_BE
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha1_finish(mbedtls_sha1_context *ctx, unsigned char output[20]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:76,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:126,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:132,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:154,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:152,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:158,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:160,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:180,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:186,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:206,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:202,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:147,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:115,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:143,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:149,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:169,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:175,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:197,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:201,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:203,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:208,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:214,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:156,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:78,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:128,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:130,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:134,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:182,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:184,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:188,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:210,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:227,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:210,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:117,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:119,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:145,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:151,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:171,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:173,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:177,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:179,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:199,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:205,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:72,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:120,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:148,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:154,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:146,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:152,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:174,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:180,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:200,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:202,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:205,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:211,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:203,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:209,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:81,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:133,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:143,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:159,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:161,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:169,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:187,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:197,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:208,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:213,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:150,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:156,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:74,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:122,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:124,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:176,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:178,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:182,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:184,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:204,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:204,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:85,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:83,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:145,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:171,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:173,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:199,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:86,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:84,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:142,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:148,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:146,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:174,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:200,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:77,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:127,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:129,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:133,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:155,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:153,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:159,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:161,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:181,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:187,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:207,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:213,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:144,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:150,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:116,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:118,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:170,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:172,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:176,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:178,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:196,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:198,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:212,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:157,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:79,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:131,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:183,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:185,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:211,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:215,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:80,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:132,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:142,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:158,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:160,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:186,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:212,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:214,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:147,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:153,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:71,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:73,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:121,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:149,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:155,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:175,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:181,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:201,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:207,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:144,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:82,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:134,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:170,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:172,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:188,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:196,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:198,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:157,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:151,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:75,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:123,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:125,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:131,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:177,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:179,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:183,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:185,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:209,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:215,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 188
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_sha1_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 230
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 230
    functionName: mbedtls_internal_sha1_process
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha1.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_platform_zeroize
    - P
    - R
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_sha1_process(mbedtls_sha1_context *ctx, const
      unsigned char data[64]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:177,1
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:180,1
    - Dst: mbedtls_put_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:199,1
    - Dst: mbedtls_get_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:198,1
    - Dst: mbedtls_get_unaligned_uint64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:197,1
    - Dst: mbedtls_get_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:203,1
    - Dst: mbedtls_get_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:204,1
    - Dst: mbedtls_put_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - condition
    - dest
    - src1
    - src2
    - len
    argTypes:
    - mbedtls_ct_condition_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 212
    functionName: mbedtls_ct_memcpy_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c
    functionUses: []
    functionsReached:
    - mbedtls_get_unaligned_uint32
    - mbedtls_get_unaligned_uint64
    - mbedtls_put_unaligned_uint64
    - mbedtls_put_unaligned_uint32
    - mbedtls_ct_compiler_opaque
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ct_memcpy_if(mbedtls_ct_condition_t condition, unsigned
      char *dest, const unsigned char *src1, const unsigned char *src2, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_get_unaligned_volatile_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:84,1
    - Dst: mbedtls_get_unaligned_volatile_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: mbedtls_ct_memcmp
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c
    functionUses: []
    functionsReached:
    - mbedtls_get_unaligned_volatile_uint32
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ct_memcmp(const void *a, const void *b, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: mbedtls_get_unaligned_volatile_uint32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t mbedtls_get_unaligned_volatile_uint32(volatile
      const unsigned char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_memcpy_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:224,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - dest
    - src
    - offset
    - offset_min
    - offset_max
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: mbedtls_ct_memcpy_offset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_eq
    - mbedtls_ct_memcpy_if
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ct_memcpy_offset(unsigned char *dest, const unsigned
      char *src, size_t offset, size_t offset_min, size_t offset_max, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_put_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:238,1
    - Dst: mbedtls_get_unaligned_uint32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - condition
    - buf
    - len
    argTypes:
    - mbedtls_ct_condition_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: mbedtls_ct_zeroize_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c
    functionUses: []
    functionsReached:
    - mbedtls_put_unaligned_uint32
    - mbedtls_get_unaligned_uint32
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ct_zeroize_if(mbedtls_ct_condition_t condition, void
      *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:136,1
    - Dst: mbedtls_ct_uint_ge
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:136,1
    - Dst: mbedtls_ct_uint_lt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:137,1
    - Dst: mbedtls_ct_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - a
    - b
    - n
    - skip_head
    - skip_tail
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: mbedtls_ct_memcmp_partial
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_if_else_0
    - mbedtls_ct_uint_ge
    - mbedtls_ct_uint_lt
    - mbedtls_ct_bool_and
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ct_memcmp_partial(const void *a, const void *b, size_t
      n, size_t skip_head, size_t skip_tail) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_gt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:154,1
    - Dst: mbedtls_ct_uint_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:161,1
    - Dst: mbedtls_ct_uint_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - start
    - total
    - offset
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: mbedtls_ct_memmove_left
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_if_else_0
    - mbedtls_ct_uint_if
    - mbedtls_ct_uint_gt
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ct_memmove_left(void *start, size_t total, size_t offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - condition
    - if1
    - if0
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_ct_uint_t
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 283
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 283
    functionName: mbedtls_ct_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_compiler_opaque
    linkageType: ''
    returnType: mbedtls_ct_uint_t
    signature: 'static inline mbedtls_ct_uint_t mbedtls_ct_if(mbedtls_ct_condition_t
      condition, mbedtls_ct_uint_t if1, mbedtls_ct_uint_t if0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - condition
    - if1
    - if0
    argTypes:
    - mbedtls_ct_condition_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: mbedtls_ct_size_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_if
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ct_size_if(mbedtls_ct_condition_t condition,
      size_t if1, size_t if0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - condition
    - if1
    - if0
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_ct_condition_t
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: mbedtls_ct_bool_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_if
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_bool_if(mbedtls_ct_condition_t
      condition, mbedtls_ct_condition_t if1, mbedtls_ct_condition_t if0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - condition
    - if1
    - if0
    argTypes:
    - mbedtls_ct_condition_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: mbedtls_ct_error_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_if
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ct_error_if(mbedtls_ct_condition_t condition,
      int if1, int if0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_lt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_uint_t
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: mbedtls_ct_uint_ge
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_lt
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_uint_ge(mbedtls_ct_uint_t
      x, mbedtls_ct_uint_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_ne
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_uint_t
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: mbedtls_ct_uint_eq
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_ne
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_uint_eq(mbedtls_ct_uint_t
      x, mbedtls_ct_uint_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:307,1
    - Dst: mbedtls_ct_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:386,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:374,1
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:368,1
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:369,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_uint_t
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 394
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 394
    functionName: mbedtls_ct_uint_lt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - defined
    - mbedtls_ct_bool
    - mbedtls_ct_if
    - mbedtls_ct_compiler_opaque
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_uint_lt(mbedtls_ct_uint_t
      x, mbedtls_ct_uint_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - condition
    - if1
    - if0
    argTypes:
    - mbedtls_ct_condition_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: mbedtls_ct_uint_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_if
    linkageType: ''
    returnType: unsigned
    signature: 'static inline unsigned mbedtls_ct_uint_if(mbedtls_ct_condition_t condition,
      unsigned if1, unsigned if0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - condition
    - if1
    argTypes:
    - mbedtls_ct_condition_t
    - int
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: mbedtls_ct_error_if_else_0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_ct_error_if_else_0(mbedtls_ct_condition_t
      condition, int if1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_lt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_uint_t
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: mbedtls_ct_uint_gt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_lt
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_uint_gt(mbedtls_ct_uint_t
      x, mbedtls_ct_uint_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_uint_gt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_uint_t
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: mbedtls_ct_uint_le
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_uint_gt
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_uint_le(mbedtls_ct_uint_t
      x, mbedtls_ct_uint_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - condition
    - if1
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: mbedtls_ct_bool_if_else_0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_bool_if_else_0(mbedtls_ct_condition_t
      condition, mbedtls_ct_condition_t if1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: mbedtls_ct_bool_or
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_bool_or(mbedtls_ct_condition_t
      x, mbedtls_ct_condition_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: mbedtls_ct_bool_not
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_bool_not(mbedtls_ct_condition_t
      x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: mbedtls_ct_bool_ne
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_bool_ne(mbedtls_ct_condition_t
      x, mbedtls_ct_condition_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_ct_condition_t
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: mbedtls_ct_bool_and
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_bool_and(mbedtls_ct_condition_t
      x, mbedtls_ct_condition_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: mbedtls_ct_compiler_opaque
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_ct_uint_t
    signature: 'static inline mbedtls_ct_uint_t mbedtls_ct_compiler_opaque(mbedtls_ct_uint_t
      x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:399,1
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:399,1
    - Dst: mbedtls_ct_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mbedtls_ct_uint_t
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: mbedtls_ct_uint_ne
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_bool
    - mbedtls_ct_compiler_opaque
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_uint_ne(mbedtls_ct_uint_t
      x, mbedtls_ct_uint_t y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - mbedtls_ct_uint_t
    constantsTouched: []
    func_position:
      end: 217
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 217
    functionName: mbedtls_ct_bool
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_compiler_opaque
    linkageType: ''
    returnType: mbedtls_ct_condition_t
    signature: 'static inline mbedtls_ct_condition_t mbedtls_ct_bool(mbedtls_ct_uint_t
      x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - condition
    - if1
    argTypes:
    - mbedtls_ct_condition_t
    - size_t
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: mbedtls_ct_size_if_else_0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static inline size_t mbedtls_ct_size_if_else_0(mbedtls_ct_condition_t
      condition, size_t if1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:410,1
    - Dst: mbedtls_ct_compiler_opaque
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - low
    - high
    - c
    - t
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: mbedtls_ct_uchar_in_range_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_compiler_opaque
    linkageType: ''
    returnType: unsigned char
    signature: 'static inline unsigned char mbedtls_ct_uchar_in_range_if(unsigned
      char low, unsigned char high, unsigned char c, unsigned char t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - condition
    - if1
    argTypes:
    - mbedtls_ct_condition_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: mbedtls_ct_uint_if_else_0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: 'static inline unsigned mbedtls_ct_uint_if_else_0(mbedtls_ct_condition_t
      condition, unsigned if1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ct_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - condition
    - if1
    - if0
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_mpi_uint
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: mbedtls_ct_mpi_uint_if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached:
    - mbedtls_ct_if
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'static inline mbedtls_mpi_uint mbedtls_ct_mpi_uint_if(mbedtls_ct_condition_t
      condition, mbedtls_mpi_uint if1, mbedtls_mpi_uint if0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - condition
    - if1
    argTypes:
    - mbedtls_ct_condition_t
    - mbedtls_mpi_uint
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: mbedtls_ct_mpi_uint_if_else_0
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/constant_time_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi_uint
    signature: 'static inline mbedtls_mpi_uint mbedtls_ct_mpi_uint_if_else_0(mbedtls_ct_condition_t
      condition, mbedtls_mpi_uint if1) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: mbedtls_pk_ec_ro
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_type
    linkageType: ''
    returnType: mbedtls_ecp_keypair*
    signature: 'static inline const mbedtls_ecp_keypair *mbedtls_pk_ec_ro(const mbedtls_pk_context
      pk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: mbedtls_pk_ec_rw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h
    functionUses: []
    functionsReached:
    - mbedtls_pk_get_type
    linkageType: ''
    returnType: mbedtls_ecp_keypair*
    signature: 'static inline mbedtls_ecp_keypair *mbedtls_pk_ec_rw(const mbedtls_pk_context
      pk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:90,1
    - Dst: PSA_KEY_TYPE_ECC_GET_FAMILY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:99,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:98,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:95,1
    - Dst: mbedtls_ecc_group_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:100,1
    - Dst: psa_get_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:100,1
    - Dst: psa_reset_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:101,1
    - Dst: mbedtls_ecc_group_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:106,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: mbedtls_pk_get_ec_group_id
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h
    functionUses: []
    functionsReached:
    - mbedtls_ecc_group_from_psa
    - psa_get_key_bits
    - psa_get_key_attributes
    - psa_reset_key_attributes
    - psa_get_key_type
    - mbedtls_pk_get_type
    - mbedtls_pk_ec_ro
    - PSA_KEY_TYPE_ECC_GET_FAMILY
    linkageType: ''
    returnType: mbedtls_ecp_group_id
    signature: 'static inline mbedtls_ecp_group_id mbedtls_pk_get_ec_group_id(const
      mbedtls_pk_context *pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_get_ec_group_id
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:125,1
    - Dst: MBEDTLS_PK_IS_RFC8410_GROUP_ID
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: mbedtls_pk_is_rfc8410
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_internal.h
    functionUses: []
    functionsReached:
    - MBEDTLS_PK_IS_RFC8410_GROUP_ID
    - mbedtls_pk_get_ec_group_id
    linkageType: ''
    returnType: int
    signature: 'static inline int mbedtls_pk_is_rfc8410(const mbedtls_pk_context *pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: mbedtls_get_unaligned_uint16
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: '__attribute__((always_inline)) #endif static inline uint16_t mbedtls_get_unaligned_uint16(const
      void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: mbedtls_get_unaligned_uint64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: '__attribute__((always_inline)) #endif static inline uint64_t mbedtls_get_unaligned_uint64(const
      void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: mbedtls_put_unaligned_uint64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: '__attribute__((always_inline)) #endif static inline void mbedtls_put_unaligned_uint64(void
      *p, uint64_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: mbedtls_bswap16
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'static inline uint16_t mbedtls_bswap16(uint16_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: mbedtls_bswap32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t mbedtls_bswap32(uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: mbedtls_bswap64
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static inline uint64_t mbedtls_bswap64(uint64_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: mbedtls_put_unaligned_uint16
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: '__attribute__((always_inline)) #endif static inline void mbedtls_put_unaligned_uint16(void
      *p, uint16_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: mbedtls_get_unaligned_uint32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: '__attribute__((always_inline)) #endif static inline uint32_t mbedtls_get_unaligned_uint32(const
      void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: mbedtls_put_unaligned_uint32
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/alignment.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: '__attribute__((always_inline)) #endif static inline void mbedtls_put_unaligned_uint32(void
      *p, uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - psa_crypto_transaction_type_t
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: psa_crypto_prepare_transaction
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_storage.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void psa_crypto_prepare_transaction( psa_crypto_transaction_type_t
      type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - psa_key_id_t
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: psa_key_id_is_volatile
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int psa_key_id_is_volatile(psa_key_id_t key_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - slot
    - expected_state
    - new_state
    argTypes:
    - psa_key_slot_t*
    - psa_key_slot_state_t
    - psa_key_slot_state_t
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: psa_key_slot_state_transition
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_key_slot_state_transition( psa_key_slot_t
      *slot, psa_key_slot_state_t expected_state, psa_key_slot_state_t new_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_LIFETIME_GET_LOCATION
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - lifetime
    argTypes:
    - psa_key_lifetime_t
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: psa_key_lifetime_is_external
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.h
    functionUses: []
    functionsReached:
    - PSA_KEY_LIFETIME_GET_LOCATION
    linkageType: ''
    returnType: int
    signature: 'static inline int psa_key_lifetime_is_external(psa_key_lifetime_t
      lifetime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - slot
    argTypes:
    - psa_key_slot_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: psa_register_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_slot_management.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static inline psa_status_t psa_register_read(psa_key_slot_t *slot) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:295,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:305,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:314,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:315,1
    - Dst: mbedtls_cipher_info_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:299,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:316,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:322,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:333,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:337,1
    - Dst: PSA_ALG_IS_STREAM_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:351,1
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:352,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:356,1
    - Dst: PSA_CIPHER_IV_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:353,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 6
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - cipher_operation
    argTypes:
    - mbedtls_psa_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - mbedtls_operation_t
    constantsTouched: []
    func_position:
      end: 357
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 357
    functionName: psa_cipher_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - PSA_ALG_IS_STREAM_CIPHER
    - mbedtls_to_psa_error
    - memcpy
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - mbedtls_cipher_init
    - mbedtls_cipher_set_padding_mode
    - PSA_CIPHER_IV_LENGTH
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_from_psa
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_cipher_setup( mbedtls_psa_cipher_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg, mbedtls_operation_t cipher_operation) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:138,1
    - Dst: PSA_ALG_IS_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:142,1
    - Dst: PSA_ALG_IS_AEAD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:142,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:185,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:139,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:190,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:195,1
    - Dst: mbedtls_cipher_validate_values
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:253,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 46
    argCount: 5
    argNames:
    - alg
    - key_type
    - key_bits
    - mode
    - cipher_id
    argTypes:
    - psa_algorithm_t
    - psa_key_type_t
    - size_t*
    - mbedtls_cipher_mode_t*
    - mbedtls_cipher_id_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 254
    functionName: mbedtls_cipher_values_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_CIPHER
    - PSA_ALG_IS_AEAD
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    - mbedtls_cipher_validate_values
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_cipher_values_from_psa( psa_algorithm_t alg,
      psa_key_type_t key_type, size_t *key_bits, mbedtls_cipher_mode_t *mode, mbedtls_cipher_id_t
      *cipher_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:389,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - operation
    - iv
    - iv_length
    argTypes:
    - mbedtls_psa_cipher_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: mbedtls_psa_cipher_set_iv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_cipher_set_iv
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_set_iv( mbedtls_psa_cipher_operation_t
      *operation, const uint8_t *iv, size_t iv_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:426,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:468,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:443,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:451,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:450,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:469,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:486,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 5
    argNames:
    - ctx
    - input
    - input_length
    - output
    - output_length
    argTypes:
    - mbedtls_cipher_context_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 495
    functionName: psa_cipher_update_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_cipher_update
    - memcpy
    - mbedtls_cipher_info_get_block_size
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_cipher_update_ecb( mbedtls_cipher_context_t
      *ctx, const uint8_t *input, size_t input_length, uint8_t *output, size_t *output_length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_STREAM_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:506,1
    - Dst: psa_cipher_update_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:527,1
    - Dst: mbedtls_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:540,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 6
    argNames:
    - operation
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 549
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 549
    functionName: mbedtls_psa_cipher_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_cipher_update
    - psa_cipher_update_ecb
    - PSA_ALG_IS_STREAM_CIPHER
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_update( mbedtls_psa_cipher_operation_t
      *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t
      output_size, size_t *output_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ALG_IS_CIPHER
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:594,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_cipher_operation_t*
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: mbedtls_psa_cipher_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - PSA_ALG_IS_CIPHER
    - mbedtls_cipher_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_abort( mbedtls_psa_cipher_operation_t
      *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 368
    functionName: mbedtls_psa_cipher_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - psa_cipher_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_encrypt_setup( mbedtls_psa_cipher_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_cipher_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: mbedtls_psa_cipher_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - psa_cipher_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_decrypt_setup( mbedtls_psa_cipher_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:566,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:577,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:583,1
    - Dst: mbedtls_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:567,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - operation
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_psa_cipher_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 587
    functionName: mbedtls_psa_cipher_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - memcpy
    - mbedtls_cipher_finish
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_finish( mbedtls_psa_cipher_operation_t
      *operation, uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_cipher_encrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:620,1
    - Dst: mbedtls_buffer_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:643,1
    - Dst: mbedtls_psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:634,1
    - Dst: mbedtls_psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:628,1
    - Dst: mbedtls_psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:641,1
    - Dst: mbedtls_psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:653,1
    - Dst: mbedtls_psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:655,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 11
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - iv
    - iv_length
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 659
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 659
    functionName: mbedtls_psa_cipher_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_cipher_abort
    - mbedtls_psa_cipher_update
    - mbedtls_psa_cipher_set_iv
    - mbedtls_psa_cipher_finish
    - mbedtls_buffer_offset
    - mbedtls_psa_cipher_encrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_encrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *iv, size_t iv_length, const uint8_t *input, size_t input_length,
      uint8_t *output, size_t output_size, size_t *output_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:676,1
    - Dst: mbedtls_psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:691,1
    - Dst: mbedtls_buffer_offset_const
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:693,1
    - Dst: mbedtls_psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:702,1
    - Dst: mbedtls_psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:684,1
    - Dst: mbedtls_buffer_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:704,1
    - Dst: mbedtls_psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:714,1
    - Dst: mbedtls_psa_cipher_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:716,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 9
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 720
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 720
    functionName: mbedtls_psa_cipher_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_cipher_abort
    - mbedtls_psa_cipher_update
    - mbedtls_buffer_offset
    - mbedtls_psa_cipher_set_iv
    - mbedtls_psa_cipher_finish
    - mbedtls_psa_cipher_decrypt_setup
    - mbedtls_buffer_offset_const
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_cipher_decrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size,
      size_t *output_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:35,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:50,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:53,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:77,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:71,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:65,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:59,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:83,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:97,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:44,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:38,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:56,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:59,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:80,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:74,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:68,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:62,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:86,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:96,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:47,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:41,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:50,1
    - Dst: MBEDTLS_ASSUME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:53,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:90,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 103
    argCount: 2
    argNames:
    - alg
    - key_type
    argTypes:
    - psa_algorithm_t
    - psa_key_type_t
    constantsTouched: []
    func_position:
      end: 123
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 123
    functionName: mbedtls_cipher_validate_values
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - MBEDTLS_ASSUME
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_cipher_validate_values( psa_algorithm_t
      alg, psa_key_type_t key_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_values_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:267,1
    - Dst: mbedtls_cipher_info_from_values
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - alg
    - key_type
    - key_bits
    - cipher_id
    argTypes:
    - psa_algorithm_t
    - psa_key_type_t
    - size_t
    - mbedtls_cipher_id_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: mbedtls_cipher_info_from_psa
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_cipher.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_values_from_psa
    - mbedtls_cipher_info_from_values
    linkageType: ''
    returnType: mbedtls_cipher_info_t*
    signature: 'const mbedtls_cipher_info_t *mbedtls_cipher_info_from_psa( psa_algorithm_t
      alg, psa_key_type_t key_type, size_t key_bits, mbedtls_cipher_id_t *cipher_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:20,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:37,1
    - Dst: mbedtls_pk_ec_rw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:34,1
    - Dst: mbedtls_pk_ec_ro
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:38,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pk
    - grp_id
    argTypes:
    - mbedtls_pk_context*
    - mbedtls_ecp_group_id
    constantsTouched: []
    func_position:
      end: 45
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 45
    functionName: mbedtls_pk_ecc_set_group
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_ec_rw
    - mbedtls_ecc_group_to_psa
    - mbedtls_pk_ec_ro
    - mbedtls_ecp_group_load
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_ecc_set_group(mbedtls_pk_context *pk, mbedtls_ecp_group_id
      grp_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ecc_group_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:179,1
    - Dst: mbedtls_ecp_point_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:186,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:181,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:182,1
    - Dst: mbedtls_ecp_point_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:191,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pk
    - pub
    - pub_len
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 200
    functionName: pk_ecc_set_pubkey_psa_ecp_fallback
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_read_binary
    - mbedtls_ecp_keypair_free
    - mbedtls_ecp_group_load
    - mbedtls_ecc_group_from_psa
    - mbedtls_ecp_keypair_init
    - mbedtls_ecp_point_write_binary
    linkageType: ''
    returnType: int
    signature: 'static int pk_ecc_set_pubkey_psa_ecp_fallback(mbedtls_pk_context *pk,
      const unsigned char *pub, size_t pub_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:95,1
    - Dst: mbedtls_ecc_group_to_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:107,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:112,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:112,1
    - Dst: psa_pk_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:97,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:113,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:114,1
    - Dst: psa_pk_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:116,1
    - Dst: psa_export_public_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:122,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:123,1
    - Dst: psa_pk_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:125,1
    - Dst: mbedtls_ecp_point_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:131,1
    - Dst: mbedtls_ecp_mul
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:139,1
    - Dst: psa_pk_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 5
    argNames:
    - pk
    - prv
    - prv_len
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 142
    functionName: mbedtls_pk_ecc_set_pubkey_from_prv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_read_binary
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - psa_destroy_key
    - mbedtls_ecp_mul
    - psa_pk_status_to_mbedtls
    - psa_export_public_key
    - mbedtls_ecc_group_to_psa
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_ecc_set_pubkey_from_prv(mbedtls_pk_context *pk, const
      unsigned char *prv, size_t prv_len, int (*f_rng)(void *, unsigned char *, size_t),
      void *p_rng) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:54,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:67,1
    - Dst: PSA_KEY_TYPE_ECC_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:54,1
    - Dst: MBEDTLS_PK_PSA_ALG_ECDSA_MAYBE_DET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:63,1
    - Dst: psa_set_key_algorithm
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:62,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:69,1
    - Dst: psa_pk_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:70,1
    - Dst: mbedtls_pk_ec_rw
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:74,1
    - Dst: mbedtls_ecp_read_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:75,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pk
    - key
    - key_len
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 81
    functionName: mbedtls_pk_ecc_set_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c
    functionUses: []
    functionsReached:
    - PSA_KEY_TYPE_ECC_KEY_PAIR
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    - psa_set_key_algorithm
    - MBEDTLS_PK_PSA_ALG_ECDSA_MAYBE_DET
    - psa_pk_status_to_mbedtls
    - MBEDTLS_ERROR_ADD
    - mbedtls_ecp_read_key
    - mbedtls_pk_ec_rw
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_ecc_set_key(mbedtls_pk_context *pk, unsigned char *key,
      size_t key_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PSA_ECC_FAMILY_IS_WEIERSTRASS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:208,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:215,1
    - Dst: psa_set_key_usage_flags
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:229,1
    - Dst: pk_ecc_set_pubkey_psa_ecp_fallback
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:219,1
    - Dst: psa_set_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:230,1
    - Dst: PSA_KEY_TYPE_ECC_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:230,1
    - Dst: psa_set_key_bits
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:231,1
    - Dst: psa_import_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:233,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:235,1
    - Dst: mbedtls_ecp_point_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:245,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pk
    - pub
    - pub_len
    argTypes:
    - mbedtls_pk_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 252
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 252
    functionName: mbedtls_pk_ecc_set_pubkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pk_ecc.c
    functionUses: []
    functionsReached:
    - mbedtls_ecp_point_read_binary
    - psa_set_key_usage_flags
    - psa_set_key_type
    - PSA_KEY_TYPE_ECC_PUBLIC_KEY
    - PSA_ECC_FAMILY_IS_WEIERSTRASS
    - psa_import_key
    - psa_destroy_key
    - memcpy
    - psa_set_key_bits
    - pk_ecc_set_pubkey_psa_ecp_fallback
    - mbedtls_ecp_check_pubkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pk_ecc_set_pubkey(mbedtls_pk_context *pk, const unsigned
      char *pub, size_t pub_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:85,1
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:90,1
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:88,1
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:86,1
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:87,1
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:91,1
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:92,1
    - Dst: chacha20_quarter_round
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: chacha20_inner_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - chacha20_quarter_round
    linkageType: ''
    returnType: void
    signature: 'static void chacha20_inner_block(uint32_t state[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:108,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:136,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:139,1
    - Dst: chacha20_inner_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - initial_state
    - keystream
    argTypes:
    - uint32_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 140
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 140
    functionName: chacha20_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - chacha20_inner_block
    - memcpy
    - MBEDTLS_PUT_UINT32_LE
    linkageType: ''
    returnType: void
    signature: 'static void chacha20_block(const uint32_t initial_state[16], unsigned
      char keystream[64]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_chacha20_context*
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: mbedtls_chacha20_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_chacha20_free(mbedtls_chacha20_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:188,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:192,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:190,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - nonce
    - counter
    argTypes:
    - mbedtls_chacha20_context*
    - unsigned char
    - uint32_t
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: mbedtls_chacha20_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - MBEDTLS_GET_UINT32_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chacha20_starts(mbedtls_chacha20_context *ctx, const unsigned
      char nonce[12], uint32_t counter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:144,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_chacha20_context*
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: mbedtls_chacha20_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_chacha20_init(mbedtls_chacha20_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:168,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:170,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:169,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:172,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:171,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:173,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:174,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_chacha20_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: mbedtls_chacha20_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chacha20_setkey(mbedtls_chacha20_context *ctx, const unsigned
      char key[32]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:220,1
    - Dst: chacha20_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:232,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:235,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - size
    - input
    - output
    argTypes:
    - mbedtls_chacha20_context*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 242
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 242
    functionName: mbedtls_chacha20_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - chacha20_block
    - mbedtls_xor
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chacha20_update(mbedtls_chacha20_context *ctx, size_t
      size, const unsigned char *input, unsigned char *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:254,1
    - Dst: mbedtls_chacha20_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:269,1
    - Dst: mbedtls_chacha20_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:261,1
    - Dst: mbedtls_chacha20_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:256,1
    - Dst: mbedtls_chacha20_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - key
    - nonce
    - counter
    - data_len
    - input
    - output
    argTypes:
    - unsigned char
    - unsigned char
    - uint32_t
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 271
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 271
    functionName: mbedtls_chacha20_crypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_free
    - mbedtls_chacha20_starts
    - mbedtls_chacha20_setkey
    - mbedtls_chacha20_update
    - mbedtls_chacha20_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chacha20_crypt(const unsigned char key[32], const unsigned
      char nonce[12], uint32_t counter, size_t data_len, const unsigned char *input,
      unsigned char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:467,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:479,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:479,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:477,1
    - Dst: mbedtls_chacha20_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:470,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:483,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 492
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 492
    functionName: mbedtls_chacha20_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_chacha20_crypt
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chacha20_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:57,1
    - Dst: ROTL32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:72,1
    - Dst: ROTL32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:62,1
    - Dst: ROTL32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - state
    - a
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: chacha20_quarter_round
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chacha20.c
    functionUses: []
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: void
    signature: 'static inline void chacha20_quarter_round(uint32_t state[16], size_t
      a, size_t b, size_t c, size_t d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md5_context*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: mbedtls_md5_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_md5_init(mbedtls_md5_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md5_context*
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: mbedtls_md5_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md5_starts(mbedtls_md5_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_md5_context*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: mbedtls_md5_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_md5_free(mbedtls_md5_context *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:225,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:245,1
    - Dst: mbedtls_internal_md5_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:226,1
    - Dst: mbedtls_internal_md5_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_md5_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 249
    functionName: mbedtls_md5_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_internal_md5_process
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md5_update(mbedtls_md5_context *ctx, const unsigned char
      *input, size_t ilen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:323,1
    - Dst: mbedtls_md5_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:333,1
    - Dst: mbedtls_md5_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:329,1
    - Dst: mbedtls_md5_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:325,1
    - Dst: mbedtls_md5_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - input
    - ilen
    - output
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 341
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 341
    functionName: mbedtls_md5
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached:
    - mbedtls_md5_finish
    - mbedtls_md5_init
    - mbedtls_md5_update
    - mbedtls_md5_free
    - mbedtls_md5_starts
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md5(const unsigned char *input, size_t ilen, unsigned
      char output[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_md5_context*
    - mbedtls_md5_context*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: mbedtls_md5_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_md5_clone(mbedtls_md5_context *dst, const mbedtls_md5_context
      *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:270,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:279,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:273,1
    - Dst: mbedtls_internal_md5_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:275,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:289,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:290,1
    - Dst: mbedtls_internal_md5_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:292,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:299,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:300,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:301,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:302,1
    - Dst: mbedtls_md5_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_md5_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 309
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 309
    functionName: mbedtls_md5_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_LE
    - mbedtls_md5_free
    - mbedtls_internal_md5_process
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md5_finish(mbedtls_md5_context *ctx, unsigned char output[16]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:391,1
    - Dst: mbedtls_md5
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:394,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:399,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:410,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:405,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 421
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 421
    functionName: mbedtls_md5_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_md5
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_md5_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:125,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:129,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:136,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:169,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:140,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:176,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:180,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:78,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:105,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:156,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:116,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:173,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:83,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:85,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:133,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:160,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:76,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:109,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:149,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:81,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:126,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:137,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:177,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:181,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:74,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:106,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:113,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:146,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:117,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:157,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:153,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:170,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:79,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:130,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:134,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:174,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:150,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:161,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:70,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:72,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:110,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:77,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:127,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:138,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:178,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:167,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:114,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:118,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:158,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:154,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:192,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:75,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:131,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:135,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:175,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:171,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:182,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:151,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:147,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:107,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:111,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:73,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:128,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:168,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:139,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:179,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:104,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:82,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:84,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:115,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:155,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:71,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:132,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:172,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:148,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:119,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:159,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:80,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:108,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:112,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 106
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_md5_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 195
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 195
    functionName: mbedtls_internal_md5_process
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/md5.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - P
    - MBEDTLS_GET_UINT32_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_md5_process(mbedtls_md5_context *ctx, const unsigned
      char data[64]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:207,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:219,1
    - Dst: mbedtls_mpi_random
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:219,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:207,1
    - Dst: mbedtls_psa_ffdh_set_prime_generator
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:210,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:221,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:221,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:222,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:222,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:226,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:226,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 232
    functionName: mbedtls_psa_ffdh_generate_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_random
    - mbedtls_mpi_sub_int
    - mbedtls_to_psa_error
    - mbedtls_mpi_write_binary
    - mbedtls_psa_ffdh_set_prime_generator
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ffdh_generate_key( const psa_key_attributes_t
      *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:247,1
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 7
    argNames:
    - attributes
    - data
    - data_length
    - key_buffer
    - key_buffer_size
    - key_buffer_length
    - bits
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: mbedtls_psa_ffdh_import_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c
    functionUses: []
    functionsReached:
    - memcpy
    - PSA_BYTES_TO_BITS
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ffdh_import_key( const psa_key_attributes_t
      *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t
      key_buffer_size, size_t *key_buffer_length, size_t *bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_PUBLIC_KEY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:155,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:166,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:159,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:160,1
    - Dst: mbedtls_psa_ffdh_set_prime_generator
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:171,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:181,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:167,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:188,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:177,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:180,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:187,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:167,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:169,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:181,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:188,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:166,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:177,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:187,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:180,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 6
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - data
    - data_size
    - data_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 195
    functionName: mbedtls_psa_ffdh_export_public_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_exp_mod
    - PSA_BITS_TO_BYTES
    - PSA_KEY_TYPE_IS_PUBLIC_KEY
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_write_binary
    - memcpy
    - mbedtls_to_psa_error
    - mbedtls_psa_ffdh_set_prime_generator
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - MBEDTLS_MPI_CHK
    - memset
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ffdh_export_public_key( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data,
      size_t data_size, size_t *data_length) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:120,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:124,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:130,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:124,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:120,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - key_size
    - P
    - G
    argTypes:
    - size_t
    - mbedtls_mpi*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 134
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 134
    functionName: mbedtls_psa_ffdh_set_prime_generator
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_read_binary
    - MBEDTLS_MPI_CHK
    - mbedtls_to_psa_error
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t mbedtls_psa_ffdh_set_prime_generator(size_t key_size,
      mbedtls_mpi *P, mbedtls_mpi *G) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSA_KEY_TYPE_IS_DH_KEY_PAIR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:276,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:281,1
    - Dst: PSA_BITS_TO_BYTES
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:285,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:291,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:308,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:309,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:281,1
    - Dst: mbedtls_psa_ffdh_set_prime_generator
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:284,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:294,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:298,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:300,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:309,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:280,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:276,1
    - Dst: mbedtls_mpi_read_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:291,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:308,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:280,1
    - Dst: mbedtls_mpi_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:282,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:298,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:300,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:294,1
    - Dst: mbedtls_mpi_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:310,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c:313,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 8
    argNames:
    - attributes
    - peer_key
    - peer_key_length
    - key_buffer
    - key_buffer_size
    - shared_secret
    - shared_secret_size
    - shared_secret_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 317
    functionName: mbedtls_psa_ffdh_key_agreement
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_ffdh.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_exp_mod
    - PSA_BITS_TO_BYTES
    - mbedtls_mpi_read_binary
    - mbedtls_mpi_write_binary
    - mbedtls_to_psa_error
    - MBEDTLS_MPI_CHK
    - mbedtls_psa_ffdh_set_prime_generator
    - mbedtls_mpi_free
    - mbedtls_mpi_init
    - psa_get_key_type
    - PSA_KEY_TYPE_IS_DH_KEY_PAIR
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_ffdh_key_agreement( const psa_key_attributes_t
      *attributes, const uint8_t *peer_key, size_t peer_key_length, const uint8_t
      *key_buffer, size_t key_buffer_size, uint8_t *shared_secret, size_t shared_secret_size,
      size_t *shared_secret_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_x509write_cert*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: mbedtls_x509write_crt_set_subject_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_crt_set_subject_key(mbedtls_x509write_cert
      *ctx, mbedtls_pk_context *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_string_to_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - subject_name
    argTypes:
    - mbedtls_x509write_cert*
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: mbedtls_x509write_crt_set_subject_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_string_to_names
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_subject_name(mbedtls_x509write_cert
      *ctx, const char *subject_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:335,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:349,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:350,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:349,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:350,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:351,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:351,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:355,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:355,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:356,1
    - Dst: mbedtls_x509write_crt_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:360,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:362,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:357,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - exts
    argTypes:
    - mbedtls_x509write_cert*
    - mbedtls_asn1_sequence*
    constantsTouched: []
    func_position:
      end: 364
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 364
    functionName: mbedtls_x509write_crt_set_ext_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len
    - memset
    - mbedtls_asn1_write_tag
    - MBEDTLS_OID_SIZE
    - mbedtls_x509write_crt_set_extension
    - mbedtls_asn1_write_raw_buffer
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_ext_key_usage(mbedtls_x509write_cert
      *ctx, const mbedtls_asn1_sequence *exts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_x509write_cert*
    - mbedtls_pk_context*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: mbedtls_x509write_crt_set_issuer_key
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_crt_set_issuer_key(mbedtls_x509write_cert *ctx,
      mbedtls_pk_context *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_string_to_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - issuer_name
    argTypes:
    - mbedtls_x509write_cert*
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: mbedtls_x509write_crt_set_issuer_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_string_to_names
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_issuer_name(mbedtls_x509write_cert *ctx,
      const char *issuer_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509write_crt_set_key_identifier
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509write_cert*
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: mbedtls_x509write_crt_set_authority_key_identifier
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509write_crt_set_key_identifier
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_authority_key_identifier(mbedtls_x509write_cert
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_named_bitstring
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:375,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:381,1
    - Dst: mbedtls_x509write_crt_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - ns_cert_type
    argTypes:
    - mbedtls_x509write_cert*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 388
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 388
    functionName: mbedtls_x509write_crt_set_ns_cert_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_named_bitstring
    - MBEDTLS_OID_SIZE
    - mbedtls_x509write_crt_set_extension
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_ns_cert_type(mbedtls_x509write_cert
      *ctx, unsigned char ns_cert_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509write_crt_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:670,1
    - Dst: mbedtls_pem_write_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - crt
    - buf
    - size
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_x509write_cert*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 682
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 682
    functionName: mbedtls_x509write_crt_pem
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_pem_write_buffer
    - mbedtls_x509write_crt_der
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_pem(mbedtls_x509write_cert *crt, unsigned
      char *buf, size_t size, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - serial
    - serial_len
    argTypes:
    - mbedtls_x509write_cert*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: mbedtls_x509write_crt_set_serial_raw
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_serial_raw(mbedtls_x509write_cert *ctx,
      unsigned char *serial, size_t serial_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:136,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:141,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:137,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - not_before
    - not_after
    argTypes:
    - mbedtls_x509write_cert*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: mbedtls_x509write_crt_set_validity
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - strncpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_validity(mbedtls_x509write_cert *ctx,
      const char *not_before, const char *not_after) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:400,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:403,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:400,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:404,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:403,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:404,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:407,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:407,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:410,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:410,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:411,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - p
    - start
    - t
    - size
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 416
    functionName: x509_write_time
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_tag
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_raw_buffer
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int x509_write_time(unsigned char **p, unsigned char *start,
      const char *t, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_write_set_san_common
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - san_list
    argTypes:
    - mbedtls_x509write_cert*
    - mbedtls_x509_san_list*
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: mbedtls_x509write_crt_set_subject_alternative_name
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_write_set_san_common
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_subject_alternative_name(mbedtls_x509write_cert
      *ctx, const mbedtls_x509_san_list *san_list) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:449,1
    - Dst: mbedtls_x509_write_extensions
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:469,1
    - Dst: mbedtls_pk_can_do
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:451,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:476,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:486,1
    - Dst: x509_write_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:507,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:584,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:578,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:591,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:612,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:634,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:650,1
    - Dst: mbedtls_x509_write_sig
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:634,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:612,1
    - Dst: mbedtls_oid_get_oid_by_sig_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:457,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:471,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:495,1
    - Dst: mbedtls_pk_write_pubkey_der
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:487,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:516,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:524,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:542,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:562,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:562,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:583,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:627,1
    - Dst: mbedtls_asn1_write_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:579,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:568,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:590,1
    - Dst: mbedtls_pk_sign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:619,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:471,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:472,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:477,1
    - Dst: mbedtls_x509_write_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:496,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:510,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:515,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:517,1
    - Dst: mbedtls_x509_write_names
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:524,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:540,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:554,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:568,1
    - Dst: mbedtls_md_psa_alg_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:600,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:602,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:650,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:589,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:581,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:468,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:473,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:476,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:478,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:506,1
    - Dst: x509_write_time
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:511,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:515,1
    - Dst: mbedtls_asn1_write_algorithm_identifier_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:541,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:554,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:565,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:582,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:589,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:651,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:647,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:651,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:565,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 121
    argCount: 5
    argNames:
    - ctx
    - buf
    - size
    - (*f_rng)
    - p_rng
    argTypes:
    - mbedtls_x509write_cert*
    - unsigned char*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 656
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 656
    functionName: mbedtls_x509write_crt_der
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_int
    - memmove
    - mbedtls_asn1_write_len
    - mbedtls_asn1_write_algorithm_identifier_ext
    - mbedtls_md_psa_alg_from_type
    - mbedtls_asn1_write_raw_buffer
    - psa_hash_compute
    - mbedtls_x509_write_sig
    - mbedtls_x509_write_names
    - mbedtls_x509_write_extensions
    - mbedtls_pk_write_pubkey_der
    - x509_write_time
    - strlen
    - mbedtls_pk_sign
    - mbedtls_md_info_from_type
    - mbedtls_md
    - mbedtls_pk_can_do
    - mbedtls_oid_get_oid_by_sig_alg
    - mbedtls_asn1_write_tag
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_der(mbedtls_x509write_cert *ctx, unsigned
      char *buf, size_t size, int (*f_rng)(void *, unsigned char *, size_t), void
      *p_rng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509write_cert*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: mbedtls_x509write_crt_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_crt_init(mbedtls_x509write_cert *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - version
    argTypes:
    - mbedtls_x509write_cert*
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: mbedtls_x509write_crt_set_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_crt_set_version(mbedtls_x509write_cert *ctx,
      int version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - oid
    - oid_len
    - critical
    - val
    - val_len
    argTypes:
    - mbedtls_x509write_cert*
    - char*
    - size_t
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: mbedtls_x509write_crt_set_extension
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509_set_extension
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_extension(mbedtls_x509write_cert *ctx,
      const char *oid, size_t oid_len, int critical, const unsigned char *val, size_t
      val_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md_alg
    argTypes:
    - mbedtls_x509write_cert*
    - mbedtls_md_type_t
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: mbedtls_x509write_crt_set_md_alg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_crt_set_md_alg(mbedtls_x509write_cert *ctx,
      mbedtls_md_type_t md_alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:52,1
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:53,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:56,1
    - Dst: mbedtls_asn1_free_named_data_list
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509write_cert*
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: mbedtls_x509write_crt_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_free_named_data_list
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_x509write_crt_free(mbedtls_x509write_cert *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:172,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:183,1
    - Dst: mbedtls_asn1_write_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:180,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:180,1
    - Dst: mbedtls_asn1_write_bool
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:183,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:186,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:186,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:187,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:187,1
    - Dst: mbedtls_x509write_crt_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:192,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - is_ca
    - max_pathlen
    argTypes:
    - mbedtls_x509write_cert*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 195
    functionName: mbedtls_x509write_crt_set_basic_constraints
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_int
    - mbedtls_asn1_write_len
    - memset
    - mbedtls_asn1_write_tag
    - MBEDTLS_OID_SIZE
    - mbedtls_asn1_write_bool
    - mbedtls_x509write_crt_set_extension
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_basic_constraints(mbedtls_x509write_cert
      *ctx, int is_ca, int max_pathlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT16_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:306,1
    - Dst: mbedtls_asn1_write_named_bitstring
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:307,1
    - Dst: mbedtls_x509write_crt_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:315,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - key_usage
    argTypes:
    - mbedtls_x509write_cert*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 323
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 323
    functionName: mbedtls_x509write_crt_set_key_usage
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_named_bitstring
    - MBEDTLS_OID_SIZE
    - MBEDTLS_PUT_UINT16_LE
    - mbedtls_x509write_crt_set_extension
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_key_usage(mbedtls_x509write_cert *ctx,
      unsigned int key_usage) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:211,1
    - Dst: mbedtls_md
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:231,1
    - Dst: psa_hash_compute
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:221,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:212,1
    - Dst: mbedtls_pk_write_pubkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:213,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:231,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:242,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:242,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:243,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:243,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:257,1
    - Dst: MBEDTLS_OID_SIZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:263,1
    - Dst: mbedtls_x509write_crt_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:255,1
    - Dst: mbedtls_x509write_crt_set_extension
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:261,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:246,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:247,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:246,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - is_ca
    - tag
    argTypes:
    - mbedtls_x509write_cert*
    - int
    - unsigned char
    constantsTouched: []
    func_position:
      end: 267
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 267
    functionName: mbedtls_x509write_crt_set_key_identifier
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_pk_write_pubkey
    - mbedtls_md_info_from_type
    - mbedtls_md
    - psa_hash_compute
    - mbedtls_asn1_write_len
    - memset
    - mbedtls_asn1_write_tag
    - MBEDTLS_OID_SIZE
    - mbedtls_x509write_crt_set_extension
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_x509write_crt_set_key_identifier(mbedtls_x509write_cert
      *ctx, int is_ca, unsigned char tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_x509write_crt_set_key_identifier
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_x509write_cert*
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: mbedtls_x509write_crt_set_subject_key_identifier
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_x509write_crt_set_key_identifier
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_subject_key_identifier(mbedtls_x509write_cert
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:103,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - serial
    argTypes:
    - mbedtls_x509write_cert*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: mbedtls_x509write_crt_set_serial
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/x509write_crt.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_size
    - mbedtls_mpi_write_binary
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_x509write_crt_set_serial(mbedtls_x509write_cert *ctx,
      const mbedtls_mpi *serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: mbedtls_memory_buffer_alloc_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - verify_chain
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_memory_buffer_alloc_verify(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:116,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:130,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:137,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:123,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - memory_header*
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: verify_header
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    linkageType: ''
    returnType: int
    signature: 'static int verify_header(memory_header *hdr) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:370,1
    - Dst: verify_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:379,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:385,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:380,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:373,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:388,1
    - Dst: free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:399,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:419,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:461,1
    - Dst: verify_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:475,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:476,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 478
    functionName: buffer_alloc_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - verify_header
    - mbedtls_exit
    - free
    - mbedtls_fprintf
    - verify_chain
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void buffer_alloc_free(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - max_used
    - max_blocks
    argTypes:
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: mbedtls_memory_buffer_alloc_max_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_alloc_max_get(size_t *max_used, size_t
      *max_blocks) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:539,1
    - Dst: buffer_alloc_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:542,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - n
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: buffer_alloc_calloc_mutexed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    - buffer_alloc_calloc
    linkageType: ''
    returnType: void*
    signature: 'static void *buffer_alloc_calloc_mutexed(size_t n, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - verify
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: mbedtls_memory_buffer_set_verify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_set_verify(int verify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: mbedtls_memory_buffer_alloc_max_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_alloc_max_reset(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cur_used
    - cur_blocks
    argTypes:
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: mbedtls_memory_buffer_alloc_cur_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_alloc_cur_get(size_t *cur_used, size_t
      *cur_blocks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_lock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:553,1
    - Dst: buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:556,1
    - Dst: mbedtls_mutex_unlock
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: buffer_alloc_free_mutexed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_lock
    - mbedtls_mutex_unlock
    - buffer_alloc_free
    linkageType: ''
    returnType: void
    signature: 'static void buffer_alloc_free_mutexed(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mutex_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:598,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: mbedtls_memory_buffer_alloc_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_mutex_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_alloc_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:76,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:88,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:86,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:80,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - memory_header*
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: debug_header
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    linkageType: ''
    returnType: void
    signature: 'static void debug_header(memory_header *hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:96,1
    - Dst: debug_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:106,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:102,1
    - Dst: debug_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: debug_chain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - debug_header
    linkageType: ''
    returnType: void
    signature: 'static void debug_chain(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:657,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:659,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:662,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:682,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:688,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:692,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:705,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:715,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:718,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:721,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:734,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:720,1
    - Dst: mbedtls_memory_buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:738,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:729,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:725,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:657,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:673,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:665,1
    - Dst: mbedtls_memory_buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:670,1
    - Dst: mbedtls_memory_buffer_alloc_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:680,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:685,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:689,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:690,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:693,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:696,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:712,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:720,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:658,1
    - Dst: check_all_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:665,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:677,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:688,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:694,1
    - Dst: check_all_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:696,1
    - Dst: mbedtls_memory_buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:698,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:701,1
    - Dst: mbedtls_memory_buffer_alloc_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:708,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:712,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:723,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:727,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:717,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:648,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:655,1
    - Dst: mbedtls_memory_buffer_alloc_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:651,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:653,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:654,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:661,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:663,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:684,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:686,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:710,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:713,1
    - Dst: check_pointer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:720,1
    - Dst: mbedtls_memory_buffer_alloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:731,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:725,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:721,1
    - Dst: TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:713,1
    - Dst: check_all_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:729,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 109
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 741
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 741
    functionName: mbedtls_memory_buffer_alloc_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_calloc
    - mbedtls_free
    - check_pointer
    - check_all_free
    - mbedtls_memory_buffer_alloc_free
    - mbedtls_memory_buffer_alloc_init
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_memory_buffer_alloc_self_test(int verbose) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:563,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:583,1
    - Dst: mbedtls_mutex_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:566,1
    - Dst: mbedtls_platform_set_calloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:570,1
    - Dst: mbedtls_platform_set_calloc_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: mbedtls_memory_buffer_alloc_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_mutex_init
    - mbedtls_platform_set_calloc_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_alloc_init(unsigned char *buf, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: verify_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:156,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:158,1
    - Dst: verify_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:175,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:177,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:166,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 196
    functionName: verify_chain
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - verify_header
    linkageType: ''
    returnType: int
    signature: 'static int verify_chain(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:493,1
    - Dst: debug_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:506,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:505,1
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: mbedtls_memory_buffer_alloc_status
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - mbedtls_fprintf
    - debug_chain
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_alloc_status(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:242,1
    - Dst: verify_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:285,1
    - Dst: backtrace_symbols
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:281,1
    - Dst: backtrace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:280,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:245,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:286,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:290,1
    - Dst: backtrace
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:344,1
    - Dst: backtrace_symbols
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:345,1
    - Dst: verify_chain
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:349,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:354,1
    - Dst: mbedtls_exit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c:350,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 120
    argCount: 2
    argNames:
    - n
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 357
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 357
    functionName: buffer_alloc_calloc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached:
    - memset
    - backtrace_symbols
    - mbedtls_exit
    - mbedtls_fprintf
    - verify_chain
    - backtrace
    linkageType: ''
    returnType: void*
    signature: 'static void *buffer_alloc_calloc(size_t n, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - alloc_count
    - free_count
    argTypes:
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: mbedtls_memory_buffer_alloc_count_get
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_memory_buffer_alloc_count_get(size_t *alloc_count, size_t
      *free_count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: check_pointer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/memory_buffer_alloc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int check_pointer(void *p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aes_maybe_realign
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1033,1
    - Dst: mbedtls_aesce_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1044,1
    - Dst: MBEDTLS_AESCE_HAS_SUPPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1043,1
    - Dst: mbedtls_aesni_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1038,1
    - Dst: mbedtls_aesni_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1037,1
    - Dst: mbedtls_padlock_xcryptecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1050,1
    - Dst: mbedtls_internal_aes_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1057,1
    - Dst: mbedtls_internal_aes_encrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1061,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1064
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1064
    functionName: mbedtls_aes_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - aes_maybe_realign
    - mbedtls_internal_aes_decrypt
    - mbedtls_aesni_crypt_ecb
    - mbedtls_internal_aes_encrypt
    - mbedtls_padlock_xcryptecb
    - mbedtls_aesce_crypt_ecb
    - mbedtls_aesni_has_support
    - MBEDTLS_AESCE_HAS_SUPPORT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_crypt_ecb(mbedtls_aes_context *ctx, int mode, const
      unsigned char input[16], unsigned char output[16]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_padlock_xcryptcbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1096,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1118,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1110,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1120,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1111,1
    - Dst: mbedtls_xor_no_simd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1128,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1130,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1140,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1146
    functionName: mbedtls_aes_crypt_cbc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_xor_no_simd
    - mbedtls_aes_crypt_ecb
    - memcpy
    - mbedtls_padlock_xcryptcbc
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_crypt_cbc(mbedtls_aes_context *ctx, int mode, size_t
      length, unsigned char iv[16], const unsigned char *input, unsigned char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1415,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - size_t
    - size_t*
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1429
    functionName: mbedtls_aes_crypt_ofb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_crypt_ofb(mbedtls_aes_context *ctx, size_t length,
      size_t *iv_off, unsigned char iv[16], const unsigned char *input, unsigned char
      *output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1455,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1467,1
    - Dst: mbedtls_ctr_increment_counter
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 7
    argNames:
    - ctx
    - length
    - nc_off
    - nonce_counter
    - stream_block
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - size_t
    - size_t*
    - unsigned char
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1480
    functionName: mbedtls_aes_crypt_ctr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_ctr_increment_counter
    - mbedtls_xor
    - mbedtls_aes_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_crypt_ctr(mbedtls_aes_context *ctx, size_t length,
      size_t *nc_off, unsigned char nonce_counter[16], unsigned char stream_block[16],
      const unsigned char *input, unsigned char *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_xts_decode_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:813,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:820,1
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:826,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aes_xts_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 827
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 827
    functionName: mbedtls_aes_xts_setkey_dec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_setkey_dec
    - mbedtls_aes_setkey_enc
    - mbedtls_aes_xts_decode_keys
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_xts_setkey_dec(mbedtls_aes_xts_context *ctx, const
      unsigned char *key, unsigned int keybits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_rk_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1011,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aes_context*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1018
    functionName: aes_maybe_realign
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_rk_offset
    - memmove
    linkageType: ''
    returnType: MBEDTLS_MAYBE_UNUSED
    signature: 'MBEDTLS_MAYBE_UNUSED static void aes_maybe_realign(mbedtls_aes_context
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:958,1
    - Dst: AES_RROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:965,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:994,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:957,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:969,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:970,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:971,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:975,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:977,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:976,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:980,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:991,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:993,1
    - Dst: AES_RROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:961,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:956,1
    - Dst: AES_RROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:962,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:992,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:996,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:955,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:968,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:974,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:981,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:983,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:982,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:986,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:987,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:988,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:989,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 75
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 999
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 999
    functionName: mbedtls_internal_aes_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - mbedtls_platform_zeroize
    - MBEDTLS_GET_UINT32_LE
    - MBEDTLS_BYTE_3
    - MBEDTLS_PUT_UINT32_LE
    - AES_RROUND
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_aes_decrypt(mbedtls_aes_context *ctx, const unsigned
      char input[16], unsigned char output[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:906,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:920,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:921,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:919,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:924,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:926,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:927,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:931,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:896,1
    - Dst: AES_FROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:903,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:932,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:893,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:895,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:907,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:908,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:915,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:913,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:914,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:912,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:918,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:909,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:929,1
    - Dst: AES_FROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:899,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:894,1
    - Dst: AES_FROUND
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:900,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:930,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:934,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 75
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 937
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 937
    functionName: mbedtls_internal_aes_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - mbedtls_platform_zeroize
    - MBEDTLS_GET_UINT32_LE
    - MBEDTLS_BYTE_3
    - MBEDTLS_PUT_UINT32_LE
    - AES_FROUND
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_aes_encrypt(mbedtls_aes_context *ctx, const unsigned
      char input[16], unsigned char output[16]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aesce_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:607,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:621,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:657,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:664,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:666,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:638,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:667,1
    - Dst: mbedtls_aesni_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:600,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:623,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:639,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:655,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:637,1
    - Dst: aes_gen_tables
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:591,1
    - Dst: mbedtls_aes_rk_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:596,1
    - Dst: mbedtls_aesni_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:601,1
    - Dst: MBEDTLS_AESCE_HAS_SUPPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:606,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:613,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:622,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:654,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:624,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:640,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:656,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:665,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 118
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aes_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 679
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 679
    functionName: mbedtls_aes_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - mbedtls_aesni_setkey_enc
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - MBEDTLS_GET_UINT32_LE
    - MBEDTLS_BYTE_3
    - mbedtls_aesce_setkey_enc
    - aes_gen_tables
    - mbedtls_aes_rk_offset
    - mbedtls_aesni_has_support
    - MBEDTLS_AESCE_HAS_SUPPORT
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_setkey_enc(mbedtls_aes_context *ctx, const unsigned
      char *key, unsigned int keybits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:697,1
    - Dst: mbedtls_aesni_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:710,1
    - Dst: mbedtls_aesni_inverse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:711,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:703,1
    - Dst: mbedtls_aes_rk_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:699,1
    - Dst: MBEDTLS_AESCE_HAS_SUPPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:718,1
    - Dst: mbedtls_aesce_inverse_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:719,1
    - Dst: AES_RT0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:737,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:737,1
    - Dst: AES_RT1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:738,1
    - Dst: AES_RT2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:739,1
    - Dst: AES_RT3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:740,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:738,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:750,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:739,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:740,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aes_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 753
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 753
    functionName: mbedtls_aes_setkey_dec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_0
    - MBEDTLS_BYTE_1
    - AES_RT2
    - MBEDTLS_BYTE_3
    - AES_RT0
    - mbedtls_aesce_inverse_key
    - mbedtls_aes_free
    - mbedtls_aesni_inverse_key
    - mbedtls_aes_setkey_enc
    - AES_RT3
    - mbedtls_aes_rk_offset
    - mbedtls_aes_init
    - mbedtls_aesni_has_support
    - MBEDTLS_AESCE_HAS_SUPPORT
    - AES_RT1
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_setkey_dec(mbedtls_aes_context *ctx, const unsigned
      char *key, unsigned int keybits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1368,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1384,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1369,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1390
    functionName: mbedtls_aes_crypt_cfb8
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_aes_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_crypt_cfb8(mbedtls_aes_context *ctx, int mode, size_t
      length, unsigned char iv[16], const unsigned char *input, unsigned char *output) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2129,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2286,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2144,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2149,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2065,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2104,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2062,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2044,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1848,1
    - Dst: mbedtls_padlock_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1863,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1899,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1971,1
    - Dst: mbedtls_aes_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2189,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2045,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2261,1
    - Dst: mbedtls_aes_xts_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2275,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1843,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2000,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2010,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2074,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1854,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1874,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1948,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1970,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2112,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2233,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1914,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1998,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2138,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2232,1
    - Dst: mbedtls_aes_crypt_xts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2255,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1864,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1869,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2040,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2167,1
    - Dst: mbedtls_aes_crypt_cfb128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2069,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2171,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2201,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1852,1
    - Dst: mbedtls_aesni_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1858,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1931,1
    - Dst: mbedtls_aes_crypt_ofb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2133,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1999,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2175,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2119,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2228,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1905,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1943,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1972,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2048,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2182,1
    - Dst: MBEDTLS_AESCE_HAS_SUPPORT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1868,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1978,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2185,1
    - Dst: mbedtls_aes_xts_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2239,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2195,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2250,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2272,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2283,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2080,1
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1909,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1924,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1937,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1966,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1988,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2085,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2126,1
    - Dst: mbedtls_aes_xts_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2246,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2172,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2055,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1844,1
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1975,1
    - Dst: mbedtls_aes_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2003,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2267,1
    - Dst: mbedtls_aes_xts_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2220,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2109,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2243,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1859,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1893,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2016,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2021,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2108,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:2207,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 343
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2289
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 2289
    functionName: mbedtls_aes_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_setkey_dec
    - memcmp
    - mbedtls_padlock_has_support
    - mbedtls_aes_crypt_ofb
    - mbedtls_aes_crypt_ecb
    - mbedtls_aes_crypt_xts
    - mbedtls_aes_init
    - mbedtls_aes_crypt_cbc
    - mbedtls_aes_free
    - mbedtls_aes_xts_init
    - mbedtls_aes_crypt_ctr
    - mbedtls_printf
    - mbedtls_aes_xts_setkey_dec
    - memcpy
    - mbedtls_aes_xts_setkey_enc
    - MBEDTLS_AESCE_HAS_SUPPORT
    - mbedtls_aes_crypt_cfb128
    - mbedtls_aes_xts_free
    - mbedtls_aes_setkey_enc
    - mbedtls_aesni_has_support
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_self_test(int verbose) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1316,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1331,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 7
    argNames:
    - ctx
    - mode
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - size_t
    - size_t*
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1348
    functionName: mbedtls_aes_crypt_cfb128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_crypt_cfb128(mbedtls_aes_context *ctx, int mode, size_t
      length, size_t *iv_off, unsigned char iv[16], const unsigned char *input, unsigned
      char *output) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1217,1
    - Dst: mbedtls_gf128mul_x_ble
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1231,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1234,1
    - Dst: MBEDTLS_UNLIKELY
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1224,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1230,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1236,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1241,1
    - Dst: mbedtls_gf128mul_x_ble
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1244,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1267,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1271,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1273,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1280,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - data_unit
    - input
    - output
    argTypes:
    - mbedtls_aes_xts_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1284
    functionName: mbedtls_aes_crypt_xts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - memcpy
    - mbedtls_gf128mul_x_ble
    - mbedtls_aes_crypt_ecb
    - MBEDTLS_UNLIKELY
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_crypt_xts(mbedtls_aes_xts_context *ctx, int mode,
      size_t length, const unsigned char data_unit[16], const unsigned char *input,
      unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aes_context*
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: mbedtls_aes_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aes_init(mbedtls_aes_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:508,1
    - Dst: mbedtls_aes_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aes_xts_context*
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: mbedtls_aes_xts_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aes_xts_init(mbedtls_aes_xts_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 6
    argNames:
    - key
    - keybits
    - key1
    - key1bits
    - key2
    - key2bits
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char**
    - unsigned int*
    - unsigned char**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 779
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 779
    functionName: mbedtls_aes_xts_decode_keys
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_aes_xts_decode_keys(const unsigned char *key, unsigned
      int keybits, const unsigned char **key1, unsigned int *key1bits, const unsigned
      char **key2, unsigned int *key2bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT64_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1169,1
    - Dst: MBEDTLS_PUT_UINT64_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1175,1
    - Dst: MBEDTLS_PUT_UINT64_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1176,1
    - Dst: MBEDTLS_GET_UINT64_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1177
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1177
    functionName: mbedtls_gf128mul_x_ble
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT64_LE
    - MBEDTLS_GET_UINT64_LE
    linkageType: ''
    returnType: void
    signature: 'static inline void mbedtls_gf128mul_x_ble(unsigned char r[16], const
      unsigned char x[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTIME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:387,1
    - Dst: XTIME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:395,1
    - Dst: ROTL8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:435,1
    - Dst: XTIME
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:426,1
    - Dst: ROTL8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:436,1
    - Dst: ROTL8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:437,1
    - Dst: MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:443,1
    - Dst: MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:444,1
    - Dst: MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:445,1
    - Dst: MUL
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:446,1
    - Dst: ROTL8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:449,1
    - Dst: ROTL8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:450,1
    - Dst: ROTL8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 88
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 455
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 455
    functionName: aes_gen_tables
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - MUL
    - ROTL8
    - XTIME
    linkageType: ''
    returnType: MBEDTLS_MAYBE_UNUSED
    signature: 'MBEDTLS_MAYBE_UNUSED static void aes_gen_tables(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:518,1
    - Dst: mbedtls_aes_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aes_xts_context*
    constantsTouched: []
    func_position:
      end: 520
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 520
    functionName: mbedtls_aes_xts_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aes_xts_free(mbedtls_aes_xts_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aes_context*
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: mbedtls_aes_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aes_free(mbedtls_aes_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_xts_decode_keys
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:789,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:796,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aes_xts_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 803
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 803
    functionName: mbedtls_aes_xts_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_aes_setkey_enc
    - mbedtls_aes_xts_decode_keys
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aes_xts_setkey_enc(mbedtls_aes_xts_context *ctx, const
      unsigned char *key, unsigned int keybits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_padlock_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:541,1
    - Dst: mbedtls_aesni_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c:549,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 569
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 569
    functionName: mbedtls_aes_rk_offset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aes.c
    functionUses: []
    functionsReached:
    - mbedtls_padlock_has_support
    - mbedtls_aesni_has_support
    linkageType: ''
    returnType: MBEDTLS_MAYBE_UNUSED
    signature: 'MBEDTLS_MAYBE_UNUSED static unsigned mbedtls_aes_rk_offset(uint32_t
      *buf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:49,1
    - Dst: mbedtls_asn1_get_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:61,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:63,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:69,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:70,1
    - Dst: mbedtls_asn1_get_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:77,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:79,1
    - Dst: mbedtls_asn1_get_alg_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:87,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:88,1
    - Dst: mbedtls_oid_get_md_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:91,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:96,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 5
    argNames:
    - params
    - salt
    - iterations
    - keylen
    - md_type
    argTypes:
    - mbedtls_asn1_buf*
    - mbedtls_asn1_buf*
    - int*
    - int*
    - mbedtls_md_type_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 101
    functionName: pkcs5_parse_pbkdf2_params
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_get_int
    - mbedtls_oid_get_md_hmac
    - mbedtls_asn1_get_alg_null
    - MBEDTLS_ERROR_ADD
    - mbedtls_asn1_get_tag
    linkageType: ''
    returnType: int
    signature: 'static int pkcs5_parse_pbkdf2_params(const mbedtls_asn1_buf *params,
      mbedtls_asn1_buf *salt, int *iterations, int *keylen, mbedtls_md_type_t *md_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: mbedtls_pkcs5_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs5_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pkcs5_pbes2_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - pbe_params
    - mode
    - pwd
    - pwdlen
    - data
    - datalen
    - output
    argTypes:
    - mbedtls_asn1_buf*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: mbedtls_pkcs5_pbes2
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - mbedtls_pkcs5_pbes2_ext
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs5_pbes2(const mbedtls_asn1_buf *pbe_params, int mode,
      const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t datalen,
      unsigned char *output) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:185,1
    - Dst: mbedtls_cipher_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:255,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:261,1
    - Dst: mbedtls_cipher_set_padding_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:250,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:161,1
    - Dst: MBEDTLS_OID_CMP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:166,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:178,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:194,1
    - Dst: mbedtls_cipher_info_get_iv_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:197,1
    - Dst: mbedtls_cipher_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:214,1
    - Dst: MBEDTLS_ERROR_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:155,1
    - Dst: pkcs5_parse_pbkdf2_params
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:170,1
    - Dst: mbedtls_pkcs5_pbkdf2_hmac_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:218,1
    - Dst: mbedtls_cipher_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:224,1
    - Dst: mbedtls_asn1_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:159,1
    - Dst: mbedtls_asn1_get_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:176,1
    - Dst: mbedtls_oid_get_cipher_alg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:181,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:228,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:216,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 9
    argNames:
    - pbe_params
    - mode
    - pwd
    - pwdlen
    - data
    - datalen
    - output
    - output_size
    - output_len
    argTypes:
    - mbedtls_asn1_buf*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 264
    functionName: mbedtls_pkcs5_pbes2_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - mbedtls_cipher_setup
    - mbedtls_pkcs5_pbkdf2_hmac_ext
    - mbedtls_cipher_free
    - mbedtls_cipher_info_from_type
    - pkcs5_parse_pbkdf2_params
    - mbedtls_cipher_info_get_iv_size
    - memcpy
    - mbedtls_oid_get_cipher_alg
    - mbedtls_cipher_init
    - mbedtls_cipher_crypt
    - mbedtls_cipher_set_padding_mode
    - mbedtls_cipher_setkey
    - mbedtls_cipher_info_get_key_bitlen
    - MBEDTLS_ERROR_ADD
    - MBEDTLS_OID_CMP
    - mbedtls_asn1_get_alg
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs5_pbes2_ext(const mbedtls_asn1_buf *pbe_params, int
      mode, const unsigned char *pwd, size_t pwdlen, const unsigned char *data, size_t
      datalen, unsigned char *output, size_t output_size, size_t *output_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_info_from_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:378,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:391,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:385,1
    - Dst: pkcs5_pbkdf2_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:388,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 8
    argNames:
    - md_alg
    - password
    - plen
    - salt
    - slen
    - iteration_count
    - key_length
    - output
    argTypes:
    - mbedtls_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    - uint32_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 393
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 393
    functionName: mbedtls_pkcs5_pbkdf2_hmac_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - mbedtls_md_info_from_type
    - mbedtls_md_free
    - pkcs5_pbkdf2_hmac
    - mbedtls_md_init
    - mbedtls_md_setup
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs5_pbkdf2_hmac_ext(mbedtls_md_type_t md_alg, const
      unsigned char *password, size_t plen, const unsigned char *salt, size_t slen,
      unsigned int iteration_count, uint32_t key_length, unsigned char *output) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:466,1
    - Dst: mbedtls_pkcs5_pbkdf2_hmac_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:469,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:474,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:484,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:476,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 494
    functionName: mbedtls_pkcs5_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_pkcs5_pbkdf2_hmac_ext
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs5_self_test(int verbose) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:277,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:291,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:282,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:297,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:301,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:305,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:309,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:313,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:318,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:322,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:336,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:351,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:350,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:326,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:332,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 8
    argNames:
    - ctx
    - password
    - plen
    - salt
    - slen
    - iteration_count
    - key_length
    - output
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    - uint32_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 354
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 354
    functionName: pkcs5_pbkdf2_hmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - mbedtls_md_hmac_starts
    - mbedtls_md_hmac_reset
    - mbedtls_xor
    - memcpy
    - mbedtls_platform_zeroize
    - mbedtls_md_hmac_update
    - mbedtls_md_hmac_finish
    - mbedtls_md_get_size
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int pkcs5_pbkdf2_hmac(mbedtls_md_context_t *ctx, const unsigned
      char *password, size_t plen, const unsigned char *salt, size_t slen, unsigned
      int iteration_count, uint32_t key_length, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs5_pbkdf2_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - password
    - plen
    - salt
    - slen
    - iteration_count
    - key_length
    - output
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    - uint32_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: mbedtls_pkcs5_pbkdf2_hmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/pkcs5.c
    functionUses: []
    functionsReached:
    - pkcs5_pbkdf2_hmac
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_pkcs5_pbkdf2_hmac(mbedtls_md_context_t *ctx, const unsigned
      char *password, size_t plen, const unsigned char *salt, size_t slen, unsigned
      int iteration_count, uint32_t key_length, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_status_to_mbedtls
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:43,1
    - Dst: ARRAY_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: local_err_translation
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ARRAY_LENGTH
    - psa_status_to_mbedtls
    linkageType: ''
    returnType: int
    signature: 'static int local_err_translation(psa_status_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3105
      start: 3102
    functionDepth: 0
    functionLinenumber: 3102
    functionLinenumberEnd: 3105
    functionName: ssl_get_hs_frag_off
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT24_BE
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t ssl_get_hs_frag_off(mbedtls_ssl_context const *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - msg_len
    - add_bitmap
    argTypes:
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 3211
      start: 3198
    functionDepth: 0
    functionLinenumber: 3198
    functionLinenumberEnd: 3211
    functionName: ssl_get_reassembly_buffer_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ssl_get_reassembly_buffer_size(size_t msg_len, unsigned
      add_bitmap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - alert_type
    - alert_reason
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char
    - int
    constantsTouched: []
    func_position:
      end: 6374
      start: 6367
    functionDepth: 0
    functionLinenumber: 6367
    functionLinenumberEnd: 6374
    functionName: mbedtls_ssl_pend_fatal_alert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_pend_fatal_alert(mbedtls_ssl_context *ssl, unsigned
      char alert_type, int alert_reason) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_hs_total_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3112,1
    - Dst: ssl_get_hs_frag_off
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3113,1
    - Dst: ssl_get_hs_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3129
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3129
    functionName: ssl_check_hs_header
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_get_hs_frag_len
    - ssl_get_hs_frag_off
    - ssl_get_hs_total_len
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_hs_header(mbedtls_ssl_context
      const *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2514,1
    - Dst: mbedtls_ssl_flight_transmit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2516,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2521
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2521
    functionName: mbedtls_ssl_resend
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_flight_transmit
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_resend(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2483,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2496,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2487,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2498,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2495,1
    - Dst: mbedtls_ssl_update_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2505
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2505
    functionName: ssl_swap_epochs
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_update_out_pointers
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_swap_epochs(mbedtls_ssl_context
      *ssl) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2832,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2870,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2891,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2782,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2789,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2798,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2834,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2847,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2879,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2820,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2833,1
    - Dst: ssl_flight_append
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2890,1
    - Dst: mbedtls_ssl_write_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2897,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2903,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2806,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2855,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2860,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2869,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2898,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 3
    argNames:
    - ssl
    - update_checksum
    - force_flush
    argTypes:
    - mbedtls_ssl_context*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2906
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2906
    functionName: mbedtls_ssl_write_handshake_msg_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_BYTE_2
    - mbedtls_ssl_write_record
    - memmove
    - MBEDTLS_BYTE_0
    - MBEDTLS_BYTE_1
    - memcpy
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_flight_append
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_handshake_msg_ext(mbedtls_ssl_context *ssl,
      int update_checksum, int force_flush) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3362
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3362
    functionName: mbedtls_ssl_dtls_replay_reset
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_dtls_replay_reset(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5389
      start: 5386
    functionDepth: 0
    functionLinenumber: 5386
    functionLinenumberEnd: 5389
    functionName: mbedtls_ssl_get_bytes_avail
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t mbedtls_ssl_get_bytes_avail(const mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5590,1
    - Dst: ssl_tls13_is_new_session_ticket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5594,1
    - Dst: mbedtls_ssl_conf_is_signal_new_session_tickets_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5597,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5596,1
    - Dst: mbedtls_ssl_handshake_set_state
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5601,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5605,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5618
      start: 5586
    functionDepth: 0
    functionLinenumber: 5586
    functionLinenumberEnd: 5618
    functionName: ssl_tls13_handle_hs_message_post_handshake
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_conf_is_signal_new_session_tickets_enabled
    - ssl_tls13_is_new_session_ticket
    - mbedtls_ssl_handshake_set_state
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_handle_hs_message_post_handshake(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: ssl_reset_retransmit_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: void
    signature: 'static void ssl_reset_retransmit_timeout(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_PROC_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2918,1
    - Dst: mbedtls_ssl_write_handshake_msg_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - buf_len
    - msg_len
    argTypes:
    - mbedtls_ssl_context*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2922
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2922
    functionName: mbedtls_ssl_finish_handshake_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_write_handshake_msg_ext
    - MBEDTLS_SSL_PROC_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_finish_handshake_msg(mbedtls_ssl_context *ssl, size_t
      buf_len, size_t msg_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 3372
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3372
    functionName: ssl_load_six_bytes
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static inline uint64_t ssl_load_six_bytes(unsigned char *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_update_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5379,1
    - Dst: mbedtls_ssl_update_in_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5381
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5381
    functionName: mbedtls_ssl_reset_in_out_pointers
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_update_out_pointers
    - mbedtls_ssl_update_in_pointers
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_reset_in_out_pointers(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3931,1
    - Dst: ssl_handle_possible_reconnect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3947,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3945,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3941,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3951
      start: 3928
    functionDepth: 0
    functionLinenumber: 3928
    functionLinenumberEnd: 3951
    functionName: ssl_check_client_reconnect
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_handle_possible_reconnect
    - mbedtls_ssl_is_handshake_over
    - MBEDTLS_GET_UINT16_BE
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_client_reconnect(mbedtls_ssl_context
      *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - MBEDTLS_SSL_RENEGOTIATION_PENDING
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 5909
      start: 5901
    functionDepth: 0
    functionLinenumber: 5901
    functionLinenumberEnd: 5909
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->renego_status == MBEDTLS_SSL_RENEGOTIATION_PENDING) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - mask
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3195
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3195
    functionName: ssl_bitmask_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_bitmask_check(unsigned
      char *mask, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tls13_handle_hs_message_post_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5723,1
    - Dst: ssl_tls12_handle_hs_message_post_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5735
      start: 5717
    functionDepth: 0
    functionLinenumber: 5717
    functionLinenumberEnd: 5735
    functionName: ssl_handle_hs_message_post_handshake
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_tls13_handle_hs_message_post_handshake
    - ssl_tls12_handle_hs_message_post_handshake
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_handle_hs_message_post_handshake(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_current_mtu
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: ssl_get_maximum_datagram_size
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_current_mtu
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ssl_get_maximum_datagram_size(mbedtls_ssl_context const
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - mask
    - offset
    - len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 3172
      start: 3134
    functionDepth: 0
    functionLinenumber: 3134
    functionLinenumberEnd: 3172
    functionName: ssl_bitmask_set
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ssl_bitmask_set(unsigned char *mask, size_t offset, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3218
      start: 3215
    functionDepth: 0
    functionLinenumber: 3215
    functionLinenumberEnd: 3218
    functionName: ssl_get_hs_total_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT24_BE
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t ssl_get_hs_total_len(mbedtls_ssl_context const *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_maximum_datagram_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: ssl_get_remaining_space_in_datagram
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_get_maximum_datagram_size
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_remaining_space_in_datagram(mbedtls_ssl_context
      const *ssl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3222,1
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3228,1
    - Dst: ssl_get_hs_total_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3228,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3230,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3223,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3238,1
    - Dst: ssl_check_hs_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3240,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3241,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3246,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3248,1
    - Dst: ssl_hs_is_proper_fragment
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3288,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3289,1
    - Dst: mbedtls_ssl_resend
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3269,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3270,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3274,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3264,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3296,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3251,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3301
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3301
    functionName: mbedtls_ssl_prepare_handshake_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_check_hs_header
    - ssl_get_hs_total_len
    - ssl_hs_is_proper_fragment
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_resend
    - mbedtls_ssl_is_handshake_over
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_prepare_handshake_record(mbedtls_ssl_context *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - transform
    argTypes:
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 5275
      start: 5271
    functionDepth: 0
    functionLinenumber: 5271
    functionLinenumberEnd: 5275
    functionName: ssl_transform_get_explicit_iv_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ssl_transform_get_explicit_iv_len( mbedtls_ssl_transform
      const *transform) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: mbedtls_ssl_check_timer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_check_timer(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - content
    - content_size
    - remaining
    - rec_type
    - pad
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 588
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 588
    functionName: ssl_build_inner_plaintext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_build_inner_plaintext(unsigned
      char *content, size_t *content_size, size_t remaining, uint8_t rec_type, size_t
      pad) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5357
      start: 5318
    functionDepth: 0
    functionLinenumber: 5318
    functionLinenumberEnd: 5357
    functionName: mbedtls_ssl_update_in_pointers
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_update_in_pointers(mbedtls_ssl_context *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6052,1
    - Dst: ssl_check_ctr_renegotiate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6059,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6066,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6067,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6060,1
    - Dst: ssl_write_real
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6072,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6074,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 6077
      start: 6048
    functionDepth: 0
    functionLinenumber: 6048
    functionLinenumberEnd: 6077
    functionName: mbedtls_ssl_write
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_check_ctr_renegotiate
    - ssl_write_real
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write(mbedtls_ssl_context *ssl, const unsigned char
      *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - len
    - granularity
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: ssl_compute_padding_length
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ssl_compute_padding_length(size_t len, size_t granularity) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_transform_get_explicit_iv_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ssl
    - transform
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 5308
      start: 5277
    functionDepth: 0
    functionLinenumber: 5277
    functionLinenumberEnd: 5308
    functionName: mbedtls_ssl_update_out_pointers
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_transform_get_explicit_iv_len
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_update_out_pointers(mbedtls_ssl_context *ssl, mbedtls_ssl_transform
      *transform) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ssl
    - hs_type
    - buf
    - buf_len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2750
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2750
    functionName: mbedtls_ssl_start_handshake_msg
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_start_handshake_msg(mbedtls_ssl_context *ssl, unsigned
      char hs_type, unsigned char **buf, size_t *buf_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_flight_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2689,1
    - Dst: mbedtls_ssl_buffering_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2700,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2711
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2711
    functionName: mbedtls_ssl_recv_flight_completed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_flight_free
    - mbedtls_ssl_set_timer
    - mbedtls_ssl_buffering_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_recv_flight_completed(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - record_type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 3688
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3688
    functionName: ssl_check_record_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_record_type(uint8_t
      record_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - "((mbedtls_ssl_context *) ssl,\n                                                      &rec->ctr[0])"
    - '!= 0'
    argTypes:
    - mbedtls_ssl_dtls_record_replay_check
    constantsTouched: []
    func_position:
      end: 3918
      start: 3914
    functionDepth: 0
    functionLinenumber: 3914
    functionLinenumberEnd: 3918
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: else
    signature: 'else if (mbedtls_ssl_dtls_record_replay_check((mbedtls_ssl_context
      *) ssl, &rec->ctr[0]) != 0) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2579,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2631,1
    - Dst: ssl_swap_epochs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2564,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2586,1
    - Dst: ssl_swap_epochs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2601,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2627,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2619,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2635,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2630,1
    - Dst: mbedtls_ssl_write_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2660,1
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2666,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2675,1
    - Dst: ssl_swap_epochs
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2540,1
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2607,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2634,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2629,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2640,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2671,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2533,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2563,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2536,1
    - Dst: ssl_get_remaining_payload_in_datagram
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2570,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2633,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2637,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2661,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2678,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 122
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2681
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2681
    functionName: mbedtls_ssl_flight_transmit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - mbedtls_ssl_flush_output
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_write_record
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - memcpy
    - mbedtls_ssl_set_timer
    - MBEDTLS_SSL_DEBUG_RET
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_swap_epochs
    - mbedtls_ssl_is_handshake_over
    - ssl_get_remaining_payload_in_datagram
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_flight_transmit(mbedtls_ssl_context *ssl) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6087,1
    - Dst: mbedtls_ssl_handshake_step
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6123,1
    - Dst: mbedtls_ssl_conf_is_tls13_enabled
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6097,1
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6129,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6125,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6131,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6156,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6158,1
    - Dst: ssl_write_real
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6173,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6178,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 6181
      start: 6080
    functionDepth: 0
    functionLinenumber: 6080
    functionLinenumberEnd: 6181
    functionName: mbedtls_ssl_write_early_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_handshake_step
    - mbedtls_ssl_flush_output
    - mbedtls_ssl_conf_is_tls13_enabled
    - ssl_write_real
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_early_data(mbedtls_ssl_context *ssl, const unsigned
      char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - transform
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 6243
      start: 6238
    functionDepth: 0
    functionLinenumber: 6238
    functionLinenumberEnd: 6243
    functionName: mbedtls_ssl_set_inbound_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_inbound_transform(mbedtls_ssl_context *ssl, mbedtls_ssl_transform
      *transform) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_free_buffered_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6263,1
    - Dst: ssl_buffering_free_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 6268
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6268
    functionName: mbedtls_ssl_buffering_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_buffering_free_slot
    - ssl_free_buffered_record
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_buffering_free(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:115,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:128,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:129,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:140,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:148,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:153,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:164,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:165,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:175,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:177,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:125,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:130,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:136,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:141,1
    - Dst: mbedtls_ct_memcpy_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:144,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:144,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:166,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:167,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:173,1
    - Dst: psa_hash_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:176,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:128,1
    - Dst: psa_hash_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:140,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:129,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:148,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:153,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:164,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:165,1
    - Dst: PSA_ALG_HMAC_GET_HASH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:88,1
    - Dst: PSA_HASH_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:91,1
    - Dst: psa_export_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:115,1
    - Dst: PSA_HASH_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:89,1
    - Dst: psa_hash_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:125,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:130,1
    - Dst: psa_hash_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:141,1
    - Dst: psa_hash_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:166,1
    - Dst: PSA_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:167,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 9
    argNames:
    - key
    - mac_alg
    - add_data
    - add_data_len
    - data
    - data_len_secret
    - min_data_len
    - max_data_len
    - output
    argTypes:
    - mbedtls_svc_key_id_t
    - psa_algorithm_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 178
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 178
    functionName: mbedtls_ct_hmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - PSA_HASH_LENGTH
    - PSA_ALG_HMAC_GET_HASH
    - psa_hash_abort
    - mbedtls_platform_zeroize
    - mbedtls_ct_memcpy_if
    - PSA_TO_MBEDTLS_ERR
    - psa_hash_clone
    - psa_export_key
    - psa_hash_finish
    - PSA_HASH_BLOCK_LENGTH
    - psa_hash_update
    - PSA_CHK
    - mbedtls_ct_uint_eq
    - psa_hash_setup
    - memset
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ct_hmac(mbedtls_svc_key_id_t key,
      psa_algorithm_t mac_alg, const unsigned char *add_data, size_t add_data_len,
      const unsigned char *data, size_t data_len_secret, size_t min_data_len, size_t
      max_data_len, unsigned char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - transform
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 6250
      start: 6245
    functionDepth: 0
    functionLinenumber: 6245
    functionLinenumberEnd: 6250
    functionName: mbedtls_ssl_set_outbound_transform
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_outbound_transform(mbedtls_ssl_context *ssl,
      mbedtls_ssl_transform *transform) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_zeroize_and_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6282,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - slot
    argTypes:
    - mbedtls_ssl_context*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 6285
      start: 6270
    functionDepth: 0
    functionLinenumber: 6270
    functionLinenumberEnd: 6285
    functionName: ssl_buffering_free_slot
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_zeroize_and_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ssl_buffering_free_slot(mbedtls_ssl_context *ssl, uint8_t
      slot) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_max_out_record_payload
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5992,1
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6020,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5996,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6021,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6003,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6033,1
    - Dst: mbedtls_ssl_write_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6036,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6037,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 6043
      start: 5988
    functionDepth: 0
    functionLinenumber: 5988
    functionLinenumberEnd: 6043
    functionName: ssl_write_real
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_write_record
    - mbedtls_ssl_flush_output
    - memcpy
    - mbedtls_ssl_get_max_out_record_payload
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_real(mbedtls_ssl_context
      *ssl, const unsigned char *buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2416,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2422,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2417,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2421,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2427,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2428,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2430,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2435,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2453
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2453
    functionName: ssl_flight_append
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_free
    - memcpy
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_flight_append(mbedtls_ssl_context
      *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3308,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3311,1
    - Dst: ssl_buffering_free_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3331,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3341,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3345
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3345
    functionName: mbedtls_ssl_update_handshake_status
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_buffering_free_slot
    - memset
    - mbedtls_ssl_is_handshake_over
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_update_handshake_status(mbedtls_ssl_context *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4638,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4668,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4686
      start: 4607
    functionDepth: 0
    functionLinenumber: 4607
    functionLinenumberEnd: 4686
    functionName: ssl_consume_current_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - MBEDTLS_SSL_DEBUG_BUF
    - memmove
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_consume_current_message(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4274
      start: 4266
    functionDepth: 0
    functionLinenumber: 4266
    functionLinenumberEnd: 4274
    functionName: ssl_next_record_is_in_datagram
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_next_record_is_in_datagram(mbedtls_ssl_context
      *ssl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4287,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4319,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4299,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4294,1
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4332,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4337,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4341,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4342,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4348,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4353,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4361,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4363
      start: 4276
    functionDepth: 0
    functionLinenumber: 4276
    functionLinenumberEnd: 4363
    functionName: ssl_load_buffered_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - MBEDTLS_GET_UINT24_BE
    - MBEDTLS_SSL_DEBUG_BUF
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_load_buffered_message(mbedtls_ssl_context
      *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4696
      start: 4688
    functionDepth: 0
    functionLinenumber: 4688
    functionLinenumberEnd: 4696
    functionName: ssl_record_is_in_progress
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_record_is_in_progress(mbedtls_ssl_context
      *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4801,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4813,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4811,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4821,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ssl
    - rec
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_record*
    constantsTouched: []
    func_position:
      end: 4832
      start: 4776
    functionDepth: 0
    functionLinenumber: 4776
    functionLinenumberEnd: 4832
    functionName: ssl_buffer_future_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_calloc
    - memcpy
    - MBEDTLS_SSL_DEBUG_BUF
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_buffer_future_record(mbedtls_ssl_context
      *ssl, mbedtls_record const *rec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3635,1
    - Dst: mbedtls_ssl_check_dtls_clihlo_cookie
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3640,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3650,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3651,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3646,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3657,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3664,1
    - Dst: mbedtls_ssl_session_reset_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3665,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3674
      start: 3625
    functionDepth: 0
    functionLinenumber: 3625
    functionLinenumberEnd: 3674
    functionName: ssl_handle_possible_reconnect
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_session_reset_int
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_check_dtls_clihlo_cookie
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_handle_possible_reconnect(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:785,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:817,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:799,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:809,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:825,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:833,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:837,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:841,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:846,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 5
    argNames:
    - add_data
    - add_data_len
    - rec
    - tls_version
    - taglen
    argTypes:
    - unsigned char*
    - size_t*
    - mbedtls_record*
    - mbedtls_ssl_protocol_version
    - size_t
    constantsTouched: []
    func_position:
      end: 851
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 851
    functionName: ssl_extract_add_data_from_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void ssl_extract_add_data_from_record(unsigned char *add_data,
      size_t *add_data_len, mbedtls_record *rec, mbedtls_ssl_protocol_version tls_version,
      size_t taglen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - version
    - transport
    - tls_version
    argTypes:
    - unsigned char
    - int
    - mbedtls_ssl_protocol_version
    constantsTouched: []
    func_position:
      end: 6314
      start: 6298
    functionDepth: 0
    functionLinenumber: 6298
    functionLinenumberEnd: 6314
    functionName: mbedtls_ssl_write_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_write_version(unsigned char version[2], int transport,
      mbedtls_ssl_protocol_version tls_version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - millisecs
    argTypes:
    - mbedtls_ssl_context*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: mbedtls_ssl_set_timer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_set_timer(mbedtls_ssl_context *ssl, uint32_t millisecs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3754,1
    - Dst: ssl_check_record_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3809,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3794,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3810,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3805,1
    - Dst: mbedtls_ssl_read_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3821,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3826,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3839,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3845,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3853,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3854,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3856,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3886,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3905,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3916,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3881,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3898,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 4
    argNames:
    - ssl
    - buf
    - len
    - rec
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - mbedtls_record*
    constantsTouched: []
    func_position:
      end: 3924
      start: 3709
    functionDepth: 0
    functionLinenumber: 3709
    functionLinenumberEnd: 3924
    functionName: ssl_parse_record_header
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_read_version
    - MBEDTLS_SSL_DEBUG_BUF
    - memcpy
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_check_record_type
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_record_header(mbedtls_ssl_context
      const *ssl, unsigned char *buf, size_t len, mbedtls_record *rec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5399,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5420,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5410,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5429,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5441
      start: 5391
    functionDepth: 0
    functionLinenumber: 5391
    functionLinenumberEnd: 5441
    functionName: mbedtls_ssl_check_pending
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_check_pending(const mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_ep_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5544,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5565,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5557,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5554,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5548,1
    - Dst: mbedtls_ssl_renegotiate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5567
      start: 5541
    functionDepth: 0
    functionLinenumber: 5541
    functionLinenumberEnd: 5567
    functionName: ssl_check_ctr_renegotiate
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - memcmp
    - mbedtls_ssl_renegotiate
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_is_handshake_over
    - mbedtls_ssl_ep_len
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_ctr_renegotiate(mbedtls_ssl_context
      *ssl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5645,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5661,1
    - Dst: mbedtls_ssl_start_renegotiation
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5690,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5693,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5646,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5704,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5706,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5714
      start: 5631
    functionDepth: 0
    functionLinenumber: 5631
    functionLinenumberEnd: 5714
    functionName: ssl_tls12_handle_hs_message_post_handshake
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_start_renegotiation
    - mbedtls_ssl_hs_hdr_len
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls12_handle_hs_message_post_handshake(mbedtls_ssl_context
      *ssl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3508,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3514,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3520,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3533,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3596,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3506,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3528,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3549,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3597,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3578,1
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3515,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3510,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3538,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3600,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3598,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3519,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3544,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 78
    argCount: 8
    argNames:
    - ssl
    - cli_id
    - cli_id_len
    - in
    - in_len
    - obuf
    - buf_len
    - olen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 3603
      start: 3471
    functionDepth: 0
    functionLinenumber: 3471
    functionLinenumberEnd: 3603
    functionName: mbedtls_ssl_check_dtls_clihlo_cookie
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - MBEDTLS_BYTE_2
    - MBEDTLS_SSL_DEBUG_BUF
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_0
    - memcpy
    - MBEDTLS_GET_UINT24_BE
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_check_dtls_clihlo_cookie( mbedtls_ssl_context *ssl,
      const unsigned char *cli_id, size_t cli_id_len, const unsigned char *in, size_t
      in_len, unsigned char *obuf, size_t buf_len, size_t *olen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4421,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4436,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4490,1
    - Dst: ssl_buffer_make_space
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4512,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4536,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4574,1
    - Dst: ssl_bitmask_set
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4581,1
    - Dst: ssl_bitmask_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4582,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4478,1
    - Dst: ssl_get_reassembly_buffer_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4482,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4554,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4501,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4547,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4577,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4588,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4602,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4417,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4443,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4531,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4513,1
    - Dst: ssl_get_hs_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4572,1
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4429,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4453,1
    - Dst: ssl_hs_is_proper_fragment
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4463,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4545,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4546,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4555,1
    - Dst: ssl_get_hs_frag_off
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4571,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4604
      start: 4407
    functionDepth: 0
    functionLinenumber: 4407
    functionLinenumberEnd: 4604
    functionName: ssl_buffer_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_calloc
    - ssl_get_hs_frag_len
    - ssl_bitmask_set
    - memcmp
    - ssl_bitmask_check
    - ssl_hs_is_proper_fragment
    - memcpy
    - MBEDTLS_GET_UINT16_BE
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_get_reassembly_buffer_size
    - ssl_get_hs_frag_off
    - ssl_buffer_make_space
    - memset
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_buffer_message(mbedtls_ssl_context
      *ssl) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_out_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5454,1
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5472,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5464,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5470,1
    - Dst: psa_get_key_attributes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5469,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5488,1
    - Dst: mbedtls_cipher_get_cipher_mode
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5493,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5503,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5535
      start: 5444
    functionDepth: 0
    functionLinenumber: 5444
    functionLinenumberEnd: 5535
    functionName: mbedtls_ssl_get_record_expansion
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - mbedtls_ssl_out_hdr_len
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    - MBEDTLS_SSL_DEBUG_MSG
    - psa_get_key_attributes
    - psa_get_key_type
    - mbedtls_cipher_get_cipher_mode
    - mbedtls_cipher_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_get_record_expansion(const mbedtls_ssl_context *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2352,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2366,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2361,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2355,1
    - Dst: mbedtls_ssl_out_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2368,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2373,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2380,1
    - Dst: mbedtls_ssl_update_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2398,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2400,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2403
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2403
    functionName: mbedtls_ssl_flush_output
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_update_out_pointers
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_out_hdr_len
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_flush_output(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_read_application_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5972,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 5973
      start: 5956
    functionDepth: 0
    functionLinenumber: 5956
    functionLinenumberEnd: 5973
    functionName: mbedtls_ssl_read_early_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_read_application_data
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_read_early_data(mbedtls_ssl_context *ssl, unsigned
      char *buf, size_t len) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2162,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2257,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2228,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2266,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2182,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2189,1
    - Dst: ssl_double_retransmit_timeout
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2260,1
    - Dst: mbedtls_ssl_resend_hello_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2275,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2294,1
    - Dst: mbedtls_ssl_check_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2301,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2317,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2328,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2339,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2192,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2208,1
    - Dst: mbedtls_ssl_check_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2227,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2233,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2256,1
    - Dst: mbedtls_ssl_resend
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2265,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2154,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2157,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2200,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2218,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2239,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2248,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2261,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2276,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2314,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 115
    argCount: 2
    argNames:
    - ssl
    - nb_want
    argTypes:
    - mbedtls_ssl_context*
    - size_t
    constantsTouched: []
    func_position:
      end: 2342
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2342
    functionName: mbedtls_ssl_fetch_input
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_resend_hello_request
    - ssl_double_retransmit_timeout
    - mbedtls_ssl_check_timer
    - memmove
    - mbedtls_ssl_set_timer
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_resend
    - mbedtls_ssl_is_handshake_over
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_fetch_input(mbedtls_ssl_context *ssl, size_t nb_want) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1658,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1743,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1874,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1967,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2078,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1894,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1779,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1863,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1931,1
    - Dst: ssl_build_record_nonce
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1593,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1615,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1769,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1794,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2067,1
    - Dst: psa_cipher_set_iv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1860,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1644,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1883,1
    - Dst: mbedtls_ct_bool_and
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1915,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1920,1
    - Dst: ssl_transform_aead_dynamic_iv_is_explicit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1563,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1967,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1855,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1884,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1963,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1986,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2120,1
    - Dst: mbedtls_cipher_auth_decrypt_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1637,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1774,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1811,1
    - Dst: ssl_extract_add_data_from_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2021,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1830,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1534,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1565,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1808,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2094,1
    - Dst: ssl_parse_inner_plaintext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2101,1
    - Dst: ssl_extract_add_data_from_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1738,1
    - Dst: psa_mac_verify_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1763,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2063,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1582,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1606,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1752,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1841,1
    - Dst: mbedtls_ct_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2046,1
    - Dst: psa_cipher_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1868,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2077,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1509,1
    - Dst: psa_aead_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1623,1
    - Dst: mbedtls_ct_size_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1962,1
    - Dst: psa_cipher_decrypt_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1851,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2052,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2064,1
    - Dst: mbedtls_cipher_crypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1891,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1864,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1632,1
    - Dst: psa_mac_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1757,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1783,1
    - Dst: psa_mac_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1806,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1815,1
    - Dst: mbedtls_ct_memcpy_offset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2056,1
    - Dst: ssl_parse_inner_plaintext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2112,1
    - Dst: mbedtls_ssl_get_mode_from_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1519,1
    - Dst: ssl_extract_add_data_from_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1603,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1633,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1704,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1796,1
    - Dst: mbedtls_ct_hmac
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2040,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1991,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1790,1
    - Dst: mbedtls_ct_size_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1932,1
    - Dst: mbedtls_ct_uint_ge
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1961,1
    - Dst: mbedtls_ct_uint_ge
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1912,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1514,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1856,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1901,1
    - Dst: mbedtls_ct_size_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1916,1
    - Dst: psa_cipher_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1878,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1725,1
    - Dst: psa_mac_verify_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1746,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1805,1
    - Dst: mbedtls_ct_size_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1974,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2070,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1971,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1526,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1616,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1788,1
    - Dst: PSA_TO_MBEDTLS_ERR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1873,1
    - Dst: mbedtls_ct_uint_ge
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1928,1
    - Dst: mbedtls_ct_size_if_else_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:1964,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 297
    argCount: 3
    argNames:
    - ssl
    - transform
    - rec
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_ssl_transform*
    - mbedtls_record*
    constantsTouched: []
    func_position:
      end: 2123
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 2123
    functionName: mbedtls_ssl_decrypt_buf
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_extract_add_data_from_record
    - mbedtls_ct_bool_and
    - memcmp
    - mbedtls_platform_zeroize
    - psa_cipher_decrypt_setup
    - psa_cipher_update
    - mbedtls_ct_memcmp
    - PSA_TO_MBEDTLS_ERR
    - psa_mac_verify_setup
    - mbedtls_cipher_auth_decrypt_ext
    - psa_cipher_finish
    - psa_mac_abort
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_build_record_nonce
    - mbedtls_ct_size_if_else_0
    - psa_mac_verify_finish
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_md_hmac_reset
    - psa_mac_update
    - memcpy
    - ssl_parse_inner_plaintext
    - ssl_transform_aead_dynamic_iv_is_explicit
    - mbedtls_cipher_crypt
    - MBEDTLS_SSL_DEBUG_RET
    - mbedtls_ct_hmac
    - mbedtls_ssl_get_mode_from_transform
    - psa_aead_decrypt
    - mbedtls_ct_memcpy_offset
    - mbedtls_md_hmac_update
    - psa_cipher_set_iv
    - mbedtls_ct_uint_ge
    - mbedtls_md_hmac_finish
    - mbedtls_ct_uint_eq
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_decrypt_buf(mbedtls_ssl_context const *ssl, mbedtls_ssl_transform
      *transform, mbedtls_record *rec) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2966,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2999,1
    - Dst: mbedtls_ssl_ep_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3045,1
    - Dst: mbedtls_ssl_out_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3005,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3031,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3057,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2977,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2987,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3002,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3046,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3066,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2942,1
    - Dst: mbedtls_ssl_write_version
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2962,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2976,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2992,1
    - Dst: mbedtls_ssl_update_out_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3036,1
    - Dst: ssl_get_remaining_space_in_datagram
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3011,1
    - Dst: mbedtls_ssl_ep_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3038,1
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3074,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3079,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2965,1
    - Dst: mbedtls_ssl_encrypt_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2985,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3026,1
    - Dst: ssl_get_remaining_payload_in_datagram
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3055,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3075,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 88
    argCount: 2
    argNames:
    - ssl
    - force_flush
    argTypes:
    - mbedtls_ssl_context*
    - int
    constantsTouched: []
    func_position:
      end: 3082
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 3082
    functionName: mbedtls_ssl_write_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - mbedtls_ssl_flush_output
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_update_out_pointers
    - ssl_get_remaining_space_in_datagram
    - memcpy
    - mbedtls_ssl_out_hdr_len
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_get_remaining_payload_in_datagram
    - mbedtls_ssl_ep_len
    - mbedtls_ssl_write_version
    - mbedtls_ssl_encrypt_buf
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_record(mbedtls_ssl_context *ssl, int force_flush) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_load_six_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3421
      start: 3397
    functionDepth: 0
    functionLinenumber: 3397
    functionLinenumberEnd: 3421
    functionName: mbedtls_ssl_dtls_replay_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_load_six_bytes
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_dtls_replay_check(mbedtls_ssl_context const *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_dtls_replay_check
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - record_in_ctr
    argTypes:
    - mbedtls_ssl_context*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 3392
      start: 3374
    functionDepth: 0
    functionLinenumber: 3374
    functionLinenumberEnd: 3392
    functionName: mbedtls_ssl_dtls_record_replay_check
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_dtls_replay_check
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int mbedtls_ssl_dtls_record_replay_check(mbedtls_ssl_context
      *ssl, uint8_t *record_in_ctr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5164,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5176,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5167,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5168,1
    - Dst: mbedtls_ssl_write_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5175,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - level
    - message
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 5182
      start: 5153
    functionDepth: 0
    functionLinenumber: 5153
    functionLinenumberEnd: 5182
    functionName: mbedtls_ssl_send_alert_message
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_write_record
    - mbedtls_ssl_flush_output
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_send_alert_message(mbedtls_ssl_context *ssl, unsigned
      char level, unsigned char message) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_load_six_bytes
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3454
      start: 3426
    functionDepth: 0
    functionLinenumber: 3426
    functionLinenumberEnd: 3454
    functionName: mbedtls_ssl_dtls_replay_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_load_six_bytes
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_dtls_replay_update(mbedtls_ssl_context *ssl) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_fetch_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4858,1
    - Dst: ssl_parse_record_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4864,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4860,1
    - Dst: mbedtls_ssl_update_in_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4883,1
    - Dst: ssl_check_client_reconnect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4893,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4961,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4971,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4928,1
    - Dst: mbedtls_ssl_in_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4858,1
    - Dst: mbedtls_ssl_fetch_input
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4936,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4938,1
    - Dst: mbedtls_ssl_update_in_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5005,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4894,1
    - Dst: ssl_prepare_record_content
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4949,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4981,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4992,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4910,1
    - Dst: ssl_load_buffered_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4849,1
    - Dst: ssl_buffer_future_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4869,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4903,1
    - Dst: MBEDTLS_PUT_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5021,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 98
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5024
      start: 4836
    functionDepth: 0
    functionLinenumber: 4836
    functionLinenumberEnd: 5024
    functionName: ssl_get_next_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT16_BE
    - ssl_buffer_future_record
    - mbedtls_ssl_fetch_input
    - ssl_load_buffered_record
    - mbedtls_ssl_in_hdr_len
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_check_client_reconnect
    - ssl_prepare_record_content
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_update_in_pointers
    - ssl_parse_record_header
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_next_record(mbedtls_ssl_context
      *ssl) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_prepare_handshake_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5034,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5041,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5047,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5057,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5061,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5069,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5073,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5086,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5091,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5098,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5112,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5132,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5137,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5105,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5126,1
    - Dst: mbedtls_ssl_handshake_wrapup_free_hs_transform
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5138,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5144
      start: 5026
    functionDepth: 0
    functionLinenumber: 5026
    functionLinenumberEnd: 5144
    functionName: mbedtls_ssl_handle_message_type
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_handshake_wrapup_free_hs_transform
    - mbedtls_ssl_prepare_handshake_record
    - mbedtls_ssl_is_handshake_over
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_handle_message_type(mbedtls_ssl_context *ssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6195,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6201,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6206,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6198,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 6209
      start: 6187
    functionDepth: 0
    functionLinenumber: 6187
    functionLinenumberEnd: 6209
    functionName: mbedtls_ssl_close_notify
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_is_handshake_over
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_close_notify(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4371,1
    - Dst: ssl_buffering_free_slot
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4394,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4380,1
    - Dst: ssl_free_buffered_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4375,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4389,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ssl
    - desired
    argTypes:
    - mbedtls_ssl_context*
    - size_t
    constantsTouched: []
    func_position:
      end: 4405
      start: 4365
    functionDepth: 0
    functionLinenumber: 4365
    functionLinenumberEnd: 4405
    functionName: ssl_buffer_make_space
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_buffering_free_slot
    - ssl_free_buffered_record
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_buffer_make_space(mbedtls_ssl_context
      *ssl, size_t desired) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5151
      start: 5146
    functionDepth: 0
    functionLinenumber: 5146
    functionLinenumberEnd: 5151
    functionName: mbedtls_ssl_send_fatal_handshake_failure
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_send_fatal_handshake_failure(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5188,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5197,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5201,1
    - Dst: mbedtls_ssl_write_handshake_msg
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5204
      start: 5184
    functionDepth: 0
    functionLinenumber: 5184
    functionLinenumberEnd: 5204
    functionName: mbedtls_ssl_write_change_cipher_spec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_write_handshake_msg
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_write_change_cipher_spec(mbedtls_ssl_context *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6218,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6222,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6219,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6227,1
    - Dst: mbedtls_cipher_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6221,1
    - Dst: psa_destroy_key
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6228,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6230,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6231,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - transform
    argTypes:
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 6236
      start: 6211
    functionDepth: 0
    functionLinenumber: 6211
    functionLinenumberEnd: 6236
    functionName: mbedtls_ssl_transform_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_cipher_free
    - mbedtls_md_free
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_transform_free(mbedtls_ssl_transform *transform) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3090,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3095
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3095
    functionName: ssl_hs_is_proper_fragment
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_hs_is_proper_fragment(mbedtls_ssl_context
      *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5210,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5213,1
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5212,1
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5219,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5218,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5231,1
    - Dst: mbedtls_ssl_dtls_replay_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5240,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5245,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5252,1
    - Dst: mbedtls_ssl_update_in_pointers
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5254,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5261
      start: 5206
    functionDepth: 0
    functionLinenumber: 5206
    functionLinenumberEnd: 5261
    functionName: mbedtls_ssl_parse_change_cipher_spec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - memset
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_send_alert_message
    - mbedtls_ssl_dtls_replay_reset
    - mbedtls_ssl_update_in_pointers
    - mbedtls_ssl_read_record
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_parse_change_cipher_spec(mbedtls_ssl_context *ssl) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_tls13_check_early_data_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4008,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4047,1
    - Dst: mbedtls_ssl_ep_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4111,1
    - Dst: mbedtls_ssl_dtls_replay_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4153,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3963,1
    - Dst: mbedtls_ssl_decrypt_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3983,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4020,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4073,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4160,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4051,1
    - Dst: ssl_check_record_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4062,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4063,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4085,1
    - Dst: mbedtls_ssl_tls13_check_early_data_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4136,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4005,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3985,1
    - Dst: mbedtls_ssl_ep_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4104,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4141,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4112,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 2
    argNames:
    - ssl
    - rec
    argTypes:
    - mbedtls_ssl_context*
    - mbedtls_record*
    constantsTouched: []
    func_position:
      end: 4165
      start: 3957
    functionDepth: 0
    functionLinenumber: 3957
    functionLinenumberEnd: 4165
    functionName: ssl_prepare_record_content
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_decrypt_buf
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_ssl_dtls_replay_update
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_ep_len
    - ssl_check_record_type
    - mbedtls_ssl_tls13_check_early_data_len
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_prepare_record_content(mbedtls_ssl_context
      *ssl, mbedtls_record *rec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_get_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:207,1
    - Dst: mbedtls_md_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:229,1
    - Dst: mbedtls_md_get_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:213,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:261,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:261,1
    - Dst: mbedtls_md_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:270,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:234,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:245,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:256,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:251,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:260,1
    - Dst: mbedtls_md_hmac_reset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:265,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:229,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:233,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:234,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:240,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:244,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:256,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:259,1
    - Dst: mbedtls_md_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:259,1
    - Dst: mbedtls_md_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:260,1
    - Dst: mbedtls_md_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:262,1
    - Dst: mbedtls_md_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:220,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:233,1
    - Dst: mbedtls_ct_memcpy_if
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:247,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:245,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:251,1
    - Dst: mbedtls_md_clone
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:244,1
    - Dst: mbedtls_ct_uint_eq
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:247,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:262,1
    - Dst: MD_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 8
    argNames:
    - ctx
    - add_data
    - add_data_len
    - data
    - data_len_secret
    - min_data_len
    - max_data_len
    - output
    argTypes:
    - mbedtls_md_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 272
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 272
    functionName: mbedtls_ct_hmac
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_md_free
    - MD_CHK
    - mbedtls_md_hmac_reset
    - memset
    - mbedtls_ct_memcpy_if
    - mbedtls_md_get_type
    - mbedtls_md_init
    - mbedtls_md_clone
    - mbedtls_md_starts
    - mbedtls_md_get_size
    - mbedtls_md_update
    - mbedtls_ct_uint_eq
    - mbedtls_md_finish
    - mbedtls_md_setup
    linkageType: ''
    returnType: MBEDTLS_STATIC_TESTABLE
    signature: 'MBEDTLS_STATIC_TESTABLE int mbedtls_ct_hmac(mbedtls_md_context_t *ctx,
      const unsigned char *add_data, size_t add_data_len, const unsigned char *data,
      size_t data_len_secret, size_t min_data_len, size_t max_data_len, unsigned char
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT24_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:3099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 3100
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3100
    functionName: ssl_get_hs_frag_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT24_BE
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t ssl_get_hs_frag_len(mbedtls_ssl_context const *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_reset_retransmit_timeout
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2718,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 2727
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2727
    functionName: mbedtls_ssl_send_flight_completed
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_reset_retransmit_timeout
    - mbedtls_ssl_set_timer
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_send_flight_completed(mbedtls_ssl_context *ssl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:322,1
    - Dst: MBEDTLS_SSL_DEBUG_BUF
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:323,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:338,1
    - Dst: mbedtls_ssl_decrypt_buf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:343,1
    - Dst: ssl_parse_record_header
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:336,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:345,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:355,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - ssl
    - buf
    - buflen
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 366
    functionName: mbedtls_ssl_check_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_decrypt_buf
    - MBEDTLS_SSL_DEBUG_BUF
    - mbedtls_platform_zeroize
    - MBEDTLS_SSL_DEBUG_MSG
    - ssl_parse_record_header
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_check_record(mbedtls_ssl_context const *ssl, unsigned
      char *buf, size_t buflen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:496,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 512
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 512
    functionName: ssl_double_retransmit_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_double_retransmit_timeout(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:892,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:896,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - dst_iv
    - dst_iv_len
    - fixed_iv
    - fixed_iv_len
    - dynamic_iv
    - dynamic_iv_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 897
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 897
    functionName: ssl_build_record_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void ssl_build_record_nonce(unsigned char *dst_iv, size_t dst_iv_len,
      unsigned char const *fixed_iv, size_t fixed_iv_len, unsigned char const *dynamic_iv,
      size_t dynamic_iv_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_resend_hello_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2275,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - MBEDTLS_SSL_RENEGOTIATION_PENDING
    argTypes:
    - ssl
    constantsTouched: []
    func_position:
      end: 2282
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2282
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_resend_hello_request
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: else
    signature: 'else if (ssl->conf->endpoint == MBEDTLS_SSL_IS_SERVER && ssl->renego_status
      == MBEDTLS_SSL_RENEGOTIATION_PENDING) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_hs_hdr_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 5583
      start: 5573
    functionDepth: 0
    functionLinenumber: 5573
    functionLinenumberEnd: 5583
    functionName: ssl_tls13_is_new_session_ticket
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_hs_hdr_len
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_is_new_session_ticket(mbedtls_ssl_context
      *ssl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_output_max_frag_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:429,1
    - Dst: mbedtls_ssl_get_record_expansion
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:457,1
    - Dst: ssl_get_remaining_space_in_datagram
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 473
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 473
    functionName: ssl_get_remaining_payload_in_datagram
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_get_record_expansion
    - ssl_get_remaining_space_in_datagram
    - mbedtls_ssl_get_output_max_frag_len
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_remaining_payload_in_datagram(mbedtls_ssl_context
      const *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - content
    - content_size
    - rec_type
    argTypes:
    - unsigned char*
    - size_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 611
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 611
    functionName: ssl_parse_inner_plaintext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_inner_plaintext(unsigned
      char const *content, size_t *content_size, uint8_t *rec_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - transform
    argTypes:
    - mbedtls_ssl_transform*
    constantsTouched: []
    func_position:
      end: 859
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 859
    functionName: ssl_transform_aead_dynamic_iv_is_explicit
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_transform_aead_dynamic_iv_is_explicit(
      mbedtls_ssl_transform const *transform) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4188,1
    - Dst: ssl_load_buffered_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4206,1
    - Dst: ssl_next_record_is_in_datagram
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4205,1
    - Dst: ssl_record_is_in_progress
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4198,1
    - Dst: ssl_consume_current_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4193,1
    - Dst: ssl_get_next_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4213,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4219,1
    - Dst: mbedtls_ssl_handle_message_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4225,1
    - Dst: ssl_buffer_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4230,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4243,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4260,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4256,1
    - Dst: mbedtls_ssl_update_handshake_status
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4249,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4251,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - ssl
    - update_hs_digest
    argTypes:
    - mbedtls_ssl_context*
    - unsigned
    constantsTouched: []
    func_position:
      end: 4263
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4263
    functionName: mbedtls_ssl_read_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - ssl_record_is_in_progress
    - ssl_buffer_message
    - ssl_consume_current_message
    - mbedtls_ssl_update_handshake_status
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handle_message_type
    - ssl_next_record_is_in_datagram
    - ssl_get_next_record
    - ssl_load_buffered_message
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_read_record(mbedtls_ssl_context *ssl, unsigned update_hs_digest) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_send_alert_message
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 6362
      start: 6337
    functionDepth: 0
    functionLinenumber: 6337
    functionLinenumberEnd: 6362
    functionName: mbedtls_ssl_handle_pending_alert
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_send_alert_message
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_handle_pending_alert(mbedtls_ssl_context *ssl) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_flight_transmit
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5800,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5832,1
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5845,1
    - Dst: mbedtls_ssl_is_handshake_over
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5927,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5904,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5939,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5790,1
    - Dst: mbedtls_ssl_flush_output
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5794,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5850,1
    - Dst: ssl_handle_hs_message_post_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5870,1
    - Dst: mbedtls_ssl_read_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5859,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5872,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5919,1
    - Dst: ssl_read_application_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5948,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5950,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5823,1
    - Dst: ssl_check_ctr_renegotiate
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5820,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5829,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5842,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5914,1
    - Dst: MBEDTLS_SSL_DEBUG_RET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5864,1
    - Dst: mbedtls_ssl_set_timer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5928,1
    - Dst: mbedtls_ssl_resend_hello_request
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5938,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 99
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 5953
      start: 5782
    functionDepth: 0
    functionLinenumber: 5782
    functionLinenumberEnd: 5953
    functionName: mbedtls_ssl_read
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_ssl_flush_output
    - ssl_handle_hs_message_post_handshake
    - mbedtls_ssl_resend_hello_request
    - ssl_check_ctr_renegotiate
    - mbedtls_ssl_set_timer
    - MBEDTLS_SSL_DEBUG_MSG
    - mbedtls_ssl_handshake
    - ssl_read_application_data
    - mbedtls_ssl_is_handshake_over
    - mbedtls_ssl_read_record
    - mbedtls_ssl_flight_transmit
    - MBEDTLS_SSL_DEBUG_RET
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_ssl_read(mbedtls_ssl_context *ssl, unsigned char *buf,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT16_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:6319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - version
    - transport
    argTypes:
    - unsigned char
    - int
    constantsTouched: []
    func_position:
      end: 6329
      start: 6316
    functionDepth: 0
    functionLinenumber: 6316
    functionLinenumberEnd: 6329
    functionName: mbedtls_ssl_read_version
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT16_BE
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t mbedtls_ssl_read_version(const unsigned char version[2],
      int transport) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4714
      start: 4700
    functionDepth: 0
    functionLinenumber: 4700
    functionLinenumberEnd: 4714
    functionName: ssl_free_buffered_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_free_buffered_record(mbedtls_ssl_context *ssl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5759,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:5765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - mbedtls_ssl_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 5777
      start: 5753
    functionDepth: 0
    functionLinenumber: 5753
    functionLinenumberEnd: 5777
    functionName: ssl_read_application_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int ssl_read_application_data( mbedtls_ssl_context *ssl, unsigned
      char *buf, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ssl_next_record_is_in_datagram
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4746,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4753,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4761,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4757,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4750,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4765,1
    - Dst: ssl_free_buffered_record
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4769,1
    - Dst: MBEDTLS_SSL_DEBUG_MSG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:4772,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - mbedtls_ssl_context*
    constantsTouched: []
    func_position:
      end: 4774
      start: 4716
    functionDepth: 0
    functionLinenumber: 4716
    functionLinenumberEnd: 4774
    functionName: ssl_load_buffered_record
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - MBEDTLS_SSL_DEBUG_MSG
    - memcpy
    - ssl_free_buffered_record
    - ssl_next_record_is_in_datagram
    linkageType: ''
    returnType: MBEDTLS_CHECK_RETURN_CRITICAL
    signature: 'MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_load_buffered_record(mbedtls_ssl_context
      *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2466,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c:2467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - flight
    argTypes:
    - mbedtls_ssl_flight_item*
    constantsTouched: []
    func_position:
      end: 2471
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2471
    functionName: mbedtls_ssl_flight_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/ssl_msg.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_ssl_flight_free(mbedtls_ssl_flight_item *flight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: mbedtls_psa_aead_encrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - psa_aead_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_encrypt_setup( mbedtls_psa_aead_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:129,1
    - Dst: mbedtls_ccm_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:147,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:159,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:158,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:146,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:174,1
    - Dst: mbedtls_chachapoly_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:175,1
    - Dst: mbedtls_psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:200,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 13
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - nonce
    - nonce_length
    - additional_data
    - additional_data_length
    - plaintext
    - plaintext_length
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 203
    functionName: mbedtls_psa_aead_encrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_ccm_encrypt_and_tag
    - mbedtls_psa_aead_abort
    - mbedtls_to_psa_error
    - mbedtls_gcm_crypt_and_tag
    - psa_aead_setup
    - mbedtls_chachapoly_encrypt_and_tag
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_encrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data,
      size_t additional_data_length, const uint8_t *plaintext, size_t plaintext_length,
      uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:370,1
    - Dst: mbedtls_ccm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:381,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:399,1
    - Dst: mbedtls_gcm_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:371,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:380,1
    - Dst: mbedtls_chachapoly_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - operation
    - nonce
    - nonce_length
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 416
    functionName: mbedtls_psa_aead_set_nonce
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_chachapoly_starts
    - mbedtls_ccm_starts
    - mbedtls_gcm_starts
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_set_nonce( mbedtls_psa_aead_operation_t
      *operation, const uint8_t *nonce, size_t nonce_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:426,1
    - Dst: mbedtls_ccm_set_lengths
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - operation
    - ad_length
    - plaintext_length
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 440
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: mbedtls_psa_aead_set_lengths
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_ccm_set_lengths
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_set_lengths( mbedtls_psa_aead_operation_t
      *operation, size_t ad_length, size_t plaintext_length) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:566,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:580,1
    - Dst: mbedtls_ccm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:581,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:595,1
    - Dst: mbedtls_gcm_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:567,1
    - Dst: mbedtls_chachapoly_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:596,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 7
    argNames:
    - operation
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    - tag
    - tag_size
    - tag_length
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - uint8_t*
    - size_t
    - size_t*
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 619
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 619
    functionName: mbedtls_psa_aead_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_gcm_finish
    - mbedtls_ccm_finish
    - mbedtls_chachapoly_finish
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_finish( mbedtls_psa_aead_operation_t
      *operation, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length,
      uint8_t *tag, size_t tag_size, size_t *tag_length) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_values_from_psa
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:38,1
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:51,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:46,1
    - Dst: mbedtls_ccm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:55,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:44,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:56,1
    - Dst: mbedtls_ccm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:57,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:66,1
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:71,1
    - Dst: mbedtls_gcm_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:75,1
    - Dst: mbedtls_chachapoly_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:93,1
    - Dst: psa_get_key_type
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:109,1
    - Dst: PSA_ALG_AEAD_GET_TAG_LENGTH
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:111,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:76,1
    - Dst: PSA_ALG_AEAD_WITH_SHORTENED_TAG
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:86,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:77,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:94,1
    - Dst: mbedtls_chachapoly_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:95,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 114
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 114
    functionName: psa_aead_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_setkey
    - mbedtls_to_psa_error
    - mbedtls_ccm_init
    - mbedtls_gcm_init
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    - PSA_ALG_AEAD_WITH_SHORTENED_TAG
    - mbedtls_gcm_setkey
    - mbedtls_chachapoly_init
    - mbedtls_ccm_setkey
    - psa_get_key_type
    - mbedtls_cipher_values_from_psa
    - PSA_ALG_AEAD_GET_TAG_LENGTH
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_aead_setup( mbedtls_psa_aead_operation_t *operation,
      const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size,
      psa_algorithm_t alg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:241,1
    - Dst: psa_aead_unpadded_locate_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:248,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:269,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:257,1
    - Dst: mbedtls_ccm_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:258,1
    - Dst: mbedtls_gcm_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:270,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:285,1
    - Dst: mbedtls_chachapoly_auth_decrypt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:286,1
    - Dst: mbedtls_psa_aead_abort
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:310,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 13
    argNames:
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    - nonce
    - nonce_length
    - additional_data
    - additional_data_length
    - ciphertext
    - ciphertext_length
    - plaintext
    - plaintext_size
    - plaintext_length
    argTypes:
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 316
    functionName: mbedtls_psa_aead_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_psa_aead_abort
    - mbedtls_chachapoly_auth_decrypt
    - mbedtls_to_psa_error
    - mbedtls_ccm_auth_decrypt
    - psa_aead_setup
    - mbedtls_gcm_auth_decrypt
    - psa_aead_unpadded_locate_tag
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_decrypt( const psa_key_attributes_t
      *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t
      alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data,
      size_t additional_data_length, const uint8_t *ciphertext, size_t ciphertext_length,
      uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - tag_length
    - ciphertext
    - ciphertext_length
    - plaintext_size
    - p_tag
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: psa_aead_unpadded_locate_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: psa_status_t
    signature: 'static psa_status_t psa_aead_unpadded_locate_tag(size_t tag_length,
      const uint8_t *ciphertext, size_t ciphertext_length, size_t plaintext_size,
      const uint8_t **p_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_setup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - operation
    - attributes
    - key_buffer
    - key_buffer_size
    - alg
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - psa_key_attributes_t*
    - uint8_t*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 358
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 358
    functionName: mbedtls_psa_aead_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - psa_aead_setup
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_decrypt_setup( mbedtls_psa_aead_operation_t
      *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
      size_t key_buffer_size, psa_algorithm_t alg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:452,1
    - Dst: mbedtls_ccm_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:459,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:458,1
    - Dst: mbedtls_gcm_update_ad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:453,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:464,1
    - Dst: mbedtls_chachapoly_update_aad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - operation
    - input
    - input_length
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 479
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 479
    functionName: mbedtls_psa_aead_update_ad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_chachapoly_update_aad
    - mbedtls_gcm_update_ad
    - mbedtls_ccm_update_ad
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_update_ad( mbedtls_psa_aead_operation_t
      *operation, const uint8_t *input, size_t input_length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:498,1
    - Dst: mbedtls_ccm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:512,1
    - Dst: mbedtls_gcm_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:499,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:511,1
    - Dst: mbedtls_to_psa_error
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:524,1
    - Dst: mbedtls_chachapoly_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:525,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 6
    argNames:
    - operation
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_psa_aead_operation_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 545
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 545
    functionName: mbedtls_psa_aead_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_to_psa_error
    - mbedtls_ccm_update
    - mbedtls_chachapoly_update
    - mbedtls_gcm_update
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_update( mbedtls_psa_aead_operation_t
      *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t
      output_size, size_t *output_length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ccm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:628,1
    - Dst: mbedtls_gcm_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:633,1
    - Dst: mbedtls_chachapoly_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - operation
    argTypes:
    - mbedtls_psa_aead_operation_t*
    constantsTouched: []
    func_position:
      end: 646
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 646
    functionName: mbedtls_psa_aead_abort
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/psa_crypto_aead.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_free
    - mbedtls_gcm_free
    - mbedtls_ccm_free
    linkageType: ''
    returnType: psa_status_t
    signature: 'psa_status_t mbedtls_psa_aead_abort( mbedtls_psa_aead_operation_t
      *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: mbedtls_version_get_number
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int mbedtls_version_get_number(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: mbedtls_version_get_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_version_get_string(char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: mbedtls_version_get_string_full
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/version.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_version_get_string_full(char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: aria_p1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t aria_p1(uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:145,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:149,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:146,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:147,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:148,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:150,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:151,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:152,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:153,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:154,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:159,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:156,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:157,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:158,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:160,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 8
    argNames:
    - a
    - b
    - c
    - d
    - sa
    - sb
    - sc
    - sd
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 161
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 161
    functionName: aria_sl
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_3
    - MBEDTLS_BYTE_0
    linkageType: ''
    returnType: void
    signature: 'static inline void aria_sl(uint32_t *a, uint32_t *b, uint32_t *c,
      uint32_t *d, const uint8_t sa[256], const uint8_t sb[256], const uint8_t sc[256],
      const uint8_t sd[256]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: aria_p1
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t aria_p1(uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aria_sl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:305,1
    - Dst: aria_a
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - r
    - p
    - k
    - x
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 312
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 312
    functionName: aria_fe_xor
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - aria_a
    - aria_sl
    linkageType: ''
    returnType: void
    signature: 'static void aria_fe_xor(uint32_t r[4], const uint32_t p[4], const
      uint32_t k[4], const uint32_t x[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARIA_P3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:331,1
    - Dst: ARIA_P3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:334,1
    - Dst: ARIA_P3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: aria_rot128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - ARIA_P3
    linkageType: ''
    returnType: void
    signature: 'static void aria_rot128(uint32_t r[4], const uint32_t a[4], const
      uint32_t b[4], uint8_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aria_context*
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: mbedtls_aria_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aria_free(mbedtls_aria_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:530,1
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:531,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:535,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:543,1
    - Dst: mbedtls_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:533,1
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:545,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - mbedtls_aria_context*
    - int
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 555
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 555
    functionName: mbedtls_aria_crypt_cbc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - mbedtls_xor
    - memcpy
    - mbedtls_aria_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aria_crypt_cbc(mbedtls_aria_context *ctx, int mode, size_t
      length, unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], const unsigned char *input,
      unsigned char *output) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:588,1
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:600,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 7
    argNames:
    - ctx
    - mode
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - mbedtls_aria_context*
    - int
    - size_t
    - size_t*
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 612
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 612
    functionName: mbedtls_aria_crypt_cfb128
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aria_crypt_cfb128(mbedtls_aria_context *ctx, int mode,
      size_t length, size_t *iv_off, unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], const
      unsigned char *input, unsigned char *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:448,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:449,1
    - Dst: aria_sl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:461,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:450,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:451,1
    - Dst: aria_a
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:462,1
    - Dst: aria_sl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:470,1
    - Dst: aria_a
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:474,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:483,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:484,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:485,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_aria_context*
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 489
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 489
    functionName: mbedtls_aria_crypt_ecb
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - aria_a
    - aria_sl
    - MBEDTLS_GET_UINT32_LE
    - MBEDTLS_PUT_UINT32_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aria_crypt_ecb(mbedtls_aria_context *ctx, const unsigned
      char input[MBEDTLS_ARIA_BLOCKSIZE], unsigned char output[MBEDTLS_ARIA_BLOCKSIZE]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 7
    argNames:
    - ctx
    - length
    - nc_off
    - nonce_counter
    - stream_block
    - input
    - output
    argTypes:
    - mbedtls_aria_context*
    - size_t
    - size_t*
    - unsigned char
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 657
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 657
    functionName: mbedtls_aria_crypt_ctr
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - mbedtls_aria_crypt_ecb
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aria_crypt_ctr(mbedtls_aria_context *ctx, size_t length,
      size_t *nc_off, unsigned char nonce_counter[MBEDTLS_ARIA_BLOCKSIZE], unsigned
      char stream_block[MBEDTLS_ARIA_BLOCKSIZE], const unsigned char *input, unsigned
      char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aria_sl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:283,1
    - Dst: aria_a
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - r
    - p
    - k
    - x
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: aria_fo_xor
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - aria_a
    - aria_sl
    linkageType: ''
    returnType: void
    signature: 'static void aria_fo_xor(uint32_t r[4], const uint32_t p[4], const
      uint32_t k[4], const uint32_t x[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARIA_P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:114,1
    - Dst: ARIA_P1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:117,1
    - Dst: ARIA_P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:119,1
    - Dst: ARIA_P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:115,1
    - Dst: ARIA_P1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:116,1
    - Dst: ARIA_P1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:120,1
    - Dst: ARIA_P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:121,1
    - Dst: ARIA_P1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:122,1
    - Dst: ARIA_P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:124,1
    - Dst: ARIA_P1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:125,1
    - Dst: ARIA_P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:126,1
    - Dst: ARIA_P1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:129,1
    - Dst: ARIA_P2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:128,1
    - Dst: ARIA_P1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: aria_a
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - ARIA_P1
    - ARIA_P2
    linkageType: ''
    returnType: void
    signature: 'static inline void aria_a(uint32_t *a, uint32_t *b, uint32_t *c, uint32_t
      *d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:365,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:368,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:370,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:366,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:367,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:372,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:373,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:376,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:377,1
    - Dst: aria_fo_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:383,1
    - Dst: aria_rot128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:396,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:399,1
    - Dst: aria_fe_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:385,1
    - Dst: aria_rot128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:391,1
    - Dst: aria_fo_xor
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:387,1
    - Dst: aria_rot128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:392,1
    - Dst: aria_rot128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:393,1
    - Dst: aria_rot128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aria_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 402
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 402
    functionName: mbedtls_aria_setkey_enc
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - aria_fe_xor
    - mbedtls_platform_zeroize
    - aria_rot128
    - MBEDTLS_GET_UINT32_LE
    - aria_fo_xor
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aria_setkey_enc(mbedtls_aria_context *ctx, const unsigned
      char *key, unsigned int keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aria_context*
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: mbedtls_aria_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_aria_init(mbedtls_aria_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:413,1
    - Dst: aria_a
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aria_context*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 434
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 434
    functionName: mbedtls_aria_setkey_dec
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - aria_a
    - mbedtls_aria_setkey_enc
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aria_setkey_dec(mbedtls_aria_context *ctx, const unsigned
      char *key, unsigned int keybits) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:837,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:840,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:845,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:870,1
    - Dst: mbedtls_aria_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:884,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:885,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:886,1
    - Dst: mbedtls_aria_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:887,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:889,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:892,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:909,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:935,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:932,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:917,1
    - Dst: mbedtls_aria_crypt_cfb128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:919,1
    - Dst: mbedtls_aria_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:950,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:944,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:839,1
    - Dst: mbedtls_aria_setkey_dec
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:852,1
    - Dst: mbedtls_aria_crypt_cbc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:875,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:874,1
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:872,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:873,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:877,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:889,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:901,1
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:915,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:936,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:940,1
    - Dst: mbedtls_aria_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:962,1
    - Dst: mbedtls_aria_crypt_ctr
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:938,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:921,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:952,1
    - Dst: mbedtls_aria_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:827,1
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:838,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:847,1
    - Dst: mbedtls_aria_crypt_ecb
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:853,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:855,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:877,1
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:903,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:904,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:905,1
    - Dst: mbedtls_aria_crypt_cfb128
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:907,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:940,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:921,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:952,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:835,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:860,1
    - Dst: ARIA_SELF_TEST_ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:854,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:882,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:909,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:924,1
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:934,1
    - Dst: mbedtls_aria_setkey_enc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:946,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:947,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:948,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:955,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:916,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c:913,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 133
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 964
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 964
    functionName: mbedtls_aria_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/aria.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_aria_init
    - ARIA_SELF_TEST_ASSERT
    - mbedtls_aria_crypt_cfb128
    - memcmp
    - memcpy
    - mbedtls_aria_crypt_cbc
    - mbedtls_aria_free
    - mbedtls_aria_crypt_ecb
    - mbedtls_aria_setkey_enc
    - mbedtls_aria_crypt_ctr
    - mbedtls_aria_setkey_dec
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_aria_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: mbedtls_a64_crypto_sha256_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - IsProcessorFeaturePresent
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha256_determine_support(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:186,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:194,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:208,1
    - Dst: setjmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:198,1
    - Dst: sigemptyset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:190,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 212
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 212
    functionName: mbedtls_a64_crypto_sha256_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - sigaction
    - setjmp
    - sigemptyset
    - sigprocmask
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha256_determine_support(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha256_context*
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: mbedtls_sha256_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha256_free(mbedtls_sha256_context *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:892,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:905,1
    - Dst: mbedtls_sha256_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:901,1
    - Dst: mbedtls_sha256_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:908,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:895,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:913,1
    - Dst: mbedtls_sha256_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:916,1
    - Dst: mbedtls_sha256_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:923,1
    - Dst: mbedtls_sha256_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:930,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:935,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:941,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:953,1
    - Dst: mbedtls_sha256_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:957,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:946,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:958,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - verbose
    - is224
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 961
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 961
    functionName: mbedtls_sha256_common_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_calloc
    - memcmp
    - mbedtls_free
    - mbedtls_sha256_free
    - mbedtls_sha256_starts
    - mbedtls_sha256_update
    - mbedtls_sha256_finish
    - mbedtls_sha256_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_sha256_common_self_test(int verbose, int is224) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:716,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:719,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:725,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:735,1
    - Dst: mbedtls_internal_sha256_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:721,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:736,1
    - Dst: mbedtls_internal_sha256_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:738,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:745,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:746,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:747,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:749,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:757,1
    - Dst: mbedtls_sha256_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:763,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:750,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:748,1
    - Dst: MBEDTLS_PUT_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:751,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - mbedtls_sha256_context*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 765
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 765
    functionName: mbedtls_sha256_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - MBEDTLS_PUT_UINT32_BE
    - mbedtls_sha256_free
    - mbedtls_internal_sha256_process
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha256_finish(mbedtls_sha256_context *ctx, unsigned char
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: sigill_handler
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: 'static void sigill_handler(int signal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - is224
    argTypes:
    - mbedtls_sha256_context*
    - int
    constantsTouched: []
    func_position:
      end: 295
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 295
    functionName: mbedtls_sha256_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha256_starts(mbedtls_sha256_context *ctx, int is224) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_a64_crypto_sha256_determine_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 616
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 616
    functionName: mbedtls_a64_crypto_sha256_has_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_a64_crypto_sha256_determine_support
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha256_has_support(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha256_context*
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: mbedtls_sha256_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha256_init(mbedtls_sha256_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:347,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:349,1
    - Dst: vrev32q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:354,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:355,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:355,1
    - Dst: vrev32q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:356,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:360,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:363,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:372,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:378,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:414,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:374,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:393,1
    - Dst: vsha256su0q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:406,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:409,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:346,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:348,1
    - Dst: vrev32q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:353,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:369,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:378,1
    - Dst: vsha256su0q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:385,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:386,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:386,1
    - Dst: vsha256su1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:392,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:395,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:410,1
    - Dst: vst1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:418,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:402,1
    - Dst: vst1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:417,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:380,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:347,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:349,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:354,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:354,1
    - Dst: vrev32q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:355,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:356,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:356,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:366,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:368,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:375,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:381,1
    - Dst: vsha256su1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:399,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:396,1
    - Dst: vsha256su0q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:399,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:400,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:388,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:331,1
    - Dst: vld1q_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:346,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:332,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:348,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:353,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:353,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:360,1
    - Dst: vsha256hq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:362,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:366,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:372,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:389,1
    - Dst: vsha256su0q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:392,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:393,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:407,1
    - Dst: vsha256su1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:406,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:413,1
    - Dst: vsha256su1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:385,1
    - Dst: vsha256h2q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:403,1
    - Dst: vaddq_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:400,1
    - Dst: vld1q_u32
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 129
    argCount: 3
    argNames:
    - ctx
    - msg
    - len
    argTypes:
    - mbedtls_sha256_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 421
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 421
    functionName: mbedtls_internal_sha256_process_many_a64_crypto
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - vreinterpretq_u32_u8
    - vsha256hq_u32
    - vsha256su0q_u32
    - vld1q_u32
    - vsha256su1q_u32
    - vld1q_u8
    - vrev32q_u8
    - vsha256h2q_u32
    - vaddq_u32
    - vst1q_u32
    - vreinterpretq_u8_u32
    linkageType: ''
    returnType: size_t
    signature: 'static size_t mbedtls_internal_sha256_process_many_a64_crypto( mbedtls_sha256_context
      *ctx, const uint8_t *msg, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_sha256_process_many_a64_crypto
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_sha256_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: mbedtls_internal_sha256_process_a64_crypto
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha256_process_many_a64_crypto
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_sha256_process_a64_crypto(mbedtls_sha256_context
      *ctx, const unsigned char data[SHA256_BLOCK_SIZE]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:513,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:528,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:548,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:551,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:557,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:571,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:510,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:534,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:536,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:540,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:542,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:547,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:554,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:556,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:560,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:562,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:508,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:553,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:549,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:555,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:559,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:561,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:524,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:530,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:532,1
    - Dst: P
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:538,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:550,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:552,1
    - Dst: R
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 100
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_sha256_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 574
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 574
    functionName: mbedtls_internal_sha256_process_c
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_platform_zeroize
    - P
    - R
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_sha256_process_c(mbedtls_sha256_context *ctx,
      const unsigned char data[SHA256_BLOCK_SIZE]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_a64_crypto_sha256_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:621,1
    - Dst: mbedtls_internal_sha256_process_many_c
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:624,1
    - Dst: mbedtls_internal_sha256_process_many_a64_crypto
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - msg
    - len
    argTypes:
    - mbedtls_sha256_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 626
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 626
    functionName: mbedtls_internal_sha256_process_many
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha256_process_many_c
    - mbedtls_internal_sha256_process_many_a64_crypto
    - mbedtls_a64_crypto_sha256_has_support
    linkageType: ''
    returnType: size_t
    signature: 'static size_t mbedtls_internal_sha256_process_many(mbedtls_sha256_context
      *ctx, const uint8_t *msg, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:667,1
    - Dst: mbedtls_internal_sha256_process_many
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:680,1
    - Dst: mbedtls_internal_sha256_process
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:669,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:690,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_sha256_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 694
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 694
    functionName: mbedtls_sha256_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_internal_sha256_process_many
    - mbedtls_internal_sha256_process
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha256_update(mbedtls_sha256_context *ctx, const unsigned
      char *input, size_t ilen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:794,1
    - Dst: mbedtls_sha256_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:804,1
    - Dst: mbedtls_sha256_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:796,1
    - Dst: mbedtls_sha256_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:800,1
    - Dst: mbedtls_sha256_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:809,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - input
    - ilen
    - output
    - is224
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 812
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 812
    functionName: mbedtls_sha256
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_sha256_free
    - mbedtls_sha256_starts
    - mbedtls_sha256_update
    - mbedtls_sha256_finish
    - mbedtls_sha256_init
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha256(const unsigned char *input, size_t ilen, unsigned
      char *output, int is224) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_sha256_context*
    - mbedtls_sha256_context*
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: mbedtls_sha256_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha256_clone(mbedtls_sha256_context *dst, const mbedtls_sha256_context
      *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: mbedtls_a64_crypto_sha256_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha256_determine_support(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: mbedtls_a64_crypto_sha256_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - getauxval
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha256_determine_support(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: mbedtls_a64_crypto_sha256_determine_support
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - getauxval
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_a64_crypto_sha256_determine_support(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_internal_sha256_process_c
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - mbedtls_sha256_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 598
    functionName: mbedtls_internal_sha256_process_many_c
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha256_process_c
    linkageType: ''
    returnType: size_t
    signature: 'static size_t mbedtls_internal_sha256_process_many_c( mbedtls_sha256_context
      *ctx, const uint8_t *data, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_common_self_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: mbedtls_sha256_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_sha256_common_self_test
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha256_self_test(int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_common_self_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    functionName: mbedtls_sha224_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_sha256_common_self_test
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha224_self_test(int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_a64_crypto_sha256_has_support
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:631,1
    - Dst: mbedtls_internal_sha256_process_a64_crypto
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:632,1
    - Dst: mbedtls_internal_sha256_process_c
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - mbedtls_sha256_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: mbedtls_internal_sha256_process
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha256.c
    functionUses: []
    functionsReached:
    - mbedtls_internal_sha256_process_c
    - mbedtls_internal_sha256_process_a64_crypto
    - mbedtls_a64_crypto_sha256_has_support
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_internal_sha256_process(mbedtls_sha256_context *ctx, const
      unsigned char data[SHA256_BLOCK_SIZE]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:42,1
    - Dst: mbedtls_poly1305_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_chachapoly_context*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: chachapoly_pad_aad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_poly1305_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chachapoly_pad_aad(mbedtls_chachapoly_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:85,1
    - Dst: mbedtls_poly1305_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_chachapoly_context*
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: mbedtls_chachapoly_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_free
    - mbedtls_poly1305_free
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_chachapoly_free(mbedtls_chachapoly_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:63,1
    - Dst: mbedtls_poly1305_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_chachapoly_context*
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: chachapoly_pad_ciphertext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_poly1305_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chachapoly_pad_ciphertext(mbedtls_chachapoly_context *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:111,1
    - Dst: mbedtls_poly1305_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:128,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:121,1
    - Dst: mbedtls_chacha20_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:122,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - nonce
    - mode
    argTypes:
    - mbedtls_chachapoly_context*
    - unsigned char
    - mbedtls_chachapoly_mode_t
    constantsTouched: []
    func_position:
      end: 140
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 140
    functionName: mbedtls_chachapoly_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_starts
    - mbedtls_platform_zeroize
    - mbedtls_poly1305_starts
    - mbedtls_chacha20_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_starts(mbedtls_chachapoly_context *ctx, const
      unsigned char nonce[12], mbedtls_chachapoly_mode_t mode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: chachapoly_pad_aad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:170,1
    - Dst: mbedtls_chacha20_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:179,1
    - Dst: mbedtls_poly1305_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:189,1
    - Dst: mbedtls_poly1305_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:184,1
    - Dst: mbedtls_chacha20_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - len
    - input
    - output
    argTypes:
    - mbedtls_chachapoly_context*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 201
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 201
    functionName: mbedtls_chachapoly_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_update
    - chachapoly_pad_aad
    - mbedtls_poly1305_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_update(mbedtls_chachapoly_context *ctx, size_t
      len, const unsigned char *input, unsigned char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chachapoly_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:255,1
    - Dst: mbedtls_chachapoly_update_aad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:260,1
    - Dst: mbedtls_chachapoly_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:270,1
    - Dst: mbedtls_chachapoly_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:265,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 9
    argNames:
    - ctx
    - mode
    - length
    - nonce
    - aad
    - aad_len
    - input
    - output
    - tag
    argTypes:
    - mbedtls_chachapoly_context*
    - mbedtls_chachapoly_mode_t
    - size_t
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 274
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 274
    functionName: chachapoly_crypt_and_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_chachapoly_update_aad
    - mbedtls_chachapoly_starts
    - mbedtls_chachapoly_finish
    - mbedtls_chachapoly_update
    linkageType: ''
    returnType: int
    signature: 'static int chachapoly_crypt_and_tag(mbedtls_chachapoly_context *ctx,
      mbedtls_chachapoly_mode_t mode, size_t length, const unsigned char nonce[12],
      const unsigned char *aad, size_t aad_len, const unsigned char *input, unsigned
      char *output, unsigned char tag[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:71,1
    - Dst: mbedtls_poly1305_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_chachapoly_context*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: mbedtls_chachapoly_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_init
    - mbedtls_poly1305_init
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_chachapoly_init(mbedtls_chachapoly_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_chacha20_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - mbedtls_chachapoly_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: mbedtls_chachapoly_setkey
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_chacha20_setkey
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_setkey(mbedtls_chachapoly_context *ctx, const
      unsigned char key[32]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_poly1305_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - aad
    - aad_len
    argTypes:
    - mbedtls_chachapoly_context*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: mbedtls_chachapoly_update_aad
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_poly1305_update
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_update_aad(mbedtls_chachapoly_context *ctx,
      const unsigned char *aad, size_t aad_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: chachapoly_pad_aad
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:214,1
    - Dst: MBEDTLS_PUT_UINT64_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:230,1
    - Dst: MBEDTLS_PUT_UINT64_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:231,1
    - Dst: chachapoly_pad_ciphertext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:219,1
    - Dst: mbedtls_poly1305_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:233,1
    - Dst: mbedtls_poly1305_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - mbedtls_chachapoly_context*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 241
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 241
    functionName: mbedtls_chachapoly_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - chachapoly_pad_aad
    - chachapoly_pad_ciphertext
    - mbedtls_poly1305_update
    - MBEDTLS_PUT_UINT64_LE
    - mbedtls_poly1305_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_finish(mbedtls_chachapoly_context *ctx, unsigned
      char mac[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chachapoly_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - length
    - nonce
    - aad
    - aad_len
    - input
    - output
    - tag
    argTypes:
    - mbedtls_chachapoly_context*
    - size_t
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: mbedtls_chachapoly_encrypt_and_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - chachapoly_crypt_and_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_encrypt_and_tag(mbedtls_chachapoly_context
      *ctx, size_t length, const unsigned char nonce[12], const unsigned char *aad,
      size_t aad_len, const unsigned char *input, unsigned char *output, unsigned
      char tag[16]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chachapoly_crypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:303,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:313,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 8
    argNames:
    - ctx
    - length
    - nonce
    - aad
    - aad_len
    - tag
    - input
    - output
    argTypes:
    - mbedtls_chachapoly_context*
    - size_t
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 318
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 318
    functionName: mbedtls_chachapoly_auth_decrypt
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_ct_memcmp
    - mbedtls_platform_zeroize
    - chachapoly_crypt_and_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_auth_decrypt(mbedtls_chachapoly_context *ctx,
      size_t length, const unsigned char nonce[12], const unsigned char *aad, size_t
      aad_len, const unsigned char tag[16], const unsigned char *input, unsigned char
      *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:436,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:442,1
    - Dst: mbedtls_chachapoly_setkey
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:441,1
    - Dst: mbedtls_chachapoly_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:439,1
    - Dst: mbedtls_chachapoly_encrypt_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:444,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:453,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:455,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:455,1
    - Dst: ASSERT
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:458,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:458,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:469,1
    - Dst: mbedtls_chachapoly_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:461,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 473
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 473
    functionName: mbedtls_chachapoly_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/chachapoly.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_chachapoly_setkey
    - memcmp
    - mbedtls_chachapoly_init
    - ASSERT
    - mbedtls_chachapoly_free
    - mbedtls_chachapoly_encrypt_and_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_chachapoly_self_test(int verbose) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: net_prepare
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:209,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:237,1
    - Dst: socket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:229,1
    - Dst: getaddrinfo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:222,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:214,1
    - Dst: close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:239,1
    - Dst: bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:244,1
    - Dst: close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:245,1
    - Dst: listen
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:252,1
    - Dst: close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:253,1
    - Dst: freeaddrinfo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:264,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - bind_ip
    - port
    - proto
    argTypes:
    - mbedtls_net_context*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 268
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 268
    functionName: mbedtls_net_bind
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - getaddrinfo
    - socket
    - close
    - memset
    - listen
    - bind
    - net_prepare
    - freeaddrinfo
    - setsockopt
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_bind(mbedtls_net_context *ctx, const char *bind_ip,
      const char *port, int proto) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - for_select
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: check_fd
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int check_fd(int fd, int for_select) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: net_would_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'static int net_would_block(const mbedtls_net_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:431,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:433,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: mbedtls_net_set_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - ioctlsocket
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_set_block(mbedtls_net_context *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_fd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:462,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:473,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:472,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:477,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:480,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:483,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:486,1
    - Dst: select
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:497,1
    - Dst: __has_feature
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:468,1
    - Dst: IS_EINTR
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:499,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:506,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:509,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - rw
    - timeout
    argTypes:
    - mbedtls_net_context*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 514
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 514
    functionName: mbedtls_net_poll
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - FD_SET
    - FD_ISSET
    - IS_EINTR
    - FD_ZERO
    - check_fd
    - select
    - __has_feature
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_poll(mbedtls_net_context *ctx, uint32_t rw, uint32_t
      timeout) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_fd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:544,1
    - Dst: WSAGetLastError
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:558,1
    - Dst: read
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:549,1
    - Dst: net_would_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:552,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 575
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 575
    functionName: mbedtls_net_recv
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - WSAGetLastError
    - net_would_block
    - read
    - check_fd
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_recv(void *ctx, unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: mbedtls_net_close
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_net_close(mbedtls_net_context *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:336,1
    - Dst: WSAGetLastError
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:355,1
    - Dst: net_would_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:363,1
    - Dst: accept
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:344,1
    - Dst: recvfrom
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:350,1
    - Dst: connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:376,1
    - Dst: getsockname
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:384,1
    - Dst: socket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:386,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:388,1
    - Dst: bind
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:393,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:416,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:407,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 68
    argCount: 5
    argNames:
    - bind_ctx
    - client_ctx
    - client_ip
    - buf_size
    - cip_len
    argTypes:
    - mbedtls_net_context*
    - mbedtls_net_context*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 421
    functionName: mbedtls_net_accept
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - getsockopt
    - socket
    - net_would_block
    - accept
    - memcpy
    - WSAGetLastError
    - bind
    - connect
    - setsockopt
    - getsockname
    - recvfrom
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_accept(mbedtls_net_context *bind_ctx, mbedtls_net_context
      *client_ctx, void *client_ip, size_t buf_size, size_t *cip_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:442,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:444,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: mbedtls_net_set_nonblock
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - ioctlsocket
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_set_nonblock(mbedtls_net_context *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:105,1
    - Dst: signal
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:113,1
    - Dst: MAKEWORD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: net_prepare
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - signal
    - MAKEWORD
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: 'static int net_prepare(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: mbedtls_net_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_net_init(mbedtls_net_context *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: net_prepare
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:163,1
    - Dst: getaddrinfo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:173,1
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:168,1
    - Dst: socket
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:180,1
    - Dst: connect
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:187,1
    - Dst: close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:192,1
    - Dst: freeaddrinfo
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - host
    - port
    - proto
    argTypes:
    - mbedtls_net_context*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: mbedtls_net_connect
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - getaddrinfo
    - socket
    - close
    - connect
    - net_prepare
    - freeaddrinfo
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_connect(mbedtls_net_context *ctx, const char *host,
      const char *port, int proto) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: net_would_block
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: 'static int net_would_block(const mbedtls_net_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:522,1
    - Dst: select
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - usec
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 534
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 534
    functionName: mbedtls_net_usleep
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - Sleep
    - select
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_net_usleep(unsigned long usec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_fd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:588,1
    - Dst: select
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:599,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:594,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:593,1
    - Dst: WSAGetLastError
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:609,1
    - Dst: mbedtls_net_recv
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:622,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - timeout
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 623
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 623
    functionName: mbedtls_net_recv_timeout
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - FD_SET
    - mbedtls_net_recv
    - FD_ZERO
    - WSAGetLastError
    - check_fd
    - select
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_recv_timeout(void *ctx, unsigned char *buf, size_t
      len, uint32_t timeout) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_fd
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:633,1
    - Dst: net_would_block
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:641,1
    - Dst: write
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:638,1
    - Dst: WSAGetLastError
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:647,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 664
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 664
    functionName: mbedtls_net_send
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - net_would_block
    - write
    - WSAGetLastError
    - check_fd
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_net_send(void *ctx, const unsigned char *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:689,1
    - Dst: close
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_net_context*
    constantsTouched: []
    func_position:
      end: 693
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 693
    functionName: mbedtls_net_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/net_sockets.c
    functionUses: []
    functionsReached:
    - shutdown
    - close
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_net_free(mbedtls_net_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:115,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:148,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:151,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:152,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:153,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:170,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:170,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:171,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:171,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:176,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:177,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:180,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:180,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:186,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:186,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:180,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:125,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:131,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:151,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:152,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:173,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:173,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:174,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:174,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:179,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:179,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:185,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:182,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:177,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:177,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:186,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:182,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:182,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:177,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:128,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:134,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:164,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:154,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:170,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:170,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:171,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:171,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:176,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:176,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:185,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:185,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:182,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:183,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:137,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:153,1
    - Dst: ROTR64
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:154,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:173,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:173,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:174,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:174,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:179,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:179,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:180,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:183,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:183,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:183,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:176,1
    - Dst: SWAP
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:185,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:186,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 344
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha3_context*
    constantsTouched: []
    func_position:
      end: 244
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 244
    functionName: keccak_f1600
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_2
    - MBEDTLS_BYTE_0
    - MBEDTLS_BYTE_1
    - ROTR64
    - SWAP
    - MBEDTLS_BYTE_3
    linkageType: ''
    returnType: void
    signature: 'static void keccak_f1600(mbedtls_sha3_context *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_zeroize
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha3_context*
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: mbedtls_sha3_free
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - mbedtls_platform_zeroize
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha3_free(mbedtls_sha3_context *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ABSORB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:310,1
    - Dst: MBEDTLS_GET_UINT64_LE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:321,1
    - Dst: keccak_f1600
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:325,1
    - Dst: keccak_f1600
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:315,1
    - Dst: ABSORB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:321,1
    - Dst: ABSORB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:332,1
    - Dst: keccak_f1600
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - input
    - ilen
    argTypes:
    - mbedtls_sha3_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 339
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 339
    functionName: mbedtls_sha3_update
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - keccak_f1600
    - ABSORB
    - MBEDTLS_GET_UINT64_LE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha3_update(mbedtls_sha3_context *ctx, const uint8_t *input,
      size_t ilen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABSORB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:355,1
    - Dst: keccak_f1600
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:364,1
    - Dst: SQUEEZE
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:361,1
    - Dst: ABSORB
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:356,1
    - Dst: keccak_f1600
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:357,1
    - Dst: mbedtls_sha3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - output
    - olen
    argTypes:
    - mbedtls_sha3_context*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 373
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 373
    functionName: mbedtls_sha3_finish
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - keccak_f1600
    - ABSORB
    - mbedtls_sha3_free
    - SQUEEZE
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha3_finish(mbedtls_sha3_context *ctx, uint8_t *output,
      size_t olen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha3
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:543,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:560,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:557,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:563,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:548,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:566,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:574,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - verbose
    - type_name
    - id
    - test_num
    argTypes:
    - int
    - char*
    - mbedtls_sha3_id
    - int
    constantsTouched: []
    func_position:
      end: 585
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 585
    functionName: mbedtls_sha3_kat_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_sha3
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_sha3_kat_test(int verbose, const char *type_name,
      mbedtls_sha3_id id, int test_num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_sha3_context*
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: mbedtls_sha3_init
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha3_init(mbedtls_sha3_context *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - mbedtls_sha3_context*
    - mbedtls_sha3_context*
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: mbedtls_sha3_clone
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mbedtls_sha3_clone(mbedtls_sha3_context *dst, const mbedtls_sha3_context
      *src) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:596,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:604,1
    - Dst: mbedtls_sha3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:602,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:607,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:599,1
    - Dst: mbedtls_sha3_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:613,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:616,1
    - Dst: mbedtls_sha3_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:623,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:626,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:634,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:656,1
    - Dst: mbedtls_sha3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:660,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:637,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:643,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:651,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:640,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 3
    argNames:
    - verbose
    - type_name
    - id
    argTypes:
    - int
    - char*
    - mbedtls_sha3_id
    constantsTouched: []
    func_position:
      end: 662
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 662
    functionName: mbedtls_sha3_long_kat_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - mbedtls_printf
    - mbedtls_sha3_update
    - mbedtls_sha3_init
    - mbedtls_sha3_starts
    - memcmp
    - mbedtls_sha3_free
    - mbedtls_sha3_finish
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_sha3_long_kat_test(int verbose, const char *type_name,
      mbedtls_sha3_id id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha3_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:670,1
    - Dst: mbedtls_sha3_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:685,1
    - Dst: mbedtls_sha3_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:680,1
    - Dst: mbedtls_sha3_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:675,1
    - Dst: mbedtls_sha3_long_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:692,1
    - Dst: mbedtls_sha3_long_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:697,1
    - Dst: mbedtls_sha3_long_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:702,1
    - Dst: mbedtls_sha3_long_kat_test
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:707,1
    - Dst: mbedtls_printf
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:713,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 717
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 717
    functionName: mbedtls_sha3_self_test
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - mbedtls_sha3_long_kat_test
    - mbedtls_sha3_kat_test
    - mbedtls_printf
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha3_self_test(int verbose) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - mbedtls_sha3_context*
    - mbedtls_sha3_id
    constantsTouched: []
    func_position:
      end: 296
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 296
    functionName: mbedtls_sha3_starts
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha3_starts(mbedtls_sha3_context *ctx, mbedtls_sha3_id
      id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha3_init
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:384,1
    - Dst: mbedtls_sha3_update
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:391,1
    - Dst: mbedtls_sha3_finish
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:395,1
    - Dst: mbedtls_sha3_starts
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:387,1
    - Dst: mbedtls_sha3_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c:400,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 5
    argNames:
    - id
    - input
    - ilen
    - output
    - olen
    argTypes:
    - mbedtls_sha3_id
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 403
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 403
    functionName: mbedtls_sha3
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/sha3.c
    functionUses: []
    functionsReached:
    - mbedtls_sha3_update
    - mbedtls_sha3_free
    - mbedtls_sha3_init
    - mbedtls_sha3_starts
    - mbedtls_sha3_finish
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_sha3(mbedtls_sha3_id id, const uint8_t *input, size_t
      ilen, uint8_t *output, size_t olen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_bitstring
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:306,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - p
    - start
    - buf
    - bits
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 307
    functionName: mbedtls_asn1_write_named_bitstring
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_bitstring
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_named_bitstring(unsigned char **p, const unsigned
      char *start, const unsigned char *buf, size_t bits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_BYTE_0
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:44,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - p
    - start
    - len
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: mbedtls_asn1_write_len
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - MBEDTLS_BYTE_0
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_len(unsigned char **p, const unsigned char
      *start, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:329,1
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - p
    - start
    - buf
    - bits
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 336
    functionName: mbedtls_asn1_write_bitstring
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - memcpy
    - mbedtls_asn1_write_len_and_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_bitstring(unsigned char **p, const unsigned
      char *start, const unsigned char *buf, size_t bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - p
    - start
    - boolean
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: mbedtls_asn1_write_bool
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len_and_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_bool(unsigned char **p, const unsigned char
      *start, int boolean) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:344,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:344,1
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - p
    - start
    - buf
    - size
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: mbedtls_asn1_write_octet_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len_and_tag
    - mbedtls_asn1_write_raw_buffer
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_octet_string(unsigned char **p, const unsigned
      char *start, const unsigned char *buf, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - p
    - start
    - val
    - tag
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: asn1_write_tagged_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len_and_tag
    linkageType: ''
    returnType: int
    signature: 'static int asn1_write_tagged_int(unsigned char **p, const unsigned
      char *start, int val, int tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_size
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:105,1
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:132,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:118,1
    - Dst: MBEDTLS_MPI_CHK
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - p
    - start
    - X
    argTypes:
    - unsigned char**
    - unsigned char*
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: mbedtls_asn1_write_mpi
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_mpi_size
    - mbedtls_mpi_write_binary
    - mbedtls_asn1_write_len_and_tag
    - MBEDTLS_MPI_CHK
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_mpi(unsigned char **p, const unsigned char
      *start, const mbedtls_mpi *X) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:75,1
    - Dst: mbedtls_asn1_write_len
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:75,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:76,1
    - Dst: mbedtls_asn1_write_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - p
    - start
    - len
    - tag
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: mbedtls_asn1_write_len_and_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_tag
    - mbedtls_asn1_write_len
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'static int mbedtls_asn1_write_len_and_tag(unsigned char **p, const
      unsigned char *start, size_t len, unsigned char tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:239,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:239,1
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - p
    - start
    - tag
    - text
    - text_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: mbedtls_asn1_write_tagged_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len_and_tag
    - mbedtls_asn1_write_raw_buffer
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_tagged_string(unsigned char **p, const unsigned
      char *start, int tag, const char *text, size_t text_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_tagged_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - p
    - start
    - text
    - text_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: mbedtls_asn1_write_printable_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_tagged_string
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_printable_string(unsigned char **p, const unsigned
      char *start, const char *text, size_t text_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - list
    - oid
    - len
    argTypes:
    - mbedtls_asn1_named_data*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: asn1_find_named_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: mbedtls_asn1_named_data*
    signature: 'static mbedtls_asn1_named_data *asn1_find_named_data( mbedtls_asn1_named_data
      *list, const char *oid, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - p
    - start
    - buf
    - size
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: mbedtls_asn1_write_raw_buffer
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_raw_buffer(unsigned char **p, const unsigned
      char *start, const unsigned char *buf, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_tagged_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - p
    - start
    - text
    - text_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: mbedtls_asn1_write_utf8_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_tagged_string
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_utf8_string(unsigned char **p, const unsigned
      char *start, const char *text, size_t text_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_tagged_string
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - p
    - start
    - text
    - text_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: mbedtls_asn1_write_ia5_string
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_tagged_string
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_ia5_string(unsigned char **p, const unsigned
      char *start, const char *text, size_t text_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - p
    - start
    argTypes:
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mbedtls_asn1_write_null
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len_and_tag
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_null(unsigned char **p, const unsigned char
      *start) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_asn1_write_algorithm_identifier_ext
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - p
    - start
    - oid
    - oid_len
    - par_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: mbedtls_asn1_write_algorithm_identifier
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_algorithm_identifier_ext
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_algorithm_identifier(unsigned char **p, const
      unsigned char *start, const char *oid, size_t oid_len, size_t par_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_tagged_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - p
    - start
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: mbedtls_asn1_write_int
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - asn1_write_tagged_int
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_int(unsigned char **p, const unsigned char
      *start, int val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - p
    - start
    - tag
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: mbedtls_asn1_write_tag
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_tag(unsigned char **p, const unsigned char
      *start, unsigned char tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:152,1
    - Dst: mbedtls_asn1_write_raw_buffer
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:152,1
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - p
    - start
    - oid
    - oid_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: mbedtls_asn1_write_oid
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_len_and_tag
    - mbedtls_asn1_write_raw_buffer
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_oid(unsigned char **p, const unsigned char
      *start, const char *oid, size_t oid_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:173,1
    - Dst: MBEDTLS_ASN1_CHK_ADD
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:179,1
    - Dst: mbedtls_asn1_write_oid
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:179,1
    - Dst: mbedtls_asn1_write_null
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:173,1
    - Dst: mbedtls_asn1_write_len_and_tag
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - p
    - start
    - oid
    - oid_len
    - par_len
    - has_par
    argTypes:
    - unsigned char**
    - unsigned char*
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: mbedtls_asn1_write_algorithm_identifier_ext
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_asn1_write_null
    - mbedtls_asn1_write_len_and_tag
    - mbedtls_asn1_write_oid
    - MBEDTLS_ASN1_CHK_ADD
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_algorithm_identifier_ext(unsigned char **p,
      const unsigned char *start, const char *oid, size_t oid_len, size_t par_len,
      int has_par) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_tagged_int
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - p
    - start
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: mbedtls_asn1_write_enum
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - asn1_write_tagged_int
    linkageType: ''
    returnType: int
    signature: 'int mbedtls_asn1_write_enum(unsigned char **p, const unsigned char
      *start, int val) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asn1_find_named_data
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:381,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:384,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:397,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:393,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:391,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:401,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:403,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:404,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:412,1
    - Dst: mbedtls_calloc
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:420,1
    - Dst: mbedtls_free
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:425,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c:431,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 5
    argNames:
    - head
    - oid
    - oid_len
    - val
    - val_len
    argTypes:
    - mbedtls_asn1_named_data**
    - char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 435
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 435
    functionName: mbedtls_asn1_store_named_data
    functionSourceFile: /src/libspdm/os_stub/mbedtlslib/mbedtls/library/asn1write.c
    functionUses: []
    functionsReached:
    - mbedtls_free
    - mbedtls_calloc
    - memcpy
    - asn1_find_named_data
    linkageType: ''
    returnType: mbedtls_asn1_named_data*
    signature: 'mbedtls_asn1_named_data *mbedtls_asn1_store_named_data( mbedtls_asn1_named_data
      **head, const char *oid, size_t oid_len, const unsigned char *val, size_t val_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - file_name
    - line_number
    - description
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: libspdm_debug_assert
    functionSourceFile: /src/libspdm/os_stub/debuglib_null/debuglib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_debug_assert(const char *file_name, size_t line_number,
      const char *description) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - error_level
    - format
    - '...'
    argTypes:
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: libspdm_debug_print
    functionSourceFile: /src/libspdm/os_stub/debuglib_null/debuglib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_debug_print(size_t error_level, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: spdm_context
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/set_cert.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *spdm_context #endif ) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_generate_mel
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:221,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:259,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:250,1
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:223,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:255,1
    - Dst: libspdm_measurement_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:266,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:273,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:281,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - measurement_block
    - measurement_hash_algo
    argTypes:
    - spdm_measurement_block_dmtf_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 284
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 284
    functionName: libspdm_fill_measurement_hem_block
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c
    functionUses: []
    functionsReached:
    - libspdm_measurement_hash_all
    - libspdm_generate_mel
    - libspdm_get_measurement_hash_size
    - libspdm_zero_mem
    - free
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_fill_measurement_hem_block ( spdm_measurement_block_dmtf_t
      *measurement_block, uint32_t measurement_hash_algo ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_measurement_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:107,1
    - Dst: libspdm_measurement_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:130,1
    - Dst: libspdm_set_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:115,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - use_bit_stream
    - measurement_hash_algo
    - measurements_index
    - measurement_block
    argTypes:
    - bool
    - uint32_t
    - uint8_t
    - spdm_measurement_block_dmtf_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 158
    functionName: libspdm_fill_measurement_image_hash_block
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - libspdm_set_mem
    - libspdm_measurement_hash_all
    - libspdm_get_measurement_hash_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_fill_measurement_image_hash_block ( bool use_bit_stream,
      uint32_t measurement_hash_algo, uint8_t measurements_index, spdm_measurement_block_dmtf_t
      *measurement_block ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_generate_mel
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 6
    argNames:
    - spdm_context
    - mel_specification
    - measurement_specification
    - measurement_hash_algo
    - spdm_mel
    - spdm_mel_size
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    - uint32_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 790
    functionName: libspdm_measurement_extension_log_collection
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c
    functionUses: []
    functionsReached:
    - libspdm_generate_mel
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_measurement_extension_log_collection( void *spdm_context,
      uint8_t mel_specification, uint8_t measurement_specification, uint32_t measurement_hash_algo,
      void **spdm_mel, size_t *spdm_mel_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:303,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - measurement_block
    argTypes:
    - spdm_measurement_block_dmtf_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: libspdm_fill_measurement_manifest_block
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_fill_measurement_manifest_block ( spdm_measurement_block_dmtf_t
      *measurement_block ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - measurement_block
    argTypes:
    - spdm_measurement_block_dmtf_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 195
    functionName: libspdm_fill_measurement_svn_block
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_fill_measurement_svn_block ( spdm_measurement_block_dmtf_t
      *measurement_block ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - measurement_block
    argTypes:
    - spdm_measurement_block_dmtf_t*
    constantsTouched: []
    func_position:
      end: 377
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 377
    functionName: libspdm_fill_measurement_device_mode_block
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: size_t
    signature: 'size_t libspdm_fill_measurement_device_mode_block ( spdm_measurement_block_dmtf_t
      *measurement_block ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:53,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:59,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:73,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:67,1
    - Dst: libspdm_write_uint24
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:81,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 1
    argNames:
    - measurement_hash_algo
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 87
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 87
    functionName: libspdm_generate_mel
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/meas.c
    functionUses: []
    functionsReached:
    - libspdm_write_uint24
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_generate_mel(uint32_t measurement_hash_algo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:79,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:139,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:109,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:124,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:94,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:154,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:169,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:184,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 206
    functionName: libspdm_init_key_pair_info
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: void
    signature: 'void libspdm_init_key_pair_info() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_init_key_pair_info
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: libspdm_read_total_key_pairs
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c
    functionUses: []
    functionsReached:
    - libspdm_init_key_pair_info
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t libspdm_read_total_key_pairs () '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_write_output_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - last_set_key_pair_info_request
    - last_set_key_pair_info_request_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: libspdm_cache_last_set_key_pair_info_request
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c
    functionUses: []
    functionsReached:
    - libspdm_write_output_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_cache_last_set_key_pair_info_request(const uint8_t *last_set_key_pair_info_request,
      size_t last_set_key_pair_info_request_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - last_set_key_pair_info_request
    - last_set_key_pair_info_request_len
    argTypes:
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: libspdm_read_cached_last_set_key_pair_info_request
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_cached_last_set_key_pair_info_request(uint8_t **last_set_key_pair_info_request,
      size_t *last_set_key_pair_info_request_len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_data
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:356,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:362,1
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:362,1
    - Dst: libspdm_read_cached_last_set_key_pair_info_request
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:372,1
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:366,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:407,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:411,1
    - Dst: libspdm_cache_last_set_key_pair_info_request
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:420,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 105
    argCount: 7
    argNames:
    - spdm_context
    - key_pair_id
    - operation
    - desired_key_usage
    - desired_asym_algo
    - desired_assoc_cert_slot_mask
    - need_reset
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - bool*
    constantsTouched: []
    func_position:
      end: 454
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 454
    functionName: libspdm_write_key_pair_info
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c
    functionUses: []
    functionsReached:
    - libspdm_read_total_key_pairs
    - libspdm_cache_last_set_key_pair_info_request
    - LIBSPDM_ASSERT
    - libspdm_read_cached_last_set_key_pair_info_request
    - free
    - libspdm_get_data
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_write_key_pair_info( void *spdm_context, uint8_t key_pair_id,
      uint8_t operation, uint16_t desired_key_usage, uint32_t desired_asym_algo, uint8_t
      desired_assoc_cert_slot_mask, bool *need_reset) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_get_data
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:257,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:263,1
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:263,1
    - Dst: libspdm_read_total_key_pairs
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:267,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c:289,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 10
    argNames:
    - spdm_context
    - key_pair_id
    - capabilities
    - key_usage_capabilities
    - current_key_usage
    - asym_algo_capabilities
    - current_asym_algo
    - assoc_cert_slot_mask
    - public_key_info_len
    - public_key_info
    argTypes:
    - void*
    - uint8_t
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - uint32_t*
    - uint32_t*
    - uint8_t*
    - uint16_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 295
    functionName: libspdm_read_key_pair_info
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/key_pair.c
    functionUses: []
    functionsReached:
    - libspdm_get_data
    - LIBSPDM_ASSERT
    - libspdm_copy_mem
    - libspdm_read_total_key_pairs
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_key_pair_info( void *spdm_context, uint8_t key_pair_id,
      uint16_t *capabilities, uint16_t *key_usage_capabilities, uint16_t *current_key_usage,
      uint32_t *asym_algo_capabilities, uint32_t *current_asym_algo, uint8_t *assoc_cert_slot_mask,
      uint16_t *public_key_info_len, uint8_t *public_key_info) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_key_der.c:58,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_key_der.c:61,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 3
    argNames:
    - base_asym_algo
    - data
    - size
    argTypes:
    - uint32_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 63
    functionName: libspdm_read_responder_public_key
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_key_der.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_public_key(uint32_t base_asym_algo, void
      **data, size_t *size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_key_der.c:103,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_key_der.c:106,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 3
    argNames:
    - req_base_asym_alg
    - data
    - size
    argTypes:
    - uint16_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: libspdm_read_requester_public_key
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_key_der.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_requester_public_key(uint16_t req_base_asym_alg,
      void **data, size_t *size) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:79,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:87,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:90,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:92,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:82,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:98,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:101,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:102,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:105,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:118,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 6
    argNames:
    - base_hash_algo
    - base_asym_algo
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint32_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 120
    functionName: libspdm_read_responder_root_public_certificate
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_root_public_certificate(uint32_t base_hash_algo,
      uint32_t base_asym_algo, void **data, size_t *size, void **hash, size_t *hash_size) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:583,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:617,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:611,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:637,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:563,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:576,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:571,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:566,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:574,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:586,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:587,1
    - Dst: libspdm_x509_set_cert_certificate_check
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:590,1
    - Dst: libspdm_x509_verify_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:609,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:620,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:621,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:595,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:604,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:612,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:600,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:594,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:603,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:624,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 86
    argCount: 6
    argNames:
    - base_hash_algo
    - base_asym_algo
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint32_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 639
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 639
    functionName: libspdm_read_responder_public_certificate_chain_alias_cert_till_dev_cert_ca
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_x509_set_cert_certificate_check
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_x509_verify_cert_chain
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_public_certificate_chain_alias_cert_till_dev_cert_ca(
      uint32_t base_hash_algo, uint32_t base_asym_algo, void **data, size_t *size,
      void **hash, size_t *hash_size) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:322,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:336,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:328,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:334,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:326,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:341,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:344,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:345,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:348,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:361,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 6
    argNames:
    - base_hash_algo
    - req_base_asym_alg
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint16_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 363
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 363
    functionName: libspdm_read_requester_root_public_certificate
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_requester_root_public_certificate(uint32_t base_hash_algo,
      uint16_t req_base_asym_alg, void **data, size_t *size, void **hash, size_t *hash_size) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:855,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:891,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:895,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:900,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:903,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:905,1
    - Dst: libspdm_verify_cert_chain_data
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:911,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:915,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:916,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:923,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:927,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:934,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:951,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:931,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:935,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:938,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:926,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 88
    argCount: 7
    argNames:
    - slot_id
    - base_hash_algo
    - base_asym_algo
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint8_t
    - uint32_t
    - uint32_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 953
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 953
    functionName: libspdm_read_responder_public_certificate_chain_per_slot
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_verify_cert_chain_data
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_public_certificate_chain_per_slot( uint8_t
      slot_id, uint32_t base_hash_algo, uint32_t base_asym_algo, void **data, size_t
      *size, void **hash, size_t *hash_size) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:431,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:434,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:442,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:439,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:444,1
    - Dst: libspdm_verify_cert_chain_data
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:450,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:454,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:455,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:462,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:465,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:477,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:466,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:473,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:490,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:470,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:474,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 74
    argCount: 6
    argNames:
    - base_hash_algo
    - base_asym_algo
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint32_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 492
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 492
    functionName: libspdm_read_responder_public_certificate_chain
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_verify_cert_chain_data
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_public_certificate_chain( uint32_t base_hash_algo,
      uint32_t base_asym_algo, void **data, size_t *size, void **hash, size_t *hash_size) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:183,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:231,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:228,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:219,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:223,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:233,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:239,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:242,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:243,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:246,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:259,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 74
    argCount: 7
    argNames:
    - slot_id
    - base_hash_algo
    - base_asym_algo
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint8_t
    - uint32_t
    - uint32_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 261
    functionName: libspdm_read_responder_root_public_certificate_slot
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_root_public_certificate_slot(uint8_t slot_id,
      uint32_t base_hash_algo, uint32_t base_asym_algo, void **data, size_t *size,
      void **hash, size_t *hash_size) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1022,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1033,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1025,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1030,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1035,1
    - Dst: libspdm_verify_cert_chain_data
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1041,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1045,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1046,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1053,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1056,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1057,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1064,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1068,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1081,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1061,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1065,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 74
    argCount: 6
    argNames:
    - base_hash_algo
    - req_base_asym_alg
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint16_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1083
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 1083
    functionName: libspdm_read_requester_public_certificate_chain
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_verify_cert_chain_data
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_requester_public_certificate_chain( uint32_t base_hash_algo,
      uint16_t req_base_asym_alg, void **data, size_t *size, void **hash, size_t *hash_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1123,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:1126,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 3
    argNames:
    - base_asym_algo
    - data
    - size
    argTypes:
    - uint32_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1128
    functionName: libspdm_read_responder_certificate
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_certificate(uint32_t base_asym_algo, void
      **data, size_t *size) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:730,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:758,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:764,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:784,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:710,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:723,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:718,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:721,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:713,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:733,1
    - Dst: libspdm_x509_certificate_check
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:737,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:742,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:751,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:767,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:747,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:759,1
    - Dst: libspdm_x509_verify_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:756,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:734,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:741,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:750,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:768,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c:771,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 86
    argCount: 6
    argNames:
    - base_hash_algo
    - base_asym_algo
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint32_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 786
    functionName: libspdm_read_responder_public_certificate_chain_alias_cert
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_pub_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - libspdm_x509_certificate_check
    - LIBSPDM_ASSERT
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_x509_verify_cert_chain
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_public_certificate_chain_alias_cert( uint32_t
      base_hash_algo, uint32_t base_asym_algo, void **data, size_t *size, void **hash,
      size_t *hash_size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_set_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:62,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:79,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:84,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:74,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:69,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:89,1
    - Dst: printf
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:97,1
    - Dst: libspdm_dump_hex_str
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:98,1
    - Dst: printf
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:99,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:101,1
    - Dst: libspdm_hkdf_extract
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:103,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:109,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:111,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 8
    argNames:
    - spdm_version
    - base_hash_algo
    - psk_hint
    - psk_hint_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - spdm_version_number_t
    - uint32_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 114
    functionName: libspdm_psk_handshake_secret_hkdf_expand
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c
    functionUses: []
    functionsReached:
    - libspdm_set_mem
    - libspdm_dump_hex_str
    - strcmp
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - printf
    - libspdm_hkdf_extract
    - libspdm_hkdf_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_psk_handshake_secret_hkdf_expand( spdm_version_number_t
      spdm_version, uint32_t base_hash_algo, const uint8_t *psk_hint, size_t psk_hint_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:137,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:142,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:152,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:157,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:147,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:166,1
    - Dst: libspdm_hkdf_extract
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:168,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:178,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:181,1
    - Dst: libspdm_hkdf_extract
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:186,1
    - Dst: libspdm_hkdf_expand
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:193,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:188,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c:195,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 8
    argNames:
    - spdm_version
    - base_hash_algo
    - psk_hint
    - psk_hint_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - spdm_version_number_t
    - uint32_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 198
    functionName: libspdm_psk_master_secret_hkdf_expand
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/psk.c
    functionUses: []
    functionsReached:
    - strcmp
    - libspdm_zero_mem
    - libspdm_get_hash_size
    - libspdm_hkdf_extract
    - libspdm_hkdf_expand
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_psk_master_secret_hkdf_expand( spdm_version_number_t
      spdm_version, uint32_t base_hash_algo, const uint8_t *psk_hint, size_t psk_hint_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 6
    argNames:
    - spdm_context
    - spdm_version
    - session_id
    - supported_event_groups_list
    - supported_event_groups_list_len
    - event_group_count
    argTypes:
    - void*
    - spdm_version_number_t
    - uint32_t
    - void*
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: libspdm_event_get_types
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/event.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_event_get_types( void *spdm_context, spdm_version_number_t
      spdm_version, uint32_t session_id, void *supported_event_groups_list, uint32_t
      *supported_event_groups_list_len, uint8_t *event_group_count) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/event.c:60,1
    - Dst: printf
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/event.c:91,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/event.c:69,1
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/event.c:86,1
    - Dst: printf
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/event.c:93,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 7
    argNames:
    - spdm_context
    - spdm_version
    - session_id
    - subscribe_type
    - subscribe_event_group_count
    - subscribe_list_len
    - subscribe_list
    argTypes:
    - void*
    - spdm_version_number_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint32_t
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 96
    functionName: libspdm_event_subscribe
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/event.c
    functionUses: []
    functionsReached:
    - printf
    - LIBSPDM_DEBUG
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_event_subscribe( void *spdm_context, spdm_version_number_t
      spdm_version, uint32_t session_id, uint8_t subscribe_type, uint8_t subscribe_event_group_count,
      uint32_t subscribe_list_len, const void *subscribe_list) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:148,1
    - Dst: libspdm_rsa_new
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:160,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:166,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:164,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:169,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:171,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:174,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:176,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:182,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:189,1
    - Dst: libspdm_ec_set_priv_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:198,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:200,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:206,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:195,1
    - Dst: libspdm_ec_set_pub_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:193,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 79
    argCount: 2
    argNames:
    - base_asym_algo
    - context
    argTypes:
    - uint32_t
    - void**
    constantsTouched: []
    func_position:
      end: 213
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 213
    functionName: libspdm_get_responder_private_key_from_raw_data
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c
    functionUses: []
    functionsReached:
    - libspdm_ec_set_pub_key
    - libspdm_ec_set_priv_key
    - libspdm_rsa_set_key
    - libspdm_rsa_new
    - LIBSPDM_ASSERT
    - libspdm_ec_free
    - libspdm_ec_new_by_nid
    - libspdm_rsa_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_get_responder_private_key_from_raw_data(uint32_t base_asym_algo,
      void **context) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:294,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:310,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:315,1
    - Dst: libspdm_rsa_new
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:306,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:312,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:317,1
    - Dst: libspdm_rsa_set_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:320,1
    - Dst: libspdm_rsa_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:322,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:328,1
    - Dst: libspdm_ec_new_by_nid
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:335,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:341,1
    - Dst: libspdm_ec_set_pub_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:339,1
    - Dst: libspdm_ec_set_priv_key
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:344,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:352,1
    - Dst: libspdm_ec_free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c:346,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 79
    argCount: 2
    argNames:
    - base_asym_algo
    - context
    argTypes:
    - uint32_t
    - void**
    constantsTouched: []
    func_position:
      end: 359
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 359
    functionName: libspdm_get_requester_private_key_from_raw_data
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_raw_data.c
    functionUses: []
    functionsReached:
    - libspdm_ec_set_pub_key
    - libspdm_ec_set_priv_key
    - libspdm_rsa_set_key
    - libspdm_rsa_new
    - LIBSPDM_ASSERT
    - libspdm_ec_free
    - libspdm_ec_new_by_nid
    - libspdm_rsa_free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_get_requester_private_key_from_raw_data(uint32_t base_asym_algo,
      void **context) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/endpointinfo.c:37,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/endpointinfo.c:38,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - spdm_context
    - sub_code
    - request_attributes
    - endpoint_info_size
    - endpoint_info
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    - uint32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 88
    functionName: libspdm_generate_device_endpoint_info
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/endpointinfo.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: libspdm_return_t
    signature: 'libspdm_return_t libspdm_generate_device_endpoint_info( void *spdm_context,
      uint8_t sub_code, uint8_t request_attributes, uint32_t *endpoint_info_size,
      void *endpoint_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c:36,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c:45,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c:40,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - last_csr_request
    - last_csr_request_len
    - req_csr_tracking_tag
    - available_rsp_csr_tracking_tag
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: libspdm_read_cached_last_csr_request
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    - free
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_cached_last_csr_request(uint8_t **last_csr_request,
      size_t *last_csr_request_len, uint8_t req_csr_tracking_tag, uint8_t *available_rsp_csr_tracking_tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_write_output_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: libspdm_discard_all_cached_last_request
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c
    functionUses: []
    functionsReached:
    - libspdm_write_output_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_discard_all_cached_last_request() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - csr_pointer
    - csr_len
    argTypes:
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: libspdm_read_cached_csr
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_cached_csr(uint8_t **csr_pointer, size_t *csr_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_write_output_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - last_csr_request
    - last_csr_request_len
    - req_csr_tracking_tag
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: libspdm_cache_last_csr_request
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/csr.c
    functionUses: []
    functionsReached:
    - libspdm_write_output_file
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_cache_last_csr_request(const uint8_t *last_csr_request,
      size_t last_csr_request_len, uint8_t req_csr_tracking_tag) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:55,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:68,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:63,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:66,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:58,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:74,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:77,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:78,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:81,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:94,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 7
    argNames:
    - base_hash_algo
    - base_asym_algo
    - chain_id
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 96
    functionName: libspdm_read_responder_root_public_certificate_by_size
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_root_public_certificate_by_size( uint32_t
      base_hash_algo, uint32_t base_asym_algo, uint16_t chain_id, void **data, size_t
      *size, void **hash, size_t *hash_size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:142,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:150,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:155,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:153,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:145,1
    - Dst: libspdm_verify_cert_chain_data
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:161,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:165,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:166,1
    - Dst: libspdm_x509_get_cert_from_cert_chain
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:173,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:176,1
    - Dst: libspdm_hash_all
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:181,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:185,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:201,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:177,1
    - Dst: free
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:184,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c:188,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 7
    argNames:
    - base_hash_algo
    - base_asym_algo
    - chain_id
    - data
    - size
    - hash
    - hash_size
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    - void**
    - size_t*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 203
    functionName: libspdm_read_responder_public_certificate_chain_by_size
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_special_cert.c
    functionUses: []
    functionsReached:
    - libspdm_hash_all
    - LIBSPDM_ASSERT
    - libspdm_x509_get_cert_from_cert_chain
    - free
    - libspdm_read_input_file
    - libspdm_get_hash_size
    - malloc
    - libspdm_verify_cert_chain_data
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_public_certificate_chain_by_size( uint32_t
      base_hash_algo, uint32_t base_asym_algo, uint16_t chain_id, void **data, size_t
      *size, void **hash, size_t *hash_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_pem.c:59,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_pem.c:62,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 3
    argNames:
    - base_asym_algo
    - data
    - size
    argTypes:
    - uint32_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 64
    functionName: libspdm_read_responder_private_key
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_pem.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_responder_private_key(uint32_t base_asym_algo, void
      **data, size_t *size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_pem.c:106,1
    - Dst: libspdm_read_input_file
      Src: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_pem.c:109,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 3
    argNames:
    - req_base_asym_alg
    - data
    - size
    argTypes:
    - uint16_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 111
    functionName: libspdm_read_requester_private_key
    functionSourceFile: /src/libspdm/os_stub/spdm_device_secret_lib_sample/read_priv_key_pem.c
    functionUses: []
    functionsReached:
    - libspdm_read_input_file
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_read_requester_private_key(uint16_t req_base_asym_alg,
      void **data, size_t *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/os_stub/malloclib/malloclib.c:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - AllocationSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: allocate_pool
    functionSourceFile: /src/libspdm/os_stub/malloclib/malloclib.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'void *allocate_pool(size_t AllocationSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/os_stub/malloclib/malloclib.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: free_pool
    functionSourceFile: /src/libspdm/os_stub/malloclib/malloclib.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void free_pool(void *buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/os_stub/malloclib/malloclib.c:21,1
    - Dst: memset
      Src: /src/libspdm/os_stub/malloclib/malloclib.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - AllocationSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: allocate_zero_pool
    functionSourceFile: /src/libspdm/os_stub/malloclib/malloclib.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *allocate_zero_pool(size_t AllocationSize) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:94,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:90,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:126,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:130,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:167,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:183,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:76,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:102,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:106,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:114,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:118,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:138,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:142,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:148,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:154,1
    - Dst: libspdm_consttime_is_mem_equal
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:159,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:179,1
    - Dst: libspdm_x509_get_extension_data
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:59,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:82,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:173,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:191,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 126
    argCount: 3
    argNames:
    - cert
    - cert_size
    - spdm_get_dice_tcb_info_size
    argTypes:
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 202
    functionName: libspdm_verify_cert_dicetcbinfo
    functionSourceFile: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c
    functionUses: []
    functionsReached:
    - libspdm_asn1_get_tag
    - libspdm_x509_get_extension_data
    - libspdm_consttime_is_mem_equal
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_verify_cert_dicetcbinfo(const void *cert, size_t cert_size,
      size_t *spdm_get_dice_tcb_info_size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_verify_peer_cert_chain_buffer_integrity
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:225,1
    - Dst: libspdm_asn1_get_tag
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:255,1
    - Dst: libspdm_verify_cert_dicetcbinfo
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:260,1
    - Dst: libspdm_get_hash_size
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:240,1
    - Dst: libspdm_verify_peer_cert_chain_buffer_authority
      Src: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c:232,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 6
    argNames:
    - spdm_context
    - slot_id
    - cert_chain_size
    - cert_chain
    - trust_anchor
    - trust_anchor_size
    argTypes:
    - void*
    - uint8_t
    - size_t
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 294
    functionName: libspdm_verify_spdm_cert_chain_with_dice
    functionSourceFile: /src/libspdm/os_stub/spdm_cert_verify_callback_sample/spdm_cert_verify_callback.c
    functionUses: []
    functionsReached:
    - libspdm_verify_peer_cert_chain_buffer_authority
    - libspdm_asn1_get_tag
    - libspdm_get_hash_size
    - libspdm_verify_cert_dicetcbinfo
    - libspdm_verify_peer_cert_chain_buffer_integrity
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_verify_spdm_cert_chain_with_dice(void *spdm_context,
      uint8_t slot_id, size_t cert_chain_size, const void *cert_chain, const void
      **trust_anchor, size_t *trust_anchor_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: libspdm_sha256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha384_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: libspdm_sha384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_update(void *sha384_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha512_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: libspdm_sha512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_update(void *sha512_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha256_context
    - new_sha256_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: libspdm_sha256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_duplicate(const void *sha256_context, void *new_sha256_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: libspdm_sha384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha384_context
    - new_sha384_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: libspdm_sha384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_duplicate(const void *sha384_context, void *new_sha384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - sha256_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: libspdm_sha256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_update(void *sha256_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: libspdm_sha512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha512_free(void *sha512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: libspdm_sha512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: libspdm_sha512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_final(void *sha512_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: libspdm_sha256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha256_free(void *sha256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha384_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: libspdm_sha384_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_init(void *sha384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: libspdm_sha384_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_hash_all(const void *data, size_t data_size, uint8_t
      *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha512_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: libspdm_sha512_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_init(void *sha512_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha256_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: libspdm_sha256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_final(void *sha256_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: libspdm_sha384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha384_free(void *sha384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha384_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: libspdm_sha384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha384_final(void *sha384_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: libspdm_sha512_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_hash_all(const void *data, size_t data_size, uint8_t
      *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sha256_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: libspdm_sha256_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_init(void *sha256_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: libspdm_sha256_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha256_hash_all(const void *data, size_t data_size, uint8_t
      *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hash/sha.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sha512_context
    - new_sha512_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: libspdm_sha512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha512_duplicate(const void *sha512_context, void *new_sha512_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: libspdm_sm3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sm3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sm3_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: libspdm_sm3_256_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_init(void *sm3_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - sm3_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: libspdm_sm3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_update(void *sm3_context, const void *data, size_t
      data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: libspdm_sm3_256_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sm3_context
    - new_sm3_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: libspdm_sm3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_duplicate(const void *sm3_context, void *new_sm3_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - libspdm_sm3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: libspdm_sm3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sm3_256_free(void *libspdm_sm3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sm3_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: libspdm_sm3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm3_256_final(void *sm3_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sha3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: libspdm_sha3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha3_256_free(void *sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - sha3_384_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: libspdm_sha3_384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_update(void *sha3_384_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sha3_384_context
    - new_sha3_384_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: libspdm_sha3_384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_duplicate(const void *sha3_384_context, void
      *new_sha3_384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: libspdm_sha3_384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha3_384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sha3_384_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: libspdm_sha3_384_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_init(void *sha3_384_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sha3_512_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: libspdm_sha3_512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_final(void *sha3_512_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: libspdm_sha3_256_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sha3_384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: libspdm_sha3_384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha3_384_free(void *sha3_384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - sha3_512_context
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: libspdm_sha3_512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_update(void *sha3_512_context, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sha3_256_ctx
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: libspdm_sha3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_final(void *sha3_256_ctx, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sha3_512_context
    - new_sha3_512_context
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: libspdm_sha3_512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_duplicate(const void *sha3_512_context, void
      *new_sha3_512_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: libspdm_sha3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - sha3_256_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: libspdm_sha3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_update(void *sha3_256_ctx, const void *data,
      size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sha3_512_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: libspdm_sha3_512_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_init(void *sha3_512_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sha3_256_ctx
    - new_sha3_256_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: libspdm_sha3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_duplicate(const void *sha3_256_ctx, void *new_sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: libspdm_sha3_384_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sha3_512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: libspdm_sha3_512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sha3_512_free(void *sha3_512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sha3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: libspdm_sha3_256_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_256_init(void *sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - sha3_384_context
    - hash_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: libspdm_sha3_384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_384_final(void *sha3_384_context, uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: libspdm_sha3_512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sha3_512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - data
    - data_size
    - hash_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: libspdm_sha3_512_hash_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hash/sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sha3_512_hash_all(const void *data, size_t data_size,
      uint8_t *hash_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pem/pem.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - rsa_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: libspdm_rsa_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pem/pem.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **rsa_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pem/pem.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - ecd_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: libspdm_ecd_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pem/pem.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **ecd_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pem/pem.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - ec_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: libspdm_ec_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pem/pem.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **ec_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pem/pem.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pem_data
    - pem_size
    - password
    - sm2_context
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: libspdm_sm2_get_private_key_from_pem
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pem/pem.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_get_private_key_from_pem(const uint8_t *pem_data,
      size_t pem_size, const char *password, void **sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: libspdm_rsa_pkcs1_verify_with_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pkcs1_verify_with_nid(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t
      sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: libspdm_rsa_pss_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_verify(void *rsa_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rsa_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: libspdm_rsa_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_rsa_free(void *rsa_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: libspdm_rsa_pss_verify_fips
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_verify_fips(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t
      sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: libspdm_rsa_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_rsa_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - rsa_context
    - key_tag
    - big_number
    - bn_size
    argTypes:
    - void*
    - libspdm_rsa_key_tag_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: libspdm_rsa_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_basic.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_set_key(void *rsa_context, const libspdm_rsa_key_tag_t
      key_tag, const uint8_t *big_number, size_t bn_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: libspdm_ecd_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_ecd_new_by_nid(size_t nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ecd_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: libspdm_ecd_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_set_pub_key(void *ecd_context, const uint8_t *public_key,
      size_t public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - ecd_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: libspdm_ecd_get_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_pub_key(void *ecd_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - ecd_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: libspdm_ecd_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_generate_key(void *ecd_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - ecd_context
    - hash_nid
    - context
    - context_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: libspdm_eddsa_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_eddsa_verify(const void *ecd_context, size_t hash_nid,
      const uint8_t *context, size_t context_size, const uint8_t *message, size_t
      size, const uint8_t *signature, size_t sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ecd_context
    - private_key
    - private_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: libspdm_ecd_set_pri_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_set_pri_key(void *ecd_context, const uint8_t *private_key,
      size_t private_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ecd_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: libspdm_ecd_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_ecd_free(void *ecd_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ecd_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: libspdm_ecd_check_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_check_key(const void *ecd_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 8
    argNames:
    - ecd_context
    - hash_nid
    - context
    - context_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: libspdm_eddsa_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ecd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_eddsa_sign(const void *ecd_context, size_t hash_nid,
      const uint8_t *context, size_t context_size, const uint8_t *message, size_t
      size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - cert_size
    - single_x509_cert
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: libspdm_x509_construct_certificate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_construct_certificate(const uint8_t *cert, size_t
      cert_size, uint8_t **single_x509_cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x509_stack
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: libspdm_x509_stack_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_x509_stack_free(void *x509_stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - cert_size
    - rsa_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: libspdm_rsa_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **rsa_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - cert_size
    - version
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: libspdm_x509_get_version
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_version(const uint8_t *cert, size_t cert_size,
      size_t *version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - name_buffer
    - name_buffer_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: libspdm_x509_get_issuer_orgnization_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_issuer_orgnization_name(const uint8_t *cert,
      size_t cert_size, char *name_buffer, size_t *name_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - oid
    - oid_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: libspdm_x509_get_signature_algorithm
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_signature_algorithm(const uint8_t *cert, size_t
      cert_size, uint8_t *oid, size_t *oid_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - cert
    - cert_size
    - from
    - from_size
    - to
    - to_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: libspdm_x509_get_validity
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_validity(const uint8_t *cert, size_t cert_size,
      uint8_t *from, size_t *from_size, uint8_t *to, size_t *to_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - date_time_str
    - date_time
    - date_time_size
    argTypes:
    - char*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: libspdm_x509_set_date_time
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_set_date_time(const char *date_time_str, void *date_time,
      size_t *date_time_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - ca_cert
    - ca_cert_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: libspdm_x509_verify_cert
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_verify_cert(const uint8_t *cert, size_t cert_size,
      const uint8_t *ca_cert, size_t ca_cert_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - tbs_cert
    - tbs_cert_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: libspdm_x509_get_tbs_cert
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_tbs_cert(const uint8_t *cert, size_t cert_size,
      uint8_t **tbs_cert, size_t *tbs_cert_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - common_name
    - common_name_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: libspdm_x509_get_issuer_common_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_issuer_common_name(const uint8_t *cert, size_t
      cert_size, char *common_name, size_t *common_name_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - name_buffer
    - name_buffer_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: libspdm_x509_get_organization_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_organization_name(const uint8_t *cert, size_t
      cert_size, char *name_buffer, size_t *name_buffer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - cert_size
    - ec_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: libspdm_ec_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **ec_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - end
    - length
    - tag
    argTypes:
    - uint8_t**
    - uint8_t*
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: libspdm_asn1_get_tag
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_asn1_get_tag(uint8_t **ptr, const uint8_t *end, size_t
      *length, uint32_t tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - cert_size
    - usage
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: libspdm_x509_get_key_usage
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_key_usage(const uint8_t *cert, size_t cert_size,
      size_t *usage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - date_time1
    - date_time2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 725
    functionName: libspdm_x509_compare_date_time
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t libspdm_x509_compare_date_time(const void *date_time1, const
      void *date_time2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - cert_subject
    - subject_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: libspdm_x509_get_subject_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_subject_name(const uint8_t *cert, size_t cert_size,
      uint8_t *cert_subject, size_t *subject_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - cert_chain
    - cert_chain_length
    - cert_index
    - cert
    - cert_length
    argTypes:
    - uint8_t*
    - size_t
    - int32_t
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: libspdm_x509_get_cert_from_cert_chain
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_cert_from_cert_chain(const uint8_t *cert_chain,
      size_t cert_chain_length, const int32_t cert_index, const uint8_t **cert, size_t
      *cert_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - cert_issuer
    - issuer_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: libspdm_x509_get_issuer_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_issuer_name(const uint8_t *cert, size_t cert_size,
      uint8_t *cert_issuer, size_t *issuer_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - usage
    - usage_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: libspdm_x509_get_extended_key_usage
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_extended_key_usage(const uint8_t *cert, size_t
      cert_size, uint8_t *usage, size_t *usage_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - cert_size
    - ecd_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: libspdm_ecd_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **ecd_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - root_cert
    - root_cert_length
    - cert_chain
    - cert_chain_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: libspdm_x509_verify_cert_chain
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_verify_cert_chain(const uint8_t *root_cert, size_t
      root_cert_length, const uint8_t *cert_chain, size_t cert_chain_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - serial_number
    - serial_number_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: libspdm_x509_get_serial_number
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_serial_number(const uint8_t *cert, size_t cert_size,
      uint8_t *serial_number, size_t *serial_number_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 10
    argNames:
    - hash_nid
    - asym_nid
    - requester_info
    - requester_info_length
    - is_ca
    - context
    - subject_name
    - csr_len
    - csr_pointer
    - base_cert
    argTypes:
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - bool
    - void*
    - char*
    - size_t*
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: libspdm_gen_x509_csr
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_gen_x509_csr(size_t hash_nid, size_t asym_nid, uint8_t
      *requester_info, size_t requester_info_length, bool is_ca, void *context, char
      *subject_name, size_t *csr_len, uint8_t *csr_pointer, void *base_cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x509_cert
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: libspdm_x509_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_x509_free(void *x509_cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - cert_size
    - sm2_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: libspdm_sm2_get_public_key_from_x509
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_get_public_key_from_x509(const uint8_t *cert, size_t
      cert_size, void **sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - x509_stack
    - '...'
    argTypes:
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: libspdm_x509_construct_certificate_stack
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_construct_certificate_stack(uint8_t **x509_stack,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - common_name
    - common_name_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: libspdm_x509_get_common_name
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_common_name(const uint8_t *cert, size_t cert_size,
      char *common_name, size_t *common_name_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - cert_size
    - basic_constraints
    - basic_constraints_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 674
    functionName: libspdm_x509_get_extended_basic_constraints
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_extended_basic_constraints(const uint8_t *cert,
      size_t cert_size, uint8_t *basic_constraints, size_t *basic_constraints_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/x509.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - cert
    - cert_size
    - oid
    - oid_size
    - extension_data
    - extension_data_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 582
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 582
    functionName: libspdm_x509_get_extension_data
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/x509.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_x509_get_extension_data(const uint8_t *cert, size_t cert_size,
      const uint8_t *oid, size_t oid_size, uint8_t *extension_data, size_t *extension_data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: libspdm_sm2_dsa_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sm2_dsa_new_by_nid(size_t nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sm2_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: libspdm_sm2_dsa_check_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_check_key(const void *sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - sm2_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: libspdm_sm2_dsa_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_set_pub_key(void *sm2_context, const uint8_t
      *public_key, size_t public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: libspdm_sm2_key_exchange_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_sm2_key_exchange_new_by_nid(size_t nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - sm2_context
    - public_data
    - public_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: libspdm_sm2_key_exchange_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_key_exchange_generate_key(void *sm2_context, uint8_t
      *public_data, size_t *public_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 8
    argNames:
    - sm2_context
    - hash_nid
    - id_a
    - id_a_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: libspdm_sm2_dsa_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_sign(const void *sm2_context, size_t hash_nid,
      const uint8_t *id_a, size_t id_a_size, const uint8_t *message, size_t size,
      uint8_t *signature, size_t *sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - sm2_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: libspdm_sm2_dsa_get_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_get_pub_key(void *sm2_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sm2_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: libspdm_sm2_dsa_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sm2_dsa_free(void *sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - sm2_context
    - public_data
    - public_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: libspdm_sm2_dsa_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_generate_key(void *sm2_context, uint8_t *public_data,
      size_t *public_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sm2_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: libspdm_sm2_key_exchange_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_sm2_key_exchange_free(void *sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 7
    argNames:
    - sm2_context
    - hash_nid
    - id_a
    - id_a_size
    - id_b
    - id_b_size
    - is_initiator
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: libspdm_sm2_key_exchange_init
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_key_exchange_init(const void *sm2_context, size_t
      hash_nid, const uint8_t *id_a, size_t id_a_size, const uint8_t *id_b, size_t
      id_b_size, bool is_initiator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 5
    argNames:
    - sm2_context
    - peer_public
    - peer_public_size
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: libspdm_sm2_key_exchange_compute_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_key_exchange_compute_key(void *sm2_context, const
      uint8_t *peer_public, size_t peer_public_size, uint8_t *key, size_t *key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - sm2_context
    - hash_nid
    - id_a
    - id_a_size
    - message
    - size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: libspdm_sm2_dsa_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/sm2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_dsa_verify(const void *sm2_context, size_t hash_nid,
      const uint8_t *id_a, size_t id_a_size, const uint8_t *message, size_t size,
      const uint8_t *signature, size_t sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - rsa_context
    - key_tag
    - big_number
    - bn_size
    argTypes:
    - void*
    - libspdm_rsa_key_tag_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: libspdm_rsa_get_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_key(void *rsa_context, const libspdm_rsa_key_tag_t
      key_tag, uint8_t *big_number, size_t *bn_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: libspdm_rsa_pkcs1_sign_with_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pkcs1_sign_with_nid(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: libspdm_rsa_pss_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_sign(void *rsa_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - rsa_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: libspdm_rsa_pss_sign_fips
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_pss_sign_fips(void *rsa_context, size_t hash_nid,
      const uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rsa_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: libspdm_rsa_check_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_check_key(void *rsa_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - rsa_context
    - modulus_length
    - public_exponent
    - public_exponent_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: libspdm_rsa_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/rsa_ext.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_generate_key(void *rsa_context, size_t modulus_length,
      const uint8_t *public_exponent, size_t public_exponent_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: libspdm_ec_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_ec_new_by_nid(size_t nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ec_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: libspdm_ec_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_ec_free(void *ec_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - ec_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    - (*random_func)
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: libspdm_ecdsa_sign_ex
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecdsa_sign_ex(void *ec_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size,
      int (*random_func)(void *, unsigned char *, size_t)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ec_context
    - private_key
    - private_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: libspdm_ec_set_priv_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_set_priv_key(void *ec_context, const uint8_t *private_key,
      size_t private_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ec_context
    - peer_public
    - peer_public_size
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: libspdm_ec_compute_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_compute_key(void *ec_context, const uint8_t *peer_public,
      size_t peer_public_size, uint8_t *key, size_t *key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ec_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: libspdm_ec_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_set_pub_key(void *ec_context, const uint8_t *public_key,
      size_t public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ec_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: libspdm_ecdsa_sign
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecdsa_sign(void *ec_context, size_t hash_nid, const uint8_t
      *message_hash, size_t hash_size, uint8_t *signature, size_t *sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ec_context
    - hash_nid
    - message_hash
    - hash_size
    - signature
    - sig_size
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: libspdm_ecdsa_verify
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecdsa_verify(void *ec_context, size_t hash_nid, const
      uint8_t *message_hash, size_t hash_size, const uint8_t *signature, size_t sig_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/ec.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ec_context
    - public_data
    - public_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: libspdm_ec_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/ec.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_generate_key(void *ec_context, uint8_t *public_data,
      size_t *public_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/dh.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: libspdm_dh_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/dh.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_dh_new_by_nid(size_t nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/dh.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - dh_context
    - generator
    - prime_length
    - prime
    argTypes:
    - void*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: libspdm_dh_set_parameter
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/dh.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_set_parameter(void *dh_context, size_t generator,
      size_t prime_length, const uint8_t *prime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/dh.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - dh_context
    - generator
    - prime_length
    - prime
    argTypes:
    - void*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: libspdm_dh_generate_parameter
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/dh.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_generate_parameter(void *dh_context, size_t generator,
      size_t prime_length, uint8_t *prime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/dh.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dh_context
    - public_key
    - public_key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: libspdm_dh_generate_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/dh.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_generate_key(void *dh_context, uint8_t *public_key,
      size_t *public_key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/dh.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dh_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: libspdm_dh_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/dh.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_dh_free(void *dh_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/pk/dh.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - dh_context
    - peer_public_key
    - peer_public_key_size
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: libspdm_dh_compute_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/pk/dh.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_dh_compute_key(void *dh_context, const uint8_t *peer_public_key,
      size_t peer_public_key_size, uint8_t *key, size_t *key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sha3_384_ctx
    - new_hmac_sha3_384_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: libspdm_hmac_sha3_384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_duplicate(const void *hmac_sha3_384_ctx,
      void *new_hmac_sha3_384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sha3_256_ctx
    - new_hmac_sha3_256_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: libspdm_hmac_sha3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_duplicate(const void *hmac_sha3_256_ctx,
      void *new_hmac_sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: libspdm_hmac_sha3_384_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - hmac_sha3_512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: libspdm_hmac_sha3_512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha3_512_free(void *hmac_sha3_512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: libspdm_hmac_sha3_256_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - hmac_sha3_384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: libspdm_hmac_sha3_384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha3_384_free(void *hmac_sha3_384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sha3_512_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: libspdm_hmac_sha3_512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_update(void *hmac_sha3_512_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - hmac_sha3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: libspdm_hmac_sha3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha3_256_free(void *hmac_sha3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sha3_384_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: libspdm_hmac_sha3_384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_update(void *hmac_sha3_384_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: libspdm_hmac_sha3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sha3_256_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: libspdm_hmac_sha3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_update(void *hmac_sha3_256_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sha3_512_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: libspdm_hmac_sha3_512_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_set_key(void *hmac_sha3_512_ctx, const
      uint8_t *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: libspdm_hmac_sha3_384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha3_384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sha3_384_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: libspdm_hmac_sha3_384_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_set_key(void *hmac_sha3_384_ctx, const
      uint8_t *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sha3_512_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: libspdm_hmac_sha3_512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_final(void *hmac_sha3_512_ctx, uint8_t
      *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sha3_256_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: libspdm_hmac_sha3_256_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_set_key(void *hmac_sha3_256_ctx, const
      uint8_t *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sha3_384_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: libspdm_hmac_sha3_384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_384_final(void *hmac_sha3_384_ctx, uint8_t
      *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: libspdm_hmac_sha3_512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha3_512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: libspdm_hmac_sha3_512_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sha3_256_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: libspdm_hmac_sha3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_256_final(void *hmac_sha3_256_ctx, uint8_t
      *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sha3_512_ctx
    - new_hmac_sha3_512_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: libspdm_hmac_sha3_512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha3_512_duplicate(const void *hmac_sha3_512_ctx,
      void *new_hmac_sha3_512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha256_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: libspdm_hmac_sha256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_update(void *hmac_sha256_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha512_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: libspdm_hmac_sha512_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha512_free(void *hmac_sha512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: libspdm_hmac_sha512_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha512_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha512_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: libspdm_hmac_sha512_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_final(void *hmac_sha512_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: libspdm_hmac_sha256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha256_free(void *hmac_sha256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha384_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: libspdm_hmac_sha384_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_set_key(void *hmac_sha384_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: libspdm_hmac_sha384_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_all(const void *data, size_t data_size, const
      uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha512_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: libspdm_hmac_sha512_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_set_key(void *hmac_sha512_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha256_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: libspdm_hmac_sha256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_final(void *hmac_sha256_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hmac_sha384_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: libspdm_hmac_sha384_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sha384_free(void *hmac_sha384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha384_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: libspdm_hmac_sha384_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_final(void *hmac_sha384_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: libspdm_hmac_sha512_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_all(const void *data, size_t data_size, const
      uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha256_ctx
    - new_hmac_sha256_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: libspdm_hmac_sha256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_duplicate(const void *hmac_sha256_ctx, void
      *new_hmac_sha256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: libspdm_hmac_sha256_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_all(const void *data, size_t data_size, const
      uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha256_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: libspdm_hmac_sha256_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha256_set_key(void *hmac_sha256_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha512_ctx
    - new_hmac_sha512_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: libspdm_hmac_sha512_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_duplicate(const void *hmac_sha512_ctx, void
      *new_hmac_sha512_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: libspdm_hmac_sha256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha384_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: libspdm_hmac_sha384_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_update(void *hmac_sha384_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - hmac_sha512_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: libspdm_hmac_sha512_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha512_update(void *hmac_sha512_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: libspdm_hmac_sha384_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sha384_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - hmac_sha384_ctx
    - new_hmac_sha384_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: libspdm_hmac_sha384_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sha384_duplicate(const void *hmac_sha384_ctx, void
      *new_hmac_sha384_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: libspdm_hmac_sm3_256_new
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *libspdm_hmac_sm3_256_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sm3_256_ctx
    - data
    - data_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: libspdm_hmac_sm3_256_update
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_update(void *hmac_sm3_256_ctx, const void
      *data, size_t data_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - hmac_sm3_256_ctx
    - key
    - key_size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: libspdm_hmac_sm3_256_set_key
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_set_key(void *hmac_sm3_256_ctx, const uint8_t
      *key, size_t key_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - data
    - data_size
    - key
    - key_size
    - hmac_value
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: libspdm_hmac_sm3_256_all
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_all(const void *data, size_t data_size,
      const uint8_t *key, size_t key_size, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sm3_256_ctx
    - new_hmac_sm3_256_ctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: libspdm_hmac_sm3_256_duplicate
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_duplicate(const void *hmac_sm3_256_ctx,
      void *new_hmac_sm3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - hmac_sm3_256_ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: libspdm_hmac_sm3_256_free
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void libspdm_hmac_sm3_256_free(void *hmac_sm3_256_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - hmac_sm3_256_ctx
    - hmac_value
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: libspdm_hmac_sm3_256_final
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/hmac/hmac_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hmac_sm3_256_final(void *hmac_sm3_256_ctx, uint8_t *hmac_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag_out
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: libspdm_aead_sm4_gcm_encrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/cipher/aead_sm4_gcm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_sm4_gcm_encrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, uint8_t *tag_out, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: libspdm_aead_sm4_gcm_decrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/cipher/aead_sm4_gcm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_sm4_gcm_decrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, const uint8_t *tag, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/cipher/aead_chacha20_poly1305.c:45,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag_out
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: libspdm_aead_chacha20_poly1305_encrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/cipher/aead_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_chacha20_poly1305_encrypt( const uint8_t *key, size_t
      key_size, const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, uint8_t *tag_out, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/cipher/aead_chacha20_poly1305.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: libspdm_aead_chacha20_poly1305_decrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/cipher/aead_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_chacha20_poly1305_decrypt( const uint8_t *key, size_t
      key_size, const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, const uint8_t *tag, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_null/cipher/aead_aes_gcm.c:46,1
    - Dst: libspdm_zero_mem
      Src: /src/libspdm/os_stub/cryptlib_null/cipher/aead_aes_gcm.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag_out
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: libspdm_aead_aes_gcm_encrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/cipher/aead_aes_gcm.c
    functionUses: []
    functionsReached:
    - libspdm_zero_mem
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_aes_gcm_encrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, uint8_t *tag_out, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/cryptlib_null/cipher/aead_aes_gcm.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 12
    argNames:
    - key
    - key_size
    - iv
    - iv_size
    - a_data
    - a_data_size
    - data_in
    - data_in_size
    - tag
    - tag_size
    - data_out
    - data_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: libspdm_aead_aes_gcm_decrypt
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/cipher/aead_aes_gcm.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_aead_aes_gcm_decrypt(const uint8_t *key, size_t key_size,
      const uint8_t *iv, size_t iv_size, const uint8_t *a_data, size_t a_data_size,
      const uint8_t *data_in, size_t data_in_size, const uint8_t *tag, size_t tag_size,
      uint8_t *data_out, size_t *data_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - output
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: libspdm_random_bytes
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/rand/rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_random_bytes(uint8_t *output, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: libspdm_hkdf_sha384_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha384_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: libspdm_hkdf_sha256_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha256_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: libspdm_hkdf_sha512_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha512_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: libspdm_hkdf_sha256_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha256_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: libspdm_hkdf_sha384_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha384_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: libspdm_hkdf_sha256_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha256_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: libspdm_hkdf_sha384_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha384_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: libspdm_hkdf_sha512_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha512_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: libspdm_hkdf_sha512_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha512_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: libspdm_hkdf_sm3_256_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sm3_256_extract_and_expand(const uint8_t *key, size_t
      key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info, size_t
      info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: libspdm_hkdf_sm3_256_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sm3_256_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: libspdm_hkdf_sm3_256_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sm3_256_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: libspdm_hkdf_sha3_256_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_256_extract_and_expand(const uint8_t *key,
      size_t key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info,
      size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: libspdm_hkdf_sha3_256_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_256_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: libspdm_hkdf_sha3_384_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_384_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: libspdm_hkdf_sha3_512_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_512_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: libspdm_hkdf_sha3_384_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_384_extract_and_expand(const uint8_t *key,
      size_t key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info,
      size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: libspdm_hkdf_sha3_256_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_256_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - prk_out
    - prk_out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: libspdm_hkdf_sha3_384_extract
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_384_extract(const uint8_t *key, size_t key_size,
      const uint8_t *salt, size_t salt_size, uint8_t *prk_out, size_t prk_out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - key
    - key_size
    - salt
    - salt_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: libspdm_hkdf_sha3_512_extract_and_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_512_extract_and_expand(const uint8_t *key,
      size_t key_size, const uint8_t *salt, size_t salt_size, const uint8_t *info,
      size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - prk
    - prk_size
    - info
    - info_size
    - out
    - out_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: libspdm_hkdf_sha3_512_expand
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/kdf/hkdf_sha3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_hkdf_sha3_512_expand(const uint8_t *prk, size_t prk_size,
      const uint8_t *info, size_t info_size, uint8_t *out, size_t out_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/der/der.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - der_data
    - der_size
    - rsa_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: libspdm_rsa_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/der/der.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_rsa_get_public_key_from_der(const uint8_t *der_data,
      size_t der_size, void **rsa_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/der/der.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - der_data
    - der_size
    - ec_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: libspdm_ec_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/der/der.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ec_get_public_key_from_der(const uint8_t *der_data, size_t
      der_size, void **ec_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/der/der.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - der_data
    - der_size
    - sm2_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: libspdm_sm2_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/der/der.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_sm2_get_public_key_from_der(const uint8_t *der_data,
      size_t der_size, void **sm2_context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/cryptlib_null/der/der.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - der_data
    - der_size
    - ecd_context
    argTypes:
    - uint8_t*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: libspdm_ecd_get_public_key_from_der
    functionSourceFile: /src/libspdm/os_stub/cryptlib_null/der/der.c
    functionUses: []
    functionsReached:
    - LIBSPDM_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool libspdm_ecd_get_public_key_from_der(const uint8_t *der_data,
      size_t der_size, void **ecd_context) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBSPDM_DEBUG
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:32,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:51,1
    - Dst: LIBSPDM_ASSERT
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:34,1
    - Dst: libspdm_get_random_number_64
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:41,1
    - Dst: libspdm_copy_mem
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - length
    - rand_buffer
    argTypes:
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 57
    functionName: rand_get_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/rand_pool.c
    functionUses: []
    functionsReached:
    - libspdm_copy_mem
    - LIBSPDM_ASSERT
    - libspdm_get_random_number_64
    - LIBSPDM_DEBUG
    linkageType: ''
    returnType: bool
    signature: 'static bool rand_get_bytes(size_t length, uint8_t *rand_buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_bytes
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:108,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: ossl_rand_pool_add_additional_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/rand_pool.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - rand_get_bytes
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_add_additional_data(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_bytes
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:97,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/rand_pool.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - rand_get_bytes
    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/libspdm/os_stub/openssllib/rand_pool.c:73,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:80,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:82,1
    - Dst: rand_get_bytes
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:78,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:75,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/rand_pool.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/rand_pool.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add_end
    - ossl_rand_pool_add_begin
    - rand_get_bytes
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_pool_acquire_entropy(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_keep_random_devices_open ( int keep ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: ossl_store_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_store_cleanup_int ( void ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    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*
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: OSSL_STORE_open_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_STORE_CTX*
    signature: 'OSSL_STORE_CTX *OSSL_STORE_open_ex ( const char *uri, OSSL_LIB_CTX
      *libctx, const char *propq, const UI_METHOD *ui_method, void *ui_data, const
      OSSL_PARAM params[], OSSL_STORE_post_process_info_fn post_process, void *post_process_data
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - search
    argTypes:
    - OSSL_STORE_CTX*
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: OSSL_STORE_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_find ( OSSL_STORE_CTX *ctx, const OSSL_STORE_SEARCH
      *search ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: OSSL_STORE_INFO_get0_NAME
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_INFO_get0_NAME ( const OSSL_STORE_INFO *info
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: OSSL_STORE_INFO_get0_CRL
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *OSSL_STORE_INFO_get0_CRL ( const OSSL_STORE_INFO *info ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: OSSL_STORE_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_error ( OSSL_STORE_CTX *ctx ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: OSSL_STORE_INFO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OSSL_STORE_INFO_free ( OSSL_STORE_INFO *info ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: OSSL_STORE_INFO_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_INFO_get_type ( const OSSL_STORE_INFO *info ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: file_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *file_open ( void *provctx, const char *uri ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    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*
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: OSSL_STORE_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_STORE_CTX*
    signature: 'OSSL_STORE_CTX *OSSL_STORE_open ( const char *uri, const UI_METHOD
      *ui_method, void *ui_data, OSSL_STORE_post_process_info_fn post_process, void
      *post_process_data ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: OSSL_STORE_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_load ( OSSL_STORE_CTX *ctx ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: OSSL_STORE_INFO_get0_CERT
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 *OSSL_STORE_INFO_get0_CERT ( const OSSL_STORE_INFO *info ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: OSSL_STORE_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_eof ( OSSL_STORE_CTX *ctx ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: OSSL_STORE_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_close ( OSSL_STORE_CTX *ctx ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: OSSL_STORE_SEARCH_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_STORE_SEARCH*
    signature: 'OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_name ( X509_NAME *name ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - search
    argTypes:
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: OSSL_STORE_SEARCH_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/ossl_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OSSL_STORE_SEARCH_free ( OSSL_STORE_SEARCH *search ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - PROXY_CERT_INFO_EXTENSION
    argTypes:
    - PROXY_CERT_INFO_EXTENSION
    constantsTouched: []
    func_position:
      end: 585
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 585
    functionName: DECLARE_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(PROXY_POLICY)
    signature: "DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION)\r\rstruct
      ISSUING_DIST_POINT_st "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_zero
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1055,1
    - Dst: OPENSSL_sk_zero
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1055,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1063,1
    - Dst: sk_X509_POLICY_NODE_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1072,1
    - Dst: sk_ASIdOrRange_deep_copy
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1116,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1094,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1059,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1064,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:840,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:841,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1055,1
    - Dst: OPENSSL_sk_delete
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1056,1
    - Dst: ossl_check_X509_POLICY_NODE_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1058,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1066,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1099,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1068,1
    - Dst: sk_ASIdOrRange_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1097,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1107,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1112,1
    - Dst: DECLARE_ASN1_ITEM
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:869,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1049,1
    - Dst: sk_X509_POLICY_NODE_is_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1069,1
    - Dst: OPENSSL_sk_is_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1069,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1108,1
    - Dst: sk_ASIdOrRange_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1117,1
    - Dst: OPENSSL_sk_num
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1048,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1065,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1104,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1109,1
    - Dst: sk_ASIdOrRange_push
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1103,1
    - Dst: sk_ASIdOrRange_unshift
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1104,1
    - Dst: ossl_check_X509_POLICY_NODE_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1067,1
    - Dst: ossl_check_X509_POLICY_NODE_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1066,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1100,1
    - Dst: OPENSSL_sk_delete
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1101,1
    - Dst: OPENSSL_sk_push
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1103,1
    - Dst: OPENSSL_sk_unshift
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1104,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1111,1
    - Dst: OPENSSL_sk_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1052,1
    - Dst: ossl_check_const_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1069,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1113,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:846,1
    - Dst: DECLARE_ASN1_ITEM
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:860,1
    - Dst: sk_X509_POLICY_NODE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1062,1
    - Dst: sk_X509_POLICY_NODE_find_all
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1067,1
    - Dst: sk_ASIdOrRange_zero
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1100,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:847,1
    - Dst: DECLARE_ASN1_ITEM
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:862,1
    - Dst: OPENSSL_sk_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1062,1
    - Dst: ossl_check_X509_POLICY_NODE_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1063,1
    - Dst: OPENSSL_sk_find_all
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1067,1
    - Dst: OPENSSL_sk_zero
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1100,1
    - Dst: sk_X509_POLICY_NODE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1051,1
    - Dst: sk_X509_POLICY_NODE_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1052,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1110,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:848,1
    - Dst: sk_X509_POLICY_NODE_insert
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1063,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1056,1
    - Dst: OPENSSL_sk_insert
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1063,1
    - Dst: ossl_check_X509_POLICY_NODE_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1065,1
    - Dst: ossl_check_ASIdOrRange_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1111,1
    - Dst: ossl_check_ASIdOrRange_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1112,1
    - Dst: sk_X509_POLICY_NODE_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1054,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1058,1
    - Dst: OPENSSL_sk_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1097,1
    - Dst: ossl_check_const_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1114,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:843,1
    - Dst: OPENSSL_sk_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1053,1
    - Dst: sk_ASIdOrRange_find_all
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1112,1
    - Dst: sk_ASIdOrRange_is_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1114,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:845,1
    - Dst: DIST_POINT_set_dpname
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:850,1
    - Dst: OPENSSL_sk_find_all
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1112,1
    - Dst: OPENSSL_sk_is_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1114,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1120,1
    - Dst: sk_ASIdOrRange_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1096,1
    - Dst: DECLARE_ASN1_ITEM
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:858,1
    - Dst: DECLARE_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:866,1
    - Dst: DECLARE_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:859,1
    - Dst: DECLARE_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:868,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1101,1
    - Dst: ossl_check_ASIdOrRange_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1103,1
    - Dst: ossl_check_ASIdOrRange_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1110,1
    - Dst: sk_ASIdOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1099,1
    - Dst: ossl_check_X509_POLICY_NODE_compfunc_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1052,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1103,1
    - Dst: OPENSSL_sk_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1098,1
    - Dst: sk_ASIdOrRange_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1107,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:842,1
    - Dst: OPENSSL_sk_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1054,1
    - Dst: ossl_check_const_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1093,1
    - Dst: OPENSSL_sk_value
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1094,1
    - Dst: OPENSSL_sk_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1107,1
    - Dst: ossl_check_ASIdOrRange_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1108,1
    - Dst: sk_X509_POLICY_NODE_set
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1064,1
    - Dst: sk_X509_POLICY_NODE_pop
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1060,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1093,1
    - Dst: sk_ASIdOrRange_insert
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1108,1
    - Dst: OPENSSL_sk_num
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1093,1
    - Dst: OPENSSL_sk_insert
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1108,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:871,1
    - Dst: sk_X509_POLICY_NODE_delete
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1056,1
    - Dst: OPENSSL_sk_value
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1049,1
    - Dst: ossl_check_ASIdOrRange_compfunc_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1097,1
    - Dst: sk_X509_POLICY_NODE_sort
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1068,1
    - Dst: ossl_check_X509_POLICY_NODE_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1059,1
    - Dst: ossl_check_X509_POLICY_NODE_freefunc_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1062,1
    - Dst: OPENSSL_sk_sort
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1068,1
    - Dst: sk_ASIdOrRange_set
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1109,1
    - Dst: DECLARE_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:863,1
    - Dst: sk_X509_POLICY_NODE_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1066,1
    - Dst: sk_ASIdOrRange_pop
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1105,1
    - Dst: DECLARE_ASN1_ITEM
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:865,1
    - Dst: ossl_check_X509_POLICY_NODE_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1064,1
    - Dst: OPENSSL_sk_find
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1065,1
    - Dst: sk_ASIdOrRange_delete
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1101,1
    - Dst: sk_X509_POLICY_NODE_push
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1058,1
    - Dst: sk_X509_POLICY_NODE_dup
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1070,1
    - Dst: OPENSSL_sk_push
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1058,1
    - Dst: ossl_check_const_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1094,1
    - Dst: OPENSSL_sk_free
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1099,1
    - Dst: OPENSSL_sk_set
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1064,1
    - Dst: sk_ASIdOrRange_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1111,1
    - Dst: OPENSSL_sk_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1066,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1053,1
    - Dst: sk_X509_POLICY_NODE_shift
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1061,1
    - Dst: ossl_check_ASIdOrRange_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1109,1
    - Dst: OPENSSL_sk_find
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1110,1
    - Dst: ossl_check_const_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1049,1
    - Dst: sk_ASIdOrRange_sort
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1113,1
    - Dst: sk_ASIdOrRange_dup
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1115,1
    - Dst: ossl_check_const_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1048,1
    - Dst: sk_X509_POLICY_NODE_deep_copy
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1071,1
    - Dst: ossl_check_ASIdOrRange_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1104,1
    - Dst: ossl_check_ASIdOrRange_freefunc_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1107,1
    - Dst: OPENSSL_sk_sort
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1113,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1062,1
    - Dst: OPENSSL_sk_set
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1109,1
    - Dst: sk_X509_POLICY_NODE_unshift
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1059,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1054,1
    - Dst: OPENSSL_sk_unshift
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1059,1
    - Dst: ossl_check_ASIdOrRange_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1098,1
    - Dst: sk_ASIdOrRange_shift
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1106,1
    - Dst: OPENSSL_sk_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1111,1
    - Dst: ossl_check_X509_POLICY_NODE_sk_type
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1067,1
    CyclomaticComplexity: 384
    EdgeCount: 384
    ICount: 152
    argCount: 0
    argNames:
    - EDIPARTYNAME
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 1135
    functionName: DECLARE_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h
    functionUses: []
    functionsReached:
    - ossl_check_X509_POLICY_NODE_freefunc_type
    - sk_X509_POLICY_NODE_dup
    - sk_ASIdOrRange_sort
    - OPENSSL_sk_unshift
    - sk_X509_POLICY_NODE_find_all
    - ossl_check_X509_POLICY_NODE_type
    - sk_X509_POLICY_NODE_insert
    - sk_X509_POLICY_NODE_set
    - sk_ASIdOrRange_value
    - sk_ASIdOrRange_shift
    - OPENSSL_sk_value
    - DECLARE_ASN1_FUNCTIONS
    - ossl_check_ASIdOrRange_sk_type
    - sk_ASIdOrRange_find_ex
    - sk_ASIdOrRange_find_all
    - STACK_OF
    - ossl_check_X509_POLICY_NODE_sk_type
    - sk_X509_POLICY_NODE_new_reserve
    - sk_X509_POLICY_NODE_pop_free
    - sk_ASIdOrRange_new_null
    - sk_X509_POLICY_NODE_push
    - sk_X509_POLICY_NODE_set_cmp_func
    - OPENSSL_sk_reserve
    - ossl_check_ASIdOrRange_compfunc_type
    - ossl_check_ASIdOrRange_freefunc_type
    - OPENSSL_sk_pop_free
    - sk_ASIdOrRange_set
    - sk_X509_POLICY_NODE_new_null
    - OPENSSL_sk_find_ex
    - a2i_GENERAL_NAME
    - OPENSSL_sk_zero
    - sk_X509_POLICY_NODE_deep_copy
    - sk_X509_POLICY_NODE_pop
    - sk_X509_POLICY_NODE_free
    - sk_ASIdOrRange_is_sorted
    - OPENSSL_sk_push
    - OPENSSL_sk_free
    - sk_X509_POLICY_NODE_sort
    - sk_ASIdOrRange_new_reserve
    - DECLARE_ASN1_ITEM
    - DECLARE_ASN1_ALLOC_FUNCTIONS
    - OPENSSL_sk_delete
    - sk_X509_POLICY_NODE_find_ex
    - sk_ASIdOrRange_insert
    - sk_ASIdOrRange_free
    - sk_ASIdOrRange_dup
    - sk_ASIdOrRange_set_cmp_func
    - sk_X509_POLICY_NODE_delete
    - DIST_POINT_set_dpname
    - ossl_check_ASIdOrRange_type
    - OPENSSL_sk_new_reserve
    - sk_ASIdOrRange_push
    - sk_X509_POLICY_NODE_shift
    - sk_X509_POLICY_NODE_value
    - sk_X509_POLICY_NODE_is_sorted
    - ossl_check_X509_POLICY_NODE_compfunc_type
    - sk_ASIdOrRange_num
    - sk_ASIdOrRange_delete
    - sk_ASIdOrRange_pop_free
    - sk_X509_POLICY_NODE_unshift
    - OPENSSL_sk_find
    - OPENSSL_sk_find_all
    - OPENSSL_sk_set
    - OPENSSL_sk_sort
    - sk_ASIdOrRange_zero
    - sk_ASIdOrRange_unshift
    - OPENSSL_sk_is_sorted
    - sk_ASIdOrRange_pop
    - OPENSSL_sk_insert
    - OPENSSL_sk_num
    - sk_ASIdOrRange_deep_copy
    - sk_X509_POLICY_NODE_zero
    - ossl_check_const_ASIdOrRange_sk_type
    - ossl_check_const_X509_POLICY_NODE_sk_type
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OTHERNAME)
    signature: "DECLARE_ASN1_FUNCTIONS(OTHERNAME) DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME)
      int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); void GENERAL_NAME_set0_value(GENERAL_NAME
      *a, int type, void *value); void *GENERAL_NAME_get0_value(const GENERAL_NAME
      *a, int *ptype); int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,\r ASN1_OBJECT
      *oid, ASN1_TYPE *value); int GENERAL_NAME_get0_otherName(const GENERAL_NAME
      *gen,\r ASN1_OBJECT **poid, ASN1_TYPE **pvalue); char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD
      *method,\r const ASN1_OCTET_STRING *ia5); ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD
      *method,\r X509V3_CTX *ctx, const char *str); DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)\rint
      i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a); DECLARE_ASN1_ALLOC_FUNCTIONS(TLS_FEATURE)\r\rDECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES)\rDECLARE_ASN1_FUNCTIONS(POLICYINFO)\rDECLARE_ASN1_FUNCTIONS(POLICYQUALINFO)\rDECLARE_ASN1_FUNCTIONS(USERNOTICE)\rDECLARE_ASN1_FUNCTIONS(NOTICEREF)\r\rDECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS)\rDECLARE_ASN1_FUNCTIONS(DIST_POINT)\rDECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME)\rDECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT)\r\rint
      DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, const X509_NAME *iname);\r\rint
      NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); int NAME_CONSTRAINTS_check_CN(X509
      *x, NAME_CONSTRAINTS *nc); DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION)\rDECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS)\r\rDECLARE_ASN1_ITEM(POLICY_MAPPING)\rDECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING)\rDECLARE_ASN1_ITEM(POLICY_MAPPINGS)\r\rDECLARE_ASN1_ITEM(GENERAL_SUBTREE)\rDECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE)\r\rDECLARE_ASN1_ITEM(NAME_CONSTRAINTS)\rDECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS)\r\rDECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)\rDECLARE_ASN1_ITEM(POLICY_CONSTRAINTS)\r\rGENERAL_NAME
      *a2i_GENERAL_NAME(GENERAL_NAME *out,\r const X509V3_EXT_METHOD *method,\r X509V3_CTX
      *ctx, int gen_type,\r const char *value, int is_nc);\r\r# ifdef OPENSSL_CONF_H\rGENERAL_NAME
      *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method,\r X509V3_CTX *ctx, CONF_VALUE
      *cnf); GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out,\r const X509V3_EXT_METHOD
      *method,\r X509V3_CTX *ctx, CONF_VALUE *cnf,\r int is_nc); void X509V3_conf_free(CONF_VALUE
      *val); X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int
      ext_nid,\r const char *value); X509_EXTENSION *X509V3_EXT_nconf(CONF *conf,
      X509V3_CTX *ctx, const char *name,\r const char *value); int X509V3_EXT_add_nconf_sk(CONF
      *conf, X509V3_CTX *ctx, const char *section,\r STACK_OF(X509_EXTENSION) **sk);
      int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,\r
      X509 *cert); int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const
      char *section,\r X509_REQ *req); int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX
      *ctx, const char *section,\r X509_CRL *crl); X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE)
      *conf,\r X509V3_CTX *ctx, int ext_nid,\r const char *value); X509_EXTENSION
      *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,\r const char *name,
      const char *value); int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX
      *ctx,\r const char *section, X509 *cert); int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE)
      *conf, X509V3_CTX *ctx,\r const char *section, X509_REQ *req); int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE)
      *conf, X509V3_CTX *ctx,\r const char *section, X509_CRL *crl); int X509V3_add_value_bool_nf(const
      char *name, int asn1_bool,\r STACK_OF(CONF_VALUE) **extlist); int X509V3_get_value_bool(const
      CONF_VALUE *value, int *asn1_bool); int X509V3_get_value_int(const CONF_VALUE
      *value, ASN1_INTEGER **aint); void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf);
      void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); #
      endif char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char
      *section); STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, const char
      *section); void X509V3_string_free(X509V3_CTX *ctx, char *str); void X509V3_section_free(X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *section); void X509V3_set_ctx(X509V3_CTX *ctx, X509
      *issuer, X509 *subject,\r X509_REQ *req, X509_CRL *crl, int flags); /* For API
      backward compatibility, this is separate from X509V3_set_ctx(): */ int X509V3_set_issuer_pkey(X509V3_CTX
      *ctx, EVP_PKEY *pkey); int X509V3_add_value(const char *name, const char *value,\r
      STACK_OF(CONF_VALUE) **extlist); int X509V3_add_value_uchar(const char *name,
      const unsigned char *value,\r STACK_OF(CONF_VALUE) **extlist); int X509V3_add_value_bool(const
      char *name, int asn1_bool,\r STACK_OF(CONF_VALUE) **extlist); int X509V3_add_value_int(const
      char *name, const ASN1_INTEGER *aint,\r STACK_OF(CONF_VALUE) **extlist); char
      *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const ASN1_INTEGER *aint); ASN1_INTEGER
      *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const char *value); char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD
      *meth, const ASN1_ENUMERATED *aint); char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD
      *meth,\r const ASN1_ENUMERATED *aint); int X509V3_EXT_add(X509V3_EXT_METHOD
      *ext); int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); int X509V3_EXT_add_alias(int
      nid_to, int nid_from); void X509V3_EXT_cleanup(void); const X509V3_EXT_METHOD
      *X509V3_EXT_get(X509_EXTENSION *ext); const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int
      nid); int X509V3_add_standard_extensions(void); STACK_OF(CONF_VALUE) *X509V3_parse_list(const
      char *line); void *X509V3_EXT_d2i(X509_EXTENSION *ext); void *X509V3_get_d2i(const
      STACK_OF(X509_EXTENSION) *x, int nid, int *crit,\r int *idx); X509_EXTENSION
      *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); int X509V3_add1_i2d(STACK_OF(X509_EXTENSION)
      **x, int nid, void *value,\r int crit, unsigned long flags); #ifndef OPENSSL_NO_DEPRECATED_1_1_0\r/*
      The new declarations are in crypto.h, but the old ones were here. */\r# define
      hex_to_string OPENSSL_buf2hexstr\r# define string_to_hex OPENSSL_hexstr2buf\r#endif
      void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent,\r int
      ml); int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag,\r
      int indent); #ifndef OPENSSL_NO_STDIO\rint X509V3_EXT_print_fp(FILE *out, X509_EXTENSION
      *ext, int flag, int indent); #endif int X509V3_extensions_print(BIO *out, const
      char *title,\r const STACK_OF(X509_EXTENSION) *exts,\r unsigned long flag, int
      indent); int X509_check_ca(X509 *x); int X509_check_purpose(X509 *x, int id,
      int ca); int X509_supported_extension(X509_EXTENSION *ex); int X509_PURPOSE_set(int
      *p, int purpose); int X509_check_issued(X509 *issuer, X509 *subject); int X509_check_akid(const
      X509 *issuer, const AUTHORITY_KEYID *akid); void X509_set_proxy_flag(X509 *x);
      void X509_set_proxy_pathlen(X509 *x, long l); long X509_get_proxy_pathlen(X509
      *x); uint32_t X509_get_extension_flags(X509 *x); uint32_t X509_get_key_usage(X509
      *x); uint32_t X509_get_extended_key_usage(X509 *x); const ASN1_OCTET_STRING
      *X509_get0_subject_key_id(X509 *x); const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509
      *x); const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x); const ASN1_INTEGER
      *X509_get0_authority_serial(X509 *x); int X509_PURPOSE_get_count(void); X509_PURPOSE
      *X509_PURPOSE_get0(int idx); int X509_PURPOSE_get_by_sname(const char *sname);
      int X509_PURPOSE_get_by_id(int id); int X509_PURPOSE_add(int id, int trust,
      int flags,\r int (*ck) (const X509_PURPOSE *, const X509 *, int),\r const char
      *name, const char *sname, void *arg); char *X509_PURPOSE_get0_name(const X509_PURPOSE
      *xp); char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp); int X509_PURPOSE_get_trust(const
      X509_PURPOSE *xp); void X509_PURPOSE_cleanup(void); int X509_PURPOSE_get_id(const
      X509_PURPOSE *); STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x); STACK_OF(OPENSSL_STRING)
      *X509_REQ_get1_email(X509_REQ *x); void X509_email_free(STACK_OF(OPENSSL_STRING)
      *sk); STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); /* Flags for X509_check_*
      functions */ /*\r * Always check subject name for host match even if subject
      alt names present\r */ # define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1\r/*
      Disable wildcard matching for dnsName fields and common name. */\r# define X509_CHECK_FLAG_NO_WILDCARDS
      0x2\r/* Wildcards must not match a partial label. */\r# define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS
      0x4\r/* Allow (non-partial) wildcards to match multiple labels. */\r# define
      X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8\r/* Constraint verifier subdomain
      patterns to match a single labels. */\r# define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS
      0x10\r/* Never check the subject CN */\r# define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT
      0x20\r/*\r * Match reference identifiers starting with \".\" to any sub-domain.\r
      * This is a non-public flag, turned on implicitly when the subject\r * reference
      identity is a DNS name.\r */\r# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000\r\rint
      X509_check_host(X509 *x, const char *chk, size_t chklen,\r unsigned int flags,
      char **peername); int X509_check_email(X509 *x, const char *chk, size_t chklen,\r
      unsigned int flags); int X509_check_ip(X509 *x, const unsigned char *chk, size_t
      chklen,\r unsigned int flags); int X509_check_ip_asc(X509 *x, const char *ipasc,
      unsigned int flags); ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); ASN1_OCTET_STRING
      *a2i_IPADDRESS_NC(const char *ipasc); int X509V3_NAME_from_section(X509_NAME
      *nm, STACK_OF(CONF_VALUE) *dn_sk,\r unsigned long chtype); void X509_POLICY_NODE_print(BIO
      *out, X509_POLICY_NODE *node, int indent); SKM_DEFINE_STACK_OF_INTERNAL(X509_POLICY_NODE,
      X509_POLICY_NODE, X509_POLICY_NODE)\r#define sk_X509_POLICY_NODE_num(sk) OPENSSL_sk_num(ossl_check_const_X509_POLICY_NODE_sk_type(sk))\r#define
      sk_X509_POLICY_NODE_value(sk, idx) ((X509_POLICY_NODE *)OPENSSL_sk_value(ossl_check_const_X509_POLICY_NODE_sk_type(sk),
      (idx)))\r#define sk_X509_POLICY_NODE_new(cmp) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new(ossl_check_X509_POLICY_NODE_compfunc_type(cmp)))\r#define
      sk_X509_POLICY_NODE_new_null() ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new_null())\r#define
      sk_X509_POLICY_NODE_new_reserve(cmp, n) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new_reserve(ossl_check_X509_POLICY_NODE_compfunc_type(cmp),
      (n)))\r#define sk_X509_POLICY_NODE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_POLICY_NODE_sk_type(sk),
      (n))\r#define sk_X509_POLICY_NODE_free(sk) OPENSSL_sk_free(ossl_check_X509_POLICY_NODE_sk_type(sk))\r#define
      sk_X509_POLICY_NODE_zero(sk) OPENSSL_sk_zero(ossl_check_X509_POLICY_NODE_sk_type(sk))\r#define
      sk_X509_POLICY_NODE_delete(sk, i) ((X509_POLICY_NODE *)OPENSSL_sk_delete(ossl_check_X509_POLICY_NODE_sk_type(sk),
      (i)))\r#define sk_X509_POLICY_NODE_delete_ptr(sk, ptr) ((X509_POLICY_NODE *)OPENSSL_sk_delete_ptr(ossl_check_X509_POLICY_NODE_sk_type(sk),
      ossl_check_X509_POLICY_NODE_type(ptr)))\r#define sk_X509_POLICY_NODE_push(sk,
      ptr) OPENSSL_sk_push(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr))\r#define
      sk_X509_POLICY_NODE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_POLICY_NODE_sk_type(sk),
      ossl_check_X509_POLICY_NODE_type(ptr))\r#define sk_X509_POLICY_NODE_pop(sk)
      ((X509_POLICY_NODE *)OPENSSL_sk_pop(ossl_check_X509_POLICY_NODE_sk_type(sk)))\r#define
      sk_X509_POLICY_NODE_shift(sk) ((X509_POLICY_NODE *)OPENSSL_sk_shift(ossl_check_X509_POLICY_NODE_sk_type(sk)))\r#define
      sk_X509_POLICY_NODE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_POLICY_NODE_sk_type(sk),ossl_check_X509_POLICY_NODE_freefunc_type(freefunc))\r#define
      sk_X509_POLICY_NODE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_POLICY_NODE_sk_type(sk),
      ossl_check_X509_POLICY_NODE_type(ptr), (idx))\r#define sk_X509_POLICY_NODE_set(sk,
      idx, ptr) ((X509_POLICY_NODE *)OPENSSL_sk_set(ossl_check_X509_POLICY_NODE_sk_type(sk),
      (idx), ossl_check_X509_POLICY_NODE_type(ptr)))\r#define sk_X509_POLICY_NODE_find(sk,
      ptr) OPENSSL_sk_find(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr))\r#define
      sk_X509_POLICY_NODE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_POLICY_NODE_sk_type(sk),
      ossl_check_X509_POLICY_NODE_type(ptr))\r#define sk_X509_POLICY_NODE_find_all(sk,
      ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr),
      pnum)\r#define sk_X509_POLICY_NODE_sort(sk) OPENSSL_sk_sort(ossl_check_X509_POLICY_NODE_sk_type(sk))\r#define
      sk_X509_POLICY_NODE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_POLICY_NODE_sk_type(sk))\r#define
      sk_X509_POLICY_NODE_dup(sk) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_dup(ossl_check_const_X509_POLICY_NODE_sk_type(sk)))\r#define
      sk_X509_POLICY_NODE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_POLICY_NODE)
      *)OPENSSL_sk_deep_copy(ossl_check_const_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_copyfunc_type(copyfunc),
      ossl_check_X509_POLICY_NODE_freefunc_type(freefunc)))\r#define sk_X509_POLICY_NODE_set_cmp_func(sk,
      cmp) ((sk_X509_POLICY_NODE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_POLICY_NODE_sk_type(sk),
      ossl_check_X509_POLICY_NODE_compfunc_type(cmp)))\r\r\r\r#ifndef OPENSSL_NO_RFC3779\rtypedef
      struct ASRange_st {\r ASN1_INTEGER *min, *max;\r} ASRange;\r\r# define ASIdOrRange_id
      0\r# define ASIdOrRange_range 1\r\rtypedef struct ASIdOrRange_st {\r int type;
      union {\r ASN1_INTEGER *id;\r ASRange *range;\r } u; } ASIdOrRange;\r\rSKM_DEFINE_STACK_OF_INTERNAL(ASIdOrRange,
      ASIdOrRange, ASIdOrRange)\r#define sk_ASIdOrRange_num(sk) OPENSSL_sk_num(ossl_check_const_ASIdOrRange_sk_type(sk))\r#define
      sk_ASIdOrRange_value(sk, idx) ((ASIdOrRange *)OPENSSL_sk_value(ossl_check_const_ASIdOrRange_sk_type(sk),
      (idx)))\r#define sk_ASIdOrRange_new(cmp) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new(ossl_check_ASIdOrRange_compfunc_type(cmp)))\r#define
      sk_ASIdOrRange_new_null() ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new_null())\r#define
      sk_ASIdOrRange_new_reserve(cmp, n) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new_reserve(ossl_check_ASIdOrRange_compfunc_type(cmp),
      (n)))\r#define sk_ASIdOrRange_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASIdOrRange_sk_type(sk),
      (n))\r#define sk_ASIdOrRange_free(sk) OPENSSL_sk_free(ossl_check_ASIdOrRange_sk_type(sk))\r#define
      sk_ASIdOrRange_zero(sk) OPENSSL_sk_zero(ossl_check_ASIdOrRange_sk_type(sk))\r#define
      sk_ASIdOrRange_delete(sk, i) ((ASIdOrRange *)OPENSSL_sk_delete(ossl_check_ASIdOrRange_sk_type(sk),
      (i)))\r#define sk_ASIdOrRange_delete_ptr(sk, ptr) ((ASIdOrRange *)OPENSSL_sk_delete_ptr(ossl_check_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_type(ptr)))\r#define sk_ASIdOrRange_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_type(ptr))\r#define sk_ASIdOrRange_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_type(ptr))\r#define sk_ASIdOrRange_pop(sk) ((ASIdOrRange
      *)OPENSSL_sk_pop(ossl_check_ASIdOrRange_sk_type(sk)))\r#define sk_ASIdOrRange_shift(sk)
      ((ASIdOrRange *)OPENSSL_sk_shift(ossl_check_ASIdOrRange_sk_type(sk)))\r#define
      sk_ASIdOrRange_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASIdOrRange_sk_type(sk),ossl_check_ASIdOrRange_freefunc_type(freefunc))\r#define
      sk_ASIdOrRange_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_type(ptr), (idx))\r#define sk_ASIdOrRange_set(sk, idx,
      ptr) ((ASIdOrRange *)OPENSSL_sk_set(ossl_check_ASIdOrRange_sk_type(sk), (idx),
      ossl_check_ASIdOrRange_type(ptr)))\r#define sk_ASIdOrRange_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_type(ptr))\r#define sk_ASIdOrRange_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_type(ptr))\r#define sk_ASIdOrRange_find_all(sk, ptr,
      pnum) OPENSSL_sk_find_all(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr),
      pnum)\r#define sk_ASIdOrRange_sort(sk) OPENSSL_sk_sort(ossl_check_ASIdOrRange_sk_type(sk))\r#define
      sk_ASIdOrRange_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASIdOrRange_sk_type(sk))\r#define
      sk_ASIdOrRange_dup(sk) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_dup(ossl_check_const_ASIdOrRange_sk_type(sk)))\r#define
      sk_ASIdOrRange_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_deep_copy(ossl_check_const_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_copyfunc_type(copyfunc), ossl_check_ASIdOrRange_freefunc_type(freefunc)))\r#define
      sk_ASIdOrRange_set_cmp_func(sk, cmp) ((sk_ASIdOrRange_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASIdOrRange_sk_type(sk),
      ossl_check_ASIdOrRange_compfunc_type(cmp)))\r\r\rtypedef STACK_OF(ASIdOrRange)
      ASIdOrRanges;\r\r# define ASIdentifierChoice_inherit 0\r# define ASIdentifierChoice_asIdsOrRanges
      1\r\rtypedef struct ASIdentifierChoice_st {\r int type; union {\r ASN1_NULL
      *inherit;\r ASIdOrRanges *asIdsOrRanges;\r } u; } ASIdentifierChoice; typedef
      struct ASIdentifiers_st "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1139,1
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ASIdOrRange
    argTypes:
    - ASIdOrRange
    constantsTouched: []
    func_position:
      end: 1144
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1144
    functionName: DECLARE_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/x509v3.h
    functionUses: []
    functionsReached:
    - DECLARE_ASN1_FUNCTIONS
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(ASRange)
    signature: "DECLARE_ASN1_FUNCTIONS(ASRange) DECLARE_ASN1_FUNCTIONS(ASIdOrRange)\rDECLARE_ASN1_FUNCTIONS(ASIdentifierChoice)\rDECLARE_ASN1_FUNCTIONS(ASIdentifiers)\r\rtypedef
      struct IPAddressRange_st "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: ERR_GET_LIB
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h
    functionUses: []
    functionsReached:
    - ERR_SYSTEM_ERROR
    linkageType: ''
    returnType: int
    signature: 'int ERR_GET_LIB(unsigned long errcode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: ERR_GET_RFLAGS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h
    functionUses: []
    functionsReached:
    - ERR_SYSTEM_ERROR
    linkageType: ''
    returnType: int
    signature: 'int ERR_GET_RFLAGS(unsigned long errcode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: ERR_GET_REASON
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h
    functionUses: []
    functionsReached:
    - ERR_SYSTEM_ERROR
    linkageType: ''
    returnType: int
    signature: 'int ERR_GET_REASON(unsigned long errcode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_RFLAGS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: ERR_FATAL_ERROR
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h
    functionUses: []
    functionsReached:
    - ERR_GET_RFLAGS
    linkageType: ''
    returnType: int
    signature: 'int ERR_FATAL_ERROR(unsigned long errcode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_RFLAGS
      Src: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: ERR_COMMON_ERROR
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl_gen/openssl/err.h
    functionUses: []
    functionsReached:
    - ERR_GET_RFLAGS
    linkageType: ''
    returnType: int
    signature: 'int ERR_COMMON_ERROR(unsigned long errcode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: _strlen31
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/e_os.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static __inline unsigned int _strlen31(const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROCESSHANDLE_GETMINE_
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:358,1
    - Dst: PROCESSHANDLE_DECOMPOSE_
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: nssgetpid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/e_os.h
    functionUses: []
    functionsReached:
    - PROCESSHANDLE_DECOMPOSE_
    - PROCESSHANDLE_GETMINE_
    linkageType: ''
    returnType: int
    signature: 'inline int nssgetpid() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:297,1
    - Dst: PROCESS_DELAY_
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:302,1
    - Dst: sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:308,1
    - Dst: usleep
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - millis
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: ossl_sleep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/e_os.h
    functionUses: []
    functionsReached:
    - nanosleep
    - PROCESS_DELAY_
    - sleep
    - usleep
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void ossl_sleep(unsigned long millis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - millis
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: ossl_sleep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/e_os.h
    functionUses: []
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void ossl_sleep(unsigned long millis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:325,1
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/openssllib/openssl/e_os.h:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - millis
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: ossl_sleep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/e_os.h
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void ossl_sleep(unsigned long millis) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:339,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:348,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:343,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:342,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:346,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:350,1
    - Dst: EVP_CIPHER_meth_set_set_asn1_params
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:352,1
    - Dst: EVP_CIPHER_meth_set_get_asn1_params
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:354,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:356,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:358,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 362
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 362
    functionName: ossltest_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_set_set_asn1_params
    - EVP_CIPHER_meth_set_get_asn1_params
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_set_ctrl
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *ossltest_aes_128_cbc_hmac_sha1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - ui_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: ossltest_load_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - load_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *ossltest_load_pubkey(ENGINE *eng, const char *key_id,
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:436,1
    - Dst: bind_ossltest
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - strcmp
    - bind_ossltest
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e, const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: ossltest_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_finish(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:570,1
    - Dst: EVP_MD_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: digest_md5_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_init
    - EVP_md5
    linkageType: ''
    returnType: int
    signature: 'static int digest_md5_init(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:624,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: digest_sha256_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - EVP_MD_meth_get_update
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha256_update(EVP_MD_CTX *ctx, const void *data,
      size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:666,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: digest_sha512_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_init
    - EVP_sha512
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha512_init(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:672,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: digest_sha512_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_update
    - EVP_sha512
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha512_update(EVP_MD_CTX *ctx, const void *data,
      size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:366,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:367,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: destroy_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void destroy_ciphers(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_load_OSSLTEST_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:414,1
    - Dst: ENGINE_set_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:418,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:417,1
    - Dst: ENGINE_set_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:419,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:416,1
    - Dst: ENGINE_set_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:420,1
    - Dst: ossltest_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:420,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:421,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:422,1
    - Dst: ENGINE_set_load_pubkey_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:423,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:424,1
    - Dst: ENGINE_set_finish_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:425,1
    - Dst: OSSLTESTerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:426,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 431
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 431
    functionName: bind_ossltest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_name
    - ossltest_rand_method
    - ENGINE_set_digests
    - ENGINE_set_finish_function
    - OSSLTESTerr
    - ENGINE_set_load_privkey_function
    - ENGINE_set_destroy_function
    - ENGINE_set_load_pubkey_function
    - ERR_load_OSSLTEST_strings
    - ENGINE_set_ciphers
    - ENGINE_set_id
    - ENGINE_set_RAND
    linkageType: ''
    returnType: int
    signature: 'static int bind_ossltest(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:485,1
    - Dst: ERR_unload_OSSLTEST_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:487,1
    - Dst: destroy_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: ossltest_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - destroy_ciphers
    - ERR_unload_OSSLTEST_strings
    - destroy_digests
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_destroy(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:632,1
    - Dst: EVP_MD_meth_get_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:629,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: digest_sha256_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - EVP_MD_meth_get_final
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha256_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:677,1
    - Dst: fill_known_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:680,1
    - Dst: EVP_MD_meth_get_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: digest_sha512_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_final
    - fill_known_data
    - EVP_sha512
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha512_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 787
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 787
    functionName: ossltest_aes128_cbc_hmac_sha1_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - data
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx,
      const unsigned char *inkey, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: fill_known_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fill_known_data(unsigned char *md, unsigned int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:653,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:653,1
    - Dst: fill_known_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: digest_sha384_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_sha384
    - EVP_MD_meth_get_final
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha384_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:187,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:190,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:189,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:188,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:192,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:193,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:194,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:195,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: digest_sha512
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_new
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_input_blocksize
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_update
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *digest_sha512(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: digest_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:224,1
    - Dst: digest_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:226,1
    - Dst: digest_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:228,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:225,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:227,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:229,1
    - Dst: digest_sha384
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:230,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:231,1
    - Dst: digest_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:232,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: ossltest_digest_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - digest_sha1
    - digest_sha384
    - EVP_MD_get_type
    - digest_md5
    - digest_sha256
    - digest_sha512
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_digest_nids(const int **nids) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:381,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:393,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:387,1
    - Dst: PEM_read_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:391,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:385,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - eng
    - key_id
    - pub
    - ui_method
    - ui_data
    argTypes:
    - ENGINE*
    - char*
    - int
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 396
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 396
    functionName: load_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - BIO_new_file
    - PEM_read_bio_PUBKEY
    - BIO_free
    - PEM_read_bio_PrivateKey
    - fprintf
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_key(ENGINE *eng, const char *key_id, int pub,
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_ossltest
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:462,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:465,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:467,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: ENGINE_load_ossltest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - ENGINE_add
    - engine_ossltest
    - ENGINE_free
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_load_ossltest(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:205,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:213,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:211,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:209,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: destroy_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void destroy_digests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:284,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:293,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:287,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:288,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:291,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:295,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:296,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:296,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: ossltest_aes_128_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - EVP_CIPHER_impl_ctx_size
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_do_cipher
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *ossltest_aes_128_cbc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - ui_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: ossltest_load_privkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - load_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *ossltest_load_privkey(ENGINE *eng, const char *key_id,
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:449,1
    - Dst: bind_ossltest
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:452,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 457
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 457
    functionName: engine_ossltest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - ENGINE_new
    - ENGINE_free
    - bind_ossltest
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *engine_ossltest(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: ossltest_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_init(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:576,1
    - Dst: EVP_MD_meth_get_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: digest_md5_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_update
    - EVP_md5
    linkageType: ''
    returnType: int
    signature: 'static int digest_md5_update(EVP_MD_CTX *ctx, const void *data, size_t
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:594,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: digest_sha1_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_init
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha1_init(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:618,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: digest_sha256_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    - EVP_MD_meth_get_init
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha256_init(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:642,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: digest_sha384_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_init
    - EVP_sha384
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha384_init(EVP_MD_CTX *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:794,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:824,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:811,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:803,1
    - Dst: fill_known_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:815,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 852
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 852
    functionName: ossltest_aes128_cbc_hmac_sha1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - fill_known_data
    - data
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx,
      unsigned char *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:102,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:105,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:104,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:107,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:103,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:108,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:109,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:110,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: digest_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_new
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_input_blocksize
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_update
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *digest_sha1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:584,1
    - Dst: EVP_MD_meth_get_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:581,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: digest_md5_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_final
    - EVP_md5
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: 'static int digest_md5_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:600,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: digest_sha1_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_update
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha1_update(EVP_MD_CTX *ctx, const void *data, size_t
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:648,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: digest_sha384_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_update
    - EVP_sha384
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha384_update(EVP_MD_CTX *ctx, const void *data,
      size_t count) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:857,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:874,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 896
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 896
    functionName: ossltest_aes128_cbc_hmac_sha1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - data
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx,
      int type, int arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 925
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 925
    functionName: ossltest_rand_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD*
    signature: 'static const RAND_METHOD *ossltest_rand_method(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:131,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:132,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:134,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:133,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:136,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:137,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:138,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:139,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: digest_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_new
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_input_blocksize
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_update
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *digest_sha256(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:608,1
    - Dst: EVP_MD_meth_get_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:605,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: digest_sha1_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_final
    - fill_known_data
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: 'static int digest_sha1_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:165,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:170,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:166,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:168,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:167,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:171,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:172,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:173,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: digest_sha384
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_new
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_input_blocksize
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_update
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *digest_sha384(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:314,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:318,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:321,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:319,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:317,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:323,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:325,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:326,1
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:326,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 331
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 331
    functionName: ossltest_aes_128_gcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_new
    - EVP_aes_128_gcm
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - EVP_CIPHER_impl_ctx_size
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_set_ctrl
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *ossltest_aes_128_gcm(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossltest_digest_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:497,1
    - Dst: digest_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:502,1
    - Dst: digest_sha384
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:511,1
    - Dst: digest_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:508,1
    - Dst: digest_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:505,1
    - Dst: digest_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:514,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 522
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 522
    functionName: ossltest_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - digest_sha1
    - digest_sha384
    - digest_sha256
    - digest_md5
    - ossltest_digest_nids
    - digest_sha512
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_digests(ENGINE *e, const EVP_MD **digest, const
      int **nids, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:693,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: ossltest_aes128_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - EVP_CIPHER_meth_get_init
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:727,1
    - Dst: EVP_CIPHER_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 728
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 728
    functionName: ossltest_aes128_gcm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_get_init
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_gcm_init_key(EVP_CIPHER_CTX *ctx, const
      unsigned char *key, const unsigned char *iv, int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:766,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:758,1
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:758,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 774
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 774
    functionName: ossltest_aes128_gcm_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - memset
    - EVP_CIPHER_meth_get_ctrl
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_gcm_ctrl(EVP_CIPHER_CTX *ctx, int type,
      int arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 905
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 905
    functionName: ossltest_rand_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_rand_bytes(unsigned char *buf, int num) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossltest_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:537,1
    - Dst: ossltest_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:543,1
    - Dst: ossltest_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:540,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 551
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 551
    functionName: ossltest_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - ossltest_aes_128_cbc
    - ossltest_aes_128_gcm
    - ossltest_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
      const int **nids, int nid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:702,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:710,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:713,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:713,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:717,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 721
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 721
    functionName: ossltest_aes128_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_get_do_cipher
    - OPENSSL_free
    - memcpy
    - EVP_aes_128_cbc
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:733,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:741,1
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:744,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:744,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:748,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:749,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 752
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 752
    functionName: ossltest_aes128_gcm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_get_do_cipher
    - EVP_aes_128_gcm
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_aes128_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: ossltest_rand_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossltest_rand_status(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:73,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:74,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:76,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:75,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:78,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:79,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:80,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:81,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c:82,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: digest_md5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_new
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_input_blocksize
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_update
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *digest_md5(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:336,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:336,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:337,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:353,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:359,1
    - Dst: sk_OSSL_STORE_INFO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:348,1
    - Dst: PKCS12_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:342,1
    - Dst: sk_X509_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:371,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:382,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:326,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:321,1
    - Dst: file_get_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:330,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:362,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:370,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:383,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:306,1
    - Dst: PKCS12_mac_present
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:325,1
    - Dst: d2i_PKCS12
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:316,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:327,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:333,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:368,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:372,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:378,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:380,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:385,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:392,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:350,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:367,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:379,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:381,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:398,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 99
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 400
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 400
    functionName: try_decode_PKCS12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - sk_X509_shift
    - OSSL_STORE_INFO_new_PKEY
    - PKCS12_verify_mac
    - EVP_PKEY_free
    - file_get_pass
    - sk_OSSL_STORE_INFO_new_null
    - sk_X509_value
    - STACK_OF
    - X509_free
    - sk_OSSL_STORE_INFO_pop_free
    - sk_X509_pop_free
    - sk_X509_num
    - OSSL_STORE_INFO_new_CERT
    - ATTICerr
    - strlen
    - d2i_PKCS12
    - PKCS12_free
    - store_info_free
    - sk_OSSL_STORE_INFO_push
    - PKCS12_parse
    - sk_OSSL_STORE_INFO_shift
    - PKCS12_mac_present
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *try_decode_PKCS12(const char *pem_name, const
      char *pem_header, const unsigned char *blob, size_t len, void **pctx, int *matchcount,
      const UI_METHOD *ui_method, void *ui_data, const char *uri, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:690,1
    - Dst: d2i_KeyParams
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:695,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:691,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:692,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:700,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:705,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:706,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:711,1
    - Dst: d2i_KeyParams
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:713,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:717,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:722,1
    - Dst: OSSL_STORE_INFO_new_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:734,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:726,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:736,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 46
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 739
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 739
    functionName: try_decode_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - ERR_pop_to_mark
    - EVP_PKEY_asn1_get_count
    - d2i_KeyParams
    - OSSL_STORE_INFO_new_PARAMS
    - EVP_PKEY_free
    - EVP_PKEY_asn1_get0
    - ERR_set_mark
    - EVP_PKEY_asn1_get0_info
    - check_suffix
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *try_decode_params(const char *pem_name, const
      char *pem_header, const unsigned char *blob, size_t len, void **pctx, int *matchcount,
      const UI_METHOD *ui_method, void *ui_data, const char *uri, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:933,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:939,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:933,1
    - Dst: BIO_buffer_peek
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:937,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 943
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 943
    functionName: file_find_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - BIO_f_buffer
    - BIO_push
    - BIO_buffer_peek
    - BIO_new
    - strstr
    linkageType: ''
    returnType: int
    signature: 'static int file_find_type(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1428,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1432,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1429,1
    - Dst: ossl_ends_with_dirsep
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1431,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1432,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1433,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1435,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1437,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1441,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1442,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - name
    - data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: file_name_to_uri
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - assert
    - ATTICerr
    - OPENSSL_strlcat
    - OPENSSL_zalloc
    - ossl_ends_with_dirsep
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int file_name_to_uri(OSSL_STORE_LOADER_CTX *ctx, const char
      *name, char **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1708
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1708
    functionName: loader_attic_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int loader_attic_finish(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_set_attach
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1733,1
    - Dst: OSSL_STORE_LOADER_set_load
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1737,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1744,1
    - Dst: OSSL_STORE_LOADER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1730,1
    - Dst: OSSL_STORE_LOADER_set_open
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1732,1
    - Dst: OSSL_STORE_LOADER_set_find
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1736,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1749,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1743,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1751,1
    - Dst: ERR_load_ATTIC_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1727,1
    - Dst: OSSL_STORE_LOADER_set_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1731,1
    - Dst: OSSL_STORE_LOADER_set_expect
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1735,1
    - Dst: OSSL_STORE_LOADER_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1739,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1742,1
    - Dst: ENGINE_set_finish_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1746,1
    - Dst: OSSL_STORE_LOADER_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1734,1
    - Dst: OSSL_STORE_LOADER_set_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1738,1
    - Dst: OSSL_STORE_LOADER_set_close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1740,1
    - Dst: OSSL_STORE_register_loader
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1748,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1745,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1756
    functionName: bind_loader_attic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_LOADER_new
    - OSSL_STORE_LOADER_set_find
    - ENGINE_set_finish_function
    - OSSL_STORE_LOADER_set_open_ex
    - OSSL_STORE_LOADER_set_ctrl
    - OSSL_STORE_LOADER_set_expect
    - ENGINE_set_name
    - ERR_load_ATTIC_strings
    - OSSL_STORE_LOADER_free
    - ENGINE_set_destroy_function
    - OSSL_STORE_LOADER_set_open
    - OSSL_STORE_LOADER_set_load
    - ATTICerr
    - OSSL_STORE_register_loader
    - OSSL_STORE_LOADER_set_eof
    - ENGINE_set_init_function
    - OSSL_STORE_LOADER_set_close
    - OSSL_STORE_LOADER_set_error
    - OSSL_STORE_LOADER_set_attach
    - ENGINE_set_id
    linkageType: ''
    returnType: int
    signature: 'static int bind_loader_attic(ENGINE *e) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:971,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1015,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1028,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1052,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1058,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1009,1
    - Dst: OPENSSL_DIR_read
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1041,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1033,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1066,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:976,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1010,1
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1014,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1035,1
    - Dst: S_ISDIR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1039,1
    - Dst: file_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1051,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1056,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:981,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:974,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:990,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1045,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1050,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1030,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 90
    argCount: 6
    argNames:
    - loader
    - uri
    - libctx
    - propq
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    - OSSL_LIB_CTX*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 1068
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 1068
    functionName: file_open_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - OPENSSL_strdup
    - BIO_new_file
    - ERR_raise
    - BIO_free_all
    - tolower
    - ATTICerr
    - OPENSSL_zalloc
    - OSSL_STORE_LOADER_CTX_free
    - stat
    - strncmp
    - ERR_raise_data
    - OPENSSL_DIR_read
    - S_ISDIR
    - ERR_add_error_data
    - file_find_type
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX*
    signature: 'static OSSL_STORE_LOADER_CTX *file_open_ex (const OSSL_STORE_LOADER
      *loader, const char *uri, OSSL_LIB_CTX *libctx, const char *propq, const UI_METHOD
      *ui_method, void *ui_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1451,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1490,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1488,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1466,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1508
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1508
    functionName: file_name_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - ossl_isdigit
    - isdigit
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int file_name_check(OSSL_STORE_LOADER_CTX *ctx, const char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_unregister_loader
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1713,1
    - Dst: ERR_unload_ATTIC_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1718,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1721
    functionName: loader_attic_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - ERR_unload_ATTIC_strings
    - OSSL_STORE_unregister_loader
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: int
    signature: 'static int loader_attic_destroy(ENGINE *e) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:529,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:528,1
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:547,1
    - Dst: ENGINE_get_pkey_asn1_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:551,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:588,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:576,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:581,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:604,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:609,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:524,1
    - Dst: check_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:534,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:537,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:540,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:570,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:599,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:621,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:623,1
    - Dst: asn1meths
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:555,1
    - Dst: asn1meths
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:563,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:594,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:613,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:522,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:535,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:564,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:571,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:584,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:593,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:600,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 85
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 626
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 626
    functionName: try_decode_PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY_asn1_find_str
    - ERR_pop_to_mark
    - asn1meths
    - EVP_PKEY_asn1_get_count
    - OSSL_STORE_INFO_new_PKEY
    - strcmp
    - EVP_PKEY_free
    - EVP_PKEY_asn1_get0
    - ERR_set_mark
    - ENGINE_get_first
    - ENGINE_get_pkey_asn1_meths
    - EVP_PKEY_asn1_get0_info
    - check_suffix
    - d2i_PrivateKey_ex
    - ENGINE_get_next
    - d2i_PKCS8_PRIV_KEY_INFO
    - EVP_PKCS82PKEY_ex
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *try_decode_PrivateKey(const char *pem_name,
      const char *pem_header, const unsigned char *blob, size_t len, void **pctx,
      int *matchcount, const UI_METHOD *ui_method, void *ui_data, const char *uri,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:650,1
    - Dst: OSSL_STORE_INFO_new_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:658,1
    - Dst: d2i_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:656,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 13
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 662
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 662
    functionName: try_decode_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new_PUBKEY
    - strcmp
    - d2i_PUBKEY
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *try_decode_PUBKEY(const char *pem_name, const
      char *pem_header, const unsigned char *blob, size_t len, void **pctx, int *matchcount,
      const UI_METHOD *ui_method, void *ui_data, const char *uri, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:138,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:146,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: check_suffix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_suffix(const char *str, const char *suffix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_STORE_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx_
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: eof_PKCS12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - sk_OSSL_STORE_INFO_num
    linkageType: ''
    returnType: int
    signature: 'static int eof_PKCS12(void *ctx_) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - cmd
    - args
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - int
    - va_list
    constantsTouched: []
    func_position:
      end: 1132
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1132
    functionName: file_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - ATTICerr
    linkageType: ''
    returnType: int
    signature: 'static int file_ctrl(OSSL_STORE_LOADER_CTX *ctx, int cmd, va_list
      args) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_SEARCH_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1148,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1161,1
    - Dst: X509_NAME_hash_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1159,1
    - Dst: OSSL_STORE_SEARCH_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1159,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1155,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - search
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1169
    functionName: file_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_SEARCH_get_type
    - X509_NAME_hash_ex
    - OSSL_STORE_SEARCH_get0_name
    - ATTICerr
    - BIO_snprintf
    linkageType: ''
    returnType: int
    signature: 'static int file_find(OSSL_STORE_LOADER_CTX *ctx, const OSSL_STORE_SEARCH
      *search) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1298
    functionName: file_load_try_repeat
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *file_load_try_repeat(OSSL_STORE_LOADER_CTX
      *ctx, const UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1313,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1330,1
    - Dst: PEM_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1315,1
    - Dst: file_fill_pem_pass_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1331,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1326,1
    - Dst: PEM_do_header
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1333,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 9
    argNames:
    - bp
    - pem_name
    - pem_header
    - data
    - len
    - ui_method
    - ui_data
    - uri
    - secure
    argTypes:
    - BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    - UI_METHOD*
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1339
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1339
    functionName: file_read_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - PEM_get_EVP_CIPHER_INFO
    - PEM_read_bio_ex
    - file_fill_pem_pass_data
    - PEM_read_bio
    - PEM_do_header
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int file_read_pem(BIO *bp, char **pem_name, char **pem_header,
      unsigned char **data, long *len, const UI_METHOD *ui_method, void *ui_data,
      const char *uri, int secure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_buffer_peek
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1387,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1402,1
    - Dst: b2i_PVK_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1401,1
    - Dst: ossl_do_PVK_header
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1389,1
    - Dst: file_fill_pem_pass_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1399,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1403,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 5
    argNames:
    - bp
    - ui_method
    - ui_data
    - uri
    - matchcount
    argTypes:
    - BIO*
    - UI_METHOD*
    - void*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1409
    functionName: file_try_read_PVK
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new_PKEY
    - ossl_do_PVK_header
    - EVP_PKEY_free
    - file_fill_pem_pass_data
    - b2i_PVK_bio
    - BIO_buffer_peek
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *file_try_read_PVK(BIO *bp, const UI_METHOD
      *ui_method, void *ui_data, const char *uri, int *matchcount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: destroy_ctx_PKCS12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - sk_OSSL_STORE_INFO_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void destroy_ctx_PKCS12(void **pctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:916,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:925,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 926
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 926
    functionName: OSSL_STORE_LOADER_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void OSSL_STORE_LOADER_CTX_free(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - expected
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    functionName: file_expect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_expect(OSSL_STORE_LOADER_CTX *ctx, int expected) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1204,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1216,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1254,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1189,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1213,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1228,1
    - Dst: get0_EMBEDDED
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1258,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1188,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1197,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1211,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1214,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1249,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1268,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1192,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1212,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1253,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1257,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 69
    argCount: 8
    argNames:
    - ctx
    - pem_name
    - pem_header
    - data
    - len
    - ui_method
    - ui_data
    - matchcount
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - char*
    - char*
    - unsigned char*
    - size_t
    - UI_METHOD*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1274
    functionName: file_load_try_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_pop_to_mark
    - get0_EMBEDDED
    - OPENSSL_free
    - store_info_free
    - ERR_GET_LIB
    - ATTICerr
    - ERR_set_mark
    - OPENSSL_zalloc
    - BUF_MEM_free
    - OSSL_NELEM
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - OSSL_STORE_INFO_get_type
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *file_load_try_decode(OSSL_STORE_LOADER_CTX
      *ctx, const char *pem_name, const char *pem_header, unsigned char *data, size_t
      len, const UI_METHOD *ui_method, void *ui_data, int *matchcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1303,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pem_data
    - secure
    - num
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 1306
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1306
    functionName: pem_free_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void pem_free_flag(void *pem_data, int secure, size_t num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_buffer_peek
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1352,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1367,1
    - Dst: b2i_PublicKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1363,1
    - Dst: ossl_do_blob_header
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1354,1
    - Dst: b2i_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1364,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1368,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - bp
    - matchcount
    argTypes:
    - BIO*
    - int*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1374
    functionName: file_try_read_msblob
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - b2i_PrivateKey_bio
    - OSSL_STORE_INFO_new_PKEY
    - EVP_PKEY_free
    - b2i_PublicKey_bio
    - BIO_buffer_peek
    - ossl_do_blob_header
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *file_try_read_msblob(BIO *bp, int *matchcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1415,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - data
    - len
    argTypes:
    - BIO*
    - unsigned char**
    - long*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1423
    functionName: file_read_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: int
    signature: 'static int file_read_asn1(BIO *bp, unsigned char **data, long *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_get_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:123,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - num
    - w
    - data
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: file_get_pem_pass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - strlen
    - file_get_pass
    linkageType: ''
    returnType: int
    signature: 'static int file_get_pem_pass(char *buf, int num, int w, void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:820,1
    - Dst: d2i_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:826,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:832,1
    - Dst: OSSL_STORE_INFO_new_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:828,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 15
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 835
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 835
    functionName: try_decode_X509CRL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - strcmp
    - d2i_X509_CRL
    - X509_CRL_free
    - OSSL_STORE_INFO_new_CRL
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *try_decode_X509CRL(const char *pem_name, const
      char *pem_header, const unsigned char *blob, size_t len, void **pctx, int *matchcount,
      const UI_METHOD *ui_method, void *ui_data, const char *uri, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: get0_EMBEDDED
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_get0_data
    linkageType: ''
    returnType: struct embedded_st*
    signature: 'static struct embedded_st *get0_EMBEDDED(OSSL_STORE_INFO *info) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1551,1
    - Dst: file_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1555,1
    - Dst: file_load_try_repeat
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1560,1
    - Dst: file_try_read_PVK
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1584,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1611,1
    - Dst: pem_free_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1628,1
    - Dst: file_error
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1630,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1641,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1527,1
    - Dst: file_name_check
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1534,1
    - Dst: OSSL_STORE_INFO_new_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1550,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1605,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1634,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1640,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1526,1
    - Dst: file_name_to_uri
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1535,1
    - Dst: file_read_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1575,1
    - Dst: file_read_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1589,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1617,1
    - Dst: file_try_read_msblob
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1582,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1618,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1620,1
    - Dst: pem_free_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1629,1
    - Dst: OPENSSL_DIR_read
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1544,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1552,1
    - Dst: file_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1564,1
    - Dst: file_load_try_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1595,1
    - Dst: pem_free_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1627,1
    - Dst: file_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1630,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 110
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1647
    functionName: file_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - file_load_try_decode
    - OSSL_STORE_INFO_new_NAME
    - file_read_asn1
    - ERR_peek_error
    - file_name_check
    - OPENSSL_free
    - file_name_to_uri
    - file_try_read_PVK
    - file_eof
    - pem_free_flag
    - file_load_try_repeat
    - ATTICerr
    - file_try_read_msblob
    - file_error
    - ERR_add_error_data
    - OSSL_STORE_INFO_get_type
    - ERR_raise
    - ossl_assert
    - assert
    - store_info_free
    - OPENSSL_DIR_read
    - file_read_pem
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *file_load(OSSL_STORE_LOADER_CTX *ctx, const
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1663
    functionName: file_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: 'static int file_eof(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1764,1
    - Dst: bind_loader_attic
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1769
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - strcmp
    - bind_loader_attic
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e, const char *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get0_EMBEDDED
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:181,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:186,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:183,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:184,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: store_info_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    - OPENSSL_free
    - get0_EMBEDDED
    - OSSL_STORE_INFO_free
    linkageType: ''
    returnType: void
    signature: 'static void store_info_free(OSSL_STORE_INFO *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: file_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_error(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_DIR_end
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1669,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1686,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1680,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1684,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 1688
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1688
    functionName: file_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - OPENSSL_DIR_end
    - BIO_free
    - OSSL_STORE_LOADER_CTX_free
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: 'static int file_close(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:452,1
    - Dst: file_get_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:467,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:462,1
    - Dst: d2i_X509_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:457,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:463,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:470,1
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:474,1
    - Dst: PKCS12_pbe_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:475,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:475,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:481,1
    - Dst: new_EMBEDDED
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:484,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:486,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:492,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:493,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 36
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 495
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 495
    functionName: try_decode_PKCS8Encrypted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - PKCS12_pbe_crypt
    - strcmp
    - new_EMBEDDED
    - X509_SIG_free
    - ATTICerr
    - file_get_pass
    - d2i_X509_SIG
    - BUF_MEM_free
    - X509_SIG_get0
    - BUF_MEM_new
    - strlen
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *try_decode_PKCS8Encrypted(const char *pem_name,
      const char *pem_header, const unsigned char *blob, size_t len, void **pctx,
      int *matchcount, const UI_METHOD *ui_method, void *ui_data, const char *uri,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UI_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:60,1
    - Dst: UI_set_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:69,1
    - Dst: UI_add_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:70,1
    - Dst: UI_construct_prompt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:72,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:64,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:73,1
    - Dst: UI_add_input_string
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:75,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:77,1
    - Dst: UI_process
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:80,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:82,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:95,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:94,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:86,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 6
    argNames:
    - ui_method
    - pass
    - maxsize
    - desc
    - info
    - data
    argTypes:
    - UI_METHOD*
    - char*
    - size_t
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 97
    functionName: file_get_pass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - UI_free
    - OPENSSL_free
    - UI_construct_prompt
    - ATTICerr
    - UI_add_input_string
    - UI_process
    - UI_new
    - UI_add_user_data
    - UI_set_method
    linkageType: ''
    returnType: char*
    signature: 'static char *file_get_pass(const UI_METHOD *ui_method, char *pass,
      size_t maxsize, const char *desc, const char *info, void *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:773,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:782,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:776,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:775,1
    - Dst: d2i_X509_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:786,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:787,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:789,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:793,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 27
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 796
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 796
    functionName: try_decode_X509Certificate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new_CERT
    - X509_free
    - X509_new_ex
    - strcmp
    - d2i_X509_AUX
    - d2i_X509
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *try_decode_X509Certificate(const char *pem_name,
      const char *pem_header, const unsigned char *blob, size_t len, void **pctx,
      int *matchcount, const UI_METHOD *ui_method, void *ui_data, const char *uri,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1074,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - loader
    - uri
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1075
    functionName: file_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - file_open_ex
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX*
    signature: 'static OSSL_STORE_LOADER_CTX *file_open (const OSSL_STORE_LOADER *loader,
      const char *uri, const UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 5
    argNames:
    - pass_data
    - desc
    - info
    - ui_method
    - ui_data
    argTypes:
    - struct pem_pass_data*
    - char*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: file_fill_pem_pass_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_fill_pem_pass_data(struct pem_pass_data *pass_data,
      const char *desc, const char *info, const UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1084,1
    - Dst: file_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1093,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1085,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1087,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1086,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:1100,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 6
    argNames:
    - loader
    - bp
    - libctx
    - propq
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - BIO*
    - OSSL_LIB_CTX*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1102
    functionName: file_attach
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ATTICerr
    - OSSL_STORE_LOADER_CTX_free
    - OPENSSL_zalloc
    - file_find_type
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX*
    signature: 'static OSSL_STORE_LOADER_CTX *file_attach (const OSSL_STORE_LOADER
      *loader, BIO *bp, OSSL_LIB_CTX *libctx, const char *propq, const UI_METHOD *ui_method,
      void *ui_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1702
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1702
    functionName: loader_attic_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int loader_attic_init(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:195,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:204,1
    - Dst: OSSL_STORE_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:196,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:198,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:197,1
    - Dst: ATTICerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:207,1
    - Dst: store_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c:208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - new_pem_name
    - embedded
    argTypes:
    - char*
    - BUF_MEM*
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: new_EMBEDDED
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - store_info_free
    - ATTICerr
    - OPENSSL_zalloc
    - OSSL_STORE_INFO_new
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *new_EMBEDDED(const char *new_pem_name, BUF_MEM
      *embedded) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c:28,1
    - Dst: ERR_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: ERR_load_DASYNC_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c
    functionUses: []
    functionsReached:
    - ERR_load_strings
    - ERR_get_next_error_library
    linkageType: ''
    returnType: int
    signature: 'static int ERR_load_DASYNC_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: ERR_unload_DASYNC_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c
    functionUses: []
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: 'static void ERR_unload_DASYNC_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c:53,1
    - Dst: ERR_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: ERR_DASYNC_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync_err.c
    functionUses: []
    functionsReached:
    - ERR_set_debug
    - ERR_raise
    - ERR_get_next_error_library
    linkageType: ''
    returnType: void
    signature: 'static void ERR_DASYNC_error(int function, int reason, const char
      *file, int line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:369,1
    - Dst: bind_dasync
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - strcmp
    - bind_dasync
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e, const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:605,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:607,1
    - Dst: EVP_MD_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: dasync_sha1_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_init
    - dummy_pause_job
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_sha1_init(EVP_MD_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:925,1
    - Dst: pparamgen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:926,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 927
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 927
    functionName: dasync_rsa_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - pparamgen
    - EVP_PKEY_meth_get_paramgen
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:943,1
    - Dst: pkeygen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 945
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 945
    functionName: dasync_rsa_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_keygen
    - pkeygen
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:532,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:544,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:535,1
    - Dst: ASYNC_WAIT_CTX_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:537,1
    - Dst: ASYNC_WAIT_CTX_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:549,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:553,1
    - Dst: CreatePipe
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:557,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:558,1
    - Dst: pipe
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:562,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:569,1
    - Dst: WriteFile
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:581,1
    - Dst: read
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:594,1
    - Dst: wait_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:571,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:563,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:588,1
    - Dst: ReadFile
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:592,1
    - Dst: write
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:583,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 597
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 597
    functionName: dummy_pause_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - ASYNC_get_wait_ctx
    - ASYNC_WAIT_CTX_set_wait_fd
    - WriteFile
    - CreatePipe
    - OPENSSL_free
    - ReadFile
    - ASYNC_get_current_job
    - ASYNC_WAIT_CTX_get_fd
    - wait_cleanup
    - ASYNC_WAIT_CTX_get_callback
    - write
    - read
    - OPENSSL_malloc
    - ASYNC_pause_job
    - pipe
    linkageType: ''
    returnType: void
    signature: 'static void dummy_pause_job(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:613,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:615,1
    - Dst: EVP_MD_meth_get_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 616
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 616
    functionName: dasync_sha1_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_update
    - dummy_pause_job
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_sha1_update(EVP_MD_CTX *ctx, const void *data, size_t
      count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:934,1
    - Dst: pkeygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: dasync_rsa_keygen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_keygen
    - pkeygen_init
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_keygen_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:952,1
    - Dst: pencrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:953,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 954
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 954
    functionName: dasync_rsa_encrypt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_encrypt
    - pencrypt_init
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_encrypt_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:898,1
    - Dst: pinit
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 900
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 900
    functionName: dasync_rsa_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_init
    - pinit
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: dasync_aes_128_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *dasync_aes_128_cbc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_dasync
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:394,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:409,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:398,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:403,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 410
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 410
    functionName: engine_load_dasync_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - engine_dasync
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'void engine_load_dasync_int(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dasync_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:486,1
    - Dst: dasync_aes_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:489,1
    - Dst: dasync_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:492,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 500
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 500
    functionName: dasync_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_aes_128_cbc
    - dasync_aes_128_cbc_hmac_sha1
    - dasync_aes_256_ctr
    linkageType: ''
    returnType: int
    signature: 'static int dasync_ciphers(ENGINE *e, const EVP_CIPHER **cipher, const
      int **nids, int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - e
    - pmeth
    - pnids
    - nid
    argTypes:
    - ENGINE*
    - EVP_PKEY_METHOD**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 450
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 450
    functionName: dasync_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dasync_pkey(ENGINE *e, EVP_PKEY_METHOD **pmeth, const int
      **pnids, int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:720,1
    - Dst: DASYNCerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:727,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:725,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:724,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:723,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:736,1
    - Dst: EVP_CIPHER_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:737,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - key
    - iv
    - enc
    - cipher
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 741
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 741
    functionName: dasync_cipher_init_key_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - DASYNCerr
    - EVP_CIPHER_CTX_set_cipher_data
    - OPENSSL_zalloc
    - EVP_CIPHER_impl_ctx_size
    - EVP_CIPHER_meth_get_init
    linkageType: ''
    returnType: int
    signature: 'static int dasync_cipher_init_key_helper(EVP_CIPHER_CTX *ctx, const
      unsigned char *key, const unsigned char *iv, int enc, const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_cleanup_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:822,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: dasync_aes128_cbc_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - dasync_cipher_cleanup_helper
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_cbc_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_init_key_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:868,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 870
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 870
    functionName: dasync_aes128_cbc_hmac_sha1_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_cipher_init_key_helper
    - EVP_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx,
      const unsigned char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_cleanup_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:886,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 887
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 887
    functionName: dasync_aes128_cbc_hmac_sha1_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc_hmac_sha1
    - dasync_cipher_cleanup_helper
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_cbc_hmac_sha1_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: dasync_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dasync_init(ENGINE *e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dasync_digest_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:458,1
    - Dst: dasync_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 471
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 471
    functionName: dasync_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_digest_nids
    - dasync_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_digests(ENGINE *e, const EVP_MD **digest, const
      int **nids, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:507,1
    - Dst: CloseHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:508,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:513,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:511,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - key
    - readfd
    - pvwritefd
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD
    - void*
    constantsTouched: []
    func_position:
      end: 514
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 514
    functionName: wait_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - CloseHandle
    - OPENSSL_free
    - close
    linkageType: ''
    returnType: void
    signature: 'static void wait_cleanup(ASYNC_WAIT_CTX *ctx, const void *key, OSSL_ASYNC_FD
      readfd, void *pvwritefd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:750,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:753,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:758,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:763,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:770,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:775,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:782,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 5
    argNames:
    - ctx
    - out
    - in
    - inl
    - cipher
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 784
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 784
    functionName: dasync_cipher_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_meth_get_ctrl
    - EVP_CIPHER_CTX_set_cipher_data
    - EVP_CIPHER_meth_get_do_cipher
    linkageType: ''
    returnType: int
    signature: 'static int dasync_cipher_helper(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl, const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_ctrl_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:828,1
    - Dst: EVP_aes_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: dasync_aes256_ctr_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_cipher_ctrl_helper
    - EVP_aes_256_ctr
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes256_ctr_ctrl(EVP_CIPHER_CTX *ctx, int type, int
      arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:877,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 878
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 878
    functionName: dasync_aes128_cbc_hmac_sha1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_cipher_helper
    - EVP_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx,
      unsigned char *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:1007,1
    - Dst: pctrl_str
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:1008,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1009
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1009
    functionName: dasync_rsa_ctrl_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_ctrl
    - pctrl_str
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: dasync_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *dasync_sha1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: dasync_aes_256_ctr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *dasync_aes_256_ctr(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_find
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:229,1
    - Dst: EVP_PKEY_meth_set_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:235,1
    - Dst: EVP_PKEY_meth_set_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:237,1
    - Dst: EVP_PKEY_meth_set_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:239,1
    - Dst: EVP_PKEY_meth_set_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:241,1
    - Dst: ENGINE_set_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:253,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:268,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:272,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:274,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:283,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:289,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:333,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:349,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:341,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:345,1
    - Dst: EVP_PKEY_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:233,1
    - Dst: ERR_load_DASYNC_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:247,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:249,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:254,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:250,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:269,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:291,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:299,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:303,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:313,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:323,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:315,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:319,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:347,1
    - Dst: EVP_PKEY_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:234,1
    - Dst: EVP_PKEY_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:243,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:255,1
    - Dst: ENGINE_set_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:251,1
    - Dst: DASYNCerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:257,1
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:265,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:275,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:279,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:293,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:308,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:327,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:339,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:321,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:343,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:332,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:230,1
    - Dst: ENGINE_set_finish_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:256,1
    - Dst: ENGINE_set_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:252,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:267,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:271,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:273,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:284,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:295,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:297,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:307,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:317,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 160
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 354
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 354
    functionName: bind_dasync
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - DASYNCerr
    - ENGINE_set_pkey_meths
    - ENGINE_set_digests
    - EVP_MD_meth_set_input_blocksize
    - ENGINE_set_finish_function
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_final
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_ctrl
    - EVP_MD_meth_set_update
    - ENGINE_set_name
    - EVP_MD_meth_new
    - EVP_PKEY_meth_set_init
    - EVP_PKEY_meth_find
    - EVP_CIPHER_meth_set_do_cipher
    - ENGINE_set_destroy_function
    - EVP_CIPHER_meth_new
    - EVP_PKEY_meth_set_ctrl
    - EVP_PKEY_meth_set_encrypt
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_flags
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_cleanup
    - EVP_PKEY_meth_set_keygen
    - ENGINE_set_init_function
    - EVP_PKEY_meth_set_paramgen
    - EVP_PKEY_meth_new
    - EVP_PKEY_meth_set_cleanup
    - EVP_MD_meth_set_init
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_PKEY_meth_set_decrypt
    - EVP_CIPHER_meth_set_init
    - ENGINE_set_ciphers
    - ERR_load_DASYNC_strings
    - ENGINE_set_id
    linkageType: ''
    returnType: int
    signature: 'static int bind_dasync(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_ctrl_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:805,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: dasync_aes128_cbc_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - dasync_cipher_ctrl_helper
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_cbc_ctrl(EVP_CIPHER_CTX *ctx, int type, int
      arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_init_key_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:811,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: dasync_aes128_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - dasync_cipher_init_key_helper
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_init_key_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:834,1
    - Dst: EVP_aes_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 835
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 835
    functionName: dasync_aes256_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_cipher_init_key_helper
    - EVP_aes_256_ctr
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes256_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:907,1
    - Dst: pcleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: dasync_rsa_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_cleanup
    - pcleanup
    linkageType: ''
    returnType: void
    signature: 'static void dasync_rsa_cleanup(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:987,1
    - Dst: pdecrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:988,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 989
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 989
    functionName: dasync_rsa_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - pdecrypt
    - EVP_PKEY_meth_get_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: destroy_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void destroy_digests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: destroy_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destroy_pkey(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:382,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:386,1
    - Dst: bind_dasync
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: engine_dasync
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - ENGINE_new
    - bind_dasync
    - ENGINE_free
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *engine_dasync(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:817,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: dasync_aes128_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - dasync_cipher_helper
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:840,1
    - Dst: EVP_aes_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: dasync_aes256_ctr_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_cipher_helper
    - EVP_aes_256_ctr
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes256_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:916,1
    - Dst: pparamgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 918
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 918
    functionName: dasync_rsa_paramgen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - pparamgen_init
    - EVP_PKEY_meth_get_paramgen
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_paramgen_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:996,1
    - Dst: pctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:997,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 998
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 998
    functionName: dasync_rsa_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_ctrl
    - pctrl
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:790,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:793,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - cipher
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 796
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 796
    functionName: dasync_cipher_cleanup_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_impl_ctx_size
    - EVP_CIPHER_CTX_get_cipher_data
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dasync_cipher_cleanup_helper(EVP_CIPHER_CTX *ctx, const
      EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_ctrl_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:856,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: dasync_aes128_cbc_hmac_sha1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - dasync_cipher_ctrl_helper
    - EVP_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes128_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int
      type, int arg, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dasync_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:97,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: dasync_digest_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_type
    - dasync_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_digest_nids(const int **nids) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: dasync_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *dasync_aes_128_cbc_hmac_sha1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: dasync_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dasync_finish(ENGINE *e) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:633,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:641,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:669,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:642,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:646,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:670,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:670,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:672,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:686,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:692,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 6
    argNames:
    - ctx
    - type
    - arg
    - ptr
    - aeadcapable
    - ciph
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    - int
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 711
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 711
    functionName: dasync_cipher_ctrl_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_meth_get_ctrl
    - EVP_CIPHER_CTX_set_cipher_data
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_impl_ctx_size
    - OPENSSL_malloc
    - EVP_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_cipher_ctrl_helper(EVP_CIPHER_CTX *ctx, int type,
      int arg, void *ptr, int aeadcapable, const EVP_CIPHER *ciph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_cleanup_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:845,1
    - Dst: EVP_aes_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: dasync_aes256_ctr_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_ctr
    - dasync_cipher_cleanup_helper
    linkageType: ''
    returnType: int
    signature: 'static int dasync_aes256_ctr_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:965,1
    - Dst: pencryptfn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:966,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 967
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 967
    functionName: dasync_rsa_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_encrypt
    - pencryptfn
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:207,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:209,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: destroy_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void destroy_ciphers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:426,1
    - Dst: ERR_unload_DASYNC_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:429,1
    - Dst: destroy_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:427,1
    - Dst: destroy_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: dasync_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - destroy_pkey
    - destroy_ciphers
    - ERR_unload_DASYNC_strings
    - destroy_digests
    linkageType: ''
    returnType: int
    signature: 'static int dasync_destroy(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:974,1
    - Dst: pdecrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 976
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 976
    functionName: dasync_rsa_decrypt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - pdecrypt_init
    - EVP_PKEY_meth_get_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int dasync_rsa_decrypt_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:620,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:622,1
    - Dst: EVP_MD_meth_get_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: dasync_sha1_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_dasync.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_get_final
    - dummy_pause_job
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: 'static int dasync_sha1_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:534,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:542,1
    - Dst: ENGINE_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:544,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:543,1
    - Dst: DSA_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:538,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:545,1
    - Dst: ENGINE_set_finish_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:546,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:547,1
    - Dst: ENGINE_set_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:548,1
    - Dst: ENGINE_set_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:550,1
    - Dst: RSA_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:562,1
    - Dst: ENGINE_set_load_ssl_client_cert_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:553,1
    - Dst: ENGINE_set_ctrl_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:556,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:552,1
    - Dst: ENGINE_set_cmd_defns
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:555,1
    - Dst: DSA_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:565,1
    - Dst: ERR_load_CAPI_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:558,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 569
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 569
    functionName: bind_capi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_cmd_defns
    - ENGINE_set_DSA
    - ENGINE_set_name
    - RSA_meth_free
    - DSA_meth_new
    - ENGINE_set_load_ssl_client_cert_function
    - ENGINE_set_ctrl_function
    - RSA_meth_new
    - ENGINE_set_finish_function
    - ERR_load_CAPI_strings
    - ENGINE_set_load_privkey_function
    - DSA_meth_free
    - ENGINE_set_flags
    - ENGINE_set_RSA
    - ENGINE_set_id
    - ENGINE_set_destroy_function
    linkageType: ''
    returnType: int
    signature: 'static int bind_capi(ENGINE *e) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:649,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:650,1
    - Dst: CryptExportKey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:659,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:667,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:678,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:690,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:693,1
    - Dst: lend_tobn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:704,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:689,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:724,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:737,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:740,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:738,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:679,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:725,1
    - Dst: DSA_new_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:732,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:736,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:742,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:741,1
    - Dst: DSA_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:746,1
    - Dst: lend_tobn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:751,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:763,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:766,1
    - Dst: lend_tobn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:748,1
    - Dst: CryptExportKey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:648,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:654,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:660,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:661,1
    - Dst: RSA_new_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:685,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:698,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:700,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:681,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:694,1
    - Dst: RSA_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:707,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:747,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:727,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:779,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:735,1
    - Dst: DSA_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:761,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:709,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:712,1
    - Dst: lend_tobn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:757,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:772,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:781,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:790,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:783,1
    - Dst: lend_tobn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:754,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:743,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:771,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:774,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 123
    argCount: 2
    argNames:
    - eng
    - key
    argTypes:
    - ENGINE*
    - CAPI_KEY*
    constantsTouched: []
    func_position:
      end: 793
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 793
    functionName: capi_get_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - CryptExportKey
    - BIO_snprintf
    - lend_tobn
    - BN_set_word
    - OPENSSL_malloc
    - RSA_new_method
    - capi_addlasterror
    - OPENSSL_free
    - CAPIerr
    - DSA_free
    - DSA_set0_key
    - EVP_PKEY_new
    - ERR_add_error_data
    - EVP_PKEY_assign_RSA
    - RSA_free
    - RSA_set0_key
    - RSA_set_ex_data
    - DSA_new_method
    - DSA_set0_pqg
    - DSA_set_ex_data
    - EVP_PKEY_assign_DSA
    - BN_new
    - BN_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *capi_get_pkey(ENGINE *eng, CAPI_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1089,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1091,1
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1094,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - level
    - format
    - argptr
    argTypes:
    - CAPI_CTX*
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 1096
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1096
    functionName: capi_vtrace
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - CAPIerr
    - BIO_vprintf
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'static void capi_vtrace(CAPI_CTX *ctx, int level, char *format, va_list
      argptr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:841,1
    - Dst: RSA_get0_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:841,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:847,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:843,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:878,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:900,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:879,1
    - Dst: CryptCreateHash
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:886,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:903,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:902,1
    - Dst: CryptSetHashParam
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:893,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:880,1
    - Dst: RSA_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:845,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:887,1
    - Dst: CryptSignHash
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:901,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:888,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:894,1
    - Dst: CryptDestroyHash
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:920,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:895,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 6
    argNames:
    - dtype
    - m
    - m_len
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    constantsTouched: []
    func_position:
      end: 923
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 923
    functionName: capi_rsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_addlasterror
    - ENGINE_get_ex_data
    - RSA_get0_engine
    - RSA_size
    - BIO_snprintf
    - CAPIerr
    - RSA_get_ex_data
    - CryptCreateHash
    - CryptSetHashParam
    - CAPI_trace
    - ERR_add_error_data
    - CryptSignHash
    - CryptDestroyHash
    linkageType: ''
    returnType: int
    signature: 'int capi_rsa_sign(int dtype, const unsigned char *m, unsigned int
      m_len, unsigned char *sigret, unsigned int *siglen, const RSA *rsa) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1200,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1201,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1209,1
    - Dst: capi_get_provname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1203,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - CAPI_CTX*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1212
    functionName: capi_list_providers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - capi_get_provname
    - OPENSSL_free
    - CAPI_trace
    linkageType: ''
    returnType: int
    signature: 'static int capi_list_providers(CAPI_CTX *ctx, BIO *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CertGetCertificateContextProperty
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1302,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1307,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1310,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1305,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1312,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1314,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CAPI_CTX*
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 1319
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1319
    functionName: capi_get_prov_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_addlasterror
    - OPENSSL_free
    - CAPIerr
    - CertGetCertificateContextProperty
    - OPENSSL_malloc
    linkageType: ''
    returnType: CRYPT_KEY_PROV_INFO*
    signature: 'static CRYPT_KEY_PROV_INFO *capi_get_prov_info(CAPI_CTX *ctx, PCCERT_CONTEXT
      cert) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1350,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1357,1
    - Dst: wide_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1359,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1351,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1354,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1360,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1363,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1364,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CAPI_CTX*
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 1368
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1368
    functionName: capi_cert_get_fname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_addlasterror
    - OPENSSL_free
    - CertGetCertificateContextProperty
    - CAPIerr
    - wide_to_asc
    - CAPI_trace
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *capi_cert_get_fname(CAPI_CTX *ctx, PCCERT_CONTEXT cert) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:938,1
    - Dst: RSA_get0_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:938,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:940,1
    - Dst: RSA_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:942,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:944,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:960,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:961,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:962,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:968,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:969,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:986,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:981,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:978,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:987,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:979,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:984,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:980,1
    - Dst: CryptDecrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:977,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 990
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 990
    functionName: capi_rsa_priv_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_addlasterror
    - CryptDecrypt
    - ENGINE_get_ex_data
    - RSA_get0_engine
    - OPENSSL_free
    - memcpy
    - OPENSSL_cleanse
    - BIO_snprintf
    - CAPIerr
    - RSA_get_ex_data
    - CAPI_trace
    - ERR_add_error_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int capi_rsa_priv_dec(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1101,1
    - Dst: capi_vtrace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1102,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - format
    - '...'
    argTypes:
    - CAPI_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1104
    functionName: CAPI_trace
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - va_end
    - capi_vtrace
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void CAPI_trace(CAPI_CTX *ctx, char *format, ...) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1228,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1239,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1241,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1273,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1248,1
    - Dst: capi_adderror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1274,1
    - Dst: CryptGetProvParam
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1244,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1270,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1283,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1290,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1222,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1225,1
    - Dst: CryptAcquireContextW
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1237,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1254,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1256,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1251,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1280,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1227,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1232,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1233,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1246,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1247,1
    - Dst: CryptGetProvParam
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1268,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1277,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1291,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - CAPI_CTX*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1294
    functionName: capi_list_containers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - CryptReleaseContext
    - capi_addlasterror
    - capi_adderror
    - OPENSSL_free
    - CryptGetProvParam
    - CAPIerr
    - GetLastError
    - alloca
    - MultiByteToWideChar
    - CAPI_trace
    - CryptAcquireContextW
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int capi_list_containers(CAPI_CTX *ctx, BIO *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1327,1
    - Dst: wide_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1330,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1336,1
    - Dst: wide_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1331,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1335,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1338,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1341,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1342,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - out
    - pinfo
    argTypes:
    - CAPI_CTX*
    - BIO*
    - CRYPT_KEY_PROV_INFO*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1343
    functionName: capi_dump_prov_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - wide_to_asc
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void capi_dump_prov_info(CAPI_CTX *ctx, BIO *out, CRYPT_KEY_PROV_INFO
      *pinfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1387,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1379,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1409,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1394,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1389,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1391,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1392,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1395,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1408,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1394,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1404,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1392,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1398,1
    - Dst: capi_cert_get_fname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1377,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1382,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1380,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1393,1
    - Dst: capi_dump_prov_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1403,1
    - Dst: capi_get_prov_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1402,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - out
    - cert
    argTypes:
    - CAPI_CTX*
    - BIO*
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 1410
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1410
    functionName: capi_dump_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - X509_free
    - OPENSSL_free
    - X509_get_issuer_name
    - capi_cert_get_fname
    - capi_dump_prov_info
    - X509_print_ex
    - d2i_X509
    - capi_get_prov_info
    - PEM_write_bio_X509
    - X509_get_subject_name
    linkageType: ''
    returnType: void
    signature: 'static void capi_dump_cert(CAPI_CTX *ctx, BIO *out, PCCERT_CONTEXT
      cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - bn
    - bin
    - binlen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 636
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 636
    functionName: lend_tobn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: 'static int lend_tobn(BIGNUM *bn, unsigned char *bin, int binlen) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: capi_ctx_set_provname_idx
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:363,1
    - Dst: capi_ctx_set_provname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:380,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:392,1
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:295,1
    - Dst: capi_list_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:303,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:296,1
    - Dst: capi_list_containers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:315,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:321,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:325,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:323,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:347,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:388,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:292,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:298,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:359,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:338,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:343,1
    - Dst: capi_list_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:307,1
    - Dst: capi_list_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:311,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:319,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:352,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:350,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:372,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:373,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 5
    argNames:
    - e
    - cmd
    - i
    - p
    - (*f)
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 395
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 395
    functionName: capi_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - capi_ctx_set_provname
    - capi_list_containers
    - BIO_free
    - ENGINE_get_ex_data
    - CAPI_trace
    - OPENSSL_free
    - CAPIerr
    - capi_ctx_set_provname_idx
    - capi_list_providers
    - capi_list_certs
    - BIO_new_fp
    linkageType: ''
    returnType: int
    signature: 'static int capi_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)
      (void)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 828
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 828
    functionName: capi_rsa_priv_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - CAPIerr
    linkageType: ''
    returnType: int
    signature: 'int capi_rsa_priv_enc(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:995,1
    - Dst: capi_free_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:996,1
    - Dst: RSA_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 999
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 999
    functionName: capi_rsa_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - RSA_set_ex_data
    - RSA_get_ex_data
    - capi_free_key
    linkageType: ''
    returnType: int
    signature: 'static int capi_rsa_free(RSA *rsa) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1127,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1137,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1135,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1140,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1130,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1142,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1145,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1146,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - wstr
    argTypes:
    - LPCWSTR
    constantsTouched: []
    func_position:
      end: 1151
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1151
    functionName: wide_to_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - WideCharToMultiByte
    - wcslen
    - OPENSSL_free
    - CAPIerr
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *wide_to_asc(LPCWSTR wstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capi_get_prov_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1556,1
    - Dst: capi_get_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1559,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CAPI_CTX*
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 1564
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1564
    functionName: capi_get_cert_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_get_prov_info
    - OPENSSL_free
    - capi_get_key
    linkageType: ''
    returnType: CAPI_KEY*
    signature: 'static CAPI_KEY *capi_get_cert_key(CAPI_CTX *ctx, PCCERT_CONTEXT cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1641,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1647,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1644,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1646,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1645,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CAPI_CTX*
    constantsTouched: []
    func_position:
      end: 1649
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1649
    functionName: capi_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CAPI_trace
    linkageType: ''
    returnType: void
    signature: 'static void capi_ctx_free(CAPI_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capi_get_provname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1691,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1694,1
    - Dst: capi_ctx_set_provname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - CAPI_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1696
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1696
    functionName: capi_ctx_set_provname_idx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_get_provname
    - OPENSSL_free
    - capi_ctx_set_provname
    linkageType: ''
    returnType: int
    signature: 'static int capi_ctx_set_provname_idx(CAPI_CTX *ctx, int idx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1158,1
    - Dst: CryptEnumProviders
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1159,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1160,1
    - Dst: capi_adderror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1164,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1163,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1167,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1169,1
    - Dst: CryptEnumProviders
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1172,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1173,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1174,1
    - Dst: capi_adderror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1178,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1189,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1177,1
    - Dst: wide_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1182,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - pname
    - ptype
    - idx
    argTypes:
    - CAPI_CTX*
    - LPSTR*
    - DWORD*
    - DWORD
    constantsTouched: []
    func_position:
      end: 1193
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1193
    functionName: capi_get_provname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_adderror
    - OPENSSL_free
    - CAPIerr
    - GetLastError
    - wide_to_asc
    - CAPI_trace
    - CryptEnumProviders
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int capi_get_provname(CAPI_CTX *ctx, LPSTR *pname, DWORD *ptype,
      DWORD idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: capi_open_store
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1575,1
    - Dst: capi_find_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1578,1
    - Dst: CertCloseStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1583,1
    - Dst: CertFreeCertificateContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1581,1
    - Dst: capi_get_cert_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1580,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1591,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1592,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1593,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1594,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1596,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1597,1
    - Dst: capi_get_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1599,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - CAPI_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1606
    functionName: capi_find_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - CertCloseStore
    - capi_get_cert_key
    - capi_find_cert
    - alloca
    - MultiByteToWideChar
    - capi_open_store
    - CertFreeCertificateContext
    - capi_get_key
    linkageType: ''
    returnType: CAPI_KEY*
    signature: 'CAPI_KEY *capi_find_key(CAPI_CTX *ctx, const char *id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1656,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1663,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1664,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1662,1
    - Dst: CryptAcquireContextW
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1666,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1668,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1670,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1673,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1675,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1677,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1680,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - pname
    - type
    - check
    argTypes:
    - CAPI_CTX*
    - LPSTR
    - DWORD
    - int
    constantsTouched: []
    func_position:
      end: 1684
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1684
    functionName: capi_ctx_set_provname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - CryptReleaseContext
    - capi_addlasterror
    - OPENSSL_free
    - CAPIerr
    - alloca
    - MultiByteToWideChar
    - CAPI_trace
    - CryptAcquireContextW
    linkageType: ''
    returnType: int
    signature: 'static int capi_ctx_set_provname(CAPI_CTX *ctx, LPSTR pname, DWORD
      type, int check) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1703,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1706,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1705,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1707,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1707,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ca_dn
    - x
    argTypes:
    - STACK_OF(X509_NAME)*
    - X509*
    constantsTouched: []
    func_position:
      end: 1711
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1711
    functionName: cert_issuer_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - X509_NAME_cmp
    - sk_X509_NAME_num
    - X509_get_issuer_name
    - sk_X509_NAME_value
    linkageType: ''
    returnType: int
    signature: 'static int cert_issuer_match(STACK_OF(X509_NAME) *ca_dn, X509 *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:801,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:804,1
    - Dst: capi_get_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:813,1
    - Dst: capi_free_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:816,1
    - Dst: capi_find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:808,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 819
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 819
    functionName: capi_load_privkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - ENGINE_get_ex_data
    - capi_find_key
    - CAPIerr
    - capi_free_key
    - capi_get_pkey
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *capi_load_privkey(ENGINE *eng, const char *key_id,
      UI_METHOD *ui_method, void *callback_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:512,1
    - Dst: ENGINE_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:514,1
    - Dst: capi_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: capi_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - capi_ctx_free
    - ENGINE_set_ex_data
    - ENGINE_get_ex_data
    linkageType: ''
    returnType: int
    signature: 'static int capi_finish(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:586,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:590,1
    - Dst: bind_capi
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: engine_capi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - ENGINE_new
    - ENGINE_free
    - bind_capi
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *engine_capi(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1014,1
    - Dst: DSA_get0_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1014,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1016,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1026,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1039,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1040,1
    - Dst: CryptSignHash
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1046,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1067,1
    - Dst: DSA_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1018,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1032,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1033,1
    - Dst: lend_tobn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1055,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1051,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1057,1
    - Dst: DSA_SIG_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1061,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1021,1
    - Dst: CryptSetHashParam
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1038,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1047,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1051,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1048,1
    - Dst: DSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1056,1
    - Dst: CryptCreateHash
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1031,1
    - Dst: lend_tobn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1054,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1058,1
    - Dst: CryptDestroyHash
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1068,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 3
    argNames:
    - digest
    - dlen
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1070
    functionName: capi_dsa_do_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - DSA_SIG_set0
    - DSA_SIG_new
    - capi_addlasterror
    - DSA_get0_engine
    - ENGINE_get_ex_data
    - DSA_get_ex_data
    - BN_new
    - OPENSSL_cleanse
    - lend_tobn
    - CAPIerr
    - CryptCreateHash
    - BN_free
    - CryptSetHashParam
    - CAPI_trace
    - CryptSignHash
    - CryptDestroyHash
    linkageType: ''
    returnType: DSA_SIG*
    signature: 'static DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int
      dlen, DSA *dsa) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptDestroyKey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1612,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1616,1
    - Dst: CertFreeCertificateContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1615,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - CAPI_KEY*
    constantsTouched: []
    func_position:
      end: 1617
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1617
    functionName: capi_free_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CryptDestroyKey
    - CryptReleaseContext
    - CertFreeCertificateContext
    linkageType: ''
    returnType: void
    signature: 'void capi_free_key(CAPI_KEY *key) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1746,1
    - Dst: cert_issuer_match
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1751,1
    - Dst: capi_get_cert_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1753,1
    - Dst: CertDuplicateCertificateContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1762,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1790,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1771,1
    - Dst: CertFreeCertificateContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1776,1
    - Dst: X509_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1764,1
    - Dst: capi_free_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1795,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1742,1
    - Dst: capi_open_store
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1737,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1769,1
    - Dst: CertCloseStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1778,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1796,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1800,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1748,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1767,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1789,1
    - Dst: X509_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1794,1
    - Dst: X509_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1807,1
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1728,1
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1752,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1755,1
    - Dst: capi_get_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1808,1
    - Dst: X509_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1809,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 66
    argCount: 8
    argNames:
    - e
    - ssl
    - ca_dn
    - pcert
    - pkey
    - pother
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - SSL*
    - STACK_OF(X509_NAME)*
    - X509**
    - EVP_PKEY**
    - STACK_OF(X509)**
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1813
    functionName: capi_load_ssl_client_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - ENGINE_get_ex_data
    - CertEnumCertificatesInStore
    - cert_issuer_match
    - sk_X509_push
    - capi_free_key
    - CertDuplicateCertificateContext
    - sk_X509_value
    - CAPI_trace
    - CertFreeCertificateContext
    - X509_free
    - CertCloseStore
    - sk_X509_num
    - X509_set_ex_data
    - X509_get_ex_data
    - capi_get_cert_key
    - sk_X509_free
    - X509_check_purpose
    - sk_X509_new_null
    - d2i_X509
    - capi_get_pkey
    - capi_open_store
    linkageType: ''
    returnType: int
    signature: 'static int capi_load_ssl_client_cert(ENGINE *e, SSL *ssl, STACK_OF(X509_NAME)
      *ca_dn, X509 **pcert, EVP_PKEY **pkey, STACK_OF(X509) **pother, UI_METHOD *ui_method,
      void *callback_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_capi
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:599,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:603,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:614,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:608,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 615
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 615
    functionName: engine_load_capi_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - engine_capi
    - ENGINE_add
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'void engine_load_capi_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1075,1
    - Dst: capi_free_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1076,1
    - Dst: DSA_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1079
    functionName: capi_dsa_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - DSA_get_ex_data
    - capi_free_key
    - DSA_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'static int capi_dsa_free(DSA *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1924
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1924
    functionName: engine_load_capi_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void engine_load_capi_int(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:426,1
    - Dst: RSA_meth_get_pub_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:428,1
    - Dst: RSA_meth_set_pub_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:429,1
    - Dst: RSA_meth_set_bn_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:435,1
    - Dst: DSA_meth_set_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:446,1
    - Dst: RSA_meth_get_bn_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:436,1
    - Dst: DSA_meth_get_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:448,1
    - Dst: DSA_meth_set_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:449,1
    - Dst: DSA_meth_set_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:450,1
    - Dst: DSA_meth_set_bn_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:452,1
    - Dst: ENGINE_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:418,1
    - Dst: RSA_meth_set_priv_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:432,1
    - Dst: DSA_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:444,1
    - Dst: RSA_meth_set_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:433,1
    - Dst: DSA_meth_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:447,1
    - Dst: capi_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:459,1
    - Dst: ENGINE_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:463,1
    - Dst: LoadLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:467,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:475,1
    - Dst: RSA_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:425,1
    - Dst: RSA_meth_get_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:434,1
    - Dst: RSA_meth_set_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:438,1
    - Dst: DSA_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:445,1
    - Dst: GetModuleHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:468,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:471,1
    - Dst: OPENSSL_isservice
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:476,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:491,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:485,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:468,1
    - Dst: X509_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:422,1
    - Dst: RSA_meth_set_pub_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:427,1
    - Dst: RSA_meth_get_pub_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:430,1
    - Dst: RSA_meth_set_priv_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:431,1
    - Dst: RSA_meth_set_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:437,1
    - Dst: DSA_meth_get_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:451,1
    - Dst: DSA_meth_get_bn_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:453,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:467,1
    - Dst: CryptAcquireContextW
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:482,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 495
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 495
    functionName: capi_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - CryptReleaseContext
    - RSA_meth_set_pub_dec
    - DSA_meth_set_mod_exp
    - GetProcAddress
    - DSA_meth_get_bn_mod_exp
    - RSA_meth_get_bn_mod_exp
    - RSA_meth_set_bn_mod_exp
    - CryptAcquireContextW
    - RSA_PKCS1_OpenSSL
    - capi_ctx_new
    - X509_get_ex_new_index
    - DSA_meth_set_bn_mod_exp
    - DSA_get_ex_new_index
    - DSA_meth_set_verify
    - RSA_meth_set_finish
    - CAPIerr
    - DSA_meth_set_finish
    - OPENSSL_isservice
    - RSA_meth_set_sign
    - ENGINE_set_ex_data
    - RSA_meth_get_pub_enc
    - RSA_meth_get_pub_dec
    - RSA_meth_set_priv_dec
    - RSA_get_ex_new_index
    - GetModuleHandle
    - TEXT
    - DSA_OpenSSL
    - RSA_meth_set_mod_exp
    - RSA_meth_set_pub_enc
    - DSA_meth_get_verify
    - DSA_meth_set_sign
    - LoadLibrary
    - ENGINE_get_ex_new_index
    - RSA_meth_get_mod_exp
    - DSA_meth_get_mod_exp
    - RSA_meth_set_priv_enc
    linkageType: ''
    returnType: int
    signature: 'static int capi_init(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:574,1
    - Dst: bind_capi
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - strcmp
    - bind_capi
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e, const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capi_adderror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1108,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: capi_addlasterror
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - GetLastError
    - capi_adderror
    linkageType: ''
    returnType: void
    signature: 'static void capi_addlasterror(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1420,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1426,1
    - Dst: CertOpenStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1422,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - storename
    argTypes:
    - CAPI_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1429
    functionName: capi_open_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - CAPIerr
    - CertOpenStore
    - CAPI_trace
    - capi_addlasterror
    linkageType: ''
    returnType: HCERTSTORE
    signature: 'static HCERTSTORE capi_open_store(CAPI_CTX *ctx, char *storename) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CertFindCertificateInStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1477,1
    - Dst: capi_cert_get_fname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1484,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1481,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1486,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1490,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - id
    - hstore
    argTypes:
    - CAPI_CTX*
    - char*
    - HCERTSTORE
    constantsTouched: []
    func_position:
      end: 1498
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1498
    functionName: capi_find_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - strcmp
    - OPENSSL_free
    - CertEnumCertificatesInStore
    - capi_cert_get_fname
    - CertFindCertificateInStore
    linkageType: ''
    returnType: PCCERT_CONTEXT
    signature: 'static PCCERT_CONTEXT capi_find_cert(CAPI_CTX *ctx, const char *id,
      HCERTSTORE hstore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:499,1
    - Dst: ERR_unload_CAPI_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:505,1
    - Dst: DSA_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 507
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 507
    functionName: capi_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - DSA_meth_free
    - ERR_unload_CAPI_strings
    - RSA_meth_free
    linkageType: ''
    returnType: int
    signature: 'static int capi_destroy(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1114,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - DWORD
    constantsTouched: []
    func_position:
      end: 1116
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1116
    functionName: capi_adderror
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - ERR_add_error_data
    - BIO_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void capi_adderror(DWORD err) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1442,1
    - Dst: capi_dump_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1453,1
    - Dst: CertFreeCertificateContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1454,1
    - Dst: capi_find_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1448,1
    - Dst: capi_open_store
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1444,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1457,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1460,1
    - Dst: capi_dump_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1461,1
    - Dst: CertCloseStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1465,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - out
    - id
    argTypes:
    - CAPI_CTX*
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 1467
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1467
    functionName: capi_list_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - CAPI_trace
    - CertCloseStore
    - CertEnumCertificatesInStore
    - capi_dump_cert
    - capi_find_cert
    - capi_open_store
    - CertFreeCertificateContext
    linkageType: ''
    returnType: int
    signature: 'int capi_list_certs(CAPI_CTX *ctx, BIO *out, char *id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1505,1
    - Dst: wide_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1521,1
    - Dst: wide_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1520,1
    - Dst: wcscmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1511,1
    - Dst: CAPI_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1523,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1525,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1526,1
    - Dst: CryptAcquireContextW
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1530,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1532,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1533,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1537,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1538,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1539,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1547,1
    - Dst: CryptGetUserKey
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1536,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 5
    argNames:
    - ctx
    - contname
    - provname
    - ptype
    - keyspec
    argTypes:
    - CAPI_CTX*
    - WCHAR*
    - WCHAR*
    - DWORD
    - DWORD
    constantsTouched: []
    func_position:
      end: 1549
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1549
    functionName: capi_get_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - CryptReleaseContext
    - capi_addlasterror
    - OPENSSL_free
    - wcscmp
    - CAPIerr
    - CryptGetUserKey
    - wide_to_asc
    - CAPI_trace
    - CryptAcquireContextW
    - OPENSSL_malloc
    linkageType: ''
    returnType: CAPI_KEY*
    signature: 'static CAPI_KEY *capi_get_key(CAPI_CTX *ctx, const WCHAR *contname,
      const WCHAR *provname, DWORD ptype, DWORD keyspec) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1860,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1861,1
    - Dst: X509_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1867,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1871,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1888,1
    - Dst: capi_addlasterror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1872,1
    - Dst: CertCloseStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1902,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1865,1
    - Dst: X509_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1890,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1853,1
    - Dst: CertOpenStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1857,1
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1855,1
    - Dst: CertAddCertificateContextToStore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1869,1
    - Dst: GetForegroundWindow
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1877,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1889,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1866,1
    - Dst: CertCompareCertificate
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1891,1
    - Dst: GetActiveWindow
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1879,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - e
    - ssl
    - certs
    argTypes:
    - ENGINE*
    - SSL*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 1905
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1905
    functionName: cert_select_dialog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - GetForegroundWindow
    - CertOpenStore
    - capi_addlasterror
    - ENGINE_get_ex_data
    - CertAddCertificateContextToStore
    - sk_X509_num
    - CertCloseStore
    - CAPIerr
    - CertCompareCertificate
    - GetActiveWindow
    - X509_get_ex_data
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int cert_select_dialog(ENGINE *e, SSL *ssl, STACK_OF(X509)
      *certs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - e
    - id
    - fns
    argTypes:
    - ENGINE*
    - char*
    - dynamic_fns*
    constantsTouched: []
    func_position:
      end: 1917
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1917
    functionName: bind_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_EXPORT
    signature: 'OPENSSL_EXPORT int bind_engine(ENGINE *e, const char *id, const dynamic_fns
      *fns) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1623,1
    - Dst: CAPIerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c:1626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1637
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1637
    functionName: capi_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached:
    - CAPIerr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CAPI_CTX*
    signature: 'static CAPI_CTX *capi_ctx_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - e
    - ssl
    - certs
    argTypes:
    - ENGINE*
    - SSL*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 1820
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1820
    functionName: cert_select_simple
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cert_select_simple(ENGINE *e, SSL *ssl, STACK_OF(X509)
      *certs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:473,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:475,1
    - Dst: ALG_IV_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:473,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:476,1
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:473,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:484,1
    - Dst: afalg_set_op_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:485,1
    - Dst: CMSG_NXTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:486,1
    - Dst: afalg_set_iv_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:487,1
    - Dst: sendmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:507,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:509,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:520,1
    - Dst: splice
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:524,1
    - Dst: sendmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:534,1
    - Dst: vmsplice
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:518,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:542,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:526,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:536,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 5
    argNames:
    - actx
    - in
    - inl
    - iv
    - enc
    argTypes:
    - afalg_ctx*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 549
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 549
    functionName: afalg_start_cipher_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - ALG_PERR
    - CMSG_NXTHDR
    - sendmsg
    - afalg_set_op_sk
    - ALG_WARN
    - CMSG_SPACE
    - splice
    - CMSG_FIRSTHDR
    - vmsplice
    - afalg_set_iv_sk
    - ALG_IV_LEN
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char
      *in, size_t inl, const unsigned char *iv, unsigned int enc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:631,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:648,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:647,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:636,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:638,1
    - Dst: afalg_start_cipher_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:652,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:653,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:654,1
    - Dst: afalg_fin_cipher_aio
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:660,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:664,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:665,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:668,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:668,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:665,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 672
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 672
    functionName: afalg_do_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - memcpy
    - ALG_WARN
    - EVP_CIPHER_CTX_is_encrypting
    - afalg_start_cipher_sk
    - EVP_CIPHER_CTX_iv
    - afalg_fin_cipher_aio
    - EVP_CIPHER_CTX_iv_noconst
    linkageType: ''
    returnType: int
    signature: 'static int afalg_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:807,1
    - Dst: bind_afalg
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:813,1
    - Dst: afalg_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:814,1
    - Dst: afalg_chk_platform
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 818
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 818
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - afalg_destroy
    - strcmp
    - afalg_chk_platform
    - bind_afalg
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e, const char *id) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:560,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:571,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:564,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:565,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:569,1
    - Dst: EVP_CIPHER_CTX_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:575,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:583,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:588,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:589,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:590,1
    - Dst: pipe
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:610,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:619,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:599,1
    - Dst: afalg_init_aio
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:606,1
    - Dst: afalg_create_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:595,1
    - Dst: afalg_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:601,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:618,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 621
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 621
    functionName: afalg_cipher_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - close
    - afalg_set_key
    - EVP_CIPHER_CTX_get_nid
    - ALG_WARN
    - afalg_init_aio
    - EVP_CIPHER_CTX_get_key_length
    - afalg_create_sk
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_get0_cipher
    - pipe
    linkageType: ''
    returnType: int
    signature: 'static int afalg_cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:679,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:688,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:684,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:691,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:689,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:692,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:696,1
    - Dst: io_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:697,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 700
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 700
    functionName: afalg_cipher_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - io_destroy
    - ALG_WARN
    - close
    linkageType: ''
    returnType: int
    signature: 'static int afalg_cipher_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:833,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:840,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:835,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:842,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:843,1
    - Dst: KERNEL_VERSION
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:846,1
    - Dst: KERNEL_VERSION
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:847,1
    - Dst: ALG_ERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:848,1
    - Dst: ALG_ERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:850,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:852,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:863,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:860,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 866
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 866
    functionName: afalg_chk_platform
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - socket
    - strtok
    - AFALGerr
    - close
    - atoi
    - KERNEL_VERSION
    - ALG_ERR
    - uname
    linkageType: ''
    returnType: int
    signature: 'static int afalg_chk_platform(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:408,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:410,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - actx
    - key
    - klen
    argTypes:
    - afalg_ctx*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: afalg_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - ALG_PERR
    - AFALGerr
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int afalg_set_key(afalg_ctx *actx, const unsigned
      char *key, const int klen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:425,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:432,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:427,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:430,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:428,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:433,1
    - Dst: bind
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:437,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:439,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:440,1
    - Dst: accept
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:444,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:447,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:455,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:446,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:457,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - actx
    - ciphertype
    - ciphername
    argTypes:
    - afalg_ctx*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 460
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 460
    functionName: afalg_create_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - socket
    - ALG_PERR
    - accept
    - close
    - AFALGerr
    - OPENSSL_strlcpy
    - bind
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int afalg_create_sk(afalg_ctx *actx, const char *ciphertype,
      const char *ciphername) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_AFALG_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:929,1
    - Dst: free_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: afalg_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - free_cbc
    - ERR_unload_AFALG_strings
    linkageType: ''
    returnType: int
    signature: 'static int afalg_destroy(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - n
    - ctx
    argTypes:
    - unsigned
    - aio_context_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: io_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int io_setup(unsigned n, aio_context_t *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - waitfd
    - custom
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: afalg_waitfd_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: 'static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key,
      OSSL_ASYNC_FD waitfd, void *custom) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:249,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:251,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:252,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - aio
    argTypes:
    - afalg_aio*
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: afalg_init_aio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - io_setup
    - ALG_PERR
    - AFALGerr
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int afalg_init_aio(afalg_aio *aio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 714
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 714
    functionName: get_cipher_handle
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: cbc_handles*
    signature: 'static cbc_handles *get_cipher_handle(int nid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: afalg_aes_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:760,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 767
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 767
    functionName: afalg_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - afalg_aes_cbc
    linkageType: ''
    returnType: int
    signature: 'static int afalg_ciphers(ENGINE *e, const EVP_CIPHER **cipher, const
      int **nids, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: afalg_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int afalg_finish(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: engine_load_afalg_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void engine_load_afalg_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: eventfd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int eventfd(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:140,1
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:153,1
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:167,1
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - min
    - max
    - events
    - timeout
    argTypes:
    - aio_context_t
    - long
    - long
    - struct io_event*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: io_getevents
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int io_getevents(aio_context_t ctx, long min, long
      max, struct io_event *events, struct timespec *timeout) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:191,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:195,1
    - Dst: ASYNC_WAIT_CTX_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:199,1
    - Dst: eventfd
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:206,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:193,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:208,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:210,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:214,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:218,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:219,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:233,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:224,1
    - Dst: eventfd
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:231,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:234,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:223,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - aio
    argTypes:
    - afalg_aio*
    constantsTouched: []
    func_position:
      end: 241
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 241
    functionName: afalg_setup_async_event_notification
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - ASYNC_get_wait_ctx
    - ASYNC_WAIT_CTX_set_wait_fd
    - ALG_PERR
    - close
    - AFALGerr
    - ALG_WARN
    - fcntl
    - ASYNC_get_current_job
    - ASYNC_WAIT_CTX_get_fd
    - eventfd
    linkageType: ''
    returnType: int
    signature: 'static int afalg_setup_async_event_notification(afalg_aio *aio) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: afalg_setup_async_event_notification
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:279,1
    - Dst: io_read
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:303,1
    - Dst: ALG_PWARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:305,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:285,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:311,1
    - Dst: read
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:314,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:318,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:321,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:332,1
    - Dst: io_getevents
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:336,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:351,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:373,1
    - Dst: ALG_WARN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:361,1
    - Dst: ALG_PERR
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:370,1
    - Dst: io_read
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:349,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 4
    argNames:
    - aio
    - sfd
    - buf
    - len
    argTypes:
    - afalg_aio*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 380
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 380
    functionName: afalg_fin_cipher_aio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - ALG_PERR
    - ALG_WARN
    - afalg_setup_async_event_notification
    - io_getevents
    - io_read
    - ALG_PWARN
    - read
    - ASYNC_pause_job
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int afalg_fin_cipher_aio(afalg_aio *aio, int sfd, unsigned
      char *buf, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:718,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:727,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:732,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:729,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:724,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:734,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:736,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:738,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:740,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 744
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 744
    functionName: afalg_aes_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_free
    - get_cipher_handle
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_cleanup
    - EVP_CIPHER_meth_set_do_cipher
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *afalg_aes_cbc(int nid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_load_AFALG_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:773,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:775,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:777,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:778,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:776,1
    - Dst: ENGINE_set_finish_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:779,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:780,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:789,1
    - Dst: afalg_aes_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:790,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:791,1
    - Dst: ENGINE_set_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:796,1
    - Dst: AFALGerr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:797,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 802
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 802
    functionName: bind_afalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_name
    - AFALGerr
    - ENGINE_set_finish_function
    - afalg_aes_cbc
    - OSSL_NELEM
    - ERR_load_AFALG_strings
    - ENGINE_set_ciphers
    - ENGINE_set_id
    - ENGINE_set_destroy_function
    linkageType: ''
    returnType: int
    signature: 'static int bind_afalg(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:920,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 925
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 925
    functionName: free_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_free
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int free_cbc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - aio_context_t
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: io_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int io_destroy(aio_context_t ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:387,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:388,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cmsg
    - op
    argTypes:
    - struct cmsghdr*
    - ALG_OP_TYPE
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: afalg_set_op_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - CMSG_DATA
    - memcpy
    - CMSG_LEN
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void afalg_set_op_sk(struct cmsghdr *cmsg, const
      ALG_OP_TYPE op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:871,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:875,1
    - Dst: bind_afalg
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 879
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 879
    functionName: engine_afalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - ENGINE_new
    - ENGINE_free
    - bind_afalg
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *engine_afalg(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - n
    - iocb
    argTypes:
    - aio_context_t
    - long
    - struct iocb**
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: io_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int io_read(aio_context_t ctx, long n, struct iocb
      **iocb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:398,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:399,1
    - Dst: ALG_IV_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:398,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - cmsg
    - iv
    - len
    argTypes:
    - struct cmsghdr*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: afalg_set_iv_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - CMSG_DATA
    - memcpy
    - CMSG_LEN
    - ALG_IV_LEN
    linkageType: ''
    returnType: void
    signature: 'static void afalg_set_iv_sk(struct cmsghdr *cmsg, const unsigned char
      *iv, const unsigned int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: afalg_chk_platform
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:885,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:891,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:892,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:897,1
    - Dst: engine_afalg
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:888,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c:903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 904
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 904
    functionName: engine_load_afalg_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    - ENGINE_free
    - afalg_chk_platform
    - engine_afalg
    linkageType: ''
    returnType: void
    signature: 'void engine_load_afalg_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: afalg_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int afalg_init(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c:43,1
    - Dst: ERR_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: ERR_load_AFALG_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c
    functionUses: []
    functionsReached:
    - ERR_load_strings
    - ERR_get_next_error_library
    linkageType: ''
    returnType: int
    signature: 'static int ERR_load_AFALG_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: ERR_unload_AFALG_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c
    functionUses: []
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: 'static void ERR_unload_AFALG_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c:67,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c:68,1
    - Dst: ERR_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: ERR_AFALG_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_afalg_err.c
    functionUses: []
    functionsReached:
    - ERR_set_debug
    - ERR_raise
    - ERR_get_next_error_library
    linkageType: ''
    returnType: void
    signature: 'static void ERR_AFALG_error(int function, int reason, const char *file,
      int line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c:66,1
    - Dst: ERR_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ERR_load_CAPI_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c
    functionUses: []
    functionsReached:
    - ERR_load_strings
    - ERR_get_next_error_library
    linkageType: ''
    returnType: int
    signature: 'static int ERR_load_CAPI_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c:90,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c:91,1
    - Dst: ERR_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: ERR_CAPI_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c
    functionUses: []
    functionsReached:
    - ERR_set_debug
    - ERR_raise
    - ERR_get_next_error_library
    linkageType: ''
    returnType: void
    signature: 'static void ERR_CAPI_error(int function, int reason, const char *file,
      int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ERR_unload_CAPI_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_capi_err.c
    functionUses: []
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: 'static void ERR_unload_CAPI_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_cipher_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:179,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: get_cipher_data_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - assert
    - find_cipher_data_index
    linkageType: ''
    returnType: size_t
    signature: 'static size_t get_cipher_data_index(int nid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:324,1
    - Dst: cipher_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:338,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:347,1
    - Dst: cipher_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:348,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: ctr_do_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - cipher_do_cipher
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ctr_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cipher_list
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: devcrypto_select_all_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: 'static void devcrypto_select_all_ciphers(int *cipher_list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:625,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:630,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:631,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:628,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:632,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:636,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:639,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:642,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:644,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:646,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:649,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:651,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 652
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 652
    functionName: dump_cipher_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - fprintf
    - OSSL_NELEM
    - OBJ_nid2sn
    linkageType: ''
    returnType: void
    signature: 'static void dump_cipher_info(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 717
    functionName: find_digest_data_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: size_t
    signature: 'static size_t find_digest_data_index(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 738
    functionName: get_digest_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_digest_data_index
    linkageType: ''
    returnType: struct digest_data_st*
    signature: 'static const struct digest_data_st *get_digest_data(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:768,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - src
    - srclen
    - res
    - flags
    argTypes:
    - struct digest_ctx*
    - void*
    - size_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 776
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 776
    functionName: digest_op
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int digest_op(struct digest_ctx *ctx, const void *src, size_t
      srclen, void *res, unsigned int flags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:899,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:914,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:926,1
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:947,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:954,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:949,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:922,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:943,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:955,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:958,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:902,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:937,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:951,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:961,1
    - Dst: EVP_MD_meth_set_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:956,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:901,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:904,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:953,1
    - Dst: EVP_MD_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:957,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:967,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:969,1
    - Dst: devcrypto_test_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:970,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 973
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 973
    functionName: prepare_digest_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_new
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_input_blocksize
    - EVP_MD_meth_set_cleanup
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_result_size
    - OPENSSL_strndup
    - OSSL_NELEM
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_copy
    - devcrypto_test_digest
    - EVP_MD_meth_set_update
    - ioctl
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void prepare_digest_methods(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: get_cipher_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_cipher_data_index
    linkageType: ''
    returnType: struct cipher_data_st*
    signature: 'static const struct cipher_data_st *get_cipher_data(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: find_cipher_data_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: size_t
    signature: 'static size_t find_cipher_data_index(int nid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:364,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:377,1
    - Dst: cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:377,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:375,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:376,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:381,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 389
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 389
    functionName: cipher_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - cipher_init
    - EVP_CIPHER_CTX_iv
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int cipher_ctrl(EVP_CIPHER_CTX *ctx, int type, int p1, void*
      p2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:607,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:609,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:611,1
    - Dst: find_cipher_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:612,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:612,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:615,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:616,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - str
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 618
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 618
    functionName: cryptodev_select_cipher_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_get_cipherbyname
    - OPENSSL_free
    - EVP_CIPHER_get_nid
    - OPENSSL_strndup
    - find_cipher_data_index
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int cryptodev_select_cipher_cb(const char *str, int len, void
      *usr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_digest_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:721,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 733
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 733
    functionName: get_digest_data_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - assert
    - find_digest_data_index
    linkageType: ''
    returnType: size_t
    signature: 'static size_t get_digest_data_index(int nid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:781,1
    - Dst: digest_op
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:790,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:796,1
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:789,1
    - Dst: digest_op
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:792,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 798
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 798
    functionName: digest_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - EVP_MD_CTX_get0_md_data
    - EVP_MD_CTX_test_flags
    - digest_op
    linkageType: ''
    returnType: int
    signature: 'static int digest_update(EVP_MD_CTX *ctx, const void *data, size_t
      count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 982
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 982
    functionName: get_digest_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_digest_data_index
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *get_digest_method(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:992,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 996
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 996
    functionName: destroy_digest_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_digest_data_index
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void destroy_digest_method(int nid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1055,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1058,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1063,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1061,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1062,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1068,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1072,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1074,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1076,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1078,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1080,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1082,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1084,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1085
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1085
    functionName: dump_digest_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - fprintf
    - OSSL_NELEM
    - OBJ_nid2sn
    linkageType: ''
    returnType: void
    signature: 'static void dump_digest_info(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rebuild_known_digest_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1152,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1161,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1164,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1168,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1186,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1191,1
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1167,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1183,1
    - Dst: devcrypto_select_all_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1182,1
    - Dst: dump_cipher_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1199,1
    - Dst: rebuild_known_cipher_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1154,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1166,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1181,1
    - Dst: rebuild_known_cipher_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1174,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1184,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1171,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1188,1
    - Dst: rebuild_known_digest_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1194,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1145,1
    - Dst: devcrypto_select_all_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1162,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1163,1
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1187,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1172,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1192,1
    - Dst: dump_digest_info
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1201,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 5
    argNames:
    - e
    - cmd
    - i
    - p
    - (*f)
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 1209
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1209
    functionName: devcrypto_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - CONF_parse_list
    - devcrypto_select_all_ciphers
    - rebuild_known_cipher_nids
    - OPENSSL_free
    - memcpy
    - rebuild_known_digest_nids
    - OPENSSL_zalloc
    - OPENSSL_strcasecmp
    - dump_digest_info
    - fprintf
    - dump_cipher_info
    - devcrypto_select_all_digests
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int devcrypto_ctrl(ENGINE *e, int cmd, long i, void *p, void
      (*f) (void)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - cipher_data_index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: devcrypto_test_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int devcrypto_test_cipher(size_t cipher_data_index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:803,1
    - Dst: digest_op
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:810,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:809,1
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:808,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:809,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:811,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 816
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 816
    functionName: digest_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - digest_op
    - memcpy
    - EVP_MD_CTX_get_size
    - ERR_raise_data
    - EVP_MD_CTX_get0_md_data
    - EVP_MD_CTX_test_flags
    linkageType: ''
    returnType: int
    signature: 'static int digest_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - digest_list
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: devcrypto_select_all_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: 'static void devcrypto_select_all_digests(int *digest_list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1227,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1231,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1231,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1236,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1237,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1237,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1238,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1248
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1248
    functionName: open_devcrypto
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - open
    - close
    - strerror
    - fprintf
    - ioctl
    linkageType: ''
    returnType: int
    signature: 'static int open_devcrypto(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_all_cipher_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1267,1
    - Dst: close_devcrypto
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1272,1
    - Dst: destroy_all_digest_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1275
    functionName: devcrypto_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - close_devcrypto
    - destroy_all_digest_methods
    - destroy_all_cipher_methods
    linkageType: ''
    returnType: int
    signature: 'static int devcrypto_unload(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1368,1
    - Dst: bind_devcrypto
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1371,1
    - Dst: close_devcrypto
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1372,1
    - Dst: open_devcrypto
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1376
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - bind_devcrypto
    - strcmp
    - open_devcrypto
    - close_devcrypto
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e, const char *id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:468,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:488,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:489,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:496,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:436,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:442,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:493,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:499,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:457,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:438,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:494,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:506,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:508,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:516,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:525,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:461,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:477,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:481,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:483,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:512,1
    - Dst: devcrypto_test_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:526,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 531
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 531
    functionName: prepare_cipher_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - devcrypto_test_cipher
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_ctrl
    - OPENSSL_strndup
    - OSSL_NELEM
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_cleanup
    - EVP_CIPHER_meth_set_do_cipher
    - ioctl
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void prepare_cipher_methods(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:821,1
    - Dst: digest_init
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:829,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:836,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:823,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:830,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:837,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 841
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 841
    functionName: digest_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - digest_init
    - EVP_MD_CTX_get0_md_data
    - ioctl
    linkageType: ''
    returnType: int
    signature: 'static int digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1037,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1039,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1041,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1042,1
    - Dst: find_digest_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1042,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1045,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1046,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - str
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1048
    functionName: cryptodev_select_digest_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_get_digestbyname
    - EVP_MD_get_type
    - find_digest_data_index
    - OPENSSL_strndup
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int cryptodev_select_digest_cb(const char *str, int len, void
      *usr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1256,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1259,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1263
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1263
    functionName: close_devcrypto
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - fprintf
    - strerror
    - close
    linkageType: ''
    returnType: int
    signature: 'static int close_devcrypto(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1279,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1281,1
    - Dst: ENGINE_set_ctrl_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1283,1
    - Dst: ENGINE_set_cmd_defns
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1282,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1280,1
    - Dst: prepare_cipher_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1286,1
    - Dst: prepare_digest_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1288,1
    - Dst: ENGINE_set_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1291,1
    - Dst: ENGINE_set_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1293,1
    - Dst: ENGINE_set_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1316,1
    - Dst: ENGINE_set_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1321,1
    - Dst: ENGINE_set_EC
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1324,1
    - Dst: ENGINE_set_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1318,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1328
    functionName: bind_devcrypto
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - ENGINE_set_cmd_defns
    - prepare_digest_methods
    - ENGINE_set_DSA
    - ENGINE_set_name
    - ENGINE_set_ctrl_function
    - ENGINE_set_digests
    - ENGINE_set_EC
    - prepare_cipher_methods
    - ENGINE_set_DH
    - ENGINE_set_ciphers
    - ENGINE_set_RSA
    - ENGINE_set_id
    - ENGINE_set_destroy_function
    linkageType: ''
    returnType: int
    signature: 'static int bind_devcrypto(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    constantsTouched: []
    func_position:
      end: 988
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 988
    functionName: get_digest_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_digest_nids(const int **nids) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:86,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:90,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sess
    argTypes:
    - session_op_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: clean_devcrypto_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int clean_devcrypto_session(session_op_t *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:748,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:754,1
    - Dst: get_digest_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:750,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:750,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:756,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 761
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 761
    functionName: digest_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_digest_data
    - EVP_MD_CTX_get_type
    - ERR_raise_data
    - EVP_MD_CTX_get0_md_data
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int digest_init(EVP_MD_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:207,1
    - Dst: clean_devcrypto_session
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:214,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:227,1
    - Dst: EVP_CIPHER_CTX_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:209,1
    - Dst: get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:209,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:229,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:232,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 237
    functionName: cipher_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - clean_devcrypto_session
    - EVP_CIPHER_CTX_get_nid
    - ERR_raise_data
    - get_cipher_data
    - ioctl
    linkageType: ''
    returnType: int
    signature: 'static int cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    functionName: get_cipher_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_cipher_nids(const int **nids) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:572,1
    - Dst: destroy_cipher_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:573,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: destroy_all_cipher_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - destroy_cipher_method
    - OPENSSL_free
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: 'static void destroy_all_cipher_methods(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:243,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:245,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:252,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:262,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:266,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:267,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:269,1
    - Dst: ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:283,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:284,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:292,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:293,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:298,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 318
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 318
    functionName: cipher_do_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - assert
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - ERR_raise_data
    - EVP_CIPHER_CTX_iv_noconst
    - EVP_CIPHER_CTX_get_iv_length
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int cipher_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:562,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: destroy_cipher_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_free
    - get_cipher_data_index
    linkageType: ''
    returnType: void
    signature: 'static void destroy_cipher_method(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:583,1
    - Dst: get_cipher_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: devcrypto_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_cipher_method
    - get_cipher_nids
    linkageType: ''
    returnType: int
    signature: 'static int devcrypto_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
      const int **nids, int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open_devcrypto
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1339,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1345,1
    - Dst: close_devcrypto
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1344,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1342,1
    - Dst: bind_devcrypto
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1343,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1349,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1350,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1355,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1362
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1362
    functionName: engine_load_devcrypto_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - bind_devcrypto
    - open_devcrypto
    - ERR_pop_to_mark
    - ERR_set_mark
    - close_devcrypto
    - ENGINE_add
    - ENGINE_free
    - ENGINE_new
    linkageType: ''
    returnType: void
    signature: 'void engine_load_devcrypto_int(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:537,1
    - Dst: ENGINE_unregister_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:541,1
    - Dst: devcrypto_test_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:538,1
    - Dst: ENGINE_register_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: rebuild_known_cipher_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - devcrypto_test_cipher
    - OSSL_NELEM
    - ENGINE_unregister_ciphers
    - ENGINE_register_ciphers
    linkageType: ''
    returnType: void
    signature: 'static void rebuild_known_cipher_nids(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:846,1
    - Dst: clean_devcrypto_session
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 852
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 852
    functionName: digest_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - clean_devcrypto_session
    linkageType: ''
    returnType: int
    signature: 'static int digest_cleanup(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - digest_data_index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 876
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 876
    functionName: devcrypto_test_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int devcrypto_test_digest(size_t digest_data_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1002,1
    - Dst: destroy_digest_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1003,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1007
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1007
    functionName: destroy_all_digest_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_NELEM
    - destroy_digest_method
    linkageType: ''
    returnType: void
    signature: 'static void destroy_all_digest_methods(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_data_index
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: get_cipher_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_cipher_data_index
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *get_cipher_method(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:882,1
    - Dst: ENGINE_unregister_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:886,1
    - Dst: devcrypto_test_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:883,1
    - Dst: ENGINE_register_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 888
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 888
    functionName: rebuild_known_digest_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - ENGINE_register_digests
    - devcrypto_test_digest
    - OSSL_NELEM
    - ENGINE_unregister_digests
    linkageType: ''
    returnType: void
    signature: 'static void rebuild_known_digest_nids(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1013,1
    - Dst: get_digest_method
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:1015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 1018
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1018
    functionName: devcrypto_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - get_digest_method
    - get_digest_nids
    linkageType: ''
    returnType: int
    signature: 'static int devcrypto_digests(ENGINE *e, const EVP_MD **digest, const
      int **nids, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:394,1
    - Dst: clean_devcrypto_session
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: cipher_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_devcrypto.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - clean_devcrypto_session
    linkageType: ''
    returnType: int
    signature: 'static int cipher_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: padlock_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int padlock_init(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:168,1
    - Dst: padlock_bind_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: padlock_bind_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - strcmp
    - padlock_bind_helper
    linkageType: ''
    returnType: int
    signature: 'static int padlock_bind_fn(ENGINE *e, const char *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: padlock_available
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:96,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:105,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:111,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:113,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:112,1
    - Dst: ENGINE_set_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:114,1
    - Dst: ENGINE_set_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: padlock_bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - ENGINE_set_init_function
    - padlock_available
    - ENGINE_set_name
    - BIO_snprintf
    - ENGINE_set_ciphers
    - ENGINE_set_id
    - ENGINE_set_RAND
    linkageType: ''
    returnType: int
    signature: 'static int padlock_bind_helper(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:323,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:326,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:328,1
    - Dst: padlock_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:327,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:326,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: padlock_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - padlock_cbc_encrypt
    - memcpy
    - ALIGNED_CIPHER_DATA
    - EVP_CIPHER_CTX_iv
    - EVP_CIPHER_CTX_iv_noconst
    linkageType: ''
    returnType: int
    signature: 'static int padlock_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
      const unsigned char *in_arg, size_t nbytes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:407,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:430,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:414,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:424,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:413,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:430,1
    - Dst: padlock_ofb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:433,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:443,1
    - Dst: padlock_reload_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:444,1
    - Dst: padlock_aes_block
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:445,1
    - Dst: padlock_reload_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:446,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:453,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:453,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 456
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 456
    functionName: padlock_ofb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - memcpy
    - ALIGNED_CIPHER_DATA
    - padlock_reload_key
    - EVP_CIPHER_CTX_iv
    - padlock_aes_block
    - EVP_CIPHER_CTX_iv_noconst
    - padlock_ofb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int padlock_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
      const unsigned char *in_arg, size_t nbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:471,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:472,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:480,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:479,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:481,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 486
    functionName: padlock_ctr_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_buf_noconst
    - ALIGNED_CIPHER_DATA
    - CRYPTO_ctr128_encrypt_ctr32
    - EVP_CIPHER_CTX_iv_noconst
    linkageType: ''
    returnType: int
    signature: 'static int padlock_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
      const unsigned char *in_arg, size_t nbytes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:620,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:627,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:621,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:633,1
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:626,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:642,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:658,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:660,1
    - Dst: padlock_key_bswap
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:664,1
    - Dst: padlock_reload_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:678,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 681
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 681
    functionName: padlock_aes_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - memcpy
    - ALIGNED_CIPHER_DATA
    - AES_set_decrypt_key
    - padlock_key_bswap
    - AES_set_encrypt_key
    - EVP_CIPHER_CTX_is_encrypting
    - padlock_reload_key
    - EVP_CIPHER_CTX_get_key_length
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int padlock_aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: padlock_xstore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:699,1
    - Dst: padlock_xstore
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:713,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:726,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - output
    - count
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 729
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 729
    functionName: padlock_rand_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - padlock_xstore
    linkageType: ''
    returnType: int
    signature: 'static int padlock_rand_bytes(unsigned char *output, int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_padlock
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:48,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:57,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:63,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:52,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: engine_load_padlock_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ENGINE_padlock
    - ERR_set_mark
    - ENGINE_add
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'void engine_load_padlock_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: padlock_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:315,1
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: padlock_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - padlock_ecb_encrypt
    - ALIGNED_CIPHER_DATA
    linkageType: ''
    returnType: int
    signature: 'static int padlock_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
      const unsigned char *in_arg, size_t nbytes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:336,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:340,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:345,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:339,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:356,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:362,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:362,1
    - Dst: padlock_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:365,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:375,1
    - Dst: padlock_reload_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:378,1
    - Dst: padlock_aes_block
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:379,1
    - Dst: padlock_reload_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:388,1
    - Dst: padlock_aes_block
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:389,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:398,1
    - Dst: padlock_reload_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:381,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:398,1
    - Dst: padlock_reload_key
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:390,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 401
    functionName: padlock_cfb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - memcpy
    - ALIGNED_CIPHER_DATA
    - EVP_CIPHER_CTX_is_encrypting
    - padlock_cfb_encrypt
    - padlock_reload_key
    - EVP_CIPHER_CTX_iv
    - padlock_aes_block
    - EVP_CIPHER_CTX_iv_noconst
    linkageType: ''
    returnType: int
    signature: 'static int padlock_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
      const unsigned char *in_arg, size_t nbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:463,1
    - Dst: padlock_ctr32_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - ctx
    - ivec
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - struct padlock_cipher_data*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: padlock_ctr32_encrypt_glue
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - memcpy
    - padlock_ctr32_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void padlock_ctr32_encrypt_glue(const unsigned char *in, unsigned
      char *out, size_t blocks, struct padlock_cipher_data *ctx, const unsigned char
      *ivec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - e
    - id
    - fns
    argTypes:
    - ENGINE*
    - char*
    - dynamic_fns*
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: bind_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_EXPORT
    signature: 'OPENSSL_EXPORT int bind_engine(ENGINE *e, const char *id, const dynamic_fns
      *fns) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: padlock_capability
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: padlock_available
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - padlock_capability
    linkageType: ''
    returnType: int
    signature: 'static int padlock_available(void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: padlock_aes_128_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:558,1
    - Dst: padlock_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:561,1
    - Dst: padlock_aes_128_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:570,1
    - Dst: padlock_aes_128_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:567,1
    - Dst: padlock_aes_128_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:564,1
    - Dst: padlock_aes_192_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:574,1
    - Dst: padlock_aes_192_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:577,1
    - Dst: padlock_aes_192_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:580,1
    - Dst: padlock_aes_192_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:583,1
    - Dst: padlock_aes_192_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:586,1
    - Dst: padlock_aes_256_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:596,1
    - Dst: padlock_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:593,1
    - Dst: padlock_aes_256_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:599,1
    - Dst: padlock_aes_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:602,1
    - Dst: padlock_aes_256_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:590,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 612
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 612
    functionName: padlock_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - padlock_aes_256_ecb
    - padlock_aes_192_cbc
    - padlock_aes_256_cfb
    - padlock_aes_128_cfb
    - padlock_aes_192_ofb
    - padlock_aes_192_cfb
    - padlock_aes_128_ofb
    - padlock_aes_256_ofb
    - padlock_aes_256_cbc
    - padlock_aes_128_cbc
    - padlock_aes_128_ctr
    - padlock_aes_256_ctr
    - padlock_aes_192_ctr
    - padlock_aes_128_ecb
    - padlock_aes_192_ecb
    linkageType: ''
    returnType: int
    signature: 'static int padlock_ciphers(ENGINE *e, const EVP_CIPHER **cipher, const
      int **nids, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: padlock_rand_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int padlock_rand_status(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:127,1
    - Dst: padlock_bind_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:133,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: ENGINE_padlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_padlock.c
    functionUses: []
    functionsReached:
    - ENGINE_new
    - ENGINE_free
    - padlock_bind_helper
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *ENGINE_padlock(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c:28,1
    - Dst: ERR_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: ERR_load_OSSLTEST_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c
    functionUses: []
    functionsReached:
    - ERR_load_strings
    - ERR_get_next_error_library
    linkageType: ''
    returnType: int
    signature: 'static int ERR_load_OSSLTEST_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: ERR_unload_OSSLTEST_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c
    functionUses: []
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: 'static void ERR_unload_OSSLTEST_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c:53,1
    - Dst: ERR_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: ERR_OSSLTEST_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_ossltest_err.c
    functionUses: []
    functionsReached:
    - ERR_set_debug
    - ERR_raise
    - ERR_get_next_error_library
    linkageType: ''
    returnType: void
    signature: 'static void ERR_OSSLTEST_error(int function, int reason, const char
      *file, int line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c:45,1
    - Dst: ERR_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: ERR_load_ATTIC_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c
    functionUses: []
    functionsReached:
    - ERR_load_strings
    - ERR_get_next_error_library
    linkageType: ''
    returnType: int
    signature: 'static int ERR_load_ATTIC_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c:70,1
    - Dst: ERR_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ERR_ATTIC_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c
    functionUses: []
    functionsReached:
    - ERR_set_debug
    - ERR_raise
    - ERR_get_next_error_library
    linkageType: ''
    returnType: void
    signature: 'static void ERR_ATTIC_error(int function, int reason, const char *file,
      int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: ERR_unload_ATTIC_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/engines/e_loader_attic_err.c
    functionUses: []
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: 'static void ERR_unload_ATTIC_strings(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:38,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:45,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:47,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:46,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:44,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 48
    functionName: int_end_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - ossl_assert
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int int_end_context(WPACKET *pkt, int tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:61,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:62,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:64,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:65,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:63,1
    - Dst: int_end_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pkt
    - tag
    - b
    argTypes:
    - WPACKET*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: ossl_DER_w_boolean
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - int_end_context
    - int_start_context
    - WPACKET_start_sub_packet
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_boolean(WPACKET *pkt, int tag, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - tag
    - value
    argTypes:
    - WPACKET*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: ossl_DER_w_octet_string_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    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_der_w_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - tag
    - v
    argTypes:
    - WPACKET*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: ossl_DER_w_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:136,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:143,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:140,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pkt
    - v
    - top_byte
    argTypes:
    - WPACKET*
    - void*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: int_put_bytes_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - bn_get_words
    - BN_bn2bin
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: 'static int int_put_bytes_bn(WPACKET *pkt, const void *v, unsigned
      int *top_byte) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:162,1
    - Dst: int_end_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:166,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:163,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:165,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: ossl_DER_w_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - int_end_context
    - int_start_context
    - WPACKET_start_sub_packet
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_null(WPACKET *pkt, int tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:19,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: int_start_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_start_sub_packet
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'static int int_start_context(WPACKET *pkt, int tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:54,1
    - Dst: int_end_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:56,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pkt
    - tag
    - precompiled
    - precompiled_n
    argTypes:
    - WPACKET*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: ossl_DER_w_precompiled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - int_start_context
    - WPACKET_memcpy
    - int_end_context
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_precompiled(WPACKET *pkt, int tag, const unsigned char
      *precompiled, size_t precompiled_n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:72,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:74,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:75,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:73,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:76,1
    - Dst: int_end_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pkt
    - tag
    - data
    - data_n
    argTypes:
    - WPACKET*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: ossl_DER_w_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - WPACKET_memcpy
    - int_end_context
    - int_start_context
    - WPACKET_start_sub_packet
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_octet_string(WPACKET *pkt, int tag, const unsigned
      char *data, size_t data_n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:99,1
    - Dst: put_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:101,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:102,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:100,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:103,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:104,1
    - Dst: int_end_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:105,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 4
    argNames:
    - pkt
    - tag
    - (*put_bytes)
    - v
    argTypes:
    - WPACKET*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: int_der_w_integer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - int_end_context
    - int_start_context
    - put_bytes
    - WPACKET_start_sub_packet
    linkageType: ''
    returnType: int
    signature: 'static int int_der_w_integer(WPACKET *pkt, int tag, int (*put_bytes)(WPACKET
      *pkt, const void *v, unsigned int *top_byte), const void *v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:152,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:154,1
    - Dst: int_der_w_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:157,1
    - Dst: ossl_DER_w_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - tag
    - v
    argTypes:
    - WPACKET*
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: ossl_DER_w_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_uint32
    - BN_is_negative
    - BN_is_zero
    - int_der_w_integer
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_bn(WPACKET *pkt, int tag, const BIGNUM *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:191,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:193,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:192,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:196,1
    - Dst: WPACKET_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:195,1
    - Dst: int_end_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: ossl_DER_w_end_sequence
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - int_end_context
    - WPACKET_set_flags
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_end_sequence(WPACKET *pkt, int tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes__
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - v
    - top_byte
    argTypes:
    - WPACKET*
    - void*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: int_put_bytes_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_put_bytes__
    linkageType: ''
    returnType: int
    signature: 'static int int_put_bytes_uint32(WPACKET *pkt, const void *v, unsigned
      int *top_byte) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:172,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: ossl_DER_w_begin_sequence
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/der_writer.c
    functionUses: []
    functionsReached:
    - WPACKET_start_sub_packet
    - int_start_context
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_begin_sequence(WPACKET *pkt, int tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_disable_fallback_loading
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:54,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: OSSL_PROVIDER_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_disable_fallback_loading
    - OSSL_PROVIDER_try_load
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *OSSL_PROVIDER_load(OSSL_LIB_CTX *libctx, const char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: OSSL_PROVIDER_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_gettable_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *OSSL_PROVIDER_gettable_params(const OSSL_PROVIDER
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_query_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: OSSL_PROVIDER_query_operation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_query_operation
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'const OSSL_ALGORITHM *OSSL_PROVIDER_query_operation(const OSSL_PROVIDER
      *prov, int operation_id, int *no_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_prov_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: OSSL_PROVIDER_get0_provider_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_prov_ctx
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_PROVIDER_get0_provider_ctx(const OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_self_test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: OSSL_PROVIDER_self_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_self_test
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PROVIDER_self_test(const OSSL_PROVIDER *prov) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:120,1
    - Dst: ossl_provider_info_add_to_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:126,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:123,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:124,1
    - Dst: ossl_provider_info_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - libctx
    - name
    - init_fn
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_provider_init_fn*
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: OSSL_PROVIDER_add_builtin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ossl_provider_info_add_to_store
    - ERR_raise
    - ossl_provider_info_clear
    - memset
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PROVIDER_add_builtin(OSSL_LIB_CTX *libctx, const char *name,
      OSSL_provider_init_fn *init_fn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:24,1
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:30,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:31,1
    - Dst: ossl_provider_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:25,1
    - Dst: ossl_provider_add_to_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:36,1
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:37,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:38,1
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:42,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:43,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - libctx
    - name
    - retain_fallbacks
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 49
    functionName: OSSL_PROVIDER_try_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_new
    - ossl_provider_activate
    - ossl_provider_find
    - ossl_provider_add_to_store
    - ossl_provider_free
    - ossl_provider_deactivate
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *libctx, const
      char *name, int retain_fallbacks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: OSSL_PROVIDER_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_get_params
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:61,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: OSSL_PROVIDER_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    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_unquery_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - operation_id
    - algs
    argTypes:
    - OSSL_PROVIDER*
    - int
    - OSSL_ALGORITHM*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: OSSL_PROVIDER_unquery_operation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_unquery_operation
    linkageType: ''
    returnType: void
    signature: 'void OSSL_PROVIDER_unquery_operation(const OSSL_PROVIDER *prov, int
      operation_id, const OSSL_ALGORITHM *algs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_get0_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: OSSL_PROVIDER_get0_dispatch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_get0_dispatch
    linkageType: ''
    returnType: OSSL_DISPATCH*
    signature: 'const OSSL_DISPATCH *OSSL_PROVIDER_get0_dispatch(const OSSL_PROVIDER
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_get_capabilities
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - prov
    - capability
    - cb
    - arg
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: OSSL_PROVIDER_get_capabilities
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_get_capabilities
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PROVIDER_get_capabilities(const OSSL_PROVIDER *prov, const
      char *capability, OSSL_CALLBACK *cb, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: OSSL_PROVIDER_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_name
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_PROVIDER_get0_name(const OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_doall_activated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - (*cb)
    - cbdata
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: OSSL_PROVIDER_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider.c
    functionUses: []
    functionsReached:
    - ossl_provider_doall_activated
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PROVIDER_do_all(OSSL_LIB_CTX *ctx, int (*cb)(OSSL_PROVIDER
      *provider, void *cbdata), void *cbdata) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:49,1
    - Dst: pthread_rwlock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:54,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:62,1
    - Dst: pthread_mutexattr_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:70,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:55,1
    - Dst: pthread_mutexattr_settype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:73,1
    - Dst: pthread_mutex_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:79,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:81,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 89
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_mutexattr_destroy
    - OPENSSL_free
    - OPENSSL_zalloc
    - pthread_mutex_init
    - pthread_mutexattr_settype
    - pthread_mutexattr_init
    - pthread_rwlock_init
    linkageType: ''
    returnType: CRYPTO_RWLOCK*
    signature: 'CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:109,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:113,1
    - Dst: pthread_mutex_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_wrlock
    - pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: __owur
    signature: '__owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:142,1
    - Dst: pthread_mutex_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:144,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    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: pthread_key_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - key
    - (*cleanup)
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: CRYPTO_THREAD_init_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void
      *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setspecific
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_setspecific
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: CRYPTO_THREAD_get_current_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_self
    linkageType: ''
    returnType: CRYPTO_THREAD_ID
    signature: 'CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:201,1
    - Dst: atomic_add_int_nv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:208,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:218,1
    - Dst: __atomic_add_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:202,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:212,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_is_lock_free
    - CRYPTO_THREAD_write_lock
    - atomic_add_int_nv
    - __atomic_add_fetch
    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/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:253,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:264,1
    - Dst: atomic_or_64_nv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:260,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:267,1
    - Dst: __atomic_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:254,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_is_lock_free
    - __atomic_load
    - atomic_or_64_nv
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:124,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:128,1
    - Dst: pthread_mutex_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_unlock
    - pthread_mutex_unlock
    - assert
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:94,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:98,1
    - Dst: pthread_mutex_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_rdlock
    - pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: __owur
    signature: '__owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - once
    - (*init)
    argTypes:
    - CRYPTO_ONCE*
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: CRYPTO_THREAD_run_once
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - pthread_key_delete
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CRYPTO_THREAD_ID
    - CRYPTO_THREAD_ID
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: CRYPTO_THREAD_compare_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:228,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:244,1
    - Dst: atomic_or_64_nv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:235,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:239,1
    - Dst: __atomic_or_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 248
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_or_fetch
    - __atomic_is_lock_free
    - CRYPTO_THREAD_write_lock
    - atomic_or_64_nv
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: openssl_get_fork_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached:
    - getpid
    linkageType: ''
    returnType: int
    signature: 'int openssl_get_fork_id(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: openssl_init_fork_handlers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_pthread.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int openssl_init_fork_handlers(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:20,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:50,1
    - Dst: GetACP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:30,1
    - Dst: _malloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:46,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:43,1
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:53,1
    - Dst: _malloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:57,1
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:61,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:63,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:69,1
    - Dst: __GLIBC_PREREQ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:91,1
    - Dst: secure_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:93,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:75,1
    - Dst: _freea
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:84,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:73,1
    - Dst: _freea
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:81,1
    - Dst: OPENSSL_issetugid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c:98,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 102
    functionName: ossl_safe_getenv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/getenv.c
    functionUses: []
    functionsReached:
    - GetEnvironmentVariableW
    - WideCharToMultiByte
    - GetACP
    - _malloca
    - secure_getenv
    - __GLIBC_PREREQ
    - OPENSSL_free
    - OPENSSL_issetugid
    - getenv
    - _freea
    - MultiByteToWideChar
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *ossl_safe_getenv(const char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:41,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:58,1
    - Dst: _wfopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:69,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:79,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:110,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:78,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:63,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:56,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:65,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:90,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:59,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:67,1
    - Dst: pathconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:85,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:89,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:89,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:113,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:67,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:68,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:108,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c:76,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 116
    functionName: openssl_fopen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - _alloca
    - GetLastError
    - OSSL_NELEM
    - pathconf
    - fopen
    - MultiByteToWideChar
    - OPENSSL_malloc
    - _wfopen
    - strlen
    linkageType: ''
    returnType: FILE*
    signature: 'FILE *openssl_fopen(const char *filename, const char *mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: openssl_fopen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_fopen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *openssl_fopen(const char *filename, const char *mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c
    functionUses: []
    functionsReached:
    - gethrtime
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t OPENSSL_rdtsc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _sparcv9_vis1_instrument_bus2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - out
    - cnt
    - max
    argTypes:
    - unsigned int*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: OPENSSL_instrument_bus2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: common_handler
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c
    functionUses: []
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: 'static void common_handler(int sig) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:96,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:153,1
    - Dst: _sparcv9_vis1_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:174,1
    - Dst: _sparcv9_vis2_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:180,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:199,1
    - Dst: _sparcv9_rdcfr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:212,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:218,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:95,1
    - Dst: sigfillset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:149,1
    - Dst: _sparcv9_rdtick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:169,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:155,1
    - Dst: _sparcv9_vis1_instrument
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:177,1
    - Dst: _sparcv9_fmadd_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:186,1
    - Dst: _sparcv9_vis3_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:195,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:98,1
    - Dst: _sparcv9_vis1_instrument
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:135,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:150,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:164,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:156,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:165,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:173,1
    - Dst: _sparcv9_fjaesx_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:200,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:211,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:215,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:97,1
    - Dst: getisax
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:106,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:151,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:158,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:160,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:157,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:168,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:185,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:194,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:216,1
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:224,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 131
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 230
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c
    functionUses: []
    functionsReached:
    - _sparcv9_rdtick
    - sigfillset
    - strchr
    - _sparcv9_vis2_probe
    - _sparcv9_vis1_probe
    - sigdelset
    - _sparcv9_rdcfr
    - sigsetjmp
    - memset
    - sigprocmask
    - _sparcv9_vis3_probe
    - _sparcv9_fjaesx_probe
    - sigaction
    - syscall
    - _sparcv9_fmadd_probe
    - getisax
    - getenv
    - strtoul
    - _sparcv9_vis1_instrument
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_cpuid_setup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _sparcv9_vis1_instrument_bus
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - out
    - cnt
    argTypes:
    - unsigned int*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: OPENSSL_instrument_bus
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparcv9cap.c
    functionUses: []
    functionsReached:
    - _sparcv9_vis1_instrument_bus
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_instrument_bus(unsigned int *out, size_t cnt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_clr.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: OPENSSL_cleanse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_clr.c
    functionUses: []
    functionsReached:
    - memset_func
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_cleanse(void *ptr, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:40,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - out
    - extra_blocks
    - is_secure
    argTypes:
    - OSSL_PARAM_BUF*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: ossl_param_buf_alloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_zalloc
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int ossl_param_buf_alloc(OSSL_PARAM_BUF *out, size_t extra_blocks,
      int is_secure) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:68,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:82,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:86,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - src
    - dst
    - buf
    - param_count
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM_BUF
    - int*
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: ossl_param_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached:
    - memcpy
    - CRYPTO_secure_allocated
    - ossl_param_bytes_to_blocks
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *ossl_param_dup(const OSSL_PARAM *src, OSSL_PARAM
      *dst, OSSL_PARAM_BUF buf[OSSL_PARAM_BUF_MAX], int *param_count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: compare_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_params(const void *left, const void *right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ossl_param_bytes_to_blocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_param_bytes_to_blocks(size_t bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - last
    - secure_buffer
    - secure_buffer_sz
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ossl_param_set_secure_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_param_set_secure_block(OSSL_PARAM *last, void *secure_buffer,
      size_t secure_buffer_sz) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:110,1
    - Dst: ossl_param_buf_alloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:120,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:115,1
    - Dst: ossl_param_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:113,1
    - Dst: ossl_param_buf_alloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:125,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:126,1
    - Dst: ossl_param_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:131,1
    - Dst: ossl_param_set_secure_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - src
    argTypes:
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 136
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 136
    functionName: OSSL_PARAM_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached:
    - ossl_param_set_secure_block
    - OPENSSL_free
    - ossl_param_dup
    - ossl_param_buf_alloc
    - ossl_param_bytes_to_blocks
    - memset
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'OSSL_PARAM *OSSL_PARAM_dup(const OSSL_PARAM *src) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:182,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:180,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:177,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:206,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 221
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 221
    functionName: OSSL_PARAM_merge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - ERR_raise
    - qsort
    - OPENSSL_zalloc
    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/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:231,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: OSSL_PARAM_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_dup.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_PARAM_free(OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: dummy_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dummy_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
      int idx, long argl, void *argp) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:284,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:292,1
    - Dst: get_and_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:288,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:293,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:297,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:300,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:303,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:305,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:310,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:320,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:334,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:329,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:324,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:320,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 3
    argNames:
    - class_index
    - to
    - from
    argTypes:
    - int
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    constantsTouched: []
    func_position:
      end: 336
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 336
    functionName: CRYPTO_dup_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    - ERR_raise
    - sk_EX_CALLBACK_num
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - OSSL_NELEM
    - CRYPTO_get_ex_data
    - sk_void_num
    - get_and_lock
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, const
      CRYPTO_EX_DATA *from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:15,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: ossl_do_ex_data_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:66,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:78,1
    - Dst: sk_EX_CALLBACK_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: ossl_crypto_cleanup_all_ex_data_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_ex_data_global
    - sk_EX_CALLBACK_pop_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_crypto_cleanup_all_ex_data_int(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: dummy_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dummy_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
      int idx, long argl, void *argp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:150,1
    - Dst: sk_EX_CALLBACK_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:164,1
    - Dst: sk_EX_CALLBACK_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:160,1
    - Dst: sk_EX_CALLBACK_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:165,1
    - Dst: get_and_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:155,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:167,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:174,1
    - Dst: sk_EX_CALLBACK_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:184,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:185,1
    - Dst: sk_EX_CALLBACK_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:190,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:193,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:189,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:186,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    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
    constantsTouched: []
    func_position:
      end: 195
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 195
    functionName: ossl_crypto_get_ex_new_index_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_EX_CALLBACK_set
    - sk_EX_CALLBACK_num
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_push
    - OPENSSL_free
    - sk_EX_CALLBACK_new_null
    - ossl_lib_ctx_get_ex_data_global
    - sk_EX_CALLBACK_free
    - get_and_lock
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_crypto_get_ex_new_index_ex(OSSL_LIB_CTX *ctx, int class_index,
      long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free
      *free_func, int priority) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:220,1
    - Dst: get_and_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:225,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:236,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:233,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:231,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:239,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:241,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:244,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:249,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:255,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - class_index
    - obj
    - ad
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - void*
    - CRYPTO_EX_DATA*
    constantsTouched: []
    func_position:
      end: 257
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 257
    functionName: ossl_crypto_new_ex_data_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_EX_CALLBACK_num
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - OSSL_NELEM
    - CRYPTO_get_ex_data
    - get_and_lock
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_crypto_new_ex_data_ex(OSSL_LIB_CTX *ctx, int class_index,
      void *obj, CRYPTO_EX_DATA *ad) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:425,1
    - Dst: ossl_crypto_alloc_ex_data_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - class_index
    - obj
    - ad
    - idx
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    - int
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: CRYPTO_alloc_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    - ossl_crypto_alloc_ex_data_intern
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA
      *ad, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - to
    - from
    - from_d
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: dummy_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_dup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from,
      void **from_d, int idx, long argl, void *argp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_get_ex_new_index_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: CRYPTO_get_ex_new_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    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,
      CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_new_ex_data_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - class_index
    - obj
    - ad
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: CRYPTO_new_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:440,1
    - Dst: get_and_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:444,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:448,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - class_index
    - obj
    - ad
    - idx
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    - int
    constantsTouched: []
    func_position:
      end: 460
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 460
    functionName: ossl_crypto_alloc_ex_data_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - get_and_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int ossl_crypto_alloc_ex_data_intern(int class_index, void *obj, CRYPTO_EX_DATA
      *ad, int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:34,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - global
    - class_index
    argTypes:
    - OSSL_EX_DATA_GLOBAL*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: get_and_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: EX_CALLBACKS*
    signature: 'static EX_CALLBACKS *get_and_lock(OSSL_EX_DATA_GLOBAL *global, int
      class_index) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:372,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:386,1
    - Dst: get_and_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:377,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:381,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:383,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:389,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:393,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:397,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:402,1
    - Dst: sk_void_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:411,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:409,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 3
    argNames:
    - class_index
    - obj
    - ad
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    constantsTouched: []
    func_position:
      end: 414
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 414
    functionName: CRYPTO_free_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - sk_EX_CALLBACK_num
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - sk_void_free
    - OSSL_NELEM
    - qsort
    - CRYPTO_get_ex_data
    - get_and_lock
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA
      *ad) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:497,1
    - Dst: sk_void_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ad
    - idx
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: CRYPTO_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - sk_void_value
    - sk_void_num
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - funcs
    argTypes:
    - EX_CALLBACK*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: cleanup_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_cb(EX_CALLBACK *funcs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 358
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 358
    functionName: ex_callback_compare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ex_callback_compare(const void *a, const void *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_void_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:471,1
    - Dst: sk_void_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:478,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:479,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:472,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:477,1
    - Dst: sk_void_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:483,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ad
    - idx
    - val
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 489
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 489
    functionName: CRYPTO_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_void_set
    - sk_void_push
    - sk_void_new_null
    - sk_void_num
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:109,1
    - Dst: get_and_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:114,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:120,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:128,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:118,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - class_index
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: ossl_crypto_free_ex_index_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - sk_EX_CALLBACK_num
    - CRYPTO_THREAD_unlock
    - 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/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - class_index
    - idx
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: CRYPTO_free_ex_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached:
    - ossl_crypto_free_ex_index_ex
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_free_ex_index(int class_index, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ad
    argTypes:
    - CRYPTO_EX_DATA*
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: ossl_crypto_ex_data_get_ossl_lib_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ex_data.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_crypto_ex_data_get_ossl_lib_ctx(const CRYPTO_EX_DATA
      *ad) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:78,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - bld
    - key
    - num
    - size
    - type
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: param_push_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - param_push
    linkageType: ''
    returnType: int
    signature: 'static int param_push_num(OSSL_PARAM_BLD *bld, const char *key, void
      *num, size_t size, int type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:92,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:95,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: OSSL_PARAM_BLD_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_OSSL_PARAM_BLD_DEF_new_null
    - OPENSSL_zalloc
    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/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:106,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: free_all_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_OSSL_PARAM_BLD_DEF_num
    - sk_OSSL_PARAM_BLD_DEF_pop
    linkageType: ''
    returnType: void
    signature: 'static void free_all_params(OSSL_PARAM_BLD *bld) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: OSSL_PARAM_BLD_push_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_int64(OSSL_PARAM_BLD *bld, const char *key,
      int64_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: OSSL_PARAM_BLD_push_size_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_size_t(OSSL_PARAM_BLD *bld, const char *key,
      size_t num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:261,1
    - Dst: param_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:266,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: OSSL_PARAM_BLD_push_utf8_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - param_push
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key,
      char *buf, size_t bsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:297,1
    - Dst: param_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 305
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 305
    functionName: OSSL_PARAM_BLD_push_octet_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - param_push
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char
      *key, void *buf, size_t bsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: ossl_param_bld_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_PARAM_BLD_DEF)
    signature: 'DEFINE_STACK_OF(OSSL_PARAM_BLD_DEF) struct ossl_param_bld_st '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:54,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:63,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:68,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - bld
    - key
    - size
    - alloc
    - type
    - secure
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: param_push
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - sk_OSSL_PARAM_BLD_DEF_push
    - ossl_param_bytes_to_blocks
    linkageType: ''
    returnType: OSSL_PARAM_BLD_DEF*
    signature: 'static OSSL_PARAM_BLD_DEF *param_push(OSSL_PARAM_BLD *bld, const char
      *key, int size, size_t alloc, int type, int secure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_all_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:116,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:118,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: OSSL_PARAM_BLD_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - free_all_params
    - sk_OSSL_PARAM_BLD_DEF_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_PARAM_BLD_free(OSSL_PARAM_BLD *bld) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: OSSL_PARAM_BLD_push_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_uint64(OSSL_PARAM_BLD *bld, const char *key,
      uint64_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - time_t
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: OSSL_PARAM_BLD_push_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_time_t(OSSL_PARAM_BLD *bld, const char *key,
      time_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:280,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:283,1
    - Dst: param_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 289
    functionName: OSSL_PARAM_BLD_push_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_secure_allocated
    - param_push
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char
      *key, const void *buf, size_t bsize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PARAM_BLD_DEF_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:311,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:340,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:316,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:342,1
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:332,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:348,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:350,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:353,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - bld
    - param
    - blk
    - secure
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - OSSL_PARAM_ALIGNED_BLOCK*
    - OSSL_PARAM_ALIGNED_BLOCK*
    constantsTouched: []
    func_position:
      end: 355
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 355
    functionName: param_bld_convert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - sk_OSSL_PARAM_BLD_DEF_num
    - memcpy
    - BN_bn2nativepad
    - OSSL_PARAM_construct_end
    - sk_OSSL_PARAM_BLD_DEF_value
    - memset
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *param_bld_convert(OSSL_PARAM_BLD *bld, OSSL_PARAM
      *param, OSSL_PARAM_ALIGNED_BLOCK *blk, OSSL_PARAM_ALIGNED_BLOCK *secure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: OSSL_PARAM_BLD_push_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_int(OSSL_PARAM_BLD *bld, const char *key,
      int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: OSSL_PARAM_BLD_push_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_uint(OSSL_PARAM_BLD *bld, const char *key,
      unsigned int num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PARAM_BLD_DEF_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:369,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:367,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:362,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:373,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:375,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:376,1
    - Dst: param_bld_convert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:380,1
    - Dst: ossl_param_set_secure_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:381,1
    - Dst: free_all_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:386,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    constantsTouched: []
    func_position:
      end: 388
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 388
    functionName: OSSL_PARAM_BLD_to_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - ossl_param_set_secure_block
    - sk_OSSL_PARAM_BLD_DEF_num
    - ERR_raise
    - OPENSSL_secure_malloc
    - param_bld_convert
    - free_all_params
    - OPENSSL_secure_free
    - OPENSSL_malloc
    - ossl_param_bytes_to_blocks
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'OSSL_PARAM *OSSL_PARAM_BLD_to_param(OSSL_PARAM_BLD *bld) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - long int
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: OSSL_PARAM_BLD_push_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_long(OSSL_PARAM_BLD *bld, const char *key,
      long int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: OSSL_PARAM_BLD_push_int32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_int32(OSSL_PARAM_BLD *bld, const char *key,
      int32_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: OSSL_PARAM_BLD_push_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_double(OSSL_PARAM_BLD *bld, const char *key,
      double num) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:214,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:212,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:207,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:221,1
    - Dst: param_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - bld
    - key
    - bn
    - sz
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    - size_t
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: OSSL_PARAM_BLD_push_BN_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - param_push
    - BN_num_bytes
    - BN_get_flags
    - BN_is_negative
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_BN_pad(OSSL_PARAM_BLD *bld, const char *key,
      const BIGNUM *bn, size_t sz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: OSSL_PARAM_BLD_push_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_ulong(OSSL_PARAM_BLD *bld, const char *key,
      unsigned long int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: OSSL_PARAM_BLD_push_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_uint32(OSSL_PARAM_BLD *bld, const char *key,
      uint32_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_BN_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:195,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - bld
    - key
    - bn
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: OSSL_PARAM_BLD_push_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_push_BN_pad
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_BN(OSSL_PARAM_BLD *bld, const char *key, const
      BIGNUM *bn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:242,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:247,1
    - Dst: param_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c:244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: OSSL_PARAM_BLD_push_utf8_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_secure_allocated
    - param_push
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_BLD_push_utf8_string(OSSL_PARAM_BLD *bld, const char
      *key, const char *buf, size_t bsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: CRYPTO_secure_malloc_initialized
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_secure_malloc_initialized(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:202,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:207,1
    - Dst: sh_actual_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:209,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:203,1
    - Dst: CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:204,1
    - Dst: CLEAR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:210,1
    - Dst: sh_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:212,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:213,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:217,1
    - Dst: CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ptr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 220
    functionName: CRYPTO_secure_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - CLEAR
    - CRYPTO_free
    - sh_free
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - OPENSSL_cleanse
    - CRYPTO_secure_allocated
    - sh_actual_size
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_secure_clear_free(void *ptr, size_t num, const char *file,
      int line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:638,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:638,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:641,1
    - Dst: sh_clearbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:639,1
    - Dst: sh_remove_from_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:640,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:647,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:647,1
    - Dst: sh_setbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:648,1
    - Dst: sh_setbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:655,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:664,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:654,1
    - Dst: sh_find_my_buddy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:659,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:654,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:668,1
    - Dst: sh_add_to_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:649,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:650,1
    - Dst: sh_add_to_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:656,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:659,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:657,1
    - Dst: sh_setbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:665,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:668,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:671,1
    - Dst: sh_remove_from_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:666,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:664,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 674
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 674
    functionName: sh_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - sh_setbit
    - sh_clearbit
    - sh_testbit
    - OPENSSL_assert
    - memset
    - sh_remove_from_list
    - sh_find_my_buddy
    - sh_add_to_list
    - WITHIN_ARENA
    linkageType: ''
    returnType: void*
    signature: 'static void *sh_malloc(size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:147,1
    - Dst: sh_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:151,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:149,1
    - Dst: sh_actual_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:152,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:154,1
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: CRYPTO_secure_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - CRYPTO_malloc
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sh_malloc
    - sh_actual_size
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_secure_malloc(size_t num, const char *file, int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sh_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: CRYPTO_secure_allocated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - sh_allocated
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_secure_allocated(const void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sh_getlist
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:687,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:683,1
    - Dst: sh_find_my_buddy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:693,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:694,1
    - Dst: sh_clearbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:697,1
    - Dst: sh_remove_from_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:701,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:683,1
    - Dst: sh_clearbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:689,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:696,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:696,1
    - Dst: sh_remove_from_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:698,1
    - Dst: sh_clearbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:700,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:706,1
    - Dst: sh_setbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:711,1
    - Dst: sh_add_to_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:712,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:713,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:684,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:688,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:688,1
    - Dst: sh_add_to_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:690,1
    - Dst: sh_find_my_buddy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:694,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:695,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:699,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:699,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:710,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 715
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 715
    functionName: sh_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - sh_setbit
    - sh_clearbit
    - sh_testbit
    - OPENSSL_assert
    - sh_getlist
    - memset
    - sh_remove_from_list
    - sh_find_my_buddy
    - sh_add_to_list
    - WITHIN_ARENA
    linkageType: ''
    returnType: void
    signature: 'static void sh_free(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:353,1
    - Dst: TESTBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:357,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:357,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:354,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:356,1
    - Dst: CLEARBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: sh_clearbit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - CLEARBIT
    - TESTBIT
    linkageType: ''
    returnType: void
    signature: 'static void sh_clearbit(char *ptr, int list, unsigned char *table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:377,1
    - Dst: WITHIN_FREELIST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:377,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:378,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:378,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:382,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:382,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - list
    - ptr
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: sh_add_to_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - WITHIN_FREELIST
    - OPENSSL_assert
    - WITHIN_ARENA
    linkageType: ''
    returnType: void
    signature: 'static void sh_add_to_list(char **list, char *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: sh_allocated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - WITHIN_ARENA
    linkageType: ''
    returnType: int
    signature: 'static int sh_allocated(const char *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:365,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:368,1
    - Dst: TESTBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:369,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:366,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:369,1
    - Dst: SETBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: sh_setbit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - TESTBIT
    - SETBIT
    linkageType: ''
    returnType: void
    signature: 'static void sh_setbit(char *ptr, int list, unsigned char *table) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:405,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:405,1
    - Dst: WITHIN_FREELIST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 406
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 406
    functionName: sh_remove_from_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - WITHIN_FREELIST
    - OPENSSL_assert
    - WITHIN_ARENA
    linkageType: ''
    returnType: void
    signature: 'static void sh_remove_from_list(char *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TESTBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:605,1
    - Dst: TESTBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ptr
    - list
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 609
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 609
    functionName: sh_find_my_buddy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - TESTBIT
    linkageType: ''
    returnType: char*
    signature: 'static char *sh_find_my_buddy(char *ptr, int list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:243,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: CRYPTO_secure_used
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_secure_used(void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:423,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:467,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:468,1
    - Dst: mmap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:500,1
    - Dst: sysconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:483,1
    - Dst: mmap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:508,1
    - Dst: sysconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:481,1
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:550,1
    - Dst: sh_done
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:573,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:429,1
    - Dst: VirtualAlloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:517,1
    - Dst: open
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:507,1
    - Dst: mprotect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:532,1
    - Dst: madvise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:566,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:420,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:445,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:424,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:510,1
    - Dst: sh_setbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:524,1
    - Dst: VirtualLock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:559,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:462,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:463,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:472,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:473,1
    - Dst: GetSystemInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:491,1
    - Dst: sh_add_to_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:525,1
    - Dst: VirtualProtect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:535,1
    - Dst: mprotect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:542,1
    - Dst: VirtualProtect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:545,1
    - Dst: mlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:552,1
    - Dst: mlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:562,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 149
    argCount: 2
    argNames:
    - size
    - minsize
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 575
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 575
    functionName: sh_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - sh_setbit
    - open
    - close
    - madvise
    - VirtualProtect
    - OPENSSL_assert
    - syscall
    - mlock
    - OPENSSL_zalloc
    - mprotect
    - sysconf
    - VirtualAlloc
    - mmap
    - VirtualLock
    - sh_add_to_list
    - sh_done
    - GetSystemInfo
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int sh_init(size_t size, size_t minsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:258,1
    - Dst: sh_actual_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:260,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: CRYPTO_secure_actual_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - sh_actual_size
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_secure_actual_size(void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:579,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:580,1
    - Dst: VirtualFree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:587,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:581,1
    - Dst: munmap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:584,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 590
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 590
    functionName: sh_done
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - munmap
    - OPENSSL_free
    - VirtualFree
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void sh_done(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:100,1
    - Dst: sh_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:103,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - size
    - minsize
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: CRYPTO_secure_malloc_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - sh_init
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_secure_malloc_init(size_t size, size_t minsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:166,1
    - Dst: CRYPTO_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: CRYPTO_secure_zalloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - CRYPTO_zalloc
    - CRYPTO_secure_malloc
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_secure_zalloc(size_t num, const char *file, int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TESTBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:329,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: sh_getlist
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - TESTBIT
    linkageType: ''
    returnType: size_t
    signature: 'static size_t sh_getlist(char *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sh_done
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:121,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: CRYPTO_secure_malloc_done
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - sh_done
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_secure_malloc_done(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:178,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:182,1
    - Dst: CLEAR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:185,1
    - Dst: sh_actual_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:184,1
    - Dst: CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:179,1
    - Dst: sh_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:187,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:188,1
    - Dst: CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 192
    functionName: CRYPTO_secure_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - CLEAR
    - CRYPTO_free
    - sh_free
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - CRYPTO_secure_allocated
    - sh_actual_size
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_secure_free(void *ptr, const char *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:342,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:345,1
    - Dst: TESTBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:346,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: sh_testbit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - TESTBIT
    linkageType: ''
    returnType: int
    signature: 'static int sh_testbit(char *ptr, int list, unsigned char *table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:721,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:721,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:725,1
    - Dst: WITHIN_ARENA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:722,1
    - Dst: sh_getlist
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:724,1
    - Dst: sh_testbit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 727
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 727
    functionName: sh_actual_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem_sec.c
    functionUses: []
    functionsReached:
    - sh_testbit
    - OPENSSL_assert
    - sh_getlist
    - WITHIN_ARENA
    linkageType: ''
    returnType: size_t
    signature: 'static size_t sh_actual_size(char *ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 6
    argNames:
    - key
    - base
    - num
    - size
    - (*cmp)
    - flags
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 43
    functionName: ossl_bsearch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bsearch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'const void *ossl_bsearch(const void *key, const void *base, int num,
      int size, int (*cmp) (const void *, const void *), int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_local.h:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: typedef
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(INFOPAIR)
    signature: 'DEFINE_STACK_OF(INFOPAIR) typedef struct '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpacket_intern_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:331,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 338
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 338
    functionName: WPACKET_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - wpacket_intern_close
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_finish(WPACKET *pkt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:442,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - src
    - len
    argTypes:
    - WPACKET*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: WPACKET_memcpy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_memcpy(WPACKET *pkt, const void *src, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - written
    argTypes:
    - WPACKET*
    - size_t*
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: WPACKET_get_total_written
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_get_total_written(WPACKET *pkt, size_t *written) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GETBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:486,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: WPACKET_get_curr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - GETBUF
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *WPACKET_get_curr(WPACKET *pkt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:346,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:354,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:353,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pkt
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 374
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 374
    functionName: WPACKET_start_sub_packet_len__
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - ERR_raise
    - ossl_assert
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_start_sub_packet_len__(WPACKET *pkt, size_t lenbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:454,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:456,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - pkt
    - src
    - len
    - lenbytes
    argTypes:
    - WPACKET*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: WPACKET_sub_memcpy__
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    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,
      size_t lenbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - WPACKET*
    - size_t*
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: WPACKET_get_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_get_length(WPACKET *pkt, size_t *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: WPACKET_is_null_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_is_null_buf(WPACKET *pkt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: WPACKET_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void WPACKET_cleanup(WPACKET *pkt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_reserve_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - pkt
    - len
    - allocbytes
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: WPACKET_sub_reserve_bytes__
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_reserve_bytes
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_sub_reserve_bytes__(WPACKET *pkt, size_t len, unsigned
      char **allocbytes, size_t lenbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:147,1
    - Dst: wpacket_intern_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pkt
    - buf
    - len
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: WPACKET_init_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - wpacket_intern_init_len
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_init_der(WPACKET *pkt, unsigned char *buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:400,1
    - Dst: maxmaxsize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pkt
    - maxsize
    argTypes:
    - WPACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: WPACKET_set_max_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - maxmaxsize
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_set_max_size(WPACKET *pkt, size_t maxsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - lenbytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: maxmaxsize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t maxmaxsize(size_t lenbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:161,1
    - Dst: maxmaxsize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:166,1
    - Dst: wpacket_intern_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pkt
    - buf
    - lenbytes
    argTypes:
    - WPACKET*
    - BUF_MEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: WPACKET_init_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - wpacket_intern_init_len
    - maxmaxsize
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_init_len(WPACKET *pkt, BUF_MEM *buf, size_t lenbytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:426,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - ch
    - len
    argTypes:
    - WPACKET*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 433
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 433
    functionName: WPACKET_memset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - memset
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_memset(WPACKET *pkt, int ch, size_t len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GETBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:261,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:280,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:287,1
    - Dst: put_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:264,1
    - Dst: WPACKET_put_bytes__
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:276,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 3
    argNames:
    - pkt
    - sub
    - doclose
    argTypes:
    - WPACKET*
    - WPACKET_SUB*
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 291
    functionName: wpacket_intern_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - GETBUF
    - WPACKET_put_bytes_u8
    - put_value
    - OPENSSL_free
    - WPACKET_put_bytes__
    linkageType: ''
    returnType: int
    signature: 'static int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int
      doclose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_reserve_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:17,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - len
    - allocbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: WPACKET_allocate_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_reserve_bytes
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char
      **allocbytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - data
    - value
    - len
    argTypes:
    - unsigned char*
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: put_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int put_value(unsigned char *data, uint64_t value, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: WPACKET_start_sub_packet
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_start_sub_packet_len__
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_start_sub_packet(WPACKET *pkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:28,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:29,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:30,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pkt
    - len
    - allocbytes
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: WPACKET_sub_allocate_bytes__
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - WPACKET_close
    - WPACKET_start_sub_packet_len__
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_sub_allocate_bytes__(WPACKET *pkt, size_t len, unsigned
      char **allocbytes, size_t lenbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:386,1
    - Dst: put_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:388,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pkt
    - val
    - size
    argTypes:
    - WPACKET*
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: WPACKET_put_bytes__
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - put_value
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_put_bytes__(WPACKET *pkt, uint64_t val, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:106,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:118,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:107,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pkt
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 125
    functionName: wpacket_intern_init_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int wpacket_intern_init_len(WPACKET *pkt, size_t lenbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - buf
    argTypes:
    - WPACKET*
    - BUF_MEM*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: WPACKET_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - WPACKET_init_len
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_init(WPACKET *pkt, BUF_MEM *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpacket_intern_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: WPACKET_init_null_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - wpacket_intern_init_len
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_init_null_der(WPACKET *pkt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:297,1
    - Dst: wpacket_intern_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: WPACKET_fill_lengths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - wpacket_intern_close
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_fill_lengths(WPACKET *pkt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:45,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:68,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:64,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - pkt
    - len
    - allocbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 74
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 74
    functionName: WPACKET_reserve_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - BUF_MEM_grow
    - WPACKET_get_curr
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char
      **allocbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: maxmaxsize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:130,1
    - Dst: wpacket_intern_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:141,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - pkt
    - buf
    - len
    - lenbytes
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: WPACKET_init_static_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - wpacket_intern_init_len
    - maxmaxsize
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_init_static_len(WPACKET *pkt, unsigned char *buf, size_t
      len, size_t lenbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: maxmaxsize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:181,1
    - Dst: wpacket_intern_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: WPACKET_init_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - wpacket_intern_init_len
    - maxmaxsize
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_init_null(WPACKET *pkt, size_t lenbytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - flags
    argTypes:
    - WPACKET*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: WPACKET_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_set_flags(WPACKET *pkt, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpacket_intern_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: WPACKET_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/packet.c
    functionUses: []
    functionsReached:
    - wpacket_intern_close
    linkageType: ''
    returnType: int
    signature: 'int WPACKET_close(WPACKET *pkt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 5
    argNames:
    - provider
    - map
    - cur_operation
    - no_store
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_ALGORITHM*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 93
    functionName: algorithm_do_map
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int algorithm_do_map(OSSL_PROVIDER *provider, const OSSL_ALGORITHM
      *map, int cur_operation, int no_store, void *cbdata) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_query_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:119,1
    - Dst: ossl_provider_unquery_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:122,1
    - Dst: algorithm_do_map
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - provider
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: algorithm_do_this
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c
    functionUses: []
    functionsReached:
    - algorithm_do_map
    - ossl_provider_query_operation
    - ossl_provider_unquery_operation
    linkageType: ''
    returnType: int
    signature: 'static int algorithm_do_this(OSSL_PROVIDER *provider, void *cbdata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_doall_activated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:161,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:170,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:171,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:170,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:163,1
    - Dst: algorithm_do_this
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:175,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 21
    argCount: 9
    argNames:
    - libctx
    - operation_id
    - provider
    - (*pre)
    - (*reserve_store)
    - (*fn)
    - (*unreserve_store)
    - (*post)
    - data
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - OSSL_PROVIDER*
    - int
    - int
    - void
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 177
    functionName: ossl_algorithm_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - ossl_assert
    - algorithm_do_this
    - ossl_provider_doall_activated
    - ossl_provider_libctx
    linkageType: ''
    returnType: void
    signature: 'void ossl_algorithm_do_all(OSSL_LIB_CTX *libctx, int operation_id,
      OSSL_PROVIDER *provider, int (*pre)(OSSL_PROVIDER *, int operation_id, int no_store,
      void *data, int *result), int (*reserve_store)(int no_store, void *data), void
      (*fn)(OSSL_PROVIDER *provider, const OSSL_ALGORITHM *algo, int no_store, void
      *data), int (*unreserve_store)(void *data), int (*post)(OSSL_PROVIDER *, int
      operation_id, int no_store, void *data, int *result), void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:188,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:196,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - algo
    argTypes:
    - OSSL_ALGORITHM*
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: ossl_algorithm_get1_first_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_algorithm.c
    functionUses: []
    functionsReached:
    - strchr
    - ERR_raise
    - OPENSSL_strndup
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *ossl_algorithm_get1_first_name(const OSSL_ALGORITHM *algo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_cpuid_setup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ill_handler
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c
    functionUses: []
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: 'static void ill_handler(int sig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _armv7_tick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c
    functionUses: []
    functionsReached:
    - _armv7_tick
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t OPENSSL_rdtsc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t OPENSSL_rdtsc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: getauxval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c
    functionUses: []
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long getauxval(unsigned long key) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:182,1
    - Dst: sigfillset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:216,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:220,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:232,1
    - Dst: _armv8_sha512_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:252,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:265,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:266,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:272,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:219,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:238,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:227,1
    - Dst: _armv8_pmull_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:236,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:242,1
    - Dst: _armv8_sha256_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:247,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:156,1
    - Dst: getauxval
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:190,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:218,1
    - Dst: _armv7_neon_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:233,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:251,1
    - Dst: _armv8_cpuid_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:270,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:273,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:155,1
    - Dst: getauxval
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:189,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:217,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:235,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:228,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:221,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:223,1
    - Dst: _armv8_aes_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:239,1
    - Dst: _armv8_sha1_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:243,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c:246,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 278
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 278
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/armcap.c
    functionUses: []
    functionsReached:
    - sigdelset
    - _armv8_sha256_probe
    - _armv8_cpuid_probe
    - sigfillset
    - _armv8_aes_probe
    - sigsetjmp
    - _armv8_sha1_probe
    - _armv8_sha512_probe
    - MIDR_IS_CPU_MODEL
    - sigaction
    - _armv7_neon_probe
    - _armv8_pmull_probe
    - sigprocmask
    - getenv
    - getauxval
    - sysctlbyname
    - strtoul
    - memset
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_cpuid_setup(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:95,1
    - Dst: opendir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:111,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:104,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:100,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:114,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:122,1
    - Dst: readdir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:128,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:133,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:137,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:139,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:143,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 149
    functionName: LP_find_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c
    functionUses: []
    functionsReached:
    - readdir
    - memset
    - OPENSSL_strlcpy
    - free
    - OPENSSL_strcasecmp
    - malloc
    - isdigit
    - opendir
    - strncpy
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:154,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: LP_find_file_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_unix.c
    functionUses: []
    functionsReached:
    - free
    - closedir
    linkageType: ''
    returnType: int
    signature: 'int LP_find_file_end(LP_DIR_CTX **ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: OPENSSL_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_init.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_init(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:124,1
    - Dst: ossl_crypto_cleanup_all_ex_data_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:134,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:131,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:133,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:136,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:138,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: context_deinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_free_ex_data
    - ossl_crypto_cleanup_all_ex_data_int
    - ossl_ctx_thread_stop
    linkageType: ''
    returnType: int
    signature: 'static int context_deinit(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:153,1
    - Dst: context_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: (default_context_do_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_init_local
    - context_init
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (default_context_do_init) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:204,1
    - Dst: ossl_bio_init_core
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:209,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - in
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: OSSL_LIB_CTX_new_from_dispatch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_new
    - ossl_bio_init_core
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *OSSL_LIB_CTX_new_from_dispatch(const OSSL_CORE_HANDLE
      *handle, const OSSL_DISPATCH *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - parent_ign
    - ptr
    - ad
    - index
    - argl_ign
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: ossl_lib_ctx_generic_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ossl_lib_ctx_generic_free(void *parent_ign, void *ptr,
      CRYPTO_EX_DATA *ad, int index, long argl_ign, void *argp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_deinit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:159,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: ossl_lib_ctx_default_deinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - context_deinit
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: void
    signature: 'void ossl_lib_ctx_default_deinit(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:220,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:226,1
    - Dst: ossl_provider_init_as_child
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - in
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: OSSL_LIB_CTX_new_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_provider_init_as_child
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new_from_dispatch
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *OSSL_LIB_CTX_new_child(const OSSL_CORE_HANDLE *handle,
      const OSSL_DISPATCH *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_modules_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - config_file
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: OSSL_LIB_CTX_load_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:283,1
    - Dst: ossl_rand_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:284,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: ossl_release_default_drbg_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    - CRYPTO_set_ex_data
    - ossl_rand_ctx_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_release_default_drbg_ctx(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:350,1
    - Dst: ossl_crypto_get_ex_new_index_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - static_index
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - OSSL_LIB_CTX_METHOD*
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: ossl_lib_ctx_init_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_crypto_get_ex_new_index_ex
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: int
    signature: 'static int ossl_lib_ctx_init_index(OSSL_LIB_CTX *ctx, int static_index,
      const OSSL_LIB_CTX_METHOD *meth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: ossl_lib_ctx_is_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: int
    signature: 'int ossl_lib_ctx_is_child(OSSL_LIB_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:165,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: get_thread_default_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_get_local
    - RUN_ONCE
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'static OSSL_LIB_CTX *get_thread_default_context(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: ossl_lib_ctx_is_global_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: int
    signature: 'int ossl_lib_ctx_is_global_default(OSSL_LIB_CTX *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:376,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:384,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:379,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:389,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:390,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:394,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:405,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:396,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:429,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:388,1
    - Dst: ossl_crypto_alloc_ex_data_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:427,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:432,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:436,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:372,1
    - Dst: ossl_lib_ctx_init_index
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:409,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:403,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:411,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:404,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:431,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:382,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:385,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:397,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:415,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:410,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - index
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - OSSL_LIB_CTX_METHOD*
    constantsTouched: []
    func_position:
      end: 438
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 438
    functionName: ossl_lib_ctx_get_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ossl_crypto_alloc_ex_data_intern
    - CRYPTO_THREAD_read_lock
    - ossl_lib_ctx_init_index
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_lib_ctx_get_data(OSSL_LIB_CTX *ctx, int index, const OSSL_LIB_CTX_METHOD
      *meth) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:453,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:471,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:467,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:462,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:457,1
    - Dst: run_once_fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:475,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:478,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - idx
    - run_once_fn
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned int
    - ossl_lib_ctx_run_once_fn
    constantsTouched: []
    func_position:
      end: 481
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 481
    functionName: ossl_lib_ctx_run_once
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - run_once_fn
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: int
    signature: 'int ossl_lib_ctx_run_once(OSSL_LIB_CTX *ctx, unsigned int idx, ossl_lib_ctx_run_once_fn
      run_once_fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:49,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ossl_lib_ctx_write_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:76,1
    - Dst: ossl_crypto_new_ex_data_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:96,1
    - Dst: ossl_do_ex_data_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:92,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:80,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:85,1
    - Dst: ossl_property_parse_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:101,1
    - Dst: ossl_crypto_cleanup_all_ex_data_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:107,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:109,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:110,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:111,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:112,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 114
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 114
    functionName: context_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_property_parse_init
    - ossl_crypto_new_ex_data_ex
    - CRYPTO_THREAD_lock_free
    - ossl_crypto_cleanup_all_ex_data_int
    - ossl_do_ex_data_init
    - CRYPTO_THREAD_lock_new
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int context_init(OSSL_LIB_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_thread_default_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: get_default_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - get_thread_default_context
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'static OSSL_LIB_CTX *get_default_context(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - defctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: set_default_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_set_local
    linkageType: ''
    returnType: int
    signature: 'static int set_default_context(OSSL_LIB_CTX *defctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_ex_data_get_ossl_lib_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:322,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:326,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:332,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 6
    argNames:
    - parent_ign
    - ptr_ign
    - ad
    - index
    - argl_ign
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: ossl_lib_ctx_generic_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    - ossl_crypto_ex_data_get_ossl_lib_ctx
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: void
    signature: 'static void ossl_lib_ctx_generic_new(void *parent_ign, void *ptr_ign,
      CRYPTO_EX_DATA *ad, int index, long argl_ign, void *argp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: ossl_lib_ctx_get_ex_data_global
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - onfreefn
    argTypes:
    - OSSL_LIB_CTX*
    - ossl_lib_ctx_onfree_fn
    constantsTouched: []
    func_position:
      end: 496
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 496
    functionName: ossl_lib_ctx_onfree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_lib_ctx_onfree(OSSL_LIB_CTX *ctx, ossl_lib_ctx_onfree_fn
      onfreefn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: OSSL_LIB_CTX_get0_global_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/context.c:266,1
    - Dst: set_default_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: OSSL_LIB_CTX_set0_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:54,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ossl_lib_ctx_read_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    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: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:191,1
    - Dst: context_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:193,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: OSSL_LIB_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - context_init
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *OSSL_LIB_CTX_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_is_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:242,1
    - Dst: ossl_provider_deinit_child
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:247,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:250,1
    - Dst: context_deinit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: OSSL_LIB_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_is_default
    - context_deinit
    - OPENSSL_free
    - ossl_provider_deinit_child
    linkageType: ''
    returnType: void
    signature: 'void OSSL_LIB_CTX_free(OSSL_LIB_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_default_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: ossl_lib_ctx_get_concrete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - get_default_context
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_lib_ctx_get_concrete(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:59,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ossl_lib_ctx_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    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: get_default_context
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: ossl_lib_ctx_is_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - get_default_context
    linkageType: ''
    returnType: int
    signature: 'int ossl_lib_ctx_is_default(OSSL_LIB_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_is_global_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:503,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: ossl_lib_ctx_get_descriptor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/context.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_is_default
    - ossl_lib_ctx_is_global_default
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_lib_ctx_get_descriptor(OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:19,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:22,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: ossl_pw_clear_passphrase_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_cache
    - memset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_pw_clear_passphrase_data(struct ossl_passphrase_data_st
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:70,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - data
    - cb
    - cbarg
    argTypes:
    - struct ossl_passphrase_data_st*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: ossl_pw_set_ossl_passphrase_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_set_ossl_passphrase_cb(struct ossl_passphrase_data_st
      *data, OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:36,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:43,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:37,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:44,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - data
    - passphrase
    - passphrase_len
    argTypes:
    - struct ossl_passphrase_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: ossl_pw_set_passphrase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - ossl_pw_clear_passphrase_data
    - OPENSSL_memdup
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_set_passphrase(struct ossl_passphrase_data_st *data, const
      unsigned char *passphrase, size_t passphrase_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ossl_pw_enable_passphrase_caching
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_enable_passphrase_caching(struct ossl_passphrase_data_st
      *data) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:126,1
    - Dst: UI_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:131,1
    - Dst: UI_construct_prompt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:143,1
    - Dst: UI_add_input_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:168,1
    - Dst: UI_add_verify_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:171,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:195,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:201,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:202,1
    - Dst: UI_add_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:145,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:127,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:150,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:183,1
    - Dst: UI_get_result_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:189,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:132,1
    - Dst: UI_set_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:152,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:186,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:166,1
    - Dst: UI_process
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:181,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:204,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 68
    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*
    constantsTouched: []
    func_position:
      end: 206
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 206
    functionName: do_ui_passphrase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - UI_get_result_length
    - ossl_assert
    - UI_add_verify_string
    - UI_free
    - OPENSSL_free
    - memcpy
    - UI_construct_prompt
    - UI_add_input_string
    - OPENSSL_zalloc
    - UI_process
    - OPENSSL_clear_free
    - UI_new
    - UI_add_user_data
    - UI_set_method
    linkageType: ''
    returnType: int
    signature: 'static int do_ui_passphrase(char *pass, size_t pass_size, size_t *pass_len,
      const char *prompt_info, int verify, const UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:319,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    - info
    argTypes:
    - char*
    - int
    - int
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: ossl_pw_get_password
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_get_passphrase
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int ossl_pw_get_password(char *buf, int size, int rwflag, void
      *userdata, const char *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_get_password
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: ossl_pw_pvk_password
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_get_password
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_pvk_password(char *buf, int size, int rwflag, void *userdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:57,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - data
    - cb
    - cbarg
    argTypes:
    - struct ossl_passphrase_data_st*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: ossl_pw_set_pem_password_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_set_pem_password_cb(struct ossl_passphrase_data_st *data,
      pem_password_cb *cb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ossl_pw_clear_passphrase_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_pw_clear_passphrase_cache(struct ossl_passphrase_data_st
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:84,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:88,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - data
    - ui_method
    - ui_data
    argTypes:
    - struct ossl_passphrase_data_st*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: ossl_pw_set_ui_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_set_ui_method(struct ossl_passphrase_data_st *data, const
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: ossl_pw_disable_passphrase_caching
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_disable_passphrase_caching(struct ossl_passphrase_data_st
      *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_get_password
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: ossl_pw_pem_password
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    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_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - pass
    - pass_size
    - pass_len
    - params
    - arg
    argTypes:
    - char*
    - size_t
    - size_t*
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: ossl_pw_passphrase_callback_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_get_passphrase
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_passphrase_callback_enc(char *pass, size_t pass_size,
      size_t *pass_len, const OSSL_PARAM params[], void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_get_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - pass
    - pass_size
    - pass_len
    - params
    - arg
    argTypes:
    - char*
    - size_t
    - size_t*
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: ossl_pw_passphrase_callback_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ossl_pw_get_passphrase
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_passphrase_callback_dec(char *pass, size_t pass_size,
      size_t *pass_len, const OSSL_PARAM params[], void *arg) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:235,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:246,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:252,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:255,1
    - Dst: UI_UTIL_wrap_read_pem_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:267,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:271,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:280,1
    - Dst: do_ui_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:285,1
    - Dst: UI_destroy_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:288,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:295,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:300,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:301,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c:306,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    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*
    constantsTouched: []
    func_position:
      end: 312
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 312
    functionName: ossl_pw_get_passphrase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/passphrase.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_clear_realloc
    - memcpy
    - UI_UTIL_wrap_read_pem_callback
    - cb
    - OPENSSL_cleanse
    - ERR_raise_data
    - OSSL_PARAM_locate_const
    - do_ui_passphrase
    - UI_destroy_method
    linkageType: ''
    returnType: int
    signature: 'int ossl_pw_get_passphrase(char *pass, size_t pass_size, size_t *pass_len,
      const OSSL_PARAM params[], int verify, struct ossl_passphrase_data_st *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpt_err.c:65,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpt_err.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: ossl_err_load_CRYPTO_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpt_err.c
    functionUses: []
    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: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: ossl_toascii
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_toascii(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - mask
    argTypes:
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: ossl_ctype_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached:
    - ossl_toascii
    linkageType: ''
    returnType: int
    signature: 'int ossl_ctype_check(int c, unsigned int mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:270,1
    - Dst: ASCII_IS_DIGIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: ossl_isdigit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached:
    - ASCII_IS_DIGIT
    - ossl_toascii
    linkageType: ''
    returnType: int
    signature: 'int ossl_isdigit(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:284,1
    - Dst: ASCII_IS_LOWER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: ossl_islower
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached:
    - ASCII_IS_LOWER
    - ossl_toascii
    linkageType: ''
    returnType: int
    signature: 'int ossl_islower(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:297,1
    - Dst: ASCII_IS_UPPER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: ossl_tolower
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached:
    - ASCII_IS_UPPER
    - ossl_toascii
    linkageType: ''
    returnType: int
    signature: 'int ossl_tolower(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:277,1
    - Dst: ASCII_IS_UPPER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: ossl_isupper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached:
    - ASCII_IS_UPPER
    - ossl_toascii
    linkageType: ''
    returnType: int
    signature: 'int ossl_isupper(int c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: ossl_fromascii
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_fromascii(int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:304,1
    - Dst: ASCII_IS_LOWER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: ossl_toupper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ctype.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: ossl_ascii_isdigit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ctype.c
    functionUses: []
    functionsReached:
    - ASCII_IS_DIGIT
    linkageType: ''
    returnType: int
    signature: 'int ossl_ascii_isdigit(int c) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:89,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:122,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:123,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:144,1
    - Dst: FindFirstFile
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:151,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:145,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:160,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:112,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:154,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:148,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:146,1
    - Dst: FindFirstFile
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:165,1
    - Dst: FindNextFile
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:175,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:195,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:82,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:94,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:106,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:109,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:125,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:138,1
    - Dst: _tcscpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:146,1
    - Dst: _tcscpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:148,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:145,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:156,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:158,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:188,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:169,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 118
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 201
    functionName: LP_find_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c
    functionUses: []
    functionsReached:
    - WideCharToMultiByte
    - _tcscpy
    - strcpy
    - free
    - TEXT
    - GetLastError
    - strlen
    - _alloca
    - malloc
    - MultiByteToWideChar
    - strncpy
    - FindFirstFile
    - FindNextFile
    - memset
    linkageType: ''
    returnType: char*
    signature: 'const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:206,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: LP_find_file_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_win.c
    functionUses: []
    functionsReached:
    - free
    - FindClose
    linkageType: ''
    returnType: int
    signature: 'int LP_find_file_end(LP_DIR_CTX **ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:58,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:60,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:62,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:97,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:97,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:45,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:53,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:51,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:61,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:61,1
    - Dst: add_seeds_stringlist
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:146,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:52,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:52,1
    - Dst: add_seeds_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:134,1
    - Dst: add_seeds_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:137,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:67,1
    - Dst: add_seeds_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:140,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:96,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:98,1
    - Dst: add_seeds_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:131,1
    - Dst: add_seeds_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:143,1
    - Dst: add_seeds_stringlist
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:149,1
    - Dst: add_seeds_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:152,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 157
    functionName: (init_info_strings)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c
    functionUses: []
    functionsReached:
    - add_seeds_stringlist
    - BIO_snprintf
    - getenv
    - add_seeds_string
    - strlen
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (init_info_strings) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:166,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c:199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 206
    functionName: OPENSSL_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/info.c
    functionUses: []
    functionsReached:
    - RUN_ONCE
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'const char *OPENSSL_info(int t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: __owur
    signature: '__owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - key
    - (*cleanup)
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: CRYPTO_THREAD_init_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void
      *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: CRYPTO_THREAD_get_current_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CRYPTO_THREAD_ID
    signature: 'CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CRYPTO_RWLOCK*
    signature: 'CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: __owur
    signature: '__owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - once
    - (*init)
    argTypes:
    - CRYPTO_ONCE*
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: CRYPTO_THREAD_run_once
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached:
    - init
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CRYPTO_THREAD_ID
    - CRYPTO_THREAD_ID
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: CRYPTO_THREAD_compare_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: openssl_init_fork_handlers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int openssl_init_fork_handlers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: openssl_get_fork_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_none.c
    functionUses: []
    functionsReached:
    - getpid
    linkageType: ''
    returnType: int
    signature: 'int openssl_get_fork_id(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 1617
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1617
    functionName: ossl_provider_query_operation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'const OSSL_ALGORITHM *ossl_provider_query_operation(const OSSL_PROVIDER
      *prov, int operation_id, int *no_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1997
    functionName: core_new_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_new
    linkageType: ''
    returnType: void
    signature: 'static void core_new_error(const OSSL_CORE_HANDLE *handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - prov
    - operation_id
    - algs
    argTypes:
    - OSSL_PROVIDER*
    - int
    - OSSL_ALGORITHM*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1625
    functionName: ossl_provider_unquery_operation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_provider_unquery_operation(const OSSL_PROVIDER *prov, int
      operation_id, const OSSL_ALGORITHM *algs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1814,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1824,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1817,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1819,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1821,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1825,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1829,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1830
    functionName: ossl_provider_deregister_child_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - sk_OSSL_PROVIDER_CHILD_CB_delete
    - OPENSSL_free
    - get_provider_store
    - sk_OSSL_PROVIDER_CHILD_CB_value
    linkageType: ''
    returnType: void
    signature: 'static void ossl_provider_deregister_child_cb(const OSSL_CORE_HANDLE
      *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - file
    - line
    - func
    argTypes:
    - OSSL_CORE_HANDLE*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2003
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2003
    functionName: core_set_error_debug
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_set_debug
    linkageType: ''
    returnType: void
    signature: 'static void core_set_error_debug(const OSSL_CORE_HANDLE *handle, const
      char *file, int line, const char *func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_free_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ischild
    argTypes:
    - prov
    constantsTouched: []
    func_position:
      end: 740
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 740
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_provider_free_parent
    linkageType: ''
    returnType: else
    signature: 'else if (prov->ischild) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:250,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:252,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pair
    argTypes:
    - INFOPAIR*
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: infopair_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void infopair_free(INFOPAIR *pair) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:257,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:262,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:267,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:274,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - src
    argTypes:
    - INFOPAIR*
    constantsTouched: []
    func_position:
      end: 276
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 276
    functionName: infopair_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: INFOPAIR*
    signature: 'static INFOPAIR *infopair_copy(const INFOPAIR *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - prov
    - handle
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1690
    functionName: ossl_provider_set_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_set_child(OSSL_PROVIDER *prov, const OSSL_CORE_HANDLE
      *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - OSSL_PROVIDER_CHILD_CB*
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ossl_provider_child_cb_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ossl_provider_child_cb_free(OSSL_PROVIDER_CHILD_CB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:338,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: get_provider_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    - ERR_raise
    linkageType: ''
    returnType: struct provider_store_st*
    signature: 'static struct provider_store_st *get_provider_store(OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: provider_remove_store_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1591
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1591
    functionName: ossl_provider_self_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - provider_remove_store_methods
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_self_test(const OSSL_PROVIDER *prov) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:349,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:353,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: ossl_provider_disable_fallback_loading
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - get_provider_store
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_disable_fallback_loading(OSSL_LIB_CTX *libctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:364,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:377,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:373,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:368,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:380,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:383,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:391,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:394,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:405,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - libctx
    - entry
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER_INFO*
    constantsTouched: []
    func_position:
      end: 407
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 407
    functionName: ossl_provider_info_add_to_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - OPENSSL_realloc
    - OPENSSL_zalloc
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_info_add_to_store(OSSL_LIB_CTX *libctx, OSSL_PROVIDER_INFO
      *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - prov
    - capability
    - cb
    - arg
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1600
    functionName: ossl_provider_get_capabilities
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_get_capabilities(const OSSL_PROVIDER *prov, const
      char *capability, OSSL_CALLBACK *cb, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:237,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: provider_deactivate_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_provider_deactivate
    - ossl_provider_free
    linkageType: ''
    returnType: void
    signature: 'static void provider_deactivate_free(OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:509,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_PROVIDER*
    - int
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: provider_up_ref_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_provider_up_ref
    - ossl_provider_activate
    linkageType: ''
    returnType: int
    signature: 'static int provider_up_ref_intern(OSSL_PROVIDER *prov, int activate) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:627,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:641,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:638,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:630,1
    - Dst: sk_OSSL_PROVIDER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:634,1
    - Dst: create_provider_children
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:644,1
    - Dst: sk_OSSL_PROVIDER_delete_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:645,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:652,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:655,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:656,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:675,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:681,1
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:674,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 3
    argNames:
    - prov
    - actualprov
    - retain_fallbacks
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PROVIDER**
    - int
    constantsTouched: []
    func_position:
      end: 683
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 683
    functionName: ossl_provider_add_to_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - sk_OSSL_PROVIDER_delete_ptr
    - create_provider_children
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ossl_provider_free
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_push
    - get_provider_store
    - ossl_provider_deactivate
    - ossl_provider_up_ref
    - sk_OSSL_PROVIDER_find
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_add_to_store(OSSL_PROVIDER *prov, OSSL_PROVIDER
      **actualprov, int retain_fallbacks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1276,1
    - Dst: provider_remove_store_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - removechildren
    argTypes:
    - OSSL_PROVIDER*
    - int
    constantsTouched: []
    func_position:
      end: 1279
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1279
    functionName: ossl_provider_deactivate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - provider_remove_store_methods
    - provider_deactivate
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_deactivate(OSSL_PROVIDER *prov, int removechildren) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1699,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1702,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1705,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1707,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - libctx
    - props
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1714
    functionName: ossl_provider_default_props_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - CRYPTO_THREAD_read_lock
    - get_provider_store
    - sk_OSSL_PROVIDER_CHILD_CB_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_default_props_update(OSSL_LIB_CTX *libctx, const
      char *props) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:517,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_PROVIDER*
    - int
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: provider_free_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_provider_deactivate
    - ossl_provider_free
    linkageType: ''
    returnType: int
    signature: 'static int provider_free_intern(OSSL_PROVIDER *prov, int deactivate) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:690,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:712,1
    - Dst: ERR_unload_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:706,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:707,1
    - Dst: ossl_provider_teardown
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:702,1
    - Dst: ossl_init_thread_deregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:724,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:725,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:727,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:728,1
    - Dst: sk_INFOPAIR_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:729,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:735,1
    - Dst: ossl_provider_free_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:739,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:730,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:731,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 743
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 743
    functionName: ossl_provider_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_init_thread_deregister
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - DSO_free
    - ERR_unload_strings
    - CRYPTO_DOWN_REF
    - ossl_provider_free_parent
    - sk_INFOPAIR_pop_free
    - ossl_provider_teardown
    linkageType: ''
    returnType: void
    signature: 'void ossl_provider_free(OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1284
    functionName: ossl_provider_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_provider_ctx(const OSSL_PROVIDER *prov) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1740,1
    - Dst: evp_get_global_properties_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1756,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1753,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1752,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1743,1
    - Dst: global_props_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1759,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1760,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1762,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1766,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1768,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1771,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1791,1
    - Dst: remove_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1792,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1797,1
    - Dst: create_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1781,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1794,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1786,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 52
    argCount: 5
    argNames:
    - handle
    - (*create_cb)
    - (*remove_cb)
    - (*global_props_cb)
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1800
    functionName: ossl_provider_register_child_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - remove_cb
    - CRYPTO_THREAD_read_lock
    - sk_OSSL_PROVIDER_CHILD_CB_push
    - sk_OSSL_PROVIDER_value
    - global_props_cb
    - evp_get_global_properties_str
    - get_provider_store
    - create_cb
    - sk_OSSL_PROVIDER_num
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ossl_provider_register_child_cb(const OSSL_CORE_HANDLE
      *handle, int (*create_cb)( const OSSL_CORE_HANDLE *provider, void *cbdata),
      int (*remove_cb)( const OSSL_CORE_HANDLE *provider, void *cbdata), int (*global_props_cb)(
      const char *props, void *cbdata), void *cbdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:309,1
    - Dst: sk_OSSL_PROVIDER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:312,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:313,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:317,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:315,1
    - Dst: provider_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 325
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 325
    functionName: provider_store_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - sk_OSSL_PROVIDER_new
    - provider_store_free
    - CRYPTO_THREAD_lock_new
    - sk_OSSL_PROVIDER_CHILD_CB_new_null
    linkageType: ''
    returnType: void*
    signature: 'static void *provider_store_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:415,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:435,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:425,1
    - Dst: sk_OSSL_PROVIDER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:437,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:426,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:438,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:439,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:440,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - libctx
    - name
    - noconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 445
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 445
    functionName: ossl_provider_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ossl_lib_ctx_is_default
    - sk_OSSL_PROVIDER_value
    - get_provider_store
    - OPENSSL_init_crypto
    - ossl_provider_up_ref
    - sk_OSSL_PROVIDER_find
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *ossl_provider_find(OSSL_LIB_CTX *libctx, const char
      *name, ossl_unused int noconfig) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: provider_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1136,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1153,1
    - Dst: ossl_provider_free_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1148,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1145,1
    - Dst: ossl_provider_up_ref_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1141,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1154,1
    - Dst: ossl_provider_free_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1157,1
    - Dst: create_provider_children
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1166,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1169,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1170,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 3
    argNames:
    - prov
    - lock
    - upcalls
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1177
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1177
    functionName: provider_activate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - create_provider_children
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - provider_init
    - ossl_provider_free_parent
    - ossl_provider_up_ref_parent
    linkageType: ''
    returnType: int
    signature: 'static int provider_activate(OSSL_PROVIDER *prov, int lock, int upcalls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: ossl_provider_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_provider_name(const OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1543
    functionName: ossl_provider_prov_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_provider_prov_ctx(const OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1573
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1573
    functionName: ossl_provider_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *ossl_provider_gettable_params(const OSSL_PROVIDER
      *prov) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1184,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1190,1
    - Dst: ossl_encoder_store_cache_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1196,1
    - Dst: evp_method_store_cache_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1194,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1187,1
    - Dst: ossl_decoder_store_cache_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1197,1
    - Dst: ossl_store_loader_store_cache_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1209
    functionName: provider_flush_store_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - ossl_encoder_store_cache_flush
    - ossl_decoder_store_cache_flush
    - get_provider_store
    - evp_method_store_cache_flush
    - ossl_store_loader_store_cache_flush
    linkageType: ''
    returnType: int
    signature: 'static int provider_flush_store_cache(const OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1516
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1516
    functionName: ossl_provider_dso
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSO*
    signature: 'const DSO *ossl_provider_dso(const OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1551
    functionName: ossl_provider_get0_dispatch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DISPATCH*
    signature: 'const OSSL_DISPATCH *ossl_provider_get0_dispatch(const OSSL_PROVIDER
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - prov
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1579
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1579
    functionName: ossl_provider_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_PROVIDER**
    - OSSL_PROVIDER**
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: ossl_provider_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_PROVIDER)
    signature: 'DEFINE_STACK_OF(OSSL_PROVIDER) static int ossl_provider_cmp(const
      OSSL_PROVIDER * const *a, const OSSL_PROVIDER * const *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1632,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1644,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1639,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1640,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1635,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - provider
    - bitnum
    argTypes:
    - OSSL_PROVIDER*
    - size_t
    constantsTouched: []
    func_position:
      end: 1651
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1651
    functionName: ossl_provider_set_operation_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - OPENSSL_realloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_set_operation_bit(OSSL_PROVIDER *provider, size_t
      bitnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 1915
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1915
    functionName: core_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *core_gettable_params(const OSSL_CORE_HANDLE
      *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 2039
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2039
    functionName: core_pop_error_to_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    linkageType: ''
    returnType: int
    signature: 'static int core_pop_error_to_mark(const OSSL_CORE_HANDLE *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: provider_free_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_CORE_HANDLE*
    - int
    constantsTouched: []
    func_position:
      end: 2073
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2073
    functionName: core_provider_free_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - provider_free_intern
    linkageType: ''
    returnType: int
    signature: 'static int core_provider_free_intern(const OSSL_CORE_HANDLE *prov,
      int deactivate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1659,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1665,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1669,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - provider
    - bitnum
    - result
    argTypes:
    - OSSL_PROVIDER*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 1671
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1671
    functionName: ossl_provider_test_operation_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_read_lock
    - ossl_assert
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_test_operation_bit(OSSL_PROVIDER *provider, size_t
      bitnum, int *result) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1927,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1928,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1930,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1933,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1929,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1935,1
    - Dst: ossl_provider_module_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1935,1
    - Dst: sk_INFOPAIR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1941,1
    - Dst: sk_INFOPAIR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1942,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1944,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - handle
    - params
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1948
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1948
    functionName: core_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - sk_INFOPAIR_num
    - ossl_provider_module_path
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_locate
    - sk_INFOPAIR_value
    linkageType: ''
    returnType: int
    signature: 'static int core_get_params(const OSSL_CORE_HANDLE *handle, OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2044,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OPENSSL_CORE_CTX*
    - OSSL_CALLBACK**
    - void**
    constantsTouched: []
    func_position:
      end: 2045
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2045
    functionName: core_self_test_get_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    linkageType: ''
    returnType: void
    signature: 'static void core_self_test_get_callback(OPENSSL_CORE_CTX *libctx,
      OSSL_CALLBACK **cb, void **cbarg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2079,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2084,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2094,1
    - Dst: OBJ_add_sigid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2100,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - prov
    - sign_name
    - digest_name
    - pkey_name
    argTypes:
    - OSSL_CORE_HANDLE*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2101
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2101
    functionName: core_obj_add_sigid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OBJ_txt2nid
    - OBJ_add_sigid
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: int
    signature: 'static int core_obj_add_sigid(const OSSL_CORE_HANDLE *prov, const
      char *sign_name, const char *digest_name, const char *pkey_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:458,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:460,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:464,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:463,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:470,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:471,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:472,1
    - Dst: sk_INFOPAIR_deep_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:473,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:476,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:477,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - name
    - init_function
    - parameters
    argTypes:
    - char*
    - OSSL_provider_init_fn*
    - STACK_OF(INFOPAIR)*
    constantsTouched: []
    func_position:
      end: 484
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 484
    functionName: provider_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - ossl_provider_free
    - OPENSSL_zalloc
    - sk_INFOPAIR_deep_copy
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'static OSSL_PROVIDER *provider_new(const char *name, OSSL_provider_init_fn
      *init_function, STACK_OF(INFOPAIR) *parameters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:280,1
    - Dst: sk_INFOPAIR_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:282,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_PROVIDER_INFO*
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: ossl_provider_info_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_INFOPAIR_pop_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_provider_info_clear(OSSL_PROVIDER_INFO *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:602,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 614
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 614
    functionName: create_provider_children
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - sk_OSSL_PROVIDER_CHILD_CB_num
    linkageType: ''
    returnType: int
    signature: 'static int create_provider_children(OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:293,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:296,1
    - Dst: sk_OSSL_PROVIDER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:294,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:300,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:299,1
    - Dst: ossl_provider_info_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:302,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:303,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - vstore
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 305
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 305
    functionName: provider_store_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - sk_OSSL_PROVIDER_CHILD_CB_pop_free
    - sk_OSSL_PROVIDER_pop_free
    - ossl_provider_info_clear
    linkageType: ''
    returnType: void
    signature: 'static void provider_store_free(void *vstore) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:537,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:540,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:554,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:557,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:547,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:562,1
    - Dst: provider_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:569,1
    - Dst: ossl_provider_set_module_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:574,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:575,1
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:581,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 4
    argNames:
    - libctx
    - name
    - init_function
    - noconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_provider_init_fn*
    - int
    constantsTouched: []
    func_position:
      end: 591
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 591
    functionName: ossl_provider_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - provider_new
    - strcmp
    - CRYPTO_THREAD_read_lock
    - ossl_provider_free
    - get_provider_store
    - ERR_get_next_error_library
    - ossl_provider_set_module_path
    - memset
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *ossl_provider_new(OSSL_LIB_CTX *libctx, const char
      *name, OSSL_provider_init_fn *init_function, int noconfig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infopair_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - name
    - value
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: ossl_provider_add_parameter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - infopair_add
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_add_parameter(OSSL_PROVIDER *prov, const char *name,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 1966
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1966
    functionName: core_get_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: OPENSSL_CORE_CTX*
    signature: 'static OPENSSL_CORE_CTX *core_get_libctx(const OSSL_CORE_HANDLE *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 2050
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2050
    functionName: core_provider_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: char*
    signature: 'static const char *core_provider_get0_name(const OSSL_CORE_HANDLE
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infopair_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - provinfo
    - name
    - value
    argTypes:
    - OSSL_PROVIDER_INFO*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 791
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 791
    functionName: ossl_provider_info_add_parameter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - infopair_add
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_info_add_parameter(OSSL_PROVIDER_INFO *provinfo,
      const char *name, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_init_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - handfn
    - arg
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_thread_stop_handler_fn
    - void*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1979
    functionName: core_thread_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_init_thread_start
    linkageType: ''
    returnType: int
    signature: 'static int core_thread_start(const OSSL_CORE_HANDLE *handle, OSSL_thread_stop_handler_fn
      handfn, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 2055
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2055
    functionName: core_provider_get0_provider_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_get0_provider_ctx
    linkageType: ''
    returnType: void*
    signature: 'static void *core_provider_get0_provider_ctx(const OSSL_CORE_HANDLE
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get0_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 2061
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2061
    functionName: core_provider_get0_dispatch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_get0_dispatch
    linkageType: ''
    returnType: OSSL_DISPATCH*
    signature: 'static const OSSL_DISPATCH *core_provider_get0_dispatch(const OSSL_CORE_HANDLE
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: provider_up_ref_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_CORE_HANDLE*
    - int
    constantsTouched: []
    func_position:
      end: 2067
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2067
    functionName: core_provider_up_ref_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - provider_up_ref_intern
    linkageType: ''
    returnType: int
    signature: 'static int core_provider_up_ref_intern(const OSSL_CORE_HANDLE *prov,
      int activate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2107,1
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - prov
    - oid
    - sn
    - ln
    argTypes:
    - OSSL_CORE_HANDLE*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2109
    functionName: core_obj_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OBJ_create
    - OBJ_txt2nid
    linkageType: ''
    returnType: int
    signature: 'static int core_obj_create(const OSSL_CORE_HANDLE *prov, const char
      *oid, const char *sn, const char *ln) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:748,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:754,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - module_path
    argTypes:
    - OSSL_PROVIDER*
    - char*
    constantsTouched: []
    func_position:
      end: 756
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 756
    functionName: ossl_provider_set_module_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_set_module_path(OSSL_PROVIDER *prov, const char
      *module_path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1216,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1222,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1227,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1229,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1219,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1232,1
    - Dst: evp_method_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1234,1
    - Dst: ossl_encoder_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1236,1
    - Dst: ossl_decoder_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1237,1
    - Dst: ossl_store_loader_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1249
    functionName: provider_remove_store_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - CRYPTO_THREAD_read_lock
    - evp_method_store_remove_all_provided
    - get_provider_store
    - ossl_store_loader_store_remove_all_provided
    - ossl_decoder_store_remove_all_provided
    - ossl_encoder_store_remove_all_provided
    linkageType: ''
    returnType: int
    signature: 'static int provider_remove_store_methods(OSSL_PROVIDER *prov) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:763,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:766,1
    - Dst: sk_INFOPAIR_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:765,1
    - Dst: sk_INFOPAIR_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:768,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:767,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:772,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:773,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:774,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:776,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - infopairsk
    - name
    - value
    argTypes:
    - STACK_OF(INFOPAIR)**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 778
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 778
    functionName: infopair_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - sk_INFOPAIR_new_null
    - OPENSSL_zalloc
    - sk_INFOPAIR_push
    linkageType: ''
    returnType: int
    signature: 'static int infopair_add(STACK_OF(INFOPAIR) **infopairsk, const char
      *name, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1265,1
    - Dst: provider_flush_store_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - prov
    - upcalls
    - aschild
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1269
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1269
    functionName: ossl_provider_activate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - provider_flush_store_cache
    - provider_activate
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_activate(OSSL_PROVIDER *prov, int upcalls, int aschild) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:814,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:822,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:816,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:821,1
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:820,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:824,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:827,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - libctx
    - path
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 829
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 829
    functionName: OSSL_PROVIDER_set_default_search_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PROVIDER_set_default_search_path(OSSL_LIB_CTX *libctx, const
      char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1556
    functionName: ossl_provider_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_provider_libctx(const OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1677
    functionName: ossl_provider_get_parent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_CORE_HANDLE*
    signature: 'const OSSL_CORE_HANDLE *ossl_provider_get_parent(OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 2029
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2029
    functionName: core_set_error_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: 'static int core_set_error_mark(const OSSL_CORE_HANDLE *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1682
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1682
    functionName: ossl_provider_is_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_is_child(const OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2019,1
    - Dst: ERR_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2022,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2020,1
    - Dst: ERR_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2020,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - handle
    - reason
    - fmt
    - args
    argTypes:
    - OSSL_CORE_HANDLE*
    - uint32_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 2024
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2024
    functionName: core_vset_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_vset_error
    - ERR_GET_REASON
    - ERR_GET_LIB
    linkageType: ''
    returnType: void
    signature: 'static void core_vset_error(const OSSL_CORE_HANDLE *handle, uint32_t
      reason, const char *fmt, va_list args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:2033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 2034
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2034
    functionName: core_clear_last_error_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'static int core_clear_last_error_mark(const OSSL_CORE_HANDLE *handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:490,1
    - Dst: ossl_provider_up_ref_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:495,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 503
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 503
    functionName: ossl_provider_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_provider_up_ref_parent
    - CRYPTO_UP_REF
    - ossl_provider_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_up_ref(OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1567
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1567
    functionName: ossl_provider_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_provider_teardown(const OSSL_PROVIDER *prov) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1298,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1305,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1301,1
    - Dst: provider_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1323,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1310,1
    - Dst: ERR_get_next_error_library
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1328,1
    - Dst: provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1337,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1338,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1342,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1343,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1354,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct provider_store_st*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1356
    functionName: provider_activate_fallbacks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - provider_new
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - provider_activate
    - CRYPTO_THREAD_read_lock
    - ossl_provider_free
    - sk_OSSL_PROVIDER_push
    - ERR_get_next_error_library
    linkageType: ''
    returnType: int
    signature: 'static int provider_activate_fallbacks(struct provider_store_st *store) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1389,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1392,1
    - Dst: provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1420,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1422,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1400,1
    - Dst: sk_OSSL_PROVIDER_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1426,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1458,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1466,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1471,1
    - Dst: sk_OSSL_PROVIDER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1387,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1429,1
    - Dst: provider_activate_fallbacks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1378,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1373,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1398,1
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1408,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1437,1
    - Dst: provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1460,1
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1364,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1365,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1372,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1385,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1421,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1409,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1431,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1439,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1450,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1473,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 3
    argNames:
    - ctx
    - (*cb)
    - cbdata
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1475
    functionName: ossl_provider_doall_activated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_free
    - STACK_OF
    - sk_OSSL_PROVIDER_dup
    - cb
    - CRYPTO_DOWN_REF
    - provider_activate
    - CRYPTO_UP_REF
    - sk_OSSL_PROVIDER_delete
    - get_provider_store
    - assert
    - ossl_lib_ctx_is_default
    - OPENSSL_init_crypto
    - provider_activate_fallbacks
    - sk_OSSL_PROVIDER_num
    - provider_deactivate
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_doall_activated(OSSL_LIB_CTX *ctx, int (*cb)(OSSL_PROVIDER
      *provider, void *cbdata), void *cbdata) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1058,1
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1065,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1069,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1071,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1072,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1097,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1101,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1107,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1108,1
    - Dst: ossl_provider_free_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1112,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - prov
    - upcalls
    - removechildren
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1117
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1117
    functionName: provider_deactivate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_assert
    - CRYPTO_THREAD_write_lock
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - CRYPTO_THREAD_read_lock
    - ossl_provider_free_parent
    - get_provider_store
    - sk_OSSL_PROVIDER_CHILD_CB_value
    linkageType: ''
    returnType: int
    signature: 'static int provider_deactivate(OSSL_PROVIDER *prov, int upcalls, int
      removechildren) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_get_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1525
    functionName: ossl_provider_module_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - DSO_get_filename
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_provider_module_name(const OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_get_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1535
    functionName: ossl_provider_module_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - DSO_get_filename
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_provider_module_path(const OSSL_PROVIDER *prov) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:848,1
    - Dst: DSO_convert_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:901,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:911,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:913,1
    - Dst: DSO_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:903,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:930,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:938,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1003,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1011,1
    - Dst: ERR_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1029,1
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:873,1
    - Dst: DSO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:895,1
    - Dst: DSO_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:906,1
    - Dst: OSSL_FUNC_provider_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:954,1
    - Dst: OSSL_FUNC_provider_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:958,1
    - Dst: OSSL_FUNC_provider_self_test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:962,1
    - Dst: OSSL_FUNC_provider_get_capabilities
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:966,1
    - Dst: OSSL_FUNC_provider_query_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:970,1
    - Dst: OSSL_FUNC_provider_unquery_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:974,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1018,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:847,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:881,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:886,1
    - Dst: OSSL_FUNC_provider_teardown
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:950,1
    - Dst: OSSL_FUNC_provider_get_reason_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:980,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:874,1
    - Dst: DSO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:868,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:878,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:879,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:890,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:907,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:918,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:912,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:924,1
    - Dst: p_get_reason_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:991,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 117
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1040
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 1040
    functionName: provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - OSSL_FUNC_provider_get_params
    - CRYPTO_THREAD_read_lock
    - DSO_merge
    - OSSL_FUNC_provider_teardown
    - DSO_load
    - ossl_safe_getenv
    - OPENSSL_strdup
    - OSSL_FUNC_provider_self_test
    - DSO_bind_func
    - ERR_PACK
    - OPENSSL_free
    - OPENSSL_zalloc
    - ERR_raise_data
    - OSSL_FUNC_provider_unquery_operation
    - p_get_reason_strings
    - OSSL_FUNC_provider_query_operation
    - OSSL_FUNC_provider_gettable_params
    - OSSL_FUNC_provider_get_reason_strings
    - DSO_convert_filename
    - OSSL_FUNC_provider_get_capabilities
    - get_provider_store
    - ERR_load_strings
    - ERR_raise
    - ossl_assert
    - ERR_GET_LIB
    - DSO_free
    - DSO_ctrl
    - DSO_new
    linkageType: ''
    returnType: int
    signature: 'static int provider_init(OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1505
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1505
    functionName: ossl_provider_set_fallback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_set_fallback(OSSL_PROVIDER *prov) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1481,1
    - Dst: provider_activate_fallbacks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1483,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1488,1
    - Dst: ossl_provider_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1486,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1491,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c:1492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1495
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1495
    functionName: OSSL_PROVIDER_available
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_core.c
    functionUses: []
    functionsReached:
    - ossl_provider_find
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - ossl_provider_free
    - get_provider_store
    - provider_activate_fallbacks
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PROVIDER_available(OSSL_LIB_CTX *libctx, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ill_handler
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c
    functionUses: []
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: 'static void ill_handler(int sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc_mftb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:54,1
    - Dst: OPENSSL_rdtsc_mfspr268
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c
    functionUses: []
    functionsReached:
    - OPENSSL_rdtsc_mfspr268
    - OPENSSL_rdtsc_mftb
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t OPENSSL_rdtsc(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_instrument_bus2_mftb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:80,1
    - Dst: OPENSSL_instrument_bus2_mfspr268
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - out
    - cnt
    - max
    argTypes:
    - unsigned int*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: OPENSSL_instrument_bus2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c
    functionUses: []
    functionsReached:
    - OPENSSL_instrument_bus2_mfspr268
    - OPENSSL_instrument_bus2_mftb
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t
      max) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_instrument_bus_mftb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:67,1
    - Dst: OPENSSL_instrument_bus_mfspr268
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - out
    - cnt
    argTypes:
    - unsigned int*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: OPENSSL_instrument_bus
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c
    functionUses: []
    functionsReached:
    - OPENSSL_instrument_bus_mftb
    - OPENSSL_instrument_bus_mfspr268
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_instrument_bus(unsigned int *out, size_t cnt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: getauxval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c
    functionUses: []
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long getauxval(unsigned long key) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:160,1
    - Dst: sysctlbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:200,1
    - Dst: sysctlbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:206,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:248,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:254,1
    - Dst: OPENSSL_fpu_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:266,1
    - Dst: uname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:272,1
    - Dst: OPENSSL_altivec_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:286,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:294,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:308,1
    - Dst: OPENSSL_rdtsc_mfspr268
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:304,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:144,1
    - Dst: __power_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:180,1
    - Dst: __power_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:183,1
    - Dst: __power_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:186,1
    - Dst: getauxval
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:218,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:249,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:255,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:257,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:274,1
    - Dst: OPENSSL_ppc64_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:275,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:303,1
    - Dst: sysconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:157,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:251,1
    - Dst: getauxval
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:217,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:265,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:272,1
    - Dst: OPENSSL_madd300_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:295,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:309,1
    - Dst: OPENSSL_rdtsc_mftb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:301,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:145,1
    - Dst: uname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:160,1
    - Dst: __power_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:172,1
    - Dst: __power_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:176,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:253,1
    - Dst: sigfillset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:247,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:261,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:262,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:285,1
    - Dst: OPENSSL_crypto207_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:289,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:288,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c:300,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 128
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 310
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 310
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ppccap.c
    functionUses: []
    functionsReached:
    - OPENSSL_rdtsc_mfspr268
    - sigfillset
    - OPENSSL_rdtsc_mftb
    - OPENSSL_altivec_probe
    - OPENSSL_fpu_probe
    - sysconf
    - __power_set
    - OPENSSL_madd300_probe
    - getauxval
    - uname
    - OPENSSL_crypto207_probe
    - sigdelset
    - sigsetjmp
    - strcmp
    - atoi
    - sigprocmask
    - OPENSSL_ppc64_probe
    - sigaction
    - getenv
    - sysctlbyname
    - strtoul
    - memset
    linkageType: ''
    returnType: void
    signature: '__attribute__ ((constructor)) # endif void OPENSSL_cpuid_setup(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:95,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:125,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:126,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:118,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:123,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:133,1
    - Dst: lib$find_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:149,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:158,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:183,1
    - Dst: str$free1_dx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:185,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 188
    functionName: LP_find_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c
    functionUses: []
    functionsReached:
    - strcat
    - $VMS_STATUS_SUCCESS
    - strcpy
    - lib$find_file
    - strlen
    - str$free1_dx
    - malloc
    - strncpy
    - memset
    linkageType: ''
    returnType: char*
    signature: 'const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lib$find_file_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:193,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:195,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: LP_find_file_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_vms.c
    functionUses: []
    functionsReached:
    - lib$find_file_end
    - $VMS_STATUS_SUCCESS
    - free
    linkageType: ''
    returnType: int
    signature: 'int LP_find_file_end(LP_DIR_CTX **ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: CRYPTO_mem_leaks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_mem_leaks(BIO *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:108,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:116,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:115,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: parseit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - atol
    - strchr
    - atof
    linkageType: ''
    returnType: void
    signature: 'static void parseit(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:178,1
    - Dst: malloc_impl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:180,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:195,1
    - Dst: FAILTEST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: CRYPTO_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - INCREMENT
    - FAILTEST
    - malloc_impl
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_malloc(size_t num, const char *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: CRYPTO_mem_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_mem_ctrl(int mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - malloc_fn
    - realloc_fn
    - free_fn
    argTypes:
    - CRYPTO_malloc_fn
    - CRYPTO_realloc_fn
    - CRYPTO_free_fn
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: CRYPTO_set_mem_functions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_set_mem_functions(CRYPTO_malloc_fn malloc_fn, CRYPTO_realloc_fn
      realloc_fn, CRYPTO_free_fn free_fn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:202,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: CRYPTO_zalloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - CRYPTO_malloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_zalloc(size_t num, const char *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: CRYPTO_set_mem_debug
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_set_mem_debug(int flag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOAD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:87,1
    - Dst: LOAD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:91,1
    - Dst: LOAD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - mcount
    - rcount
    - fcount
    argTypes:
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: CRYPTO_get_alloc_counts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - LOAD
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:137,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:148,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:145,1
    - Dst: write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:149,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:150,1
    - Dst: parseit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: shouldfail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - perror
    - parseit
    - BIO_snprintf
    - random
    - write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int shouldfail(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - malloc_fn
    - realloc_fn
    - free_fn
    argTypes:
    - CRYPTO_malloc_fn*
    - CRYPTO_realloc_fn*
    - CRYPTO_free_fn*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: CRYPTO_get_mem_functions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_get_mem_functions(CRYPTO_malloc_fn *malloc_fn, CRYPTO_realloc_fn
      *realloc_fn, CRYPTO_free_fn *free_fn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:211,1
    - Dst: realloc_impl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:213,1
    - Dst: CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:219,1
    - Dst: FAILTEST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:223,1
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:216,1
    - Dst: realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - str
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: CRYPTO_realloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - CRYPTO_malloc
    - CRYPTO_free
    - realloc
    - FAILTEST
    - INCREMENT
    - realloc_impl
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_realloc(void *str, size_t num, const char *file, int
      line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: CRYPTO_mem_debug_pop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_mem_debug_pop(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - addr1
    - addr2
    - num
    - flag
    - file
    - line
    argTypes:
    - void*
    - void*
    - size_t
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: CRYPTO_mem_debug_realloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, size_t num,
      int flag, const char *file, int line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:233,1
    - Dst: CRYPTO_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:236,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:248,1
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:246,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:242,1
    - Dst: CRYPTO_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - str
    - old_len
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 252
    functionName: CRYPTO_clear_realloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - CRYPTO_clear_free
    - CRYPTO_malloc
    - memcpy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_clear_realloc(void *str, size_t old_len, size_t num,
      const char *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 5
    argNames:
    - addr
    - num
    - flag
    - file
    - line
    argTypes:
    - void*
    - size_t
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: CRYPTO_mem_debug_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_mem_debug_malloc(void *addr, size_t num, int flag, const
      char *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - addr
    - flag
    - file
    - line
    argTypes:
    - void*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: CRYPTO_mem_debug_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_mem_debug_free(void *addr, int flag, const char *file,
      int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 2
    argNames:
    - (*cb)
    - u
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: CRYPTO_mem_leaks_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_mem_leaks_cb(int (*cb)(const char *str, size_t len, void
      *u), void *u) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:256,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:262,1
    - Dst: free_impl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - str
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: CRYPTO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - INCREMENT
    - free_impl
    - free
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_free(void *str, const char *file, int line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:165,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:170,1
    - Dst: strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:167,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:169,1
    - Dst: parseit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:168,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:171,1
    - Dst: srandom
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:172,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: ossl_malloc_setup_failures
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - srandom
    - parseit
    - atoi
    - getenv
    - strdup
    linkageType: ''
    returnType: void
    signature: 'void ossl_malloc_setup_failures(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:270,1
    - Dst: CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - str
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: CRYPTO_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached:
    - CRYPTO_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_clear_free(void *str, size_t num, const char *file, int
      line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - info
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: CRYPTO_mem_debug_push
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_mem_debug_push(const char *info, const char *file, int
      line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: CRYPTO_mem_leaks_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_mem_leaks_fp(FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - srce
    - count
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: ebcdic2ascii
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ebcdic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *ebcdic2ascii(void *dest, const void *srce, size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - srce
    - count
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: ascii2ebcdic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ebcdic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *ascii2ebcdic(void *dest, const void *srce, size_t count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:69,1
    - Dst: todigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - variant_char*
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: ossl_strtouint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - todigit
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t ossl_strtouint64(const variant_char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_cpuid_setup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t OPENSSL_rdtsc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: ossl_getenv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached:
    - GetEnvironmentVariableW
    linkageType: ''
    returnType: variant_char*
    signature: 'static variant_char *ossl_getenv(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - str
    - srch
    argTypes:
    - variant_char*
    - char
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: ossl_strchr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: variant_char*
    signature: 'static variant_char *ossl_strchr(const variant_char *str, char srch) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:105,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:125,1
    - Dst: ossl_strtouint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:108,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:112,1
    - Dst: ossl_strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:128,1
    - Dst: ossl_strtouint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:133,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 156
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached:
    - ossl_getenv
    - ossl_strtouint64
    - OPENSSL_ia32_cpuid
    - ossl_strchr
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_cpuid_setup(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:53,1
    - Dst: ossl_isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:55,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - variant_char
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: todigit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - ossl_isdigit
    - ossl_isxdigit
    linkageType: ''
    returnType: int
    signature: 'static int todigit(variant_char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - in_a
    - in_b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: CRYPTO_memcmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - out
    - cnt
    argTypes:
    - unsigned int*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: OPENSSL_instrument_bus
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_instrument_bus(unsigned int *out, size_t cnt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - out
    - cnt
    - max
    argTypes:
    - unsigned int*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: OPENSSL_instrument_bus2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cpuid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t
      max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:218,1
    - Dst: ossl_ctx_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: OPENSSL_thread_stop_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - ossl_ctx_thread_stop
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_thread_stop_ex(OSSL_LIB_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:253,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:271,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:262,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:258,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:266,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 274
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 274
    functionName: thread_event_ossl_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_init_local
    - OPENSSL_free
    - CRYPTO_THREAD_set_local
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *thread_event_ossl_ctx_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:58,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:66,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:63,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:65,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:62,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: (create_global_tevent_register)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - sk_THREAD_EVENT_HANDLER_PTR_free
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - OPENSSL_zalloc
    - sk_THREAD_EVENT_HANDLER_PTR_new_null
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (create_global_tevent_register) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_get_thread_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:231,1
    - Dst: init_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:232,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:235,1
    - Dst: init_thread_remove_handlers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: OPENSSL_thread_stop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - init_get_thread_local
    - OPENSSL_free
    - init_thread_remove_handlers
    - init_thread_stop
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_thread_stop(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tlocal
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: thread_event_ossl_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void thread_event_ossl_ctx_free(void *tlocal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:296,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:303,1
    - Dst: init_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:302,1
    - Dst: init_get_thread_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: ossl_ctx_thread_stop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - init_get_thread_local
    - ossl_lib_ctx_get_data
    - OPENSSL_free
    - init_thread_stop
    linkageType: ''
    returnType: void
    signature: 'void ossl_ctx_thread_stop(OSSL_LIB_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:94,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:99,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:102,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:103,1
    - Dst: init_thread_push_handlers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:108,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:110,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - local
    - alloc
    - keep
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 120
    functionName: init_get_thread_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_set_local
    - OPENSSL_free
    - OPENSSL_zalloc
    - init_thread_push_handlers
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: THREAD_EVENT_HANDLER**
    signature: 'static THREAD_EVENT_HANDLER **init_get_thread_local(CRYPTO_THREAD_LOCAL
      *local, int alloc, int keep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: ossl_init_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: int
    signature: 'int ossl_init_thread(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: get_global_tevent_register
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: GLOBAL_TEVENT_REGISTER*
    signature: 'static GLOBAL_TEVENT_REGISTER *get_global_tevent_register(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_thread_deregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:211,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: ossl_cleanup_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - init_thread_deregister
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: void
    signature: 'void ossl_cleanup_thread(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:157,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:161,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:163,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - hands
    argTypes:
    - THREAD_EVENT_HANDLER**
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: init_thread_push_handlers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - sk_THREAD_EVENT_HANDLER_PTR_push
    - get_global_tevent_register
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'static int init_thread_push_handlers(THREAD_EVENT_HANDLER **hands) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:320,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:324,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:347,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:344,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - arg
    - hands
    argTypes:
    - void*
    - THREAD_EVENT_HANDLER**
    constantsTouched: []
    func_position:
      end: 349
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 349
    functionName: init_thread_stop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - get_global_tevent_register
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: void
    signature: 'static void init_thread_stop(void *arg, THREAD_EVENT_HANDLER **hands) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_get_thread_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:243,1
    - Dst: init_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: ossl_ctx_thread_stop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - init_get_thread_local
    - init_thread_stop
    linkageType: ''
    returnType: void
    signature: 'void ossl_ctx_thread_stop(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: ossl_arg_thread_stop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - ossl_ctx_thread_stop
    linkageType: ''
    returnType: void
    signature: 'static void ossl_arg_thread_stop(void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:365,1
    - Dst: FIPS_get_core_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:388,1
    - Dst: init_get_thread_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:377,1
    - Dst: c_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:388,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:394,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - index
    - arg
    - handfn
    argTypes:
    - void*
    - void*
    - OSSL_thread_stop_handler_fn
    constantsTouched: []
    func_position:
      end: 407
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 407
    functionName: ossl_init_thread_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    - init_get_thread_local
    - c_thread_start
    - FIPS_get_core_handle
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_init_thread_start(const void *index, void *arg, OSSL_thread_stop_handler_fn
      handfn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:174,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:181,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:184,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:177,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:179,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:185,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - handsin
    argTypes:
    - THREAD_EVENT_HANDLER**
    constantsTouched: []
    func_position:
      end: 191
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 191
    functionName: init_thread_remove_handlers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - get_global_tevent_register
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_THREAD_EVENT_HANDLER_PTR_value
    - sk_THREAD_EVENT_HANDLER_PTR_delete
    - sk_THREAD_EVENT_HANDLER_PTR_num
    linkageType: ''
    returnType: void
    signature: 'static void init_thread_remove_handlers(THREAD_EVENT_HANDLER **handsin) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:415,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:431,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:424,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:419,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:426,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:443,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:450,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:453,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:454,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:455,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:457,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - index
    - all
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 460
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 460
    functionName: init_thread_deregister
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - sk_THREAD_EVENT_HANDLER_PTR_free
    - get_global_tevent_register
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_lock_free
    - sk_THREAD_EVENT_HANDLER_PTR_value
    - OPENSSL_free
    - sk_THREAD_EVENT_HANDLER_PTR_num
    linkageType: ''
    returnType: int
    signature: 'static int init_thread_deregister(void *index, int all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:195,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:197,1
    - Dst: init_thread_remove_handlers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hands
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: init_thread_destructor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - init_thread_remove_handlers
    - init_thread_stop
    linkageType: ''
    returnType: void
    signature: 'static void init_thread_destructor(void *hands) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_thread_deregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: ossl_init_thread_deregister
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/initthread.c
    functionUses: []
    functionsReached:
    - init_thread_deregister
    linkageType: ''
    returnType: int
    signature: 'int ossl_init_thread_deregister(void *index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: self_test_set_callback_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *self_test_set_callback_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: get_self_test_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: SELF_TEST_CB*
    signature: 'static SELF_TEST_CB *get_self_test_callback(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:102,1
    - Dst: self_test_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - cb
    - cbarg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: OSSL_SELF_TEST_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_test_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - st
    - type
    - desc
    argTypes:
    - OSSL_SELF_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: OSSL_SELF_TEST_onbegin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - self_test_setparams
    linkageType: ''
    returnType: void
    signature: 'void OSSL_SELF_TEST_onbegin(OSSL_SELF_TEST *st, const char *type,
      const char *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: self_test_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - st
    - bytes
    argTypes:
    - OSSL_SELF_TEST*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: OSSL_SELF_TEST_oncorrupt_byte
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - self_test_setparams
    linkageType: ''
    returnType: int
    signature: 'int OSSL_SELF_TEST_oncorrupt_byte(OSSL_SELF_TEST *st, unsigned char
      *bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_self_test_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: OSSL_SELF_TEST_set_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - get_self_test_callback
    linkageType: ''
    returnType: void
    signature: 'void OSSL_SELF_TEST_set_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK
      *cb, void *cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_self_test_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CALLBACK**
    - void**
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: OSSL_SELF_TEST_get_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - get_self_test_callback
    linkageType: ''
    returnType: void
    signature: 'void OSSL_SELF_TEST_get_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK
      **cb, void **cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stcb
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: self_test_set_callback_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void self_test_set_callback_free(void *stcb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - OSSL_SELF_TEST*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: OSSL_SELF_TEST_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_SELF_TEST_free(OSSL_SELF_TEST *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:88,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:97,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:91,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - st
    argTypes:
    - OSSL_SELF_TEST*
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: self_test_setparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    linkageType: ''
    returnType: void
    signature: 'static void self_test_setparams(OSSL_SELF_TEST *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_test_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - st
    - ret
    argTypes:
    - OSSL_SELF_TEST*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: OSSL_SELF_TEST_onend
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/self_test_core.c
    functionUses: []
    functionsReached:
    - self_test_setparams
    linkageType: ''
    returnType: void
    signature: 'void OSSL_SELF_TEST_onend(OSSL_SELF_TEST *st, int ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: OPENSSL_fork_prepare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_fork_prepare(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: OPENSSL_fork_parent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_fork_parent(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: OPENSSL_fork_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_fork_child(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: LP_find_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_nyi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: LP_find_file_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/LPdir_nyi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int LP_find_file_end(LP_DIR_CTX **ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - no_store
    - cbdata
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: is_temporary_method_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int is_temporary_method_store(int no_store, void *cbdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:90,1
    - Dst: is_temporary_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:97,1
    - Dst: ossl_provider_set_operation_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - provider
    - operation_id
    - no_store
    - cbdata
    - result
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: ossl_method_construct_postcondition
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c
    functionUses: []
    functionsReached:
    - ossl_provider_set_operation_bit
    - is_temporary_method_store
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'static int ossl_method_construct_postcondition(OSSL_PROVIDER *provider,
      int operation_id, int no_store, void *cbdata, int *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - cbdata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ossl_method_construct_unreserve_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossl_method_construct_unreserve_store(void *cbdata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_temporary_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - no_store
    - cbdata
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: ossl_method_construct_reserve_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c
    functionUses: []
    functionsReached:
    - is_temporary_method_store
    linkageType: ''
    returnType: int
    signature: 'static int ossl_method_construct_reserve_store(int no_store, void
      *cbdata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:62,1
    - Dst: ossl_provider_test_operation_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:72,1
    - Dst: is_temporary_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - provider
    - operation_id
    - no_store
    - cbdata
    - result
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 83
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 83
    functionName: ossl_method_construct_precondition
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c
    functionUses: []
    functionsReached:
    - is_temporary_method_store
    - ERR_raise
    - ossl_assert
    - ossl_provider_test_operation_bit
    linkageType: ''
    returnType: int
    signature: 'static int ossl_method_construct_precondition(OSSL_PROVIDER *provider,
      int operation_id, int no_store, void *cbdata, int *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - provider
    - algo
    - no_store
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_ALGORITHM*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: ossl_method_construct_this
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ossl_method_construct_this(OSSL_PROVIDER *provider, const
      OSSL_ALGORITHM *algo, int no_store, void *cbdata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_algorithm_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    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*
    constantsTouched: []
    func_position:
      end: 170
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 170
    functionName: ossl_method_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_fetch.c
    functionUses: []
    functionsReached:
    - ossl_algorithm_do_all
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_method_construct(OSSL_LIB_CTX *libctx, int operation_id,
      OSSL_PROVIDER **provider_rw, int force_store, OSSL_METHOD_CONSTRUCT_METHOD *mcm,
      void *mcm_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cpuid_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dllmain.c:32,1
    - Dst: OPENSSL_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dllmain.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: DllMain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dllmain.c
    functionUses: []
    functionsReached:
    - OPENSSL_thread_stop
    - OPENSSL_cpuid_setup
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:37,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:54,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:42,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:60,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:61,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:75,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:76,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:103,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:116,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:113,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 64
    argCount: 9
    argNames:
    - paramdefs
    - key
    - value
    - value_n
    - /* Output parameters */
    - paramdef
    - ishex
    - buf_n
    - tmpbn
    - found
    argTypes:
    - OSSL_PARAM*
    - char*
    - char*
    - size_t
    - OSSL_PARAM**
    - int*
    - size_t*
    - BIGNUM**
    - int*
    constantsTouched: []
    func_position:
      end: 134
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 134
    functionName: prepare_from_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - ERR_raise
    - BN_add_word
    - BN_asc2bn
    - BN_num_bits
    - BN_is_negative
    - strncmp
    - OSSL_PARAM_locate_const
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int prepare_from_text(const OSSL_PARAM *paramdefs, const char
      *key, const char *value, size_t value_n, /* Output parameters */ const OSSL_PARAM
      **paramdef, int *ishex, size_t *buf_n, BIGNUM **tmpbn, int *found) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prepare_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:217,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:222,1
    - Dst: construct_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:226,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:221,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:230,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:233,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 6
    argNames:
    - to
    - paramdefs
    - key
    - value
    - value_n
    - found
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    - char*
    - char*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: OSSL_PARAM_allocate_from_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - prepare_from_text
    - OPENSSL_free
    - construct_from_text
    - OPENSSL_zalloc
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_allocate_from_text(OSSL_PARAM *to, const OSSL_PARAM
      *paramdefs, const char *key, const char *value, size_t value_n, int *found) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:155,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:176,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:164,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:174,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:185,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c:188,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    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*
    constantsTouched: []
    func_position:
      end: 200
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 200
    functionName: construct_from_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params_from_text.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexstr2buf_ex
    - memcpy
    - BN_is_negative
    - ebcdic2ascii
    - BN_bn2nativepad
    - strncpy
    linkageType: ''
    returnType: int
    signature: 'static int construct_from_text(OSSL_PARAM *to, const OSSL_PARAM *paramdef,
      const char *value, size_t value_n, int ishex, void *buf, size_t buf_n, BIGNUM
      *tmpbn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - OSSL_PARAM*
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: OSSL_PARAM_locate_const
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *OSSL_PARAM_locate_const(const OSSL_PARAM *p, const
      char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - number
    - s
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: is_negative
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int is_negative(const void *number, size_t s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:102,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:113,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:118,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:103,1
    - Dst: check_sign_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:106,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:119,1
    - Dst: check_sign_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:122,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:129,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 6
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    - pad
    - signed_int
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 133
    functionName: copy_integer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - memcpy
    - check_sign_bytes
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int copy_integer(unsigned char *dest, size_t dest_len, const
      unsigned char *src, size_t src_len, unsigned char pad, int signed_int) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: signed_from_unsigned
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - copy_integer
    linkageType: ''
    returnType: int
    signature: 'static int signed_from_unsigned(void *dest, size_t dest_len, const
      void *src, size_t src_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:894,1
    - Dst: general_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:899,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - time_t*
    constantsTouched: []
    func_position:
      end: 900
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 900
    functionName: OSSL_PARAM_get_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_int64
    - general_get_int
    - OSSL_PARAM_get_int32
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_time_t(const OSSL_PARAM *p, time_t *val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:948,1
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:961,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:951,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 964
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 964
    functionName: OSSL_PARAM_set_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - BN_bn2nativepad
    - BN_is_negative
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_BN(OSSL_PARAM *p, const BIGNUM *val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_string_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1138,1
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - p
    - val
    - max_len
    argTypes:
    - OSSL_PARAM*
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 1163
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1163
    functionName: OSSL_PARAM_get_utf8_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - get_string_internal
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t
      max_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: OSSL_PARAM_construct_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void
      *buf, size_t bsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - OSSL_PARAM*
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: OSSL_PARAM_locate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *p, const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - key
    - data_type
    - data
    - data_size
    argTypes:
    - char*
    - unsigned int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: ossl_param_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'static OSSL_PARAM ossl_param_construct(const char *key, unsigned int
      data_type, void *data, size_t data_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:907,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:909,1
    - Dst: general_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - time_t
    constantsTouched: []
    func_position:
      end: 913
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 913
    functionName: OSSL_PARAM_set_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/params.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 971
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 971
    functionName: OSSL_PARAM_construct_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_BN(const char *key, unsigned char
      *buf, size_t bsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_string_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - p
    - val
    - max_len
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1170
    functionName: OSSL_PARAM_get_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - get_string_internal
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t
      max_len, size_t *used_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - p
    - val
    - used_len
    - type
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1234
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1234
    functionName: get_ptr_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_ptr_internal(const OSSL_PARAM *p, const void **val,
      size_t *used_len, unsigned int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ptr_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - p
    - val
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1245
    functionName: OSSL_PARAM_get_octet_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - get_ptr_internal
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val,
      size_t *used_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unsigned_from_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:196,1
    - Dst: unsigned_from_unsigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: general_get_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - unsigned_from_signed
    - unsigned_from_unsigned
    linkageType: ''
    returnType: int
    signature: 'static int general_get_uint(const OSSL_PARAM *p, void *val, size_t
      val_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - p
    - val
    - len
    - type
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1186
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1186
    functionName: set_string_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int set_string_internal(OSSL_PARAM *p, const void *val, size_t
      len, unsigned int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_ptr_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - p
    - val
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: OSSL_PARAM_set_octet_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - set_ptr_internal
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val, size_t
      used_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ptr_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char**
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: OSSL_PARAM_get_utf8_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - get_ptr_internal
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_utf8_ptr(const OSSL_PARAM *p, const char **val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signed_from_unsigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:211,1
    - Dst: unsigned_from_unsigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 216
    functionName: general_set_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - unsigned_from_unsigned
    - signed_from_unsigned
    linkageType: ''
    returnType: int
    signature: 'static int general_set_uint(OSSL_PARAM *p, void *val, size_t val_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:254,1
    - Dst: general_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:259,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: OSSL_PARAM_get_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_get_uint
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint64
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_uint(const OSSL_PARAM *p, unsigned int *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: OSSL_PARAM_construct_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    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_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:317,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:319,1
    - Dst: general_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned long int*
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: OSSL_PARAM_get_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_get_uint
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint64
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_ulong(const OSSL_PARAM *p, unsigned long int *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - unsigned long int*
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: OSSL_PARAM_construct_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_ulong(const char *key, unsigned long
      int *buf) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: general_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:430,1
    - Dst: general_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:446,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int32_t
    constantsTouched: []
    func_position:
      end: 460
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 460
    functionName: OSSL_PARAM_set_int32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_set_int
    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/libspdm/os_stub/openssllib/openssl/crypto/params.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: OSSL_PARAM_construct_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_uint32(const char *key, uint32_t *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - time_t*
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: OSSL_PARAM_construct_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_time_t(const char *key, time_t *buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:223,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:225,1
    - Dst: general_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int*
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: OSSL_PARAM_get_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_int64
    - general_get_int
    - OSSL_PARAM_get_int32
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:267,1
    - Dst: general_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:272,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: OSSL_PARAM_set_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_uint64
    - general_set_uint
    - OSSL_PARAM_set_uint32
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_uint(OSSL_PARAM *p, unsigned int val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:286,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:288,1
    - Dst: general_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - long int*
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: OSSL_PARAM_get_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_int64
    - general_get_int
    - OSSL_PARAM_get_int32
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_long(const OSSL_PARAM *p, long int *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:330,1
    - Dst: general_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:335,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: OSSL_PARAM_set_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_uint64
    - general_set_uint
    - OSSL_PARAM_set_uint32
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_ulong(OSSL_PARAM *p, unsigned long int val) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: general_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:366,1
    - Dst: general_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:390,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 408
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 408
    functionName: OSSL_PARAM_get_int32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_get_int
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_int32(const OSSL_PARAM *p, int32_t *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: OSSL_PARAM_construct_int32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_int32(const char *key, int32_t *buf) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: general_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:610,1
    - Dst: general_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:628,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 652
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 652
    functionName: OSSL_PARAM_get_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_get_int
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_native2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 935
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 935
    functionName: OSSL_PARAM_get_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - BN_native2bn
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - s
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: check_sign_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int check_sign_bytes(const unsigned char *p, size_t n, unsigned
      char s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:139,1
    - Dst: is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: signed_from_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - copy_integer
    - is_negative
    linkageType: ''
    returnType: int
    signature: 'static int signed_from_signed(void *dest, size_t dest_len, const void
      *src, size_t src_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:154,1
    - Dst: copy_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: unsigned_from_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - copy_integer
    - is_negative
    linkageType: ''
    returnType: int
    signature: 'static int unsigned_from_signed(void *dest, size_t dest_len, const
      void *src, size_t src_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_string_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1196,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1197
    functionName: OSSL_PARAM_set_utf8_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - strlen
    - set_string_internal
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: OSSL_PARAM_construct_utf8_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf,
      size_t bsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:236,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:238,1
    - Dst: general_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: OSSL_PARAM_set_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:299,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:301,1
    - Dst: general_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - long int
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: OSSL_PARAM_set_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: general_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:677,1
    - Dst: general_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:696,1
    - Dst: real_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:707,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int64_t
    constantsTouched: []
    func_position:
      end: 716
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 716
    functionName: OSSL_PARAM_set_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_set_int
    - real_shift
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_int64(OSSL_PARAM *p, int64_t val) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: general_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:739,1
    - Dst: general_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:762,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 786
    functionName: OSSL_PARAM_get_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_get_uint
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: OSSL_PARAM_construct_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_uint64(const char *key, uint64_t *buf) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: real_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:995,1
    - Dst: real_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1009,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - double*
    constantsTouched: []
    func_position:
      end: 1017
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1017
    functionName: OSSL_PARAM_get_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - real_shift
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_double(const OSSL_PARAM *p, double *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_string_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - p
    - val
    - len
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1209
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1209
    functionName: OSSL_PARAM_set_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - set_string_internal
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - void**
    - size_t
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: OSSL_PARAM_construct_octet_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf,
      size_t bsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: OSSL_PARAM_construct_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_int(const char *key, int *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - long int*
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: OSSL_PARAM_construct_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_long(const char *key, long int *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: OSSL_PARAM_construct_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_int64(const char *key, int64_t *buf) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: general_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:812,1
    - Dst: real_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:840,1
    - Dst: general_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:834,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 849
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 849
    functionName: OSSL_PARAM_set_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_set_uint
    - real_shift
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_uint64(OSSL_PARAM *p, uint64_t val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:862,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:864,1
    - Dst: general_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - size_t*
    constantsTouched: []
    func_position:
      end: 868
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 868
    functionName: OSSL_PARAM_get_size_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_get_uint
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint64
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 51
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - double
    constantsTouched: []
    func_position:
      end: 1088
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1088
    functionName: OSSL_PARAM_set_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_double(OSSL_PARAM *p, double val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1122,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1132,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - p
    - val
    - max_len
    - used_len
    - type
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    - size_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1134
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1134
    functionName: get_string_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int get_string_internal(const OSSL_PARAM *p, void **val, size_t
      *max_len, size_t *used_len, unsigned int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1215,1
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1217
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1217
    functionName: OSSL_PARAM_construct_utf8_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_utf8_string(const char *key, char
      *buf, size_t bsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1293
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1293
    functionName: OSSL_PARAM_construct_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_end(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - p
    - val
    - used_len
    - type
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1304
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1304
    functionName: get_string_ptr_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get_string_ptr_internal(const OSSL_PARAM *p, const void
      **val, size_t *used_len, unsigned int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: real_shift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int real_shift(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: OSSL_PARAM_modified
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_modified(const OSSL_PARAM *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signed_from_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:170,1
    - Dst: signed_from_unsigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: general_get_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - signed_from_signed
    - signed_from_unsigned
    linkageType: ''
    returnType: int
    signature: 'static int general_get_int(const OSSL_PARAM *p, void *val, size_t
      val_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signed_from_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:185,1
    - Dst: unsigned_from_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: general_set_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - unsigned_from_signed
    - signed_from_signed
    linkageType: ''
    returnType: int
    signature: 'static int general_set_int(OSSL_PARAM *p, void *val, size_t val_size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: general_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:490,1
    - Dst: general_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:513,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 530
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 530
    functionName: OSSL_PARAM_get_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_get_uint
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_uint32(const OSSL_PARAM *p, uint32_t *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:875,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:877,1
    - Dst: general_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - size_t
    constantsTouched: []
    func_position:
      end: 881
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 881
    functionName: OSSL_PARAM_set_size_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_uint64
    - general_set_uint
    - OSSL_PARAM_set_uint32
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_size_t(OSSL_PARAM *p, size_t val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - p
    - val
    - type
    - len
    argTypes:
    - OSSL_PARAM*
    - void*
    - unsigned int
    - size_t
    constantsTouched: []
    func_position:
      end: 1256
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1256
    functionName: set_ptr_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int set_ptr_internal(OSSL_PARAM *p, const void *val, unsigned
      int type, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: OSSL_PARAM_set_all_unmodified
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OSSL_PARAM_set_all_unmodified(OSSL_PARAM *p) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: general_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:553,1
    - Dst: general_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:572,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 586
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 586
    functionName: OSSL_PARAM_set_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - general_set_uint
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_uint32(OSSL_PARAM *p, uint32_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 887
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 887
    functionName: OSSL_PARAM_construct_size_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - double*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1093
    functionName: OSSL_PARAM_construct_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM OSSL_PARAM_construct_double(const char *key, double *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_ptr_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1263,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1265
    functionName: OSSL_PARAM_set_utf8_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - set_ptr_internal
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, const char *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1316,1
    - Dst: get_string_ptr_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - p
    - val
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1318
    functionName: OSSL_PARAM_get_octet_string_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_ptr
    - get_string_ptr_internal
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_octet_string_ptr(const OSSL_PARAM *p, const void
      **val, size_t *used_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: unsigned_from_unsigned
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - copy_integer
    linkageType: ''
    returnType: int
    signature: 'static int unsigned_from_unsigned(void *dest, size_t dest_len, const
      void *src, size_t src_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1308,1
    - Dst: get_string_ptr_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c:1309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char**
    constantsTouched: []
    func_position:
      end: 1311
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1311
    functionName: OSSL_PARAM_get_utf8_string_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/params.c
    functionUses: []
    functionsReached:
    - get_string_ptr_internal
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: int
    signature: 'int OSSL_PARAM_get_utf8_string_ptr(const OSSL_PARAM *p, const char
      **val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:211,1
    - Dst: openssl_add_all_ciphers_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: (ossl_init_add_all_ciphers)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - openssl_add_all_ciphers_int
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_add_all_ciphers) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:285,1
    - Dst: engine_load_openssl_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: (ossl_init_engine_openssl)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - engine_load_openssl_int
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_engine_openssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:293,1
    - Dst: engine_load_rdrand_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: (ossl_init_engine_rdrand)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - engine_load_rdrand_int
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_engine_rdrand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:301,1
    - Dst: engine_load_dynamic_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: (ossl_init_engine_dynamic)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE
    - engine_load_dynamic_int
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_engine_dynamic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:319,1
    - Dst: engine_load_padlock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: (ossl_init_engine_padlock)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - engine_load_padlock_int
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_engine_padlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:328,1
    - Dst: engine_load_capi_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: (ossl_init_engine_capi)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - engine_load_capi_int
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_engine_capi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:101,1
    - Dst: atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:109,1
    - Dst: _onexit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: (ossl_init_register_atexit)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - fprintf
    - _onexit
    - atexit
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_register_atexit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:232,1
    - Dst: openssl_add_all_digests_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: (ossl_init_add_all_digests)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - openssl_add_all_digests_int
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_add_all_digests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_config_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: (ossl_init_config)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - ossl_config_int
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_config) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleEx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:677,1
    - Dst: DSO_dsobyaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:699,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:701,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:698,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:704,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:705,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:710,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:711,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - (*handler)
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 720
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 720
    functionName: OPENSSL_atexit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - DSO_dsobyaddr
    - OSSL_TRACE1
    - GetModuleHandleEx
    - ERR_pop_to_mark
    - ERR_raise
    - DSO_free
    - ERR_set_mark
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_atexit(void (*handler)(void)) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: openssl_init_fork_handlers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:572,1
    - Dst: RUN_ONCE_ALT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:563,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:611,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:624,1
    - Dst: CRYPTO_atomic_or
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:650,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:471,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:536,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:540,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:550,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:580,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:568,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:589,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:591,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:606,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:619,1
    - Dst: RUN_ONCE_ALT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:544,1
    - Dst: RUN_ONCE_ALT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:576,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:559,1
    - Dst: RUN_ONCE_ALT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:594,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:615,1
    - Dst: ENGINE_register_all_complete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:646,1
    - Dst: CRYPTO_atomic_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:488,1
    - Dst: CRYPTO_atomic_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:520,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:508,1
    - Dst: RUN_ONCE_ALT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:533,1
    - Dst: RUN_ONCE_ALT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:554,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:586,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:597,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:629,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:634,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:639,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 125
    argCount: 2
    argNames:
    - opts
    - settings
    argTypes:
    - uint64_t
    - OPENSSL_INIT_SETTINGS*
    constantsTouched: []
    func_position:
      end: 654
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 654
    functionName: OPENSSL_init_crypto
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - CRYPTO_atomic_or
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - RUN_ONCE_ALT
    - CRYPTO_THREAD_set_local
    - CRYPTO_atomic_load
    - openssl_init_fork_handlers
    - ENGINE_register_all_complete
    - CRYPTO_THREAD_get_local
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS
      *settings) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:274,1
    - Dst: async_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: (ossl_init_async)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - async_init
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_async) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:418,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:427,1
    - Dst: ossl_store_cleanup_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:424,1
    - Dst: bio_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:433,1
    - Dst: ossl_obj_cleanup_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:439,1
    - Dst: OPENSSL_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:367,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:374,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:378,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:391,1
    - Dst: async_deinit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:397,1
    - Dst: ossl_config_modules_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:415,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:411,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:432,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:438,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:380,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:383,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:423,1
    - Dst: engine_cleanup_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:419,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:414,1
    - Dst: ossl_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:430,1
    - Dst: evp_cleanup_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:436,1
    - Dst: err_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:442,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:445,1
    - Dst: ossl_trace_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:453,1
    - Dst: ossl_comp_zlib_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:392,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:396,1
    - Dst: ossl_rand_cleanup_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:412,1
    - Dst: ossl_lib_ctx_default_deinit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:428,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:435,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:441,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:444,1
    - Dst: OSSL_CMP_log_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:449,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:452,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 456
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 456
    functionName: OPENSSL_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - bio_cleanup
    - CRYPTO_THREAD_lock_free
    - err_cleanup
    - ossl_trace_cleanup
    - CRYPTO_secure_malloc_done
    - ossl_rand_cleanup_int
    - OPENSSL_free
    - ossl_comp_zlib_cleanup
    - ossl_lib_ctx_default_deinit
    - ossl_store_cleanup_int
    - evp_cleanup_int
    - async_deinit
    - OPENSSL_thread_stop
    - ossl_cleanup_thread
    - OSSL_TRACE
    - ossl_obj_cleanup_int
    - ossl_config_modules_free
    - engine_cleanup_int
    - OSSL_CMP_log_close
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_cleanup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:131,1
    - Dst: DSO_dsobyaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:163,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:145,1
    - Dst: err_shelve_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:160,1
    - Dst: GetModuleHandleEx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:141,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:169,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:171,1
    - Dst: err_unshelve_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 178
    functionName: (ossl_init_load_crypto_nodelete)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - DSO_dsobyaddr
    - OSSL_TRACE1
    - GetModuleHandleEx
    - err_shelve_state
    - OSSL_TRACE
    - DSO_free
    - err_unshelve_state
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_load_crypto_nodelete) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:310,1
    - Dst: engine_load_devcrypto_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: (ossl_init_engine_devcrypto)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE
    - engine_load_devcrypto_int
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_engine_devcrypto) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:58,1
    - Dst: ossl_malloc_setup_failures
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:60,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:63,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:64,1
    - Dst: OPENSSL_cpuid_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:67,1
    - Dst: ossl_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:69,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:72,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:79,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:80,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 86
    functionName: (ossl_init_base)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - OPENSSL_cpuid_setup
    - CRYPTO_THREAD_lock_free
    - OSSL_TRACE
    - ossl_init_thread
    - CRYPTO_THREAD_init_local
    - CRYPTO_THREAD_lock_new
    - ossl_malloc_setup_failures
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_base) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:190,1
    - Dst: ossl_err_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: (ossl_init_load_crypto_strings)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - ossl_err_load_crypto_strings
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_load_crypto_strings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:337,1
    - Dst: engine_load_afalg_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: (ossl_init_engine_afalg)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - engine_load_afalg_int
    - OSSL_TRACE
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_engine_afalg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: win32atexit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/init.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanup
    linkageType: ''
    returnType: int
    signature: 'static int win32atexit(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:44,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - vgbl
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: child_prov_ossl_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void child_prov_ossl_ctx_free(void *vgbl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:105,1
    - Dst: ossl_provider_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:121,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:126,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:110,1
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:133,1
    - Dst: ossl_provider_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:140,1
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:144,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:145,1
    - Dst: ossl_provider_set_child
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:149,1
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:151,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:159,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:152,1
    - Dst: ossl_provider_add_to_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:150,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 2
    argNames:
    - prov
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 161
    functionName: provider_create_child_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - ossl_provider_new
    - ossl_provider_activate
    - ossl_provider_find
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - ossl_provider_add_to_store
    - ossl_provider_free
    - ossl_provider_set_child
    - ossl_provider_deactivate
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: int
    signature: 'static int provider_create_child_cb(const OSSL_CORE_HANDLE *prov,
      void *cbdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_set_default_properties_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - props
    - cbdata
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: provider_global_props_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - evp_set_default_properties_int
    linkageType: ''
    returnType: int
    signature: 'static int provider_global_props_cb(const char *props, void *cbdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: ossl_provider_deinit_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: void
    signature: 'void ossl_provider_deinit_child(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: child_prov_globals
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_PROVIDER)
    signature: 'DEFINE_STACK_OF(OSSL_PROVIDER) struct child_prov_globals '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:68,1
    - Dst: c_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:84,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:86,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 95
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 95
    functionName: ossl_child_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_core_get_libctx
    - ossl_lib_ctx_get_data
    - c_get_libctx
    linkageType: ''
    returnType: int
    signature: 'static int ossl_child_provider_init(const OSSL_CORE_HANDLE *handle,
      const OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: child_prov_ossl_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *child_prov_ossl_ctx_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:170,1
    - Dst: ossl_provider_is_child
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:184,1
    - Dst: ossl_provider_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:176,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:183,1
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - prov
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 189
    functionName: provider_remove_child_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - ossl_provider_find
    - ossl_provider_free
    - ossl_provider_deactivate
    - ossl_lib_ctx_get_data
    - ossl_provider_is_child
    linkageType: ''
    returnType: int
    signature: 'static int provider_remove_child_cb(const OSSL_CORE_HANDLE *prov,
      void *cbdata) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:207,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:216,1
    - Dst: OSSL_FUNC_provider_deregister_child_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:224,1
    - Dst: OSSL_FUNC_provider_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:227,1
    - Dst: OSSL_FUNC_provider_register_child_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:220,1
    - Dst: OSSL_FUNC_provider_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:231,1
    - Dst: OSSL_FUNC_provider_get0_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:234,1
    - Dst: OSSL_FUNC_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:238,1
    - Dst: OSSL_FUNC_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:241,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:258,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - handle
    - in
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 270
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 270
    functionName: ossl_provider_init_as_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_provider_up_ref
    - OSSL_FUNC_provider_register_child_cb
    - OSSL_FUNC_core_get_libctx
    - OSSL_FUNC_provider_free
    - OSSL_FUNC_provider_deregister_child_cb
    - OSSL_FUNC_provider_get0_dispatch
    - OSSL_FUNC_provider_name
    - OSSL_FUNC_provider_get0_provider_ctx
    - ossl_lib_ctx_get_data
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_init_as_child(OSSL_LIB_CTX *ctx, const OSSL_CORE_HANDLE
      *handle, const OSSL_DISPATCH *in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:317,1
    - Dst: ossl_provider_get_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:326,1
    - Dst: ossl_provider_get_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:323,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_PROVIDER*
    - int
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: ossl_provider_free_parent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    - ossl_provider_get_parent
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_free_parent(OSSL_PROVIDER *prov, int deactivate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:300,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:300,1
    - Dst: ossl_provider_get_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_PROVIDER*
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: ossl_provider_up_ref_parent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_child.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    - ossl_provider_get_parent
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int ossl_provider_up_ref_parent(OSSL_PROVIDER *prov, int activate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:40,1
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:42,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:44,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - str
    - s
    - file
    - line
    argTypes:
    - char*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: CRYPTO_strndup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - CRYPTO_malloc
    - memcpy
    - OPENSSL_strnlen
    linkageType: ''
    returnType: char*
    signature: 'char *CRYPTO_strndup(const char *str, size_t s, const char* file,
      int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - str
    - maxlen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: OPENSSL_strnlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_strnlen(const char *str, size_t maxlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: OPENSSL_strlcat
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_strlcat(char *dst, const char *src, size_t size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:159,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:165,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:157,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 5
    argNames:
    - buf
    - buf_n
    - buflen
    - str
    - sep
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 175
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 175
    functionName: hexstr2buf_sep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexchar2int
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int hexstr2buf_sep(unsigned char *buf, size_t buf_n, size_t
      *buflen, const char *str, const char sep) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:199,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:198,1
    - Dst: hexstr2buf_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:206,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:211,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - str
    - buflen
    - sep
    argTypes:
    - char*
    - long*
    - char
    constantsTouched: []
    func_position:
      end: 213
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 213
    functionName: ossl_hexstr2buf_sep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - hexstr2buf_sep
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *ossl_hexstr2buf_sep(const char *str, long *buflen,
      const char sep) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:237,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 6
    argNames:
    - str
    - str_n
    - strlength
    - buf
    - buflen
    - sep
    argTypes:
    - char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - char
    constantsTouched: []
    func_position:
      end: 256
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 256
    functionName: buf2hexstr_sep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ebcdic2ascii
    linkageType: ''
    returnType: int
    signature: 'static int buf2hexstr_sep(char *str, size_t str_n, size_t *strlength,
      const unsigned char *buf, size_t buflen, const char sep) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:271,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:281,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:275,1
    - Dst: buf2hexstr_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:279,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - buflen
    - sep
    argTypes:
    - unsigned char*
    - long
    - char
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: ossl_buf2hexstr_sep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - buf2hexstr_sep
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *ossl_buf2hexstr_sep(const unsigned char *buf, long buflen, char
      sep) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:299,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:335,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:319,1
    - Dst: strerror_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:328,1
    - Dst: strerror_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:308,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:339,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - errnum
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 342
    functionName: openssl_strerror_r
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - strerror_s
    - OPENSSL_strlcpy
    - strerror
    - strerror_r
    linkageType: ''
    returnType: int
    signature: 'int openssl_strerror_r(int errnum, char *buf, size_t buflen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:26,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:28,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:26,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - str
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: CRYPTO_strdup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - strcpy
    - CRYPTO_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *CRYPTO_strdup(const char *str, const char* file, int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: OPENSSL_strlcpy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: 'size_t OPENSSL_strlcpy(char *dst, const char *src, size_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:59,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - data
    - siz
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: CRYPTO_memdup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - CRYPTO_malloc
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_memdup(const void *data, size_t siz, const char* file,
      int line) '
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 135
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 135
    functionName: OPENSSL_hexchar2int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_hexchar2int(unsigned char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_hexstr2buf_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - str
    - buflen
    argTypes:
    - char*
    - long*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: OPENSSL_hexstr2buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - ossl_hexstr2buf_sep
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *OPENSSL_hexstr2buf(const char *str, long *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf2hexstr_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - str
    - str_n
    - strlength
    - buf
    - buflen
    - sep
    argTypes:
    - char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - char
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: OPENSSL_buf2hexstr_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - buf2hexstr_sep
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_buf2hexstr_ex(char *str, size_t str_n, size_t *strlength,
      const unsigned char *buf, size_t buflen, const char sep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:348,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: OPENSSL_strcasecmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:360,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: OPENSSL_strncasecmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_strncasecmp(const char *s1, const char *s2, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexstr2buf_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - buf
    - buf_n
    - buflen
    - str
    - sep
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: OPENSSL_hexstr2buf_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - hexstr2buf_sep
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_hexstr2buf_ex(unsigned char *buf, size_t buf_n, size_t
      *buflen, const char *str, const char sep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_buf2hexstr_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: OPENSSL_buf2hexstr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_str.c
    functionUses: []
    functionsReached:
    - ossl_buf2hexstr_sep
    linkageType: ''
    returnType: char*
    signature: 'char *OPENSSL_buf2hexstr(const unsigned char *buf, long buflen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vnamemap
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: stored_namemap_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_namemap_free
    linkageType: ''
    returnType: void
    signature: 'static void stored_namemap_free(void *vnamemap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:103,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:106,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - namemap
    argTypes:
    - OSSL_NAMEMAP*
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: ossl_namemap_empty
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - tsan_load
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int ossl_namemap_empty(OSSL_NAMEMAP *namemap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - namenum
    - data
    argTypes:
    - NAMENUM_ENTRY*
    - DOALL_NAMES_DATA*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: do_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_name(const NAMENUM_ENTRY *namenum, DOALL_NAMES_DATA
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - namemap
    - number
    - idx
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: ossl_namemap_num2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_namemap_num2name(const OSSL_NAMEMAP *namemap, int
      number, size_t idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:253,1
    - Dst: lh_NAMENUM_ENTRY_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:263,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:257,1
    - Dst: tsan_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:262,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:256,1
    - Dst: lh_NAMENUM_ENTRY_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:265,1
    - Dst: namenum_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - namemap
    - number
    - name
    - name_len
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 272
    functionName: namemap_add_name_n
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - namemap_name2num_n
    - lh_NAMENUM_ENTRY_insert
    - OPENSSL_zalloc
    - lh_NAMENUM_ENTRY_error
    - OPENSSL_strndup
    - tsan_counter
    - namenum_free
    linkageType: ''
    returnType: int
    signature: 'static int namemap_add_name_n(OSSL_NAMEMAP *namemap, int number, const
      char *name, size_t name_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:388,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:389,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:393,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:389,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:388,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:393,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:394,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:394,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:395,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:398,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:403,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - base_nid
    - nid
    - pem_name
    - arg
    argTypes:
    - int
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 404
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 404
    functionName: get_legacy_evp_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - OBJ_nid2sn
    - OBJ_nid2obj
    - OBJ_nid2ln
    - ossl_namemap_add_name
    - OBJ_obj2txt
    linkageType: ''
    returnType: void
    signature: 'static void get_legacy_evp_names(int base_nid, int nid, const char
      *pem_name, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:152,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:160,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:162,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:157,1
    - Dst: lh_NAMENUM_ENTRY_num_items
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:155,1
    - Dst: lh_NAMENUM_ENTRY_doall_DOALL_NAMES_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:165,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:167,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:170,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - namemap
    - number
    - (*fn)
    - data
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 174
    functionName: ossl_namemap_doall_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - fn
    - lh_NAMENUM_ENTRY_num_items
    - CRYPTO_THREAD_unlock
    - lh_NAMENUM_ENTRY_doall_DOALL_NAMES_DATA
    - OPENSSL_free
    - CRYPTO_THREAD_read_lock
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_namemap_doall_names(const OSSL_NAMEMAP *namemap, int number,
      void (*fn)(const char *name, void *data), void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:281,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:290,1
    - Dst: namemap_add_name_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:289,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - namemap
    - number
    - name
    - name_len
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: ossl_namemap_add_name_n
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - namemap_add_name_n
    - ossl_namemap_stored
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ossl_namemap_add_name_n(OSSL_NAMEMAP *namemap, int number, const
      char *name, size_t name_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:181,1
    - Dst: lh_NAMENUM_ENTRY_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:185,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - namemap
    - name
    - name_len
    argTypes:
    - OSSL_NAMEMAP*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: namemap_name2num_n
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - lh_NAMENUM_ENTRY_retrieve
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: 'static int namemap_name2num_n(const OSSL_NAMEMAP *namemap, const char
      *name, size_t name_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_add_name_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:299,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - namemap
    - number
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: ossl_namemap_add_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_namemap_add_name_n
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_namemap_add_name(OSSL_NAMEMAP *namemap, int number, const
      char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:428,1
    - Dst: get_legacy_evp_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:434,1
    - Dst: get_legacy_evp_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:437,1
    - Dst: get_legacy_evp_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:455,1
    - Dst: get_legacy_evp_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - ameth
    - arg
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 459
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 459
    functionName: get_legacy_pkey_meth_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_get0_info
    - get_legacy_evp_names
    linkageType: ''
    returnType: void
    signature: 'static void get_legacy_pkey_meth_names(const EVP_PKEY_ASN1_METHOD
      *ameth, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_NAMENUM_ENTRY_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:528,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:532,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:531,1
    - Dst: lh_NAMENUM_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - namemap
    argTypes:
    - OSSL_NAMEMAP*
    constantsTouched: []
    func_position:
      end: 533
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 533
    functionName: ossl_namemap_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - lh_NAMENUM_ENTRY_doall
    - CRYPTO_THREAD_lock_free
    - lh_NAMENUM_ENTRY_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_namemap_free(OSSL_NAMEMAP *namemap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: stored_namemap_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_namemap_new
    linkageType: ''
    returnType: void*
    signature: 'static void *stored_namemap_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:309,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:323,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:324,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:314,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:310,1
    - Dst: namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:328,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:331,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:337,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:348,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:349,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:357,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:368,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:364,1
    - Dst: namemap_add_name_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:353,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 4
    argNames:
    - namemap
    - number
    - names
    - separator
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 370
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 370
    functionName: ossl_namemap_add_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - namemap_name2num_n
    - ossl_assert
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - strchr
    - namemap_add_name_n
    - ERR_raise_data
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_namemap_add_names(OSSL_NAMEMAP *namemap, int number, const
      char *names, const char separator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lh_strcasehash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMENUM_ENTRY*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: namenum_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_lh_strcasehash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long namenum_hash(const NAMENUM_ENTRY *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:56,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMENUM_ENTRY*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: namenum_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void namenum_free(NAMENUM_ENTRY *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:197,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:206,1
    - Dst: namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:205,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - namemap
    - name
    - name_len
    argTypes:
    - OSSL_NAMEMAP*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: ossl_namemap_name2num_n
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - namemap_name2num_n
    - ossl_namemap_stored
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int ossl_namemap_name2num_n(const OSSL_NAMEMAP *namemap, const char
      *name, size_t name_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:408,1
    - Dst: get_legacy_evp_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:411,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - 'on'
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: get_legacy_cipher_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_type
    - OBJ_NAME_get
    - get_legacy_evp_names
    linkageType: ''
    returnType: void
    signature: 'static void get_legacy_cipher_names(const OBJ_NAME *on, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:473,1
    - Dst: OBJ_NAME_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:497,1
    - Dst: OBJ_NAME_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:495,1
    - Dst: ossl_namemap_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:480,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:492,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:501,1
    - Dst: get_legacy_pkey_meth_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:502,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 507
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 507
    functionName: ossl_namemap_stored
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_namemap_empty
    - EVP_PKEY_asn1_get_count
    - get_legacy_pkey_meth_names
    - EVP_PKEY_asn1_get0
    - OPENSSL_init_crypto
    - OBJ_NAME_do_all
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_NAMEMAP*
    signature: 'OSSL_NAMEMAP *ossl_namemap_stored(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NAMENUM_ENTRY*
    - NAMENUM_ENTRY*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: namenum_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'static int namenum_cmp(const NAMENUM_ENTRY *a, const NAMENUM_ENTRY
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:216,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - namemap
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: ossl_namemap_name2num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num_n
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char
      *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - name
    - vdata
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: do_num2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_num2name(const char *name, void *vdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:416,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:419,1
    - Dst: get_legacy_evp_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - 'on'
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: get_legacy_md_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - OBJ_NAME_get
    - get_legacy_evp_names
    - EVP_MD_get_type
    linkageType: ''
    returnType: void
    signature: 'static void get_legacy_md_names(const OBJ_NAME *on, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:513,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:514,1
    - Dst: lh_NAMENUM_ENTRY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:516,1
    - Dst: ossl_namemap_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: ossl_namemap_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/core_namemap.c
    functionUses: []
    functionsReached:
    - ossl_namemap_free
    - lh_NAMENUM_ENTRY_new
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_NAMEMAP*
    signature: 'OSSL_NAMEMAP *ossl_namemap_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: julian_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:77,1
    - Dst: julian_to_date
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - tm
    - off_day
    - offset_sec
    argTypes:
    - struct tm*
    - int
    - long
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: OPENSSL_gmtime_adj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c
    functionUses: []
    functionsReached:
    - julian_adj
    - julian_to_date
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_gmtime_adj(struct tm *tm, int off_day, long offset_sec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - y
    - m
    - d
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: date_to_julian
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long date_to_julian(int y, int m, int d) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:34,1
    - Dst: gmtime_s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:44,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:36,1
    - Dst: gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:48,1
    - Dst: gmtime_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:40,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:52,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 28
    argCount: 2
    argNames:
    - timer
    - result
    argTypes:
    - time_t*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 56
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 56
    functionName: OPENSSL_gmtime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c
    functionUses: []
    functionsReached:
    - gmtime_s
    - gmtime
    - memcpy
    - gmtime_r
    linkageType: ''
    returnType: struct tm*
    signature: 'struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: julian_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:106,1
    - Dst: julian_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:108,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 4
    argNames:
    - pday
    - psec
    - from
    - to
    argTypes:
    - int*
    - int*
    - struct tm*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: OPENSSL_gmtime_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c
    functionUses: []
    functionsReached:
    - julian_adj
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_gmtime_diff(int *pday, int *psec, const struct tm *from,
      const struct tm *to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 4
    argNames:
    - jd
    - y
    - m
    - d
    argTypes:
    - long
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: julian_to_date
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void julian_to_date(long jd, int *y, int *m, int *d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: date_to_julian
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - tm
    - off_day
    - offset_sec
    - pday
    - psec
    argTypes:
    - struct tm*
    - int
    - long
    - long*
    - int*
    constantsTouched: []
    func_position:
      end: 173
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 173
    functionName: julian_adj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/o_time.c
    functionUses: []
    functionsReached:
    - date_to_julian
    linkageType: ''
    returnType: int
    signature: 'static int julian_adj(const struct tm *tm, int off_day, long offset_sec,
      long *pday, int *psec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSRWLockExclusive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:102,1
    - Dst: ReleaseSRWLockShared
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:104,1
    - Dst: LeaveCriticalSection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - ReleaseSRWLockExclusive
    - LeaveCriticalSection
    - ReleaseSRWLockShared
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockShared
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:75,1
    - Dst: EnterCriticalSection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockShared
    - EnterCriticalSection
    linkageType: ''
    returnType: __owur
    signature: '__owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:142,1
    - Dst: init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - once
    - (*init)
    argTypes:
    - CRYPTO_ONCE*
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: CRYPTO_THREAD_run_once
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - init
    - InterlockedCompareExchange
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - key
    - (*cleanup)
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: CRYPTO_THREAD_init_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - TlsAlloc
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void
      *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsSetValue
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - TlsSetValue
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: CRYPTO_THREAD_get_current_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - GetCurrentThreadId
    linkageType: ''
    returnType: CRYPTO_THREAD_ID
    signature: 'CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangeAdd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:240,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:243,1
    - Dst: InterlockedOr64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - InterlockedOr64
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:45,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:51,1
    - Dst: InitializeSRWLock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:48,1
    - Dst: InitializeCriticalSectionAndSpinCount
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:58,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:59,1
    - Dst: InitializeCriticalSection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - InitializeCriticalSectionAndSpinCount
    - OPENSSL_free
    - InitializeSRWLock
    - InitializeCriticalSection
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CRYPTO_RWLOCK*
    signature: 'CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:87,1
    - Dst: EnterCriticalSection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - AcquireSRWLockExclusive
    - EnterCriticalSection
    linkageType: ''
    returnType: __owur
    signature: '__owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:118,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:180,1
    - Dst: TlsGetValue
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:181,1
    - Dst: SetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - GetLastError
    - SetLastError
    - TlsGetValue
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsFree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - TlsFree
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CRYPTO_THREAD_ID
    - CRYPTO_THREAD_ID
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: CRYPTO_THREAD_compare_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID
      b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:222,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:227,1
    - Dst: InterlockedOr64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached:
    - InterlockedOr64
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret, CRYPTO_RWLOCK
      *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: openssl_init_fork_handlers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int openssl_init_fork_handlers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: openssl_get_fork_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/threads_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int openssl_get_fork_id(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:25,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:28,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:26,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: ossl_param_build_set_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_push_int
    linkageType: ''
    returnType: int
    signature: 'int ossl_param_build_set_int(OSSL_PARAM_BLD *bld, OSSL_PARAM *p, const
      char *key, int num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:47,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:48,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - buf
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: ossl_param_build_set_utf8_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'int ossl_param_build_set_utf8_string(OSSL_PARAM_BLD *bld, OSSL_PARAM
      *p, const char *key, const char *buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_BN_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:72,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:78,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - bld
    - p
    - key
    - bn
    - sz
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - BIGNUM*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: ossl_param_build_set_bn_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_push_BN_pad
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'int ossl_param_build_set_bn_pad(OSSL_PARAM_BLD *bld, OSSL_PARAM *p,
      const char *key, const BIGNUM *bn, size_t sz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:36,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:37,1
    - Dst: OSSL_PARAM_set_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: ossl_param_build_set_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_long
    - OSSL_PARAM_BLD_push_long
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'int ossl_param_build_set_long(OSSL_PARAM_BLD *bld, OSSL_PARAM *p,
      const char *key, long num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:60,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:62,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - bld
    - p
    - key
    - data
    - data_len
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: ossl_param_build_set_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'int ossl_param_build_set_octet_string(OSSL_PARAM_BLD *bld, OSSL_PARAM
      *p, const char *key, const unsigned char *data, size_t data_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:87,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:91,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - bn
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: ossl_param_build_set_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_push_BN
    linkageType: ''
    returnType: int
    signature: 'int ossl_param_build_set_bn(OSSL_PARAM_BLD *bld, OSSL_PARAM *p, const
      char *key, const BIGNUM *bn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_BIGNUM_const_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:99,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:114,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:106,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:105,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:113,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c:116,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - bld
    - params
    - names
    - stk
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - STACK_OF(BIGNUM_const)*
    constantsTouched: []
    func_position:
      end: 121
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 121
    functionName: ossl_param_build_set_multi_key_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/param_build_set.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_BN
    - sk_BIGNUM_const_num
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_locate
    - sk_BIGNUM_const_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_param_build_set_multi_key_bn(OSSL_PARAM_BLD *bld, OSSL_PARAM
      *params, const char *names[], STACK_OF(BIGNUM_const) *stk) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 4
    argNames:
    - sa
    - (*node)
    - (*leaf)
    - arg
    argTypes:
    - OPENSSL_SA*
    - void
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 97
    functionName: sa_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sa_doall(const OPENSSL_SA *sa, void (*node)(void **),
      void (*leaf)(ossl_uintmax_t, void *, void *), void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - n
    - p
    - arg
    argTypes:
    - ossl_uintmax_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: sa_free_leaf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void sa_free_leaf(ossl_uintmax_t n, void *p, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:119,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - OPENSSL_SA*
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: ossl_sa_free_leaves
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sa_doall
    linkageType: ''
    returnType: void
    signature: 'void ossl_sa_free_leaves(OPENSSL_SA *sa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n
    - l
    - arg
    argTypes:
    - ossl_uintmax_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: trampoline
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void trampoline(ossl_uintmax_t n, void *l, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - sa
    - (*leaf)
    - arg
    argTypes:
    - OPENSSL_SA*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: ossl_sa_doall_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - sa_doall
    linkageType: ''
    returnType: void
    signature: 'void ossl_sa_doall_arg(const OPENSSL_SA *sa, void (*leaf)(ossl_uintmax_t,
      void *, void *), void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - sa
    - n
    argTypes:
    - OPENSSL_SA*
    - ossl_uintmax_t
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: ossl_sa_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_sa_get(const OPENSSL_SA *sa, ossl_uintmax_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: ossl_sa_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OPENSSL_SA*
    signature: 'OPENSSL_SA *ossl_sa_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: sa_free_node
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void sa_free_node(void **p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:112,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sa
    argTypes:
    - OPENSSL_SA*
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: ossl_sa_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sa_doall
    linkageType: ''
    returnType: void
    signature: 'void ossl_sa_free(OPENSSL_SA *sa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - sa
    - (*leaf)
    argTypes:
    - OPENSSL_SA*
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: ossl_sa_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - sa_doall
    linkageType: ''
    returnType: void
    signature: 'void ossl_sa_doall(const OPENSSL_SA *sa, void (*leaf)(ossl_uintmax_t,
      void *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sa
    argTypes:
    - OPENSSL_SA*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: ossl_sa_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_sa_num(const OPENSSL_SA *sa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: alloc_node
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ossl_inline**
    signature: 'static ossl_inline void **alloc_node(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: alloc_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:192,1
    - Dst: alloc_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c:204,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - sa
    - posn
    - val
    argTypes:
    - OPENSSL_SA*
    - ossl_uintmax_t
    - void*
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: ossl_sa_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sparse_array.c
    functionUses: []
    functionsReached:
    - alloc_node
    linkageType: ''
    returnType: int
    signature: 'int ossl_sa_set(OPENSSL_SA *sa, ossl_uintmax_t posn, void *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ill_handler
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c
    functionUses: []
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: 'static void ill_handler(int sig) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:390,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:472,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:552,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:222,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:253,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:298,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:502,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:356,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:332,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:385,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:467,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:547,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:655,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:617,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:725,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:293,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:314,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:659,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:577,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:685,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:216,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:327,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:351,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:462,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:506,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:542,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:519,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:680,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:722,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:724,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:723,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:346,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:278,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:434,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:528,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:720,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:719,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:603,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:590,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:663,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:288,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:443,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:721,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:481,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:523,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:537,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:341,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:457,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:510,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:683,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:695,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:717,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:247,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:283,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:497,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:612,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:650,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:418,1
    - Dst: TOK_CPU
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:718,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:452,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:532,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:476,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:336,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:380,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:713,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:712,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:594,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:607,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:645,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:667,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:689,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:714,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:471,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:514,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:322,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:447,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:710,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:561,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:243,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:376,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:413,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:581,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:742,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:711,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:640,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:466,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:501,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:707,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:585,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:658,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:408,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:556,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:598,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:709,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:708,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:503,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:539,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:628,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:338,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:396,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:652,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:478,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:681,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:249,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:373,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:440,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:534,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:623,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:660,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:600,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:391,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:473,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:449,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:254,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:333,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:386,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:415,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:468,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:656,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:675,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:357,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:319,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:444,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:604,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:642,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:618,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:591,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:664,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:578,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:294,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:315,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:410,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:463,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:507,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:520,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:498,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:613,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:217,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:352,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:637,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:435,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:405,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:529,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:567,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:259,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:595,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:632,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:347,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:279,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:608,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:668,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:562,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:582,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:275,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:289,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:400,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:458,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:511,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:524,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:482,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:342,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:627,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:395,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:284,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:381,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:651,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:453,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:599,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:586,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:622,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:557,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:337,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:439,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:477,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:646,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:323,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:515,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:330,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:339,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:397,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:479,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:545,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:653,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:588,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:648,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:634,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:474,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:517,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:325,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:392,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:495,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:610,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:629,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:432,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:540,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:245,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:334,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:469,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:657,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:730,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:219,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:441,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:624,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:661,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:601,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:464,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:508,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:521,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:559,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:250,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:295,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:316,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:374,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:535,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:579,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:530,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:214,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:363,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:450,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:554,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:605,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:358,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:378,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:416,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:619,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:592,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:665,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:675,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:512,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:549,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:320,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:224,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:290,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:445,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:525,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:643,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:459,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:684,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:614,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:353,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:411,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:638,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:499,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:285,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:329,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:382,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:454,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:544,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:436,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:596,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:406,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:348,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:280,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:633,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:324,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:516,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:647,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:563,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:583,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:343,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:276,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:401,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:635,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:705,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:704,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:565,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:257,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:389,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:403,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:551,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:706,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:461,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:527,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:505,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:630,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:546,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:331,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:384,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:398,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:654,1
    - Dst: TOK_FUNC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:703,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:442,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:456,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:589,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:625,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:662,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:602,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:326,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:393,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:518,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:737,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:496,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:611,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:541,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:226,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:433,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:485,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:606,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:620,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:246,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:359,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:417,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:593,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:666,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:422,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:509,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:522,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:296,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:220,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:242,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:251,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:375,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:536,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:580,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:500,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:615,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:560,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:317,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:354,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:412,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:531,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:437,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:451,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:555,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:597,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:281,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:349,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:407,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:388,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:513,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:446,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:644,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:321,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:256,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:291,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:379,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:564,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:584,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:344,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:402,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:550,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:639,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:286,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:383,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 598
    argCount: 1
    argNames:
    - cap
    argTypes:
    - struct OPENSSL_s390xcap_st*
    constantsTouched: []
    func_position:
      end: 744
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 744
    functionName: parse_env
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    - TOK_FUNC
    - strtok
    - TOK_CPU
    - strcpy
    - sscanf
    - free
    - strlen
    - malloc
    - ossl_isspace
    - strspn
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int parse_env(struct OPENSSL_s390xcap_st *cap) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:91,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:99,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:87,1
    - Dst: sigfillset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:111,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:112,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:121,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:114,1
    - Dst: sigdelset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:113,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:131,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:136,1
    - Dst: visibility
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:77,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:101,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:109,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:118,1
    - Dst: sigsetjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:126,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:130,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:140,1
    - Dst: OPENSSL_s390x_facilities
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:95,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:100,1
    - Dst: OPENSSL_s390x_facilities
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:122,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:134,1
    - Dst: sigprocmask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:116,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:125,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:117,1
    - Dst: OPENSSL_vx_probe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:127,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:129,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:135,1
    - Dst: parse_env
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:142,1
    - Dst: OPENSSL_s390x_functions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 88
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 180
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 180
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/s390xcap.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    - sigdelset
    - sigfillset
    - OPENSSL_s390x_functions
    - sigsetjmp
    - visibility
    - OPENSSL_s390x_facilities
    - parse_env
    - sigaction
    - OPENSSL_vx_probe
    - sigprocmask
    - getenv
    - getauxval
    - memset
    linkageType: ''
    returnType: void
    signature: '__attribute__ ((visibility("hidden"))) #endif void OPENSSL_cpuid_setup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: OPENSSL_issetugid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_issetugid(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: issetugid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: OPENSSL_issetugid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c
    functionUses: []
    functionsReached:
    - issetugid
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_issetugid(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c:49,1
    - Dst: getegid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c:51,1
    - Dst: getuid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c:51,1
    - Dst: geteuid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c:51,1
    - Dst: getgid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: OPENSSL_issetugid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/uid.c
    functionUses: []
    functionsReached:
    - getuid
    - getgid
    - getegid
    - getauxval
    - geteuid
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_issetugid(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_is_null_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:109,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:111,1
    - Dst: ossl_encode_der_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:125,1
    - Dst: WPACKET_init_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:115,1
    - Dst: ossl_encode_der_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:124,1
    - Dst: WPACKET_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:126,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:127,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:129,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:134,1
    - Dst: ossl_encode_der_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:135,1
    - Dst: ossl_encode_der_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:140,1
    - Dst: ossl_encode_der_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:141,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:142,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 3
    argNames:
    - pkt
    - r
    - s
    argTypes:
    - WPACKET*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 146
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 146
    functionName: ossl_encode_der_dsa_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_cleanup
    - WPACKET_put_bytes_u8
    - WPACKET_init_null
    - WPACKET_is_null_buf
    - WPACKET_get_length
    - WPACKET_finish
    - WPACKET_start_sub_packet
    - ossl_encode_der_integer
    - ossl_encode_der_length
    linkageType: ''
    returnType: int
    signature: 'int ossl_encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM
      *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:158,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:166,1
    - Dst: PACKET_get_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:162,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: ossl_decode_der_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:239,1
    - Dst: ossl_decode_der_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:242,1
    - Dst: ossl_decode_der_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:243,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:240,1
    - Dst: ossl_decode_der_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:244,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:245,1
    - Dst: PACKET_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:248,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - r
    - s
    - ppin
    - len
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: ossl_decode_der_dsa_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c
    functionUses: []
    functionsReached:
    - PACKET_get_1
    - ossl_decode_der_integer
    - PACKET_data
    - ossl_decode_der_length
    - PACKET_buf_init
    - PACKET_remaining
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_decode_der_dsa_sig(BIGNUM *r, BIGNUM *s, const unsigned
      char **ppin, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:44,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:51,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:49,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:45,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - cont_len
    argTypes:
    - WPACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: ossl_encode_der_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:192,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:204,1
    - Dst: ossl_decode_der_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:194,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:205,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:200,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:210,1
    - Dst: PACKET_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:210,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:211,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - pkt
    - n
    argTypes:
    - PACKET*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: ossl_decode_der_integer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c
    functionUses: []
    functionsReached:
    - PACKET_get_1
    - PACKET_remaining
    - BN_bin2bn
    - ossl_decode_der_length
    - PACKET_data
    linkageType: ''
    returnType: int
    signature: 'int ossl_decode_der_integer(PACKET *pkt, BIGNUM *n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:70,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:84,1
    - Dst: ossl_encode_der_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:86,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:82,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:85,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:87,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:88,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pkt
    - n
    argTypes:
    - WPACKET*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: ossl_encode_der_integer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1_dsa.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - BN_num_bits
    - BN_bn2binpad
    - BN_is_negative
    - WPACKET_start_sub_packet
    - ossl_encode_der_length
    linkageType: ''
    returnType: int
    signature: 'int ossl_encode_der_integer(WPACKET *pkt, const BIGNUM *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - delta
    - numpoints
    - firsttime
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: adapt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int adapt(unsigned int delta, unsigned int numpoints, unsigned
      int firsttime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: digit_decoded
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int digit_decoded(const unsigned char a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:277,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:280,1
    - Dst: ossl_punycode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:286,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:278,1
    - Dst: PUSHC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:282,1
    - Dst: codepoint2utf8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:291,1
    - Dst: PUSHC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:297,1
    - Dst: PUSHC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:300,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - outlen
    argTypes:
    - char*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 312
    functionName: ossl_a2ulabel
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c
    functionUses: []
    functionsReached:
    - strchr
    - ossl_punycode_decode
    - strncmp
    - codepoint2utf8
    - PUSHC
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_a2ulabel(const char *in, char *out, size_t *outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: is_basic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int is_basic(unsigned int a) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 2
    argNames:
    - out
    - utf
    argTypes:
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: codepoint2utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int codepoint2utf8(unsigned char *out, unsigned long utf) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_basic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:138,1
    - Dst: adapt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:176,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:185,1
    - Dst: digit_decoded
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:157,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 4
    argNames:
    - pEncoded
    - enc_len
    - pDecoded
    - pout_length
    argTypes:
    - char*
    - size_t
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 194
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 194
    functionName: ossl_punycode_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c
    functionUses: []
    functionsReached:
    - is_basic
    - digit_decoded
    - adapt
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int ossl_punycode_decode(const char *pEncoded, const size_t enc_len,
      unsigned int *pDecoded, unsigned int *pout_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:327,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - u
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: ossl_a2ucompare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/punycode.c
    functionUses: []
    functionsReached:
    - ossl_a2ulabel
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_a2ucompare(const char *a, const char *u) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - category
    - channel
    argTypes:
    - int
    - BIO*
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: OSSL_trace_set_channel
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - set_trace_data
    linkageType: ''
    returnType: int
    signature: 'int OSSL_trace_set_channel(int category, BIO *channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_trace_get_category
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: OSSL_trace_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - ossl_trace_get_category
    linkageType: ''
    returnType: int
    signature: 'int OSSL_trace_enabled(int category) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:217,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:221,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - category
    - type
    - data
    argTypes:
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: trace_detach_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE2
    linkageType: ''
    returnType: int
    signature: 'static int trace_detach_cb(int category, int type, const void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: do_ossl_trace_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: 'static int do_ossl_trace_init(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_trace_get_category
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:474,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:489,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:482,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:493,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:488,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 500
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 500
    functionName: OSSL_trace_begin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - ossl_trace_get_category
    - BIO_ctrl
    - BIO_puts
    - strlen
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *OSSL_trace_begin(int category) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:163,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: OSSL_trace_get_category_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int OSSL_trace_get_category_num(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ossl_trace_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: (ossl_trace_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - do_ossl_trace_init
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_trace_init) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:251,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:273,1
    - Dst: detach_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:264,1
    - Dst: detach_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:260,1
    - Dst: detach_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:268,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:278,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:283,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:290,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:296,1
    - Dst: attach_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:312,1
    - Dst: attach_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:316,1
    - Dst: attach_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:320,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 7
    argNames:
    - category
    - type
    - channel
    - prefix
    - suffix
    - (*attach_cb)
    - (*detach_cb)
    argTypes:
    - int
    - int
    - BIO**
    - char**
    - char**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 324
    functionName: set_trace_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - BIO_free
    - OPENSSL_free
    - attach_cb
    - detach_cb
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'static int set_trace_data(int category, int type, BIO **channel, const
      char **prefix, const char **suffix, int (*attach_cb)(int, int, const void *),
      int (*detach_cb)(int, int, const void *)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_trace_get_category
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:507,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:513,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:518,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:517,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:512,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:522,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:523,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:527,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - category
    - channel
    argTypes:
    - int
    - BIO*
    constantsTouched: []
    func_position:
      end: 530
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 530
    functionName: OSSL_trace_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - CRYPTO_THREAD_unlock
    - ossl_trace_get_category
    - BIO_flush
    - BIO_ctrl
    - BIO_puts
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void OSSL_trace_end(int category, BIO * channel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trace_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:78,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - channel
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: trace_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - trace_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int trace_puts(BIO *channel, const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:371,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:376,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - category
    - type
    - data
    argTypes:
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: trace_attach_w_callback_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE2
    linkageType: ''
    returnType: int
    signature: 'static int trace_attach_w_callback_cb(int category, int type, const
      void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:400,1
    - Dst: set_trace_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:412,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:402,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:419,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:409,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:420,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - category
    - callback
    - data
    argTypes:
    - int
    - OSSL_trace_cb
    - void*
    constantsTouched: []
    func_position:
      end: 424
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 424
    functionName: OSSL_trace_set_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - set_trace_data
    - BIO_free
    - BIO_set_data
    - OPENSSL_free
    - OPENSSL_zalloc
    - BIO_new
    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/libspdm/os_stub/openssllib/openssl/crypto/trace.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - category
    - suffix
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: OSSL_trace_set_suffix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - set_trace_data
    linkageType: ''
    returnType: int
    signature: 'int OSSL_trace_set_suffix(int category, const char *suffix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: ossl_trace_get_category
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossl_trace_get_category(int category) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - channel
    - buf
    - num
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: trace_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int trace_write(BIO *channel, const char *buf, size_t num,
      size_t *written) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:86,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - channel
    - cmd
    - argl
    - argp
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: trace_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long trace_ctrl(BIO *channel, int cmd, long argl, void *argp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:346,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:352,1
    - Dst: set_trace_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: ossl_trace_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/trace.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - category
    - prefix
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: OSSL_trace_set_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - set_trace_data
    linkageType: ''
    returnType: int
    signature: 'int OSSL_trace_set_prefix(int category, const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:104,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - channel
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: trace_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int trace_free(BIO *channel) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:144,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:151,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: OSSL_trace_get_category_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_trace_get_category_name(int num) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:196,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:204,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - category
    - type
    - data
    argTypes:
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: trace_attach_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/trace.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE2
    linkageType: ''
    returnType: int
    signature: 'static int trace_attach_cb(int category, int type, const void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: OPENSSL_version_patch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int OPENSSL_version_patch(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: OPENSSL_version_major
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int OPENSSL_version_major(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: OPENSSL_version_build_metadata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OPENSSL_version_build_metadata(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: OpenSSL_version_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long OpenSSL_version_num(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: OPENSSL_version_pre_release
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OPENSSL_version_pre_release(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: OPENSSL_version_minor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int OPENSSL_version_minor(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c:79,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: OpenSSL_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cversion.c
    functionUses: []
    functionsReached:
    - OPENSSL_info
    linkageType: ''
    returnType: char*
    signature: 'const char *OpenSSL_version(int t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: skip_dot
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'static const char *skip_dot(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:48,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:52,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - vpcgbl
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: prov_conf_ossl_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_TRACE
    - sk_OSSL_PROVIDER_pop_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void prov_conf_ossl_ctx_free(void *vpcgbl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:166,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:174,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:166,1
    - Dst: provider_conf_params_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - prov
    - provinfo
    - name
    - value
    - cnf
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PROVIDER_INFO*
    - char*
    - char*
    - CONF*
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: provider_conf_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_new_null
    - sk_OPENSSL_CSTRING_free
    - provider_conf_params_internal
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int provider_conf_params(OSSL_PROVIDER *prov, OSSL_PROVIDER_INFO
      *provinfo, const char *name, const char *value, const CONF *cnf) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:224,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:263,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:247,1
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:289,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:325,1
    - Dst: provider_conf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:330,1
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:286,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:296,1
    - Dst: ossl_provider_info_add_to_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:332,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:203,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:214,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:223,1
    - Dst: skip_dot
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:225,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:241,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:236,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:250,1
    - Dst: ossl_provider_disable_fallback_loading
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:262,1
    - Dst: ossl_provider_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:267,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:271,1
    - Dst: ossl_provider_set_module_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:278,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:307,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:318,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:251,1
    - Dst: prov_already_activated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:264,1
    - Dst: ossl_provider_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:269,1
    - Dst: provider_conf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:280,1
    - Dst: ossl_provider_add_to_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:285,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:309,1
    - Dst: ossl_provider_info_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:336,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:316,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:323,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:299,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:212,1
    - Dst: skip_dot
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:211,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:217,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:228,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:234,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:239,1
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:283,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:290,1
    - Dst: sk_OSSL_PROVIDER_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:294,1
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:298,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:313,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:273,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 128
    argCount: 4
    argNames:
    - libctx
    - name
    - value
    - cnf
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - CONF*
    constantsTouched: []
    func_position:
      end: 348
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 348
    functionName: provider_conf_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - ossl_provider_new
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - OSSL_TRACE2
    - NCONF_get_section
    - ossl_lib_ctx_get_data
    - STACK_OF
    - OPENSSL_strdup
    - strcmp
    - ERR_raise_data
    - ossl_provider_deactivate
    - ossl_provider_info_clear
    - ERR_clear_error
    - ossl_provider_activate
    - ossl_provider_find
    - ossl_provider_add_to_store
    - sk_CONF_VALUE_num
    - ossl_provider_free
    - sk_OSSL_PROVIDER_push
    - sk_CONF_VALUE_value
    - ossl_provider_set_module_path
    - provider_conf_params
    - ossl_provider_info_add_to_store
    - ERR_raise
    - ossl_provider_disable_fallback_loading
    - sk_OSSL_PROVIDER_new_null
    - prov_already_activated
    - skip_dot
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int provider_conf_load(OSSL_LIB_CTX *libctx, const char *name,
      const char *value, const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: typedef
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_PROVIDER)
    signature: 'DEFINE_STACK_OF(OSSL_PROVIDER) /* PROVIDER config module */ typedef
      struct '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:30,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:37,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: prov_conf_ossl_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *prov_conf_ossl_ctx_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:187,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:191,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:189,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - name
    - activated
    argTypes:
    - char*
    - STACK_OF(OSSL_PROVIDER)*
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: prov_already_activated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - sk_OSSL_PROVIDER_num
    - strcmp
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_PROVIDER_value
    linkageType: ''
    returnType: int
    signature: 'static int prov_already_activated(const char *name, STACK_OF(OSSL_PROVIDER)
      *activated) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:356,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:363,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:357,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:360,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:360,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:367,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:368,1
    - Dst: provider_conf_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:369,1
    - Dst: NCONF_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    constantsTouched: []
    func_position:
      end: 375
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 375
    functionName: provider_conf_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - ERR_raise
    - sk_CONF_VALUE_num
    - provider_conf_load
    - sk_CONF_VALUE_value
    - NCONF_get_section
    - CONF_imodule_get_value
    - NCONF_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int provider_conf_init(CONF_IMODULE *md, const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:379,1
    - Dst: CONF_module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: ossl_provider_add_conf_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - CONF_module_add
    - OSSL_TRACE
    linkageType: ''
    returnType: void
    signature: 'void ossl_provider_add_conf_module(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:123,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:113,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:117,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:119,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:122,1
    - Dst: provider_conf_params_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:131,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:138,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:130,1
    - Dst: ossl_provider_add_parameter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:144,1
    - Dst: ossl_provider_info_add_parameter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:146,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:105,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:140,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:89,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:104,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:95,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:103,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:118,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:126,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:142,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:134,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c:125,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 6
    argNames:
    - prov
    - provinfo
    - name
    - value
    - cnf
    - visited
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PROVIDER_INFO*
    - char*
    - char*
    - CONF*
    - STACK_OF(OPENSSL_CSTRING)*
    constantsTouched: []
    func_position:
      end: 150
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 150
    functionName: provider_conf_params_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/provider_conf.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - sk_OPENSSL_CSTRING_push
    - ERR_raise
    - sk_OPENSSL_CSTRING_num
    - OSSL_TRACE2
    - OPENSSL_strlcpy
    - ossl_provider_add_parameter
    - OPENSSL_strlcat
    - sk_CONF_VALUE_num
    - sk_OPENSSL_CSTRING_pop
    - ossl_provider_info_add_parameter
    - sk_OPENSSL_CSTRING_value
    - sk_CONF_VALUE_value
    - NCONF_get_section
    - provider_conf_params_internal
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int provider_conf_params_internal(OSSL_PROVIDER *prov, OSSL_PROVIDER_INFO
      *provinfo, const char *name, const char *value, const CONF *cnf, STACK_OF(OPENSSL_CSTRING)
      *visited) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:242,1
    - Dst: vfprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:243,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fmta
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: OPENSSL_showfatal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached:
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_showfatal(const char *fmta, ...) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:50,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:54,1
    - Dst: GetUserObjectInformationW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:68,1
    - Dst: GetProcessWindowStation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:64,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:69,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:75,1
    - Dst: GetUserObjectInformationW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:76,1
    - Dst: wcsstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:87,1
    - Dst: wcsstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:91,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 96
    functionName: OPENSSL_isservice
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached:
    - GetProcAddress
    - GetProcessWindowStation
    - GetModuleHandle
    - GetLastError
    - GetUserObjectInformationW
    - alloca
    - wcsstr
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_isservice(void) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:119,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:138,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:189,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:208,1
    - Dst: MessageBox
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:233,1
    - Dst: WriteFile
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:127,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:146,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:190,1
    - Dst: RegisterEventSource
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:208,1
    - Dst: OutputDebugString
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:203,1
    - Dst: OutputDebugString
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:222,1
    - Dst: DeregisterEventSource
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:226,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:233,1
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:125,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:141,1
    - Dst: check_winnt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:207,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:191,1
    - Dst: MessageBox
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:229,1
    - Dst: _vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:126,1
    - Dst: GetFileType
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:120,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:128,1
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:188,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:190,1
    - Dst: _vsntprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:189,1
    - Dst: OPENSSL_isservice
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:207,1
    - Dst: ReportEvent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:213,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:229,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 83
    argCount: 1
    argNames:
    - fmta
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 235
    functionName: OPENSSL_showfatal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached:
    - RegisterEventSource
    - ReportEvent
    - _T
    - va_end
    - MultiByteToWideChar
    - WriteFile
    - va_start
    - OutputDebugString
    - MessageBox
    - GetStdHandle
    - OPENSSL_isservice
    - _vsntprintf
    - check_winnt
    - DeregisterEventSource
    - strlen
    - _vsnprintf
    - OSSL_NELEM
    - alloca
    - GetFileType
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_showfatal(const char *fmta, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: OPENSSL_isservice
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_isservice(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: OPENSSL_isservice
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_isservice(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_showfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:256,1
    - Dst: abort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:259,1
    - Dst: raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:265,1
    - Dst: _exit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - message
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 269
    functionName: OPENSSL_die
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached:
    - OPENSSL_showfatal
    - abort
    - _exit
    - raise
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_die(const char *message, const char *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: OPENSSL_VPROC_FUNC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_VPROC_FUNC(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: OPENSSL_isservice
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cryptlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_isservice(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: RC4_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_skey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *RC4_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SK_LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_skey.c:57,1
    - Dst: SK_LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_skey.c:60,1
    - Dst: SK_LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_skey.c:58,1
    - Dst: SK_LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_skey.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - RC4_KEY*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: RC4_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_skey.c
    functionUses: []
    functionsReached:
    - SK_LOOP
    linkageType: ''
    returnType: void
    signature: 'void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:48,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:52,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:49,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:50,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:51,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:53,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:54,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:55,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:65,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:68,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:77,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:74,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:71,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:83,1
    - Dst: LOOP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c:80,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - key
    - len
    - indata
    - outdata
    argTypes:
    - RC4_KEY*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 90
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 90
    functionName: RC4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc4/rc4_enc.c
    functionUses: []
    functionsReached:
    - LOOP
    linkageType: ''
    returnType: void
    signature: 'void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, unsigned
      char *outdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: ctr128_inc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr128_inc(unsigned char *counter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctr128_inc_aligned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:99,1
    - Dst: ctr128_inc_aligned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:111,1
    - Dst: ctr128_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:126,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    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
    constantsTouched: []
    func_position:
      end: 134
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 134
    functionName: CRYPTO_ctr128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c
    functionUses: []
    functionsReached:
    - ctr128_inc
    - ctr128_inc_aligned
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char
      *out, size_t len, const void *key, unsigned char ivec[16], unsigned char ecount_buf[16],
      unsigned int *num, block128_f block) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:165,1
    - Dst: ctr96_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:191,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:198,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:188,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:201,1
    - Dst: ctr96_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:203,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    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
    constantsTouched: []
    func_position:
      end: 211
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 211
    functionName: CRYPTO_ctr128_encrypt_ctr32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c
    functionUses: []
    functionsReached:
    - PUTU32
    - memset
    - ctr96_inc
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned
      char *out, size_t len, const void *key, unsigned char ivec[16], unsigned char
      ecount_buf[16], unsigned int *num, ctr128_f func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: ctr96_inc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr96_inc(unsigned char *counter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctr128_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: ctr128_inc_aligned
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ctr128.c
    functionUses: []
    functionsReached:
    - ctr128_inc
    linkageType: ''
    returnType: void
    signature: 'static void ctr128_inc_aligned(unsigned char *counter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:110,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:111,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:121,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:123,1
    - Dst: block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:122,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 6
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: crypto_128_unwrap_raw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c
    functionUses: []
    functionsReached:
    - memcpy
    - block
    - memmove
    linkageType: ''
    returnType: size_t
    signature: 'static size_t crypto_128_unwrap_raw(void *key, unsigned char *iv,
      unsigned char *out, const unsigned char *in, size_t inlen, block128_f block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:206,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:222,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:221,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:223,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:208,1
    - Dst: block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:224,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:227,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:228,1
    - Dst: CRYPTO_128_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 6
    argNames:
    - key
    - icv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    constantsTouched: []
    func_position:
      end: 233
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 233
    functionName: CRYPTO_128_wrap_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - block
    - CRYPTO_128_wrap
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_128_wrap_pad(void *key, const unsigned char *icv, unsigned
      char *out, const unsigned char *in, size_t inlen, block128_f block) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:278,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:283,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:281,1
    - Dst: crypto_128_unwrap_raw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:286,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:279,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:288,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:298,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:299,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:300,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:314,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:324,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:323,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 6
    argNames:
    - key
    - icv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    constantsTouched: []
    func_position:
      end: 330
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 330
    functionName: CRYPTO_128_unwrap_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c
    functionUses: []
    functionsReached:
    - crypto_128_unwrap_raw
    - memcpy
    - block
    - OPENSSL_cleanse
    - CRYPTO_memcmp
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_128_unwrap_pad(void *key, const unsigned char *icv,
      unsigned char *out, const unsigned char *in, size_t inlen, block128_f block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:58,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:75,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:67,1
    - Dst: block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:68,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:62,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:78,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 6
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: CRYPTO_128_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c
    functionUses: []
    functionsReached:
    - memcpy
    - block
    - memmove
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, unsigned
      char *out, const unsigned char *in, size_t inlen, block128_f block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_128_unwrap_raw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:156,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:163,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    constantsTouched: []
    func_position:
      end: 167
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 167
    functionName: CRYPTO_128_unwrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/wrap128.c
    functionUses: []
    functionsReached:
    - crypto_128_unwrap_raw
    - CRYPTO_memcmp
    - OPENSSL_cleanse
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, unsigned
      char *out, const unsigned char *in, size_t inlen, block128_f block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - M
    - L
    - key
    - block
    argTypes:
    - CCM128_CONTEXT*
    - unsigned int
    - unsigned int
    - void*
    - block128_f
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: CRYPTO_ccm128_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, unsigned int M, unsigned
      int L, void *key, block128_f block) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: ctr64_inc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr64_inc(unsigned char *counter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 72
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 112
    functionName: CRYPTO_ccm128_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, const unsigned char *aad,
      size_t alen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:262,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:259,1
    - Dst: ctr64_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - inp
    - out
    - len
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 293
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 293
    functionName: CRYPTO_ccm128_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached:
    - ctr64_inc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, const unsigned char
      *inp, unsigned char *out, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:339,1
    - Dst: ctr64_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:349,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - inp
    - out
    - len
    - stream
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ccm128_f
    constantsTouched: []
    func_position:
      end: 371
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 371
    functionName: CRYPTO_ccm128_encrypt_ccm64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached:
    - ctr64_add
    - U64
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned
      char *inp, unsigned char *out, size_t len, ccm128_f stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:166,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:176,1
    - Dst: ctr64_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:185,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 4
    argNames:
    - ctx
    - inp
    - out
    - len
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 218
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 218
    functionName: CRYPTO_ccm128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached:
    - ctr64_inc
    - memcpy
    - U64
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, const unsigned char
      *inp, unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - counter
    - inc
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: ctr64_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr64_add(unsigned char *counter, size_t inc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctr64_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:409,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - ctx
    - inp
    - out
    - len
    - stream
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ccm128_f
    constantsTouched: []
    func_position:
      end: 429
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 429
    functionName: CRYPTO_ccm128_decrypt_ccm64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached:
    - ctr64_add
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned
      char *inp, unsigned char *out, size_t len, ccm128_f stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: CRYPTO_ccm128_tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag,
      size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - nonce
    - nlen
    - mlen
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: CRYPTO_ccm128_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ccm128.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, const unsigned char *nonce,
      size_t nlen, size_t mlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cbc128.c:72,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - block128_f
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: CRYPTO_cbc128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cbc128.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char
      *out, size_t len, const void *key, unsigned char ivec[16], block128_f block) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cbc128.c:118,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 93
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - block128_f
    constantsTouched: []
    func_position:
      end: 171
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 171
    functionName: CRYPTO_cbc128_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cbc128.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char
      *out, size_t len, const void *key, unsigned char ivec[16], block128_f block) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:41,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:49,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - block128_f
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: CRYPTO_cts128_encrypt_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, unsigned
      char *out, size_t len, const void *key, unsigned char ivec[16], block128_f block) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:151,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - cbc128_f
    constantsTouched: []
    func_position:
      end: 155
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 155
    functionName: CRYPTO_nistcts128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned
      char *out, size_t len, const void *key, unsigned char ivec[16], cbc128_f cbc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:70,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - block128_f
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: CRYPTO_nistcts128_encrypt_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, unsigned
      char *out, size_t len, const void *key, unsigned char ivec[16], block128_f block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:217,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:232,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:231,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - block128_f
    constantsTouched: []
    func_position:
      end: 245
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 245
    functionName: CRYPTO_nistcts128_decrypt_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, unsigned
      char *out, size_t len, const void *key, unsigned char ivec[16], block128_f block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:177,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:185,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - block128_f
    constantsTouched: []
    func_position:
      end: 197
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 197
    functionName: CRYPTO_cts128_decrypt_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, unsigned
      char *out, size_t len, const void *key, unsigned char ivec[16], block128_f block) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:110,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:112,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:114,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:115,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - cbc128_f
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: CRYPTO_cts128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char
      *out, size_t len, const void *key, unsigned char ivec[16], cbc128_f cbc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:277,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:271,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - cbc128_f
    constantsTouched: []
    func_position:
      end: 285
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 285
    functionName: CRYPTO_cts128_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char
      *out, size_t len, const void *key, unsigned char ivec[16], cbc128_f cbc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:315,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:321,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - cbc128_f
    constantsTouched: []
    func_position:
      end: 329
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 329
    functionName: CRYPTO_nistcts128_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cts128.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned
      char *out, size_t len, const void *key, unsigned char ivec[16], cbc128_f cbc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REDUCE1BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - Htable
    - H
    argTypes:
    - u128
    - u64
    constantsTouched: []
    func_position:
      end: 101
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 101
    functionName: gcm_init_8bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - REDUCE1BIT
    linkageType: ''
    returnType: void
    signature: 'static void gcm_init_8bit(u128 Htable[256], u64 H[2]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:576,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:583,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:579,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:579,1
    - Dst: REDUCE1BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:593,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:599,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:600,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:605,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:607,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:609,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:611,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 2
    argNames:
    - Xi
    - H
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 617
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 617
    functionName: gcm_gmult_1bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - PUTU32
    - REDUCE1BIT
    - BSWAP8
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'static void gcm_gmult_1bit(u64 Xi[2], const u64 H[2]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:922,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:942,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:950,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:934,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 963
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 963
    functionName: CRYPTO_gcm128_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - GHASH
    - GCM_MUL
    - U64
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad,
      size_t len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1216,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1226,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1235,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1230,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1290,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1306,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1375,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1297,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1411,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1420,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1242,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1244,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1276,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1308,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1333,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1322,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1331,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1409,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1261,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1353,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1355,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1364,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1377,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1429,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 181
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1435
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1435
    functionName: CRYPTO_gcm128_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - GHASH
    - memcpy
    - BSWAP4
    - GETU32
    - PUTU32
    - GCM_MUL
    - U64
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, const unsigned char
      *in, unsigned char *out, size_t len) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1728,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1638,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1619,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1629,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1647,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1661,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1676,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1686,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1698,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1691,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1696,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1712,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1718,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1743,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1603,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1633,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1645,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1730,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1745,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 116
    argCount: 5
    argNames:
    - ctx
    - in
    - out
    - len
    - stream
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ctr128_f
    constantsTouched: []
    func_position:
      end: 1764
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1764
    functionName: CRYPTO_gcm128_decrypt_ctr32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_decrypt
    - memcpy
    - GHASH
    - BSWAP4
    - GETU32
    - PUTU32
    - GCM_MUL
    - U64
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, const unsigned
      char *in, unsigned char *out, size_t len, ctr128_f stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1839,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1842
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1842
    functionName: CRYPTO_gcm128_tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - memcpy
    - CRYPTO_gcm128_finish
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t
      len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:130,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:151,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:172,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:144,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:165,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:134,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:155,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:143,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:165,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:133,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:154,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:132,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:153,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:118,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:120,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:123,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:112,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:114,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:116,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:127,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:122,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:125,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:129,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:133,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:154,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:138,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:159,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:148,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:170,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:132,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:153,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:110,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:166,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:206,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:141,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:162,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:145,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:166,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:155,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:139,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:160,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:135,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:156,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:144,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:165,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:150,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:171,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:126,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:128,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:120,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:122,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:124,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:116,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:118,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:110,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:114,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:112,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:134,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:139,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:161,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:150,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:171,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:139,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:160,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:138,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:159,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:204,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:149,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:145,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:171,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:142,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:164,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:152,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:173,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:130,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:151,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:173,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:142,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:163,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:141,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:162,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:129,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:151,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:172,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:196,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:140,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:161,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:121,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:123,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:125,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:111,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:113,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:117,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:119,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:115,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:127,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:129,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:146,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:168,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:151,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:172,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:136,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:157,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:145,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:164,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:140,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:162,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:166,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:134,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:156,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:137,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:158,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:133,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:154,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:148,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:169,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:131,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:152,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:142,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:163,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:125,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:127,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:119,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:121,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:123,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:112,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:114,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:115,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:117,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:131,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:137,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:148,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:158,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:169,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:147,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:169,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:147,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:168,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:136,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:157,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:146,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:167,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:202,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:139,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:160,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:150,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:171,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:138,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:159,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:149,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:170,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:137,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:159,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:128,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:111,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:113,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:115,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:124,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:126,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:119,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:121,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:122,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:117,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:138,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:160,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:132,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:154,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:149,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:170,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:137,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:158,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:143,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:164,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:148,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:169,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:150,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:172,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:135,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:157,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:163,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:197,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:140,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:161,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:144,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:166,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:117,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:119,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:127,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:129,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:111,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:113,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:121,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:123,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:125,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:130,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:134,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:135,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:144,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:155,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:156,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:165,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:167,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:133,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:155,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:208,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:147,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:168,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:146,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:167,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:136,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:157,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:116,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:110,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:112,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:114,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:128,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:124,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:126,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:118,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:120,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:130,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:141,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:146,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:162,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:167,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:135,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:145,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:156,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:110,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:140,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:149,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:161,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:170,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:132,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:153,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:136,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:158,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:143,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:164,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:152,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:173,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:147,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:168,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:128,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:120,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:122,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:116,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:118,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:124,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:111,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:113,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:115,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:126,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:131,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:143,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:142,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:153,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:163,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:131,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:152,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:173,1
    - Dst: PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 300
    argCount: 2
    argNames:
    - Xi
    - Htable
    argTypes:
    - u64
    - u128
    constantsTouched: []
    func_position:
      end: 214
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 214
    functionName: gcm_gmult_8bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - PACK
    - PUTU32
    - BSWAP8
    linkageType: ''
    returnType: void
    signature: 'static void gcm_gmult_8bit(u64 Xi[2], const u128 Htable[256]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:346,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:352,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:347,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:354,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:356,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    argCount: 2
    argNames:
    - Xi
    - Htable
    argTypes:
    - u64
    - u128
    constantsTouched: []
    func_position:
      end: 364
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 364
    functionName: gcm_gmult_4bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - PUTU32
    - BSWAP8
    linkageType: ''
    returnType: void
    signature: 'static void gcm_gmult_4bit(u64 Xi[2], const u128 Htable[16]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:829,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:846,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:858,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:853,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:873,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:896,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:898,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:879,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:877,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 3
    argNames:
    - ctx
    - iv
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 902
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 902
    functionName: CRYPTO_gcm128_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - BSWAP8
    - memcpy
    - BSWAP4
    - GETU32
    - PUTU32
    - GCM_MUL
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char
      *iv, size_t len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:994,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:998,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1012,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1029,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1056,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1071,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1100,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1098,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1171,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1189,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1003,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1042,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1110,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1083,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1121,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1123,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1142,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1182,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:984,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1010,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1073,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1129,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1140,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1173,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 180
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1195
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1195
    functionName: CRYPTO_gcm128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - GHASH
    - memcpy
    - BSWAP4
    - GETU32
    - PUTU32
    - GCM_MUL
    - U64
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, const unsigned char
      *in, unsigned char *out, size_t len) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1561,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1442,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1472,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1484,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1486,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1523,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1554,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1577,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1513,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1538,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1579,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1477,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1458,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1468,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1500,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1532,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1534,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1552,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1567,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 113
    argCount: 5
    argNames:
    - ctx
    - in
    - out
    - len
    - stream
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ctr128_f
    constantsTouched: []
    func_position:
      end: 1596
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1596
    functionName: CRYPTO_gcm128_encrypt_ctr32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - GHASH
    - memcpy
    - BSWAP4
    - GETU32
    - PUTU32
    - CRYPTO_gcm128_encrypt
    - GCM_MUL
    - U64
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, const unsigned
      char *in, unsigned char *out, size_t len, ctr128_f stream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1787,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1794,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1803,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1790,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1798,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1804,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1811,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1811,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1812,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1812,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1819,1
    - Dst: GCM_MUL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1825,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1832,1
    - Dst: GHASH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1821,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1835
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1835
    functionName: CRYPTO_gcm128_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - BSWAP8
    - GHASH
    - memcpy
    - GETU32
    - CRYPTO_memcmp
    - GCM_MUL
    - memset
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char
      *tag, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1848,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - key
    - block
    argTypes:
    - void*
    - block128_f
    constantsTouched: []
    func_position:
      end: 1852
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1852
    functionName: CRYPTO_gcm128_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    - CRYPTO_gcm128_init
    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/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:1856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GCM128_CONTEXT*
    constantsTouched: []
    func_position:
      end: 1857
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1857
    functionName: CRYPTO_gcm128_release
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REDUCE1BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:234,1
    - Dst: REDUCE1BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:250,1
    - Dst: REDUCE1BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:252,1
    - Dst: REDUCE1BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c:248,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 99
    argCount: 2
    argNames:
    - Htable
    - H
    argTypes:
    - u128
    - u64
    constantsTouched: []
    func_position:
      end: 289
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 289
    functionName: gcm_init_4bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/gcm128.c
    functionUses: []
    functionsReached:
    - REDUCE1BIT
    linkageType: ''
    returnType: void
    signature: 'static void gcm_init_4bit(u128 Htable[16], u64 H[2]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - in
    - shift
    - out
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: ocb_block_lshift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ocb_block_lshift(const unsigned char *in, size_t shift,
      unsigned char *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - in1
    - in2
    - len
    - out
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ocb_block_xor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ocb_block_xor(const unsigned char *in1, const unsigned
      char *in2, size_t len, unsigned char *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:158,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:157,1
    - Dst: ocb_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:177,1
    - Dst: ocb_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:180,1
    - Dst: ocb_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:183,1
    - Dst: ocb_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:184,1
    - Dst: ocb_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:185,1
    - Dst: ocb_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 6
    argNames:
    - ctx
    - keyenc
    - keydec
    - encrypt
    - decrypt
    - stream
    argTypes:
    - OCB128_CONTEXT*
    - void*
    - void*
    - block128_f
    - block128_f
    - ocb128_f
    constantsTouched: []
    func_position:
      end: 190
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 190
    functionName: CRYPTO_ocb128_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ocb_double
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_init(OCB128_CONTEXT *ctx, void *keyenc, void *keydec,
      block128_f encrypt, block128_f decrypt, ocb128_f stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:232,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:241,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:237,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:236,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:246,1
    - Dst: ocb_block_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:247,1
    - Dst: ocb_block_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - iv
    - len
    - taglen
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 261
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 261
    functionName: CRYPTO_ocb128_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ocb_block_lshift
    - memcpy
    - ocb_block_xor
    - memset
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_setiv(OCB128_CONTEXT *ctx, const unsigned char *iv,
      size_t len, size_t taglen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ocb_lookup_l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:283,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:286,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:288,1
    - Dst: ocb_ntz
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:283,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:292,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:294,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:305,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:309,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:310,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:316,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 322
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 322
    functionName: CRYPTO_ocb128_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ocb_ntz
    - memcpy
    - ocb_block16_xor
    - ocb_lookup_l
    - memset
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_aad(OCB128_CONTEXT *ctx, const unsigned char *aad,
      size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ocb_lookup_l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:444,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:460,1
    - Dst: ocb_lookup_l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:457,1
    - Dst: ocb_ntz
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:457,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:462,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:466,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:468,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:471,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:488,1
    - Dst: ocb_block_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:494,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:500,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:473,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:498,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 506
    functionName: CRYPTO_ocb128_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ocb_block_xor
    - ocb_ntz
    - memcpy
    - memset
    - ocb_lookup_l
    - ocb_block16_xor
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx, const unsigned char
      *in, unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: CRYPTO_ocb128_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ocb_finish
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_finish(OCB128_CONTEXT *ctx, const unsigned char
      *tag, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:556,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OCB128_CONTEXT*
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: CRYPTO_ocb128_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_ocb128_cleanup(OCB128_CONTEXT *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:520,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:523,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:526,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:521,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - tag
    - len
    - write
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 531
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 531
    functionName: ocb_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - memcpy
    - ocb_block16_xor
    linkageType: ''
    returnType: int
    signature: 'static int ocb_finish(OCB128_CONTEXT *ctx, unsigned char *tag, size_t
      len, int write) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: ocb_ntz
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'static u32 ocb_ntz(u64 n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:112,1
    - Dst: ocb_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OCB128_CONTEXT*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 124
    functionName: ocb_lookup_l
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    - ocb_double
    linkageType: ''
    returnType: OCB_BLOCK*
    signature: 'static OCB_BLOCK *ocb_lookup_l(OCB128_CONTEXT *ctx, size_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_block_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - OCB_BLOCK*
    - OCB_BLOCK*
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: ocb_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ocb_block_lshift
    linkageType: ''
    returnType: void
    signature: 'static void ocb_double(OCB_BLOCK *in, OCB_BLOCK *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:136,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:141,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - keyenc
    - keydec
    - encrypt
    - decrypt
    - stream
    argTypes:
    - void*
    - void*
    - block128_f
    - block128_f
    - ocb128_f
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: CRYPTO_ocb128_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_init
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: OCB128_CONTEXT*
    signature: 'OCB128_CONTEXT *CRYPTO_ocb128_new(void *keyenc, void *keydec, block128_f
      encrypt, block128_f decrypt, ocb128_f stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:205,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:208,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - dest
    - src
    - keyenc
    - keydec
    argTypes:
    - OCB128_CONTEXT*
    - OCB128_CONTEXT*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: CRYPTO_ocb128_copy_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_copy_ctx(OCB128_CONTEXT *dest, OCB128_CONTEXT *src,
      void *keyenc, void *keydec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ocb_lookup_l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:352,1
    - Dst: ocb_ntz
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:365,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:368,1
    - Dst: ocb_lookup_l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:365,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:370,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:374,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:377,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:379,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:396,1
    - Dst: ocb_block16_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:408,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:381,1
    - Dst: ocb_block_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:402,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:406,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:405,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 414
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 414
    functionName: CRYPTO_ocb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ocb_block_xor
    - ocb_ntz
    - memcpy
    - memset
    - ocb_lookup_l
    - ocb_block16_xor
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx, const unsigned char
      *in, unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: CRYPTO_ocb128_tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ocb128.c
    functionUses: []
    functionsReached:
    - ocb_finish
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_ocb128_tag(OCB128_CONTEXT *ctx, unsigned char *tag, size_t
      len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 111
    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
    constantsTouched: []
    func_position:
      end: 143
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 143
    functionName: CRYPTO_cfb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char
      *out, size_t len, const void *key, unsigned char ivec[16], int *num, int enc,
      block128_f block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfbr_encrypt_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    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
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: CRYPTO_cfb128_8_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c
    functionUses: []
    functionsReached:
    - cfbr_encrypt_block
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const void *key, unsigned char ivec[16], int *num, int
      enc, block128_f block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c:162,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 7
    argNames:
    - in
    - out
    - nbits
    - key
    - ivec
    - enc
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - void*
    - unsigned char
    - int
    - block128_f
    constantsTouched: []
    func_position:
      end: 182
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 182
    functionName: cfbr_encrypt_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void cfbr_encrypt_block(const unsigned char *in, unsigned char
      *out, int nbits, const void *key, unsigned char ivec[16], int enc, block128_f
      block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfbr_encrypt_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    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
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: CRYPTO_cfb128_1_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/cfb128.c
    functionUses: []
    functionsReached:
    - cfbr_encrypt_block
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char
      *out, size_t bits, const void *key, unsigned char ivec[16], int *num, int enc,
      block128_f block) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/xts128.c:38,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/xts128.c:47,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/xts128.c:58,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/xts128.c:102,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/xts128.c:130,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/xts128.c:152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 122
    argCount: 6
    argNames:
    - ctx
    - iv
    - inp
    - out
    - len
    - enc
    argTypes:
    - XTS128_CONTEXT*
    - unsigned char
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 160
    functionName: CRYPTO_xts128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/xts128.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned
      char iv[16], const unsigned char *inp, unsigned char *out, size_t len, int enc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 7
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - num
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char
    - int*
    - block128_f
    constantsTouched: []
    func_position:
      end: 85
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 85
    functionName: CRYPTO_ofb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/ofb128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char
      *out, size_t len, const void *key, unsigned char ivec[16], int *num, block128_f
      block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:312,1
    - Dst: siv128_do_s2v_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:317,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:325,1
    - Dst: siv128_do_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 330
    functionName: ossl_siv128_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - memcpy
    - siv128_do_s2v_p
    - siv128_do_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_decrypt(SIV128_CONTEXT *ctx, const unsigned char *in,
      unsigned char *out, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:96,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:105,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:103,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:101,1
    - Dst: siv128_xorblock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:104,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:108,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:109,1
    - Dst: siv128_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:111,1
    - Dst: siv128_xorblock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:112,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:113,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:116,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:123,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - SIV128_CONTEXT*
    - SIV_BLOCK*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 125
    functionName: siv128_do_s2v_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - siv128_xorblock
    - EVP_MAC_update
    - memcpy
    - EVP_MAC_CTX_dup
    - EVP_MAC_CTX_free
    - siv128_dbl
    - EVP_MAC_final
    - memset
    linkageType: ''
    returnType: int
    signature: 'int siv128_do_s2v_p(SIV128_CONTEXT *ctx, SIV_BLOCK *out, unsigned
      char const* in, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:200,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:204,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:197,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:206,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:186,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:187,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:189,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:198,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:199,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:196,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:209,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:193,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:205,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:175,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:176,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:178,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:177,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:191,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:195,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:201,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:203,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 7
    argNames:
    - ctx
    - key
    - klen
    - cbc
    - ctr
    - libctx
    - propq
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - int
    - EVP_CIPHER*
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: ossl_siv128_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_construct_octet_string
    - EVP_MAC_update
    - EVP_CIPHER_CTX_free
    - EVP_MAC_CTX_free
    - EVP_MAC_CTX_dup
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_utf8_string
    - EVP_EncryptInit_ex
    - EVP_MAC_free
    - EVP_MAC_final
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_get0_name
    - EVP_MAC_CTX_new
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_init(SIV128_CONTEXT *ctx, const unsigned char *key,
      int klen, const EVP_CIPHER *cbc, const EVP_CIPHER *ctr, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: siv128_do_s2v_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:283,1
    - Dst: siv128_do_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:290,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: ossl_siv128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - memcpy
    - siv128_do_s2v_p
    - siv128_do_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_encrypt(SIV128_CONTEXT *ctx, const unsigned char *in,
      unsigned char *out, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:372,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:376,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:374,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:378,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SIV128_CONTEXT*
    constantsTouched: []
    func_position:
      end: 384
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 384
    functionName: ossl_siv128_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - EVP_MAC_free
    - EVP_CIPHER_CTX_free
    - EVP_MAC_CTX_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_cleanup(SIV128_CONTEXT *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:36,1
    - Dst: rotl8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:37,1
    - Dst: rotr8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:36,1
    - Dst: rotr8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: byteswap8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - rotl8
    - rotr8
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t byteswap8(uint64_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: rotl8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t rotl8(uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SIV128_CONTEXT*
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: ossl_siv128_speed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_speed(SIV128_CONTEXT *ctx, int arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rotr8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t rotr8(uint32_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siv128_getword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:75,1
    - Dst: siv128_putword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:85,1
    - Dst: siv128_getword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:76,1
    - Dst: siv128_putword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - b
    argTypes:
    - SIV_BLOCK*
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: siv128_dbl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - siv128_putword
    - siv128_getword
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void siv128_dbl(SIV_BLOCK *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SIV128_CONTEXT*
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: ossl_siv128_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_finish(SIV128_CONTEXT *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIV_BLOCK*
    - SIV_BLOCK*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: siv128_xorblock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void siv128_xorblock(SIV_BLOCK *x, SIV_BLOCK const
      *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byteswap8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - SIV_BLOCK*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: siv128_getword
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - byteswap8
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t siv128_getword(SIV_BLOCK const *b, size_t i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:149,1
    - Dst: ossl_siv128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:150,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 6
    argNames:
    - key
    - klen
    - cbc
    - ctr
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - int
    - EVP_CIPHER*
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: ossl_siv128_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_siv128_init
    - OPENSSL_malloc
    linkageType: ''
    returnType: SIV128_CONTEXT*
    signature: 'SIV128_CONTEXT *ossl_siv128_new(const unsigned char *key, int klen,
      EVP_CIPHER *cbc, EVP_CIPHER *ctr, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: siv128_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:252,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:254,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:259,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:255,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:256,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:262,1
    - Dst: siv128_xorblock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: ossl_siv128_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - siv128_xorblock
    - EVP_MAC_update
    - EVP_MAC_CTX_free
    - EVP_MAC_CTX_dup
    - siv128_dbl
    - EVP_MAC_final
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_aad(SIV128_CONTEXT *ctx, const unsigned char *aad,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: ossl_siv128_get_tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    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: byteswap8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - b
    - i
    - x
    argTypes:
    - SIV_BLOCK*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: siv128_putword
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - byteswap8
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void siv128_putword(SIV_BLOCK *b, size_t i, uint64_t
      x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:134,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - in
    - len
    - icv
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - SIV_BLOCK*
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: siv128_do_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - EVP_EncryptUpdate
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: 'int siv128_do_encrypt(EVP_CIPHER_CTX *ctx, unsigned char *out, unsigned
      char const *in, size_t len, SIV_BLOCK *icv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:222,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:228,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:230,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:224,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:231,1
    - Dst: EVP_MAC_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - SIV128_CONTEXT*
    - SIV128_CONTEXT*
    constantsTouched: []
    func_position:
      end: 238
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 238
    functionName: ossl_siv128_copy_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_copy
    - memcpy
    - EVP_MAC_up_ref
    - EVP_MAC_CTX_free
    - EVP_MAC_CTX_dup
    - EVP_CIPHER_CTX_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_copy_ctx(SIV128_CONTEXT *dest, SIV128_CONTEXT *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: ossl_siv128_set_tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/modes/siv128.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int ossl_siv128_set_tag(SIV128_CONTEXT *ctx, const unsigned char *tag,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: U8TOU64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'static u64 U8TOU64(const unsigned char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c:66,1
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: poly1305_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: []
    functionsReached:
    - U8TOU64
    linkageType: ''
    returnType: int
    signature: 'int poly1305_init(void *ctx, const unsigned char key[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c:168,1
    - Dst: U64TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char
    - u32
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: poly1305_emit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: []
    functionsReached:
    - U64TO8
    linkageType: ''
    returnType: void
    signature: 'void poly1305_emit(void *ctx, unsigned char mac[16], const u32 nonce[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c:104,1
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 70
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    constantsTouched: []
    func_position:
      end: 132
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 132
    functionName: poly1305_blocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: []
    functionsReached:
    - U8TOU64
    linkageType: ''
    returnType: void
    signature: 'void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len,
      u32 padbit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - u64
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: U64TO8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void U64TO8(unsigned char *p, u64 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: Poly1305_ctx_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t Poly1305_ctx_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:142,1
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: poly1305_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached:
    - U8TOU64
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_init(void *ctx, const unsigned char key[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - u64
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: U64TO8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void U64TO8(unsigned char *p, u64 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: U32TO8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void U32TO8(unsigned char *p, unsigned int v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:282,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:285,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:283,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: poly1305_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached:
    - U8TOU32
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_init(void *ctx, const unsigned char key[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:166,1
    - Dst: U8TOU64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:167,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:191,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    constantsTouched: []
    func_position:
      end: 210
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 210
    functionName: poly1305_blocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached:
    - CONSTANT_TIME_CARRY
    - U8TOU64
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_blocks(void *ctx, const unsigned char *inp, size_t
      len, u32 padbit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:242,1
    - Dst: U64TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char
    - u32
    constantsTouched: []
    func_position:
      end: 244
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 244
    functionName: poly1305_emit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached:
    - U64TO8
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_emit(void *ctx, unsigned char mac[16], const
      u32 nonce[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:314,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:315,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:316,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:317,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:353,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:354,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:355,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 136
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    constantsTouched: []
    func_position:
      end: 376
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 376
    functionName: poly1305_blocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached:
    - CONSTANT_TIME_CARRY
    - U8TOU32
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_blocks(void *ctx, const unsigned char *inp, size_t
      len, u32 padbit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:418,1
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:419,1
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:421,1
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 80
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char
    - u32
    constantsTouched: []
    func_position:
      end: 422
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 422
    functionName: poly1305_emit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached:
    - U32TO8
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_emit(void *ctx, unsigned char mac[16], const
      u32 nonce[4]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:434,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:435,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:437,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:436,1
    - Dst: poly1305_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:440,1
    - Dst: poly1305_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - POLY1305*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 456
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 456
    functionName: Poly1305_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:483,1
    - Dst: poly1305_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:484,1
    - Dst: poly1305_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:499,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:504,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - POLY1305*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 507
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 507
    functionName: Poly1305_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:521,1
    - Dst: poly1305_emit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:524,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - POLY1305*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: Poly1305_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached:
    - poly1305_emit
    - OPENSSL_cleanse
    - poly1305_blocks
    linkageType: ''
    returnType: void
    signature: 'void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: U8TOU32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int U8TOU32(const unsigned char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: U8TOU64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'static u64 U8TOU64(const unsigned char *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:122,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:124,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:161,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:176,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:176,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:180,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:180,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:185,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:185,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:201,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:192,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:197,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:200,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:118,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:160,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:162,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:160,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:162,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:177,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:181,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:181,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:192,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:197,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:200,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:116,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:123,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:164,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:166,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:165,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:161,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:167,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:188,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:188,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:193,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:193,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:196,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:201,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:117,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:119,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:121,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:159,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:159,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:177,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:184,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:184,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:189,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:189,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 165
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 221
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 221
    functionName: poly1305_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: []
    functionsReached:
    - TWO
    - U8TOU32
    - EXP
    linkageType: ''
    returnType: int
    signature: 'int poly1305_init(void *ctx, const unsigned char key[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:483,1
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:484,1
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:485,1
    - Dst: U32TO8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 97
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char
    - u32
    constantsTouched: []
    func_position:
      end: 487
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 487
    functionName: poly1305_emit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: []
    functionsReached:
    - U32TO8
    linkageType: ''
    returnType: void
    signature: 'void poly1305_emit(void *ctx, unsigned char mac[16], const u32 nonce[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:299,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:314,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:314,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:315,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:315,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:319,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:336,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:336,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:337,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:337,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:383,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:388,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:390,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:411,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:385,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:341,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:335,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:388,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:343,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:284,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:285,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:286,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:295,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:295,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:313,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:313,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:300,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:320,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:335,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:390,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:341,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:408,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:343,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:410,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:384,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:283,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:294,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:294,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:301,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:316,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:316,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:321,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:340,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:340,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:338,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:387,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:382,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:389,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:342,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:384,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:387,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:296,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:296,1
    - Dst: U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:297,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:302,1
    - Dst: EXP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:297,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:318,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:338,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:382,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:389,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:409,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:342,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:383,1
    - Dst: TWO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c:385,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 356
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 427
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 427
    functionName: poly1305_blocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: []
    functionsReached:
    - TWO
    - U8TOU32
    - EXP
    linkageType: ''
    returnType: void
    signature: 'void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len,
      int padbit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_init_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ppc.c:33,1
    - Dst: poly1305_init_fpu
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ppc.c:37,1
    - Dst: poly1305_init_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ppc.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - key
    - func
    argTypes:
    - void*
    - unsigned char
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: poly1305_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/poly1305/poly1305_ppc.c
    functionUses: []
    functionsReached:
    - poly1305_init_fpu
    - poly1305_init_int
    linkageType: ''
    returnType: int
    signature: 'int poly1305_init(void *ctx, const unsigned char key[16], void *func[2]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD*
    signature: 'DSO_METHOD *DSO_METHOD_openssl(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:226,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:233,1
    - Dst: sk_void_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:231,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: vms_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached:
    - sk_void_num
    - sk_void_pop
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int vms_unload(DSO *dso) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vms_bind_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: vms_bind_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached:
    - vms_bind_sym
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: 'static DSO_FUNC_TYPE vms_bind_func(DSO *dso, const char *symname) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:134,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:158,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:166,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:191,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:187,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:181,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:212,1
    - Dst: DSO_convert_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:87,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:133,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:146,1
    - Dst: DSO_MALLOC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:175,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:203,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:213,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:140,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:171,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:108,1
    - Dst: sk_void_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:202,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:184,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 215
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 215
    functionName: vms_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached:
    - strcat
    - ERR_raise
    - DSO_convert_filename
    - strchr
    - OPENSSL_free
    - sk_void_push
    - strrchr
    - strncpy
    - DSO_MALLOC
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int vms_load(DSO *dso) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:289,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:304,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:298,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:295,1
    - Dst: sk_void_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:307,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:308,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:310,1
    - Dst: do_find_symbol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:314,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:316,1
    - Dst: sys$getmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:331,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:333,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:344,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:339,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:319,1
    - Dst: do_find_symbol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:317,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:334,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - dso
    - symname
    - sym
    argTypes:
    - DSO*
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 351
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 351
    functionName: vms_bind_sym
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - $VMS_STATUS_SUCCESS
    - sys$getmsg
    - strcpy
    - lib$signal
    - do_find_symbol
    - ERR_raise_data
    - sk_void_value
    - sk_void_num
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void vms_bind_sym(DSO *dso, const char *symname, void **sym) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:390,1
    - Dst: FAB_OR_NAML
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:404,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:391,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:398,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:397,1
    - Dst: FAB_OR_NAML
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:405,1
    - Dst: FAB_OR_NAML
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:406,1
    - Dst: FAB_OR_NAML
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:407,1
    - Dst: SET_NAMX_NO_SHORT_UPCASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:413,1
    - Dst: sys$parse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:417,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:419,1
    - Dst: sys$getmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:429,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:436,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:443,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:431,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:446,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:450,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:432,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 451
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 451
    functionName: vms_merger
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - $VMS_STATUS_SUCCESS
    - SET_NAMX_NO_SHORT_UPCASE
    - strcpy
    - FAB_OR_NAML
    - sys$getmsg
    - lib$signal
    - ERR_raise_data
    - sys$parse
    - strncpy
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *vms_merger(DSO *dso, const char *filespec1, const char
      *filespec2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:459,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:461,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:466,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:466,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:472,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:473,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:476,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:478,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:480,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:483,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 486
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 486
    functionName: vms_name_converter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached:
    - strcat
    - OPENSSL_strdup
    - strchr
    - strrchr
    - strncpy
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *vms_name_converter(DSO *dso, const char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lib$establish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:254,1
    - Dst: lib$find_image_symbol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:257,1
    - Dst: lib$find_image_symbol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - symname_dsc
    - sym
    - flags
    argTypes:
    - DSO_VMS_INTERNAL*
    - struct dsc$descriptor_s*
    - void**
    - unsigned long
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: do_find_symbol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_vms.c
    functionUses: []
    functionsReached:
    - lib$establish
    - lib$find_image_symbol
    linkageType: ''
    returnType: int
    signature: 'static int do_find_symbol(DSO_VMS_INTERNAL *ptr, struct dsc$descriptor_s
      *symname_dsc, void **sym, unsigned long flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:137,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:140,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:144,1
    - Dst: sk_void_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:148,1
    - Dst: sk_void_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:152,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: win32_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - sk_void_pop
    - FreeLibrary
    - sk_void_push
    - sk_void_num
    linkageType: ''
    returnType: int
    signature: 'static int win32_unload(DSO *dso) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD*
    signature: 'DSO_METHOD *DSO_METHOD_openssl(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:309,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:330,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:336,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:341,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:334,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:343,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:350,1
    - Dst: openssl_strnchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:357,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:363,1
    - Dst: openssl_strnchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:371,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:376,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:382,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 2
    argNames:
    - dso
    - file_split
    argTypes:
    - DSO*
    - struct file_st*
    constantsTouched: []
    func_position:
      end: 386
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 386
    functionName: win32_joiner
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcpy
    - openssl_strnchr
    - strncpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *win32_joiner(DSO *dso, const struct file_st *file_split) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:456,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:462,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:459,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:457,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:458,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:465,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:467,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:471,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 475
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 475
    functionName: win32_name_converter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strstr
    - sprintf
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *win32_name_converter(DSO *dso, const char *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:36,1
    - Dst: SetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:44,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:39,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:41,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:48,1
    - Dst: LoadLibraryW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - lpLibFileName
    argTypes:
    - LPCSTR
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: LoadLibraryA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - _alloca
    - SetLastError
    - alloca
    - LoadLibraryW
    - MultiByteToWideChar
    - strlen
    linkageType: ''
    returnType: HINSTANCE
    signature: 'static HINSTANCE LoadLibraryA(LPCSTR lpLibFileName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:173,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:176,1
    - Dst: sk_void_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:176,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:178,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:181,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 187
    functionName: win32_bind_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - GetProcAddress
    - ERR_raise_data
    - sk_void_value
    - sk_void_num
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: 'static DSO_FUNC_TYPE win32_bind_func(DSO *dso, const char *symname) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:236,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:217,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:237,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:215,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 3
    argNames:
    - dso
    - filename
    - assume_last_is_dir
    argTypes:
    - DSO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 300
    functionName: win32_splitter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct file_st*
    signature: 'static struct file_st *win32_splitter(DSO *dso, const char *filename,
      int assume_last_is_dir) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:396,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:408,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:400,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:402,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:406,1
    - Dst: win32_splitter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:412,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:414,1
    - Dst: win32_splitter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:417,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:419,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:420,1
    - Dst: win32_joiner
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:444,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:446,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:447,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 449
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 449
    functionName: win32_merger
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - win32_splitter
    - win32_joiner
    linkageType: ''
    returnType: char*
    signature: 'static char *win32_merger(DSO *dso, const char *filespec1, const char
      *filespec2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - string
    - c
    - len
    argTypes:
    - char*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: openssl_strnchr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *openssl_strnchr(const char *string, int c, size_t
      len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:521,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:523,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:537,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:560,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:569,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:572,1
    - Dst: wcslen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:576,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:589,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:528,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:530,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:542,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:594,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:603,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:521,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:531,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:559,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:550,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:541,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:551,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 605
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 605
    functionName: win32_pathbyaddr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - WideCharToMultiByte
    - ERR_raise
    - GetProcAddress
    - LoadLibrary
    - memcpy
    - TEXT
    - FreeLibrary
    - wcslen
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int win32_pathbyaddr(void *addr, char *path, int sz) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:630,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:640,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:661,1
    - Dst: TEXT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:620,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:654,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:667,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:641,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:645,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:659,1
    - Dst: LoadLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:620,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:629,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:627,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:622,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:636,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:646,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 669
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 669
    functionName: win32_globallookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - GetProcAddress
    - LoadLibrary
    - TEXT
    - FreeLibrary
    linkageType: ''
    returnType: void*
    signature: 'static void *win32_globallookup(const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DSO_convert_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:99,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:111,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:107,1
    - Dst: LoadLibraryA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:113,1
    - Dst: sk_void_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:117,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:118,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:126,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:127,1
    - Dst: FreeLibrary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 131
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 131
    functionName: win32_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSO_convert_filename
    - OPENSSL_free
    - ERR_raise_data
    - FreeLibrary
    - sk_void_push
    - LoadLibraryA
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int win32_load(DSO *dso) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddressW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - hModule
    - lpProcName
    argTypes:
    - HMODULE
    - LPCSTR
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: GetProcAddressA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_win32.c
    functionUses: []
    functionsReached:
    - GetProcAddressW
    linkageType: ''
    returnType: FARPROC
    signature: 'static FARPROC GetProcAddressA(HMODULE hModule, LPCSTR lpProcName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD*
    signature: 'DSO_METHOD *DSO_METHOD_openssl(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:16,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:18,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:24,1
    - Dst: sk_void_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:21,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:25,1
    - Dst: DSO_METHOD_openssl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:28,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:32,1
    - Dst: sk_void_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:33,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:34,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:39,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - meth
    argTypes:
    - DSO_METHOD*
    constantsTouched: []
    func_position:
      end: 44
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 44
    functionName: DSO_new_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSO_METHOD_openssl
    - OPENSSL_free
    - OPENSSL_zalloc
    - DSO_free
    - sk_void_free
    - sk_void_new_null
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DSO*
    signature: 'static DSO *DSO_new_method(DSO_METHOD *meth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:96,1
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:100,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:104,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: DSO_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - ERR_raise
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int DSO_up_ref(DSO *dso) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:58,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:68,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:64,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:61,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:74,1
    - Dst: sk_void_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:79,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:82,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 84
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 84
    functionName: DSO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - sk_void_free
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: int
    signature: 'int DSO_free(DSO *dso) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:167,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 180
    functionName: DSO_bind_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: 'DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: DSO_get_filename
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: char*
    signature: 'const char *DSO_get_filename(DSO *dso) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: DSO_merge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: char*
    signature: 'char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSO_METHOD_openssl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:301,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: DSO_pathbyaddr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSO_METHOD_openssl
    linkageType: ''
    returnType: int
    signature: 'int DSO_pathbyaddr(void *addr, char *path, int sz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_new_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: DSO_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - DSO_new_method
    linkageType: ''
    returnType: DSO*
    signature: 'DSO *DSO_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: DSO_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSO_flags(DSO *dso) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DSO_new_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:116,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:129,1
    - Dst: DSO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:121,1
    - Dst: DSO_set_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:138,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:143,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:147,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:151,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 34
    argCount: 4
    argNames:
    - dso
    - filename
    - meth
    - flags
    argTypes:
    - DSO*
    - char*
    - DSO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 160
    functionName: DSO_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSO_new_method
    - DSO_free
    - DSO_set_filename
    - DSO_ctrl
    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/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:234,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:247,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:244,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:238,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 250
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 250
    functionName: DSO_set_filename
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int DSO_set_filename(DSO *dso, const char *filename) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:274,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:280,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:290,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:292,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 297
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 297
    functionName: DSO_convert_filename
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: char*
    signature: 'char *DSO_convert_filename(DSO *dso, const char *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSO_pathbyaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:314,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:319,1
    - Dst: DSO_pathbyaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:321,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:324,1
    - Dst: DSO_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - addr
    - flags
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: DSO_dsobyaddr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - DSO_load
    - DSO_pathbyaddr
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: DSO*
    signature: 'DSO *DSO_dsobyaddr(void *addr, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSO_METHOD_openssl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:330,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: DSO_global_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSO_METHOD_openssl
    linkageType: ''
    returnType: void*
    signature: 'void *DSO_global_lookup(const char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - dso
    - cmd
    - larg
    - parg
    argTypes:
    - DSO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 218
    functionName: DSO_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: long
    signature: 'long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DSO_convert_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:99,1
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:101,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:112,1
    - Dst: dlopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:104,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:117,1
    - Dst: dlerror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:118,1
    - Dst: set_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:125,1
    - Dst: sk_void_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:127,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:135,1
    - Dst: dlclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 139
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 139
    functionName: dlfcn_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - dlopen
    - DSO_convert_filename
    - dlerror
    - dlclose
    - OPENSSL_free
    - get_last_sys_error
    - set_sys_error
    - ERR_raise_data
    - sk_void_push
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dlfcn_load(DSO *dso) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:173,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:180,1
    - Dst: sk_void_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:180,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:177,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:182,1
    - Dst: dlsym
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:185,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:187,1
    - Dst: dlerror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 192
    functionName: dlfcn_bind_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - dlerror
    - dlsym
    - ERR_raise_data
    - sk_void_value
    - sk_void_num
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: 'static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:257,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:262,1
    - Dst: DSO_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:263,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:259,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:266,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:268,1
    - Dst: DSO_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:272,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:273,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:275,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 279
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 279
    functionName: dlfcn_name_converter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strstr
    - strlen
    - sprintf
    - OPENSSL_malloc
    - DSO_flags
    linkageType: ''
    returnType: char*
    signature: 'static char *dlfcn_name_converter(DSO *dso, const char *filename) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:344,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:374,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:376,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:357,1
    - Dst: loadquery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:350,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:379,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:380,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:387,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:388,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:389,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:400,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 2
    argNames:
    - ptr
    - dl
    argTypes:
    - void*
    - Dl_info*
    constantsTouched: []
    func_position:
      end: 402
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 402
    functionName: dladdr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - loadquery
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dladdr(void *ptr, Dl_info *dl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:421,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:431,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:425,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:434,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:422,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:439,1
    - Dst: dlerror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:439,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 442
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 442
    functionName: dlfcn_pathbyaddr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - dladdr
    - dlerror
    - OPENSSL_free
    - memcpy
    - ERR_add_error_data
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dlfcn_pathbyaddr(void *addr, char *path, int sz) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:210,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:208,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:220,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:233,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:234,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:242,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:245,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:247,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 250
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 250
    functionName: dlfcn_merger
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - strcpy
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *dlfcn_merger(DSO *dso, const char *filespec1, const char
      *filespec2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:145,1
    - Dst: sk_void_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:150,1
    - Dst: sk_void_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:148,1
    - Dst: sk_void_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:152,1
    - Dst: dlclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: dlfcn_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - dlclose
    - sk_void_pop
    - sk_void_push
    - sk_void_num
    linkageType: ''
    returnType: int
    signature: 'static int dlfcn_unload(DSO *dso) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rld_new_interface
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - address
    - dl
    argTypes:
    - void*
    - Dl_info*
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: dladdr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - _rld_new_interface
    linkageType: ''
    returnType: int
    signature: 'static int dladdr(void *address, Dl_info *dl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:446,1
    - Dst: dlclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:450,1
    - Dst: dlsym
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: dlfcn_globallookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached:
    - dlsym
    - dlclose
    - dlopen
    linkageType: ''
    returnType: void*
    signature: 'static void *dlfcn_globallookup(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dlfcn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD*
    signature: 'DSO_METHOD *DSO_METHOD_openssl(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_err.c:51,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_err.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ossl_err_load_DSO_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_DSO_strings(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:127,1
    - Dst: sk_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:131,1
    - Dst: sk_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:134,1
    - Dst: sk_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:136,1
    - Dst: shl_findsym
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:139,1
    - Dst: openssl_strerror_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:142,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:143,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: dl_bind_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_num
    - sk_value
    - ERR_raise_data
    - openssl_strerror_r
    - shl_findsym
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: 'static DSO_FUNC_TYPE dl_bind_func(DSO *dso, const char *symname) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DSO_convert_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:60,1
    - Dst: shl_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:63,1
    - Dst: openssl_strerror_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:72,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:73,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:76,1
    - Dst: sk_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:81,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:92,1
    - Dst: shl_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 96
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 96
    functionName: dl_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSO_convert_filename
    - shl_unload
    - shl_load
    - OPENSSL_free
    - ERR_raise_data
    - openssl_strerror_r
    - sk_push
    linkageType: ''
    returnType: int
    signature: 'static int dl_load(DSO *dso) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:223,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:232,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:228,1
    - Dst: DSO_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:229,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:225,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:234,1
    - Dst: DSO_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:238,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:239,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:241,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 245
    functionName: dl_name_converter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strstr
    - strlen
    - sprintf
    - OPENSSL_malloc
    - DSO_flags
    linkageType: ''
    returnType: char*
    signature: 'static char *dl_name_converter(DSO *dso, const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD*
    signature: 'DSO_METHOD *DSO_METHOD_openssl(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:178,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:168,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:166,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:192,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:193,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:201,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:204,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:206,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 209
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 209
    functionName: dl_merger
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - strcpy
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *dl_merger(DSO *dso, const char *filespec1, const char
      *filespec2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:102,1
    - Dst: sk_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:108,1
    - Dst: sk_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:110,1
    - Dst: sk_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:105,1
    - Dst: shl_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: dl_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_num
    - shl_unload
    - sk_pop
    - sk_push
    linkageType: ''
    returnType: int
    signature: 'static int dl_unload(DSO *dso) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shl_get_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:262,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:270,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 277
    functionName: dl_pathbyaddr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached:
    - memcpy
    - shl_get_r
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dl_pathbyaddr(void *addr, char *path, int sz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shl_findsym
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: dl_globallookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dso/dso_dl.c
    functionUses: []
    functionsReached:
    - shl_findsym
    linkageType: ''
    returnType: void*
    signature: 'static void *dl_globallookup(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_UI_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: allocate_string_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - sk_UI_STRING_new_null
    linkageType: ''
    returnType: int
    signature: 'static int allocate_string_stack(UI *ui) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    - test_buf
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: UI_add_verify_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: 'int UI_add_verify_string(UI *ui, const char *prompt, int flags, char
      *result_buf, int minsize, int maxsize, const char *test_buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: UI_add_info_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: 'int UI_add_info_string(UI *ui, const char *text) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:433,1
    - Dst: sk_UI_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:440,1
    - Dst: UI_get0_result_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:440,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:437,1
    - Dst: sk_UI_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - i
    argTypes:
    - UI*
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: UI_get0_result
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - sk_UI_STRING_value
    - ERR_raise
    - sk_UI_STRING_num
    - UI_get0_result_string
    linkageType: ''
    returnType: char*
    signature: 'const char *UI_get0_result(UI *ui, int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - meth
    argTypes:
    - UI*
    - UI_METHOD*
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: UI_set_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:107,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 6
    argNames:
    - ui
    - prompt
    - prompt_freeable
    - type
    - input_flags
    - result_buf
    argTypes:
    - UI*
    - char*
    - int
    - enum UI_string_types
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: general_allocate_prompt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: UI_STRING*
    signature: 'static UI_STRING *general_allocate_prompt(UI *ui, const char *prompt,
      int prompt_freeable, enum UI_string_types type, int input_flags, char *result_buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:239,1
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:246,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 7
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    - test_buf
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: UI_dup_verify_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int UI_dup_verify_string(UI *ui, const char *prompt, int flags, char
      *result_buf, int minsize, int maxsize, const char *test_buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:323,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:325,1
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: UI_dup_info_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int UI_dup_info_string(UI *ui, const char *text) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:446,1
    - Dst: sk_UI_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:449,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:450,1
    - Dst: sk_UI_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:453,1
    - Dst: UI_get_result_string_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - i
    argTypes:
    - UI*
    - int
    constantsTouched: []
    func_position:
      end: 454
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 454
    functionName: UI_get_result_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - sk_UI_STRING_value
    - ERR_raise
    - UI_get_result_string_length
    - sk_UI_STRING_num
    linkageType: ''
    returnType: int
    signature: 'int UI_get_result_length(UI *ui, int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:601,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:607,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:606,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:603,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:602,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 612
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 612
    functionName: UI_create_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - CRYPTO_new_ex_data
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'UI_METHOD *UI_create_method(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - '*'
    - '*'
    argTypes:
    - UI
    - void
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: (*UI_method_get_data_destructor(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void (*UI_method_get_data_destructor(const UI_METHOD *method)) (UI
      *, void *) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:211,1
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 6
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: UI_dup_input_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int UI_dup_input_string(UI *ui, const char *prompt, int flags, char
      *result_buf, int minsize, int maxsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_boolean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - ui
    - prompt
    - action_desc
    - ok_chars
    - cancel_chars
    - flags
    - result_buf
    argTypes:
    - UI*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: UI_add_input_boolean
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_boolean
    linkageType: ''
    returnType: int
    signature: 'int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,
      const char *ok_chars, const char *cancel_chars, int flags, char *result_buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - str
    - len
    - ui
    argTypes:
    - char*
    - size_t
    - UI*
    constantsTouched: []
    func_position:
      end: 468
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: print_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int print_error(const char *str, size_t len, UI *ui) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - method
    - (*writer)
    argTypes:
    - UI_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 647
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: UI_method_set_writer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_writer(UI_METHOD *method, int (*writer) (UI *ui,
      UI_STRING *uis)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - method
    - idx
    - data
    argTypes:
    - UI_METHOD*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: UI_method_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_ex_data(UI_METHOD *method, int idx, void *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 841
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 841
    functionName: UI_get0_test_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *UI_get0_test_string(UI_STRING *uis) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 871
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 871
    functionName: UI_get_result_maxsize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_get_result_maxsize(UI_STRING *uis) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:270,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:278,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:272,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:286,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:288,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:296,1
    - Dst: general_allocate_boolean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:301,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:305,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:307,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:308,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:306,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 34
    argCount: 7
    argNames:
    - ui
    - prompt
    - action_desc
    - ok_chars
    - cancel_chars
    - flags
    - result_buf
    argTypes:
    - UI*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 310
    functionName: UI_dup_input_boolean
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - general_allocate_boolean
    linkageType: ''
    returnType: int
    signature: 'int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,
      const char *ok_chars, const char *cancel_chars, int flags, char *result_buf) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_UI_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:486,1
    - Dst: sk_UI_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:489,1
    - Dst: ERR_print_errors_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:483,1
    - Dst: sk_UI_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:513,1
    - Dst: sk_UI_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:516,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:547,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 61
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 549
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 549
    functionName: UI_process
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - ERR_print_errors_cb
    - ERR_raise_data
    - sk_UI_STRING_value
    - sk_UI_STRING_num
    linkageType: ''
    returnType: int
    signature: 'int UI_process(UI *ui) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - method
    - (*flusher)
    argTypes:
    - UI_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 656
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 656
    functionName: UI_method_set_flusher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - UI
    constantsTouched: []
    func_position:
      end: 711
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 711
    functionName: (*UI_method_get_opener(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*UI_method_get_opener(const UI_METHOD *method)) (UI *) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 811
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 811
    functionName: UI_get0_result_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *UI_get0_result_string(UI_STRING *uis) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 856
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 856
    functionName: UI_get_result_minsize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_get_result_minsize(UI_STRING *uis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_set_result_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:875,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ui
    - uis
    - result
    argTypes:
    - UI*
    - UI_STRING*
    - char*
    constantsTouched: []
    func_position:
      end: 876
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 876
    functionName: UI_set_result
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - UI_set_result_ex
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int UI_set_result(UI *ui, UI_STRING *uis, const char *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: UI_add_input_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: 'int UI_add_input_string(UI *ui, const char *prompt, int flags, char
      *result_buf, int minsize, int maxsize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:54,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:57,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:69,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:58,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: free_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void free_string(UI_STRING *uis) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_prompt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:125,1
    - Dst: free_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:137,1
    - Dst: allocate_string_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:129,1
    - Dst: free_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:140,1
    - Dst: sk_UI_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    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*
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: general_allocate_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_prompt
    - allocate_string_stack
    - sk_UI_STRING_push
    - free_string
    linkageType: ''
    returnType: int
    signature: 'static int general_allocate_string(UI *ui, const char *prompt, int
      prompt_freeable, enum UI_string_types type, int input_flags, char *result_buf,
      int minsize, int maxsize, const char *test_buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:370,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:372,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:375,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:376,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:379,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:380,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:382,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:383,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - ui
    - phrase_desc
    - object_name
    argTypes:
    - UI*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 388
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 388
    functionName: UI_construct_prompt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *UI_construct_prompt(UI *ui, const char *phrase_desc, const char
      *object_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: UI_add_error_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: 'int UI_add_error_string(UI *ui, const char *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:623,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:627,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ui_method
    argTypes:
    - UI_METHOD*
    constantsTouched: []
    func_position:
      end: 628
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 628
    functionName: UI_destroy_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_free_ex_data
    linkageType: ''
    returnType: void
    signature: 'void UI_destroy_method(UI_METHOD *ui_method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - method
    - (*reader)
    argTypes:
    - UI_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 666
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 666
    functionName: UI_method_set_reader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_reader(UI_METHOD *method, int (*reader) (UI *ui,
      UI_STRING *uis)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 3
    argNames:
    - method
    - (*duplicator)
    - (*destructor)
    argTypes:
    - UI_METHOD*
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 687
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 687
    functionName: UI_method_set_data_duplicator
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_data_duplicator(UI_METHOD *method, void *(*duplicator)
      (UI *ui, void *ui_data), void (*destructor)(UI *ui, void *ui_data)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - '*'
    - '*'
    - '*'
    argTypes:
    - UI
    - char
    - char
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: (*UI_method_get_prompt_constructor(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *(*UI_method_get_prompt_constructor(const UI_METHOD *method))
      (UI *, const char *, const char *) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:80,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:81,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:82,1
    - Dst: sk_UI_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: UI_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_free_ex_data
    - CRYPTO_THREAD_lock_free
    - sk_UI_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: 'void UI_free(UI *ui) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:159,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:161,1
    - Dst: general_allocate_prompt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:165,1
    - Dst: allocate_string_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:173,1
    - Dst: sk_UI_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:177,1
    - Dst: free_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:183,1
    - Dst: free_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:186,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    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*
    constantsTouched: []
    func_position:
      end: 190
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 190
    functionName: general_allocate_boolean
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_prompt
    - allocate_string_stack
    - free_string
    - ERR_raise
    - strchr
    - sk_UI_STRING_push
    linkageType: ''
    returnType: int
    signature: 'static int general_allocate_boolean(UI *ui, const char *prompt, const
      char *action_desc, const char *ok_chars, const char *cancel_chars, int prompt_freeable,
      enum UI_string_types type, int input_flags, char *result_buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:345,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:347,1
    - Dst: general_allocate_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 353
    functionName: UI_dup_error_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - general_allocate_string
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int UI_dup_error_string(UI *ui, const char *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ui
    - user_data
    argTypes:
    - UI*
    - void*
    constantsTouched: []
    func_position:
      end: 401
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 401
    functionName: UI_add_user_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *UI_add_user_data(UI *ui, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - method
    - (*opener)
    argTypes:
    - UI_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: UI_method_set_opener
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - method
    - (*closer)
    argTypes:
    - UI_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: UI_method_set_closer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - method
    - (*prompt_constructor)
    argTypes:
    - UI_METHOD*
    - char*
    constantsTouched: []
    func_position:
      end: 699
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 699
    functionName: UI_method_set_prompt_constructor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_method_set_prompt_constructor(UI_METHOD *method, char *(*prompt_constructor)
      (UI *ui, const char *, const char *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - '*'
    - '*'
    argTypes:
    - UI
    - void
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: (*UI_method_get_data_duplicator(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *(*UI_method_get_data_duplicator(const UI_METHOD *method)) (UI
      *, void *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - method
    - idx
    argTypes:
    - UI_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: UI_method_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'const void *UI_method_get_ex_data(const UI_METHOD *method, int idx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:887,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:903,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:907,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:917,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:895,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:923,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:927,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 4
    argNames:
    - ui
    - uis
    - result
    - len
    argTypes:
    - UI*
    - UI_STRING*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 939
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 939
    functionName: UI_set_result_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise_data
    - ERR_raise
    - strchr
    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_new_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: UI_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - UI_new_method
    linkageType: ''
    returnType: UI*
    signature: 'UI *UI_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:409,1
    - Dst: UI_add_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:419,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ui
    - user_data
    argTypes:
    - UI*
    - void*
    constantsTouched: []
    func_position:
      end: 423
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 423
    functionName: UI_dup_user_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - UI_add_user_data
    linkageType: ''
    returnType: int
    signature: 'int UI_dup_user_data(UI *ui, void *user_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:554,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:572,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - ui
    - cmd
    - i
    - p
    - (*f)
    argTypes:
    - UI*
    - int
    - long
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 574
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 574
    functionName: UI_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    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_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - UI*
    - int
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: UI_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *UI_get_ex_data(const UI *r, int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - '*'
    - '*'
    argTypes:
    - UI
    - UI_STRING
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: (*UI_method_get_writer(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*UI_method_get_writer(const UI_METHOD *method)) (UI *, UI_STRING
      *) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - '*'
    - '*'
    argTypes:
    - UI
    - UI_STRING
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: (*UI_method_get_reader(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*UI_method_get_reader(const UI_METHOD *method)) (UI *, UI_STRING
      *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: UI_get_string_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: enum UI_string_types
    signature: 'enum UI_string_types UI_get_string_type(UI_STRING *uis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: UI_get0_output_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *UI_get0_output_string(UI_STRING *uis) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:24,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:33,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:27,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:31,1
    - Dst: UI_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:39,1
    - Dst: UI_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:41,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:44,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:45,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - method
    argTypes:
    - UI_METHOD*
    constantsTouched: []
    func_position:
      end: 49
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 49
    functionName: UI_new_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_new_ex_data
    - ERR_raise
    - UI_free
    - OPENSSL_free
    - OPENSSL_zalloc
    - UI_get_default_method
    - UI_null
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: UI*
    signature: 'UI *UI_new_method(const UI_METHOD *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: UI_get0_user_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *UI_get0_user_data(UI *ui) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - UI*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: UI_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int UI_set_ex_data(UI *r, int idx, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: UI_get_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'const UI_METHOD *UI_get_method(UI *ui) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - UI
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: (*UI_method_get_flusher(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*UI_method_get_flusher(const UI_METHOD *method)) (UI *) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - UI
    constantsTouched: []
    func_position:
      end: 739
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 739
    functionName: (*UI_method_get_closer(const UI_METHOD *method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*UI_method_get_closer(const UI_METHOD *method)) (UI *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: UI_get_input_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_get_input_flags(UI_STRING *uis) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 796
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 796
    functionName: UI_get0_action_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *UI_get0_action_string(UI_STRING *uis) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 826
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 826
    functionName: UI_get_result_string_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int UI_get_result_string_length(UI_STRING *uis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: ui_new_method_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ui_new_method_data(void *parent, void *ptr, CRYPTO_EX_DATA
      *ad, int idx, long argl, void *argp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: ui_free_method_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ui_free_method_data(void *parent, void *ptr, CRYPTO_EX_DATA
      *ad, int idx, long argl, void *argp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ui_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ui_open(UI *ui) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: ui_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ui_write(UI *ui, UI_STRING *uis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_UTIL_read_pw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:25,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - length
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: UI_UTIL_read_pw_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached:
    - UI_UTIL_read_pw
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: 'int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt,
      int verify) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 6
    argNames:
    - to
    - from
    - pptr
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: ui_dup_method_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'static int ui_dup_method_data(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA
      *from, void **pptr, int idx, long argl, void *argp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: (ui_method_data_index_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_new_index
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ui_method_data_index_init) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:104,1
    - Dst: UI_get_result_maxsize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:110,1
    - Dst: UI_method_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:109,1
    - Dst: UI_get_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:109,1
    - Dst: UI_get0_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:113,1
    - Dst: UI_set_result_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:119,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 131
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 131
    functionName: ui_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached:
    - UI_set_result_ex
    - UI_get0_user_data
    - UI_get_result_maxsize
    - UI_get_string_type
    - UI_get_method
    - UI_method_get_ex_data
    linkageType: ''
    returnType: int
    signature: 'static int ui_read(UI *ui, UI_STRING *uis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: ui_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ui_close(UI *ui) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:146,1
    - Dst: UI_method_set_writer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:150,1
    - Dst: UI_create_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:147,1
    - Dst: UI_method_set_reader
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:149,1
    - Dst: UI_method_set_opener
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:148,1
    - Dst: UI_method_set_closer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:151,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:152,1
    - Dst: UI_method_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:153,1
    - Dst: UI_destroy_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:154,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:155,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - cb
    - rwflag
    argTypes:
    - pem_password_cb*
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: UI_UTIL_wrap_read_pem_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - RUN_ONCE
    - OPENSSL_zalloc
    - UI_method_set_reader
    - UI_create_method
    - UI_method_set_ex_data
    - UI_method_set_writer
    - UI_method_set_closer
    - UI_destroy_method
    - UI_method_set_opener
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'UI_METHOD *UI_UTIL_wrap_read_pem_callback(pem_password_cb *cb, int
      rwflag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UI_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:40,1
    - Dst: UI_process
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:46,1
    - Dst: UI_add_input_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:42,1
    - Dst: UI_add_verify_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:44,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - buf
    - buff
    - size
    - prompt
    - verify
    argTypes:
    - char*
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: UI_UTIL_read_pw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_util.c
    functionUses: []
    functionsReached:
    - UI_add_verify_string
    - UI_free
    - UI_add_input_string
    - UI_process
    - UI_new
    linkageType: ''
    returnType: int
    signature: 'int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt,
      int verify) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_err.c:42,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_err.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ossl_err_load_UI_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_UI_strings(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:204,1
    - Dst: UI_get0_output_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:207,1
    - Dst: fputs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:207,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: write_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - fputs
    - UI_get0_output_string
    - fflush
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: 'static int write_string(UI *ui, UI_STRING *uis) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:266,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: read_till_nl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - fgets
    - strchr
    linkageType: ''
    returnType: int
    signature: 'static int read_till_nl(FILE *in) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:374,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:389,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:382,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:385,1
    - Dst: GetConsoleMode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:385,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:398,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:400,1
    - Dst: TTY_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:405,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:405,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:458,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:469,1
    - Dst: sys$qiow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:474,1
    - Dst: sys$assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:465,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 482
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 482
    functionName: open_console
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - TTY_get
    - GetConsoleMode
    - CRYPTO_THREAD_write_lock
    - sys$assign
    - ERR_raise_data
    - GetStdHandle
    - fopen
    - sys$qiow
    - fileno
    linkageType: ''
    returnType: int
    signature: 'static int open_console(UI *ui) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:523,1
    - Dst: sys$qiow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:532,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:535,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:524,1
    - Dst: TTY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:524,1
    - Dst: SetConsoleMode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:545,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 549
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 549
    functionName: echo_console
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - TTY_set
    - memcpy
    - SetConsoleMode
    - ERR_raise_data
    - GetStdHandle
    - sys$qiow
    - fileno
    linkageType: ''
    returnType: int
    signature: 'static int echo_console(UI *ui) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:582,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:589,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:587,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:588,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:590,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:591,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:592,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:608,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:610,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 618
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 618
    functionName: pushsig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - sigaction
    - signal
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void pushsig(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: UI_OpenSSL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'UI_METHOD *UI_OpenSSL(void) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: noecho_console
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:292,1
    - Dst: feof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:341,1
    - Dst: popsig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:362,1
    - Dst: echo_console
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:358,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:338,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:317,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:357,1
    - Dst: ferror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:343,1
    - Dst: read_till_nl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:348,1
    - Dst: ReadConsoleA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:321,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:321,1
    - Dst: noecho_fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:334,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:345,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:367,1
    - Dst: pushsig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:289,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:304,1
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:301,1
    - Dst: ReadConsoleW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:304,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:313,1
    - Dst: UI_set_result
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:350,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 85
    argCount: 4
    argNames:
    - ui
    - uis
    - echo
    - strip_nl
    argTypes:
    - UI*
    - UI_STRING*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 369
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 369
    functionName: read_string_inner
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - pushsig
    - GetEnvironmentVariableW
    - WideCharToMultiByte
    - ReadConsoleA
    - noecho_fgets
    - ferror
    - noecho_console
    - echo_console
    - fgets
    - strchr
    - popsig
    - OPENSSL_cleanse
    - ReadConsoleW
    - GetStdHandle
    - feof
    - UI_set_result
    - fprintf
    - read_till_nl
    linkageType: ''
    returnType: int
    signature: 'static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int
      strip_nl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:223,1
    - Dst: fputs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:225,1
    - Dst: UI_get0_output_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:225,1
    - Dst: UI_get_input_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:229,1
    - Dst: read_string_inner
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:240,1
    - Dst: UI_get0_result_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:244,1
    - Dst: UI_get0_test_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:244,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:227,1
    - Dst: fputs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:232,1
    - Dst: UI_get0_output_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:232,1
    - Dst: UI_get_input_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:241,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:244,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:239,1
    - Dst: UI_get0_action_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:226,1
    - Dst: fputs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:226,1
    - Dst: UI_get0_output_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:238,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:238,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:233,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:246,1
    - Dst: read_string_inner
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:228,1
    - Dst: UI_get_input_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:235,1
    - Dst: read_string_inner
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:234,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 256
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 256
    functionName: read_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - fputs
    - fflush
    - strcmp
    - read_string_inner
    - UI_get0_result_string
    - UI_get0_output_string
    - UI_get0_action_string
    - UI_get_input_flags
    - UI_get0_test_string
    - fprintf
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: 'static int read_string(UI *ui, UI_STRING *uis) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:487,1
    - Dst: sys$qiow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:500,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:503,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:492,1
    - Dst: TTY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:492,1
    - Dst: SetConsoleMode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:514,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 518
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 518
    functionName: noecho_console
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - TTY_set
    - memcpy
    - SetConsoleMode
    - ERR_raise_data
    - GetStdHandle
    - sys$qiow
    - fileno
    linkageType: ''
    returnType: int
    signature: 'static int noecho_console(UI *ui) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:556,1
    - Dst: sys$dassgn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:560,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:567,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:558,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 570
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 570
    functionName: close_console
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - fclose
    - ERR_raise_data
    - CRYPTO_THREAD_unlock
    - sys$dassgn
    linkageType: ''
    returnType: int
    signature: 'static int close_console(UI *ui) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:623,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:624,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:625,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:626,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:627,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:628,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:641,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 647
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 647
    functionName: popsig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - sigaction
    - signal
    linkageType: ''
    returnType: void
    signature: 'static void popsig(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: recsig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void recsig(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - UI_METHOD*
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: UI_set_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void UI_set_default_method(const UI_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: UI_get_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'const UI_METHOD *UI_get_default_method(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _getch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:670,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:691,1
    - Dst: getch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:672,1
    - Dst: FlushConsoleInputBuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:692,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c:695,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - size
    - tty
    argTypes:
    - char*
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 696
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 696
    functionName: noecho_fgets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_openssl.c
    functionUses: []
    functionsReached:
    - _getch
    - FlushConsoleInputBuffer
    - GetStdHandle
    - getch
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int noecho_fgets(char *buf, int size, FILE *tty) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: UI_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ui/ui_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'const UI_METHOD *UI_null(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: SM2_Ciphertext_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(SM2_Ciphertext)
    signature: 'DECLARE_ASN1_FUNCTIONS(SM2_Ciphertext) struct SM2_Ciphertext_st '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_field_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:102,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:110,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:102,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:111,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:103,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:112,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - key
    - digest
    - msg_len
    - ct_size
    argTypes:
    - EC_KEY*
    - EVP_MD*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: ossl_sm2_ciphertext_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - EC_KEY_get0_group
    - ASN1_object_size
    - ec_field_size
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_ciphertext_size(const EC_KEY *key, const EVP_MD *digest,
      size_t msg_len, size_t *ct_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:49,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:59,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:51,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:57,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:50,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:62,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:63,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:64,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames:
    - SM2_Ciphertext
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_num_bits
    - BN_new
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(SM2_Ciphertext)
    signature: 'ASN1_SEQUENCE_END(SM2_Ciphertext) IMPLEMENT_ASN1_FUNCTIONS(SM2_Ciphertext)
      static size_t ec_field_size(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: is_all_zeros
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int is_all_zeros(const unsigned char *msg, size_t msglen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_SM2_Ciphertext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:89,1
    - Dst: SM2_Ciphertext_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ct
    - ct_size
    - pt_size
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: ossl_sm2_plaintext_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c
    functionUses: []
    functionsReached:
    - d2i_SM2_Ciphertext
    - ERR_raise
    - SM2_Ciphertext_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_plaintext_size(const unsigned char *ct, size_t ct_size,
      size_t *pt_size) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:143,1
    - Dst: ec_field_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:157,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:163,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:164,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:167,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:174,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:165,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:171,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:244,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:257,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:274,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:239,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:276,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:281,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:222,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:279,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:136,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:145,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:146,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:207,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:215,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:220,1
    - Dst: is_all_zeros
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:226,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:236,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:275,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:277,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:241,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:201,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:278,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:259,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:266,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:135,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:172,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:200,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:209,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:243,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:251,1
    - Dst: i2d_SM2_Ciphertext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:263,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:280,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:227,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:240,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:250,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:191,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:242,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:132,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:159,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:183,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:184,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:195,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:206,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:208,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:179,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:234,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:282,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:213,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:254,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 158
    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*
    constantsTouched: []
    func_position:
      end: 285
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 285
    functionName: ossl_sm2_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - EC_KEY_get0_public_key
    - EC_GROUP_get0_order
    - BN_CTX_free
    - BN_CTX_start
    - EVP_DigestInit
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - EVP_MD_get0_name
    - BN_bn2binpad
    - OPENSSL_zalloc
    - ec_field_size
    - i2d_SM2_Ciphertext
    - EVP_MD_free
    - ossl_ecdh_kdf_X9_63
    - EVP_DigestFinal
    - BN_priv_rand_range_ex
    - EC_POINT_new
    - EVP_MD_get_size
    - ossl_ec_key_get0_propq
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - EVP_MD_fetch
    - BN_CTX_get
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EVP_MD_CTX_free
    - ASN1_OCTET_STRING_new
    - EC_POINT_mul
    - is_all_zeros
    - BN_CTX_new_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_encrypt(const EC_KEY *key, const EVP_MD *digest, const
      uint8_t *msg, size_t msg_len, uint8_t *ciphertext_buf, size_t *ciphertext_len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:295,1
    - Dst: ec_field_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:302,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:325,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:333,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:353,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:354,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:369,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:372,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:378,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:402,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:422,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:425,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:403,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:407,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:420,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:310,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:303,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:309,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:339,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:337,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:343,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:348,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:345,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:371,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:399,1
    - Dst: SM2_Ciphertext_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:424,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:408,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:419,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:401,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:400,1
    - Dst: d2i_SM2_Ciphertext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:317,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:320,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:352,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:357,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:376,1
    - Dst: is_all_zeros
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:384,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:385,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:398,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:417,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:421,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:315,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:344,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:363,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:367,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:369,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:377,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:380,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:392,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:394,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c:423,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 123
    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*
    constantsTouched: []
    func_position:
      end: 428
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 428
    functionName: ossl_sm2_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_crypt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - EC_KEY_get0_private_key
    - BN_CTX_free
    - BN_CTX_start
    - EVP_DigestInit
    - EC_POINT_set_affine_coordinates
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - d2i_SM2_Ciphertext
    - EC_POINT_get_affine_coordinates
    - OPENSSL_free
    - BN_bn2binpad
    - OPENSSL_zalloc
    - ec_field_size
    - ossl_ecdh_kdf_X9_63
    - EVP_DigestFinal
    - EC_POINT_new
    - EVP_MD_get_size
    - ossl_ec_key_get0_propq
    - SM2_Ciphertext_free
    - CRYPTO_memcmp
    - BN_CTX_get
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EVP_MD_CTX_free
    - EC_POINT_mul
    - is_all_zeros
    - BN_CTX_new_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_decrypt(const EC_KEY *key, const EVP_MD *digest, const
      uint8_t *ciphertext, size_t ciphertext_len, uint8_t *ptext_buf, size_t *ptext_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_err.c:42,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_err.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ossl_err_load_SM2_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_SM2_strings(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:333,1
    - Dst: BN_mod_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:367,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:384,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:332,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:340,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:359,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:362,1
    - Dst: ECDSA_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:357,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:372,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:373,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:377,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:378,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:388,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:322,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:330,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:360,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:363,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:361,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:359,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:368,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:379,1
    - Dst: BN_mod_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:383,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:393,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:323,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:335,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:339,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:341,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:343,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:360,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:377,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:392,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 3
    argNames:
    - key
    - sig
    - e
    argTypes:
    - EC_KEY*
    - ECDSA_SIG*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 395
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 395
    functionName: sm2_sig_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - BN_CTX_get
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_public_key
    - EC_POINT_free
    - BN_is_zero
    - BN_value_one
    - EC_GROUP_get0_order
    - EC_POINT_get_affine_coordinates
    - EC_POINT_new
    - EC_POINT_mul
    - ECDSA_SIG_get0
    - BN_CTX_free
    - BN_CTX_start
    - BN_mod_add
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int sm2_sig_verify(const EC_KEY *key, const ECDSA_SIG *sig,
      const BIGNUM *e) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:158,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:162,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:185,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:184,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:188,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:198,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:154,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:172,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:192,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:168,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:166,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:174,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:194,1
    - Dst: ossl_sm2_compute_z_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:178,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:183,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:197,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:199,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 6
    argNames:
    - digest
    - key
    - id
    - id_len
    - msg
    - msg_len
    argTypes:
    - EVP_MD*
    - EC_KEY*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 201
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 201
    functionName: sm2_compute_msg_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EVP_DigestFinal
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_MD_get0_name
    - OPENSSL_zalloc
    - EVP_MD_get_size
    - ossl_ec_key_get0_propq
    - ossl_sm2_compute_z_digest
    - EVP_DigestInit
    - BN_bin2bn
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *sm2_compute_msg_hash(const EVP_MD *digest, const EC_KEY
      *key, const uint8_t *id, const size_t id_len, const uint8_t *msg, size_t msg_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm2_compute_msg_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:429,1
    - Dst: sm2_sig_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:435,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    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
    constantsTouched: []
    func_position:
      end: 440
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: ossl_sm2_do_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - sm2_sig_verify
    - BN_free
    - sm2_compute_msg_hash
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_do_verify(const EC_KEY *key, const EVP_MD *digest, const
      ECDSA_SIG *sig, const uint8_t *id, const size_t id_len, const uint8_t *msg,
      size_t msg_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:30,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:99,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:103,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:116,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:117,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:118,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:142,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:141,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:48,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:55,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:88,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:73,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:104,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:111,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:132,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:143,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:125,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:53,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:59,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:60,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:61,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:63,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:68,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:81,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:65,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:62,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:119,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:124,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:72,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:89,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:98,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:115,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:120,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:126,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:129,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:93,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:130,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:131,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:134,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:123,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 123
    argCount: 5
    argNames:
    - out
    - digest
    - id
    - id_len
    - key
    argTypes:
    - uint8_t*
    - EVP_MD*
    - uint8_t*
    - size_t
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 145
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 145
    functionName: ossl_sm2_compute_z_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - BN_num_bytes
    - BN_CTX_free
    - EVP_DigestInit
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - BN_bn2binpad
    - OPENSSL_zalloc
    - EVP_DigestFinal
    - BN_CTX_get
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EVP_MD_CTX_free
    - EC_GROUP_get0_generator
    - EC_GROUP_get_curve
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_compute_z_digest(uint8_t *out, const EVP_MD *digest,
      const uint8_t *id, const size_t id_len, const EC_KEY *key) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:217,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:206,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:258,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:264,1
    - Dst: BN_mod_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:266,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:272,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:275,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:288,1
    - Dst: ECDSA_SIG_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:303,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:310,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:314,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:207,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:227,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:267,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:283,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:283,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:285,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:286,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:293,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:313,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:205,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:244,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:259,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:263,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:276,1
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:296,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:298,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:309,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:219,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:222,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:226,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:232,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:229,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:230,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:241,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:280,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:284,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:287,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 87
    argCount: 2
    argNames:
    - key
    - e
    argTypes:
    - EC_KEY*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 316
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 316
    functionName: sm2_sig_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - EC_KEY_get0_private_key
    - ECDSA_SIG_set0
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - BN_CTX_start
    - BN_add
    - EC_POINT_get_affine_coordinates
    - ECDSA_SIG_new
    - BN_priv_rand_range_ex
    - EC_POINT_new
    - BN_CTX_get
    - ERR_raise
    - ossl_ec_key_get_libctx
    - BN_value_one
    - BN_new
    - ossl_ec_group_do_inverse_ord
    - EC_POINT_mul
    - BN_mod_mul
    - BN_free
    - BN_sub
    - BN_mod_add
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: ECDSA_SIG*
    signature: 'static ECDSA_SIG *sm2_sig_gen(const EC_KEY *key, const BIGNUM *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm2_compute_msg_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:406,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:415,1
    - Dst: sm2_sig_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 6
    argNames:
    - key
    - digest
    - id
    - id_len
    - msg
    - msg_len
    argTypes:
    - EC_KEY*
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: ossl_sm2_do_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - sm2_sig_gen
    - BN_free
    - sm2_compute_msg_hash
    linkageType: ''
    returnType: ECDSA_SIG*
    signature: 'ECDSA_SIG *ossl_sm2_do_sign(const EC_KEY *key, const EVP_MD *digest,
      const uint8_t *id, const size_t id_len, const uint8_t *msg, size_t msg_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:452,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:464,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:458,1
    - Dst: sm2_sig_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:462,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:456,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:468,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:470,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:478,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:479,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 5
    argNames:
    - dgst
    - dgstlen
    - sig
    - siglen
    - eckey
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 481
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 481
    functionName: ossl_sm2_internal_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_ECDSA_SIG
    - sm2_sig_gen
    - BN_free
    - BN_bin2bn
    - ECDSA_SIG_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_internal_sign(const unsigned char *dgst, int dgstlen,
      unsigned char *sig, unsigned int *siglen, EC_KEY *eckey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:494,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:496,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:500,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:504,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:499,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:505,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:506,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:510,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:512,1
    - Dst: sm2_sig_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:516,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:519,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:521,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c:520,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - dgst
    - dgstlen
    - sig
    - sig_len
    - eckey
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 523
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 523
    functionName: ossl_sm2_internal_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_ECDSA_SIG
    - memcmp
    - sm2_sig_verify
    - OPENSSL_free
    - d2i_ECDSA_SIG
    - BN_free
    - BN_bin2bn
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_internal_verify(const unsigned char *dgst, int dgstlen,
      const unsigned char *sig, int sig_len, EC_KEY *eckey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:29,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:32,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:37,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:30,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:38,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:40,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:40,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:42,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c:48,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: ossl_sm2_key_private_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm2/sm2_key.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - BN_sub_word
    - EC_KEY_get0_private_key
    - BN_value_one
    - EC_GROUP_get0_order
    - BN_dup
    - BN_free
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm2_key_private_check(const EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:18,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: PEM_SignInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: PEM_SignUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: 'int PEM_SignUpdate(EVP_MD_CTX *ctx, const unsigned char *data, unsigned
      int count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:36,1
    - Dst: EVP_EncodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:43,1
    - Dst: EVP_SignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:40,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:34,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c:48,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - sigret
    - siglen
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: PEM_SignFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - EVP_EncodeBlock
    - EVP_SignFinal
    - OPENSSL_malloc
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned
      int *siglen, EVP_PKEY *pkey) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:46,1
    - Dst: OSSL_DECODER_CTX_set_pem_password_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:55,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:61,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:64,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:82,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:66,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:42,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:60,1
    - Dst: evp_keymgmt_util_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:81,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:84,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:75,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:59,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:64,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:67,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:70,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:58,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:60,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:94,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 7
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    - selection
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 96
    functionName: pem_read_bio_key_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_pop_to_mark
    - ERR_peek_error
    - ERR_raise
    - evp_keymgmt_util_has
    - BIO_tell
    - EVP_PKEY_free
    - ERR_set_mark
    - OSSL_DECODER_CTX_free
    - ERR_clear_last_mark
    - OSSL_DECODER_CTX_set_pem_password_cb
    - BIO_eof
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *pem_read_bio_key_decoder(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: PEM_read_bio_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    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, void *u) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:224,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:228,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:229,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:225,1
    - Dst: BIO_f_readbuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:225,1
    - Dst: ossl_pw_set_pem_password_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:235,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:236,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:239,1
    - Dst: pem_read_bio_key_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:240,1
    - Dst: BIO_seek
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:243,1
    - Dst: pem_read_bio_key_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:244,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:256,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:248,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:255,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:250,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:253,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 7
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    - selection
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 259
    functionName: pem_read_bio_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - BIO_seek
    - ERR_pop_to_mark
    - BIO_free
    - ossl_pw_clear_passphrase_data
    - pem_read_bio_key_decoder
    - BIO_tell
    - ossl_pw_set_pem_password_cb
    - ERR_set_mark
    - pem_read_bio_key_legacy
    - BIO_pop
    - BIO_f_readbuffer
    - BIO_push
    - ERR_clear_last_mark
    - BIO_new
    - ossl_pw_enable_passphrase_caching
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *pem_read_bio_key(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq, int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:283,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:284,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:287,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:288,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:289,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 6
    argNames:
    - fp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: PEM_read_PUBKEY_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - PEM_read_bio_PUBKEY_ex
    - BIO_new
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *PEM_read_PUBKEY_ex(FILE *fp, EVP_PKEY **x, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_read_bio_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:303,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: PEM_read_bio_PrivateKey_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - pem_read_bio_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *PEM_read_bio_PrivateKey_ex(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_assigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:350,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:351,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:356,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:352,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:357,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:360,1
    - Dst: PEM_ASN1_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:361,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 7
    argNames:
    - bp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 366
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 366
    functionName: PEM_write_bio_PrivateKey_traditional
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - PEM_ASN1_write_bio
    - evp_pkey_is_provided
    - ERR_raise
    - EVP_PKEY_free
    - BIO_snprintf
    - evp_pkey_is_assigned
    - evp_pkey_copy_downgraded
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_bio_PrivateKey_traditional(BIO *bp, const EVP_PKEY *x,
      const EVP_CIPHER *enc, const unsigned char *kstr, int klen, pem_password_cb
      *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_read_bio_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - x
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: PEM_read_bio_Parameters_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - pem_read_bio_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *PEM_read_bio_Parameters_ex(BIO *bp, EVP_PKEY **x, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:413,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:413,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:414,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:417,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:418,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 6
    argNames:
    - fp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: PEM_read_PrivateKey_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - PEM_read_bio_PrivateKey_ex
    - BIO_new
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *PEM_read_PrivateKey_ex(FILE *fp, EVP_PKEY **x, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: PEM_bytes_read_bio_secmem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:158,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:144,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:163,1
    - Dst: ossl_pem_check_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:185,1
    - Dst: EVP_PKEY_set_type_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:190,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:208,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:111,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:127,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:134,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:137,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:139,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:141,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:159,1
    - Dst: PEM_def_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:156,1
    - Dst: ossl_pem_check_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:173,1
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:183,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:116,1
    - Dst: d2i_X509_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:151,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:154,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:145,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:164,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:172,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:175,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:178,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:206,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:193,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:204,1
    - Dst: PEM_bytes_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:124,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:131,1
    - Dst: PKCS8_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:162,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:167,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:169,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:187,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:209,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 108
    argCount: 7
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    - selection
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 211
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 211
    functionName: pem_read_bio_key_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - PEM_bytes_read_bio_secmem
    - EVP_PKEY_free
    - ossl_d2i_PrivateKey_legacy
    - ERR_set_mark
    - EVP_PKEY_set_type_str
    - strcmp
    - cb
    - PEM_def_callback
    - PKCS8_decrypt
    - PKCS8_PRIV_KEY_INFO_free
    - OPENSSL_cleanse
    - EVP_PKEY_new
    - ossl_pem_check_suffix
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - d2i_PKCS8_PRIV_KEY_INFO
    - evp_pkcs82pkey_legacy
    - EVP_PKEY_asn1_find_str
    - ERR_pop_to_mark
    - ERR_raise
    - X509_SIG_free
    - ossl_d2i_PUBKEY_legacy
    - d2i_X509_SIG
    - OPENSSL_secure_clear_free
    - PEM_bytes_read_bio
    - OPENSSL_secure_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *pem_read_bio_key_legacy(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_read_bio_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: PEM_read_bio_PUBKEY_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - pem_read_bio_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *PEM_read_bio_PUBKEY_ex(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: PEM_read_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    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_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: PEM_read_bio_PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    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, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - buf
    - num
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: no_password_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int no_password_cb(char *buf, int num, int rwflag, void *userdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: PEM_read_bio_Parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_Parameters_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: PEM_read_PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pkey.c
    functionUses: []
    functionsReached:
    - PEM_read_PrivateKey_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb
      *cb, void *u) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:57,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:58,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - EVP_PKEY*
    - RSA**
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: pkey_get_rsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    functionsReached:
    - RSA_free
    - EVP_PKEY_get1_RSA
    - EVP_PKEY_free
    linkageType: ''
    returnType: RSA*
    signature: 'static RSA *pkey_get_rsa(EVP_PKEY *key, RSA **rsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:97,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:98,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - key
    - dsa
    argTypes:
    - EVP_PKEY*
    - DSA**
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: pkey_get_dsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get1_DSA
    - EVP_PKEY_free
    - DSA_free
    linkageType: ''
    returnType: DSA*
    signature: 'static DSA *pkey_get_dsa(EVP_PKEY *key, DSA **dsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:138,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:143,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - key
    - eckey
    argTypes:
    - EVP_PKEY*
    - EC_KEY**
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: pkey_get_eckey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    functionsReached:
    - EC_KEY_free
    - EVP_PKEY_get1_EC_KEY
    - EVP_PKEY_free
    linkageType: ''
    returnType: EC_KEY*
    signature: 'static EC_KEY *pkey_get_eckey(EVP_PKEY *key, EC_KEY **eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:169,1
    - Dst: pkey_get_eckey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - fp
    - eckey
    - cb
    - u
    argTypes:
    - FILE*
    - EC_KEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: PEM_read_ECPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    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, void *u) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:213,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:217,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:214,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:218,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:213,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - DH**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: PEM_read_DHparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - PEM_read_bio_DHparams
    - BIO_new
    linkageType: ''
    returnType: DH*
    signature: 'DH *PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void
      *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:112,1
    - Dst: pkey_get_dsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - bp
    - dsa
    - cb
    - u
    argTypes:
    - BIO*
    - DSA**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: PEM_read_bio_DSAPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    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, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:72,1
    - Dst: pkey_get_rsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - bp
    - rsa
    - cb
    - u
    argTypes:
    - BIO*
    - RSA**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: PEM_read_bio_RSAPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_PrivateKey
    - pkey_get_rsa
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **rsa, pem_password_cb
      *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:153,1
    - Dst: pkey_get_eckey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - bp
    - key
    - cb
    - u
    argTypes:
    - BIO*
    - EC_KEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: PEM_read_bio_ECPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_PrivateKey
    - pkey_get_eckey
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *PEM_read_bio_ECPrivateKey(BIO *bp, EC_KEY **key, pem_password_cb
      *cb, void *u) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PEM_bytes_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:191,1
    - Dst: d2i_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:198,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:195,1
    - Dst: d2i_DHxparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:201,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:202,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - DH**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 205
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: PEM_read_bio_DHparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcmp
    - d2i_DHxparams
    - OPENSSL_free
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:81,1
    - Dst: pkey_get_rsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - fp
    - rsa
    - cb
    - u
    argTypes:
    - FILE*
    - RSA**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: PEM_read_RSAPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:122,1
    - Dst: pkey_get_dsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - fp
    - dsa
    - cb
    - u
    argTypes:
    - FILE*
    - DSA**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: PEM_read_DSAPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_all.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_bytes_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_oth.c:27,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_oth.c:32,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_oth.c:33,1
    - Dst: d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_oth.c:30,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 6
    argNames:
    - d2i
    - name
    - bp
    - x
    - cb
    - u
    argTypes:
    - d2i_of_void*
    - char*
    - BIO*
    - void**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: PEM_ASN1_read_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_oth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - d2i
    - PEM_bytes_read_bio
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp,
      void **x, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: PEM_write_bio_PKCS8PrivateKey_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x,
      int nid, const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:75,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:154,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:137,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:147,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:89,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:132,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:153,1
    - Dst: PKCS8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:145,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:105,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:101,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:139,1
    - Dst: i2d_PKCS8_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:151,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:162,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:164,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:117,1
    - Dst: OSSL_ENCODER_CTX_set_pem_password_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:120,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:124,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:159,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:157,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 75
    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*
    constantsTouched: []
    func_position:
      end: 166
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 166
    functionName: do_pk8pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_cipher
    - cb
    - PKCS8_PRIV_KEY_INFO_free
    - OSSL_ENCODER_to_bio
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - OPENSSL_cleanse
    - strlen
    - EVP_PKEY2PKCS8
    - ERR_raise
    - PKCS8_encrypt
    - X509_SIG_free
    - i2d_PKCS8_bio
    - PEM_write_bio_PKCS8
    - EVP_CIPHER_get0_name
    - OSSL_ENCODER_CTX_set_pem_password_cb
    linkageType: ''
    returnType: int
    signature: 'static int do_pk8pkey(BIO *bp, const EVP_PKEY *x, int isder, int nid,
      const EVP_CIPHER *enc, const char *kstr, int klen, pem_password_cb *cb, void
      *u, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: i2d_PKCS8PrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER
      *enc, const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: i2d_PKCS8PrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER
      *enc, const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: PEM_write_PKCS8PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_PKCS8PrivateKey(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER
      *enc, const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: i2d_PKCS8PrivateKey_nid_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid,
      const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: PEM_write_bio_PKCS8PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_bio_PKCS8PrivateKey(BIO *bp, const EVP_PKEY *x, const
      EVP_CIPHER *enc, const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:177,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:181,1
    - Dst: PEM_def_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:185,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:186,1
    - Dst: PKCS8_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:189,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:190,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:191,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:194,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:195,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:199,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 203
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: d2i_PKCS8PrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_raise
    - X509_SIG_free
    - EVP_PKEY_free
    - cb
    - OPENSSL_cleanse
    - d2i_PKCS8_bio
    - PEM_def_callback
    - PKCS8_decrypt
    - EVP_PKCS82PKEY
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: i2d_PKCS8PrivateKey_nid_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid,
      const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: PEM_write_PKCS8PrivateKey_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int
      nid, const char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:242,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:247,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:243,1
    - Dst: do_pk8pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    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*
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: do_pk8pkey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - ERR_raise
    - BIO_free
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: 'static int do_pk8pkey_fp(FILE *fp, const EVP_PKEY *x, int isder, int
      nid, const EVP_CIPHER *enc, const char *kstr, int klen, pem_password_cb *cb,
      void *u, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:257,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:258,1
    - Dst: d2i_PKCS8PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:261,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 264
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: d2i_PKCS8PrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_pk8.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - ERR_raise
    - d2i_PKCS8PrivateKey_bio
    - BIO_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb
      *cb, void *u) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:32,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:34,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:35,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:34,1
    - Dst: PEM_X509_INFO_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:39,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:40,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 6
    argNames:
    - fp
    - sk
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - FILE*
    - STACK_OF(X509_INFO)*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: PEM_X509_INFO_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - PEM_X509_INFO_read_bio_ex
    - BIO_new
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_INFO)*
    signature: 'STACK_OF(X509_INFO) *PEM_X509_INFO_read_ex(FILE *fp, STACK_OF(X509_INFO)
      *sk, pem_password_cb *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_INFO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:68,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:93,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:94,1
    - Dst: sk_X509_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:114,1
    - Dst: X509_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:116,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:168,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:183,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:210,1
    - Dst: sk_X509_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:69,1
    - Dst: X509_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:75,1
    - Dst: PEM_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:81,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:83,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:111,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:103,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:107,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:95,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:121,1
    - Dst: sk_X509_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:123,1
    - Dst: X509_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:125,1
    - Dst: sk_X509_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:201,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:172,1
    - Dst: PEM_do_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:158,1
    - Dst: X509_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:140,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:211,1
    - Dst: d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:167,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:129,1
    - Dst: evp_pkey_name2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:134,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:144,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:162,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:179,1
    - Dst: sk_X509_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:193,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:212,1
    - Dst: X509_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:199,1
    - Dst: sk_X509_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:206,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:63,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:80,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:83,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:85,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:88,1
    - Dst: X509_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:99,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:91,1
    - Dst: sk_X509_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:97,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:145,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:156,1
    - Dst: X509_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:203,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:164,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 162
    argCount: 6
    argNames:
    - bp
    - sk
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - STACK_OF(X509_INFO)*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 214
    functionName: PEM_X509_INFO_read_bio_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - d2i
    - ERR_set_mark
    - sk_X509_INFO_push
    - PEM_do_header
    - evp_pkey_name2type
    - STACK_OF
    - X509_PKEY_new
    - strcmp
    - OPENSSL_free
    - X509_INFO_new
    - PEM_read_bio
    - X509_INFO_free
    - PEM_get_EVP_CIPHER_INFO
    - sk_X509_INFO_value
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - strlen
    - sk_X509_INFO_num
    - ERR_pop_to_mark
    - ERR_raise
    - sk_X509_INFO_new_null
    - X509_new_ex
    - d2i_PrivateKey_ex
    - sk_X509_INFO_free
    - strstr
    linkageType: ''
    returnType: STACK_OF(X509_INFO)*
    signature: 'STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio_ex(BIO *bp, STACK_OF(X509_INFO)
      *sk, pem_password_cb *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_X509_INFO_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - sk
    - cb
    - u
    argTypes:
    - BIO*
    - STACK_OF(X509_INFO)*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: PEM_X509_INFO_read_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c
    functionUses: []
    functionsReached:
    - PEM_X509_INFO_read_bio_ex
    linkageType: ''
    returnType: STACK_OF(X509_INFO)*
    signature: 'STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO)
      *sk, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_X509_INFO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - fp
    - sk
    - cb
    - u
    argTypes:
    - FILE*
    - STACK_OF(X509_INFO)*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: PEM_X509_INFO_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c
    functionUses: []
    functionsReached:
    - PEM_X509_INFO_read_ex
    linkageType: ''
    returnType: STACK_OF(X509_INFO)*
    signature: 'STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO)
      *sk, pem_password_cb *cb, void *u) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:255,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:240,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:242,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:271,1
    - Dst: PEM_proc_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:277,1
    - Dst: PEM_dek_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:278,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:278,1
    - Dst: PEM_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:282,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:289,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:308,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:296,1
    - Dst: PEM_write_bio_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c:288,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 7
    argNames:
    - bp
    - xi
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - X509_INFO*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 310
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 310
    functionName: PEM_X509_INFO_write_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_info.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_get0_RSA
    - PEM_proc_type
    - OPENSSL_cleanse
    - PEM_write_bio_RSAPrivateKey
    - PEM_write_bio
    - EVP_CIPHER_get_iv_length
    - PEM_dek_info
    - PEM_write_bio_X509
    - EVP_CIPHER_get0_name
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int PEM_X509_INFO_write_bio(BIO *bp, const X509_INFO *xi, EVP_CIPHER
      *enc, const unsigned char *kstr, int klen, pem_password_cb *cb, void *u) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_err.c:69,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_err.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ossl_err_load_PEM_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_err.c
    functionUses: []
    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: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: read_ledword
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int read_ledword(const unsigned char **in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: b2i_PublicKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ossl_b2i_bio
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *b2i_PublicKey_bio(BIO *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - out
    - bn
    - len
    argTypes:
    - unsigned char**
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: write_lebn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - BN_bn2lebinpad
    linkageType: ''
    returnType: void
    signature: 'static void write_lebn(unsigned char **out, const BIGNUM *bn, int
      len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:90,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:88,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:81,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:95,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:97,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:106,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:116,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 2
    argNames:
    - key
    - evp_type
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 118
    functionName: evp_pkey_new0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - RSA_free
    - ERR_raise
    - ossl_assert
    - EVP_PKEY_set1_DSA
    - EVP_PKEY_free
    - EVP_PKEY_set1_RSA
    - EVP_PKEY_new
    - DSA_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *evp_pkey_new0_key(void *key, int evp_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - out
    - dw
    argTypes:
    - unsigned char**
    - unsigned int
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: write_ledword
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void write_ledword(unsigned char **out, unsigned int dw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:797,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:805,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:801,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:807,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:806,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:808,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:813,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:814,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 7
    argNames:
    - key
    - salt
    - saltlen
    - pass
    - passlen
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 816
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 816
    functionName: derive_pvk_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int derive_pvk_key(unsigned char *key, const unsigned char
      *salt, unsigned int saltlen, const unsigned char *pass, int passlen, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_do_blob_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:288,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:289,1
    - Dst: ossl_blob_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:293,1
    - Dst: ossl_b2i_RSA_after_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:298,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:294,1
    - Dst: ossl_b2i_DSA_after_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:301,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:305,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - in
    - length
    - isdss
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: do_b2i_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ossl_b2i_DSA_after_header
    - ossl_blob_length
    - ERR_raise
    - ossl_b2i_RSA_after_header
    - ossl_do_blob_header
    linkageType: ''
    returnType: void*
    signature: 'static void *do_b2i_key(const unsigned char **in, unsigned int length,
      int *isdss, int *ispub) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:329,1
    - Dst: ossl_blob_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:337,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:339,1
    - Dst: ossl_do_blob_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:334,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:330,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:342,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:344,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:348,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:349,1
    - Dst: ossl_b2i_RSA_after_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:354,1
    - Dst: evp_pkey_new0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:365,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:361,1
    - Dst: ossl_b2i_DSA_after_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:357,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:367,1
    - Dst: isdss_to_evp_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:365,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - in
    - ispub
    argTypes:
    - BIO*
    - int*
    constantsTouched: []
    func_position:
      end: 369
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 369
    functionName: ossl_b2i_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ossl_b2i_DSA_after_header
    - ossl_blob_length
    - ERR_raise
    - BIO_read
    - OPENSSL_free
    - ossl_b2i_RSA_after_header
    - isdss_to_evp_type
    - evp_pkey_new0_key
    - OPENSSL_malloc
    - ossl_do_blob_header
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ossl_b2i_bio(BIO *in, int *ispub) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:926,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:935,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:937,1
    - Dst: ossl_do_PVK_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:932,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:927,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:941,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:942,1
    - Dst: do_PVK_body_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:945,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:948,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 7
    argNames:
    - in
    - cb
    - u
    - isdss
    - ispub
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - int*
    - int*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 950
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 950
    functionName: do_PVK_key_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_read
    - ossl_do_PVK_header
    - OPENSSL_malloc
    - OPENSSL_clear_free
    - do_PVK_body_key
    linkageType: ''
    returnType: void*
    signature: 'static void *do_PVK_key_bio(BIO *in, pem_password_cb *cb, void *u,
      int *isdss, int *ispub, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_b2i_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:315,1
    - Dst: evp_pkey_new0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:317,1
    - Dst: isdss_to_evp_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - in
    - length
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int*
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: ossl_b2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - do_b2i_key
    - evp_pkey_new0_key
    - isdss_to_evp_type
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ossl_b2i(const unsigned char **in, unsigned int length,
      int *ispub) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:835,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:867,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:876,1
    - Dst: do_b2i_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:903,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:905,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:832,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:856,1
    - Dst: derive_pvk_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:859,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:888,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:884,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:880,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:883,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:907,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:847,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:851,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:864,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:878,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:874,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:890,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:898,1
    - Dst: PEM_def_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:849,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:854,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:872,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:886,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:892,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:910,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:911,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 75
    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*
    constantsTouched: []
    func_position:
      end: 914
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 914
    functionName: do_PVK_body_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_free
    - OPENSSL_free
    - memcpy
    - EVP_CIPHER_CTX_free
    - cb
    - OPENSSL_cleanse
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - do_b2i_key
    - EVP_CIPHER_fetch
    - read_ledword
    - PEM_def_callback
    - EVP_DecryptFinal_ex
    - derive_pvk_key
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'static void *do_PVK_body_key(const unsigned char **in, unsigned int
      saltlen, unsigned int keylen, pem_password_cb *cb, void *u, int *isdss, int
      *ispub, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_lebin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - in
    - nbyte
    - r
    argTypes:
    - unsigned char**
    - unsigned int
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: read_lebn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - BN_lebin2bn
    linkageType: ''
    returnType: int
    signature: 'static int read_lebn(const unsigned char **in, unsigned int nbyte,
      BIGNUM **r) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:170,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:178,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:217,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:241,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 38
    argCount: 6
    argNames:
    - in
    - length
    - pmagic
    - pbitlen
    - pisdss
    - pispub
    argTypes:
    - unsigned char**
    - unsigned int
    - unsigned int*
    - unsigned int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 246
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 246
    functionName: ossl_do_blob_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - read_ledword
    linkageType: ''
    returnType: int
    signature: 'int ossl_do_blob_header(const unsigned char **in, unsigned int length,
      unsigned int *pmagic, unsigned int *pbitlen, int *pisdss, int *pispub) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:453,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:458,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:463,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:467,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:488,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:471,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:492,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:496,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:456,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:461,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:487,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:489,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:493,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:456,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:465,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:469,1
    - Dst: RSA_set0_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:476,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:490,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:480,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:473,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:494,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:450,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:491,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:495,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 55
    argCount: 3
    argNames:
    - in
    - bitlen
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 498
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 498
    functionName: ossl_b2i_RSA_after_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_set0_key
    - ERR_raise
    - RSA_set0_crt_params
    - BN_new
    - BN_set_word
    - BN_free
    - read_ledword
    - RSA_new
    - RSA_set0_factors
    - read_lebn
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *ossl_b2i_RSA_after_header(const unsigned char **in, unsigned
      int bitlen, int ispub) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:628,1
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:645,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:629,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:632,1
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:631,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:646,1
    - Dst: RSA_get0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:648,1
    - Dst: RSA_get0_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:649,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:650,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:651,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:652,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:654,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:659,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:653,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 3
    argNames:
    - rsa
    - ispub
    - pmagic
    argTypes:
    - RSA*
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 661
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 661
    functionName: check_bitlen_rsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - RSA_get0_factors
    - ERR_raise
    - BN_num_bytes
    - RSA_size
    - BN_num_bits
    - RSA_get0_key
    - RSA_get0_crt_params
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: 'static int check_bitlen_rsa(const RSA *rsa, int ispub, unsigned int
      *pmagic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_i2b_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - out
    - pk
    argTypes:
    - BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: i2b_PublicKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - do_i2b_bio
    linkageType: ''
    returnType: int
    signature: 'int i2b_PublicKey_bio(BIO *out, const EVP_PKEY *pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_PVK_key_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - in
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 960
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 960
    functionName: b2i_DSA_PVK_bio_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - do_PVK_key_bio
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *b2i_DSA_PVK_bio_ex(BIO *in, pem_password_cb *cb, void *u, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - bitlen
    - isdss
    - ispub
    argTypes:
    - unsigned
    - int
    - int
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: ossl_blob_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int ossl_blob_length(unsigned bitlen, int isdss, int ispub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: b2i_PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ossl_b2i
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:668,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:672,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:671,1
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:669,1
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:670,1
    - Dst: RSA_get0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:675,1
    - Dst: RSA_get0_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:676,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:677,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:678,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:679,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:680,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:681,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:682,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - out
    - rsa
    - ispub
    argTypes:
    - unsigned char**
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: write_rsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - RSA_get0_factors
    - write_lebn
    - RSA_size
    - RSA_get0_key
    - RSA_get0_crt_params
    - RSA_bits
    linkageType: ''
    returnType: void
    signature: 'static void write_rsa(unsigned char **out, const RSA *rsa, int ispub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_i2b_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - out
    - pk
    argTypes:
    - BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: i2b_PrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - do_i2b_bio
    linkageType: ''
    returnType: int
    signature: 'int i2b_PrivateKey_bio(BIO *out, const EVP_PKEY *pk) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:756,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:774,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:764,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:766,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:761,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:775,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:776,1
    - Dst: read_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:777,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:783,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 5
    argNames:
    - in
    - length
    - skip_magic
    - psaltlen
    - pkeylen
    argTypes:
    - unsigned char**
    - unsigned int
    - int
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 789
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 789
    functionName: ossl_do_PVK_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - read_ledword
    linkageType: ''
    returnType: int
    signature: 'int ossl_do_PVK_header(const unsigned char **in, unsigned int length,
      int skip_magic, unsigned int *psaltlen, unsigned int *pkeylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_DSA_PVK_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - in
    - cb
    - u
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 965
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 965
    functionName: b2i_DSA_PVK_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - b2i_DSA_PVK_bio_ex
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *b2i_DSA_PVK_bio(BIO *in, pem_password_cb *cb, void *u) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:382,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:385,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:391,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:411,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:414,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:432,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:420,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:395,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:408,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:433,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:429,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:388,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:428,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:430,1
    - Dst: DSA_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:417,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:434,1
    - Dst: read_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:398,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:402,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:405,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:431,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:435,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 47
    argCount: 3
    argNames:
    - in
    - bitlen
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 437
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 437
    functionName: ossl_b2i_DSA_after_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSA_set0_pqg
    - DSA_set0_key
    - BN_new
    - BN_CTX_free
    - BN_CTX_new
    - BN_free
    - BN_mod_exp
    - BN_set_flags
    - read_lebn
    - DSA_free
    - DSA_new
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *ossl_b2i_DSA_after_header(const unsigned char **in, unsigned
      int bitlen, int ispub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: b2i_PublicKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ossl_b2i
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:559,1
    - Dst: check_bitlen_rsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:560,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:563,1
    - Dst: check_bitlen_dsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:564,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:560,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:564,1
    - Dst: ossl_blob_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:572,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:578,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:579,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:593,1
    - Dst: write_rsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:597,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:594,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:595,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:597,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - out
    - pk
    - ispub
    argTypes:
    - unsigned char**
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 606
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 606
    functionName: do_i2b
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ossl_blob_length
    - ERR_raise
    - check_bitlen_rsa
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get0_RSA
    - write_ledword
    - EVP_PKEY_is_a
    - check_bitlen_dsa
    - OPENSSL_malloc
    - write_rsa
    linkageType: ''
    returnType: int
    signature: 'static int do_i2b(unsigned char **out, const EVP_PKEY *pk, int ispub) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:692,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:694,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:696,1
    - Dst: DSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:693,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:695,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:699,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:703,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:710,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 3
    argNames:
    - dsa
    - ispub
    - pmagic
    argTypes:
    - DSA*
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 712
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 712
    functionName: check_bitlen_dsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_num_bits
    - DSA_get0_pqg
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: 'static int check_bitlen_dsa(const DSA *dsa, int ispub, unsigned int
      *pmagic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_PVK_key_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - in
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 975
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 975
    functionName: b2i_RSA_PVK_bio_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - do_PVK_key_bio
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *b2i_RSA_PVK_bio_ex(BIO *in, pem_password_cb *cb, void *u, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_PVK_key_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:987,1
    - Dst: isdss_to_evp_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:989,1
    - Dst: evp_pkey_new0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:989,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - in
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 990
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 990
    functionName: b2i_PVK_bio_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    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, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1028,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1042,1
    - Dst: do_i2b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1051,1
    - Dst: PEM_def_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1060,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1071,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1045,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1032,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1035,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1075,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1076,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1090,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1023,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1021,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1033,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1068,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1073,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1081,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1092,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1095,1
    - Dst: do_i2b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1012,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1034,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1040,1
    - Dst: write_ledword
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1041,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1062,1
    - Dst: derive_pvk_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1065,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1058,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1078,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 71
    argCount: 7
    argNames:
    - out
    - pk
    - enclevel
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - unsigned char**
    - EVP_PKEY*
    - int
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1098
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1098
    functionName: i2b_PVK
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_malloc
    - EVP_EncryptInit_ex
    - EVP_CIPHER_free
    - OPENSSL_free
    - cb
    - EVP_EncryptFinal_ex
    - PEM_def_callback
    - derive_pvk_key
    - do_i2b
    - RAND_bytes_ex
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - ERR_raise
    - write_ledword
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    - EVP_PKEY_get_id
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int i2b_PVK(unsigned char **out, const EVP_PKEY *pk, int enclevel,
      pem_password_cb *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: b2i_PrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - ossl_b2i_bio
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *b2i_PrivateKey_bio(BIO *in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_i2b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:613,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:617,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - out
    - pk
    - ispub
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: do_i2b_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - do_i2b
    linkageType: ''
    returnType: int
    signature: 'static int do_i2b_bio(BIO *out, const EVP_PKEY *pk, int ispub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:720,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:723,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:722,1
    - Dst: DSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:721,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:724,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:725,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:727,1
    - Dst: write_lebn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:729,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:731,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - out
    - dsa
    - ispub
    argTypes:
    - unsigned char**
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 734
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 734
    functionName: write_dsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - write_lebn
    - DSA_get0_pqg
    - DSA_get0_key
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void write_dsa(unsigned char **out, const DSA *dsa, int ispub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_RSA_PVK_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - in
    - cb
    - u
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 980
    functionName: b2i_RSA_PVK_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    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: b2i_PVK_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - in
    - cb
    - u
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: b2i_PVK_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - b2i_PVK_bio_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2b_PVK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1107,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1115,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 7
    argNames:
    - out
    - pk
    - enclevel
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1117
    functionName: i2b_PVK_bio_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - ERR_raise
    - i2b_PVK
    linkageType: ''
    returnType: int
    signature: 'int i2b_PVK_bio_ex(BIO *out, const EVP_PKEY *pk, int enclevel, pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2b_PVK_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c:1122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - out
    - pk
    - enclevel
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1123
    functionName: i2b_PVK_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pvkfmt.c
    functionUses: []
    functionsReached:
    - i2b_PVK_bio_ex
    linkageType: ''
    returnType: int
    signature: 'int i2b_PVK_bio(BIO *out, const EVP_PKEY *pk, int enclevel, pem_password_cb
      *cb, void *u) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:71,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: PEM_proc_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void PEM_proc_type(char *buf, int type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:501,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:512,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:520,1
    - Dst: strcspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:540,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:553,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:560,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:509,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:514,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:518,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:528,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:556,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:496,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:505,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:513,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:529,1
    - Dst: load_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:560,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:500,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:533,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:545,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:543,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:548,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 2
    argNames:
    - header
    - cipher
    argTypes:
    - char*
    - EVP_CIPHER_INFO*
    constantsTouched: []
    func_position:
      end: 564
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 564
    functionName: PEM_get_EVP_CIPHER_INFO
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_get_cipherbyname
    - load_iv
    - strncmp
    - strcspn
    - EVP_CIPHER_get_iv_length
    - strspn
    - memset
    linkageType: ''
    returnType: int
    signature: 'int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pem_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:820,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:830,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:843,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:828,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:822,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:846,1
    - Dst: sanitize_line
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:848,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:859,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:869,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:871,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:873,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:884,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:891,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:872,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:874,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:907,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 76
    argCount: 5
    argNames:
    - bp
    - header
    - data
    - name
    - flags
    argTypes:
    - BIO*
    - BIO**
    - BIO**
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 909
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 909
    functionName: get_header_and_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - ERR_raise
    - memchr
    - sanitize_line
    - strncmp
    - pem_free
    - BIO_puts
    - pem_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int get_header_and_data(BIO *bp, BIO **header, BIO **data,
      char *name, unsigned int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:1016,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:1022,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:1017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pem_str
    - suffix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1028
    functionName: ossl_pem_check_suffix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_pem_check_suffix(const char *pem_str, const char *suffix) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:88,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:91,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:96,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - buf
    - type
    - len
    - str
    argTypes:
    - char*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: PEM_dek_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - strcpy
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void PEM_dek_info(char *buf, const char *type, int len, const char
      *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:576,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - fromp
    - to
    - num
    argTypes:
    - char**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: load_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexchar2int
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int load_iv(char **fromp, unsigned char *to, int num) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:622,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:624,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:635,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:653,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:656,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:625,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:631,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:663,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:655,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:664,1
    - Dst: EVP_EncodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:621,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:629,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:657,1
    - Dst: EVP_EncodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:644,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:665,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:612,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:626,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:631,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:646,1
    - Dst: EVP_EncodeFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:652,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 68
    argCount: 5
    argNames:
    - bp
    - name
    - header
    - data
    - len
    argTypes:
    - BIO*
    - char*
    - char*
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 667
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 667
    functionName: PEM_write_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - BIO_write
    - ERR_raise
    - EVP_ENCODE_CTX_new
    - EVP_ENCODE_CTX_free
    - EVP_EncodeFinal
    - EVP_EncodeInit
    - EVP_EncodeUpdate
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_bio(BIO *bp, const char *name, const char *header, const
      unsigned char *data, long len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:114,1
    - Dst: PEM_ASN1_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:119,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:118,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:115,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 6
    argNames:
    - d2i
    - name
    - fp
    - x
    - cb
    - u
    argTypes:
    - d2i_of_void*
    - char*
    - FILE*
    - void**
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: PEM_ASN1_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - PEM_ASN1_read_bio
    - BIO_new
    linkageType: ''
    returnType: void*
    signature: 'void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp,
      void **x, pem_password_cb *cb, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_bytes_read_bio_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 7
    argNames:
    - pdata
    - plen
    - pnm
    - name
    - bp
    - cb
    - u
    argTypes:
    - unsigned char**
    - long*
    - char**
    - char*
    - BIO*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: PEM_bytes_read_bio_secmem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - pem_bytes_read_bio_flags
    linkageType: ''
    returnType: int
    signature: 'int PEM_bytes_read_bio_secmem(unsigned char **pdata, long *plen, char
      **pnm, const char *name, BIO *bp, pem_password_cb *cb, void *u) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:339,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:340,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:346,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:371,1
    - Dst: EVP_BytesToKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:377,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:392,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:407,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:406,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:327,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:334,1
    - Dst: PEM_def_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:357,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:352,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:371,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:391,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:409,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:326,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:332,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:377,1
    - Dst: PEM_proc_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:384,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:389,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:405,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:408,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:325,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:332,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:348,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:366,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:361,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:381,1
    - Dst: PEM_dek_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:385,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:385,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:390,1
    - Dst: PEM_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:401,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    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*
    constantsTouched: []
    func_position:
      end: 411
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 411
    functionName: PEM_ASN1_write_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - PEM_proc_type
    - RAND_bytes
    - EVP_CIPHER_CTX_new
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - EVP_EncryptInit_ex
    - EVP_EncryptFinal_ex
    - EVP_md5
    - PEM_write_bio
    - PEM_def_callback
    - PEM_dek_info
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - ebcdic2ascii
    - i2d
    - EVP_BytesToKey
    - strlen
    - ERR_raise
    - EVP_EncryptUpdate
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: 'int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp,
      const void *x, const EVP_CIPHER *enc, const unsigned char *kstr, int klen, pem_password_cb
      *callback, void *u) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:427,1
    - Dst: PEM_def_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:435,1
    - Dst: callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:437,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:439,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:444,1
    - Dst: EVP_BytesToKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:447,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:447,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:451,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:455,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:457,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:461,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:469,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:466,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:470,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:468,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 5
    argNames:
    - cipher
    - data
    - plen
    - callback
    - u
    argTypes:
    - EVP_CIPHER_INFO*
    - unsigned char*
    - long*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 472
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 472
    functionName: PEM_do_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - callback
    - ERR_raise
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - EVP_md5
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - ebcdic2ascii
    - PEM_def_callback
    - EVP_BytesToKey
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long
      *plen, pem_password_cb *callback, void *u) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:596,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:600,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:596,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:597,1
    - Dst: PEM_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:601,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - fp
    - name
    - header
    - data
    - len
    argTypes:
    - FILE*
    - char*
    - char*
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 604
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 604
    functionName: PEM_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - PEM_write_bio
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int PEM_write(FILE *fp, const char *name, const char *header, const
      unsigned char *data, long len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:246,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:248,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:250,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:247,1
    - Dst: PEM_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:249,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:250,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:251,1
    - Dst: check_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:254,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:255,1
    - Dst: PEM_do_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:257,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:270,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:271,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:273,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    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
    constantsTouched: []
    func_position:
      end: 275
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 275
    functionName: pem_bytes_read_bio_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_peek_error
    - PEM_get_EVP_CIPHER_INFO
    - PEM_read_bio_ex
    - check_pem
    - PEM_do_header
    - pem_free
    - ERR_add_error_data
    linkageType: ''
    returnType: int
    signature: 'static int pem_bytes_read_bio_flags(unsigned char **pdata, long *plen,
      char **pnm, const char *name, BIO *bp, pem_password_cb *cb, void *u, unsigned
      int flags) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pem_check_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:140,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:199,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:203,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:133,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:146,1
    - Dst: ossl_pem_check_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:156,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:212,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:213,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:128,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:153,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:167,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:182,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:186,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:181,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:185,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:176,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:175,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:200,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:138,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:136,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:159,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:194,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:191,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:190,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:195,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:204,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:208,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:209,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 75
    argCount: 2
    argNames:
    - nm
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 218
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 218
    functionName: check_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - strcmp
    - ENGINE_finish
    - ossl_pem_check_suffix
    linkageType: ''
    returnType: int
    signature: 'static int check_pem(const char *nm, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_bytes_read_bio_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 7
    argNames:
    - pdata
    - plen
    - pnm
    - name
    - bp
    - cb
    - u
    argTypes:
    - unsigned char**
    - long*
    - char**
    - char*
    - BIO*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: PEM_bytes_read_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - pem_bytes_read_bio_flags
    linkageType: ''
    returnType: int
    signature: 'int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm,
      const char *name, BIO *bp, pem_password_cb *cb, void *u) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pem_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:752,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:759,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:754,1
    - Dst: sanitize_line
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:767,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:762,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:771,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:773,1
    - Dst: pem_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:776,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:778,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:781,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:785,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - bp
    - name
    - flags
    argTypes:
    - BIO*
    - char**
    - unsigned int
    constantsTouched: []
    func_position:
      end: 787
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 787
    functionName: get_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - ERR_raise
    - memcpy
    - sanitize_line
    - strncmp
    - pem_free
    - pem_malloc
    linkageType: ''
    returnType: int
    signature: 'static int get_name(BIO *bp, char **name, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:676,1
    - Dst: PEM_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:681,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:680,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:677,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:676,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:682,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 5
    argNames:
    - fp
    - name
    - header
    - data
    - len
    argTypes:
    - FILE*
    - char**
    - char**
    - unsigned char**
    - long*
    constantsTouched: []
    func_position:
      end: 684
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 684
    functionName: PEM_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - PEM_read_bio
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int PEM_read(FILE *fp, char **name, char **header, unsigned char **data,
      long *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:223,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - p
    - flags
    - num
    argTypes:
    - void*
    - unsigned int
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: pem_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void pem_free(void *p, unsigned int flags, size_t num) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:696,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:697,1
    - Dst: ossl_iscntrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:722,1
    - Dst: ossl_isbase64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:711,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - linebuf
    - len
    - flags
    - first_call
    argTypes:
    - char*
    - int
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 731
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 731
    functionName: sanitize_line
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - ossl_iscntrl
    - ossl_isbase64
    - memcmp
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int sanitize_line(char *linebuf, int len, unsigned int flags,
      int first_call) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:937,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:938,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:949,1
    - Dst: pem_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:974,1
    - Dst: pem_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:975,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:990,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:995,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:940,1
    - Dst: EVP_DecodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:963,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:967,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:981,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:992,1
    - Dst: pem_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:996,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:932,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:956,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:958,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:973,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:978,1
    - Dst: EVP_DecodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:962,1
    - Dst: EVP_DecodeFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:965,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:998,1
    - Dst: BIO_s_secmem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:935,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:935,1
    - Dst: get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:944,1
    - Dst: get_header_and_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:946,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:997,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 74
    argCount: 6
    argNames:
    - bp
    - name_out
    - header
    - data
    - len_out
    - flags
    argTypes:
    - BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1000
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 1000
    functionName: PEM_read_bio_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - get_name
    - EVP_DecodeUpdate
    - ERR_raise
    - EVP_ENCODE_CTX_new
    - EVP_DecodeInit
    - EVP_DecodeFinal
    - BIO_read
    - EVP_ENCODE_CTX_free
    - BIO_free
    - get_header_and_data
    - BIO_get_mem_ptr
    - BIO_s_mem
    - BIO_s_secmem
    - pem_free
    - BIO_new
    - pem_malloc
    linkageType: ''
    returnType: int
    signature: 'int PEM_read_bio_ex(BIO *bp, char **name_out, char **header, unsigned
      char **data, long *len_out, unsigned int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:40,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:42,1
    - Dst: EVP_read_pw_string_min
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:61,1
    - Dst: EVP_get_pw_prompt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:46,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:62,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - buf
    - num
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 66
    functionName: PEM_def_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_get_pw_prompt
    - memcpy
    - memset
    - EVP_read_pw_string_min
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int PEM_def_callback(char *buf, int num, int rwflag, void *userdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:230,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - num
    - flags
    argTypes:
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: pem_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_malloc
    - OPENSSL_malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *pem_malloc(int num, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:1005,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - bp
    - name
    - header
    - data
    - len
    argTypes:
    - BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    constantsTouched: []
    func_position:
      end: 1006
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1006
    functionName: PEM_read_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_ex
    linkageType: ''
    returnType: int
    signature: 'int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char
      **data, long *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:300,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:300,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:301,1
    - Dst: PEM_ASN1_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:305,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:304,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c:306,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    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*
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: PEM_ASN1_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pem/pem_lib.c
    functionUses: []
    functionsReached:
    - PEM_ASN1_write_bio
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, const
      void *x, const EVP_CIPHER *enc, const unsigned char *kstr, int klen, pem_password_cb
      *callback, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:879,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:889,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:887,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:886,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:888,1
    - Dst: prefetch256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:892,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:932,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:933,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:933,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:1009,1
    - Dst: prefetch256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:1047,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:1010,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:1010,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 413
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 1073
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 1073
    functionName: AES_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c
    functionUses: []
    functionsReached:
    - ROTATE
    - prefetch256
    - assert
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'void AES_decrypt(const unsigned char *in, unsigned char *out, const
      AES_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:665,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:673,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:672,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:674,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:675,1
    - Dst: prefetch256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:678,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:707,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:707,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:708,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:708,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:774,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:775,1
    - Dst: prefetch256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:813,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:774,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:775,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 431
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 865
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 865
    functionName: AES_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c
    functionUses: []
    functionsReached:
    - ROTATE
    - prefetch256
    - assert
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'void AES_encrypt(const unsigned char *in, unsigned char *out, const
      AES_KEY *key) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:495,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:497,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:498,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:517,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:496,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:518,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:539,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:540,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 147
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 570
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 570
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c
    functionUses: []
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: 'int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:584,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:619,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:620,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c:620,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 156
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 651
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 651
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c
    functionUses: []
    functionsReached:
    - ROTATE
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - table
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: prefetch256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_x86core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void prefetch256(const void *table) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ecb.c:24,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ecb.c:25,1
    - Dst: AES_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ecb.c:30,1
    - Dst: AES_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ecb.c:28,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - in
    - out
    - key
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: AES_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ecb.c
    functionUses: []
    functionsReached:
    - AES_decrypt
    - assert
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: 'void AES_ecb_encrypt(const unsigned char *in, unsigned char *out,
      const AES_KEY *key, const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_128_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_wrap.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    argTypes:
    - AES_KEY*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: AES_wrap_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_wrap.c
    functionUses: []
    functionsReached:
    - CRYPTO_128_wrap
    linkageType: ''
    returnType: int
    signature: 'int AES_wrap_key(AES_KEY *key, const unsigned char *iv, unsigned char
      *out, const unsigned char *in, unsigned int inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_128_unwrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_wrap.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    argTypes:
    - AES_KEY*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: AES_unwrap_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_wrap.c
    functionUses: []
    functionsReached:
    - CRYPTO_128_unwrap
    linkageType: ''
    returnType: int
    signature: 'int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, unsigned
      char *out, const unsigned char *in, unsigned int inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: AES_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_misc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *AES_options(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:58,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:59,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:86,1
    - Dst: AES_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:99,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:138,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:57,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:85,1
    - Dst: load_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:92,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:165,1
    - Dst: load_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:93,1
    - Dst: load_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:96,1
    - Dst: AES_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:128,1
    - Dst: load_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:145,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:111,1
    - Dst: store_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:157,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:164,1
    - Dst: AES_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:75,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:110,1
    - Dst: store_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:103,1
    - Dst: load_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:146,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:139,1
    - Dst: load_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:149,1
    - Dst: AES_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:153,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 111
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 168
    functionName: AES_ige_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - memcpy
    - AES_encrypt
    - AES_decrypt
    - load_block
    - store_block
    linkageType: ''
    returnType: void
    signature: 'void AES_ige_encrypt(const unsigned char *in, unsigned char *out,
      size_t length, const AES_KEY *key, unsigned char *ivec, const int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:199,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:200,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:219,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:201,1
    - Dst: AES_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:215,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:235,1
    - Dst: AES_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:241,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:254,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:267,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:268,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:285,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:286,1
    - Dst: AES_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:289,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:292,1
    - Dst: AES_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:271,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c:274,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 102
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - key2
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - AES_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 300
    functionName: AES_bi_ige_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ige.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - memcpy
    - AES_decrypt
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: 'void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,
      size_t length, const AES_KEY *key, const AES_KEY *key2, const unsigned char
      *ivec, const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ofb.c:22,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: AES_ofb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_ofb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out,
      size_t length, const AES_KEY *key, unsigned char *ivec, int *num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cfb.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: AES_cfb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cfb.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out,
      size_t length, const AES_KEY *key, unsigned char *ivec, int *num, const int
      enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cfb.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: AES_cfb1_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cfb.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: void
    signature: 'void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out,
      size_t length, const AES_KEY *key, unsigned char *ivec, int *num, const int
      enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cfb.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: AES_cfb8_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cfb.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: void
    signature: 'void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out,
      size_t length, const AES_KEY *key, unsigned char *ivec, int *num, const int
      enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:90,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - w
    argTypes:
    - u64*
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: XtimeLong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - U64
    linkageType: ''
    returnType: void
    signature: 'static void XtimeLong(u64 *w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:242,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:246,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:247,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:251,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:260,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:261,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:268,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:270,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:274,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:276,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:289,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:322,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:317,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:296,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:312,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:293,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:240,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:244,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:245,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:252,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:249,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:255,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:263,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:266,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:279,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:283,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:314,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:296,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:311,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:320,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:285,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:303,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:299,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:316,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:305,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:243,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:243,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:247,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:251,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:250,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:254,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:262,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:271,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:273,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:290,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:284,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:294,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:307,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:314,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:316,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:298,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:319,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:320,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:302,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:318,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:309,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:304,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:315,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:240,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:241,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:245,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:249,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:248,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:255,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:257,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:258,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:264,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:281,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:301,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:313,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:310,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:312,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:309,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:287,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:318,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 342
    argCount: 1
    argNames:
    - w
    argTypes:
    - u64*
    constantsTouched: []
    func_position:
      end: 324
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 324
    functionName: SubLong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - U64
    linkageType: ''
    returnType: void
    signature: 'static void SubLong(u64 *w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - state
    - w
    argTypes:
    - u64*
    - u64*
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: AddRoundKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void AddRoundKey(u64 *state, const u64 *w) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1441,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1451,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1449,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1448,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1450,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1595,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1602,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1609,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1616,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 759
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 1617
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1617
    functionName: AES_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - PUTU32
    - assert
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'void AES_encrypt(const unsigned char *in, unsigned char *out, const
      AES_KEY *key) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1877,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1880,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1879,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1899,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1878,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1900,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1921,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1922,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 147
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 1952
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1952
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: 'int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:538,1
    - Dst: AddRoundKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:540,1
    - Dst: SubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:544,1
    - Dst: SubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:543,1
    - Dst: ShiftRows
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:545,1
    - Dst: MixColumns
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:546,1
    - Dst: AddRoundKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:547,1
    - Dst: SubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:550,1
    - Dst: SubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:551,1
    - Dst: ShiftRows
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:552,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:555,1
    - Dst: AddRoundKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - in
    - out
    - w
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - u64*
    - int
    constantsTouched: []
    func_position:
      end: 556
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 556
    functionName: Cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - SubLong
    - memcpy
    - MixColumns
    - ShiftRows
    - AddRoundKey
    linkageType: ''
    returnType: void
    signature: 'static void Cipher(const unsigned char *in, unsigned char *out, const
      u64 *w, int nr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - w
    argTypes:
    - u32*
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: XtimeWord
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void XtimeWord(u32 *w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:686,1
    - Dst: InvCipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 690
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 690
    functionName: AES_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - InvCipher
    - assert
    linkageType: ''
    returnType: void
    signature: 'void AES_decrypt(const unsigned char *in, unsigned char *out, const
      AES_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 96
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 1426
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1426
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1966,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:2000,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:2001,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:2001,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 100
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 2010
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 2010
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - ROTATE
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:471,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:474,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:473,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:472,1
    - Dst: XtimeLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    constantsTouched: []
    func_position:
      end: 488
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 488
    functionName: MixColumns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - XtimeLong
    - U64
    linkageType: ''
    returnType: void
    signature: 'static void MixColumns(u64 *state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: KeyExpansion
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:649,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 651
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 651
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - KeyExpansion
    linkageType: ''
    returnType: int
    signature: 'int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:499,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:502,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:500,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:501,1
    - Dst: XtimeLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:504,1
    - Dst: XtimeLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:514,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:515,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:516,1
    - Dst: XtimeLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:518,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:519,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    constantsTouched: []
    func_position:
      end: 524
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 524
    functionName: InvMixColumns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - XtimeLong
    - U64
    linkageType: ''
    returnType: void
    signature: 'static void InvMixColumns(u64 *state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:606,1
    - Dst: SubWord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:614,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:607,1
    - Dst: RotWord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:613,1
    - Dst: XtimeWord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:616,1
    - Dst: SubWord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - key
    - w
    - nr
    - nk
    argTypes:
    - unsigned char*
    - u64*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 625
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 625
    functionName: KeyExpansion
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - SubWord
    - memcpy
    - RotWord
    - XtimeWord
    linkageType: ''
    returnType: void
    signature: 'static void KeyExpansion(const unsigned char *key, u64 *w, int nr,
      int nk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:565,1
    - Dst: AddRoundKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:567,1
    - Dst: InvShiftRows
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:570,1
    - Dst: InvSubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:572,1
    - Dst: InvSubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:571,1
    - Dst: AddRoundKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:573,1
    - Dst: InvMixColumns
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:574,1
    - Dst: InvShiftRows
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:577,1
    - Dst: InvSubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:578,1
    - Dst: InvSubLong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:579,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:582,1
    - Dst: AddRoundKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - in
    - out
    - w
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - u64*
    - int
    constantsTouched: []
    func_position:
      end: 583
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 583
    functionName: InvCipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - InvSubLong
    - memcpy
    - AddRoundKey
    - InvMixColumns
    - InvShiftRows
    linkageType: ''
    returnType: void
    signature: 'static void InvCipher(const unsigned char *in, unsigned char *out,
      const u64 *w, int nr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32*
    constantsTouched: []
    func_position:
      end: 596
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 596
    functionName: RotWord
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void RotWord(u32 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:671,1
    - Dst: Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 675
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 675
    functionName: AES_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - assert
    - Cipher
    linkageType: ''
    returnType: void
    signature: 'void AES_encrypt(const unsigned char *in, unsigned char *out, const
      AES_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    constantsTouched: []
    func_position:
      end: 441
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 441
    functionName: ShiftRows
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ShiftRows(u64 *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1633,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1641,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1642,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1643,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1640,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1787,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1794,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1801,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1808,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 755
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1809
    functionName: AES_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - PUTU32
    - assert
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'void AES_decrypt(const unsigned char *in, unsigned char *out, const
      AES_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    constantsTouched: []
    func_position:
      end: 460
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 460
    functionName: InvShiftRows
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void InvShiftRows(u64 *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 266
    argCount: 1
    argNames:
    - w
    argTypes:
    - u32*
    constantsTouched: []
    func_position:
      end: 233
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 233
    functionName: SubWord
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void SubWord(u32 *w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:345,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:407,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:411,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:416,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:401,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:336,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:357,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:417,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:367,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:415,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:411,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:376,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:340,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:351,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:359,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:396,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:334,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:342,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:346,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:355,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:378,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:382,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:393,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:408,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:413,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:381,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:341,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:346,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:395,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:412,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:368,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:402,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:417,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:338,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:352,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:354,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:399,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:384,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:391,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:386,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:419,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:335,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:343,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:348,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:409,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:371,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:337,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:342,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:360,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:361,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:380,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:418,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:404,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:393,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:409,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:413,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:347,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:370,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:349,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:415,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:390,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:398,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:410,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:373,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:339,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:340,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:344,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:358,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:365,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:387,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:420,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:406,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:338,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:352,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:363,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:406,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:414,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:400,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:419,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:335,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:344,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 364
    argCount: 1
    argNames:
    - w
    argTypes:
    - u64*
    constantsTouched: []
    func_position:
      end: 422
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 422
    functionName: InvSubLong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - U64
    linkageType: ''
    returnType: void
    signature: 'static void InvSubLong(u64 *w) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1299,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1302,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1301,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1321,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1300,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1322,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1343,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c:1344,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 151
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1374
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_core.c
    functionUses: []
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: 'int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
      AES_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cbc.c:25,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cbc.c:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: AES_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aes/aes_cbc.c
    functionUses: []
    functionsReached:
    - CRYPTO_cbc128_decrypt
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
      size_t len, const AES_KEY *key, unsigned char *ivec, const int enc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:194,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:199,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:204,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:206,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:196,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:224,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:230,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - out
    - db
    argTypes:
    - BIO*
    - TXT_DB*
    constantsTouched: []
    func_position:
      end: 232
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 232
    functionName: TXT_DB_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BUF_MEM_grow_clean
    - BUF_MEM_free
    - sk_OPENSSL_PSTRING_value
    - BUF_MEM_new
    - sk_OPENSSL_PSTRING_num
    - strlen
    linkageType: ''
    returnType: long
    signature: 'long TXT_DB_write(BIO *out, TXT_DB *db) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:131,1
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - db
    - idx
    - value
    argTypes:
    - TXT_DB*
    - int
    - OPENSSL_STRING*
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: TXT_DB_get_by_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c
    functionUses: []
    functionsReached:
    - LHASH_OF
    - lh_OPENSSL_STRING_retrieve
    linkageType: ''
    returnType: OPENSSL_STRING*
    signature: 'OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, OPENSSL_STRING
      *value) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:42,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:72,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:114,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:30,1
    - Dst: sk_OPENSSL_PSTRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:40,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:61,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:122,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:117,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:32,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:35,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:44,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:66,1
    - Dst: sk_OPENSSL_PSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:119,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:110,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:57,1
    - Dst: sk_OPENSSL_PSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:104,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:121,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 98
    argCount: 2
    argNames:
    - in
    - num
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 125
    functionName: TXT_DB_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - BUF_MEM_grow_clean
    - BUF_MEM_grow
    - sk_OPENSSL_PSTRING_new_null
    - OPENSSL_free
    - BUF_MEM_free
    - sk_OPENSSL_PSTRING_push
    - BUF_MEM_new
    - OPENSSL_malloc
    - sk_OPENSSL_PSTRING_free
    - strlen
    linkageType: ''
    returnType: TXT_DB*
    signature: 'TXT_DB *TXT_DB_read(BIO *in, int num) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:159,1
    - Dst: lh_OPENSSL_STRING_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:168,1
    - Dst: qual
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:166,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:163,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:165,1
    - Dst: sk_OPENSSL_PSTRING_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:170,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:172,1
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:175,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:177,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - db
    - field
    - (*qual)
    - hash
    - cmp
    argTypes:
    - TXT_DB*
    - int
    - int
    - OPENSSL_LH_HASHFUNC
    - OPENSSL_LH_COMPFUNC
    constantsTouched: []
    func_position:
      end: 185
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 185
    functionName: TXT_DB_create_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c
    functionUses: []
    functionsReached:
    - lh_OPENSSL_STRING_free
    - lh_OPENSSL_STRING_insert
    - qual
    - sk_OPENSSL_PSTRING_value
    - OPENSSL_LH_new
    - lh_OPENSSL_STRING_retrieve
    - sk_OPENSSL_PSTRING_num
    - sk_OPENSSL_PSTRING_find
    linkageType: ''
    returnType: int
    signature: 'int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING
      *), OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC cmp) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:258,1
    - Dst: lh_OPENSSL_STRING_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:257,1
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:243,1
    - Dst: sk_OPENSSL_PSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:262,1
    - Dst: lh_OPENSSL_STRING_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:272,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 2
    argNames:
    - db
    - row
    argTypes:
    - TXT_DB*
    - OPENSSL_STRING*
    constantsTouched: []
    func_position:
      end: 277
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 277
    functionName: TXT_DB_insert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c
    functionUses: []
    functionsReached:
    - lh_OPENSSL_STRING_delete
    - sk_OPENSSL_PSTRING_push
    - lh_OPENSSL_STRING_insert
    - 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/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:288,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:298,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:289,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:291,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:293,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:302,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:306,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:309,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:309,1
    - Dst: sk_OPENSSL_PSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:311,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c:313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - db
    argTypes:
    - TXT_DB*
    constantsTouched: []
    func_position:
      end: 314
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 314
    functionName: TXT_DB_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/txt_db/txt_db.c
    functionUses: []
    functionsReached:
    - lh_OPENSSL_STRING_free
    - OPENSSL_free
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_num
    - sk_OPENSSL_PSTRING_free
    linkageType: ''
    returnType: void
    signature: 'void TXT_DB_free(TXT_DB *db) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: SipHash_ctx_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t SipHash_ctx_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hash_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: siphash_adjust_hash_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t siphash_adjust_hash_size(size_t hash_size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: U8TO64_LE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:110,1
    - Dst: U8TO64_LE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:111,1
    - Dst: siphash_adjust_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - k
    - crounds
    - drounds
    argTypes:
    - SIPHASH*
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 136
    functionName: SipHash_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c
    functionUses: []
    functionsReached:
    - U8TO64_LE
    - siphash_adjust_hash_size
    linkageType: ''
    returnType: int
    signature: 'int SipHash_Init(SIPHASH *ctx, const unsigned char *k, int crounds,
      int drounds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: siphash_adjust_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:86,1
    - Dst: siphash_adjust_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - hash_size
    argTypes:
    - SIPHASH*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: SipHash_set_hash_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c
    functionUses: []
    functionsReached:
    - siphash_adjust_hash_size
    linkageType: ''
    returnType: int
    signature: 'int SipHash_set_hash_size(SIPHASH *ctx, size_t hash_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SIPHASH*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: SipHash_hash_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t SipHash_hash_size(SIPHASH *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:157,1
    - Dst: U8TO64_LE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:168,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:187,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:163,1
    - Dst: U8TO64_LE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - SIPHASH*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 194
    functionName: SipHash_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c
    functionUses: []
    functionsReached:
    - U8TO64_LE
    - memcpy
    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/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:245,1
    - Dst: U64TO8_LE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c:252,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - SIPHASH*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 254
    functionName: SipHash_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/siphash/siphash.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:24,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:37,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:43,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:39,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:39,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:47,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:48,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:51,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c:57,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - params
    - N
    - s
    - priv
    argTypes:
    - BN_CTX*
    - FFC_PARAMS*
    - int
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: ossl_ffc_generate_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_generate.c
    functionUses: []
    functionsReached:
    - BN_add_word
    - BN_priv_rand_range_ex
    - BN_value_one
    - BN_new
    - BN_num_bits
    - BN_free
    - BN_lshift
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_generate_private_key(BN_CTX *ctx, const FFC_PARAMS *params,
      int N, int s, BIGNUM *priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - index
    argTypes:
    - FFC_PARAMS*
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ossl_ffc_params_set_h
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_set_h(FFC_PARAMS *params, int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - flags
    argTypes:
    - FFC_PARAMS*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: ossl_ffc_params_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_set_flags(FFC_PARAMS *params, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - index
    argTypes:
    - FFC_PARAMS*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ossl_ffc_params_set_gindex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_set_gindex(FFC_PARAMS *params, int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - index
    argTypes:
    - FFC_PARAMS*
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ossl_ffc_params_set_pcounter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_set_pcounter(FFC_PARAMS *params, int index) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:285,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:287,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:298,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:293,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:290,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:299,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:303,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:304,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:307,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:316,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:315,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 45
    argCount: 3
    argNames:
    - bp
    - ffc
    - indent
    argTypes:
    - BIO*
    - FFC_PARAMS*
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 322
    functionName: ossl_ffc_params_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - BIO_indent
    - ASN1_bn_print
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_print(BIO *bp, const FFC_PARAMS *ffc, int indent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:40,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:44,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:48,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: ossl_ffc_params_set0_pqg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_set0_pqg(FFC_PARAMS *d, BIGNUM *p, BIGNUM *q,
      BIGNUM *g) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - params
    - flags
    - enable
    argTypes:
    - FFC_PARAMS*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: ossl_ffc_params_enable_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_enable_flags(FFC_PARAMS *params, unsigned int
      flags, int enable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:166,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:167,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:169,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BIGNUM**
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: ffc_bn_cpy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_dup
    - BN_get_flags
    linkageType: ''
    returnType: int
    signature: 'static int ffc_bn_cpy(BIGNUM **dst, const BIGNUM *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:206,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:208,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - ignore_q
    argTypes:
    - FFC_PARAMS*
    - FFC_PARAMS*
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: ossl_ffc_params_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_cmp(const FFC_PARAMS *a, const FFC_PARAMS *b,
      int ignore_q) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - FFC_PARAMS*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: ossl_ffc_params_get0_pqg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_get0_pqg(const FFC_PARAMS *d, const BIGNUM **p,
      const BIGNUM **q, const BIGNUM **g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - params
    - alg
    - props
    argTypes:
    - FFC_PARAMS*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: ossl_ffc_set_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_set_digest(FFC_PARAMS *params, const char *alg, const
      char *props) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ffc_bn_cpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:178,1
    - Dst: ffc_bn_cpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:179,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:186,1
    - Dst: ffc_bn_cpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:180,1
    - Dst: ffc_bn_cpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:181,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - FFC_PARAMS*
    - FFC_PARAMS*
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: ossl_ffc_params_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    - ffc_bn_cpy
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_copy(FFC_PARAMS *dst, const FFC_PARAMS *src) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:220,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:223,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:229,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:232,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:226,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:235,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:238,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:241,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:246,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:247,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:256,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:270,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:250,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:260,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:264,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:275,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 3
    argNames:
    - ffc
    - bld
    - params
    argTypes:
    - FFC_PARAMS*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 280
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 280
    functionName: ossl_ffc_params_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - ossl_param_build_set_utf8_string
    - ossl_param_build_set_octet_string
    - ossl_ffc_uid_to_dh_named_group
    - ossl_param_build_set_bn
    - ossl_param_build_set_int
    - ossl_ffc_named_group_get_name
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_todata(const FFC_PARAMS *ffc, OSSL_PARAM_BLD *bld,
      OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - FFC_PARAMS*
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: ossl_ffc_params_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_init(FFC_PARAMS *params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - d
    - j
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ossl_ffc_params_set0_j
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_set0_j(FFC_PARAMS *d, BIGNUM *j) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - params
    - seed
    - seedlen
    - counter
    argTypes:
    - FFC_PARAMS*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: ossl_ffc_params_set_validate_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_set_seed
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_set_validate_params(FFC_PARAMS *params, const
      unsigned char *seed, size_t seedlen, int counter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:29,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:33,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:32,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:30,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:31,1
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - FFC_PARAMS*
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: ossl_ffc_params_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    - ossl_ffc_params_init
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_cleanup(FFC_PARAMS *params) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:83,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - params
    - seed
    - seedlen
    argTypes:
    - FFC_PARAMS*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: ossl_ffc_params_set_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_set_seed(FFC_PARAMS *params, const unsigned char
      *seed, size_t seedlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - params
    - seed
    - seedlen
    - pcounter
    argTypes:
    - FFC_PARAMS*
    - unsigned char**
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: ossl_ffc_params_get_validate_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ffc_params_get_validate_params(const FFC_PARAMS *params,
      unsigned char **seed, size_t *seedlen, int *pcounter) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:55,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:57,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:80,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:93,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:95,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:97,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:115,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:119,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:127,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:46,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:48,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:61,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:76,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:63,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:87,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:89,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:91,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:102,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:109,1
    - Dst: ossl_ffc_params_set0_j
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:120,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:29,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:52,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:70,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:67,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:72,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:68,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:83,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:85,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:125,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:47,1
    - Dst: ossl_ffc_named_group_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:41,1
    - Dst: ossl_ffc_name_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:40,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:50,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:51,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:99,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:126,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c:124,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 110
    argCount: 2
    argNames:
    - ffc
    - params
    argTypes:
    - FFC_PARAMS*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 129
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 129
    functionName: ossl_ffc_params_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_backend.c
    functionUses: []
    functionsReached:
    - ossl_ffc_name_to_dh_named_group
    - ossl_ffc_set_digest
    - ossl_ffc_params_set0_j
    - OSSL_PARAM_get_int
    - ossl_ffc_named_group_set
    - OSSL_PARAM_locate_const
    - ossl_ffc_params_enable_flags
    - BN_free
    - OSSL_PARAM_get_BN
    - ossl_ffc_params_set_seed
    - ossl_ffc_params_set0_pqg
    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/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:32,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:32,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:44,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:32,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:42,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:44,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 7
    argNames:
    - ctx
    - mont
    - p
    - q
    - g
    - tmp
    - ret
    argTypes:
    - BN_CTX*
    - BN_MONT_CTX*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 49
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 49
    functionName: ossl_ffc_params_validate_unverifiable_g
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: []
    functionsReached:
    - BN_value_one
    - BN_mod_exp_mont
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_validate_unverifiable_g(BN_CTX *ctx, BN_MONT_CTX
      *mont, const BIGNUM *p, const BIGNUM *q, const BIGNUM *g, BIGNUM *tmp, int *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:81,1
    - Dst: ossl_ffc_params_FIPS186_2_gen_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:83,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - libctx
    - params
    - type
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: ossl_ffc_params_FIPS186_2_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    - ossl_ffc_params_FIPS186_2_gen_verify
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_FIPS186_2_validate(OSSL_LIB_CTX *libctx, const
      FFC_PARAMS *params, int type, int *res, BN_GENCB *cb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:150,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:163,1
    - Dst: ossl_ffc_params_FIPS186_2_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:155,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:158,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:167,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:171,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:177,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - libctx
    - params
    - paramstype
    - res
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 186
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 186
    functionName: ossl_ffc_params_full_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ffc_params_FIPS186_4_validate
    - BN_CTX_free
    - BN_check_prime
    - ossl_ffc_params_FIPS186_2_validate
    - ossl_ffc_params_simple_validate
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_full_validate(OSSL_LIB_CTX *libctx, const FFC_PARAMS
      *params, int paramstype, int *res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:61,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:62,1
    - Dst: ossl_ffc_params_FIPS186_4_gen_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - libctx
    - params
    - type
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: ossl_ffc_params_FIPS186_4_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: []
    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, const
      FFC_PARAMS *params, int type, int *res, BN_GENCB *cb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:124,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:128,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:119,1
    - Dst: ossl_ffc_params_FIPS186_2_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - libctx
    - params
    - paramstype
    - res
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 131
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 131
    functionName: ossl_ffc_params_simple_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_FIPS186_2_validate
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_simple_validate(OSSL_LIB_CTX *libctx, const FFC_PARAMS
      *params, int paramstype, int *res) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:142,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:146,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:168,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:167,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:169,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:170,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:171,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:172,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:173,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:180,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:180,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:185,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    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
    constantsTouched: []
    func_position:
      end: 187
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 187
    functionName: generate_canonical_g
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - BN_mod_exp_mont
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - BN_value_one
    - EVP_MD_get_size
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - BN_bin2bn
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int generate_canonical_g(BN_CTX *ctx, BN_MONT_CTX *mont, const
      EVP_MD *evpmd, BIGNUM *g, BIGNUM *tmp, const BIGNUM *p, const BIGNUM *e, int
      gindex, unsigned char *seed, size_t seedlen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:320,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:326,1
    - Dst: ossl_bn_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:322,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:331,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:338,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:346,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:355,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:363,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 35
    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*
    constantsTouched: []
    func_position:
      end: 383
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 383
    functionName: generate_q_fips186_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - BN_GENCB_call
    - memset
    - EVP_Digest
    - EVP_MD_get_size
    - BN_bin2bn
    - BN_check_prime
    - ossl_bn_get_libctx
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int generate_q_fips186_4(BN_CTX *ctx, BIGNUM *q, const EVP_MD
      *evpmd, int qsize, unsigned char *seed, size_t seedlen, int generate_seed, int
      *retm, int *res, BN_GENCB *cb) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:549,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:567,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:575,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:642,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:653,1
    - Dst: generate_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:696,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:727,1
    - Dst: ossl_ffc_params_validate_unverifiable_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:731,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:741,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:741,1
    - Dst: generate_unverifiable_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:758,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:793,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:798,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:776,1
    - Dst: generate_q_fips186_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:682,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:794,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:628,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:690,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:692,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:762,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:767,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:768,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:771,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:780,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:796,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:799,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:800,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:536,1
    - Dst: default_mdname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:540,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:574,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:576,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:678,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:577,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:627,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:678,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:578,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:579,1
    - Dst: generate_canonical_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:747,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:712,1
    - Dst: ffc_validate_LN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:562,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:545,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:571,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:686,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:695,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:718,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:753,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:772,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:775,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:797,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:725,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:741,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 226
    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*
    constantsTouched: []
    func_position:
      end: 802
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 802
    functionName: ossl_ffc_params_FIPS186_4_gen_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - default_mdname
    - BN_div
    - ossl_ffc_params_set_validate_params
    - BN_CTX_free
    - generate_p
    - BN_CTX_start
    - generate_canonical_g
    - OPENSSL_malloc
    - BN_lshift
    - BN_CTX_end
    - EVP_MD_CTX_new
    - OPENSSL_free
    - generate_q_fips186_4
    - EVP_MD_free
    - BN_GENCB_call
    - memcpy
    - EVP_MD_get_size
    - BN_dup
    - EVP_MD_fetch
    - BN_CTX_get
    - BN_MONT_CTX_free
    - EVP_MD_CTX_free
    - BN_value_one
    - BN_MONT_CTX_set
    - generate_unverifiable_g
    - BN_MONT_CTX_new
    - BN_free
    - ossl_ffc_params_validate_unverifiable_g
    - ffc_validate_LN
    - BN_sub
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_FIPS186_4_gen_verify(OSSL_LIB_CTX *libctx, FFC_PARAMS
      *params, int mode, int type, size_t L, size_t N, int *res, BN_GENCB *cb) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:831,1
    - Dst: default_mdname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:835,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:875,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:882,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:885,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:886,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:887,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:933,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:960,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:979,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:840,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:845,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:999,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1005,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1017,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1031,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:985,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:985,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1030,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:878,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:884,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:888,1
    - Dst: generate_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:950,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:889,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:935,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:968,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:977,1
    - Dst: generate_unverifiable_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:990,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1004,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:893,1
    - Dst: generate_q_fips186_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:929,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:893,1
    - Dst: ossl_ffc_params_validate_unverifiable_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:993,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1009,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1012,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1013,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1028,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1029,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:988,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1008,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 191
    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*
    constantsTouched: []
    func_position:
      end: 1033
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 1033
    functionName: ossl_ffc_params_FIPS186_2_gen_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - default_mdname
    - BN_div
    - ossl_ffc_params_set_validate_params
    - BN_CTX_free
    - generate_p
    - BN_CTX_start
    - BN_lshift
    - BN_CTX_end
    - EVP_MD_free
    - BN_GENCB_call
    - generate_q_fips186_2
    - memcpy
    - EVP_MD_get_size
    - BN_dup
    - EVP_MD_fetch
    - BN_CTX_get
    - BN_MONT_CTX_free
    - BN_value_one
    - BN_MONT_CTX_set
    - generate_unverifiable_g
    - BN_MONT_CTX_new
    - BN_free
    - ossl_ffc_params_validate_unverifiable_g
    - BN_sub
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_params_FIPS186_2_gen_verify(OSSL_LIB_CTX *libctx, FFC_PARAMS
      *params, int mode, int type, size_t L, size_t N, int *res, BN_GENCB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_2_gen_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1049,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 7
    argNames:
    - libctx
    - params
    - type
    - L
    - N
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - size_t
    - size_t
    - int*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1056
    functionName: ossl_ffc_params_FIPS186_2_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    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, int type, size_t L, size_t N, int *res, BN_GENCB *cb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - L
    - N
    - type
    - verify
    argTypes:
    - size_t
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: ffc_validate_LN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ffc_validate_LN(size_t L, size_t N, int type, int verify) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:102,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:107,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:110,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:110,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:114,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:114,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 8
    argNames:
    - ctx
    - mont
    - g
    - hbn
    - p
    - e
    - pm1
    - hret
    argTypes:
    - BN_CTX*
    - BN_MONT_CTX*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: generate_unverifiable_g
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    - BN_add_word
    - BN_value_one
    - BN_set_word
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int generate_unverifiable_g(BN_CTX *ctx, BN_MONT_CTX *mont,
      BIGNUM *g, BIGNUM *hbn, const BIGNUM *p, const BIGNUM *e,const BIGNUM *pm1,
      int *hret) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:393,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:405,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:404,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:398,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:401,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:415,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:417,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:425,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:429,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 35
    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*
    constantsTouched: []
    func_position:
      end: 443
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 443
    functionName: generate_q_fips186_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - BN_GENCB_call
    - memcpy
    - EVP_Digest
    - BN_bin2bn
    - BN_check_prime
    - ossl_bn_get_libctx
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int generate_q_fips186_2(BN_CTX *ctx, BIGNUM *q, const EVP_MD
      *evpmd, unsigned char *buf, unsigned char *seed, size_t qsize, int generate_seed,
      int *retm, int *res, BN_GENCB *cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_4_gen_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:1039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: ossl_ffc_params_FIPS186_4_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    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, int type, size_t L, size_t N, int *res, BN_GENCB *cb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:48,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:60,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - L
    - N
    - type
    - verify
    argTypes:
    - size_t
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: ffc_validate_LN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ffc_validate_LN(size_t L, size_t N, int type, int verify) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:261,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:262,1
    - Dst: BN_mask_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:260,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:269,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:308,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:201,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:205,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:206,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:244,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:250,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:243,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:251,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:268,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:292,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:202,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:210,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:210,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:226,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:229,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:285,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:203,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:204,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:213,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:275,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:275,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c:276,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 84
    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*
    constantsTouched: []
    func_position:
      end: 310
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 310
    functionName: generate_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_GENCB_call
    - BN_lshift1
    - BN_copy
    - BN_value_one
    - EVP_Digest
    - BN_mod
    - EVP_MD_get_size
    - BN_zero
    - BN_CTX_start
    - BN_bin2bn
    - BN_sub
    - BN_check_prime
    - BN_mask_bits
    - BN_add
    - BN_lshift
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int generate_p(BN_CTX *ctx, const EVP_MD *evpmd, int max_counter,
      int n, unsigned char *buf, size_t buf_len, const BIGNUM *q, BIGNUM *p, int L,
      BN_GENCB *cb, int *counter, int *res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - N
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: default_mdname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *default_mdname(size_t N) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:31,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:41,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:35,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:39,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:36,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:44,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:45,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:47,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:52,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:53,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 3
    argNames:
    - params
    - pub_key
    - ret
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 56
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 56
    functionName: ossl_ffc_validate_public_key_partial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_sub_word
    - BN_CTX_end
    - BN_copy
    - BN_CTX_free
    - BN_set_word
    - BN_CTX_start
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_validate_public_key_partial(const FFC_PARAMS *params,
      const BIGNUM *pub_key, int *ret) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:112,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:116,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - upper
    - priv
    - ret
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: ossl_ffc_validate_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c
    functionUses: []
    functionsReached:
    - BN_value_one
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_validate_private_key(const BIGNUM *upper, const BIGNUM
      *priv, int *ret) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_validate_public_key_partial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:68,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:80,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:75,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:72,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:76,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:82,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:89,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c:90,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - params
    - pub_key
    - ret
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 93
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 93
    functionName: ossl_ffc_validate_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_key_validate.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_free
    - BN_is_one
    - ossl_ffc_validate_public_key_partial
    - BN_CTX_start
    - BN_mod_exp
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_validate_public_key(const FFC_PARAMS *params, const BIGNUM
      *pub_key, int *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: ossl_ffc_named_group_get_uid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_named_group_get_uid(const DH_NAMED_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - uid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: ossl_ffc_uid_to_dh_named_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: DH_NAMED_GROUP*
    signature: 'const DH_NAMED_GROUP *ossl_ffc_uid_to_dh_named_group(int uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:118,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:120,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:123,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - p
    - q
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: ossl_ffc_numbers_to_dh_named_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - BN_cmp
    linkageType: ''
    returnType: DH_NAMED_GROUP*
    signature: 'const DH_NAMED_GROUP *ossl_ffc_numbers_to_dh_named_group(const BIGNUM
      *p, const BIGNUM *q, const BIGNUM *g) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: ossl_ffc_named_group_get_keylength
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_ffc_named_group_get_keylength(const DH_NAMED_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:93,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: ossl_ffc_name_to_dh_named_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: DH_NAMED_GROUP*
    signature: 'const DH_NAMED_GROUP *ossl_ffc_name_to_dh_named_group(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: ossl_ffc_named_group_get_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_ffc_named_group_get_name(const DH_NAMED_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: ossl_ffc_named_group_get_q
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *ossl_ffc_named_group_get_q(const DH_NAMED_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ffc
    - group
    argTypes:
    - FFC_PARAMS*
    - DH_NAMED_GROUP*
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: ossl_ffc_named_group_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ffc/ffc_dh.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: BUF_MEM_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c
    functionUses: []
    functionsReached:
    - BUF_MEM_new
    linkageType: ''
    returnType: BUF_MEM*
    signature: 'BUF_MEM *BUF_MEM_new_ex(unsigned long flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:48,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:50,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BUF_MEM*
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: BUF_MEM_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void BUF_MEM_free(BUF_MEM *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:83,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:98,1
    - Dst: sec_alloc_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:89,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - BUF_MEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: BUF_MEM_grow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    - sec_alloc_realloc
    - ERR_raise
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t BUF_MEM_grow(BUF_MEM *str, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: BUF_MEM_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BUF_MEM*
    signature: 'BUF_MEM *BUF_MEM_new(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:116,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:127,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:134,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:121,1
    - Dst: sec_alloc_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:136,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - BUF_MEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 145
    functionName: BUF_MEM_grow_clean
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c
    functionUses: []
    functionsReached:
    - sec_alloc_realloc
    - ERR_raise
    - OPENSSL_clear_realloc
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - out
    - in
    - size
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: BUF_reverse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BUF_reverse(unsigned char *out, const unsigned char *in, size_t
      size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:61,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:64,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - BUF_MEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: sec_alloc_realloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buffer.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static char *sec_alloc_realloc(BUF_MEM *str, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buf_err.c:25,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buf_err.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: ossl_err_load_BUF_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/buffer/buf_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_BUF_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - RIPEMD160_CTX*
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: RIPEMD160_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int RIPEMD160_Init(RIPEMD160_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:73,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:75,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:96,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:125,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:113,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:138,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:201,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:214,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:227,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:239,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:111,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:65,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:74,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:95,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:103,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:177,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:200,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:213,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:225,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:238,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:265,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:70,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:140,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:87,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:108,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:109,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:115,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:127,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:153,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:166,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:178,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:254,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:261,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:76,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:241,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:255,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:139,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:126,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:86,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:107,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:114,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:152,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:165,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:228,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:240,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:253,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:106,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:272,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:66,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:142,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:99,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:130,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:117,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:155,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:168,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:203,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:216,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:229,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:268,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:128,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:79,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:98,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:116,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:141,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:154,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:167,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:179,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:202,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:215,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:263,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:78,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:85,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:157,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:170,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:193,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:205,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:218,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:231,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:244,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:256,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:275,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:77,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:110,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:131,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:143,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:156,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:169,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:204,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:217,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:223,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:230,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:252,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:82,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:64,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:69,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:90,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:119,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:132,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:144,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:207,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:220,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:233,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:246,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:222,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:88,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:236,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:266,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:68,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:89,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:118,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:171,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:194,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:206,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:219,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:232,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:245,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:257,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:273,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:274,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:121,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:81,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:102,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:134,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:147,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:159,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:172,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:195,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:248,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:269,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:133,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:120,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:80,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:91,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:101,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:145,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:158,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:234,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:247,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:259,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:264,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:235,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:72,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:93,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:97,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:136,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:123,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:149,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:161,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:174,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:197,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:210,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:276,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:270,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:135,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:71,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:92,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:122,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:148,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:160,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:173,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:196,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:208,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:221,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:94,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:271,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:84,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:105,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:151,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:164,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:176,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:199,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:212,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:224,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:237,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:250,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:100,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:251,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:267,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:249,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:124,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:137,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:67,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:83,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:104,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:150,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:162,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:175,1
    - Dst: RIP5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:198,1
    - Dst: RIP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:211,1
    - Dst: RIP3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:242,1
    - Dst: RIP2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:258,1
    - Dst: RIP1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 241
    argCount: 3
    argNames:
    - ctx
    - p
    - num
    argTypes:
    - RIPEMD160_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 286
    functionName: ripemd160_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_dgst.c
    functionUses: []
    functionsReached:
    - RIP5
    - RIP2
    - RIP4
    - X
    - HOST_c2l
    - RIP1
    - RIP3
    linkageType: ''
    returnType: void
    signature: 'void ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p,
      size_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RIPEMD160_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_one.c:27,1
    - Dst: RIPEMD160_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_one.c:29,1
    - Dst: RIPEMD160_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_one.c:30,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_one.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: RIPEMD160
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ripemd/rmd_one.c
    functionUses: []
    functionsReached:
    - RIPEMD160_Init
    - RIPEMD160_Update
    - OPENSSL_cleanse
    - RIPEMD160_Final
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned
      char *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: rotl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t rotl(uint32_t a, uint8_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - b
    argTypes:
    - uint32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: store_u32_be
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void store_u32_be(uint32_t v, uint8_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:126,1
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:127,1
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: SM4_T
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    functionsReached:
    - rotl
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t SM4_T(uint32_t X) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: load_u32_be
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t load_u32_be(const uint8_t *b, uint32_t
      n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:120,1
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:120,1
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:120,1
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: SM4_T_slow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    functionsReached:
    - rotl
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t SM4_T_slow(uint32_t X) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:156,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:157,1
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:170,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:158,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:159,1
    - Dst: rotl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 2
    argNames:
    - key
    - ks
    argTypes:
    - uint8_t*
    - SM4_KEY*
    constantsTouched: []
    func_position:
      end: 176
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 176
    functionName: ossl_sm4_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    functionsReached:
    - rotl
    - load_u32_be
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm4_set_key(const uint8_t *key, SM4_KEY *ks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:188,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:191,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:197,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:189,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:190,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:198,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:199,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:200,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:201,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:202,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:206,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:203,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:204,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:209,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:208,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - uint8_t*
    - uint8_t*
    - SM4_KEY*
    constantsTouched: []
    func_position:
      end: 210
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 210
    functionName: ossl_sm4_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:214,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:215,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:219,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:216,1
    - Dst: load_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:217,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:220,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:221,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:222,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:223,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:224,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:229,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:230,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:228,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:225,1
    - Dst: SM4_RNDS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:226,1
    - Dst: store_u32_be
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - uint8_t*
    - uint8_t*
    - SM4_KEY*
    constantsTouched: []
    func_position:
      end: 232
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 232
    functionName: ossl_sm4_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm4/sm4.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - k1
    - l
    - bl
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: make_kn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void make_kn(unsigned char *k1, const unsigned char *l, int
      bl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:55,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:56,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:61,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: CMAC_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: CMAC_CTX*
    signature: 'CMAC_CTX *CMAC_CTX_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: CMAC_CTX_get0_cipher_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER_CTX*
    signature: 'EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:98,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:102,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:103,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:100,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:104,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - CMAC_CTX*
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: CMAC_CTX_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - memcpy
    - EVP_CIPHER_CTX_copy
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:171,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:180,1
    - Dst: EVP_Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:188,1
    - Dst: EVP_Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:193,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:199,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - in
    - dlen
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 203
    functionName: CMAC_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - EVP_Cipher
    - memcpy
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int CMAC_Update(CMAC_CTX *ctx, const void *in, size_t dlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:87,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:88,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: CMAC_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_CIPHER_CTX_free
    - CMAC_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: 'void CMAC_CTX_free(CMAC_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:70,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:72,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:74,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: CMAC_CTX_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'void CMAC_CTX_cleanup(CMAC_CTX *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:120,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:139,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:122,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:130,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:122,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:141,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:143,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:145,1
    - Dst: EVP_Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:147,1
    - Dst: make_kn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:149,1
    - Dst: make_kn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:150,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:153,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:156,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:151,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - key
    - keylen
    - cipher
    - impl
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    - EVP_CIPHER*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 160
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 160
    functionName: CMAC_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - OPENSSL_cleanse
    - EVP_Cipher
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_set_key_length
    - make_kn
    - EVP_CIPHER_CTX_get0_cipher
    - memset
    linkageType: ''
    returnType: int
    signature: 'int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, const
      EVP_CIPHER *cipher, ENGINE *impl) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:211,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:230,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:225,1
    - Dst: EVP_Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - out
    - poutlen
    argTypes:
    - CMAC_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 234
    functionName: CMAC_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - EVP_Cipher
    - memset
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_get_block_size
    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/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: CMAC_resume
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmac/cmac.c
    functionUses: []
    functionsReached:
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'int CMAC_resume(CMAC_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:26,1
    - Dst: EVP_PBE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:33,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:34,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:32,1
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:36,1
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:39,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:42,1
    - Dst: PKCS5_pbe_set_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:47,1
    - Dst: PKCS8_set0_pbe_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:50,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:52,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    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*
    constantsTouched: []
    func_position:
      end: 57
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 57
    functionName: PKCS8_encrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: []
    functionsReached:
    - PKCS8_set0_pbe_ex
    - ERR_pop_to_mark
    - ERR_raise
    - X509_ALGOR_free
    - EVP_PBE_find
    - PKCS5_pbe2_set_iv_ex
    - ERR_set_mark
    - ERR_clear_last_mark
    - PKCS5_pbe_set_ex
    linkageType: ''
    returnType: X509_SIG*
    signature: 'X509_SIG *PKCS8_encrypt_ex(int pbe_nid, const EVP_CIPHER *cipher,
      const char *pass, int passlen, unsigned char *salt, int saltlen, int iter, PKCS8_PRIV_KEY_INFO
      *p8inf, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_set0_pbe_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pass
    - passlen
    - p8inf
    - pbe
    argTypes:
    - char*
    - int
    - PKCS8_PRIV_KEY_INFO*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: PKCS8_set0_pbe
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: []
    functionsReached:
    - PKCS8_set0_pbe_ex
    linkageType: ''
    returnType: X509_SIG*
    signature: 'X509_SIG *PKCS8_set0_pbe(const char *pass, int passlen, PKCS8_PRIV_KEY_INFO
      *p8inf, X509_ALGOR *pbe) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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*
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: PKCS8_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: []
    functionsReached:
    - PKCS8_encrypt_ex
    linkageType: ''
    returnType: X509_SIG*
    signature: 'X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, const
      char *pass, int passlen, unsigned char *salt, int saltlen, int iter, PKCS8_PRIV_KEY_INFO
      *p8inf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_i2d_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:86,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:79,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:83,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - pass
    - passlen
    - p8inf
    - pbe
    - ctx
    - propq
    argTypes:
    - char*
    - int
    - PKCS8_PRIV_KEY_INFO*
    - X509_ALGOR*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 94
    functionName: PKCS8_set0_pbe_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS12_item_i2d_encrypt_ex
    - OPENSSL_zalloc
    - ASN1_OCTET_STRING_free
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_SIG*
    signature: 'X509_SIG *PKCS8_set0_pbe_ex(const char *pass, int passlen, PKCS8_PRIV_KEY_INFO
      *p8inf, X509_ALGOR *pbe, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:27,1
    - Dst: EVP_PKEY_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:30,1
    - Dst: X509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - bag
    - pkey
    - nid
    argTypes:
    - PKCS12_SAFEBAG*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: copy_bag_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr
    - EVP_PKEY_get_attr
    - EVP_PKEY_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'static int copy_bag_attr(PKCS12_SAFEBAG *bag, EVP_PKEY *pkey, int
      nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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(X509)*
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: PKCS12_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_create_ex
    linkageType: ''
    returnType: PKCS12*
    signature: 'PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY
      *pkey, X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter,
      int mac_iter, int keytype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_alias_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:194,1
    - Dst: pkcs12_add_cert_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:197,1
    - Dst: X509_keyid_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - pbags
    - cert
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)**
    - X509*
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: PKCS12_add_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - X509_keyid_get0
    - pkcs12_add_cert_bag
    - X509_alias_get0
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags,
      X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_add_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - pbags
    - key
    - key_usage
    - iter
    - nid_key
    - pass
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)**
    - EVP_PKEY*
    - int
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: PKCS12_add_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_add_key_ex
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, EVP_PKEY
      *key, int key_usage, int iter, int nid_key, const char *pass) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS7_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:269,1
    - Dst: sk_PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:296,1
    - Dst: PKCS12_pack_p7data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:283,1
    - Dst: PKCS12_pack_p7encdata_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:285,1
    - Dst: sk_PKCS7_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:289,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:299,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 7
    argNames:
    - psafes
    - bags
    - nid_safe
    - iter
    - pass
    - ctx
    - propq
    argTypes:
    - STACK_OF(PKCS7)**
    - STACK_OF(PKCS12_SAFEBAG)*
    - int
    - int
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 301
    functionName: PKCS12_add_safe_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_pack_p7encdata_ex
    - sk_PKCS7_new_null
    - sk_PKCS7_free
    - PKCS12_pack_p7data
    - PKCS7_free
    - sk_PKCS7_push
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add_safe_ex(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG)
      *bags, int nid_safe, int iter, const char *pass, OSSL_LIB_CTX *ctx, const char
      *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:317,1
    - Dst: sk_PKCS12_SAFEBAG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:325,1
    - Dst: sk_PKCS12_SAFEBAG_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pbags
    - bag
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)**
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 333
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 333
    functionName: pkcs12_add_bag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - sk_PKCS12_SAFEBAG_new_null
    - sk_PKCS12_SAFEBAG_push
    - sk_PKCS12_SAFEBAG_free
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG
      *bag) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:70,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:88,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:114,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:112,1
    - Dst: PKCS12_add_safe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:118,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:129,1
    - Dst: PKCS12_set_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:134,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:42,1
    - Dst: X509_keyid_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:81,1
    - Dst: copy_bag_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:107,1
    - Dst: PKCS12_add_safe_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:93,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:141,1
    - Dst: pkcs12_add_cert_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:84,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:89,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:121,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:142,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:68,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:63,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:43,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:70,1
    - Dst: X509_alias_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:76,1
    - Dst: PKCS12_add_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:101,1
    - Dst: copy_bag_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:109,1
    - Dst: PKCS12_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:89,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:97,1
    - Dst: PKCS12_add_safes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:124,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:140,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 85
    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(X509)*
    - int
    - int
    - int
    - int
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 145
    functionName: PKCS12_create_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_add_safe
    - PKCS12_set_mac
    - PKCS12_add_friendlyname
    - sk_X509_value
    - STACK_OF
    - X509_digest
    - sk_X509_num
    - sk_PKCS7_pop_free
    - PKCS12_add_safe_ex
    - PKCS12_add_key_ex
    - PKCS12_add_localkeyid
    - X509_alias_get0
    - PKCS12_add_safes_ex
    - EVP_sha1
    - pkcs12_add_cert_bag
    - copy_bag_attr
    - PKCS12_add_cert
    - ERR_raise
    - PKCS12_free
    - X509_keyid_get0
    - X509_check_private_key
    - sk_PKCS12_SAFEBAG_pop_free
    linkageType: ''
    returnType: PKCS12*
    signature: 'PKCS12 *PKCS12_create_ex(const char *pass, const char *name, EVP_PKEY
      *pkey, X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter,
      int mac_iter, int keytype, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_create_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:165,1
    - Dst: pkcs12_add_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:174,1
    - Dst: PKCS12_SAFEBAG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:180,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:168,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:171,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 15
    argCount: 6
    argNames:
    - pbags
    - cert
    - name
    - namelen
    - keyid
    - keyidlen
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)**
    - X509*
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 182
    functionName: pkcs12_add_cert_bag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_add_localkeyid
    - pkcs12_add_bag
    - PKCS12_add_friendlyname
    - PKCS12_SAFEBAG_create_cert
    - PKCS12_SAFEBAG_free
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'static PKCS12_SAFEBAG *pkcs12_add_cert_bag(STACK_OF(PKCS12_SAFEBAG)
      **pbags, X509 *cert, const char *name, int namelen, unsigned char *keyid, int
      keyidlen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY2PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:210,1
    - Dst: PKCS12_SAFEBAG_create0_p8inf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:219,1
    - Dst: PKCS8_add_keyusage
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:212,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:217,1
    - Dst: PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:215,1
    - Dst: pkcs12_add_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:224,1
    - Dst: PKCS12_SAFEBAG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:230,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 18
    argCount: 8
    argNames:
    - pbags
    - key
    - key_usage
    - iter
    - nid_key
    - pass
    - ctx
    - propq
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)**
    - EVP_PKEY*
    - int
    - int
    - int
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 233
    functionName: PKCS12_add_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY2PKCS8
    - PKCS8_add_keyusage
    - PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
    - pkcs12_add_bag
    - PKCS12_SAFEBAG_create0_p8inf
    - PKCS12_SAFEBAG_free
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_add_key_ex(STACK_OF(PKCS12_SAFEBAG) **pbags,
      EVP_PKEY *key, int key_usage, int iter, int nid_key, const char *pass, OSSL_LIB_CTX
      *ctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_create_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:249,1
    - Dst: PKCS12_SAFEBAG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:257,1
    - Dst: pkcs12_add_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 4
    argNames:
    - pbags
    - nid_type
    - value
    - len
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)**
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: PKCS12_add_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_SAFEBAG_create_secret
    - PKCS12_SAFEBAG_free
    - pkcs12_add_bag
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_add_secret(STACK_OF(PKCS12_SAFEBAG) **pbags,
      int nid_type, const unsigned char *value, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_add_safe_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - psafes
    - bags
    - nid_safe
    - iter
    - pass
    argTypes:
    - STACK_OF(PKCS7)**
    - STACK_OF(PKCS12_SAFEBAG)*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: PKCS12_add_safe
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_add_safe_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG)
      *bags, int nid_safe, int iter, const char *pass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:342,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:347,1
    - Dst: PKCS12_pack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:346,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - safes
    - nid_p7
    - ctx
    - propq
    argTypes:
    - STACK_OF(PKCS7)*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 353
    functionName: PKCS12_add_safes_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_free
    - PKCS12_pack_authsafes
    - PKCS12_init_ex
    linkageType: ''
    returnType: PKCS12*
    signature: 'PKCS12 *PKCS12_add_safes_ex(STACK_OF(PKCS7) *safes, int nid_p7, OSSL_LIB_CTX
      *ctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_add_safes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - safes
    - nid_p7
    argTypes:
    - STACK_OF(PKCS7)*
    - int
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: PKCS12_add_safes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crt.c
    functionUses: []
    functionsReached:
    - PKCS12_add_safes_ex
    linkageType: ''
    returnType: PKCS12*
    signature: 'PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int nid_p7) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/pk12err.c:56,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/pk12err.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ossl_err_load_PKCS12_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/pk12err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_PKCS12_strings(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:36,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:42,1
    - Dst: newpass_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:47,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - p12
    - oldpass
    - newpass
    argTypes:
    - PKCS12*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: PKCS12_newpass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS12_verify_mac
    - newpass_p12
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:153,1
    - Dst: PKCS8_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:156,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:160,1
    - Dst: alg_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:159,1
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:158,1
    - Dst: PKCS8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:163,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:165,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - bag
    - oldpass
    - newpass
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: newpass_bag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS8_encrypt
    - X509_SIG_free
    - X509_SIG_get0
    - PKCS8_decrypt
    - alg_get
    - PKCS12_SAFEBAG_get_nid
    linkageType: ''
    returnType: int
    signature: 'static int newpass_bag(PKCS12_SAFEBAG *bag, const char *oldpass, const
      char *newpass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:178,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:178,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:181,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:182,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - alg
    - pnid
    - piter
    - psaltlen
    argTypes:
    - X509_ALGOR*
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: alg_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c
    functionUses: []
    functionsReached:
    - PBEPARAM_free
    - OBJ_obj2nid
    - ASN1_INTEGER_get
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int alg_get(const X509_ALGOR *alg, int *pnid, int *piter, int
      *psaltlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:136,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:137,1
    - Dst: newpass_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - bags
    - oldpass
    - newpass
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: newpass_bags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c
    functionUses: []
    functionsReached:
    - sk_PKCS12_SAFEBAG_value
    - sk_PKCS12_SAFEBAG_num
    - newpass_bag
    linkageType: ''
    returnType: int
    signature: 'static int newpass_bags(STACK_OF(PKCS12_SAFEBAG) *bags, const char
      *oldpass, const char *newpass) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:68,1
    - Dst: sk_PKCS7_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:70,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:76,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:78,1
    - Dst: newpass_bags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:88,1
    - Dst: PKCS12_pack_p7data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:92,1
    - Dst: PKCS12_gen_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:110,1
    - Dst: PKCS12_pack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:107,1
    - Dst: sk_PKCS7_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:96,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:60,1
    - Dst: sk_PKCS7_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:72,1
    - Dst: X509_SIG_getm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:112,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:113,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:121,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:128,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:105,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:98,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:127,1
    - Dst: sk_PKCS7_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:73,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:74,1
    - Dst: alg_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:80,1
    - Dst: PKCS12_pack_p7encdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:94,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:123,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c:126,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 67
    argCount: 3
    argNames:
    - p12
    - oldpass
    - newpass
    argTypes:
    - PKCS12*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 130
    functionName: newpass_p12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_npas.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_value
    - X509_SIG_getm
    - PKCS12_unpack_authsafes
    - newpass_bags
    - STACK_OF
    - PKCS12_gen_mac
    - sk_PKCS7_num
    - PKCS12_pack_authsafes
    - sk_PKCS7_new_null
    - sk_PKCS7_pop_free
    - sk_PKCS7_push
    - alg_get
    - OBJ_obj2nid
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - PKCS12_pack_p7encdata
    - PKCS12_unpack_p7data
    - ASN1_OCTET_STRING_new
    - PKCS12_pack_p7data
    - PKCS12_unpack_p7encdata
    - sk_PKCS12_SAFEBAG_pop_free
    linkageType: ''
    returnType: int
    signature: 'static int newpass_p12(PKCS12 *p12, const char *oldpass, const char
      *newpass) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:35,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:46,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:48,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:77,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:74,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:109,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:26,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:45,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:46,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:30,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:63,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:75,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:82,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:91,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:94,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:70,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:91,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:49,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:57,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:61,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:85,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:98,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 71
    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*
    constantsTouched: []
    func_position:
      end: 112
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 112
    functionName: PKCS12_pbe_crypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_get_flags
    - OPENSSL_free
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_PBE_CipherInit_ex
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_new
    - ERR_raise_data
    - EVP_CIPHER_CTX_ctrl
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *PKCS12_pbe_crypt_ex(const X509_ALGOR *algor, const
      char *pass, int passlen, const unsigned char *in, int inlen, unsigned char **data,
      int *datalen, int en_de, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    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
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: PKCS12_pbe_crypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c
    functionUses: []
    functionsReached:
    - PKCS12_pbe_crypt_ex
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor, const char
      *pass, int passlen, const unsigned char *in, int inlen, unsigned char **data,
      int *datalen, int en_de) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:144,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:145,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: (PKCS12_DECRYPT)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_dump
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (PKCS12_DECRYPT) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:181,1
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:190,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:192,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:193,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:198,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:201,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 8
    argNames:
    - algor
    - it
    - pass
    - passlen
    - obj
    - zbuf
    - ctx
    - propq
    argTypes:
    - X509_ALGOR*
    - ASN1_ITEM*
    - char*
    - int
    - void*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 203
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 203
    functionName: PKCS12_item_i2d_encrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c
    functionUses: []
    functionsReached:
    - PKCS12_pbe_crypt_ex
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - OPENSSL_free
    - OPENSSL_cleanse
    - ASN1_OCTET_STRING_free
    - ASN1_item_i2d
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt_ex(X509_ALGOR *algor, const
      ASN1_ITEM *it, const char *pass, int passlen, void *obj, int zbuf, OSSL_LIB_CTX
      *ctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_i2d_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - algor
    - it
    - pass
    - passlen
    - obj
    - zbuf
    argTypes:
    - X509_ALGOR*
    - ASN1_ITEM*
    - char*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: PKCS12_item_i2d_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c
    functionUses: []
    functionsReached:
    - PKCS12_item_i2d_encrypt_ex
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, const
      ASN1_ITEM *it, const char *pass, int passlen, void *obj, int zbuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_decrypt_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - algor
    - it
    - pass
    - passlen
    - oct
    - zbuf
    argTypes:
    - X509_ALGOR*
    - ASN1_ITEM*
    - char*
    - int
    - ASN1_OCTET_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: PKCS12_item_decrypt_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c
    functionUses: []
    functionsReached:
    - PKCS12_item_decrypt_d2i_ex
    linkageType: ''
    returnType: void*
    signature: 'void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM
      *it, const char *pass, int passlen, const ASN1_OCTET_STRING *oct, int zbuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:139,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:144,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:145,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:146,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:147,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:148,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:150,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:152,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    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*
    constantsTouched: []
    func_position:
      end: 155
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 155
    functionName: PKCS12_item_decrypt_d2i_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_decr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - PKCS12_pbe_crypt_ex
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_cleanse
    - OSSL_TRACE_END
    - ASN1_item_d2i
    - BIO_dump
    linkageType: ''
    returnType: void*
    signature: 'void *PKCS12_item_decrypt_d2i_ex(const X509_ALGOR *algor, const ASN1_ITEM
      *it, const char *pass, int passlen, const ASN1_OCTET_STRING *oct, int zbuf,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:21,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:22,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:27,1
    - Dst: ossl_pkcs7_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:29,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:25,1
    - Dst: ossl_pkcs7_set1_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:31,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:43,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:49,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - mode
    - ctx
    - propq
    argTypes:
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: PKCS12_init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS12_free
    - ASN1_OCTET_STRING_new
    - OBJ_nid2obj
    - ASN1_INTEGER_set
    - PKCS12_new
    - ossl_pkcs7_set0_libctx
    - ossl_pkcs7_set1_propq
    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/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: PKCS12_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_init.c
    functionUses: []
    functionsReached:
    - PKCS12_init_ex
    linkageType: ''
    returnType: PKCS12*
    signature: 'PKCS12 *PKCS12_init(int mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_BAGS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:25,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:26,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:31,1
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:35,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:39,1
    - Dst: PKCS12_BAGS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:43,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - obj
    - it
    - nid1
    - nid2
    argTypes:
    - void*
    - ASN1_ITEM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 45
    functionName: PKCS12_item_pack_safebag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_item_pack
    - OBJ_nid2obj
    - PKCS12_SAFEBAG_new
    - PKCS12_BAGS_free
    - PKCS12_BAGS_new
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM
      *it, int nid1, int nid2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:52,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:53,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:58,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:62,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:63,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - sk
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)*
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: PKCS12_pack_p7data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - PKCS7_new
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - ASN1_item_pack
    - OBJ_nid2obj
    - PKCS7_free
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:105,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:111,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:114,1
    - Dst: PKCS5_pbe_set_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:132,1
    - Dst: PKCS12_item_i2d_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:130,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:136,1
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:117,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:123,1
    - Dst: PKCS7_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:106,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:111,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:128,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:126,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:102,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:110,1
    - Dst: EVP_get_cipherbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:113,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:140,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:130,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 9
    argNames:
    - pbe_nid
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - bags
    - ctx
    - propq
    argTypes:
    - int
    - char*
    - int
    - unsigned char*
    - int
    - int
    - STACK_OF(PKCS12_SAFEBAG)*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 143
    functionName: PKCS12_pack_p7encdata_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - EVP_get_cipherbynid
    - X509_ALGOR_free
    - EVP_CIPHER_free
    - OBJ_nid2sn
    - PKCS12_item_i2d_encrypt_ex
    - PKCS7_free
    - ERR_set_mark
    - PKCS7_set_type
    - ASN1_OCTET_STRING_free
    - EVP_CIPHER_fetch
    - PKCS7_new_ex
    - PKCS5_pbe2_set_iv_ex
    - ASN1_ITEM_rptr
    - PKCS5_pbe_set_ex
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS12_pack_p7encdata_ex(int pbe_nid, const char *pass, int
      passlen, unsigned char *salt, int saltlen, int iter, STACK_OF(PKCS12_SAFEBAG)
      *bags, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:160,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:165,1
    - Dst: PKCS12_item_decrypt_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - p7
    - pass
    - passlen
    argTypes:
    - PKCS7*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: PKCS12_unpack_p7encdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - PKCS12_item_decrypt_d2i_ex
    - ERR_raise
    - ASN1_ITEM_rptr
    - PKCS7_type_is_encrypted
    linkageType: ''
    returnType: STACK_OF(PKCS12_SAFEBAG)*
    signature: 'STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const
      char *pass, int passlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_decrypt_skey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - bag
    - pass
    - passlen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: PKCS12_decrypt_skey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - PKCS12_decrypt_skey_ex
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag,
      const char *pass, int passlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_pack_p7encdata_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 7
    argNames:
    - pbe_nid
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - bags
    argTypes:
    - int
    - char*
    - int
    - unsigned char*
    - int
    - int
    - STACK_OF(PKCS12_SAFEBAG)*
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: PKCS12_pack_p7encdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - PKCS12_pack_p7encdata_ex
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen,
      unsigned char *salt, int saltlen, int iter, STACK_OF(PKCS12_SAFEBAG) *bags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_decrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - bag
    - pass
    - passlen
    - ctx
    - propq
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: PKCS12_decrypt_skey_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - PKCS8_decrypt_ex
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey_ex(const PKCS12_SAFEBAG *bag,
      const char *pass, int passlen, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:186,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - p12
    - safes
    argTypes:
    - PKCS12*
    - STACK_OF(PKCS7)*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: PKCS12_pack_authsafes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - ASN1_item_pack
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:198,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:209,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:208,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:204,1
    - Dst: sk_PKCS7_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:211,1
    - Dst: sk_PKCS7_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:212,1
    - Dst: ossl_pkcs7_ctx_propagate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:213,1
    - Dst: sk_PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - p12
    argTypes:
    - PKCS12*
    constantsTouched: []
    func_position:
      end: 221
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 221
    functionName: PKCS12_unpack_authsafes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - PKCS7_type_is_data
    - ERR_raise
    - sk_PKCS7_value
    - sk_PKCS7_free
    - ossl_pkcs7_ctx_propagate
    - ASN1_ITEM_rptr
    - sk_PKCS7_num
    linkageType: ''
    returnType: STACK_OF(PKCS7)*
    signature: 'STACK_OF(PKCS7) *PKCS12_unpack_authsafes(const PKCS12 *p12) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:76,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:77,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: PKCS12_unpack_p7data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_add.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - PKCS7_type_is_data
    - ERR_raise
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: STACK_OF(PKCS12_SAFEBAG)*
    signature: 'STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: PKCS12_PBE_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS12_PBE_add(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_PBE_keyivgen_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: PKCS12_PBE_keyivgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c
    functionUses: []
    functionsReached:
    - PKCS12_PBE_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int
      passlen, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:40,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:38,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:47,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:50,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:54,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:55,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:58,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:59,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:60,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:72,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:63,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:73,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:70,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c:64,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    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*
    constantsTouched: []
    func_position:
      end: 75
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 75
    functionName: PKCS12_PBE_keyivgen_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_crpt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PBEPARAM_free
    - EVP_CIPHER_get_key_length
    - OPENSSL_cleanse
    - ASN1_INTEGER_get
    - EVP_CipherInit_ex
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - EVP_CIPHER_get_iv_length
    - PKCS12_key_gen_utf8_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_PBE_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int
      en_de, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:63,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:96,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:112,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:119,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:127,1
    - Dst: PKCS12_mac_present
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:60,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:61,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:77,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:84,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:98,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:82,1
    - Dst: sk_X509_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:91,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:97,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:46,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:66,1
    - Dst: parse_pk12
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:81,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:70,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:76,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:85,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:126,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:123,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 78
    argCount: 5
    argNames:
    - p12
    - pass
    - pkey
    - cert
    - ca
    argTypes:
    - PKCS12*
    - char*
    - EVP_PKEY**
    - X509**
    - STACK_OF(X509)**
    constantsTouched: []
    func_position:
      end: 130
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 130
    functionName: PKCS12_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: []
    functionsReached:
    - X509_free
    - ERR_GET_REASON
    - ERR_raise
    - ERR_pop_to_mark
    - ossl_x509_add_cert_new
    - sk_X509_pop_free
    - sk_X509_shift
    - PKCS12_verify_mac
    - ERR_GET_LIB
    - X509_check_private_key
    - sk_X509_free
    - parse_pk12
    - ERR_set_mark
    - EVP_PKEY_free
    - sk_X509_new_null
    - ERR_peek_last_error
    - PKCS12_mac_present
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509
      **cert, STACK_OF(X509) **ca) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:139,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:147,1
    - Dst: sk_PKCS7_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:145,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:143,1
    - Dst: sk_PKCS7_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:146,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:149,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:151,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:155,1
    - Dst: parse_bags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:158,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:159,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:160,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:165,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - p12
    - pass
    - passlen
    - pkey
    - ocerts
    argTypes:
    - PKCS12*
    - char*
    - int
    - EVP_PKEY**
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: parse_pk12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_value
    - OBJ_obj2nid
    - PKCS12_unpack_p7data
    - PKCS12_unpack_p7encdata
    - STACK_OF
    - sk_PKCS7_pop_free
    - PKCS12_unpack_authsafes
    - sk_PKCS12_SAFEBAG_pop_free
    - parse_bags
    - sk_PKCS7_num
    linkageType: ''
    returnType: int
    signature: 'static int parse_pk12(PKCS12 *p12, const char *pass, int passlen,
      EVP_PKEY **pkey, STACK_OF(X509) *ocerts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:174,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:175,1
    - Dst: parse_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - bags
    - pass
    - passlen
    - pkey
    - ocerts
    argTypes:
    - STACK_OF(PKCS12_SAFEBAG)*
    - char*
    - int
    - EVP_PKEY**
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: parse_bags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: []
    functionsReached:
    - sk_PKCS12_SAFEBAG_value
    - sk_PKCS12_SAFEBAG_num
    - parse_bag
    linkageType: ''
    returnType: int
    signature: 'static int parse_bags(const STACK_OF(PKCS12_SAFEBAG) *bags, const
      char *pass, int passlen, EVP_PKEY **pkey, STACK_OF(X509) *ocerts) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:198,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:213,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:220,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:237,1
    - Dst: X509_alias_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:234,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:232,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:243,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:202,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:244,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:225,1
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:192,1
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:195,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:235,1
    - Dst: parse_bags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:251,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:202,1
    - Dst: PKCS12_decrypt_skey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:210,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:212,1
    - Dst: PKCS12_SAFEBAG_get1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:222,1
    - Dst: X509_keyid_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:224,1
    - Dst: PKCS12_SAFEBAG_get0_safes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c:251,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 55
    argCount: 5
    argNames:
    - bag
    - pass
    - passlen
    - pkey
    - ocerts
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    - EVP_PKEY**
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 258
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 258
    functionName: parse_bag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - X509_free
    - PKCS12_SAFEBAG_get0_attr
    - PKCS12_SAFEBAG_get0_p8inf
    - PKCS12_SAFEBAG_get_bag_nid
    - PKCS12_SAFEBAG_get0_safes
    - OPENSSL_free
    - PKCS12_SAFEBAG_get1_cert
    - ASN1_STRING_to_UTF8
    - sk_X509_push
    - X509_keyid_set1
    - X509_alias_set1
    - PKCS12_decrypt_skey
    - parse_bags
    - PKCS12_SAFEBAG_get_nid
    - EVP_PKCS82PKEY
    linkageType: ''
    returnType: int
    signature: 'static int parse_bag(PKCS12_SAFEBAG *bag, const char *pass, int passlen,
      EVP_PKEY **pkey, STACK_OF(X509) *ocerts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p12
    argTypes:
    - PKCS12*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: PKCS12_mac_present
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_mac_present(const PKCS12 *p12) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:101,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:117,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:147,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:152,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:96,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:113,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:116,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:130,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:129,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:127,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:123,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:173,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:165,1
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:111,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:124,1
    - Dst: pkcs12_gen_gost_mac_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:138,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:120,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:136,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:156,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:162,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:163,1
    - Dst: PKCS7_type_is_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:95,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:112,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:161,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:171,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 79
    argCount: 6
    argNames:
    - p12
    - pass
    - passlen
    - mac
    - maclen
    - (*pkcs12_key_gen)
    argTypes:
    - PKCS12*
    - char*
    - int
    - unsigned char*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 175
    functionName: pkcs12_gen_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached:
    - ERR_set_mark
    - HMAC_Init_ex
    - ossl_safe_getenv
    - PKCS12_key_gen_utf8_ex
    - EVP_MD_get_type
    - X509_SIG_get0
    - HMAC_Final
    - EVP_MD_free
    - PKCS7_type_is_data
    - OBJ_obj2nid
    - HMAC_Update
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - ERR_clear_last_mark
    - EVP_MD_fetch
    - EVP_get_digestbynid
    - ERR_raise
    - ERR_pop_to_mark
    - HMAC_CTX_new
    - pkcs12_gen_gost_mac_key
    - X509_ALGOR_get0
    - HMAC_CTX_free
    - ASN1_INTEGER_get
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
      unsigned char *mac, unsigned int *maclen, int (*pkcs12_key_gen)(const char *pass,
      int passlen, unsigned char *salt, int slen, int id, int iter, int n, unsigned
      char *out, const EVP_MD *md_type)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:195,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:199,1
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:198,1
    - Dst: pkcs12_gen_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:194,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:200,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - p12
    - pass
    - passlen
    argTypes:
    - PKCS12*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: PKCS12_verify_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_STRING_length
    - X509_SIG_get0
    - pkcs12_gen_mac
    - ASN1_STRING_get0_data
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:35,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 10
    argCount: 5
    argNames:
    - pmac
    - pmacalg
    - psalt
    - piter
    - p12
    argTypes:
    - ASN1_OCTET_STRING**
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    - ASN1_INTEGER**
    - PKCS12*
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: PKCS12_get0_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached:
    - X509_SIG_get0
    linkageType: ''
    returnType: void
    signature: 'void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, const X509_ALGOR
      **pmacalg, const ASN1_OCTET_STRING **psalt, const ASN1_INTEGER **piter, const
      PKCS12 *p12) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:65,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:69,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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*
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: pkcs12_gen_gost_mac_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    - PKCS5_PBKDF2_HMAC
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_gen_gost_mac_key(const char *pass, int passlen,
      const unsigned char *salt, int saltlen, int iter, int keylen, unsigned char
      *key, const EVP_MD *digest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs12_gen_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - p12
    - pass
    - passlen
    - mac
    - maclen
    argTypes:
    - PKCS12*
    - char*
    - int
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: PKCS12_gen_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached:
    - pkcs12_gen_mac
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, unsigned
      char *mac, unsigned int *maclen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:218,1
    - Dst: pkcs12_gen_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:228,1
    - Dst: PKCS12_setup_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:221,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:222,1
    - Dst: X509_SIG_getm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:232,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 7
    argNames:
    - p12
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - md_type
    argTypes:
    - PKCS12*
    - char*
    - int
    - unsigned char*
    - int
    - int
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 238
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 238
    functionName: PKCS12_set_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_SIG_getm
    - EVP_sha256
    - pkcs12_gen_mac
    - PKCS12_setup_mac
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, unsigned
      char *salt, int saltlen, int iter, const EVP_MD *md_type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_MAC_DATA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:246,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:253,1
    - Dst: PKCS12_MAC_DATA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:249,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:256,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:252,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:257,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:265,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:266,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:271,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:275,1
    - Dst: X509_SIG_getm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:277,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:278,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:278,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:278,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c:280,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 5
    argNames:
    - p12
    - iter
    - salt
    - saltlen
    - md_type
    argTypes:
    - PKCS12*
    - int
    - unsigned char*
    - int
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 285
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 285
    functionName: PKCS12_setup_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: []
    functionsReached:
    - PKCS12_MAC_DATA_new
    - ERR_raise
    - X509_SIG_getm
    - memcpy
    - OBJ_nid2obj
    - EVP_MD_get_type
    - PKCS12_MAC_DATA_free
    - X509_ALGOR_set0
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int
      saltlen, const EVP_MD *md_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8d.c:20,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8d.c:22,1
    - Dst: PKCS12_item_decrypt_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8d.c:21,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - p8
    - pass
    - passlen
    - ctx
    - propq
    argTypes:
    - X509_SIG*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: PKCS8_decrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8d.c
    functionUses: []
    functionsReached:
    - PKCS12_item_decrypt_d2i_ex
    - X509_SIG_get0
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'PKCS8_PRIV_KEY_INFO *PKCS8_decrypt_ex(const X509_SIG *p8, const char
      *pass, int passlen, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_decrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8d.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - p8
    - pass
    - passlen
    argTypes:
    - X509_SIG*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: PKCS8_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_p8d.c
    functionUses: []
    functionsReached:
    - PKCS8_decrypt_ex
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char
      *pass, int passlen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:22,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:26,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:27,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - asc
    - asclen
    - uni
    - unilen
    argTypes:
    - char*
    - int
    - unsigned char**
    - int*
    constantsTouched: []
    func_position:
      end: 42
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 42
    functionName: OPENSSL_asc2uni
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, unsigned
      char **uni, int *unilen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:86,1
    - Dst: UTF8_getc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:122,1
    - Dst: OPENSSL_asc2uni
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:108,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:121,1
    - Dst: UTF8_getc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:127,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - asc
    - asclen
    - uni
    - unilen
    argTypes:
    - char*
    - int
    - unsigned char**
    - int*
    constantsTouched: []
    func_position:
      end: 151
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 151
    functionName: OPENSSL_utf82uni
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - UTF8_getc
    - ERR_raise
    - OPENSSL_asc2uni
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *OPENSSL_utf82uni(const char *asc, int asclen, unsigned
      char **uni, int *unilen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bmp_to_utf8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:190,1
    - Dst: bmp_to_utf8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:213,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:207,1
    - Dst: OPENSSL_uni2asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:196,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - uni
    - unilen
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 224
    functionName: OPENSSL_uni2utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - bmp_to_utf8
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_uni2asc
    linkageType: ''
    returnType: char*
    signature: 'char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:246,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - p12
    argTypes:
    - FILE*
    - PKCS12**
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: d2i_PKCS12_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS12*
    signature: 'PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_putc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - str
    - utf16
    - len
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: bmp_to_utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - UTF8_putc
    linkageType: ''
    returnType: int
    signature: 'static int bmp_to_utf8(char *str, const unsigned char *utf16, int
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - uni
    - unilen
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: OPENSSL_uni2asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *OPENSSL_uni2asc(const unsigned char *uni, int unilen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:228,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - p12
    argTypes:
    - BIO*
    - PKCS12*
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: i2d_PKCS12_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    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_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:240,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - p12
    argTypes:
    - BIO*
    - PKCS12**
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: d2i_PKCS12_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS12*
    signature: 'PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:234,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - p12
    argTypes:
    - FILE*
    - PKCS12*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: i2d_PKCS12_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_utl.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: PKCS12_key_gen_utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    functionsReached:
    - PKCS12_key_gen_utf8_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_key_gen_utf8(const char *pass, int passlen, unsigned char
      *salt, int saltlen, int id, int iter, int n, unsigned char *out, const EVP_MD
      *md_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_key_gen_asc_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: PKCS12_key_gen_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    functionsReached:
    - PKCS12_key_gen_asc_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char
      *salt, int saltlen, int id, int iter, int n, unsigned char *out, const EVP_MD
      *md_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:111,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:115,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:114,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:113,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:112,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:116,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: (PKCS12_KEYGEN)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_hex_string
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (PKCS12_KEYGEN) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_asc2uni
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:31,1
    - Dst: PKCS12_key_gen_uni_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:34,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:36,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    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*
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: PKCS12_key_gen_asc_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    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, int saltlen, int id, int iter, int n, unsigned char *out, const
      EVP_MD *md_type, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:91,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:99,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:94,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:104,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:106,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:107,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:111,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:118,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:126,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:100,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:116,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:112,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:108,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:123,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:128,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:95,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:102,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:113,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:115,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:120,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:114,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:117,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:124,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    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*
    constantsTouched: []
    func_position:
      end: 130
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 130
    functionName: PKCS12_key_gen_uni_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_new
    - BIO_hex_string
    - EVP_KDF_CTX_free
    - EVP_KDF_fetch
    - EVP_MD_get0_name
    - EVP_KDF_derive
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_TRACE_END
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_key_gen_uni_ex(unsigned char *pass, int passlen, unsigned
      char *salt, int saltlen, int id, int iter, int n, unsigned char *out, const
      EVP_MD *md_type, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_utf82uni
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:60,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:61,1
    - Dst: PKCS12_key_gen_uni_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    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*
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: PKCS12_key_gen_utf8_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    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, int saltlen, int id, int iter, int n, unsigned char *out, const
      EVP_MD *md_type, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:123,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:125,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: (PKCS12_KEYGEN)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_hex_string
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (PKCS12_KEYGEN) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_key_gen_uni_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: PKCS12_key_gen_uni
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_key.c
    functionUses: []
    functionsReached:
    - PKCS12_key_gen_uni_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned
      char *salt, int saltlen, int id, int iter, int n, unsigned char *out, const
      EVP_MD *md_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: PKCS12_SAFEBAG_get0_p8inf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG
      *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: PKCS12_SAFEBAG_get_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: PKCS12_SAFEBAG_get0_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509_SIG*
    signature: 'const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:66,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: PKCS12_SAFEBAG_get_bag_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: PKCS12_SAFEBAG_create_pkcs8_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, const
      char *pass, int passlen, unsigned char *salt, int saltlen, int iter, PKCS8_PRIV_KEY_INFO
      *p8inf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: PKCS12_SAFEBAG_get0_safes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: STACK_OF(PKCS12_SAFEBAG)*
    signature: 'const STACK_OF(PKCS12_SAFEBAG) *PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG
      *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: PKCS12_SAFEBAG_get0_bag_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'const ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG
      *bag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:85,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:89,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:90,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: PKCS12_SAFEBAG_get1_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - ASN1_ITEM_rptr
    - PKCS12_SAFEBAG_get_nid
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509*
    signature: 'X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: PKCS12_SAFEBAG_get0_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: PKCS12_SAFEBAG_get0_bag_obj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'const ASN1_TYPE *PKCS12_SAFEBAG_get0_bag_obj(const PKCS12_SAFEBAG
      *bag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:95,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:99,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:100,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: PKCS12_SAFEBAG_get1_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - ASN1_ITEM_rptr
    - PKCS12_SAFEBAG_get_nid
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_get_attr_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:17,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bag
    - attr_nid
    argTypes:
    - PKCS12_SAFEBAG*
    - int
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: PKCS12_get_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - PKCS12_get_attr_gen
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, int attr_nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:176,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: PKCS12_SAFEBAG_create0_p8inf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - PKCS12_SAFEBAG_new
    - ERR_raise
    - OBJ_nid2obj
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_BAGS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:120,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:124,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:132,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:136,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:138,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:141,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:143,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:144,1
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:157,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:152,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:147,1
    - Dst: PKCS12_BAGS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:165,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 4
    argNames:
    - type
    - vtype
    - value
    - len
    argTypes:
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 167
    functionName: PKCS12_SAFEBAG_create_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_TYPE_set
    - ASN1_OCTET_STRING_new
    - OBJ_nid2obj
    - PKCS12_SAFEBAG_new
    - ASN1_OCTET_STRING_free
    - ASN1_TYPE_new
    - PKCS12_BAGS_free
    - PKCS12_BAGS_new
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_secret(int type, int vtype,
      const unsigned char *value, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_get_attr_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bag
    - attr_nid
    argTypes:
    - PKCS12_SAFEBAG*
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: PKCS12_SAFEBAG_get0_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - PKCS12_get_attr_gen
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag,
      int attr_nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_pack_safebag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:105,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - x509
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: PKCS12_SAFEBAG_create_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - PKCS12_item_pack_safebag
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_cert(X509 *x509) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:192,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p8
    argTypes:
    - X509_SIG*
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: PKCS12_SAFEBAG_create0_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - PKCS12_SAFEBAG_new
    - ERR_raise
    - OBJ_nid2obj
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_get_attr_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:29,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p8
    - attr_nid
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: PKCS8_get_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_pack_safebag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:111,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: PKCS12_SAFEBAG_create_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - PKCS12_item_pack_safebag
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_crl(X509_CRL *crl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:214,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:218,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:215,1
    - Dst: EVP_get_cipherbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:217,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:215,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:223,1
    - Dst: PKCS12_SAFEBAG_create0_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:228,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:230,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c:233,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    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*
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - EVP_get_cipherbynid
    - PKCS12_SAFEBAG_create0_pkcs8
    - EVP_CIPHER_free
    - OBJ_nid2sn
    - X509_SIG_free
    - ERR_set_mark
    - PKCS8_encrypt_ex
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: PKCS12_SAFEBAG*
    signature: 'PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt_ex(int pbe_nid,
      const char *pass, int passlen, unsigned char *salt, int saltlen, int iter, PKCS8_PRIV_KEY_INFO
      *p8inf, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:19,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: PKCS12_add_localkeyid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name,
      int namelen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: PKCS12_add_friendlyname_uni
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, const unsigned
      char *name, int namelen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: PKCS12_add_friendlyname_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name,
      int namelen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - bag
    - nid
    - type
    - bytes
    - len
    argTypes:
    - PKCS12_SAFEBAG*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: PKCS12_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add1_attr_by_NID(PKCS12_SAFEBAG *bag, int nid, int type,
      const unsigned char *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:99,1
    - Dst: X509at_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:100,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - attrs
    - attr_nid
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: PKCS12_get_attr_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - X509_ATTRIBUTE_get0_type
    - X509at_get_attr_by_NID
    - X509at_get_attr
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs,
      int attr_nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: PKCS12_add_friendlyname_utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add_friendlyname_utf8(PKCS12_SAFEBAG *bag, const char *name,
      int namelen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: PKCS12_add_CSPName_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    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_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - bag
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: PKCS12_add1_attr_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: 'int PKCS12_add1_attr_by_txt(PKCS12_SAFEBAG *bag, const char *attrname,
      int type, const unsigned char *bytes, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:108,1
    - Dst: OPENSSL_uni2utf8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: PKCS12_get_friendlyname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - OPENSSL_uni2utf8
    - PKCS12_SAFEBAG_get0_attr
    linkageType: ''
    returnType: char*
    signature: 'char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: PKCS12_SAFEBAG_get0_attrs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'const STACK_OF(X509_ATTRIBUTE) *PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG
      *bag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p8
    - usage
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: PKCS8_add_keyusage
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs12/p12_attr.c
    functionUses: []
    functionsReached:
    - PKCS8_pkey_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: async_pool_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_STACK_OF(ASYNC_JOB)
    signature: 'DEFINE_STACK_OF(ASYNC_JOB) struct async_pool_st '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:293,1
    - Dst: async_fibre_swapcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:308,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:310,1
    - Dst: async_wait_ctx_reset_counts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 317
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 317
    functionName: ASYNC_pause_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_get_ctx
    - ERR_raise
    - async_fibre_swapcontext
    - async_wait_ctx_reset_counts
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_pause_job(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:357,1
    - Dst: ossl_init_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:364,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:369,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:367,1
    - Dst: sk_ASYNC_JOB_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:373,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:375,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:376,1
    - Dst: async_job_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:385,1
    - Dst: async_fibre_makecontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:386,1
    - Dst: async_job_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:391,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:400,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:408,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:399,1
    - Dst: sk_ASYNC_JOB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:407,1
    - Dst: async_empty_pool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:406,1
    - Dst: sk_ASYNC_JOB_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:395,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - max_size
    - init_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 410
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 410
    functionName: ASYNC_init_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_job_free
    - ERR_raise
    - sk_ASYNC_JOB_free
    - CRYPTO_THREAD_set_local
    - OPENSSL_free
    - async_fibre_makecontext
    - sk_ASYNC_JOB_push
    - OPENSSL_zalloc
    - async_job_new
    - OPENSSL_init_crypto
    - ossl_init_thread_start
    - async_empty_pool
    - sk_ASYNC_JOB_new_reserve
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_init_thread(size_t max_size, size_t init_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - job
    argTypes:
    - ASYNC_JOB*
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: ASYNC_get_wait_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASYNC_WAIT_CTX*
    signature: 'ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASYNC_JOB_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:327,1
    - Dst: async_job_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - async_pool*
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: async_empty_pool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_job_free
    - sk_ASYNC_JOB_pop
    linkageType: ''
    returnType: void
    signature: 'static void async_empty_pool(async_pool *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:414,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:420,1
    - Dst: sk_ASYNC_JOB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:418,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:419,1
    - Dst: async_empty_pool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:417,1
    - Dst: async_local_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:422,1
    - Dst: async_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: async_delete_thread_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - sk_ASYNC_JOB_free
    - async_ctx_free
    - CRYPTO_THREAD_set_local
    - OPENSSL_free
    - async_local_cleanup
    - async_empty_pool
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: void
    signature: 'static void async_delete_thread_state(void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:457,1
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: ASYNC_block_pause
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_get_ctx
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: 'void ASYNC_block_pause(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: async_get_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: async_ctx*
    signature: 'async_ctx *async_get_ctx(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:334,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:337,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: async_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_init_local
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: int
    signature: 'int async_init(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:428,1
    - Dst: async_delete_thread_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: ASYNC_cleanup_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_delete_thread_state
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: 'void ASYNC_cleanup_thread(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:69,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:71,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: async_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_set_local
    - async_get_ctx
    linkageType: ''
    returnType: int
    signature: 'static int async_ctx_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:347,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: async_deinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: void
    signature: 'void async_deinit(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:438,1
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 446
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 446
    functionName: ASYNC_get_current_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_get_ctx
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: ASYNC_JOB*
    signature: 'ASYNC_JOB *ASYNC_get_current_job(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:474,1
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 486
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 486
    functionName: ASYNC_unblock_pause
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_get_ctx
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: 'void ASYNC_unblock_pause(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: async_job_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASYNC_JOB*
    signature: 'static ASYNC_JOB *async_job_new(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:107,1
    - Dst: ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:113,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:115,1
    - Dst: sk_ASYNC_JOB_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:118,1
    - Dst: async_job_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:124,1
    - Dst: async_fibre_makecontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:126,1
    - Dst: async_job_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 134
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 134
    functionName: async_get_pool_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - ASYNC_init_thread
    - sk_ASYNC_JOB_pop
    - async_fibre_makecontext
    - async_job_new
    - async_job_free
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: ASYNC_JOB*
    signature: 'static ASYNC_JOB *async_get_pool_job(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:152,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:171,1
    - Dst: async_fibre_swapcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 174
    functionName: async_start_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_get_ctx
    - ERR_raise
    - async_fibre_swapcontext
    linkageType: ''
    returnType: void
    signature: 'void async_start_func(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_init_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:38,1
    - Dst: async_fibre_init_dispatcher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:47,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:43,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:50,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:55,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: async_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_set_local
    - OPENSSL_free
    - ossl_init_thread_start
    - async_fibre_init_dispatcher
    - OPENSSL_malloc
    linkageType: ''
    returnType: async_ctx*
    signature: 'static async_ctx *async_ctx_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:97,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:99,1
    - Dst: async_fibre_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - job
    argTypes:
    - ASYNC_JOB*
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: async_job_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - async_fibre_free
    linkageType: ''
    returnType: void
    signature: 'static void async_job_free(ASYNC_JOB *job) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:139,1
    - Dst: sk_ASYNC_JOB_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:146,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:141,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - job
    argTypes:
    - ASYNC_JOB*
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: async_release_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_get_local
    - ERR_raise
    - sk_ASYNC_JOB_push
    linkageType: ''
    returnType: void
    signature: 'static void async_release_job(ASYNC_JOB *job) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: async_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:187,1
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:185,1
    - Dst: async_release_job
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:224,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:231,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:270,1
    - Dst: async_fibre_swapcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:244,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:239,1
    - Dst: async_get_pool_job
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:252,1
    - Dst: async_release_job
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:259,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:182,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:263,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:273,1
    - Dst: async_release_job
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:284,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:221,1
    - Dst: async_fibre_swapcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:228,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:230,1
    - Dst: async_release_job
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:245,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:256,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c:280,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 6
    argNames:
    - job
    - wctx
    - ret
    - (*func)
    - args
    - size
    argTypes:
    - ASYNC_JOB**
    - ASYNC_WAIT_CTX*
    - int*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 288
    functionName: ASYNC_start_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async.c
    functionUses: []
    functionsReached:
    - async_get_pool_job
    - ossl_lib_ctx_get_concrete
    - async_release_job
    - ERR_raise
    - async_fibre_swapcontext
    - OSSL_LIB_CTX_set0_default
    - memcpy
    - async_ctx_new
    - OPENSSL_init_crypto
    - async_get_ctx
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *wctx, int *ret,
      int (*func)(void *), void *args, size_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c:36,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c:40,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ASYNC_WAIT_CTX*
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: ASYNC_WAIT_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - key
    - fd
    - custom_data
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD*
    - void**
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: ASYNC_WAIT_CTX_get_fd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx, const void *key, OSSL_ASYNC_FD
      *fd, void **custom_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - addfd
    - numaddfds
    - delfd
    - numdelfds
    argTypes:
    - ASYNC_WAIT_CTX*
    - OSSL_ASYNC_FD*
    - size_t*
    - OSSL_ASYNC_FD*
    - size_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: ASYNC_WAIT_CTX_get_changed_fds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD
      *addfd, size_t *numaddfds, OSSL_ASYNC_FD *delfd, size_t *numdelfds) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - callback
    - callback_arg
    argTypes:
    - ASYNC_WAIT_CTX*
    - ASYNC_callback_fn
    - void*
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: ASYNC_WAIT_CTX_set_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_set_callback(ASYNC_WAIT_CTX *ctx, ASYNC_callback_fn
      callback, void *callback_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - ASYNC_WAIT_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: ASYNC_WAIT_CTX_set_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_set_status(ASYNC_WAIT_CTX *ctx, int status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: ASYNC_WAIT_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASYNC_WAIT_CTX*
    signature: 'ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - key
    - fd
    - custom_data
    - (*cleanup)
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: ASYNC_WAIT_CTX_set_wait_fd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key,
      OSSL_ASYNC_FD fd, void *custom_data, void (*cleanup)(ASYNC_WAIT_CTX *, const
      void *, OSSL_ASYNC_FD, void *)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - fd
    - numfds
    argTypes:
    - ASYNC_WAIT_CTX*
    - OSSL_ASYNC_FD*
    - size_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: ASYNC_WAIT_CTX_get_all_fds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD
      *fd, size_t *numfds) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 182
    functionName: ASYNC_WAIT_CTX_clear_fd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    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: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - callback
    - callback_arg
    argTypes:
    - ASYNC_WAIT_CTX*
    - ASYNC_callback_fn*
    - void**
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: ASYNC_WAIT_CTX_get_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_get_callback(ASYNC_WAIT_CTX *ctx, ASYNC_callback_fn
      *callback, void **callback_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ASYNC_WAIT_CTX*
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: ASYNC_WAIT_CTX_get_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_WAIT_CTX_get_status(ASYNC_WAIT_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c:234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ASYNC_WAIT_CTX*
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: async_wait_ctx_reset_counts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_wait.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/async/async_err.c:32,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_err.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ossl_err_load_ASYNC_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/async_err.c
    functionUses: []
    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: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ASYNC_is_capable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_is_capable(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: async_local_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void async_local_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ASYNC_is_capable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_is_capable(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConvertThreadToFiberEx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c:37,1
    - Dst: ConvertThreadToFiber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c:39,1
    - Dst: GetCurrentFiber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fibre
    argTypes:
    - async_fibre*
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: async_fibre_init_dispatcher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c
    functionUses: []
    functionsReached:
    - ConvertThreadToFiberEx
    - ConvertThreadToFiber
    - GetCurrentFiber
    linkageType: ''
    returnType: int
    signature: 'int async_fibre_init_dispatcher(async_fibre *fibre) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c:24,1
    - Dst: ConvertFiberToThread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c:28,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: async_local_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c
    functionUses: []
    functionsReached:
    - async_get_ctx
    - ConvertFiberToThread
    linkageType: ''
    returnType: void
    signature: 'void async_local_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_start_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - unused
    argTypes:
    - PVOID
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: async_start_func_win
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_win.c
    functionUses: []
    functionsReached:
    - async_start_func
    linkageType: ''
    returnType: VOID
    signature: 'VOID CALLBACK async_start_func_win(PVOID unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: ASYNC_is_capable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c
    functionUses: []
    functionsReached:
    - getcontext
    linkageType: ''
    returnType: int
    signature: 'int ASYNC_is_capable(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: async_local_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void async_local_cleanup(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c:39,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c:40,1
    - Dst: makecontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fibre
    argTypes:
    - async_fibre*
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: async_fibre_makecontext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c
    functionUses: []
    functionsReached:
    - makecontext
    - getcontext
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int async_fibre_makecontext(async_fibre *fibre) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fibre
    argTypes:
    - async_fibre*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: async_fibre_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void async_fibre_free(async_fibre *fibre) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swapcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.h:66,1
    - Dst: _setjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.h:70,1
    - Dst: setcontext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.h:74,1
    - Dst: _longjmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.h:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - o
    - n
    - r
    argTypes:
    - async_fibre*
    - async_fibre*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: async_fibre_swapcontext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/async/arch/async_posix.h
    functionUses: []
    functionsReached:
    - swapcontext
    - _setjmp
    - setcontext
    - _longjmp
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int async_fibre_swapcontext(async_fibre *o, async_fibre
      *n, int r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - WHIRLPOOL_CTX*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: WHIRLPOOL_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int WHIRLPOOL_Init(WHIRLPOOL_CTX *c) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: whirlpool_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:116,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:126,1
    - Dst: whirlpool_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:167,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:131,1
    - Dst: whirlpool_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:128,1
    - Dst: whirlpool_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:185,1
    - Dst: whirlpool_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:200,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 107
    argCount: 3
    argNames:
    - c
    - _inp
    - bits
    argTypes:
    - WHIRLPOOL_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 211
    functionName: WHIRLPOOL_BitUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: []
    functionsReached:
    - memcpy
    - whirlpool_block
    linkageType: ''
    returnType: void
    signature: 'void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *_inp, size_t
      bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WHIRLPOOL_BitUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:81,1
    - Dst: WHIRLPOOL_BitUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - c
    - _inp
    - bytes
    argTypes:
    - WHIRLPOOL_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: WHIRLPOOL_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: []
    functionsReached:
    - WHIRLPOOL_BitUpdate
    linkageType: ''
    returnType: int
    signature: 'int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *_inp, size_t bytes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:229,1
    - Dst: whirlpool_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:242,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:234,1
    - Dst: whirlpool_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:230,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:245,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - WHIRLPOOL_CTX*
    constantsTouched: []
    func_position:
      end: 250
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 250
    functionName: WHIRLPOOL_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: []
    functionsReached:
    - memcpy
    - whirlpool_block
    - OPENSSL_cleanse
    - memset
    linkageType: ''
    returnType: int
    signature: 'int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WHIRLPOOL_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:259,1
    - Dst: WHIRLPOOL_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:260,1
    - Dst: WHIRLPOOL_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - inp
    - bytes
    - md
    argTypes:
    - void*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: WHIRLPOOL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:528,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:619,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:620,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:704,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:723,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:742,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:761,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:659,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:678,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:592,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:631,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:625,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:710,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:729,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:748,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:767,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:646,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:665,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:647,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:684,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:520,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:530,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:566,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:566,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:716,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:736,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:755,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:666,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:520,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:522,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:630,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:640,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:703,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:722,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:741,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:760,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:658,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:677,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:685,1
    - Dst: GO_FOR_MMX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:508,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:528,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:592,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:621,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:700,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:719,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:738,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:757,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:715,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:734,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:634,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:653,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:673,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:705,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:724,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:743,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:641,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:660,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:679,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:756,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:763,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:525,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:530,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:566,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:566,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:711,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:730,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:749,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:768,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:522,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:628,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:718,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:737,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:637,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:656,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:675,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:527,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:633,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:652,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:671,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:752,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:635,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:649,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:668,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:687,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:701,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:720,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:739,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:529,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:622,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:655,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:674,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:706,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:725,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:745,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:764,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:642,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:661,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:680,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:754,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:521,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:523,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:632,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:651,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:670,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:689,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:712,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:731,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:750,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:769,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:648,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:667,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:541,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:686,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:709,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:728,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:747,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:766,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:644,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:664,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:683,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:532,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:592,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:618,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:629,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:639,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:713,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:714,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:733,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:529,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:624,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:650,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:669,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:688,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:702,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:721,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:740,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:759,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:638,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:657,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:676,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:732,1
    - Dst: C3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:521,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:523,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:527,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:592,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:623,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:770,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:707,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:727,1
    - Dst: C1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:746,1
    - Dst: C2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:765,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:643,1
    - Dst: C7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:662,1
    - Dst: C0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:682,1
    - Dst: C6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:751,1
    - Dst: C4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c:758,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 701
    argCount: 3
    argNames:
    - ctx
    - inp
    - n
    argTypes:
    - WHIRLPOOL_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 804
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 804
    functionName: whirlpool_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/whrlpool/wp_block.c
    functionUses: []
    functionsReached:
    - C5
    - GO_FOR_MMX
    - memcpy
    - C3
    - C4
    - C0
    - C1
    - C6
    - C7
    - C2
    linkageType: ''
    returnType: void
    signature: 'void whirlpool_block(WHIRLPOOL_CTX *ctx, const void *inp, size_t n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:29,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:30,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:60,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:61,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:68,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:66,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:72,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:89,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:33,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:39,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:41,1
    - Dst: n2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:46,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:51,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:53,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:64,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:57,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:55,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:43,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:58,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:79,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:81,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:34,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:71,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:77,1
    - Dst: l2nn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:84,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:88,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 6
    argNames:
    - in
    - out
    - length
    - ks
    - iv
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - IDEA_KEY_SCHEDULE*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 93
    functionName: IDEA_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c
    functionUses: []
    functionsReached:
    - n2l
    - IDEA_encrypt
    - l2nn
    - l2n
    - n2ln
    linkageType: ''
    returnType: void
    signature: 'void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out,
      long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, int encrypt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:107,1
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:109,1
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:108,1
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:111,1
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:110,1
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:112,1
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:113,1
    - Dst: E_IDEA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:114,1
    - Dst: idea_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:117,1
    - Dst: idea_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - IDEA_KEY_SCHEDULE*
    constantsTouched: []
    func_position:
      end: 128
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 128
    functionName: IDEA_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cbc.c
    functionUses: []
    functionsReached:
    - idea_mul
    - E_IDEA
    linkageType: ''
    returnType: void
    signature: 'void IDEA_encrypt(unsigned long *d, IDEA_KEY_SCHEDULE *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:43,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:52,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:44,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:48,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:49,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:55,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:57,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:67,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c:68,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - IDEA_KEY_SCHEDULE*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 72
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 72
    functionName: IDEA_ofb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ofb64.c
    functionUses: []
    functionsReached:
    - n2l
    - l2n
    - IDEA_encrypt
    linkageType: ''
    returnType: void
    signature: 'void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, IDEA_KEY_SCHEDULE *schedule, unsigned char *ivec, int *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:26,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:27,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:29,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:30,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:28,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:31,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:32,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 2
    argNames:
    - key
    - ks
    argTypes:
    - unsigned char*
    - IDEA_KEY_SCHEDULE*
    constantsTouched: []
    func_position:
      end: 58
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 58
    functionName: IDEA_set_encrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:68,1
    - Dst: inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - ek
    - dk
    argTypes:
    - IDEA_KEY_SCHEDULE*
    - IDEA_KEY_SCHEDULE*
    constantsTouched: []
    func_position:
      end: 87
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 87
    functionName: IDEA_set_decrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c
    functionUses: []
    functionsReached:
    - inverse
    linkageType: ''
    returnType: void
    signature: 'void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE
      *dk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - xin
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: inverse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_skey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: IDEA_INT
    signature: 'static IDEA_INT inverse(unsigned int xin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: IDEA_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ecb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *IDEA_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ecb.c:30,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ecb.c:34,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ecb.c:36,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ecb.c:32,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ecb.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - unsigned char*
    - unsigned char*
    - IDEA_KEY_SCHEDULE*
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: IDEA_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_ecb.c
    functionUses: []
    functionsReached:
    - n2l
    - l2n
    - IDEA_encrypt
    linkageType: ''
    returnType: void
    signature: 'void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out,
      IDEA_KEY_SCHEDULE *ks) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:44,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:51,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:46,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:53,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:48,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:64,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:66,1
    - Dst: IDEA_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:68,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:71,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - IDEA_KEY_SCHEDULE*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 85
    functionName: IDEA_cfb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/idea/i_cfb64.c
    functionUses: []
    functionsReached:
    - n2l
    - l2n
    - IDEA_encrypt
    linkageType: ''
    returnType: void
    signature: 'void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, IDEA_KEY_SCHEDULE *schedule, unsigned char *ivec, int *num, int
      encrypt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:39,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - MDC2_CTX*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: MDC2_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int MDC2_Init(MDC2_CTX *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:125,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:128,1
    - Dst: mdc2_body
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:126,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - MDC2_CTX*
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: MDC2_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: []
    functionsReached:
    - mdc2_body
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'int MDC2_Final(unsigned char *md, MDC2_CTX *c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:52,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:58,1
    - Dst: mdc2_body
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:62,1
    - Dst: mdc2_body
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:67,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - c
    - in
    - len
    argTypes:
    - MDC2_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: MDC2_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: []
    functionsReached:
    - mdc2_body
    - memcpy
    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/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:86,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:93,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:88,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:94,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:95,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:97,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:98,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:99,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:107,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:108,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:111,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - c
    - in
    - len
    argTypes:
    - MDC2_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 113
    functionName: mdc2_body
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: []
    functionsReached:
    - DES_set_key_unchecked
    - DES_set_odd_parity
    - l2c
    - DES_encrypt1
    - c2l
    linkageType: ''
    returnType: void
    signature: 'static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t
      len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MDC2_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2_one.c:26,1
    - Dst: MDC2_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2_one.c:28,1
    - Dst: MDC2_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2_one.c:29,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2_one.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: MDC2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/mdc2/mdc2_one.c
    functionUses: []
    functionsReached:
    - MDC2_Init
    - MDC2_Update
    - MDC2_Final
    - 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: RC2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:37,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:59,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:58,1
    - Dst: RC2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:49,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:51,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:53,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:55,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:69,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:62,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:86,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:27,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:28,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:39,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:41,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:56,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:64,1
    - Dst: RC2_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:66,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:70,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:77,1
    - Dst: RC2_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:79,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:87,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:32,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:31,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:44,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:75,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 6
    argNames:
    - in
    - out
    - length
    - ks
    - iv
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC2_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 91
    functionName: RC2_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c
    functionUses: []
    functionsReached:
    - l2cn
    - c2ln
    - l2c
    - c2l
    - RC2_decrypt
    - RC2_encrypt
    linkageType: ''
    returnType: void
    signature: 'void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out,
      long length, RC2_KEY *ks, unsigned char *iv, int encrypt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 101
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC2_KEY*
    constantsTouched: []
    func_position:
      end: 184
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 184
    functionName: RC2_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RC2_decrypt(unsigned long *d, RC2_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 89
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC2_KEY*
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: RC2_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_cbc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RC2_encrypt(unsigned long *d, RC2_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_ecb.c:32,1
    - Dst: RC2_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_ecb.c:39,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_ecb.c:41,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_ecb.c:34,1
    - Dst: RC2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_ecb.c:37,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_ecb.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - RC2_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 45
    functionName: RC2_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_ecb.c
    functionUses: []
    functionsReached:
    - l2c
    - c2l
    - RC2_decrypt
    - RC2_encrypt
    linkageType: ''
    returnType: void
    signature: 'void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out,
      RC2_KEY *ks, int encrypt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:37,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:42,1
    - Dst: RC2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:46,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:38,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:43,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:49,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:51,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:61,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC2_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: RC2_ofb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2ofb64.c
    functionUses: []
    functionsReached:
    - l2c
    - c2l
    - RC2_encrypt
    linkageType: ''
    returnType: void
    signature: 'void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, RC2_KEY *schedule, unsigned char *ivec, int *num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 4
    argNames:
    - key
    - len
    - data
    - bits
    argTypes:
    - RC2_KEY*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 99
    functionName: RC2_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2_skey.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:38,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:47,1
    - Dst: RC2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:42,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:45,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:40,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:58,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:60,1
    - Dst: RC2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:62,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:65,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC2_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 79
    functionName: RC2_cfb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc2/rc2cfb64.c
    functionUses: []
    functionsReached:
    - l2c
    - c2l
    - RC2_encrypt
    linkageType: ''
    returnType: void
    signature: 'void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, RC2_KEY *schedule, unsigned char *ivec, int *num, int encrypt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:83,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:86,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:84,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:85,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:85,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:89,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:95,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:96,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:97,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:97,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:98,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: des_ede_ofb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - DES_ede3_ofb64_encrypt
    - data
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: 'static int des_ede_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:138,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:139,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:140,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:140,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:141,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:142,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:143,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:149,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:150,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:151,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:151,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:152,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:153,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 157
    functionName: des_ede_cfb64_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - DES_ede3_cfb64_encrypt
    - data
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_is_encrypting
    linkageType: ''
    returnType: int
    signature: 'static int des_ede_cfb64_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:188,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:189,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:191,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:190,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:189,1
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:197,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:198,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:198,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:199,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: des_ede3_cfb8_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - DES_ede3_cfb_encrypt
    - data
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:254,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:259,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:264,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:263,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:262,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:271,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:272,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 275
    functionName: des_ede3_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - DES_set_key_unchecked
    - EVP_CIPHER_CTX_get_mode
    - data
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: EVP_des_ede
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_des_ede(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:325,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:334,1
    - Dst: des_ede_cbc_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:327,1
    - Dst: des_ede_cbc_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:337,1
    - Dst: des_ede_cbc_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:339,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:341,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:342,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:343,1
    - Dst: des_ede_cbc_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:345,1
    - Dst: des_ede_cbc_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:346,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:350,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:351,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:355,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:348,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:352,1
    - Dst: ossl_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:347,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 358
    functionName: des_ede3_unwrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - OPENSSL_cleanse
    - BUF_reverse
    - des_ede_cbc_cipher
    - ossl_sha1
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_unwrap(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_is_partially_overlapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:396,1
    - Dst: des_ede3_unwrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:404,1
    - Dst: des_ede3_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:402,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:397,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: des_ede3_wrap_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - des_ede3_unwrap
    - ossl_is_partially_overlapping
    - EVP_CIPHER_CTX_is_encrypting
    - des_ede3_wrap
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_wrap_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:109,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:127,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:121,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:118,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: des_ede_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - DES_ede3_cbc_encrypt
    - data
    linkageType: ''
    returnType: int
    signature: 'static int des_ede_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:227,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:237,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:232,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:235,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:236,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:244,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:245,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: des_ede_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - data
    - memcpy
    - DES_set_key_unchecked
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: 'static int des_ede_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:285,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:292,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:288,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:290,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:286,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: des3_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - DES_set_odd_parity
    - EVP_CIPHER_CTX_get_key_length
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: 'static int des3_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void
      *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: EVP_des_ede3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_des_ede3(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:367,1
    - Dst: ossl_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:369,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:372,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:374,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:371,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:376,1
    - Dst: des_ede_cbc_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:378,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:379,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:380,1
    - Dst: des_ede_cbc_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 383
    functionName: des_ede3_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - OPENSSL_cleanse
    - RAND_bytes
    - BUF_reverse
    - des_ede_cbc_cipher
    - ossl_sha1
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_wrap(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: EVP_des_ede3_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_des_ede3_wrap(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_CIPHER_ecb_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:71,1
    - Dst: DES_ecb3_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:72,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:75,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:74,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:74,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: des_ede_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - BLOCK_CIPHER_ecb_loop
    - data
    - DES_ecb3_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int des_ede_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:169,1
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:173,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:174,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:174,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:175,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: des_ede3_cfb1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des3.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - DES_ede3_cfb_encrypt
    - EVP_CIPHER_CTX_test_flags
    - data
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int update(EVP_MD_CTX *ctx, const void *data, size_t datalen) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:55,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:76,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:92,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:111,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:108,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:117,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:114,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:207,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:218,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:351,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:317,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:66,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:147,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:152,1
    - Dst: evp_signature_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:160,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:205,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:236,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:244,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:249,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:286,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:297,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:269,1
    - Dst: evp_get_digestbyname_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:301,1
    - Dst: evp_pkey_ctx_use_cached_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:366,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:330,1
    - Dst: evp_keymgmt_util_get_deflt_digest_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:221,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:312,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:341,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:93,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:98,1
    - Dst: canon_mdname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:101,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:118,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:158,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:181,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:184,1
    - Dst: canon_mdname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:218,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:256,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:369,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:191,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:288,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:345,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:68,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:74,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:155,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:180,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:187,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:193,1
    - Dst: canon_mdname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:224,1
    - Dst: evp_md_ctx_clear_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:252,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:262,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:304,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:313,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:296,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:251,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 226
    argCount: 10
    argNames:
    - ctx
    - pctx
    - type
    - mdname
    - libctx
    - props
    - e
    - pkey
    - ver
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - EVP_MD*
    - char*
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    - EVP_PKEY*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 371
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 371
    functionName: do_sigver_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - canon_mdname
    - EVP_SIGNATURE_get0_provider
    - evp_keymgmt_fetch_from_prov
    - ERR_set_mark
    - EVP_KEYMGMT_free
    - EVP_PKEY_CTX_new_from_pkey
    - evp_signature_fetch_from_prov
    - EVP_PKEY_CTX_set_signature_md
    - EVP_DigestInit_ex
    - EVP_KEYMGMT_get0_name
    - EVP_PKEY_sign_init
    - evp_keymgmt_util_get_deflt_digest_name
    - EVP_SIGNATURE_free
    - EVP_MD_get0_name
    - EVP_PKEY_get_default_digest_nid
    - ossl_provider_ctx
    - evp_md_ctx_clear_digest
    - EVP_PKEY_CTX_new
    - EVP_KEYMGMT_get0_provider
    - evp_pkey_ctx_use_cached_data
    - ERR_clear_last_mark
    - evp_pkey_ctx_is_legacy
    - EVP_MD_fetch
    - EVP_PKEY_verify_init
    - ERR_pop_to_mark
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - ossl_assert
    - EVP_get_digestbynid
    - evp_get_digestbyname_ex
    - EVP_get_digestbyname
    - EVP_SIGNATURE_fetch
    - evp_pkey_ctx_free_old_ops
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: 'static int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const
      EVP_MD *type, const char *mdname, OSSL_LIB_CTX *libctx, const char *props, ENGINE
      *e, EVP_PKEY *pkey, int ver, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - pctx
    - type
    - e
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - EVP_MD*
    - ENGINE*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: EVP_DigestSignInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const
      EVP_MD *type, ENGINE *e, EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:417,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - data
    - dsize
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 434
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 434
    functionName: EVP_DigestSignUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t
      dsize) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:483,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:490,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:515,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:531,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:559,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:533,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:511,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:545,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:538,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:495,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:546,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:537,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:550,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:557,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 80
    argCount: 3
    argNames:
    - ctx
    - sigret
    - siglen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 564
    functionName: EVP_DigestSignFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_sign
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_get_size
    - EVP_DigestFinal_ex
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_copy_ex
    - EVP_PKEY_CTX_dup
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t
      *siglen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    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
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: EVP_DigestSignInit_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const
      char *mdname, OSSL_LIB_CTX *libctx, const char *props, EVP_PKEY *pkey, const
      OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    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
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: EVP_DigestVerifyInit_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
      const char *mdname, OSSL_LIB_CTX *libctx, const char *props, EVP_PKEY *pkey,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - pctx
    - type
    - e
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - EVP_MD*
    - ENGINE*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: EVP_DigestVerifyInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const
      EVP_MD *type, ENGINE *e, EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:447,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:463,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - data
    - dsize
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 464
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 464
    functionName: EVP_DigestVerifyUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t
      dsize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:588,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:586,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - sigret
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 589
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 589
    functionName: EVP_DigestSign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret, size_t
      *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:609,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:615,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:620,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:638,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:640,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:643,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:652,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:656,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:651,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:644,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - sig
    - siglen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 657
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 657
    functionName: EVP_DigestVerifyFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_verify
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestFinal_ex
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_copy_ex
    - EVP_PKEY_CTX_dup
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig,
      size_t siglen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:678,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:680,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - sigret
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 681
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 681
    functionName: EVP_DigestVerify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyUpdate
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret,
      size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - mdname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: canon_mdname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_sigver.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *canon_mdname(const char *mdname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: PKCS5_PBE_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS5_PBE_add(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBE_keyivgen_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: PKCS5_PBE_keyivgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c
    functionUses: []
    functionsReached:
    - PKCS5_PBE_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int
      passlen, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:50,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:50,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:52,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:88,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:85,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:100,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:108,1
    - Dst: EVP_MD_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:58,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:92,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:84,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:90,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:83,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:95,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:96,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:98,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:46,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:56,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:61,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:70,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:79,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:99,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:63,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:77,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:93,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:104,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c:107,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    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*
    constantsTouched: []
    func_position:
      end: 110
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 110
    functionName: PKCS5_PBE_keyivgen_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt.c
    functionUses: []
    functionsReached:
    - EVP_MD_name
    - EVP_CipherInit_ex
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - OSSL_PARAM_construct_int
    - EVP_KDF_fetch
    - EVP_KDF_derive
    - EVP_CIPHER_get_iv_length
    - EVP_KDF_CTX_new
    - PBEPARAM_free
    - memcpy
    - EVP_CIPHER_get_key_length
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_PARAM_construct_end
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - strlen
    - ERR_raise
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_PBE_keyivgen_ex(EVP_CIPHER_CTX *cctx, const char *pass,
      int passlen, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int
      en_de, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vkdf
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: evp_kdf_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'static int evp_kdf_up_ref(void *vkdf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:49,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:51,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: evp_kdf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_kdf_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: EVP_KDF_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KDF*
    signature: 'EVP_KDF *EVP_KDF_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
      const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kdf_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: EVP_KDF_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - evp_kdf_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_KDF_free(EVP_KDF *kdf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:190,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: EVP_KDF_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KDF_gettable_ctx_params(const EVP_KDF *kdf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:210,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: EVP_KDF_CTX_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KDF_CTX_gettable_params(EVP_KDF_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:36,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:42,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:40,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - vkdf
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: evp_kdf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void evp_kdf_free(void *vkdf) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: evp_kdf_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:67,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:71,1
    - Dst: OSSL_FUNC_kdf_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:82,1
    - Dst: evp_kdf_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:72,1
    - Dst: OSSL_FUNC_kdf_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:88,1
    - Dst: OSSL_FUNC_kdf_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:93,1
    - Dst: OSSL_FUNC_kdf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:99,1
    - Dst: OSSL_FUNC_kdf_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:104,1
    - Dst: OSSL_FUNC_kdf_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:111,1
    - Dst: OSSL_FUNC_kdf_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:128,1
    - Dst: evp_kdf_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:148,1
    - Dst: OSSL_FUNC_kdf_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:149,1
    - Dst: OSSL_FUNC_kdf_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:117,1
    - Dst: OSSL_FUNC_kdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:138,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:154,1
    - Dst: OSSL_FUNC_kdf_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:133,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 58
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 157
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 157
    functionName: evp_kdf_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_kdf_newctx
    - OSSL_FUNC_kdf_gettable_ctx_params
    - ERR_raise
    - evp_kdf_free
    - OSSL_FUNC_kdf_reset
    - OSSL_FUNC_kdf_settable_ctx_params
    - OSSL_FUNC_kdf_derive
    - OSSL_FUNC_kdf_freectx
    - OSSL_FUNC_kdf_get_ctx_params
    - ossl_algorithm_get1_first_name
    - evp_kdf_new
    - OSSL_FUNC_kdf_dupctx
    - OSSL_FUNC_kdf_set_ctx_params
    - ossl_provider_up_ref
    - OSSL_FUNC_kdf_get_params
    - OSSL_FUNC_kdf_gettable_params
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_kdf_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kdf_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: EVP_KDF_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - evp_kdf_up_ref
    linkageType: ''
    returnType: int
    signature: 'int EVP_KDF_up_ref(EVP_KDF *kdf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:181,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: EVP_KDF_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KDF_gettable_params(const EVP_KDF *kdf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:200,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: EVP_KDF_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KDF_settable_ctx_params(const EVP_KDF *kdf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:220,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: EVP_KDF_CTX_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KDF_CTX_settable_params(EVP_KDF_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: EVP_KDF_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_KDF_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_KDF
      *kdf, void *arg), void *arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:27,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:36,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:35,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:28,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:41,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:44,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:45,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:49,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:52,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:58,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:53,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:59,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 6
    argNames:
    - ctx
    - type
    - ek
    - ekl
    - iv
    - priv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - unsigned char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 61
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 61
    functionName: EVP_OpenInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - ERR_raise
    - EVP_PKEY_decrypt
    - EVP_PKEY_CTX_new
    - EVP_DecryptInit_ex
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - EVP_CIPHER_CTX_set_key_length
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const
      unsigned char *ek, int ekl, const unsigned char *iv, EVP_PKEY *priv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:67,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: EVP_OpenFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_open.c
    functionUses: []
    functionsReached:
    - EVP_DecryptInit_ex
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:27,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:38,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:32,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:35,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:40,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:41,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:46,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:48,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:51,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:53,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:55,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:60,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:53,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 6
    argNames:
    - ctx
    - sigret
    - siglen
    - pkey
    - libctx
    - propq
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 62
    functionName: EVP_SignFinal_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_sign
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_DigestFinal_ex
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_get0_md
    - EVP_MD_CTX_test_flags
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'int EVP_SignFinal_ex(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned
      int *siglen, EVP_PKEY *pkey, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SignFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - sigret
    - siglen
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: EVP_SignFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_sign.c
    functionUses: []
    functionsReached:
    - EVP_SignFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned
      int *siglen, EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:39,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:44,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - user_key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char
    - unsigned char
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: chacha_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - CHACHA_U8TOU32
    - data
    linkageType: ''
    returnType: int
    signature: 'static int chacha_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      user_key[CHACHA_KEY_SIZE], const unsigned char iv[CHACHA_CTR_SIZE], int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:170,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:186,1
    - Dst: chacha_init_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:195,1
    - Dst: chacha_init_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 199
    functionName: chacha20_poly1305_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - aead_data
    - memcpy
    - chacha_init_key
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *inkey, const unsigned char *iv, int enc) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:366,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:383,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:392,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:417,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:399,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:412,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:474,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:375,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:392,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:412,1
    - Dst: chacha_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:418,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:432,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:438,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:442,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:442,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:463,1
    - Dst: chacha20_poly1305_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:372,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:383,1
    - Dst: chacha_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:411,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:432,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:438,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:463,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:480,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:377,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:377,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:399,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:417,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:465,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:465,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:471,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:473,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 127
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 485
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 485
    functionName: chacha20_poly1305_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - aead_data
    - chacha_cipher
    - Poly1305_Init
    - ChaCha20_ctr32
    - POLY1305_ctx
    - memcpy
    - Poly1305_Final
    - CRYPTO_memcmp
    - Poly1305_Update
    - chacha20_poly1305_tls_cipher
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:498,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:506,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:516,1
    - Dst: Poly1305_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:504,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:504,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:524,1
    - Dst: Poly1305_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:524,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:526,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:546,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:548,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:550,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:557,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:575,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:593,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:565,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:592,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 606
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 606
    functionName: chacha20_poly1305_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - aead_data
    - ERR_raise
    - CHACHA_U8TOU32
    - memcpy
    - OPENSSL_memdup
    - Poly1305_ctx_size
    - OPENSSL_zalloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int
      arg, void *ptr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:60,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:116,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:117,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:106,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 4
    argNames:
    - ctx
    - out
    - inp
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 125
    functionName: chacha_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - ChaCha20_ctr32
    - data
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chacha_cipher(EVP_CIPHER_CTX * ctx, unsigned char *out,
      const unsigned char *inp, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: EVP_chacha20
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_chacha20(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:235,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:231,1
    - Dst: xor128_decrypt_n_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:244,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:256,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:260,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:300,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:310,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:340,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:341,1
    - Dst: aead_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:216,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:288,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:293,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:301,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:301,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:303,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:310,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:340,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:342,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:342,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:348,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:233,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:233,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:258,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:258,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:303,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:304,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:351,1
    - Dst: xor128_encrypt_n_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:242,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:290,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:281,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:290,1
    - Dst: POLY1305_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:293,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:317,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:350,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 159
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 358
    functionName: chacha20_poly1305_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - aead_data
    - CRYPTO_memcmp
    - Poly1305_Init
    - ChaCha20_ctr32
    - POLY1305_ctx
    - memcpy
    - Poly1305_Final
    - OPENSSL_cleanse
    - xor128_decrypt_n_pad
    - xor128_encrypt_n_pad
    - Poly1305_Update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:489,1
    - Dst: Poly1305_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:491,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: chacha20_poly1305_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - aead_data
    - OPENSSL_cleanse
    - Poly1305_ctx_size
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: EVP_chacha20_poly1305
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_chacha20_poly1305(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: EVP_sha224
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sha224(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: EVP_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sha256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: EVP_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sha1(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - evp_ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: shake_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int shake_ctrl(EVP_MD_CTX *evp_ctx, int cmd, int p1, void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: EVP_sha512_224
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sha512_224(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: EVP_sha512_256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sha512_256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: EVP_sha384
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sha384(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: EVP_sha512
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sha512(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sha1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c:67,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: sha1_int_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_sha.c
    functionUses: []
    functionsReached:
    - ossl_sha1_ctrl
    - EVP_MD_CTX_get0_md_data
    linkageType: ''
    returnType: int
    signature: 'static int sha1_int_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: evp_keyexch_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:50,1
    - Dst: OSSL_FUNC_keyexch_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:65,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:56,1
    - Dst: OSSL_FUNC_keyexch_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:51,1
    - Dst: OSSL_FUNC_keyexch_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:77,1
    - Dst: OSSL_FUNC_keyexch_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:82,1
    - Dst: OSSL_FUNC_keyexch_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:88,1
    - Dst: OSSL_FUNC_keyexch_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:94,1
    - Dst: OSSL_FUNC_keyexch_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:99,1
    - Dst: OSSL_FUNC_keyexch_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:106,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:142,1
    - Dst: OSSL_FUNC_keyexch_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:112,1
    - Dst: OSSL_FUNC_keyexch_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:135,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 56
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 144
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 144
    functionName: evp_keyexch_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_keyexch_new
    - OSSL_FUNC_keyexch_settable_ctx_params
    - OSSL_FUNC_keyexch_freectx
    - OSSL_FUNC_keyexch_set_ctx_params
    - OSSL_FUNC_keyexch_derive
    - OSSL_FUNC_keyexch_set_peer
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_keyexch_newctx
    - OSSL_FUNC_keyexch_gettable_ctx_params
    - OSSL_FUNC_keyexch_init
    - OSSL_FUNC_keyexch_dupctx
    - EVP_KEYEXCH_free
    - OSSL_FUNC_keyexch_get_ctx_params
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_keyexch_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:509,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:513,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:514,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:527,1
    - Dst: M_check_autoarg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:531,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - key
    - pkeylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 533
    functionName: EVP_PKEY_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    - EVP_PKEY_CTX_IS_DERIVE_OP
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t
      *pkeylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:152,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:156,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:155,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:157,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: EVP_KEYEXCH_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_KEYEXCH_free(EVP_KEYEXCH *exchange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: evp_keyexch_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keyexch_get_number(const EVP_KEYEXCH *keyexch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_derive_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: EVP_PKEY_derive_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_derive_init_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:22,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:25,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:32,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:31,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: evp_keyexch_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_provider_up_ref
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EVP_KEYEXCH*
    signature: 'static EVP_KEYEXCH *evp_keyexch_new(OSSL_PROVIDER *prov) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:234,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:294,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:316,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:319,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:326,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:335,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:346,1
    - Dst: evp_keymgmt_newdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:231,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:249,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:252,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:284,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:243,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:246,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:291,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:315,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:330,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:227,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:230,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:233,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:283,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:343,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:356,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:362,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:371,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:210,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:219,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:217,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:232,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:245,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:289,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:253,1
    - Dst: evp_keyexch_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:296,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:322,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:338,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:348,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 96
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 374
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 374
    functionName: EVP_PKEY_derive_init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_set_type_by_keymgmt
    - evp_keymgmt_fetch_from_prov
    - EVP_PKEY_free
    - ERR_set_mark
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_get0_name
    - evp_keyexch_fetch_from_prov
    - EVP_KEYEXCH_free
    - EVP_KEYEXCH_get0_provider
    - ossl_provider_ctx
    - EVP_PKEY_new
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYEXCH_fetch
    - ERR_clear_last_mark
    - evp_pkey_ctx_is_legacy
    - ERR_pop_to_mark
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - ossl_assert
    - evp_keymgmt_newdata
    - evp_pkey_ctx_free_old_ops
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_derive_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: EVP_KEYEXCH_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEYEXCH_up_ref(EVP_KEYEXCH *exchange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: EVP_KEYEXCH_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KEYEXCH*
    signature: 'EVP_KEYEXCH *EVP_KEYEXCH_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
      const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: EVP_KEYEXCH_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KEYEXCH_get0_name(const EVP_KEYEXCH *keyexch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: EVP_KEYEXCH_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *EVP_KEYEXCH_get0_provider(const EVP_KEYEXCH *exchange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: evp_keyexch_fetch_from_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_KEYEXCH*
    signature: 'EVP_KEYEXCH *evp_keyexch_fetch_from_prov(OSSL_PROVIDER *prov, const
      char *algorithm, const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: EVP_KEYEXCH_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KEYEXCH_get0_description(const EVP_KEYEXCH *keyexch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:594,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 596
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 596
    functionName: EVP_KEYEXCH_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYEXCH_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KEYEXCH_settable_ctx_params(const EVP_KEYEXCH
      *keyexch) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:401,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:417,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:422,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:449,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:424,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:393,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:418,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:443,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:467,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:462,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:484,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:389,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:479,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:494,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:385,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:398,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:402,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:419,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:478,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:480,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 3
    argNames:
    - ctx
    - peer
    - validate_peer
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 497
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 497
    functionName: EVP_PKEY_derive_set_peer_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - EVP_KEYEXCH_get0_provider
    - ERR_raise
    - EVP_PKEY_parameters_eq
    - evp_keymgmt_fetch_from_prov
    - EVP_PKEY_free
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_KEYMGMT_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_public_check
    - EVP_PKEY_missing_parameters
    - EVP_KEYMGMT_get0_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_up_ref
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_derive_set_peer_ex(EVP_PKEY_CTX *ctx, EVP_PKEY *peer,
      int validate_peer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - keyexch
    - name
    argTypes:
    - EVP_KEYEXCH*
    - char*
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: EVP_KEYEXCH_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *keyexch, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - keyexch
    - (*fn)
    - data
    argTypes:
    - EVP_KEYEXCH*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: EVP_KEYEXCH_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEYEXCH_names_do_all(const EVP_KEYEXCH *keyexch, void (*fn)(const
      char *name, void *data), void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_derive_set_peer_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - peer
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: EVP_PKEY_derive_set_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: EVP_KEYEXCH_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_KEYEXCH_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_KEYEXCH
      *keyexch, void *arg), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:584,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    constantsTouched: []
    func_position:
      end: 586
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 586
    functionName: EVP_KEYEXCH_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/exchange.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYEXCH_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KEYEXCH_gettable_ctx_params(const EVP_KEYEXCH
      *keyexch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_des_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: EVP_des_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_des_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_des_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_cfb128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: EVP_aes_128_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cfb128
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_128_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_bf_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: EVP_bf_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_bf_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_bf_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_des_ede3_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: EVP_des_ede3_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_des_ede3_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_des_ede3_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_des_ede_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: EVP_des_ede_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_des_ede_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_des_ede_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_idea_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: EVP_idea_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_idea_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_idea_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_rc2_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: EVP_rc2_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_rc2_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_rc2_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_cast5_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: EVP_cast5_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_cast5_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_cast5_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_rc5_32_12_16_cfb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: EVP_rc5_32_12_16_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_rc5_32_12_16_cfb64
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_rc5_32_12_16_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_192_cfb128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: EVP_aes_192_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_aes_192_cfb128
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_192_cfb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_256_cfb128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: EVP_aes_256_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_old.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_cfb128
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_256_cfb(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:44,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:43,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:57,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:59,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:61,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:63,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: EVP_CIPHER_CTX_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - OPENSSL_free
    - ENGINE_finish
    - OPENSSL_cleanse
    - memset
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:459,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: EVP_CipherUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_EncryptUpdate
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: 'int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl, const unsigned char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:475,1
    - Dst: EVP_DecryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: EVP_CipherFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_EncryptFinal
    - EVP_DecryptFinal
    linkageType: ''
    returnType: int
    signature: 'int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: EVP_EncryptInit_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      ENGINE *impl, const unsigned char *key, const unsigned char *iv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1086,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - pad
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1090
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1090
    functionName: EVP_CIPHER_CTX_set_padding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: EVP_CIPHER_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'EVP_CIPHER *EVP_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
      const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: EVP_CIPHER_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_CIPHER_CTX*
    signature: 'EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:467,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: EVP_CipherFinal_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: EVP_EncryptInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      const unsigned char *key, const unsigned char *iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: EVP_EncryptInit_ex2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      const unsigned char *key, const unsigned char *iv, const OSSL_PARAM params[]) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1103,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1192,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1206,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1212,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1180,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1226,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1261,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1271,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1277,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1279,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1262,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1175,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1186,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1208,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1214,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1236,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1293,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1143,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1136,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1147,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1160,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1188,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1193,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1201,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1230,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1239,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1254,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1259,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1112,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1117,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1154,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1169,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1215,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1228,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1234,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1238,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1248,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1251,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1285,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 123
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1297
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1297
    functionName: EVP_CIPHER_CTX_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_do_ciph_ctx_setparams
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void
      *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 1686
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1686
    functionName: EVP_CIPHER_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_up_ref(EVP_CIPHER *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:444,1
    - Dst: evp_cipher_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: EVP_CipherInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - evp_cipher_init_internal
    - EVP_CIPHER_CTX_reset
    linkageType: ''
    returnType: int
    signature: 'int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      const unsigned char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: EVP_DecryptInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      const unsigned char *key, const unsigned char *iv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1335,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1339
    functionName: EVP_CIPHER_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_CIPHER_settable_ctx_params(const EVP_CIPHER
      *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1357,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1361
    functionName: EVP_CIPHER_CTX_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_CIPHER_CTX_settable_params(EVP_CIPHER_CTX *cctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1411,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1423,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1428,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1419,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1435,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1446,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1447,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1452,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1453,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1456,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1459,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1462,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1468,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1472
    functionName: EVP_CIPHER_CTX_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - ERR_raise
    - ENGINE_init
    - memcpy
    - OPENSSL_malloc
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX
      *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1690,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1691,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1692,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1694
    functionName: evp_cipher_free_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void evp_cipher_free_int(EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: EVP_CipherInit_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - evp_cipher_init_internal
    linkageType: ''
    returnType: int
    signature: 'int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: EVP_DecryptInit_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      ENGINE *impl, const unsigned char *key, const unsigned char *iv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1346,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1350
    functionName: EVP_CIPHER_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_CIPHER_gettable_ctx_params(const EVP_CIPHER
      *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1368,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 1372
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1372
    functionName: EVP_CIPHER_CTX_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_CIPHER_CTX_gettable_params(EVP_CIPHER_CTX *cctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1476,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1479,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1487
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1487
    functionName: evp_cipher_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'EVP_CIPHER *evp_cipher_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1703,1
    - Dst: evp_cipher_free_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1707
    functionName: EVP_CIPHER_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1717
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1717
    functionName: EVP_CIPHER_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_CIPHER
      *mac, void *arg), void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: EVP_DecryptInit_ex2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      const unsigned char *key, const unsigned char *iv, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 708
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 708
    functionName: EVP_EncryptFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_EncryptFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cipher
    - params
    argTypes:
    - EVP_CIPHER*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1304
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1304
    functionName: EVP_CIPHER_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_get_params(EVP_CIPHER *cipher, OSSL_PARAM params[]) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:720,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:737,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:731,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:726,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:740,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:749,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:770,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:778,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 794
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 794
    functionName: EVP_EncryptFinal_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - ERR_raise
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1313
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1313
    functionName: EVP_CIPHER_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_set_params(EVP_CIPHER_CTX *ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1391,1
    - Dst: EVP_CIPHER_CTX_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1398,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1401,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1406
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1406
    functionName: EVP_CIPHER_CTX_rand_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_libctx
    - RAND_priv_bytes_ex
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:563,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:587,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:570,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:571,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:588,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:602,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:605,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:620,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:642,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:623,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 645
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 645
    functionName: evp_EncryptDecryptUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_is_partially_overlapping
    - OPENSSL_assert
    - memcpy
    - EVP_CIPHER_CTX_test_flags
    linkageType: ''
    returnType: int
    signature: 'static int evp_EncryptDecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned
      char *out, int *outl, const unsigned char *in, int inl) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:824,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:836,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:854,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:913,1
    - Dst: evp_EncryptDecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:903,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:897,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:818,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:894,1
    - Dst: evp_EncryptDecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:873,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:807,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:827,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:880,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:875,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:813,1
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:849,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:853,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:881,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 921
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 921
    functionName: EVP_DecryptUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_is_partially_overlapping
    - EVP_CIPHER_CTX_get_block_size
    - OPENSSL_assert
    - EVP_CIPHER_CTX_test_flags
    - memcpy
    - evp_EncryptDecryptUpdate
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl, const unsigned char *in, int inl) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:941,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:952,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:947,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:959,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:962,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:971,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:995,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1003,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1014,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1006,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1019,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 1030
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 1030
    functionName: EVP_DecryptFinal_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - ERR_raise
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1320
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1320
    functionName: EVP_CIPHER_CTX_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_get_params(EVP_CIPHER_CTX *ctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1383,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1385
    functionName: EVP_CIPHER_CTX_get_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ossl_provider_libctx
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'static OSSL_LIB_CTX *EVP_CIPHER_CTX_get_libctx(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1661
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1661
    functionName: evp_cipher_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int evp_cipher_up_ref(void *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:77,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: EVP_CIPHER_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ptr1
    - ptr2
    - len
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 555
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 555
    functionName: ossl_is_partially_overlapping
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_is_partially_overlapping(const void *ptr1, const void *ptr2,
      int len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:658,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:679,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:669,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:664,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:689,1
    - Dst: evp_EncryptDecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:700,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 701
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 701
    functionName: EVP_EncryptUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_EncryptDecryptUpdate
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl, const unsigned char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: EVP_DecryptFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1039,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1045,1
    - Dst: EVP_CIPHER_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1043,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1049,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1043,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1050,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1062,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1063,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - c
    - keylen
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1071
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1071
    functionName: EVP_CIPHER_CTX_set_key_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_do_ciph_ctx_setparams
    - OSSL_PARAM_construct_size_t
    - EVP_CIPHER_settable_ctx_params
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *c, int keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1326,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1328
    functionName: EVP_CIPHER_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_CIPHER_gettable_params(const EVP_CIPHER *cipher) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1528,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1538,1
    - Dst: OSSL_FUNC_cipher_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1585,1
    - Dst: OSSL_FUNC_cipher_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1590,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1641,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1537,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1529,1
    - Dst: OSSL_FUNC_cipher_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1596,1
    - Dst: OSSL_FUNC_cipher_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1601,1
    - Dst: OSSL_FUNC_cipher_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1611,1
    - Dst: OSSL_FUNC_cipher_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1606,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1647,1
    - Dst: evp_cipher_cache_constants
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1649,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1651,1
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1535,1
    - Dst: OSSL_FUNC_cipher_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1555,1
    - Dst: OSSL_FUNC_cipher_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1561,1
    - Dst: OSSL_FUNC_cipher_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1573,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1650,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1544,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1545,1
    - Dst: OSSL_FUNC_cipher_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1567,1
    - Dst: OSSL_FUNC_cipher_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1579,1
    - Dst: OSSL_FUNC_cipher_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1616,1
    - Dst: OSSL_FUNC_cipher_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1622,1
    - Dst: OSSL_FUNC_cipher_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1628,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1642,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 89
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1656
    functionName: evp_cipher_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - evp_cipher_new
    - OSSL_FUNC_cipher_update
    - OSSL_FUNC_cipher_get_params
    - OSSL_FUNC_cipher_get_ctx_params
    - OSSL_FUNC_cipher_gettable_params
    - OSSL_FUNC_cipher_settable_ctx_params
    - EVP_CIPHER_free
    - OSSL_FUNC_cipher_newctx
    - OSSL_FUNC_cipher_cipher
    - evp_names_do_all
    - OSSL_FUNC_cipher_set_ctx_params
    - OSSL_FUNC_cipher_freectx
    - ERR_raise
    - OSSL_FUNC_cipher_gettable_ctx_params
    - evp_cipher_cache_constants
    - OSSL_FUNC_cipher_encrypt_init
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_cipher_dupctx
    - OSSL_FUNC_cipher_final
    - OSSL_FUNC_cipher_decrypt_init
    - ossl_provider_up_ref
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_cipher_from_algorithm(const int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1666
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1666
    functionName: evp_cipher_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: 'static void evp_cipher_free(void *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - enc
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: EVP_CipherInit_ex2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - evp_cipher_init_internal
    linkageType: ''
    returnType: int
    signature: 'int EVP_CipherInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      const unsigned char *key, const unsigned char *iv, int enc, const OSSL_PARAM
      params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1505,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c:1511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - name
    - vlegacy_nid
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1517
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1517
    functionName: set_legacy_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_enc.c
    functionUses: []
    functionsReached:
    - OBJ_NAME_get
    - EVP_CIPHER_get_nid
    linkageType: ''
    returnType: void
    signature: 'static void set_legacy_nid(const char *name, void *vlegacy_nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: EVP_mdc2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_mdc2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_mdc2(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:81,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:88,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:90,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:87,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:82,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:95,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: md_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_DigestUpdate
    - BIO_get_init
    - BIO_read
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int md_read(BIO *b, char *out, int outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:51,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:55,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: md_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    - BIO_set_data
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int md_new(BIO *bi) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:140,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:145,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:183,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:189,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:139,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:145,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:164,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:144,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:149,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:152,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:154,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:161,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:171,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:186,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:170,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:172,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:177,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:165,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:184,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:179,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 43
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 193
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 193
    functionName: md_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_get_init
    - BIO_set_data
    - BIO_copy_next_retry
    - BIO_set_init
    - BIO_ctrl
    - EVP_DigestInit_ex
    - BIO_next
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_get0_md
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long md_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: BIO_f_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_md(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:65,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:67,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:66,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: md_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - BIO_set_data
    - BIO_get_data
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int md_free(BIO *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:109,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:116,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:112,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:110,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:114,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:118,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:124,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 128
    functionName: md_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - EVP_DigestUpdate
    - BIO_get_init
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int md_write(BIO *b, const char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:199,1
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: md_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long md_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:212,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:214,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: md_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_md.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_size
    - BIO_get_data
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int md_gets(BIO *bp, char *buf, int size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: OSSL_EC_curve_nid2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_EC_curve_nid2name(int nid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_curve_nist2nid_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c:137,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c:141,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: ossl_ec_curve_name2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: ossl_ec_curve_nid2nist_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_ec_curve_nid2nist_int(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c:182,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: ossl_ec_curve_nist2nid_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_support.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_curve_nist2nid_int(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_enc.c:26,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_enc.c:27,1
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_enc.c:31,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_enc.c:36,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ek
    - key
    - key_len
    - pubk
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: EVP_PKEY_encrypt_old
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_enc.c
    functionUses: []
    functionsReached:
    - RSA_public_encrypt
    - ERR_raise
    - EVP_PKEY_get_id
    - evp_pkey_get0_RSA_int
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_encrypt_old(unsigned char *ek, const unsigned char *key,
      int key_len, EVP_PKEY *pubk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:100,1
    - Dst: sk_EVP_PKEY_METHOD_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: evp_pkey_meth_find_added_by_application
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_METHOD_find
    - sk_EVP_PKEY_METHOD_value
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'static const EVP_PKEY_METHOD *evp_pkey_meth_find_added_by_application(int
      type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:164,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:172,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:166,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:168,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:170,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: evp_pkey_ctx_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_state(const EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1259
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1259
    functionName: EVP_PKEY_CTX_set_mac_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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, int keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (**pcopy)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1931
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1931
    functionName: EVP_PKEY_meth_get_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_copy(const EVP_PKEY_METHOD *pmeth, int (**pcopy)
      (EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pverifyctx_init)
    - (**pverifyctx)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2032
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2032
    functionName: EVP_PKEY_meth_get_verifyctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_verifyctx(const EVP_PKEY_METHOD *pmeth, int
      (**pverifyctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (**pverifyctx)
      (EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen, EVP_MD_CTX *mctx)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pdecrypt_init)
    - (**pdecrypt)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2060
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2060
    functionName: EVP_PKEY_meth_get_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_decrypt(const EVP_PKEY_METHOD *pmeth, int (**pdecrypt_init)
      (EVP_PKEY_CTX *ctx), int (**pdecrypt) (EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_meth_find_added_by_application
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:113,1
    - Dst: OBJ_bsearch_pmeth_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:118,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: EVP_PKEY_meth_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - OBJ_bsearch_pmeth_func
    - evp_pkey_meth_find_added_by_application
    - OSSL_NELEM
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:232,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:240,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:275,1
    - Dst: get_legacy_alg_type_from_keymgmt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:294,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:306,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:316,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:280,1
    - Dst: evp_pkey_meth_find_added_by_application
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:258,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:318,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:329,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:192,1
    - Dst: ENGINE_get_pkey_meth_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:244,1
    - Dst: ENGINE_get_pkey_meth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:252,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:325,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:335,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:354,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:336,1
    - Dst: evp_pkey_name2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:201,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:239,1
    - Dst: EVP_PKEY_meth_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:276,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:304,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:320,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:213,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:305,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:349,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 140
    argCount: 6
    argNames:
    - libctx
    - pkey
    - e
    - keytype
    - propquery
    - id
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    - ENGINE*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 360
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 360
    functionName: int_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_get_pkey_meth_engine
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_get0_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_up_ref
    - evp_pkey_name2type
    - OPENSSL_strdup
    - evp_pkey_is_provided
    - ENGINE_get_pkey_meth
    - OBJ_nid2sn
    - OPENSSL_free
    - ENGINE_finish
    - OPENSSL_zalloc
    - get_legacy_alg_type_from_keymgmt
    - evp_pkey_meth_find_added_by_application
    - EVP_PKEY_meth_find
    - EVP_KEYMGMT_up_ref
    - ENGINE_init
    - ERR_raise
    - ossl_assert
    - EVP_KEYMGMT_fetch
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'static EVP_PKEY_CTX *int_ctx_new(OSSL_LIB_CTX *libctx, EVP_PKEY *pkey,
      ENGINE *e, const char *keytype, const char *propquery, int id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1266,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1273,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1275,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1270,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - op
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1277
    functionName: EVP_PKEY_CTX_set_kem_op
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_IS_KEM_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_kem_op(EVP_PKEY_CTX *ctx, const char *op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (**pcleanup)
    argTypes:
    - EVP_PKEY_METHOD*
    - void
    constantsTouched: []
    func_position:
      end: 1937
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1937
    functionName: EVP_PKEY_meth_get_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_cleanup(const EVP_PKEY_METHOD *pmeth, void
      (**pcleanup) (EVP_PKEY_CTX *ctx)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pencrypt_init)
    - (**pencryptfn)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2046
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2046
    functionName: EVP_PKEY_meth_get_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_encrypt(const EVP_PKEY_METHOD *pmeth, int (**pencrypt_init)
      (EVP_PKEY_CTX *ctx), int (**pencryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pderive_init)
    - (**pderive)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2072
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2072
    functionName: EVP_PKEY_meth_get_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_derive(const EVP_PKEY_METHOD *pmeth, int (**pderive_init)
      (EVP_PKEY_CTX *ctx), int (**pderive) (EVP_PKEY_CTX *ctx, unsigned char *key,
      size_t *keylen)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get1_id_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id_len
    argTypes:
    - EVP_PKEY_CTX*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1348
    functionName: evp_pkey_ctx_get1_id_len_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - get1_id_data
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_get1_id_len_prov(EVP_PKEY_CTX *ctx, size_t *id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: get_legacy_alg_type_from_keymgmt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_KEYMGMT_names_do_all
    linkageType: ''
    returnType: int
    signature: 'static int get_legacy_alg_type_from_keymgmt(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 1353
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1353
    functionName: EVP_PKEY_CTX_get1_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get1_id(EVP_PKEY_CTX *ctx, void *id) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:379,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:385,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:382,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:388,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:391,1
    - Dst: EVP_KEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:394,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:398,1
    - Dst: evp_keymgmt_gen_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:406,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:404,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 408
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 408
    functionName: evp_pkey_ctx_free_old_ops
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_gen_cleanup
    - EVP_KEM_free
    - EVP_SIGNATURE_free
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_ASYM_CIPHER_free
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_KEYEXCH_free
    linkageType: ''
    returnType: void
    signature: 'void evp_pkey_ctx_free_old_ops(EVP_PKEY_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:690,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:692,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:698,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:704,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:710,1
    - Dst: evp_keymgmt_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:714,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:716,1
    - Dst: evp_pkey_ctx_set_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:726,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 730
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 730
    functionName: EVP_PKEY_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - evp_pkey_ctx_set_params_to_ctrl
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - evp_keymgmt_gen_set_params
    - evp_pkey_ctx_state
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, const OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1140
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1140
    functionName: EVP_PKEY_CTX_set1_hkdf_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set1_hkdf_key(EVP_PKEY_CTX *ctx, const unsigned char
      *key, int keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*digestverify)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1893
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1893
    functionName: EVP_PKEY_meth_set_digestverify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_digestverify(EVP_PKEY_METHOD *pmeth, int (*digestverify)
      (EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen, const unsigned char
      *tbs, size_t tbslen)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_all_cached_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:419,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:423,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:417,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:421,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:424,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:425,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:427,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:429,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: EVP_PKEY_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    - ENGINE_finish
    - EVP_KEYMGMT_free
    - evp_pkey_ctx_free_all_cached_data
    - BN_free
    - evp_pkey_ctx_free_old_ops
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:734,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:736,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:742,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:748,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:754,1
    - Dst: evp_pkey_ctx_get_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:764,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 768
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 768
    functionName: EVP_PKEY_CTX_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_get_params_to_ctrl
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - evp_pkey_ctx_state
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_add1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - info
    - infolen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1150
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1150
    functionName: EVP_PKEY_CTX_add1_hkdf_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_add1_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_add1_hkdf_info(EVP_PKEY_CTX *ctx, const unsigned
      char *info, int infolen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*check)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1899
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1899
    functionName: EVP_PKEY_meth_set_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth, int (*check)
      (EVP_PKEY *pkey)) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1445,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1455,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1458,1
    - Dst: evp_pkey_ctx_ctrl_str_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1451,1
    - Dst: evp_pkey_ctx_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1449,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1459,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1468
    functionName: evp_pkey_ctx_ctrl_str_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcmp
    - evp_pkey_ctx_ctrl_str_to_param
    - EVP_PKEY_CTX_md
    - evp_pkey_ctx_state
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_ctrl_str_int(EVP_PKEY_CTX *ctx, const char
      *name, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1476,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1480,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1478,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1482,1
    - Dst: evp_pkey_ctx_store_cached_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1477,1
    - Dst: evp_pkey_ctx_ctrl_str_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1493
    functionName: EVP_PKEY_CTX_ctrl_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - evp_pkey_ctx_ctrl_str_int
    - ERR_set_mark
    - evp_pkey_ctx_store_cached_data
    - ERR_clear_last_mark
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *name, const
      char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - name
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: EVP_PKEY_CTX_new_from_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX *libctx, const
      char *name, const char *propquery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:628,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:635,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:630,1
    - Dst: sk_EVP_PKEY_METHOD_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:638,1
    - Dst: sk_EVP_PKEY_METHOD_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    constantsTouched: []
    func_position:
      end: 640
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 640
    functionName: EVP_PKEY_meth_add0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_METHOD_sort
    - sk_EVP_PKEY_METHOD_push
    - ERR_raise
    - sk_EVP_PKEY_METHOD_new
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - dat
    - datlen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1703
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1703
    functionName: EVP_PKEY_CTX_set0_keygen_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: 11
    EdgeCount: 11
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*verifyctx_init)
    - (*verifyctx)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1833
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1833
    functionName: EVP_PKEY_meth_set_verifyctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, int (*verifyctx_init)
      (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (*verifyctx) (EVP_PKEY_CTX *ctx,
      const unsigned char *sig, int siglen, EVP_MD_CTX *mctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*digest_custom)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1918
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1918
    functionName: EVP_PKEY_meth_set_digest_custom
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_digest_custom(EVP_PKEY_METHOD *pmeth, int (*digest_custom)
      (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - pkey
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    - char*
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: EVP_PKEY_CTX_new_from_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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, const char *propquery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: evp_app_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_METHOD_pop_free
    linkageType: ''
    returnType: void
    signature: 'void evp_app_cleanup_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 1708
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1708
    functionName: EVP_PKEY_CTX_set_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*encrypt_init)
    - (*encryptfn)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1845
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1845
    functionName: EVP_PKEY_meth_set_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, int (*encrypt_init)
      (EVP_PKEY_CTX *ctx), int (*encryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (**pinit)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1924
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1924
    functionName: EVP_PKEY_meth_get_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_init(const EVP_PKEY_METHOD *pmeth, int (**pinit)
      (EVP_PKEY_CTX *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1713
    functionName: EVP_PKEY_CTX_get_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_PKEY_CTX_get_data(const EVP_PKEY_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pctrl)
    - (**pctrl_str)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2085
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2085
    functionName: EVP_PKEY_meth_get_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth, int (**pctrl)
      (EVP_PKEY_CTX *ctx, int type, int p1, void *p2), int (**pctrl_str) (EVP_PKEY_CTX
      *ctx, const char *type, const char *value)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY_METHOD**
    - EVP_PKEY_METHOD**
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: pmeth_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pmeth_cmp(const EVP_PKEY_METHOD *const *a, const EVP_PKEY_METHOD
      *const *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1718
    functionName: EVP_PKEY_CTX_get0_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (**digestsign)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 2093
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2093
    functionName: EVP_PKEY_meth_get_digestsign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_digestsign(const EVP_PKEY_METHOD *pmeth, int
      (**digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned
      char *tbs, size_t tbslen)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 2
    argNames:
    - pmeth
    - (**pdigest_custom)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 2131
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2131
    functionName: EVP_PKEY_meth_get_digest_custom
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_digest_custom(const EVP_PKEY_METHOD *pmeth,
      int (**pdigest_custom) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - id
    - flags
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: EVP_PKEY_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: EVP_PKEY_CTX_set_hkdf_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1316,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1317,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1326,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1324,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1322,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1328,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - id
    - id_len
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1338
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1338
    functionName: get1_id_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - memcpy
    - OSSL_PARAM_construct_octet_ptr
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int get1_id_data(EVP_PKEY_CTX *ctx, void *id, size_t *id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1240
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1240
    functionName: EVP_PKEY_CTX_set_scrypt_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*decrypt_init)
    - (*decrypt)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1857
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1857
    functionName: EVP_PKEY_meth_set_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, int (*decrypt_init)
      (EVP_PKEY_CTX *ctx), int (*decrypt) (EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pverify_recover_init)
    - (**pverify_recover)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2004
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2004
    functionName: EVP_PKEY_meth_get_verify_recover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_verify_recover(const EVP_PKEY_METHOD *pmeth,
      int (**pverify_recover_init) (EVP_PKEY_CTX *ctx), int (**pverify_recover) (EVP_PKEY_CTX
      *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_name2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - keytype
    - arg
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: help_get_legacy_alg_type_from_keymgmt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_name2type
    linkageType: ''
    returnType: void
    signature: 'static void help_get_legacy_alg_type_from_keymgmt(const char *keytype,
      void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:668,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:672,1
    - Dst: sk_EVP_PKEY_METHOD_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:675,1
    - Dst: sk_EVP_PKEY_METHOD_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 676
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 676
    functionName: EVP_PKEY_meth_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_METHOD_num
    - OSSL_NELEM
    - sk_EVP_PKEY_METHOD_value
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - salt
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1130
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1130
    functionName: EVP_PKEY_CTX_set1_hkdf_salt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set1_hkdf_salt(EVP_PKEY_CTX *ctx, const unsigned
      char *salt, int saltlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - maxmem_bytes
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1249
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1249
    functionName: EVP_PKEY_CTX_set_scrypt_maxmem_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_set_uint64
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_scrypt_maxmem_bytes(EVP_PKEY_CTX *ctx, uint64_t
      maxmem_bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get1_id_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1343
    functionName: evp_pkey_ctx_get1_id_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - get1_id_data
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_get1_id_prov(EVP_PKEY_CTX *ctx, void *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*derive_init)
    - (*derive)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1867
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1867
    functionName: EVP_PKEY_meth_set_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, int (*derive_init)
      (EVP_PKEY_CTX *ctx), int (*derive) (EVP_PKEY_CTX *ctx, unsigned char *key, size_t
      *keylen)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**psignctx_init)
    - (**psignctx)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2018
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2018
    functionName: EVP_PKEY_meth_get_signctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_signctx(const EVP_PKEY_METHOD *pmeth, int (**psignctx_init)
      (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (**psignctx) (EVP_PKEY_CTX *ctx,
      unsigned char *sig, size_t *siglen, EVP_MD_CTX *mctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1631
    functionName: EVP_PKEY_CTX_get0_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_PKEY_CTX_get0_propq(const EVP_PKEY_CTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1635,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1640,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1637,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1638,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1641,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1643,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1644,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1646,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1647,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1649,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1653
    functionName: EVP_PKEY_CTX_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_KEYEXCH_get0_provider
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_KEYMGMT_get0_provider
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_PKEY_CTX_get0_provider(const EVP_PKEY_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - sec
    - seclen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1103
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1103
    functionName: EVP_PKEY_CTX_set1_tls1_prf_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set1_tls1_prf_secret(EVP_PKEY_CTX *ctx, const unsigned
      char *sec, int seclen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - salt
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1197
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1197
    functionName: EVP_PKEY_CTX_set1_scrypt_salt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set1_scrypt_salt(EVP_PKEY_CTX *ctx, const unsigned
      char *salt, int saltlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1723
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1723
    functionName: EVP_PKEY_CTX_get0_peerkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*verify_recover_init)
    - (*verify_recover)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1809
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1809
    functionName: EVP_PKEY_meth_set_verify_recover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, int
      (*verify_recover_init) (EVP_PKEY_CTX *ctx), int (*verify_recover) (EVP_PKEY_CTX
      *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*check)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1905
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1905
    functionName: EVP_PKEY_meth_set_public_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_public_check(EVP_PKEY_METHOD *pmeth, int (*check)
      (EVP_PKEY *pkey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - seed
    - seedlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1113
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1113
    functionName: EVP_PKEY_CTX_add1_tls1_prf_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_add1_tls1_prf_seed(EVP_PKEY_CTX *ctx, const unsigned
      char *seed, int seedlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1204,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1216,1
    - Dst: EVP_PKEY_CTX_ctrl_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1205,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1215,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - param
    - op
    - ctrl
    - val
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - int
    - int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1219
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1219
    functionName: evp_pkey_ctx_set_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_ctrl_uint64
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint64
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_set_uint64(EVP_PKEY_CTX *ctx, const char *param,
      int op, int ctrl, uint64_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1728
    functionName: EVP_PKEY_CTX_set_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*signctx_init)
    - (*signctx)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1821
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1821
    functionName: EVP_PKEY_meth_set_signctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, int (*signctx_init)
      (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), int (*signctx) (EVP_PKEY_CTX *ctx, unsigned
      char *sig, size_t *siglen, EVP_MD_CTX *mctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*check)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1911
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1911
    functionName: EVP_PKEY_meth_set_param_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_param_check(EVP_PKEY_METHOD *pmeth, int (*check)
      (EVP_PKEY *pkey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id_len
    argTypes:
    - EVP_PKEY_CTX*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1359
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1359
    functionName: EVP_PKEY_CTX_get1_id_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*sign_init)
    - (*sign)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1781
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1781
    functionName: EVP_PKEY_meth_set_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, int (*sign_init)
      (EVP_PKEY_CTX *ctx), int (*sign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t
      *siglen, const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**psign_init)
    - (**psign)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1972
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1972
    functionName: EVP_PKEY_meth_get_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_sign(const EVP_PKEY_METHOD *pmeth, int (**psign_init)
      (EVP_PKEY_CTX *ctx), int (**psign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t
      *siglen, const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1373,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1378,1
    - Dst: evp_pkey_ctx_ctrl_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1385,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1389,1
    - Dst: evp_pkey_ctx_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1383,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1398,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 6
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1402
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1402
    functionName: evp_pkey_ctx_ctrl_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_ctx_ctrl_to_param
    - evp_pkey_ctx_state
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_ctrl_int(EVP_PKEY_CTX *ctx, int keytype, int
      optype, int cmd, int p1, void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*verify_init)
    - (*verify)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1793
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1793
    functionName: EVP_PKEY_meth_set_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, int (*verify_init)
      (EVP_PKEY_CTX *ctx), int (*verify) (EVP_PKEY_CTX *ctx, const unsigned char *sig,
      size_t siglen, const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pverify_init)
    - (**pverify)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1986
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1986
    functionName: EVP_PKEY_meth_get_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_verify(const EVP_PKEY_METHOD *pmeth, int (**pverify_init)
      (EVP_PKEY_CTX *ctx), int (**pverify) (EVP_PKEY_CTX *ctx, const unsigned char
      *sig, size_t siglen, const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*paramgen_init)
    - (*paramgen)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1761
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1761
    functionName: EVP_PKEY_meth_set_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, int (*paramgen_init)
      (EVP_PKEY_CTX *ctx), int (*paramgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pparamgen_init)
    - (**pparamgen)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1948
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1948
    functionName: EVP_PKEY_meth_get_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_paramgen(const EVP_PKEY_METHOD *pmeth, int
      (**pparamgen_init) (EVP_PKEY_CTX *ctx), int (**pparamgen) (EVP_PKEY_CTX *ctx,
      EVP_PKEY *pkey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*keygen_init)
    - (*keygen)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1770
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1770
    functionName: EVP_PKEY_meth_set_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, int (*keygen_init)
      (EVP_PKEY_CTX *ctx), int (*keygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (**pkeygen_init)
    - (**pkeygen)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1959
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1959
    functionName: EVP_PKEY_meth_get_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_keygen(const EVP_PKEY_METHOD *pmeth, int (**pkeygen_init)
      (EVP_PKEY_CTX *ctx), int (**pkeygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: EVP_PKEY_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - id
    - e
    argTypes:
    - int
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: EVP_PKEY_CTX_new_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:921,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:931,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:928,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:922,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:934,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:936,1
    - Dst: evp_get_digestbyname_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 946
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 946
    functionName: EVP_PKEY_CTX_get_signature_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_get_digestbyname_ex
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD
      **md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 986
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 986
    functionName: EVP_PKEY_CTX_set_signature_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1156,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1157,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1164,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1174,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1177
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1177
    functionName: EVP_PKEY_CTX_set_hkdf_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_end
    - 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: int_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - e
    argTypes:
    - EVP_PKEY*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: EVP_PKEY_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:478,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:497,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:518,1
    - Dst: EVP_KEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:581,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:612,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:479,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:510,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:524,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:531,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:527,1
    - Dst: EVP_KEM_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:569,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:573,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:587,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:598,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:490,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:539,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:560,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:610,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:606,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:621,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:483,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:485,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:503,1
    - Dst: EVP_KEYEXCH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:506,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:552,1
    - Dst: EVP_ASYM_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:548,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:545,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:566,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 123
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 623
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 623
    functionName: EVP_PKEY_CTX_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_KEM_free
    - EVP_KEYMGMT_free
    - EVP_KEYEXCH_up_ref
    - EVP_PKEY_CTX_free
    - EVP_PKEY_up_ref
    - OPENSSL_strdup
    - EVP_SIGNATURE_up_ref
    - EVP_SIGNATURE_free
    - OPENSSL_zalloc
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_KEYEXCH_free
    - EVP_KEYMGMT_up_ref
    - EVP_KEM_up_ref
    - ENGINE_init
    - EVP_ASYM_CIPHER_up_ref
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_ASYM_CIPHER_free
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - ERR_raise
    - ossl_assert
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *pctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:956,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:976,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:970,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:962,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:967,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - ctx
    - md
    - fallback
    - param
    - op
    - ctrl
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    - int
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 979
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 979
    functionName: evp_pkey_ctx_set_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_set_md(EVP_PKEY_CTX *ctx, const EVP_MD *md,
      int fallback, const char *param, int op, int ctrl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: EVP_PKEY_CTX_set_tls1_prf_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pass
    - passlen
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1187
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1187
    functionName: EVP_PKEY_CTX_set1_pbe_pass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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,
      int passlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - ppkey_id
    - pflags
    - meth
    argTypes:
    - int*
    - int*
    - EVP_PKEY_METHOD*
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: EVP_PKEY_meth_get0_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, const EVP_PKEY_METHOD
      *meth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1503,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1504,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - cmd
    - name
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1509
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1509
    functionName: decode_cmd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - strcmp
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'static int decode_cmd(int cmd, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_METHOD*
    - EVP_PKEY_METHOD*
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: EVP_PKEY_meth_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD
      *src) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1521,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1536,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1533,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1525,1
    - Dst: evp_pkey_ctx_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1530,1
    - Dst: evp_pkey_type2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1537,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1538,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1545,1
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1548,1
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1548,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1549,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1556,1
    - Dst: evp_pkey_ctx_free_cached_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1562,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1564,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1571,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1573,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1566,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 7
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - name
    - data
    - data_len
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1582
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1582
    functionName: evp_pkey_ctx_store_cached_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_free_cached_data
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_memdup
    - EVP_KEYMGMT_is_a
    - EVP_PKEY_type
    - evp_pkey_type2name
    - decode_cmd
    - evp_pkey_ctx_state
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_store_cached_data(EVP_PKEY_CTX *ctx, int keytype,
      int optype, int cmd, const char *name, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_delete_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: EVP_PKEY_meth_remove
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_METHOD_delete_ptr
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_meth_remove(const EVP_PKEY_METHOD *pmeth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - cmd
    - str
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1665
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1665
    functionName: EVP_PKEY_CTX_str2ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (**digestverify)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 2102
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2102
    functionName: EVP_PKEY_meth_get_digestverify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_digestverify(const EVP_PKEY_METHOD *pmeth,
      int (**digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen,
      const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:659,1
    - Dst: sk_EVP_PKEY_METHOD_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: EVP_PKEY_meth_get_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_METHOD_num
    - OSSL_NELEM
    linkageType: ''
    returnType: size_t
    signature: 'size_t EVP_PKEY_meth_get_count(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1673,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cmd
    - hex
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1680
    functionName: EVP_PKEY_CTX_hex2ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - pmeth
    - (**pcheck)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 2109
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2109
    functionName: EVP_PKEY_meth_get_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth, int (**pcheck)
      (EVP_PKEY *pkey)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_ctrl_str_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1613,1
    - Dst: evp_pkey_ctx_ctrl_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1621
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1621
    functionName: evp_pkey_ctx_use_cached_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_ctrl_int
    - evp_pkey_ctx_ctrl_str_int
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_use_cached_data(EVP_PKEY_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:875,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:886,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:876,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:881,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 887
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 887
    functionName: evp_pkey_ctx_set_params_strict
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_settable_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: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1003,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1018,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1014,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1010,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1025,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 7
    argNames:
    - ctx
    - fallback
    - param
    - op
    - ctrl
    - data
    - datalen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1028
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1028
    functionName: evp_pkey_ctx_set1_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_set1_octet_string(EVP_PKEY_CTX *ctx, int fallback,
      const char *param, int op, int ctrl, const unsigned char *data, int datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1226
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1226
    functionName: EVP_PKEY_CTX_set_scrypt_N
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1687,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1688,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - optype
    - cmd
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1692
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1692
    functionName: EVP_PKEY_CTX_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbyname
    - ERR_raise
    - EVP_PKEY_CTX_ctrl
    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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1733
    functionName: EVP_PKEY_CTX_get_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*copy)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1746
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1746
    functionName: EVP_PKEY_meth_set_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, int (*copy) (EVP_PKEY_CTX
      *dst, const EVP_PKEY_CTX *src)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1626
    functionName: EVP_PKEY_CTX_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *EVP_PKEY_CTX_get0_libctx(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1697
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1697
    functionName: EVP_PKEY_CTX_get_operation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:900,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:901,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:911,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:906,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 912
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 912
    functionName: evp_pkey_ctx_get_params_strict
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_gettable_params
    - evp_pkey_ctx_is_provided
    - EVP_PKEY_CTX_get_params
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_get_params_strict(EVP_PKEY_CTX *ctx, OSSL_PARAM *params) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1042,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1060,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1053,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1049,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1061,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1063,1
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1068,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1073,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1078,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1082,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1091,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1087,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1088,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 7
    argNames:
    - ctx
    - fallback
    - param
    - op
    - ctrl
    - data
    - datalen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1093
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1093
    functionName: evp_pkey_ctx_add1_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - memcpy
    - OPENSSL_zalloc
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - evp_pkey_ctx_set1_octet_string
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_add1_octet_string(EVP_PKEY_CTX *ctx, int fallback,
      const char *param, int op, int ctrl, const unsigned char *data, int datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - r
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1233
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1233
    functionName: EVP_PKEY_CTX_set_scrypt_r
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*init)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1739
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1739
    functionName: EVP_PKEY_meth_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, int (*init) (EVP_PKEY_CTX
      *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*cleanup)
    argTypes:
    - EVP_PKEY_METHOD*
    - void
    constantsTouched: []
    func_position:
      end: 1752
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1752
    functionName: EVP_PKEY_meth_set_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, void (*cleanup)
      (EVP_PKEY_CTX *ctx)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1587,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1591,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cmd
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1596
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1596
    functionName: evp_pkey_ctx_free_cached_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - decode_cmd
    linkageType: ''
    returnType: void
    signature: 'static void evp_pkey_ctx_free_cached_data(EVP_PKEY_CTX *ctx, int cmd,
      const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:775,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:782,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:778,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:778,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:785,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:786,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:790,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:793,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:801,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:801,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:794,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:798,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 806
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 806
    functionName: EVP_PKEY_CTX_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYEXCH_get0_provider
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_PKEY_CTX_gettable_params(const EVP_PKEY_CTX
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1284,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1290,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1285,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1298,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1296,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - id
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1302
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1302
    functionName: evp_pkey_ctx_set1_id_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_set1_id_prov(EVP_PKEY_CTX *ctx, const void *id, int
      len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1410,1
    - Dst: evp_pkey_ctx_store_cached_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1415,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1420,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1414,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1418,1
    - Dst: evp_pkey_ctx_ctrl_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1430
    functionName: EVP_PKEY_CTX_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - ERR_set_mark
    - evp_pkey_ctx_ctrl_int
    - evp_pkey_ctx_store_cached_data
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,
      int cmd, int p1, void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 3
    argNames:
    - pmeth
    - (*ctrl)
    - (*ctrl_str)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1878
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1878
    functionName: EVP_PKEY_meth_set_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, int (*ctrl) (EVP_PKEY_CTX
      *ctx, int type, int p1, void *p2), int (*ctrl_str) (EVP_PKEY_CTX *ctx, const
      char *type, const char *value)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - pmeth
    - (**pcheck)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 2116
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2116
    functionName: EVP_PKEY_meth_get_public_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_public_check(const EVP_PKEY_METHOD *pmeth,
      int (**pcheck) (EVP_PKEY *pkey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_cached_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1601
    functionName: evp_pkey_ctx_free_all_cached_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_free_cached_data
    linkageType: ''
    returnType: void
    signature: 'static void evp_pkey_ctx_free_all_cached_data(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY_METHOD**
    - pmeth_fn*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pmeth_func_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pmeth_func_cmp(const EVP_PKEY_METHOD *const *a, pmeth_fn
      const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:682,1
    - Dst: evp_pkey_name2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:683,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - keytype
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: EVP_PKEY_CTX_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:842,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:835,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:815,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:823,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:831,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:838,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:845,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:812,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:819,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:827,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:815,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:822,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:830,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:845,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:838,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 850
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 850
    functionName: EVP_PKEY_CTX_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYEXCH_get0_provider
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_KEYMGMT_get0_provider
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_PKEY_CTX_settable_params(const EVP_PKEY_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - id
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: EVP_PKEY_CTX_set1_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c:1435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1436
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1436
    functionName: EVP_PKEY_CTX_ctrl_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype,
      int cmd, uint64_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - pmeth
    - (*digestsign)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 1885
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1885
    functionName: EVP_PKEY_meth_set_digestsign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_set_digestsign(EVP_PKEY_METHOD *pmeth, int (*digestsign)
      (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen, const unsigned char *tbs,
      size_t tbslen)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - pmeth
    - (**pcheck)
    argTypes:
    - EVP_PKEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 2123
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2123
    functionName: EVP_PKEY_meth_get_param_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_meth_get_param_check(const EVP_PKEY_METHOD *pmeth, int
      (**pcheck) (EVP_PKEY *pkey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: evp_asym_cipher_fetch_from_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_ASYM_CIPHER*
    signature: 'EVP_ASYM_CIPHER *evp_asym_cipher_fetch_from_prov(OSSL_PROVIDER *prov,
      const char *algorithm, const char *properties) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: EVP_ASYM_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:97,1
    - Dst: evp_asym_cipher_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:105,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:124,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:154,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:55,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:59,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:62,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:125,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:128,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:169,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:35,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:92,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:100,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:93,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:131,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:139,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:183,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:184,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:209,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:203,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:44,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:40,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:38,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:52,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:63,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:103,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:135,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:162,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 104
    argCount: 3
    argNames:
    - ctx
    - operation
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 214
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 214
    functionName: evp_pkey_asym_cipher_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - EVP_ASYM_CIPHER_fetch
    - ERR_pop_to_mark
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - evp_pkey_ctx_is_legacy
    - ossl_assert
    - ossl_provider_ctx
    - evp_asym_cipher_fetch_from_prov
    - evp_keymgmt_fetch_from_prov
    - ERR_set_mark
    - EVP_KEYMGMT_free
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_ASYM_CIPHER_free
    - evp_pkey_ctx_free_old_ops
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_get0_name
    - ERR_clear_last_mark
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_asym_cipher_init(EVP_PKEY_CTX *ctx, int operation,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cipher
    - name
    argTypes:
    - EVP_ASYM_CIPHER*
    - char*
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: EVP_ASYM_CIPHER_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: 'int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:549,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - cip
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: EVP_ASYM_CIPHER_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_ASYM_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_ASYM_CIPHER_settable_ctx_params(const EVP_ASYM_CIPHER
      *cip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:446,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:452,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:450,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:451,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 453
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 453
    functionName: EVP_ASYM_CIPHER_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: EVP_ASYM_CIPHER_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int EVP_ASYM_CIPHER_up_ref(EVP_ASYM_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: EVP_PKEY_encrypt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_pkey_asym_cipher_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:251,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:238,1
    - Dst: M_check_autoarg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 256
    functionName: EVP_PKEY_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t
      *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: EVP_PKEY_decrypt_init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: EVP_ASYM_CIPHER_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *EVP_ASYM_CIPHER_get0_provider(const EVP_ASYM_CIPHER
      *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: EVP_PKEY_encrypt_init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: EVP_PKEY_decrypt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_pkey_asym_cipher_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:275,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:293,1
    - Dst: M_check_autoarg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:296,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: EVP_PKEY_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t
      *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: EVP_ASYM_CIPHER_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_ASYM_CIPHER*
    signature: 'EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char
      *algorithm, const char *properties) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:306,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:310,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:312,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:313,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 321
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 321
    functionName: evp_asym_cipher_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_provider_up_ref
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EVP_ASYM_CIPHER*
    signature: 'static EVP_ASYM_CIPHER *evp_asym_cipher_new(OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: evp_asym_cipher_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_asym_cipher_get_number(const EVP_ASYM_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: EVP_ASYM_CIPHER_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_ASYM_CIPHER_get0_description(const EVP_ASYM_CIPHER
      *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - cipher
    - (*fn)
    - data
    argTypes:
    - EVP_ASYM_CIPHER*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: EVP_ASYM_CIPHER_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_ASYM_CIPHER_names_do_all(const EVP_ASYM_CIPHER *cipher, void
      (*fn)(const char *name, void *data), void *data) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: evp_asym_cipher_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:332,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:338,1
    - Dst: OSSL_FUNC_asym_cipher_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:347,1
    - Dst: OSSL_FUNC_asym_cipher_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:353,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:333,1
    - Dst: OSSL_FUNC_asym_cipher_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:359,1
    - Dst: OSSL_FUNC_asym_cipher_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:365,1
    - Dst: OSSL_FUNC_asym_cipher_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:371,1
    - Dst: OSSL_FUNC_asym_cipher_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:377,1
    - Dst: OSSL_FUNC_asym_cipher_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:383,1
    - Dst: OSSL_FUNC_asym_cipher_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:403,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:436,1
    - Dst: OSSL_FUNC_asym_cipher_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:410,1
    - Dst: OSSL_FUNC_asym_cipher_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:389,1
    - Dst: OSSL_FUNC_asym_cipher_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:396,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:430,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 71
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 438
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 438
    functionName: evp_asym_cipher_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_asym_cipher_new
    - ERR_raise
    - OSSL_FUNC_asym_cipher_decrypt
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_asym_cipher_set_ctx_params
    - OSSL_FUNC_asym_cipher_encrypt
    - OSSL_FUNC_asym_cipher_encrypt_init
    - OSSL_FUNC_asym_cipher_dupctx
    - OSSL_FUNC_asym_cipher_settable_ctx_params
    - EVP_ASYM_CIPHER_free
    - OSSL_FUNC_asym_cipher_decrypt_init
    - OSSL_FUNC_asym_cipher_gettable_ctx_params
    - OSSL_FUNC_asym_cipher_get_ctx_params
    - OSSL_FUNC_asym_cipher_freectx
    - OSSL_FUNC_asym_cipher_newctx
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_asym_cipher_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: EVP_ASYM_CIPHER_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_ASYM_CIPHER_get0_name(const EVP_ASYM_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 518
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 518
    functionName: EVP_ASYM_CIPHER_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_ASYM_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_ASYM_CIPHER
      *cipher, void *arg), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:538,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - cip
    argTypes:
    - EVP_ASYM_CIPHER*
    constantsTouched: []
    func_position:
      end: 540
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 540
    functionName: EVP_ASYM_CIPHER_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/asymcipher.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_ASYM_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_ASYM_CIPHER_gettable_ctx_params(const EVP_ASYM_CIPHER
      *cip) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:30,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:47,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:56,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:75,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:77,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:43,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:38,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:46,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:50,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:65,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:62,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:78,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:53,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:55,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:59,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:68,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:66,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:58,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:74,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:52,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:70,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:72,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:69,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:73,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    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*
    constantsTouched: []
    func_position:
      end: 80
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 80
    functionName: ossl_pkcs5_pbkdf2_hmac_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - BIO_hex_string
    - EVP_KDF_fetch
    - EVP_MD_get0_name
    - EVP_KDF_derive
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_TRACE_END
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_pkcs5_pbkdf2_hmac_ex(const char *pass, int passlen, const
      unsigned char *salt, int saltlen, int iter, const EVP_MD *digest, int keylen,
      unsigned char *out, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:65,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:68,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:70,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:69,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:66,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:72,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:73,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:74,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:75,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: (PKCS5V2)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_hex_string
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (PKCS5V2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:98,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:101,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 7
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - keylen
    - out
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: PKCS5_PBKDF2_HMAC_SHA1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    - ossl_pkcs5_pbkdf2_hmac_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, const unsigned
      char *salt, int saltlen, int iter, int keylen, unsigned char *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_v2_PBE_keyivgen_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: PKCS5_v2_PBE_keyivgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - PKCS5_v2_PBE_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int
      passlen, ASN1_TYPE *param, const EVP_CIPHER *c, const EVP_MD *md, int en_de) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: PKCS5_PBKDF2_HMAC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - ossl_pkcs5_pbkdf2_hmac_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, const unsigned
      char *salt, int saltlen, int iter, const EVP_MD *digest, int keylen, unsigned
      char *out) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:229,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:236,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:252,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:256,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:258,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:260,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:202,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:198,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:202,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:209,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:234,1
    - Dst: PBKDF2PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:259,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:219,1
    - Dst: EVP_PBE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:228,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:224,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:239,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:242,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:253,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:194,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:218,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:234,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:238,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:245,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 60
    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*
    constantsTouched: []
    func_position:
      end: 262
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 262
    functionName: PKCS5_v2_PBKDF2_keyivgen_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - EVP_PBE_find
    - ERR_set_mark
    - EVP_CipherInit_ex
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - EVP_CIPHER_CTX_get_key_length
    - OBJ_nid2sn
    - EVP_MD_free
    - EVP_CIPHER_CTX_get0_cipher
    - OBJ_obj2nid
    - OPENSSL_cleanse
    - ERR_clear_last_mark
    - EVP_MD_fetch
    - EVP_get_digestbynid
    - ERR_raise
    - ERR_pop_to_mark
    - PBKDF2PARAM_free
    - ossl_pkcs5_pbkdf2_hmac_ex
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_v2_PBKDF2_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen, ASN1_TYPE *param, const EVP_CIPHER *c, const EVP_MD *md, int en_de,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_v2_PBKDF2_keyivgen_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: PKCS5_v2_PBKDF2_keyivgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - PKCS5_v2_PBKDF2_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_v2_PBKDF2_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen, ASN1_TYPE *param, const EVP_CIPHER *c, const EVP_MD *md, int en_de) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:131,1
    - Dst: EVP_PBE_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:153,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:156,1
    - Dst: PBE2PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:168,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:140,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:145,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:152,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:161,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:167,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:133,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:146,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:124,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:124,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:141,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:149,1
    - Dst: kdf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c:162,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    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*
    constantsTouched: []
    func_position:
      end: 170
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 170
    functionName: PKCS5_v2_PBE_keyivgen_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p5_crpt2.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - EVP_CIPHER_free
    - OBJ_obj2nid
    - EVP_PBE_find_ex
    - EVP_get_cipherbyname
    - kdf
    - ERR_set_mark
    - EVP_CIPHER_asn1_to_param
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - ERR_clear_last_mark
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - OBJ_obj2txt
    - PBE2PARAM_free
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_v2_PBE_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen, ASN1_TYPE *param, const EVP_CIPHER *c, const EVP_MD *md, int en_de,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:123,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:129,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:127,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - gen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: EVP_PKEY_CTX_set_dh_paramgen_generator
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_int
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - kdf
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: EVP_PKEY_CTX_set_dh_kdf_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pmd
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: EVP_PKEY_CTX_get_dh_kdf_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:241,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:258,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:256,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - outlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 262
    functionName: EVP_PKEY_CTX_set_dh_kdf_outlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - dh_param_derive_check
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int outlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:164,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:169,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:170,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - pad
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: EVP_PKEY_CTX_set_dh_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_uint
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dh_pad(EVP_PKEY_CTX *ctx, int pad) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:20,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:21,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:26,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: dh_paramgen_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - ERR_raise
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: 'static int dh_paramgen_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - nid
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: EVP_PKEY_CTX_set_dh_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:36,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: dh_param_derive_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - ERR_raise
    - EVP_PKEY_CTX_IS_DERIVE_OP
    linkageType: ''
    returnType: int
    signature: 'static int dh_param_derive_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_set_dh_rfc5114
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - gen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: EVP_PKEY_CTX_set_dhx_rfc5114
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dh_param_derive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:325,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:329,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:331,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - pukm
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 344
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 344
    functionName: EVP_PKEY_CTX_get0_dh_kdf_ukm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - dh_param_derive_check
    - ERR_raise
    - OSSL_PARAM_construct_octet_ptr
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char
      **pukm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:53,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:57,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:56,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - gindex
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: EVP_PKEY_CTX_set_dh_paramgen_gindex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_int
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dh_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - typ
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: EVP_PKEY_CTX_set_dh_paramgen_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:69,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:72,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:76,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - seed
    - seedlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: EVP_PKEY_CTX_set_dh_paramgen_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dh_paramgen_seed(EVP_PKEY_CTX *ctx, const unsigned
      char *seed, size_t seedlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:95,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:100,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:99,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: EVP_PKEY_CTX_set_dh_paramgen_prime_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int
      pbits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - oid
    argTypes:
    - EVP_PKEY_CTX*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: EVP_PKEY_CTX_set0_dh_kdf_oid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: EVP_PKEY_CTX_set_dh_kdf_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: dh_param_derive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:270,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:278,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:280,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:276,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - plen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    constantsTouched: []
    func_position:
      end: 287
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 287
    functionName: EVP_PKEY_CTX_get_dh_kdf_outlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - dh_param_derive_check
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int *plen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:109,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:113,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:112,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - qbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: EVP_PKEY_CTX_set_dh_paramgen_subprime_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dh_paramgen_subprime_len(EVP_PKEY_CTX *ctx, int
      qbits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dh_param_derive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:297,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:312,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:308,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:310,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:301,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - ukm
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 316
    functionName: EVP_PKEY_CTX_set0_dh_kdf_ukm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    functionsReached:
    - dh_param_derive_check
    - ERR_raise
    - OPENSSL_free
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char
      *ukm, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - gen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: EVP_PKEY_CTX_set_dh_rfc5114
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: EVP_PKEY_CTX_get_dh_kdf_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - oid
    argTypes:
    - EVP_PKEY_CTX*
    - ASN1_OBJECT**
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: EVP_PKEY_CTX_get0_dh_kdf_oid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_ctrl.c
    functionUses: []
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:135,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:142,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:145,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:156,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:107,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:120,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:141,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:105,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:100,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:116,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:119,1
    - Dst: EVP_get_cipherbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:123,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:135,1
    - Dst: keygen_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:150,1
    - Dst: keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:152,1
    - Dst: EVP_PBE_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:100,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:108,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:120,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:126,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:134,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:127,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:138,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:130,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:155,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    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*
    constantsTouched: []
    func_position:
      end: 159
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 159
    functionName: EVP_PBE_CipherInit_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - EVP_PBE_find_ex
    - keygen_ex
    - ERR_set_mark
    - i2t_ASN1_OBJECT
    - EVP_CIPHER_free
    - OBJ_nid2sn
    - ERR_raise_data
    - EVP_MD_free
    - EVP_get_cipherbynid
    - OBJ_obj2nid
    - OPENSSL_strlcpy
    - ERR_clear_last_mark
    - EVP_MD_fetch
    - strlen
    - ERR_pop_to_mark
    - EVP_get_digestbynid
    - ERR_raise
    - keygen
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_CipherInit_ex(ASN1_OBJECT *pbe_obj, const char *pass,
      int passlen, ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PBE_CTL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:212,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:218,1
    - Dst: sk_EVP_PBE_CTL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:211,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - pbe_type
    - pbe_nid
    - cipher_nid
    - md_nid
    - keygen
    argTypes:
    - int
    - int
    - int
    - int
    - EVP_PBE_KEYGEN*
    constantsTouched: []
    func_position:
      end: 220
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 220
    functionName: EVP_PBE_alg_add_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - sk_EVP_PBE_CTL_new
    - sk_EVP_PBE_CTL_push
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,
      int md_nid, EVP_PBE_KEYGEN *keygen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PBE_CTL_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:252,1
    - Dst: OBJ_bsearch_pbe2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:256,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:256,1
    - Dst: sk_EVP_PBE_CTL_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:253,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    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**
    constantsTouched: []
    func_position:
      end: 269
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 269
    functionName: EVP_PBE_find_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - OBJ_bsearch_pbe2
    - OSSL_NELEM
    - sk_EVP_PBE_CTL_find
    - sk_EVP_PBE_CTL_value
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_find_ex(int type, int pbe_nid, int *pcnid, int *pmnid,
      EVP_PBE_KEYGEN **pkeygen, EVP_PBE_KEYGEN_EX **pkeygen_ex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pbe
    argTypes:
    - EVP_PBE_CTL*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: free_evp_pbe_ctl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void free_evp_pbe_ctl(EVP_PBE_CTL *pbe) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - pbe_obj
    - pass
    - passlen
    - param
    - ctx
    - en_de
    argTypes:
    - ASN1_OBJECT*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: EVP_PBE_CipherInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - EVP_PBE_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int
      passlen, ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pbe1
    - pbe2
    argTypes:
    - EVP_PBE_CTL*
    - EVP_PBE_CTL*
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: pbe2_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pbe2_cmp(const EVP_PBE_CTL *pbe1, const EVP_PBE_CTL *pbe2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PBE_CTL**
    - EVP_PBE_CTL**
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: pbe_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pbe_cmp(const EVP_PBE_CTL *const *a, const EVP_PBE_CTL
      *const *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:228,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:232,1
    - Dst: EVP_PBE_alg_add_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - nid
    - cipher
    - md
    - keygen
    argTypes:
    - int
    - EVP_CIPHER*
    - EVP_MD*
    - EVP_PBE_KEYGEN*
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: EVP_PBE_alg_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - EVP_PBE_alg_add_type
    - EVP_MD_get_type
    - EVP_CIPHER_get_nid
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD
      *md, EVP_PBE_KEYGEN *keygen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - type
    - pbe_nid
    - pcnid
    - pmnid
    - pkeygen
    argTypes:
    - int
    - int
    - int*
    - int*
    - EVP_PBE_KEYGEN**
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: EVP_PBE_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - EVP_PBE_find_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, EVP_PBE_KEYGEN
      **pkeygen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PBE_CTL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: EVP_PBE_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - ptype
    - ppbe_nid
    - num
    argTypes:
    - int*
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: EVP_PBE_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pbe.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:22,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:25,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:31,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:32,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: evp_signature_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_provider_up_ref
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EVP_SIGNATURE*
    signature: 'static EVP_SIGNATURE *evp_signature_new(OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:389,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: EVP_SIGNATURE_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_SIGNATURE_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_SIGNATURE_settable_ctx_params(const EVP_SIGNATURE
      *sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: EVP_PKEY_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 718
    functionName: EVP_PKEY_verify_recover_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: evp_signature_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:52,1
    - Dst: OSSL_FUNC_signature_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:73,1
    - Dst: OSSL_FUNC_signature_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:67,1
    - Dst: OSSL_FUNC_signature_digest_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:112,1
    - Dst: OSSL_FUNC_signature_digest_sign_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:118,1
    - Dst: OSSL_FUNC_signature_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:182,1
    - Dst: OSSL_FUNC_signature_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:196,1
    - Dst: OSSL_FUNC_signature_settable_ctx_md_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:224,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:58,1
    - Dst: OSSL_FUNC_signature_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:91,1
    - Dst: OSSL_FUNC_signature_verify_recover
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:105,1
    - Dst: OSSL_FUNC_signature_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:169,1
    - Dst: OSSL_FUNC_signature_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:175,1
    - Dst: OSSL_FUNC_signature_set_ctx_md_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:217,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:269,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:275,1
    - Dst: OSSL_FUNC_signature_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:85,1
    - Dst: OSSL_FUNC_signature_verify_recover_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:98,1
    - Dst: OSSL_FUNC_signature_digest_verify_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:144,1
    - Dst: OSSL_FUNC_signature_digest_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:158,1
    - Dst: OSSL_FUNC_signature_digest_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:138,1
    - Dst: OSSL_FUNC_signature_digest_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:132,1
    - Dst: OSSL_FUNC_signature_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:163,1
    - Dst: OSSL_FUNC_signature_gettable_ctx_md_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:210,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:53,1
    - Dst: OSSL_FUNC_signature_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:79,1
    - Dst: OSSL_FUNC_signature_digest_sign_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:125,1
    - Dst: OSSL_FUNC_signature_digest_verify_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:151,1
    - Dst: OSSL_FUNC_signature_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:189,1
    - Dst: OSSL_FUNC_signature_get_ctx_md_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:203,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 159
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 277
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 277
    functionName: evp_signature_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_signature_newctx
    - OSSL_FUNC_signature_verify
    - OSSL_FUNC_signature_get_ctx_md_params
    - OSSL_FUNC_signature_verify_recover
    - OSSL_FUNC_signature_sign
    - OSSL_FUNC_signature_set_ctx_md_params
    - OSSL_FUNC_signature_verify_init
    - OSSL_FUNC_signature_digest_verify_update
    - OSSL_FUNC_signature_digest_verify
    - EVP_SIGNATURE_free
    - OSSL_FUNC_signature_sign_init
    - OSSL_FUNC_signature_digest_sign_init
    - OSSL_FUNC_signature_settable_ctx_md_params
    - OSSL_FUNC_signature_freectx
    - OSSL_FUNC_signature_digest_verify_init
    - OSSL_FUNC_signature_gettable_ctx_params
    - OSSL_FUNC_signature_digest_sign_final
    - OSSL_FUNC_signature_set_ctx_params
    - OSSL_FUNC_signature_get_ctx_params
    - OSSL_FUNC_signature_digest_sign
    - OSSL_FUNC_signature_dupctx
    - OSSL_FUNC_signature_digest_sign_update
    - evp_signature_new
    - ERR_raise
    - OSSL_FUNC_signature_gettable_ctx_md_params
    - OSSL_FUNC_signature_digest_verify_final
    - OSSL_FUNC_signature_settable_ctx_params
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_signature_verify_recover_init
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_signature_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:409,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:471,1
    - Dst: evp_signature_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:478,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:537,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:545,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:553,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:570,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:529,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:405,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:419,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:428,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:432,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:476,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:435,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:499,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:509,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:519,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:522,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:599,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:613,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:466,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:473,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:498,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:505,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:513,1
    - Dst: evp_pkey_ctx_use_cached_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:607,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:610,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:615,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:414,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:412,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:418,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:429,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:436,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:465,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:502,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:569,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:578,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 126
    argCount: 3
    argNames:
    - ctx
    - operation
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 617
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 617
    functionName: evp_pkey_signature_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - EVP_SIGNATURE_get0_provider
    - evp_keymgmt_fetch_from_prov
    - ERR_set_mark
    - EVP_KEYMGMT_free
    - evp_signature_fetch_from_prov
    - EVP_KEYMGMT_get0_name
    - EVP_SIGNATURE_free
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - evp_pkey_ctx_use_cached_data
    - evp_pkey_ctx_is_legacy
    - ERR_clear_last_mark
    - ERR_pop_to_mark
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - ossl_assert
    - EVP_SIGNATURE_fetch
    - evp_pkey_ctx_free_old_ops
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_signature_init(EVP_PKEY_CTX *ctx, int operation,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: EVP_PKEY_sign_init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: EVP_PKEY_verify_recover_init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_verify_recover_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: evp_signature_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_signature_get_number(const EVP_SIGNATURE *signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: EVP_SIGNATURE_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_SIGNATURE_get0_name(const EVP_SIGNATURE *signature) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:733,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:738,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:746,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:757,1
    - Dst: M_check_autoarg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:760,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - rout
    - routlen
    - sig
    - siglen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 762
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 762
    functionName: EVP_PKEY_verify_recover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, unsigned char *rout,
      size_t *routlen, const unsigned char *sig, size_t siglen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:285,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:291,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:288,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:289,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: EVP_SIGNATURE_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_SIGNATURE_free(EVP_SIGNATURE *signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: evp_signature_fetch_from_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_SIGNATURE*
    signature: 'EVP_SIGNATURE *evp_signature_fetch_from_prov(OSSL_PROVIDER *prov,
      const char *algorithm, const char *properties) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:636,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:641,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:660,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:649,1
    - Dst: M_check_autoarg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:664,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 666
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 666
    functionName: EVP_PKEY_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
      const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: EVP_PKEY_verify_init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    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: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: EVP_SIGNATURE_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - signature
    - name
    argTypes:
    - EVP_SIGNATURE*
    - char*
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: EVP_SIGNATURE_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: 'int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: EVP_PKEY_verify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:685,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:690,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:698,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:708,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 713
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 713
    functionName: EVP_PKEY_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t
      siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: EVP_SIGNATURE_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *EVP_SIGNATURE_get0_provider(const EVP_SIGNATURE *signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: EVP_SIGNATURE_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_SIGNATURE_get0_description(const EVP_SIGNATURE *signature) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - signature
    - (*fn)
    - data
    argTypes:
    - EVP_SIGNATURE*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: EVP_SIGNATURE_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_SIGNATURE_names_do_all(const EVP_SIGNATURE *signature, void
      (*fn)(const char *name, void *data), void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: EVP_SIGNATURE_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_SIGNATURE*
    signature: 'EVP_SIGNATURE *EVP_SIGNATURE_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
      const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: EVP_SIGNATURE_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_SIGNATURE_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_SIGNATURE
      *signature, void *arg), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:378,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - EVP_SIGNATURE*
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: EVP_SIGNATURE_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/signature.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_SIGNATURE_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_SIGNATURE_gettable_ctx_params(const EVP_SIGNATURE
      *sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: EVP_blake2b512
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_blake2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_blake2b512(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: EVP_blake2s256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_blake2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_blake2s256(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:67,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:68,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:72,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:80,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: enc_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_data
    - OPENSSL_free
    - OPENSSL_zalloc
    - BIO_set_init
    - EVP_CIPHER_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int enc_new(BIO *bi) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:113,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:135,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:124,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:115,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:150,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:159,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:161,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:178,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:181,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:196,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:228,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:229,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:199,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:221,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 94
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 231
    functionName: enc_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_CIPHER_CTX_get_block_size
    - BIO_read
    - memcpy
    - EVP_CipherUpdate
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    - BIO_should_retry
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int enc_read(BIO *b, char *out, int outl) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:312,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:313,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:321,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:331,1
    - Dst: enc_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:338,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:386,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:363,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:369,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:326,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:381,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:370,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:380,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:389,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:303,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:304,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:384,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:371,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:376,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:315,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:351,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 393
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 393
    functionName: enc_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - enc_write
    - EVP_CIPHER_CTX_copy
    - BIO_copy_next_retry
    - EVP_CIPHER_CTX_is_encrypting
    - BIO_next
    - BIO_set_init
    - BIO_ctrl
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex
    - BIO_get_data
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: long
    signature: 'static long enc_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: BIO_f_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_cipher(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:239,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:240,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:246,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:249,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:251,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:265,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:268,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:278,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:280,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:289,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 291
    functionName: enc_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - EVP_CipherUpdate
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int enc_write(BIO *b, const char *in, int inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:93,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:98,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:99,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:100,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: enc_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached:
    - BIO_set_data
    - EVP_CIPHER_CTX_free
    - BIO_set_init
    - OPENSSL_clear_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int enc_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:397,1
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 403
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 403
    functionName: enc_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long enc_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:414,1
    - Dst: callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:428,1
    - Dst: BIO_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:425,1
    - Dst: callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:419,1
    - Dst: BIO_get_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:418,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:434,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:436,1
    - Dst: callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:440,1
    - Dst: callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c:444,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 5
    argNames:
    - b
    - c
    - k
    - i
    - e
    argTypes:
    - BIO*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 447
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 447
    functionName: BIO_set_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_enc.c
    functionUses: []
    functionsReached:
    - callback
    - callback_ex
    - BIO_get_callback_ex
    - BIO_set_init
    - EVP_CipherInit_ex
    - BIO_get_data
    - BIO_get_callback
    linkageType: ''
    returnType: int
    signature: 'int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char
      *k, const unsigned char *i, int e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: EVP_md4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_md4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_md4(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: get_evp_method_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE*
    signature: 'static OSSL_METHOD_STORE *get_evp_method_store(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:435,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:438,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 6
    argCount: 7
    argNames:
    - libctx
    - operation_id
    - name_id
    - properties
    - (*new_method)
    - (*up_ref_method)
    - (*free_method)
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - char*
    - void*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: evp_generic_fetch_by_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - inner_evp_generic_fetch
    - dealloc_tmp_evp_method_store
    linkageType: ''
    returnType: void*
    signature: 'void *evp_generic_fetch_by_number(OSSL_LIB_CTX *libctx, int operation_id,
      int name_id, const char *properties, void *(*new_method)(int name_id, const
      OSSL_ALGORITHM *algodef, OSSL_PROVIDER *prov), int (*up_ref_method)(void *),
      void (*free_method)(void *)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_global_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:560,1
    - Dst: ossl_property_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:571,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:568,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:567,1
    - Dst: evp_set_default_properties_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:566,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:572,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:574,1
    - Dst: evp_set_parsed_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:577,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:578,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - libctx
    - propq
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: evp_default_properties_merge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_property_merge
    - ERR_raise
    - evp_set_default_properties_int
    - evp_set_parsed_default_properties
    - ossl_parse_query
    - ossl_ctx_global_properties
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'static int evp_default_properties_merge(OSSL_LIB_CTX *libctx, const
      char *propq, int loadconfig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_default_properties_enable_fips_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - enable
    argTypes:
    - OSSL_LIB_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: EVP_default_properties_enable_fips
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - evp_default_properties_enable_fips_int
    linkageType: ''
    returnType: int
    signature: 'int EVP_default_properties_enable_fips(OSSL_LIB_CTX *libctx, int enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:90,1
    - Dst: ossl_method_lock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: reserve_evp_method_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_lock_store
    - get_evp_method_store
    linkageType: ''
    returnType: int
    signature: 'static int reserve_evp_method_store(void *store, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_global_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:587,1
    - Dst: ossl_property_is_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - libctx
    - prop_name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: evp_default_property_is_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_property_is_enabled
    - ossl_ctx_global_properties
    linkageType: ''
    returnType: int
    signature: 'static int evp_default_property_is_enabled(OSSL_LIB_CTX *libctx, const
      char *prop_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_global_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:612,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:625,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:621,1
    - Dst: ossl_property_list_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:619,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:617,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:627,1
    - Dst: ossl_property_list_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:630,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:631,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - libctx
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 636
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 636
    functionName: evp_get_global_properties_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - ossl_property_list_to_string
    - 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: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:698,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:699,1
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:701,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - prov
    - number
    - (*fn)
    - data
    argTypes:
    - OSSL_PROVIDER*
    - int
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 702
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 702
    functionName: evp_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int evp_names_do_all(OSSL_PROVIDER *prov, int number, void (*fn)(const
      char *name, void *data), void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:408,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 6
    argCount: 7
    argNames:
    - libctx
    - operation_id
    - name
    - properties
    - (*new_method)
    - (*up_ref_method)
    - (*free_method)
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    - char*
    - void*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 413
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 413
    functionName: evp_generic_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    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, const
      char *name, const char *properties, void *(*new_method)(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov), int (*up_ref_method)(void *), void (*free_method)(void
      *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vstore
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: evp_method_store_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void evp_method_store_free(void *vstore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:131,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - name_id
    - operation_id
    argTypes:
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: evp_method_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t evp_method_id(int name_id, unsigned int operation_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:229,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:230,1
    - Dst: ossl_namemap_add_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    constantsTouched: []
    func_position:
      end: 249
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 249
    functionName: construct_evp_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_add_names
    linkageType: ''
    returnType: void*
    signature: 'static void *construct_evp_method(const OSSL_ALGORITHM *algodef, OSSL_PROVIDER
      *prov, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:459,1
    - Dst: inner_evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:461,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:464,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 7
    argCount: 7
    argNames:
    - prov
    - operation_id
    - name
    - properties
    - (*new_method)
    - (*up_ref_method)
    - (*free_method)
    argTypes:
    - OSSL_PROVIDER*
    - int
    - char*
    - char*
    - void*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 466
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 466
    functionName: evp_generic_fetch_from_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    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,
      const char *name, const char *properties, void *(*new_method)(int name_id, const
      OSSL_ALGORITHM *algodef, OSSL_PROVIDER *prov), int (*up_ref_method)(void *),
      void (*free_method)(void *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_default_property_is_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: EVP_default_properties_is_fips_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    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: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: evp_method_store_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_method_store_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:153,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:160,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:156,1
    - Dst: evp_method_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:164,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:155,1
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:168,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:171,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 175
    functionName: get_evp_method_from_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - strchr
    - ossl_namemap_stored
    - ossl_method_store_fetch
    - ossl_namemap_name2num_n
    - get_evp_method_store
    - evp_method_id
    - strlen
    linkageType: ''
    returnType: void*
    signature: 'static void *get_evp_method_from_store(void *store, const OSSL_PROVIDER
      **prov, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:470,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: evp_method_store_cache_flush
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_default_properties_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - libctx
    - enable
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 603
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 603
    functionName: evp_default_properties_enable_fips_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - evp_default_properties_merge
    linkageType: ''
    returnType: int
    signature: 'int evp_default_properties_enable_fips_int(OSSL_LIB_CTX *libctx, int
      enable, int loadconfig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - id
    - method
    - arg
    argTypes:
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 650
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 650
    functionName: filter_on_operation_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void filter_on_operation_id(int id, void *method, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:195,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:200,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:201,1
    - Dst: evp_method_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:202,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:197,1
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:206,1
    - Dst: ossl_method_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:209,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - names
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 212
    functionName: put_evp_method_in_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_store_add
    - strchr
    - ossl_namemap_stored
    - ossl_namemap_name2num_n
    - get_evp_method_store
    - evp_method_id
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int put_evp_method_in_store(void *store, void *method, const
      OSSL_PROVIDER *prov, const char *names, const char *propdef, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:479,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:483,1
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: evp_method_store_remove_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - get_evp_method_store
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    linkageType: ''
    returnType: int
    signature: 'int evp_method_store_remove_all_provided(const OSSL_PROVIDER *prov) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:541,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:542,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:546,1
    - Dst: evp_set_parsed_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - libctx
    - propq
    - loadconfig
    - mirrored
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 550
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 550
    functionName: evp_set_default_properties_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - evp_set_parsed_default_properties
    - ossl_parse_query
    - ERR_raise
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'int evp_set_default_properties_int(OSSL_LIB_CTX *libctx, const char
      *propq, int loadconfig, int mirrored) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:666,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:675,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:673,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:677,1
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:675,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 12
    argCount: 7
    argNames:
    - libctx
    - operation_id
    - (*user_fn)
    - user_arg
    - (*new_method)
    - (*up_ref_method)
    - (*free_method)
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - void
    - void*
    - void*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 678
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 678
    functionName: evp_generic_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    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, void
      (*user_fn)(void *method, void *arg), void *user_arg, void *(*new_method)(int
      name_id, const OSSL_ALGORITHM *algodef, OSSL_PROVIDER *prov), int (*up_ref_method)(void
      *), void (*free_method)(void *)) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:492,1
    - Dst: ossl_ctx_global_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:493,1
    - Dst: ossl_global_properties_no_mirrored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:501,1
    - Dst: ossl_global_properties_stop_mirroring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:508,1
    - Dst: ossl_property_list_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:511,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:513,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:515,1
    - Dst: ossl_property_list_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:518,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:521,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:525,1
    - Dst: ossl_provider_default_props_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:524,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:532,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:530,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:527,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - libctx
    - def_prop
    - loadconfig
    - mirrored
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_LIST*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 534
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 534
    functionName: evp_set_parsed_default_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_store_cache_flush_all
    - ERR_raise
    - OPENSSL_free
    - ossl_property_list_to_string
    - ossl_global_properties_stop_mirroring
    - ossl_global_properties_no_mirrored
    - get_evp_method_store
    - ossl_ctx_global_properties
    - ossl_provider_default_props_update
    - ossl_property_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int evp_set_parsed_default_properties(OSSL_LIB_CTX *libctx,
      OSSL_PROPERTY_LIST *def_prop, int loadconfig, int mirrored) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_set_default_properties_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: EVP_set_default_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - evp_set_default_properties_int
    linkageType: ''
    returnType: int
    signature: 'int EVP_set_default_properties(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:686,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:691,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:690,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - prov
    - number
    - legacy_name
    - name
    argTypes:
    - OSSL_PROVIDER*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 692
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 692
    functionName: evp_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int evp_is_a(OSSL_PROVIDER *prov, int number, const char *legacy_name,
      const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: get_tmp_evp_method_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *get_tmp_evp_method_store(void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:101,1
    - Dst: ossl_method_unlock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: unreserve_evp_method_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - get_evp_method_store
    - ossl_method_unlock_store
    linkageType: ''
    returnType: int
    signature: 'static int unreserve_evp_method_store(void *store, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: destruct_evp_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destruct_evp_method(void *method, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: dealloc_tmp_evp_method_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void dealloc_tmp_evp_method_store(void *store) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:295,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:301,1
    - Dst: ossl_method_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:343,1
    - Dst: ossl_namemap_num2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:384,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:286,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:270,1
    - Dst: evp_method_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:311,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:385,1
    - Dst: ossl_method_store_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:368,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:277,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:312,1
    - Dst: ossl_method_store_cache_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:324,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:359,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:361,1
    - Dst: evp_method_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:366,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:387,1
    - Dst: get_evp_method_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:269,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:285,1
    - Dst: free_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c:363,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 80
    argCount: 9
    argNames:
    - methdata
    - prov
    - operation_id
    - name_id
    - name
    - properties
    - (*new_method)
    - (*up_ref_method)
    - (*free_method)
    argTypes:
    - struct evp_method_data_st*
    - OSSL_PROVIDER*
    - int
    - int
    - char*
    - char*
    - void*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 393
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 393
    functionName: inner_evp_generic_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_fetch.c
    functionUses: []
    functionsReached:
    - ossl_method_store_cache_get
    - ossl_method_store_cache_set
    - ERR_raise
    - ossl_assert
    - ossl_namemap_num2name
    - ossl_namemap_stored
    - ERR_raise_data
    - free_method
    - get_evp_method_store
    - ossl_lib_ctx_get_descriptor
    - ossl_namemap_name2num
    - ossl_method_construct
    - evp_method_id
    linkageType: ''
    returnType: void*
    signature: 'static void *inner_evp_generic_fetch(struct evp_method_data_st *methdata,
      OSSL_PROVIDER *prov, int operation_id, int name_id, const char *name, const
      char *properties, void *(*new_method)(int name_id, const OSSL_ALGORITHM *algodef,
      OSSL_PROVIDER *prov), int (*up_ref_method)(void *), void (*free_method)(void
      *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_err.c:203,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_err.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: ossl_err_load_EVP_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_EVP_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sm4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:28,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: sm4_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c
    functionUses: []
    functionsReached:
    - ossl_sm4_set_key
    - EVP_CIPHER_CTX_get_cipher_data
    linkageType: ''
    returnType: int
    signature: 'static int sm4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SM4_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: sm4_cfb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void sm4_cfb128_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const SM4_KEY *key, unsigned char *ivec, int *num, const
      int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SM4_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: sm4_ofb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c
    functionUses: []
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void sm4_ofb128_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const SM4_KEY *key, unsigned char *ivec, int *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:76,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:78,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:85,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:87,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: sm4_ctr_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ctr128_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int sm4_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sm4_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:56,1
    - Dst: ossl_sm4_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - in
    - out
    - key
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - SM4_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: sm4_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c
    functionUses: []
    functionsReached:
    - ossl_sm4_decrypt
    - ossl_sm4_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void sm4_ecb_encrypt(const unsigned char *in, unsigned char
      *out, const SM4_KEY *key, const int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:37,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c:40,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SM4_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: sm4_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c
    functionUses: []
    functionsReached:
    - CRYPTO_cbc128_decrypt
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void sm4_cbc_encrypt(const unsigned char *in, unsigned char
      *out, size_t len, const SM4_KEY *key, unsigned char *ivec, const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: EVP_sm4_ctr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_sm4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_sm4_ctr(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c:46,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: EVP_CIPHER_meth_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached:
    - memcpy
    - EVP_CIPHER_meth_new
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - iv_len
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: EVP_CIPHER_meth_set_iv_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - ctx_size
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: EVP_CIPHER_meth_set_impl_ctx_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - (*do_cipher)
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: EVP_CIPHER_meth_set_do_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher, int (*do_cipher)
      (EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t inl)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - (*set_asn1_parameters)
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: EVP_CIPHER_meth_set_set_asn1_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher, int (*set_asn1_parameters)
      (EVP_CIPHER_CTX *, ASN1_TYPE *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - (*ctrl)
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: EVP_CIPHER_meth_set_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher, int (*ctrl) (EVP_CIPHER_CTX
      *, int type, int arg, void *ptr)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *ctx, unsigned char *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - '*'
    - '*'
    argTypes:
    - EVP_CIPHER_CTX
    - ASN1_TYPE
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *, ASN1_TYPE *) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - cipher_type
    - block_size
    - key_len
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: EVP_CIPHER_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_cipher_new
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int
      key_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - flags
    argTypes:
    - EVP_CIPHER*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: EVP_CIPHER_meth_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_free_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: EVP_CIPHER_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached:
    - evp_cipher_free_int
    linkageType: ''
    returnType: void
    signature: 'void EVP_CIPHER_meth_free(EVP_CIPHER *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - (*init)
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: EVP_CIPHER_meth_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher, int (*init) (EVP_CIPHER_CTX
      *ctx, const unsigned char *key, const unsigned char *iv, int enc)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - (*cleanup)
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: EVP_CIPHER_meth_set_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher, int (*cleanup)
      (EVP_CIPHER_CTX *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - (*get_asn1_parameters)
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: EVP_CIPHER_meth_set_get_asn1_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher, int (*get_asn1_parameters)
      (EVP_CIPHER_CTX *, ASN1_TYPE *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *ctx, const unsigned char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - EVP_CIPHER_CTX
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - '*'
    - '*'
    argTypes:
    - EVP_CIPHER_CTX
    - ASN1_TYPE
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *, ASN1_TYPE *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - '*'
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/cmeth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *, int type, int arg, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_typed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1061,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1065,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1064,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1067,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1065,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1070,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - pkey
    - (*fn)
    - data
    argTypes:
    - EVP_PKEY*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1071
    functionName: EVP_PKEY_type_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - fn
    - evp_pkey_is_provided
    - EVP_KEYMGMT_names_do_all
    - OBJ_nid2sn
    - evp_pkey_is_typed
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_type_names_do_all(const EVP_PKEY *pkey, void (*fn)(const
      char *name, void *data), void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DSA_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:868,1
    - Dst: DSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 873
    functionName: EVP_PKEY_get1_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - DSA_up_ref
    - evp_pkey_get0_DSA_int
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1076,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1095,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1096,1
    - Dst: EC_KEY_can_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1089,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1100,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1103,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1105,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1110
    functionName: EVP_PKEY_can_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_base_id
    - EC_KEY_can_sign
    - EVP_SIGNATURE_free
    - EVP_SIGNATURE_fetch
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_get0_provider
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_can_sign(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_set_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - (pkey)
    argTypes:
    - evp_pkey_is_legacy
    constantsTouched: []
    func_position:
      end: 2375
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2375
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_set_params_to_ctrl
    linkageType: ''
    returnType: else
    signature: 'else if (evp_pkey_is_legacy(pkey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: EVP_PKEY_get_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_id(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: EVP_PKEY_get_base_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1026,1
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1033,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1031,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1027,1
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1031,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1034
    functionName: evp_pkey_name2type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OBJ_ln2nid
    - OSSL_NELEM
    - EVP_PKEY_type
    - OBJ_sn2nid
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_name2type(const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - mode
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: EVP_PKEY_save_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: EVP_PKEY_cmp_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_parameters_eq
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: EVP_PKEY_set_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - pkey_set_type
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_type(EVP_PKEY *pkey, int type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_is_foreign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:721,1
    - Dst: ossl_dsa_is_foreign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:734,1
    - Dst: ossl_ec_key_is_foreign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:728,1
    - Dst: ossl_dh_is_foreign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 747
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 747
    functionName: detect_foreign_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ossl_dsa_is_foreign
    - ossl_rsa_is_foreign
    - ossl_dh_is_foreign
    - ossl_ec_key_is_foreign
    linkageType: ''
    returnType: void
    signature: 'static void detect_foreign_key(EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_is_named_safe_prime_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:932,1
    - Dst: DH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:940,1
    - Dst: DH_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:935,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - dhkey
    argTypes:
    - EVP_PKEY*
    - DH*
    constantsTouched: []
    func_position:
      end: 942
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 942
    functionName: EVP_PKEY_set1_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - DH_get0_q
    - ossl_dh_is_named_safe_prime_group
    - DH_up_ref
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *dhkey) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2016,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2031,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2039,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2043,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2052,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2087,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2093,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2022,1
    - Dst: evp_pkey_is_assigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2016,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2084,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2045,1
    - Dst: evp_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2074,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2081,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2071,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2068,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2013,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2030,1
    - Dst: evp_pkey_free_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2049,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2058,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2066,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_PKEY**
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2097
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2097
    functionName: evp_pkey_copy_downgraded
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_free_it
    - evp_pkey_is_provided
    - ERR_raise
    - ossl_assert
    - OBJ_nid2sn
    - EVP_PKEY_free
    - EVP_PKEY_set_type
    - evp_keymgmt_export
    - EVP_PKEY_CTX_new_from_pkey
    - ERR_raise_data
    - evp_pkey_is_assigned
    - EVP_PKEY_new
    - EVP_KEYMGMT_get0_name
    - EVP_PKEY_CTX_free
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_copy_downgraded(EVP_PKEY **dest, const EVP_PKEY *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2332,1
    - Dst: EVP_PKEY_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2334,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pkey
    - key_name
    - str
    argTypes:
    - EVP_PKEY*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2335
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2335
    functionName: EVP_PKEY_set_utf8_string_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_set_params
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_utf8_string_param(EVP_PKEY *pkey, const char *key_name,
      const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - arg
    argTypes:
    - EVP_PKEY*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: EVP_PKEY_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    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: pkey_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pkey
    - str
    - len
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: EVP_PKEY_set_type_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - pkey_set_type
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:754,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:756,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:759,1
    - Dst: detect_foreign_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:777,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:773,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - pkey
    - type
    - key
    argTypes:
    - EVP_PKEY*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 780
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 780
    functionName: EVP_PKEY_assign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - detect_foreign_key
    - EC_GROUP_get_curve_name
    - EVP_PKEY_set_type
    - EVP_PKEY_type
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:947,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: evp_pkey_get0_DH_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: DH*
    signature: 'DH *evp_pkey_get0_DH_int(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1247,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1251,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - pkey
    - indent
    - pctx
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: EVP_PKEY_print_params_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_print_params
    - BIO_new_fp
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_print_params_fp(FILE *fp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *pctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2104,1
    - Dst: evp_pkey_is_assigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2111,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2116,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2113,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2121,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2127,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2130,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2141,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2147,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2150
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2150
    functionName: evp_pkey_get_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - ossl_assert
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - EVP_PKEY_free
    - evp_pkey_is_assigned
    - evp_pkey_copy_downgraded
    linkageType: ''
    returnType: void*
    signature: 'void *evp_pkey_get_legacy(EVP_PKEY *pk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2345,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2347,1
    - Dst: EVP_PKEY_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pkey
    - key_name
    - buf
    - bsize
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2349
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2349
    functionName: EVP_PKEY_set_octet_string_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_octet_string_param(EVP_PKEY *pkey, const char *key_name,
      const unsigned char *buf, size_t bsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 792
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 792
    functionName: EVP_PKEY_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_PKEY_get0(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2353,1
    - Dst: EVP_KEYMGMT_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2356
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2356
    functionName: EVP_PKEY_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_KEYMGMT_settable_params
    - evp_pkey_is_provided
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_PKEY_settable_params(const EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_cmp_any
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: EVP_PKEY_parameters_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_cmp_any
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_parameters_eq(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:798,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:801,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: EVP_PKEY_get0_hmac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t
      *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2379,1
    - Dst: evp_keymgmt_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2363,1
    - Dst: evp_pkey_set_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 2381
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2381
    functionName: EVP_PKEY_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_set_params_to_ctrl
    - evp_pkey_is_provided
    - ERR_raise
    - evp_keymgmt_set_params
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_params(EVP_PKEY *pkey, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - type
    - e
    - priv
    - len
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: EVP_PKEY_new_raw_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_new_raw_private_key(int type, ENGINE *e, const
      unsigned char *priv, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:621,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:639,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:635,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:631,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:628,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:640,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:644,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:646,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:649,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:653,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:668,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:658,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:656,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:664,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:659,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 7
    argNames:
    - priv
    - len
    - cipher_name
    - cipher
    - libctx
    - propq
    - e
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 671
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 671
    functionName: new_cmac_key_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_get_id
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *new_cmac_key_int(const unsigned char *priv, size_t
      len, const char *cipher_name, const EVP_CIPHER *cipher, OSSL_LIB_CTX *libctx,
      const char *propq, ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - pctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1198
    functionName: EVP_PKEY_print_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - print_pkey
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1662,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1666,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1668
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1668
    functionName: EVP_PKEY_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_up_ref(EVP_PKEY *pkey) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2231,1
    - Dst: EVP_PKEY_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2233,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2232,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2234,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 5
    argNames:
    - pkey
    - key_name
    - str
    - max_buf_sz
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2246
    functionName: EVP_PKEY_get_utf8_string_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_utf8_string_param(const EVP_PKEY *pkey, const char
      *key_name, char *str, size_t max_buf_sz, size_t *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - libctx
    - keytype
    - propq
    - pub
    - len
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: EVP_PKEY_new_raw_public_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_new_raw_public_key_ex(OSSL_LIB_CTX *libctx, const
      char *keytype, const char *propq, const unsigned char *pub, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_cmac_key_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - e
    - priv
    - len
    - cipher
    argTypes:
    - ENGINE*
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: EVP_PKEY_new_CMAC_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - new_cmac_key_int
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv,
      size_t len, const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - pctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1206
    functionName: EVP_PKEY_print_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - print_pkey
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2256,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2259,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2257,1
    - Dst: EVP_PKEY_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pkey
    - key_name
    - out
    argTypes:
    - EVP_PKEY*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2260
    functionName: EVP_PKEY_get_int_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_int
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_int_param(const EVP_PKEY *pkey, const char *key_name,
      int *out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:559,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:569,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:574,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - pkey
    - priv
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 579
    functionName: EVP_PKEY_get_raw_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_export
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char
      *priv, size_t *len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2166,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2170,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2167,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2168,1
    - Dst: EVP_PKEY_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2169,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2177,1
    - Dst: EVP_PKEY_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2183,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2187,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2189,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2192,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2195,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2196,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2193,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2197,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - pkey
    - key_name
    - bn
    argTypes:
    - EVP_PKEY*
    - char*
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 2200
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2200
    functionName: EVP_PKEY_get_bn_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    - OPENSSL_cleanse
    - OPENSSL_zalloc
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    - EVP_PKEY_get_params
    - OSSL_PARAM_construct_BN
    - memset
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_bn_param(const EVP_PKEY *pkey, const char *key_name,
      BIGNUM **bn) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:344,1
    - Dst: evp_pkey_cmp_any
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:349,1
    - Dst: evp_keymgmt_util_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:345,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 370
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 370
    functionName: EVP_PKEY_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_has
    - evp_pkey_cmp_any
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_eq(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:591,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:596,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:606,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - pkey
    - pub
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 611
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 611
    functionName: EVP_PKEY_get_raw_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_export
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char
      *pub, size_t *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DH_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: EVP_PKEY_get0_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_get0_DH_int
    linkageType: ''
    returnType: DH*
    signature: 'const DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DH_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:960,1
    - Dst: DH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 965
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 965
    functionName: EVP_PKEY_get1_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_get0_DH_int
    - DH_up_ref
    linkageType: ''
    returnType: DH*
    signature: 'DH *EVP_PKEY_get1_DH(EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2212,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2213,1
    - Dst: EVP_PKEY_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2214,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2215,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - pkey
    - key_name
    - buf
    - max_buf_sz
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 2219
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2219
    functionName: EVP_PKEY_get_octet_string_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_get_params
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_modified
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_octet_string_param(const EVP_PKEY *pkey, const char
      *key_name, unsigned char *buf, size_t max_buf_sz, size_t *out_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1366,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1369,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1372,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1370,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pkey
    - libctx
    - name
    - propq
    argTypes:
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1376
    functionName: EVP_PKEY_digestsign_supports_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    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, const char *name, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_clear_operation_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1764,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1770,1
    - Dst: evp_pkey_free_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1766,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1776
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1776
    functionName: evp_pkey_free_it
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_clear_operation_cache
    - EVP_KEYMGMT_free
    - evp_keymgmt_freedata
    - evp_pkey_free_legacy
    linkageType: ''
    returnType: void
    signature: 'static void evp_pkey_free_it(EVP_PKEY *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2270,1
    - Dst: EVP_PKEY_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2272,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2273,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pkey
    - key_name
    - out
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2274
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2274
    functionName: EVP_PKEY_get_size_t_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_size_t_param(const EVP_PKEY *pkey, const char *key_name,
      size_t *out) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2417,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2422,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2433,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2428,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2436,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2439,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2443
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2443
    functionName: EVP_PKEY_get_ec_point_conv_form
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - strcmp
    - EC_KEY_get_conv_form
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_get_utf8_string_param
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_ec_point_conv_form(const EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1383,1
    - Dst: EVP_PKEY_set_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1385,1
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pkey
    - pub
    - publen
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1396
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1396
    functionName: EVP_PKEY_set1_encoded_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - EVP_PKEY_set_octet_string_param
    - evp_pkey_asn1_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set1_encoded_public_key(EVP_PKEY *pkey, const unsigned
      char *pub, size_t publen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1785,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1789,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1786,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1792,1
    - Dst: evp_pkey_free_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1790,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1794,1
    - Dst: sk_X509_ATTRIBUTE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1796,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1799
    functionName: EVP_PKEY_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_pop_free
    - evp_pkey_free_it
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_free_ex_data
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_free(EVP_PKEY *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2283,1
    - Dst: EVP_PKEY_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2285,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pkey
    - key_name
    - in
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2286
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2286
    functionName: EVP_PKEY_set_int_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_int_param(EVP_PKEY *pkey, const char *key_name, int
      in) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2457,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2466,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2462,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2476,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2472,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2478,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2482
    functionName: EVP_PKEY_get_field_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EVP_PKEY_get_utf8_string_param
    - strcmp
    - EC_GROUP_get_field_type
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_field_type(const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:832,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    constantsTouched: []
    func_position:
      end: 841
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 841
    functionName: EVP_PKEY_get0_siphash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t
      *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:879,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:883,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 884
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 884
    functionName: evp_pkey_get0_ECX_KEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_base_id
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'static const ECX_KEY *evp_pkey_get0_ECX_KEY(const EVP_PKEY *pkey,
      int type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: EVP_PKEY_get_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_security_bits(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_ECX_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:888,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 893
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 893
    functionName: evp_pkey_get1_ECX_KEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_up_ref
    - evp_pkey_get0_ECX_KEY
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'static ECX_KEY *evp_pkey_get1_ECX_KEY(EVP_PKEY *pkey, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:848,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 852
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 852
    functionName: evp_pkey_get0_DSA_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: DSA*
    signature: 'static DSA *evp_pkey_get0_DSA_int(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1040,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1046
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1046
    functionName: evp_pkey_type2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - OBJ_nid2sn
    linkageType: ''
    returnType: char*
    signature: 'const char *evp_pkey_type2name(int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DSA_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: EVP_PKEY_get0_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_get0_DSA_int
    linkageType: ''
    returnType: DSA*
    signature: 'const DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_name2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1053,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1054,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - name
    argTypes:
    - EVP_PKEY*
    - char*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1055
    functionName: EVP_PKEY_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: EVP_PKEY_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_eq
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:240,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:240,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:244,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:240,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:244,1
    - Dst: evp_keymgmt_util_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:245,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:251,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:252,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:252,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:254,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:270,1
    - Dst: evp_keymgmt_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:293,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:255,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:278,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:255,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 3
    argNames:
    - a
    - b
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 294
    functionName: evp_pkey_cmp_any
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - evp_keymgmt_util_match
    - ossl_assert
    - evp_keymgmt_match
    - OBJ_nid2sn
    - EVP_KEYMGMT_is_a
    - evp_pkey_export_to_provider
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_cmp_any(const EVP_PKEY *a, const EVP_PKEY *b,
      int selection) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1676,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1680,1
    - Dst: evp_pkey_is_blank
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1683,1
    - Dst: evp_keymgmt_util_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1687,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1686,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1693,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1698,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1700,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1711,1
    - Dst: ossl_x509at_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1716,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1721,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 33
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1723
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1723
    functionName: EVP_PKEY_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_copy
    - evp_pkey_is_provided
    - ERR_raise
    - evp_pkey_is_blank
    - ossl_x509at_dup
    - EVP_PKEY_free
    - EVP_PKEY_set_type
    - EVP_PKEY_new
    - evp_pkey_is_legacy
    - CRYPTO_dup_ex_data
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_dup(EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1731,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1752,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1739,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1753,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1758
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1758
    functionName: evp_pkey_free_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    - assert
    - EVP_PKEY_asn1_find
    linkageType: ''
    returnType: void
    signature: 'void evp_pkey_free_legacy(EVP_PKEY *x) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:533,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:541,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:539,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 547
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 547
    functionName: get_raw_key_details
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int get_raw_key_details(const OSSL_PARAM params[], void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: EVP_PKEY_missing_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_has
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - pctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1214
    functionName: EVP_PKEY_print_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - print_pkey
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: EVP_PKEY_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_PKEY_get_ex_data(const EVP_PKEY *key, int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1615,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1625,1
    - Dst: pkey_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1617,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1626
    functionName: find_ameth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - strlen
    - pkey_set_type
    - ERR_pop_to_mark
    - ERR_set_mark
    linkageType: ''
    returnType: void
    signature: 'static void find_ameth(const char *name, void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1813
    functionName: EVP_PKEY_get_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_size(const EVP_PKEY *pkey) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_blank
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:149,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:150,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:213,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:131,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:173,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:170,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:159,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:165,1
    - Dst: evp_keymgmt_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:203,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:132,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:151,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:154,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:157,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:193,1
    - Dst: evp_keymgmt_util_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:201,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 55
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 215
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 215
    functionName: EVP_PKEY_copy_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_set_type_by_keymgmt
    - evp_keymgmt_util_copy
    - evp_pkey_is_provided
    - evp_pkey_is_blank
    - ERR_raise
    - EVP_PKEY_parameters_eq
    - evp_keymgmt_dup
    - EVP_PKEY_free
    - EVP_PKEY_set_type
    - EVP_PKEY_missing_parameters
    - evp_pkey_copy_downgraded
    - evp_pkey_export_to_provider
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_assigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1817,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1827
    functionName: EVP_PKEY_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_assigned
    - evp_pkey_is_provided
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_PKEY_get0_description(const EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:693,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:698,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:694,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:699,1
    - Dst: ENGINE_get_pkey_meth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:697,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:703,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pkey
    - e
    argTypes:
    - EVP_PKEY*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 706
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 706
    functionName: EVP_PKEY_set1_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_init
    - ERR_raise
    - ENGINE_get_pkey_meth
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_get_deflt_digest_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1338,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1344,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1348,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pkey
    - mdname
    - mdname_sz
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1351
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1351
    functionName: EVP_PKEY_get_default_digest_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_default_digest_nid
    - OPENSSL_strlcpy
    - evp_keymgmt_util_get_deflt_digest_name
    - OBJ_nid2sn
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey, char *mdname,
      size_t mdname_sz) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1942,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1966,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1975,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2004,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1897,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1916,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1919,1
    - Dst: evp_keymgmt_util_clear_operation_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1951,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1952,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1955,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1958,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1961,1
    - Dst: evp_keymgmt_util_cache_keydata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1972,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1878,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1895,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1943,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1974,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1983,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1872,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1923,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1923,1
    - Dst: evp_keymgmt_newdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1926,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1931,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1948,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1953,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1965,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1988,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 101
    argCount: 4
    argNames:
    - pk
    - libctx
    - keymgmt
    - propquery
    argTypes:
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - EVP_KEYMGMT**
    - char*
    constantsTouched: []
    func_position:
      end: 2006
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 2006
    functionName: evp_pkey_export_to_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_clear_operation_cache
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - OBJ_nid2sn
    - evp_keymgmt_newdata
    - evp_keymgmt_util_cache_keydata
    - CRYPTO_THREAD_read_lock
    - evp_keymgmt_freedata
    - evp_keymgmt_util_export_to_provider
    - EVP_KEYMGMT_is_a
    - EVP_KEYMGMT_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_KEYMGMT_up_ref
    - evp_keymgmt_util_find_operation_cache
    linkageType: ''
    returnType: void*
    signature: 'void *evp_pkey_export_to_provider(EVP_PKEY *pk, OSSL_LIB_CTX *libctx,
      EVP_KEYMGMT **keymgmt, const char *propquery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: EVP_PKEY_get0_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pkey
    - gname
    - gname_sz
    - gname_len
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: EVP_PKEY_get_group_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    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, size_t *gname_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1114,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1118,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - out
    - pop_f_prefix
    - saved_indent
    argTypes:
    - BIO**
    - int
    - long
    constantsTouched: []
    func_position:
      end: 1122
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1122
    functionName: print_reset_indent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - BIO_pop
    - BIO_set_indent
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'static int print_reset_indent(BIO **out, int pop_f_prefix, long saved_indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1264,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - mdname
    - data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1267
    functionName: mdname2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OBJ_sn2nid
    - OBJ_ln2nid
    linkageType: ''
    returnType: void
    signature: 'static void mdname2nid(const char *mdname, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2295,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2296,1
    - Dst: EVP_PKEY_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pkey
    - key_name
    - in
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2298
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2298
    functionName: EVP_PKEY_set_size_t_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - EVP_PKEY_set_params
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_size_t_param(EVP_PKEY *pkey, const char *key_name,
      size_t in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: EVP_PKEY_get_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_bits(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:973,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 982
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 982
    functionName: EVP_PKEY_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    - EVP_PKEY_asn1_find
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_type(int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1641,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1643,1
    - Dst: pkey_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pkey
    - keymgmt
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1656
    functionName: EVP_PKEY_set_type_by_keymgmt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_KEYMGMT_names_do_all
    - pkey_set_type
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_type_by_keymgmt(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1278,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1283,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1290,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1289,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1291,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1292,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1298,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1299,1
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1307,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1316
    functionName: legacy_asn1_ctrl_to_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ossl_namemap_stored
    - EVP_PKEY_get_default_digest_name
    - ossl_namemap_doall_names
    - ERR_set_mark
    - ossl_namemap_name2num
    - EVP_MD_free
    - EVP_MD_fetch
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'static int legacy_asn1_ctrl_to_param(EVP_PKEY *pkey, int op, int arg1,
      void *arg2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1404,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1426,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1419,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1412,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1423,1
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1434,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - pkey
    - ppub
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 1438
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1438
    functionName: EVP_PKEY_get1_encoded_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - OPENSSL_free
    - EVP_PKEY_get_octet_string_param
    - 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: BIO_get_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1130,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1134,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1134,1
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1133,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1138,1
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1141,1
    - Dst: print_reset_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - out
    - pop_f_prefix
    - saved_indent
    - indent
    argTypes:
    - BIO**
    - int*
    - long*
    - long
    constantsTouched: []
    func_position:
      end: 1147
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1147
    functionName: print_set_indent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - print_reset_indent
    - BIO_set_indent
    - BIO_push
    - BIO_get_indent
    - BIO_new
    - BIO_f_prefix
    linkageType: ''
    returnType: int
    signature: 'static int print_set_indent(BIO **out, int *pop_f_prefix, long *saved_indent,
      long indent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_assigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2310,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2314,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2319,1
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2317,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2313,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2320,1
    - Dst: EVP_PKEY_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pkey
    - key_name
    - bn
    argTypes:
    - EVP_PKEY*
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 2322
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2322
    functionName: EVP_PKEY_set_bn_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - BN_num_bytes
    - EVP_PKEY_set_params
    - evp_pkey_is_assigned
    - BN_bn2nativepad
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_BN
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set_bn_param(EVP_PKEY *pkey, const char *key_name, const
      BIGNUM *bn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:814,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    constantsTouched: []
    func_position:
      end: 823
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 823
    functionName: EVP_PKEY_get0_poly1305
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey,
      size_t *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2385,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2388
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2388
    functionName: EVP_PKEY_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - EVP_KEYMGMT_gettable_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_PKEY_gettable_params(const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2393,1
    - Dst: evp_pkey_get_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2397,1
    - Dst: evp_keymgmt_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2394,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:2400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 2402
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2402
    functionName: EVP_PKEY_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_get_params
    - evp_pkey_is_provided
    - ERR_raise
    - evp_pkey_get_params_to_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_params(const EVP_PKEY *pkey, OSSL_PARAM params[]) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1503,1
    - Dst: evp_pkey_free_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1517,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1504,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1505,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1529,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1531,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1538,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1540,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1543,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1556,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1595,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1562,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1561,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1596,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 80
    argCount: 6
    argNames:
    - pkey
    - e
    - type
    - str
    - len
    - keymgmt
    argTypes:
    - EVP_PKEY*
    - ENGINE*
    - int
    - char*
    - int
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1604
    functionName: pkey_set_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - evp_pkey_free_it
    - ERR_raise
    - ossl_assert
    - EVP_PKEY_asn1_find
    - ENGINE_init
    - ENGINE_finish
    - EVP_KEYMGMT_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int pkey_set_type(EVP_PKEY *pkey, ENGINE *e, int type, const
      char *str, int len, EVP_KEYMGMT *keymgmt) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:395,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:412,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:421,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:427,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:442,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:432,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:410,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:418,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:444,1
    - Dst: pkey_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:448,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:393,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:422,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:428,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:463,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:468,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:401,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:417,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:458,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:436,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:453,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:473,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:481,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:484,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 67
    argCount: 8
    argNames:
    - libctx
    - strtype
    - propq
    - nidtype
    - e
    - key
    - len
    - key_is_priv
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 486
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 486
    functionName: new_raw_key_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - ERR_pop_to_mark
    - ERR_raise
    - ossl_assert
    - OBJ_nid2sn
    - EVP_PKEY_asn1_find
    - EVP_PKEY_fromdata_init
    - pkey_set_type
    - EVP_PKEY_free
    - ENGINE_finish
    - ERR_set_mark
    - EVP_PKEY_fromdata
    - EVP_PKEY_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - ERR_clear_last_mark
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *new_raw_key_int(OSSL_LIB_CTX *libctx, const char
      *strtype, const char *propq, int nidtype, ENGINE *e, const unsigned char *key,
      size_t len, int key_is_priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1152,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1154,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - kstr
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1155
    functionName: unsup_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_indent
    - OBJ_nid2ln
    linkageType: ''
    returnType: int
    signature: 'static int unsup_alg(BIO *out, const EVP_PKEY *pkey, int indent, const
      char *kstr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - libctx
    - keytype
    - propq
    - priv
    - len
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: EVP_PKEY_new_raw_private_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_new_raw_private_key_ex(OSSL_LIB_CTX *libctx, const
      char *keytype, const char *propq, const unsigned char *priv, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:861,1
    - Dst: DSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - EVP_PKEY*
    - DSA*
    constantsTouched: []
    func_position:
      end: 865
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 865
    functionName: EVP_PKEY_set1_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - DSA_up_ref
    - EVP_PKEY_assign_DSA
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1169,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1174,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1172,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1175,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1176,1
    - Dst: legacy_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1183,1
    - Dst: unsup_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1185,1
    - Dst: print_reset_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 7
    argNames:
    - pkey
    - out
    - indent
    - selection
    - /* For provided encoding */
    - propquery
    - /* For provided encoding */
    - (*legacy_print)
    - legacy_pctx
    - /* For legacy print */
    argTypes:
    - EVP_PKEY*
    - BIO*
    - int
    - int
    - char*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1190
    functionName: print_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - print_reset_indent
    - OSSL_ENCODER_to_bio
    - legacy_print
    - OSSL_ENCODER_CTX_get_num_encoders
    - print_set_indent
    - OSSL_ENCODER_CTX_free
    - unsup_alg
    - OSSL_ENCODER_CTX_new_for_pkey
    linkageType: ''
    returnType: int
    signature: 'static int print_pkey(const EVP_PKEY *pkey, BIO *out, int indent,
      int selection /* For provided encoding */, const char *propquery /* For provided
      encoding */, int (*legacy_print)(BIO *out, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *pctx), ASN1_PCTX *legacy_pctx /* For legacy print */) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1446,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1449,1
    - Dst: EVPerr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1459,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1457,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1465,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1466,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1473,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1476
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1476
    functionName: EVP_PKEY_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_new_ex_data
    - ERR_raise
    - CRYPTO_THREAD_lock_free
    - EVPerr
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - type
    - e
    - pub
    - len
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: EVP_PKEY_new_raw_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_new_raw_public_key(int type, ENGINE *e, const unsigned
      char *pub, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1221,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1225,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - pkey
    - indent
    - pctx
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 1228
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1228
    functionName: EVP_PKEY_print_public_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - EVP_PKEY_print_public
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_print_public_fp(FILE *fp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *pctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: legacy_asn1_ctrl_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1325
    functionName: evp_pkey_asn1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - legacy_asn1_ctrl_to_param
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_asn1_ctrl(EVP_PKEY *pkey, int op, int arg1, void
      *arg2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1234,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1239,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - pkey
    - indent
    - pctx
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1241
    functionName: EVP_PKEY_print_private_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - EVP_PKEY_print_private
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_print_private_fp(FILE *fp, const EVP_PKEY *pkey, int
      indent, ASN1_PCTX *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c:1331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pkey
    - pnid
    argTypes:
    - EVP_PKEY*
    - int*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1332
    functionName: EVP_PKEY_get_default_digest_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_lib.c
    functionUses: []
    functionsReached:
    - evp_pkey_asn1_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:32,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:33,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:36,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:37,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:38,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:42,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:45,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:46,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:49,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:53,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:65,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:66,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:75,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:61,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:59,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:69,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:74,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 50
    argCount: 7
    argNames:
    - ctx
    - type
    - ek
    - ekl
    - iv
    - pubk
    - npubk
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char**
    - int*
    - unsigned char*
    - EVP_PKEY**
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 77
    functionName: EVP_SealInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - ERR_raise
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_encrypt
    - RAND_priv_bytes_ex
    - OPENSSL_cleanse
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_CIPHER_CTX_get_key_length
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_get0_provider
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_CTX_rand_key
    - ossl_provider_libctx
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: int
    signature: 'int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, unsigned
      char **ek, int *ekl, unsigned char *iv, EVP_PKEY **pubk, int npubk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:82,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: EVP_SealFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_seal.c
    functionUses: []
    functionsReached:
    - EVP_EncryptFinal_ex
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:72,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:76,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:81,1
    - Dst: aesni_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:80,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:77,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: aesni_cbc_hmac_sha1_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached:
    - data
    - aesni_set_decrypt_key
    - SHA1_Init
    - aesni_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx, const
      unsigned char *inkey, const unsigned char *iv, int enc) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:773,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:784,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:785,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:786,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:781,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:788,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:793,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:794,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:798,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:799,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:801,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:826,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:832,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:815,1
    - Dst: tls1_1_multi_block_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:896,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:869,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:853,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 905
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 905
    functionName: aesni_cbc_hmac_sha1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached:
    - SHA1_Final
    - data
    - memcpy
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - SHA1_Init
    - SHA1_Update
    - tls1_1_multi_block_encrypt
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
      int arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: EVP_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:111,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:120,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 131
    functionName: sha1_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached:
    - SHA1_Update
    - sha1_block_data_order
    linkageType: ''
    returnType: void
    signature: 'static void sha1_update(SHA_CTX *c, const void *data, size_t len) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:455,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:459,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:472,1
    - Dst: aesni256_cbc_sha1_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:563,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:591,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:658,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:660,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:744,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:760,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:763,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:693,1
    - Dst: aesni_cbc_sha1_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:441,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:465,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:517,1
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:543,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:475,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:526,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:573,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:647,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:656,1
    - Dst: aesni256_cbc_sha1_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:745,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:410,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:462,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:506,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:519,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:619,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:643,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:657,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:659,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:674,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:688,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:692,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:743,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:439,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:426,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:464,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:552,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:560,1
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:535,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:562,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:582,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:635,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:672,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 473
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 768
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 768
    functionName: aesni_cbc_hmac_sha1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached:
    - sha1_block_data_order
    - SHA1_Final
    - data
    - aesni256_cbc_sha1_dec
    - memcpy
    - constant_time_select
    - BSWAP4
    - memset
    - EVP_CIPHER_CTX_is_encrypting
    - aesni_cbc_encrypt
    - SHA1_Update
    - constant_time_ge
    - aesni_cbc_sha1_enc
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:201,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:214,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:254,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:272,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:307,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:322,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:333,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:338,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:342,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:374,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:401,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:398,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:202,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:215,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:231,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:314,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:324,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:348,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:370,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:400,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:346,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:351,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:182,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:208,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:245,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:305,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:273,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:299,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:329,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:331,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:335,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:371,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:372,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:340,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:209,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:290,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:282,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:292,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:312,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:327,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:344,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:358,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:364,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:373,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 276
    argCount: 5
    argNames:
    - key
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - EVP_AES_HMAC_SHA1*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 404
    functionName: tls1_1_multi_block_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached:
    - BSWAP8
    - sha1_multi_block
    - memcpy
    - RAND_bytes
    - BSWAP4
    - OPENSSL_cleanse
    - PUTU32
    - aesni_multi_cbc_encrypt
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'static size_t tls1_1_multi_block_encrypt(EVP_AES_HMAC_SHA1 *key, unsigned
      char *out, const unsigned char *inp, size_t inp_len, int n4x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 951
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 951
    functionName: EVP_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: EVP_aes_256_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: EVP_aes_256_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:46,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:62,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:58,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:50,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: rc5_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - data
    linkageType: ''
    returnType: int
    signature: 'static int rc5_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:74,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:80,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:80,1
    - Dst: RC5_32_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: r_32_12_16_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc5.c
    functionUses: []
    functionsReached:
    - RC5_32_set_key
    - data
    - ERR_raise
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int r_32_12_16_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_md5_sha1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_md5_sha1.c:23,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_md5_sha1.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - cmd
    - mslen
    - ms
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: md5_sha1_int_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_md5_sha1.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - ossl_md5_sha1_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int md5_sha1_int_ctrl(EVP_MD_CTX *ctx, int cmd, int mslen,
      void *ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: EVP_md5_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_md5_sha1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_md5_sha1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:191,1
    - Dst: aesni_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:196,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:196,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: aesni_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - aesni_ecb_encrypt
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'static int aesni_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:343,1
    - Dst: aesni_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:355,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:353,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:355,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:353,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:357,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:373,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:382,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:384,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 388
    functionName: aesni_ocb_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_init
    - memcpy
    - aesni_set_decrypt_key
    - CRYPTO_ocb128_setiv
    - EVP_C_DATA
    - aesni_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aesni_ocb_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:450,1
    - Dst: aes_t4_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:457,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:453,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:452,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:477,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:510,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 515
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 515
    functionName: aes_t4_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - aes_t4_set_decrypt_key
    - ERR_raise
    - aes_t4_set_encrypt_key
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_t4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:548,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:552,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:575,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:553,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:554,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:582,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:584,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 589
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 589
    functionName: aes_t4_gcm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_init
    - memcpy
    - aes_t4_set_encrypt_key
    - EVP_C_DATA
    - CRYPTO_gcm128_setiv
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_t4_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:697,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:707,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:707,1
    - Dst: aes_t4_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:709,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:709,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:711,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:726,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:735,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:737,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 741
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 741
    functionName: aes_t4_ocb_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - aes_t4_set_decrypt_key
    - CRYPTO_ocb128_init
    - memcpy
    - aes_t4_set_encrypt_key
    - CRYPTO_ocb128_setiv
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_t4_ocb_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1006,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1008,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1007,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1012,1
    - Dst: s390x_kmo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1025,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1032,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1041,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1044
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1044
    functionName: s390x_aes_ofb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - s390x_kmo
    - memcpy
    - s390x_km
    - EVP_C_DATA
    - EVP_CIPHER_CTX_iv_noconst
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1927,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1934,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1941,1
    - Dst: S390X_AES_FC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1935,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1936,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1949,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1955
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1955
    functionName: s390x_aes_ccm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - S390X_AES_FC
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: HWAES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2317,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2312,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2318,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2339,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2340,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2349,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2378,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2395,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2407,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2378,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2348,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2359,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2386,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2387,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2310,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2330,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2331,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2358,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2395,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 2412
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2412
    functionName: aes_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - ERR_raise
    - vpaes_set_encrypt_key
    - AES_set_decrypt_key
    - vpaes_set_decrypt_key
    - AES_set_encrypt_key
    - EVP_C_DATA
    - HWAES_set_decrypt_key
    - HWAES_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      const unsigned char *iv, int enc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:147,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:149,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:159,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:153,1
    - Dst: aesni_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:152,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 177
    functionName: aesni_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - ERR_raise
    - aesni_set_decrypt_key
    - EVP_C_DATA
    - aesni_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aesni_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1050,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1060,1
    - Dst: S390X_AES_FC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1055,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1053,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1052,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - key
    - ivec
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1063
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1063
    functionName: s390x_aes_cfb_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - S390X_AES_FC
    - EVP_CIPHER_CTX_get_key_length
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_cfb_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *ivec, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2417,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2421,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2422,1
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2423,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2430
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2430
    functionName: aes_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2451,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2456,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2453,1
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2458
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2458
    functionName: aes_ofb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - CRYPTO_ofb128_encrypt
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_num
    linkageType: ''
    returnType: int
    signature: 'static int aes_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2476,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2481,1
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2479,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2478,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2484
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2484
    functionName: aes_cfb8_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cfb128_8_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2552,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2557,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 2559
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2559
    functionName: aes_gcm_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_cleanse
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_cleanup(EVP_CIPHER_CTX *c) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2947,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2979,1
    - Dst: AES_gcm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2982,1
    - Dst: AES_GCM_ASM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3020,1
    - Dst: AES_GCM_ASM2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3042,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3001,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3034,1
    - Dst: AES_gcm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3004,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3056,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2940,1
    - Dst: aes_gcm_iv_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2957,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2959,1
    - Dst: AES_GCM_ASM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2976,1
    - Dst: AES_GCM_ASM2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2998,1
    - Dst: AES_gcm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3026,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3066,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2970,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2990,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3012,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3045,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3023,1
    - Dst: AES_gcm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3048,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3071,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 107
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3078
      start: 2937
    functionDepth: 0
    functionLinenumber: 2937
    functionLinenumberEnd: 3078
    functionName: aes_gcm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - aes_gcm_iv_generate
    - AES_gcm_encrypt
    - CRYPTO_gcm128_aad
    - CRYPTO_gcm128_encrypt_ctr32
    - AES_GCM_ASM
    - CRYPTO_gcm128_decrypt_ctr32
    - CRYPTO_gcm128_decrypt
    - AES_gcm_decrypt
    - aes_gcm_tls_cipher
    - CRYPTO_gcm128_finish
    - CRYPTO_gcm128_encrypt
    - EVP_C_DATA
    - CRYPTO_gcm128_setiv
    - AES_GCM_ASM2
    - CRYPTO_gcm128_tag
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3473,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3500,1
    - Dst: aes_ccm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3480,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3491,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3505,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3510,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3514,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3515,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3517,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3523,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3525,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3534,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3527,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3528,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3528,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3540
      start: 3470
    functionDepth: 0
    functionLinenumber: 3470
    functionLinenumberEnd: 3540
    functionName: aes_ccm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_buf_noconst
    - OPENSSL_cleanse
    - CRYPTO_ccm128_encrypt_ccm64
    - aes_ccm_tls_cipher
    - CRYPTO_ccm128_aad
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_tag
    - CRYPTO_ccm128_setiv
    - EVP_C_DATA
    - CRYPTO_ccm128_decrypt
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt_ccm64
    linkageType: ''
    returnType: int
    signature: 'static int aes_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1621,1
    - Dst: s390x_aes_gcm_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1636,1
    - Dst: s390x_aes_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1639,1
    - Dst: s390x_kma
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1646,1
    - Dst: s390x_aes_gcm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1629,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1650,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1653,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1660,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1661,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1666
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1666
    functionName: s390x_aes_gcm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - s390x_aes_gcm
    - s390x_aes_gcm_tls_cipher
    - EVP_CIPHER_CTX_buf_noconst
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - s390x_aes_gcm_aad
    - EVP_C_DATA
    - s390x_kma
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - nonce
    - mlen
    argTypes:
    - S390X_AES_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1705
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1705
    functionName: s390x_aes_ccm_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static inline void s390x_aes_ccm_setiv(S390X_AES_CCM_CTX *ctx, const
      unsigned char *nonce, size_t mlen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1873,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1876,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1892,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1875,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1884,1
    - Dst: s390x_aes_ccm_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1893,1
    - Dst: s390x_aes_ccm_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1896,1
    - Dst: s390x_aes_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1902,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1905,1
    - Dst: s390x_aes_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1908,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1909,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1914,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1917
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1917
    functionName: s390x_aes_ccm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_buf_noconst
    - memcpy
    - s390x_aes_ccm_aad
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - s390x_aes_ccm_setiv
    - CRYPTO_memcmp
    - s390x_aes_ccm
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ccm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2054,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2089,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2079,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2078,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2109,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2127,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2133,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2134,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2141,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2148,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 68
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2160
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2160
    functionName: s390x_aes_ccm_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_buf_noconst
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg,
      void *ptr) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ossl_is_partially_overlapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3912,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3913,1
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3942,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:4011,1
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3967,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3927,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3941,1
    - Dst: CRYPTO_ocb128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3964,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3981,1
    - Dst: CRYPTO_ocb128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:4021,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3992,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3997,1
    - Dst: CRYPTO_ocb128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:4005,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3887,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3931,1
    - Dst: CRYPTO_ocb128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3939,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3946,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3971,1
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3993,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3966,1
    - Dst: CRYPTO_ocb128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:4014,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 98
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4027
      start: 3880
    functionDepth: 0
    functionLinenumber: 3880
    functionLinenumberEnd: 4027
    functionName: aes_ocb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_ocb128_aad
    - ossl_is_partially_overlapping
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_ocb128_decrypt
    - CRYPTO_ocb128_encrypt
    - CRYPTO_ocb128_tag
    - CRYPTO_ocb128_finish
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:262,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:280,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:279,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:269,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:286,1
    - Dst: aesni_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:290,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:295,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 307
    functionName: aesni_xts_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcpy
    - aesni_set_decrypt_key
    - EVP_C_DATA
    - aesni_set_encrypt_key
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:982,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:984,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 986
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 986
    functionName: s390x_aes_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - s390x_km
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1137,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1138,1
    - Dst: s390x_kmf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1142,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1141,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1139,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1145
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1145
    functionName: s390x_aes_cfb8_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - s390x_kmf
    - EVP_C_DATA
    - EVP_CIPHER_CTX_iv_noconst
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1178,1
    - Dst: s390x_kma
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1192,1
    - Dst: s390x_kma
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - S390X_AES_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1216
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1216
    functionName: s390x_aes_gcm_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - U64
    - s390x_kma
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_gcm_aad(S390X_AES_GCM_CTX *ctx, const unsigned
      char *aad, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1562,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1581,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1563,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1564,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1577,1
    - Dst: s390x_kma
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1592,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1596,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1599,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1601,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1610
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1610
    functionName: s390x_aes_gcm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - s390x_kma
    - EVP_CIPHER_CTX_buf_noconst
    - memcpy
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_ctrl
    - EVP_C_DATA
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1966,1
    - Dst: s390x_aes_ccm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1975,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1967,1
    - Dst: s390x_aes_ccm_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2001,1
    - Dst: s390x_aes_ccm_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1991,1
    - Dst: s390x_aes_ccm_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2016,1
    - Dst: s390x_aes_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2022,1
    - Dst: s390x_aes_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2030,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2031,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2032,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2038,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2045
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 2045
    functionName: s390x_aes_ccm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - s390x_aes_ccm_tls_cipher
    - EVP_CIPHER_CTX_buf_noconst
    - s390x_aes_ccm_aad
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - s390x_aes_ccm_setiv
    - CRYPTO_memcmp
    - s390x_aes_ccm
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2463,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2465,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2468,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2469,1
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2471
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2471
    functionName: aes_cfb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cfb128_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2489,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2493,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2495,1
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2491,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2492,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2496,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2501,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2502,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2504,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2505,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2512,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2515,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2511,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2519
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2519
    functionName: aes_cfb1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_test_flags
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int aes_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:182,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:182,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: aesni_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - aesni_cbc_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:225,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:229,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:239,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:229,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:231,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:246,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:248,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 253
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 253
    functionName: aesni_gcm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_init
    - memcpy
    - EVP_C_DATA
    - aesni_set_encrypt_key
    - CRYPTO_gcm128_setiv
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aesni_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:992,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:998,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:997,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:995,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:994,1
    - Dst: S390X_AES_FC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - key
    - ivec
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1001
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1001
    functionName: s390x_aes_ofb_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - S390X_AES_FC
    - EVP_CIPHER_CTX_get_key_length
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ofb_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *ivec, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2524,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2535,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2538,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2533,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2526,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2540,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2544
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2544
    functionName: aes_ctr_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ctr128_encrypt
    - EVP_C_DATA
    - CRYPTO_ctr128_encrypt_ctr32
    linkageType: ''
    returnType: int
    signature: 'static int aes_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2706,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2713,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2727,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2714,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2726,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2735,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2736,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2744,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2745,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2760,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2767,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2769,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 2774
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2774
    functionName: aes_gcm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - vpaes_set_encrypt_key
    - CRYPTO_gcm128_init
    - memcpy
    - AES_set_encrypt_key
    - EVP_C_DATA
    - CRYPTO_gcm128_setiv
    - HWAES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3234,1
    - Dst: CRYPTO_xts128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3250,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3259,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3262
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3262
    functionName: aes_xts_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - ERR_raise
    - CRYPTO_xts128_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3424,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3434,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3431,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3431,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3430,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3438,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3442,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3442,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3447,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3448,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3452,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3458,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3461,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3465,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3460,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3456,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3450,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3468
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3468
    functionName: aes_ccm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_buf_noconst
    - memcpy
    - OPENSSL_cleanse
    - CRYPTO_ccm128_encrypt_ccm64
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_ccm128_aad
    - CRYPTO_ccm128_tag
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_setiv
    - EVP_C_DATA
    - CRYPTO_ccm128_decrypt
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt_ccm64
    linkageType: ''
    returnType: int
    signature: 'static int aes_ccm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3564,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3570,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3573,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3570,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3569,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3573,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3579,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3581,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 3585
      start: 3560
    functionDepth: 0
    functionLinenumber: 3560
    functionLinenumberEnd: 3585
    functionName: aes_wrap_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: ctr64_inc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr64_inc(unsigned char *counter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - gctx
    - offset
    argTypes:
    - EVP_AES_GCM_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2934
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2934
    functionName: aes_gcm_iv_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_iv_generate(EVP_AES_GCM_CTX *gctx, int offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2435,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2446
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2446
    functionName: aes_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'static int aes_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1068,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1072,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1070,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1069,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1071,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1077,1
    - Dst: s390x_kmf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1092,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1099,1
    - Dst: S390X_AES_FC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1100,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1113
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1113
    functionName: s390x_aes_cfb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - S390X_AES_FC
    - s390x_kmf
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_key_length
    - s390x_km
    - EVP_C_DATA
    - EVP_CIPHER_CTX_iv_noconst
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1322,1
    - Dst: s390x_kma
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1328,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1327,1
    - Dst: S390X_gcm_ivpadlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - S390X_AES_GCM_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1338
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1338
    functionName: s390x_aes_gcm_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - S390X_gcm_ivpadlen
    - s390x_kma
    linkageType: ''
    returnType: void
    signature: 'static void s390x_aes_gcm_setiv(S390X_AES_GCM_CTX *ctx, const unsigned
      char *iv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1521,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1529,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1539,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1528,1
    - Dst: S390X_AES_FC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1531,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1545,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1547,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1553
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1553
    functionName: s390x_aes_gcm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - S390X_AES_FC
    - s390x_aes_gcm_setiv
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1670,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1676,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1680
    functionName: s390x_aes_gcm_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_cleanse
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_gcm_cleanup(EVP_CIPHER_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:4031,1
    - Dst: CRYPTO_ocb128_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:4032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 4034
      start: 4029
    functionDepth: 0
    functionLinenumber: 4029
    functionLinenumberEnd: 4034
    functionName: aes_ocb_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_cleanup
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_cleanup(EVP_CIPHER_CTX *c) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3737,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3779,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3775,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3745,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3773,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3782,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3787,1
    - Dst: CRYPTO_ocb128_copy_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3788,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3796
      start: 3735
    functionDepth: 0
    functionLinenumber: 3735
    functionLinenumberEnd: 3796
    functionName: aes_ocb_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_ocb128_copy_ctx
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void
      *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:316,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:320,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:329,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:320,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 333
    functionName: aesni_ccm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - EVP_C_DATA
    - aesni_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_ccm128_init
    linkageType: ''
    returnType: int
    signature: 'static int aesni_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:968,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:975,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:969,1
    - Dst: S390X_AES_FC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 977
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 977
    functionName: s390x_aes_ecb_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - S390X_AES_FC
    - memcpy
    - EVP_CIPHER_CTX_get_key_length
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ecb_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1119,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1129,1
    - Dst: S390X_AES_FC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1124,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1122,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1121,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - key
    - ivec
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1132
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1132
    functionName: s390x_aes_cfb8_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - S390X_AES_FC
    - EVP_CIPHER_CTX_get_key_length
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_cfb8_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *ivec, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3676
      start: 3673
    functionDepth: 0
    functionLinenumber: 3673
    functionLinenumberEnd: 3676
    functionName: EVP_aes_192_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_192_wrap(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3690
      start: 3687
    functionDepth: 0
    functionLinenumber: 3687
    functionLinenumberEnd: 3690
    functionName: EVP_aes_256_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_256_wrap(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3718
      start: 3715
    functionDepth: 0
    functionLinenumber: 3715
    functionLinenumberEnd: 3718
    functionName: EVP_aes_192_wrap_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_192_wrap_pad(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3732
      start: 3729
    functionDepth: 0
    functionLinenumber: 3729
    functionLinenumberEnd: 3732
    functionName: EVP_aes_256_wrap_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_256_wrap_pad(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1235,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1293,1
    - Dst: s390x_kma
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1251,1
    - Dst: s390x_kma
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1274,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - S390X_AES_GCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1305
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1305
    functionName: s390x_aes_gcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - s390x_km
    - U64
    - s390x_kma
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_gcm(S390X_AES_GCM_CTX *ctx, const unsigned char
      *in, unsigned char *out, size_t len) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: S390X_gcm_ivpadlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1377,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1379,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1381,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1454,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1501,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1382,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1387,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1395,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1399,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1408,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1404,1
    - Dst: ctr64_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1449,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1468,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1469,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1505,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1428,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1414,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1429,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1439,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1459,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1480,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1347,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1355,1
    - Dst: S390X_gcm_ivpadlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1374,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1394,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1444,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1426,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1458,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1493,1
    - Dst: S390X_gcm_ivpadlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1498,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1500,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 142
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1512
    functionName: s390x_aes_gcm_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - S390X_gcm_ivpadlen
    - EVP_CIPHER_CTX_buf_noconst
    - OPENSSL_free
    - memcpy
    - RAND_bytes
    - s390x_aes_gcm_setiv
    - EVP_CIPHER_CTX_is_encrypting
    - ctr64_inc
    - EVP_C_DATA
    - EVP_CIPHER_get_iv_length
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg,
      void *ptr) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1786,1
    - Dst: s390x_kmac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1823,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1833,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1828,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1838,1
    - Dst: s390x_kmac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1843,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1848,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1857,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 5
    argNames:
    - ctx
    - in
    - out
    - len
    - enc
    argTypes:
    - S390X_AES_CCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1864
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1864
    functionName: s390x_aes_ccm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - CRYPTO_ctr128_encrypt_ctr32
    - s390x_km
    - s390x_kmac
    linkageType: ''
    returnType: int
    signature: 'static int s390x_aes_ccm(S390X_AES_CCM_CTX *ctx, const unsigned char
      *in, unsigned char *out, size_t len, int enc) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2597,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2623,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2568,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2605,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2688,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2655,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2679,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2586,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2585,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2611,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2647,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2634,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2689,1
    - Dst: ctr64_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2639,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2646,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2563,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2587,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2622,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2631,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2692,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 113
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2701
    functionName: aes_gcm_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - RAND_bytes
    - ctr64_inc
    - EVP_C_DATA
    - EVP_CIPHER_get_iv_length
    - CRYPTO_gcm128_setiv
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void
      *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3662
      start: 3659
    functionDepth: 0
    functionLinenumber: 3659
    functionLinenumberEnd: 3662
    functionName: EVP_aes_128_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_128_wrap(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:671,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:676,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:683,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:675,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 687
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 687
    functionName: aes_t4_ccm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - memcpy
    - aes_t4_set_encrypt_key
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_ccm128_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_t4_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s390x_kmac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1751,1
    - Dst: s390x_km
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1766,1
    - Dst: s390x_kmac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:1758,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - S390X_AES_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1771
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1771
    functionName: s390x_aes_ccm_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - s390x_km
    - s390x_kmac
    linkageType: ''
    returnType: void
    signature: 'static void s390x_aes_ccm_aad(S390X_AES_CCM_CTX *ctx, const unsigned
      char *aad, size_t alen) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: AES_GCM_ASM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2824,1
    - Dst: AES_GCM_ASM2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2842,1
    - Dst: AES_gcm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2887,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2813,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2834,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2866,1
    - Dst: AES_GCM_ASM2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2883,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2898,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2825,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2843,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2858,1
    - Dst: AES_gcm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2869,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2875,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2893,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2786,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2800,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2808,1
    - Dst: AES_gcm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2828,1
    - Dst: AES_GCM_ASM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2865,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2852,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2884,1
    - Dst: AES_gcm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2846,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2900,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:2901,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2911
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2911
    functionName: aes_gcm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - AES_gcm_encrypt
    - CRYPTO_gcm128_aad
    - ERR_raise
    - CRYPTO_gcm128_encrypt_ctr32
    - AES_GCM_ASM
    - CRYPTO_gcm128_decrypt_ctr32
    - CRYPTO_gcm128_decrypt
    - AES_gcm_decrypt
    - OPENSSL_cleanse
    - CRYPTO_gcm128_encrypt
    - EVP_CIPHER_CTX_ctrl
    - EVP_C_DATA
    - CRYPTO_memcmp
    - AES_GCM_ASM2
    - CRYPTO_gcm128_tag
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3275,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3295,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3295,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3299,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3300,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3306,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3311,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3312,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3322,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3337,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3349,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3341,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3359,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3347,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3341,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3372
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3372
    functionName: aes_ccm_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_buf_noconst
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_ccm128_tag
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void
      *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3704
      start: 3701
    functionDepth: 0
    functionLinenumber: 3701
    functionLinenumberEnd: 3704
    functionName: EVP_aes_128_wrap_pad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_128_wrap_pad(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:598,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:623,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:615,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:605,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:616,1
    - Dst: aes_t4_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:636,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:650,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:658,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 662
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 662
    functionName: aes_t4_xts_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - aes_t4_set_decrypt_key
    - ERR_raise
    - memcpy
    - aes_t4_set_encrypt_key
    - EVP_C_DATA
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_t4_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *key, const unsigned char *iv, int enc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3094,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3098,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 3117
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3117
    functionName: aes_xts_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void
      *ptr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3122,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3150,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3130,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3151,1
    - Dst: HWAES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3170,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3177,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3192,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3195,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3199,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3225,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3209,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3212,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3216,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 3229
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3229
    functionName: aes_xts_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - vpaes_set_encrypt_key
    - memcpy
    - AES_set_decrypt_key
    - vpaes_set_decrypt_key
    - AES_set_encrypt_key
    - EVP_C_DATA
    - CRYPTO_memcmp
    - HWAES_set_decrypt_key
    - HWAES_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3377,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3384,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3397,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3385,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3388,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3398,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3400,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3407,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3407,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3409,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 3419
      start: 3374
    functionDepth: 0
    functionLinenumber: 3374
    functionLinenumberEnd: 3419
    functionName: aes_ccm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - vpaes_set_encrypt_key
    - memcpy
    - AES_set_encrypt_key
    - EVP_C_DATA
    - HWAES_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_ccm128_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3590,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3607,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3593,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3606,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3601,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3611,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3627,1
    - Dst: CRYPTO_128_wrap_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3628,1
    - Dst: CRYPTO_128_unwrap_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3632,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3636,1
    - Dst: CRYPTO_128_unwrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3640,1
    - Dst: CRYPTO_128_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3637,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inlen
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3644
      start: 3587
    functionDepth: 0
    functionLinenumber: 3587
    functionLinenumberEnd: 3644
    functionName: aes_wrap_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - CRYPTO_128_unwrap_pad
    - ERR_raise
    - CRYPTO_128_wrap_pad
    - ossl_is_partially_overlapping
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_128_unwrap
    - CRYPTO_128_wrap
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inlen) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3813,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3829,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3832,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3846,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3801,1
    - Dst: HWAES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3815,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3813,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3844,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3835,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3872,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3817,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3830,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3833,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3846,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3874,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3815,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3844,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3848,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c:3863,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 3878
      start: 3798
    functionDepth: 0
    functionLinenumber: 3798
    functionLinenumberEnd: 3878
    functionName: aes_ocb_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes.c
    functionUses: []
    functionsReached:
    - vpaes_set_encrypt_key
    - CRYPTO_ocb128_init
    - memcpy
    - AES_set_decrypt_key
    - vpaes_set_decrypt_key
    - AES_set_encrypt_key
    - CRYPTO_ocb128_setiv
    - EVP_C_DATA
    - HWAES_set_decrypt_key
    - HWAES_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: evp_rand_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_lock(EVP_RAND_CTX *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:446,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: EVP_RAND_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_RAND_gettable_ctx_params(const EVP_RAND *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:466,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: EVP_RAND_CTX_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_RAND_CTX_gettable_params(EVP_RAND_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 488
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 488
    functionName: EVP_RAND_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_RAND_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_RAND
      *rand, void *arg), void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    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
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: evp_rand_instantiate_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_instantiate_locked (EVP_RAND_CTX *ctx, unsigned
      int strength, int prediction_resistance, const unsigned char *pstr, size_t pstr_len,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: evp_rand_uninstantiate_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_uninstantiate_locked(EVP_RAND_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:548,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:552,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:559,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    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
    constantsTouched: []
    func_position:
      end: 569
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 569
    functionName: evp_rand_generate_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - evp_rand_get_ctx_params_locked
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_generate_locked(EVP_RAND_CTX *ctx, unsigned char
      *out, size_t outlen, unsigned int strength, int prediction_resistance, const
      unsigned char *addin, size_t addin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:456,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: EVP_RAND_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_RAND_settable_ctx_params(const EVP_RAND *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:476,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: EVP_RAND_CTX_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_RAND_CTX_settable_params(EVP_RAND_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - rand
    - (*fn)
    - data
    argTypes:
    - EVP_RAND*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: EVP_RAND_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_names_do_all(const EVP_RAND *rand, void (*fn)(const char
      *name, void *data), void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:515,1
    - Dst: evp_rand_instantiate_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:517,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    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
    constantsTouched: []
    func_position:
      end: 521
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 521
    functionName: EVP_RAND_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_instantiate_locked
    - evp_rand_unlock
    - evp_rand_lock
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_instantiate(EVP_RAND_CTX *ctx, unsigned int strength,
      int prediction_resistance, const unsigned char *pstr, size_t pstr_len, const
      OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:532,1
    - Dst: evp_rand_uninstantiate_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:534,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: EVP_RAND_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_uninstantiate_locked
    - evp_rand_unlock
    - evp_rand_lock
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_uninstantiate(EVP_RAND_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:577,1
    - Dst: evp_rand_generate_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:579,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: EVP_RAND_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_unlock
    - evp_rand_generate_locked
    - evp_rand_lock
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_generate(EVP_RAND_CTX *ctx, unsigned char *out, size_t
      outlen, unsigned int strength, int prediction_resistance, const unsigned char
      *addin, size_t addin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: EVP_RAND_enable_locking
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_enable_locking(EVP_RAND_CTX *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: evp_rand_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void evp_rand_unlock(EVP_RAND_CTX *rand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - rand
    - name
    argTypes:
    - EVP_RAND*
    - char*
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: EVP_RAND_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_is_a(const EVP_RAND *rand, const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:336,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:342,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:340,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:341,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:343,1
    - Dst: evp_rand_ctx_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:347,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:348,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:349,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:350,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:359,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:356,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:362,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:363,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:361,1
    - Dst: EVP_RAND_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:358,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - rand
    - parent
    argTypes:
    - EVP_RAND*
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 370
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 370
    functionName: EVP_RAND_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - ERR_raise
    - EVP_RAND_up_ref
    - CRYPTO_THREAD_lock_free
    - EVP_RAND_CTX_free
    - OPENSSL_free
    - OPENSSL_zalloc
    - evp_rand_ctx_up_ref
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EVP_RAND_CTX*
    signature: 'EVP_RAND_CTX *EVP_RAND_CTX_new(EVP_RAND *rand, EVP_RAND_CTX *parent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: EVP_RAND_CTX_get0_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_RAND*
    signature: 'EVP_RAND *EVP_RAND_CTX_get0_rand(EVP_RAND_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - vrand
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: evp_rand_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_up_ref(void *vrand) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:125,1
    - Dst: OSSL_FUNC_rand_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:141,1
    - Dst: OSSL_FUNC_rand_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:147,1
    - Dst: OSSL_FUNC_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:193,1
    - Dst: OSSL_FUNC_rand_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:228,1
    - Dst: OSSL_FUNC_rand_verify_zeroization
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:233,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:262,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:130,1
    - Dst: evp_rand_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:131,1
    - Dst: OSSL_FUNC_rand_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:212,1
    - Dst: OSSL_FUNC_rand_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:217,1
    - Dst: OSSL_FUNC_rand_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:222,1
    - Dst: OSSL_FUNC_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:187,1
    - Dst: OSSL_FUNC_rand_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:206,1
    - Dst: OSSL_FUNC_rand_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:159,1
    - Dst: OSSL_FUNC_rand_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:171,1
    - Dst: OSSL_FUNC_rand_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:176,1
    - Dst: OSSL_FUNC_rand_enable_locking
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:181,1
    - Dst: evp_rand_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:257,1
    - Dst: evp_rand_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:263,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:126,1
    - Dst: OSSL_FUNC_rand_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:153,1
    - Dst: OSSL_FUNC_rand_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:165,1
    - Dst: OSSL_FUNC_rand_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:264,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 92
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 270
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 270
    functionName: evp_rand_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_free
    - OSSL_FUNC_rand_unlock
    - OSSL_FUNC_rand_gettable_ctx_params
    - OSSL_FUNC_rand_gettable_params
    - OSSL_FUNC_rand_set_ctx_params
    - OSSL_FUNC_rand_get_ctx_params
    - OSSL_FUNC_rand_enable_locking
    - OSSL_FUNC_rand_generate
    - ossl_provider_up_ref
    - evp_rand_new
    - OSSL_FUNC_rand_lock
    - OSSL_FUNC_rand_instantiate
    - OSSL_FUNC_rand_freectx
    - OSSL_FUNC_rand_newctx
    - OSSL_FUNC_rand_settable_ctx_params
    - OSSL_FUNC_rand_reseed
    - ERR_raise
    - OSSL_FUNC_rand_uninstantiate
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_rand_nonce
    - OSSL_FUNC_rand_get_params
    - OSSL_FUNC_rand_verify_zeroization
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_rand_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: EVP_RAND_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_RAND_get0_provider(const EVP_RAND *rand) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:380,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:388,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:386,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:387,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: EVP_RAND_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - EVP_RAND_CTX_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - EVP_RAND_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_RAND_CTX_free(EVP_RAND_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: evp_rand_get_ctx_params_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_get_ctx_params_locked(EVP_RAND_CTX *ctx, OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:68,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:73,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:74,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:71,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - vrand
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: evp_rand_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void evp_rand_free(void *vrand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: EVP_RAND_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_RAND_free(EVP_RAND *rand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: EVP_RAND_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_RAND_get0_name(const EVP_RAND *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rand
    - params
    argTypes:
    - EVP_RAND*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: EVP_RAND_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_get_params(EVP_RAND *rand, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:407,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:409,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: EVP_RAND_CTX_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_unlock
    - evp_rand_get_ctx_params_locked
    - evp_rand_lock
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_CTX_get_params(EVP_RAND_CTX *ctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:426,1
    - Dst: evp_rand_set_ctx_params_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:428,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: EVP_RAND_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_unlock
    - evp_rand_set_ctx_params_locked
    - 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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    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
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: evp_rand_reseed_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_reseed_locked(EVP_RAND_CTX *ctx, int prediction_resistance,
      const unsigned char *ent, size_t ent_len, const unsigned char *addin, size_t
      addin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:614,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: evp_rand_strength_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_get_ctx_params_locked
    - OSSL_PARAM_construct_uint
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int evp_rand_strength_locked(EVP_RAND_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:79,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:83,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: evp_rand_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_rand_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: evp_rand_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_rand_get_number(const EVP_RAND *rand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: EVP_RAND_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_RAND_get0_description(const EVP_RAND *rand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: evp_rand_ctx_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_ctx_up_ref(EVP_RAND_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: evp_rand_set_ctx_params_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_set_ctx_params_locked(EVP_RAND_CTX *ctx, const
      OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:437,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: EVP_RAND_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_RAND_gettable_params(const EVP_RAND *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:601,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:605,1
    - Dst: evp_rand_reseed_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 607
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 607
    functionName: EVP_RAND_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_unlock
    - evp_rand_reseed_locked
    - evp_rand_lock
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_reseed(EVP_RAND_CTX *ctx, int prediction_resistance,
      const unsigned char *ent, size_t ent_len, const unsigned char *addin, size_t
      addin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:624,1
    - Dst: evp_rand_strength_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:626,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: EVP_RAND_get_strength
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_strength_locked
    - evp_rand_unlock
    - evp_rand_lock
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int EVP_RAND_get_strength(EVP_RAND_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:676,1
    - Dst: evp_rand_verify_zeroization_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:678,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: EVP_RAND_verify_zeroization
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_unlock
    - evp_rand_verify_zeroization_locked
    - evp_rand_lock
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_verify_zeroization(EVP_RAND_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: EVP_RAND_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_RAND*
    signature: 'EVP_RAND *EVP_RAND_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
      const char *properties) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_strength_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:634,1
    - Dst: evp_rand_generate_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 641
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 641
    functionName: evp_rand_nonce_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_strength_locked
    - evp_rand_generate_locked
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_nonce_locked(EVP_RAND_CTX *ctx, unsigned char
      *out, size_t outlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:659,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 663
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 663
    functionName: EVP_RAND_get_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_RAND_CTX_get_params
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_get_state(EVP_RAND_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: EVP_RAND_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_up_ref
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_up_ref(EVP_RAND *rand) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:647,1
    - Dst: evp_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:650,1
    - Dst: evp_rand_nonce_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 652
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 652
    functionName: EVP_RAND_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached:
    - evp_rand_unlock
    - evp_rand_nonce_locked
    - evp_rand_lock
    linkageType: ''
    returnType: int
    signature: 'int EVP_RAND_nonce(EVP_RAND_CTX *ctx, unsigned char *out, size_t outlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 670
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 670
    functionName: evp_rand_verify_zeroization_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int evp_rand_verify_zeroization_locked(EVP_RAND_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_size_t_ctx_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: EVP_MAC_CTX_get_block_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - get_size_t_ctx_param
    linkageType: ''
    returnType: size_t
    signature: 'size_t EVP_MAC_CTX_get_block_size(EVP_MAC_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - keylen
    - params
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: EVP_MAC_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_init(EVP_MAC_CTX *ctx, const unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:65,1
    - Dst: EVP_MAC_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:64,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - EVP_MAC_CTX*
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: EVP_MAC_CTX_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - EVP_MAC_up_ref
    - EVP_MAC_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: EVP_MAC_CTX*
    signature: 'EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - outl
    - outsize
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: EVP_MAC_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - evp_mac_final
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_final(EVP_MAC_CTX *ctx, unsigned char *out, size_t *outl,
      size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - name
    argTypes:
    - EVP_MAC*
    - char*
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: EVP_MAC_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_is_a(const EVP_MAC *mac, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: EVP_MAC_CTX_get0_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MAC*
    signature: 'EVP_MAC *EVP_MAC_CTX_get0_mac(EVP_MAC_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - outsize
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: EVP_MAC_finalXOF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    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_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - mac
    - (*fn)
    - data
    argTypes:
    - EVP_MAC*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: EVP_MAC_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_names_do_all(const EVP_MAC *mac, void (*fn)(const char
      *name, void *data), void *data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:270,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:267,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:269,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:259,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:275,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:280,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:281,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:282,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:283,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:287,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:289,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:299,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:285,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:300,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:284,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:288,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 54
    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*
    constantsTouched: []
    func_position:
      end: 302
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 302
    functionName: EVP_Q_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - ERR_raise
    - EVP_MAC_settable_ctx_params
    - EVP_MAC_free
    - EVP_MAC_update
    - OPENSSL_free
    - EVP_MAC_CTX_free
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_init
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - OPENSSL_malloc
    - EVP_MAC_CTX_set_params
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *EVP_Q_mac(OSSL_LIB_CTX *libctx, const char *name, const
      char *propq, const char *subalg, const OSSL_PARAM *params, const void *key,
      size_t keylen, const unsigned char *data, size_t datalen, unsigned char *out,
      size_t outsize, size_t *outlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:23,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:28,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:26,1
    - Dst: EVP_MAC_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:27,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:31,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: EVP_MAC_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - ERR_raise
    - OPENSSL_free
    - EVP_MAC_up_ref
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_MAC_CTX*
    signature: 'EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_MAC_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: get_size_t_ctx_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: size_t
    signature: 'static size_t get_size_t_ctx_param(EVP_MAC_CTX *ctx, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: EVP_MAC_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_update(EVP_MAC_CTX *ctx, const unsigned char *data, size_t
      datalen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MAC_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: EVP_MAC_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: EVP_MAC_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_MAC_get0_name(const EVP_MAC *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:46,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: EVP_MAC_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - EVP_MAC_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_size_t_ctx_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: EVP_MAC_CTX_get_mac_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - get_size_t_ctx_param
    linkageType: ''
    returnType: size_t
    signature: 'size_t EVP_MAC_CTX_get_mac_size(EVP_MAC_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:155,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:145,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:141,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:159,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:160,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c:163,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - xof
    - out
    - outl
    - outsize
    argTypes:
    - EVP_MAC_CTX*
    - int
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 171
    functionName: evp_mac_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_MAC_CTX_get_mac_size
    - EVP_MAC_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int evp_mac_final(EVP_MAC_CTX *ctx, int xof, unsigned char
      *out, size_t *outl, size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: evp_mac_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_mac_get_number(const EVP_MAC *mac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: EVP_MAC_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_MAC_get0_description(const EVP_MAC *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - mac
    - params
    argTypes:
    - EVP_MAC*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: EVP_MAC_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_get_params(EVP_MAC *mac, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MAC_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: EVP_MAC_CTX_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_CTX_get_params(EVP_MAC_CTX *ctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: EVP_PKEY_CTX_get_ecdh_kdf_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_ecdh_kdf_type(EVP_PKEY_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:44,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:63,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:65,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - cofactor_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: EVP_PKEY_CTX_set_ecdh_cofactor_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - ERR_raise
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx, int cofactor_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pmd
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: EVP_PKEY_CTX_get_ecdh_kdf_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:152,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:167,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:171,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - outlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 173
    functionName: EVP_PKEY_CTX_set_ecdh_kdf_outlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int outlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:214,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:231,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:227,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:225,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - ukm
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 239
    functionName: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:248,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:256,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:260,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - pukm
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 274
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 274
    functionName: EVP_PKEY_CTX_get0_ecdh_kdf_ukm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_octet_ptr
    - evp_pkey_ctx_getset_ecdh_param_checks
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_end
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - param_enc
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: EVP_PKEY_CTX_set_ec_param_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:74,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:80,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:82,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:86,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 104
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 104
    functionName: EVP_PKEY_CTX_get_ecdh_cofactor_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - ERR_raise
    - evp_pkey_ctx_getset_ecdh_param_checks
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:181,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:193,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:185,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - plen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    constantsTouched: []
    func_position:
      end: 207
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 207
    functionName: EVP_PKEY_CTX_get_ecdh_kdf_outlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_getset_ecdh_param_checks
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int *plen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:25,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:32,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:26,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: evp_pkey_ctx_getset_ecdh_param_checks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - ERR_raise
    - EVP_PKEY_CTX_IS_DERIVE_OP
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int evp_pkey_ctx_getset_ecdh_param_checks(const
      EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - kdf
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: EVP_PKEY_CTX_set_ecdh_kdf_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: EVP_PKEY_CTX_set_ecdh_kdf_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - nid
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ec_ctrl.c
    functionUses: []
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:750,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:759,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:766,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:765,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:767,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:769,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:774,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:775,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:779,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:780,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:807,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:853,1
    - Dst: tls1_1_multi_block_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:880,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:782,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:796,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:813,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:837,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 128
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 889
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 889
    functionName: aesni_cbc_hmac_sha256_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached:
    - data
    - memcpy
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - SHA256_Init
    - SHA256_Final
    - tls1_1_multi_block_encrypt
    - SHA256_Update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_ctrl(EVP_CIPHER_CTX *ctx, int type,
      int arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: EVP_aes_128_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:68,1
    - Dst: aesni_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:76,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:77,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:73,1
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:72,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: aesni_cbc_hmac_sha256_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached:
    - data
    - aesni_set_decrypt_key
    - SHA256_Init
    - aesni_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_init_key(EVP_CIPHER_CTX *ctx, const
      unsigned char *inkey, const unsigned char *iv, int enc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:106,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:115,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 126
    functionName: sha256_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached:
    - sha256_block_data_order
    - SHA256_Update
    linkageType: ''
    returnType: void
    signature: 'static void sha256_update(SHA256_CTX *c, const void *data, size_t
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:198,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:211,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:291,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:289,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:281,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:311,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:326,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:357,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:369,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:382,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:412,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:381,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:355,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:345,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:338,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:197,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:210,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:244,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:304,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:272,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:328,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:330,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:332,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:334,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:336,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:387,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:415,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:388,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:205,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:230,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:313,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:323,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:349,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:353,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:362,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:383,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:351,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:385,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:414,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:386,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:177,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:204,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:298,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:253,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:271,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:306,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:321,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:340,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:343,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:375,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:384,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:347,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:359,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 303
    argCount: 5
    argNames:
    - key
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - EVP_AES_HMAC_SHA256*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 418
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 418
    functionName: tls1_1_multi_block_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached:
    - BSWAP8
    - sha256_multi_block
    - memcpy
    - RAND_bytes
    - BSWAP4
    - OPENSSL_cleanse
    - PUTU32
    - aesni_multi_cbc_encrypt
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'static size_t tls1_1_multi_block_encrypt(EVP_AES_HMAC_SHA256 *key,
      unsigned char *out, const unsigned char *inp, size_t inp_len, int n4x) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:425,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:484,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:488,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:501,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:658,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:660,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:662,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:677,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:740,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:493,1
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:554,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:629,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:656,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:675,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:695,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:663,1
    - Dst: aesni_cbc_sha256_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:470,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:468,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:491,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:610,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:579,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:563,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:640,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:657,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:659,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:661,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:691,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:696,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:441,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:494,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:570,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:517,1
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:546,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:504,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:644,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 438
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 745
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 745
    functionName: aesni_cbc_hmac_sha256_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached:
    - sha256_block_data_order
    - sha1_block_data_order
    - data
    - memcpy
    - constant_time_select
    - BSWAP4
    - EVP_CIPHER_CTX_is_encrypting
    - aesni_cbc_encrypt
    - SHA256_Final
    - aesni_cbc_sha256_enc
    - constant_time_ge
    - SHA256_Update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_cipher(EVP_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 936
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 936
    functionName: EVP_aes_128_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached:
    - aesni_cbc_sha256_enc
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 943
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 943
    functionName: EVP_aes_256_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached:
    - aesni_cbc_sha256_enc
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: EVP_aes_256_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: EVP_desx_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_desx_cbc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_xcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:75,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:75,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:77,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:78,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:77,1
    - Dst: DES_xcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:84,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:84,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:86,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:86,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: desx_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - DES_xcbc_encrypt
    - data
    linkageType: ''
    returnType: int
    signature: 'static int desx_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:64,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:64,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:65,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:66,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:65,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: desx_cbc_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_xcbc_d.c
    functionUses: []
    functionsReached:
    - DES_set_key_unchecked
    - memcpy
    - data
    linkageType: ''
    returnType: int
    signature: 'static int desx_cbc_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_bf_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:106,1
    - Dst: EVP_aes_128_wrap_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:150,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:232,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:188,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:244,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:24,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:45,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:136,1
    - Dst: EVP_aria_192_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:204,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:251,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:158,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:177,1
    - Dst: EVP_rc2_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:94,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:139,1
    - Dst: EVP_aes_256_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:172,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:191,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:246,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:74,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:108,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:212,1
    - Dst: EVP_aria_192_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:207,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:249,1
    - Dst: EVP_des_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:21,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:132,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:233,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:26,1
    - Dst: EVP_idea_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:65,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:49,1
    - Dst: EVP_aria_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:194,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:41,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:73,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:141,1
    - Dst: EVP_aes_192_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:155,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:160,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:174,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:181,1
    - Dst: EVP_des_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:36,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:197,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:234,1
    - Dst: EVP_aria_192_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:209,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:235,1
    - Dst: EVP_sm4_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:85,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:119,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:20,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:40,1
    - Dst: EVP_des_ede3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:48,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:128,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:189,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:100,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:123,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:121,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:135,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:154,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:173,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:193,1
    - Dst: EVP_aria_192_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:205,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:93,1
    - Dst: EVP_aria_256_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:215,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:208,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:245,1
    - Dst: EVP_aes_192_wrap_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:167,1
    - Dst: EVP_sm4_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:86,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:127,1
    - Dst: EVP_des_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:22,1
    - Dst: EVP_bf_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:107,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:120,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:217,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:203,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:156,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:175,1
    - Dst: EVP_aria_128_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:195,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:34,1
    - Dst: EVP_idea_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:66,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:92,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:137,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:210,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:187,1
    - Dst: EVP_aria_256_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:222,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:237,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:102,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:129,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:242,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:247,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:47,1
    - Dst: EVP_aes_128_ocb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:144,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:166,1
    - Dst: EVP_aes_256_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:183,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:238,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:36,1
    - Dst: EVP_des_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:44,1
    - Dst: EVP_aria_128_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:199,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:232,1
    - Dst: EVP_seed_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:76,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:106,1
    - Dst: EVP_cast5_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:116,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:129,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:150,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:188,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:149,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:214,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:26,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:204,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:221,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:241,1
    - Dst: EVP_desx_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:32,1
    - Dst: EVP_aria_128_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:201,1
    - Dst: EVP_aria_256_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:218,1
    - Dst: EVP_camellia_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:255,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:261,1
    - Dst: EVP_chacha20
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:259,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:236,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:21,1
    - Dst: EVP_bf_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:108,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:171,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:190,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:206,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:223,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:65,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:194,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:42,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:64,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:146,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:165,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:186,1
    - Dst: EVP_aria_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:220,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:139,1
    - Dst: EVP_aes_192_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:158,1
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:177,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:240,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:98,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:112,1
    - Dst: EVP_aria_192_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:212,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:24,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:30,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:52,1
    - Dst: EVP_des_ede_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:39,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:85,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:97,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:200,1
    - Dst: EVP_aes_256_xts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:181,1
    - Dst: EVP_des_ede
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:45,1
    - Dst: EVP_rc2_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:95,1
    - Dst: EVP_aes_192_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:153,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:229,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:128,1
    - Dst: EVP_aes_192_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:160,1
    - Dst: EVP_aes_128_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:141,1
    - Dst: EVP_aria_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:216,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:219,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:239,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:234,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:118,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:148,1
    - Dst: EVP_aes_192_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:164,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:167,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:96,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:127,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:202,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:107,1
    - Dst: EVP_cast5_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:117,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:38,1
    - Dst: EVP_cast5_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:118,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:140,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:159,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:179,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:173,1
    - Dst: EVP_aria_128_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:193,1
    - Dst: EVP_rc4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:56,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:152,1
    - Dst: EVP_aria_192_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:208,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:233,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:250,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:40,1
    - Dst: EVP_sm4_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:82,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:76,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:44,1
    - Dst: EVP_aes_192_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:154,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:196,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:213,1
    - Dst: EVP_aes_128_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:137,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:142,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:156,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:162,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:182,1
    - Dst: EVP_aes_256_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:175,1
    - Dst: EVP_aria_192_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:210,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:231,1
    - Dst: EVP_des_ede_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:23,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:28,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:48,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:198,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:215,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:247,1
    - Dst: EVP_aria_128_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:196,1
    - Dst: EVP_idea_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:67,1
    - Dst: EVP_aes_256_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:170,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:225,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:77,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:25,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:230,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:261,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:224,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:66,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:99,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:136,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:155,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:174,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:231,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:209,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:86,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:101,1
    - Dst: EVP_aria_256_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:221,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:117,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:241,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:246,1
    - Dst: EVP_camellia_128_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:253,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:130,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:259,1
    - Dst: EVP_aria_256_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:219,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:68,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:39,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:95,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:122,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:239,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:157,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:176,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:190,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:59,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:116,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:138,1
    - Dst: EVP_aria_192_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:206,1
    - Dst: EVP_aria_256_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:223,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:211,1
    - Dst: EVP_des_ede3_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:51,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:84,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:169,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:248,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:254,1
    - Dst: EVP_aes_256_wrap_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:185,1
    - Dst: EVP_rc4_40
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:57,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:78,1
    - Dst: EVP_bf_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:109,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:171,1
    - Dst: EVP_sm4_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:83,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:255,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:69,1
    - Dst: EVP_sm4_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:84,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:170,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:189,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:252,1
    - Dst: EVP_seed_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:74,1
    - Dst: EVP_des_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:28,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:205,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:222,1
    - Dst: EVP_aes_192_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:165,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:230,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:242,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:67,1
    - Dst: EVP_des_ede_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:29,1
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:142,1
    - Dst: EVP_aes_192_ocb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:162,1
    - Dst: EVP_camellia_192_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:254,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:56,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:37,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:87,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:110,1
    - Dst: EVP_aria_128_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:198,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:50,1
    - Dst: EVP_seed_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:73,1
    - Dst: EVP_aes_128_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:148,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:153,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:172,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:191,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:229,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:207,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:23,1
    - Dst: EVP_aria_128_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:197,1
    - Dst: EVP_aria_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:200,1
    - Dst: EVP_aria_256_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:217,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:75,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:59,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:30,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:97,1
    - Dst: EVP_aes_128_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:147,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:195,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:243,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:249,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:147,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:168,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:185,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:57,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:88,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:111,1
    - Dst: EVP_cast5_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:119,1
    - Dst: EVP_aes_128_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:135,1
    - Dst: EVP_rc2_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:93,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:83,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:245,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:184,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:164,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:183,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:157,1
    - Dst: EVP_aes_256_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:176,1
    - Dst: EVP_idea_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:64,1
    - Dst: EVP_seed_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:75,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:22,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:138,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:144,1
    - Dst: EVP_aria_192_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:211,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:199,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:216,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:29,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:96,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:130,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:248,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:253,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:82,1
    - Dst: EVP_rc2_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:92,1
    - Dst: EVP_aes_128_xts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:146,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:151,1
    - Dst: EVP_aes_256_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:182,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:25,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:33,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:220,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:240,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:237,1
    - Dst: EVP_aes_256_ocb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:179,1
    - Dst: EVP_aes_192_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:159,1
    - Dst: EVP_aes_128_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:140,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:46,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:201,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:238,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:218,1
    - Dst: EVP_add_cipher_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:131,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:51,1
    - Dst: EVP_des_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:20,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:32,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:94,1
    - Dst: EVP_add_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:109,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 341
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 264
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 264
    functionName: openssl_add_all_ciphers_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_allc.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cfb1
    - EVP_rc5_32_12_16_cfb
    - EVP_idea_cfb
    - EVP_aes_256_ofb
    - EVP_aes_192_ofb
    - EVP_aes_128_cfb8
    - EVP_camellia_128_cfb
    - EVP_aria_128_gcm
    - EVP_aria_256_cfb1
    - EVP_rc2_cbc
    - EVP_camellia_192_ctr
    - EVP_camellia_256_ecb
    - EVP_rc2_40_cbc
    - EVP_sm4_ecb
    - EVP_des_ede3
    - EVP_camellia_128_ctr
    - EVP_aria_128_cfb
    - EVP_aria_256_gcm
    - EVP_aes_192_ecb
    - EVP_aria_128_cbc
    - EVP_des_cbc
    - EVP_aes_128_cbc
    - EVP_idea_ofb
    - EVP_aes_256_cbc_hmac_sha1
    - EVP_aes_256_cbc
    - EVP_seed_ofb
    - EVP_aes_128_cbc_hmac_sha1
    - EVP_camellia_128_ecb
    - EVP_rc5_32_12_16_cbc
    - EVP_aria_128_ofb
    - EVP_aria_256_ctr
    - EVP_add_cipher_alias
    - EVP_des_ede_ofb
    - EVP_aria_192_ecb
    - EVP_aes_256_cfb8
    - EVP_aria_192_ccm
    - EVP_camellia_192_cfb
    - EVP_camellia_256_cbc
    - EVP_aria_256_cfb8
    - EVP_aes_256_wrap_pad
    - EVP_aes_256_cfb1
    - EVP_camellia_128_cbc
    - EVP_aes_256_wrap
    - EVP_des_ofb
    - EVP_sm4_cbc
    - EVP_rc2_64_cbc
    - EVP_sm4_cfb
    - EVP_aes_192_wrap_pad
    - EVP_rc5_32_12_16_ecb
    - EVP_aria_192_cbc
    - EVP_camellia_192_ecb
    - EVP_aes_128_ccm
    - EVP_des_ede_cfb
    - EVP_cast5_ecb
    - EVP_aes_256_ctr
    - EVP_aria_128_ccm
    - EVP_des_ede
    - EVP_add_cipher
    - EVP_cast5_cbc
    - EVP_desx_cbc
    - EVP_des_ede3_ofb
    - EVP_aria_192_cfb1
    - EVP_camellia_192_cfb8
    - EVP_des_ede3_cbc
    - EVP_aria_192_ctr
    - EVP_des_cfb
    - EVP_aes_192_cfb8
    - EVP_aria_256_cfb
    - EVP_seed_cbc
    - EVP_camellia_256_ofb
    - EVP_seed_cfb
    - EVP_aes_128_ocb
    - EVP_camellia_256_cfb8
    - EVP_aria_256_ccm
    - EVP_chacha20_poly1305
    - EVP_bf_cbc
    - EVP_des_ecb
    - EVP_aes_256_cbc_hmac_sha256
    - EVP_aes_192_gcm
    - EVP_seed_ecb
    - EVP_camellia_192_ofb
    - EVP_aes_128_xts
    - EVP_aes_128_ofb
    - EVP_aes_192_cfb
    - EVP_aes_192_ocb
    - EVP_camellia_192_cfb1
    - EVP_des_ede_cbc
    - EVP_sm4_ofb
    - EVP_aes_256_ccm
    - EVP_des_cfb1
    - EVP_des_ede3_cfb1
    - EVP_des_ede3_wrap
    - EVP_rc2_cfb
    - EVP_camellia_256_cfb
    - EVP_chacha20
    - EVP_aes_192_ccm
    - EVP_idea_cbc
    - EVP_idea_ecb
    - EVP_bf_cfb
    - EVP_aria_192_gcm
    - EVP_bf_ecb
    - EVP_aes_128_wrap
    - EVP_aria_128_cfb1
    - EVP_aria_256_cbc
    - EVP_aes_192_cfb1
    - EVP_aes_256_cfb
    - EVP_rc5_32_12_16_ofb
    - EVP_cast5_ofb
    - EVP_bf_ofb
    - EVP_aes_256_ocb
    - EVP_aes_192_wrap
    - EVP_rc2_ofb
    - EVP_aria_128_cfb8
    - EVP_aria_192_cfb
    - EVP_cast5_cfb
    - EVP_camellia_128_cfb8
    - EVP_aes_128_cbc_hmac_sha256
    - EVP_camellia_256_ctr
    - EVP_aes_128_wrap_pad
    - EVP_camellia_128_cfb1
    - EVP_camellia_128_ofb
    - EVP_aes_128_ctr
    - EVP_aes_128_gcm
    - EVP_aria_256_ecb
    - EVP_des_ede3_cfb8
    - EVP_aes_192_cbc
    - EVP_aes_192_ctr
    - EVP_camellia_256_cfb1
    - EVP_aria_192_cfb8
    - EVP_camellia_192_cbc
    - EVP_aria_128_ecb
    - EVP_aes_128_cfb
    - EVP_des_ede3_cfb
    - EVP_sm4_ctr
    - EVP_des_cfb8
    - EVP_rc4
    - EVP_rc2_ecb
    - EVP_aes_256_gcm
    - EVP_aria_192_ofb
    - EVP_aes_256_xts
    - EVP_aes_128_ecb
    - EVP_rc4_40
    - EVP_rc4_hmac_md5
    - EVP_aes_256_ecb
    - EVP_aria_256_ofb
    - EVP_aria_128_ctr
    linkageType: ''
    returnType: void
    signature: 'void openssl_add_all_ciphers_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: EVP_md2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_md2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_md2(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: EVP_rc4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_rc4(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c:81,1
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c:83,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: rc4_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c
    functionUses: []
    functionsReached:
    - RC4_set_key
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int rc4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c:90,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: rc4_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c
    functionUses: []
    functionsReached:
    - RC4
    - data
    linkageType: ''
    returnType: int
    signature: 'static int rc4_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const
      unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: EVP_rc4_40
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_rc4_40(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1572,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1576,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1587,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1585,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1578,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1592,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1596,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1597
    functionName: get_payload_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_base_id
    - ERR_raise
    - EC_KEY_get0_private_key
    - default_fixup_args
    - EVP_PKEY_get0_DH
    - DH_get0_priv_key
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: int
    signature: 'static int get_payload_private_key(enum state state, const struct
      translation_st *translation, struct translation_ctx_st *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_ctx_translation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2650,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2679,1
    - Dst: fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2671,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2653,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2682,1
    - Dst: fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2693,1
    - Dst: cleanup_translation_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2697,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 6
    argNames:
    - pctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2700
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2700
    functionName: evp_pkey_ctx_ctrl_to_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - lookup_evp_pkey_ctx_translation
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_get_params_strict
    - cleanup_translation_ctx
    - fixup
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_ctrl_to_param(EVP_PKEY_CTX *pctx, int keytype, int
      optype, int cmd, int p1, void *p2) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1608,1
    - Dst: ossl_dh_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1614,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1618,1
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1618,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1614,1
    - Dst: DSA_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1628,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1628,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1636,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1637,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1637,1
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1643,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1647,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1653,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1657,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1658,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1638,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1639,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 33
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1660
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1660
    functionName: get_payload_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EVP_PKEY_get_base_id
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_public_key
    - EVP_PKEY_get0_DSA
    - EC_POINT_point2buf
    - ERR_raise
    - default_fixup_args
    - OPENSSL_free
    - BN_CTX_free
    - EVP_PKEY_get0_DH
    - BN_CTX_new_ex
    - EVP_PKEY_get0_EC_KEY
    - DSA_get0_pub_key
    - ossl_dh_key2buf
    - DH_get0_pub_key
    linkageType: ''
    returnType: int
    signature: 'static int get_payload_public_key(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1025,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1034,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1036,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1046,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1035,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1047,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1047,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1048,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1059,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1060
    functionName: fix_dh_nid5114
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - default_fixup_args
    - ossl_ffc_uid_to_dh_named_group
    - atoi
    - default_check
    - ossl_ffc_named_group_get_name
    linkageType: ''
    returnType: int
    signature: 'static int fix_dh_nid5114(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1198,1
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1214,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1224,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1210,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1240
    functionName: fix_ecdh_cofactor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    - ossl_assert
    - default_check
    linkageType: ''
    returnType: int
    signature: 'static int fix_ecdh_cofactor(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1516,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1521,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1527,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1525,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1520,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1536,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1536,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1540,1
    - Dst: OSSL_EC_curve_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1542,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1547,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1558,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1559,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1560
    functionName: get_payload_group_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EVP_PKEY_get_base_id
    - ERR_raise
    - default_fixup_args
    - EC_GROUP_get_curve_name
    - OSSL_EC_curve_nid2name
    - EVP_PKEY_get0_DH
    - ossl_ffc_uid_to_dh_named_group
    - strlen
    - EVP_PKEY_get0_EC_KEY
    - DH_get_nid
    - ossl_ffc_named_group_get_name
    linkageType: ''
    returnType: int
    signature: 'static int get_payload_group_name(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:389,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:412,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:420,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:422,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:424,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:430,1
    - Dst: EVP_PKEY_CTX_IS_FROMDATA_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:432,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:462,1
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:465,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:499,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:566,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:579,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:670,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:472,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:445,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:687,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:682,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:549,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:624,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:661,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:395,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:459,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:564,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:573,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:628,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:563,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:634,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:637,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:644,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:662,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:674,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:684,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:418,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:434,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:480,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:467,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:461,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:488,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:494,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:504,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:576,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:620,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:690,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:509,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:574,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:641,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:677,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 152
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 706
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 706
    functionName: default_fixup_args
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - OPENSSL_strlcat
    - OSSL_PARAM_construct_octet_ptr
    - OSSL_PARAM_set_utf8_string
    - EVP_PKEY_CTX_IS_FROMDATA_OP
    - default_check
    - BN_bn2nativepad
    - OPENSSL_malloc
    - OSSL_PARAM_get_octet_ptr
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_uint
    - OPENSSL_free
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise_data
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_uint
    - strcpy
    - OSSL_PARAM_set_octet_string
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_allocate_from_text
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - OSSL_PARAM_construct_octet_string
    - strlen
    - OSSL_PARAM_get_octet_string
    - ERR_raise
    - ossl_assert
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_settable_params
    - OSSL_PARAM_get_int
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_construct_BN
    linkageType: ''
    returnType: int
    signature: 'static int default_fixup_args(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_cipher_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 806
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 806
    functionName: fix_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - fix_cipher_md
    linkageType: ''
    returnType: int
    signature: 'static int fix_cipher(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 933
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 933
    functionName: fix_dh_kdf_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - fix_kdf_type
    linkageType: ''
    returnType: int
    signature: 'static int fix_dh_kdf_type(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:999,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1007,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1015,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1009,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1008,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1016
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1016
    functionName: fix_dh_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    - ERR_raise
    - ossl_ffc_uid_to_dh_named_group
    - default_check
    - ossl_ffc_named_group_get_name
    linkageType: ''
    returnType: int
    signature: 'static int fix_dh_nid(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1144,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1172,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1168,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1177
    functionName: fix_ec_paramgen_curve_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - OBJ_sn2nid
    - default_fixup_args
    - OBJ_nid2sn
    - default_check
    linkageType: ''
    returnType: int
    signature: 'static int fix_ec_paramgen_curve_nid(enum state state, const struct
      translation_st *translation, struct translation_ctx_st *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1459,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1466,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1476,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1470,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1473,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1483,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1484,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1487,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1497
    functionName: fix_hkdf_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    - strcmp
    - OSSL_NELEM
    - default_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fix_hkdf_mode(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1706,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1709,1
    - Dst: DH_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1709,1
    - Dst: DSA_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1714,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1714,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1719,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1720
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1720
    functionName: get_dh_dsa_payload_q
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_DSA
    - DSA_get0_q
    - EVP_PKEY_get0_DH
    - get_payload_bn
    - DH_get0_q
    linkageType: ''
    returnType: int
    signature: 'static int get_dh_dsa_payload_q(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_translation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2843,1
    - Dst: fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2864,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2858,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2859,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2860,1
    - Dst: cleanup_translation_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2866,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - pkey
    - action_type
    - params
    argTypes:
    - EVP_PKEY*
    - enum action
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 2869
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2869
    functionName: evp_pkey_setget_params_to_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - lookup_evp_pkey_translation
    - cleanup_translation_ctx
    - ossl_assert
    - fixup
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_setget_params_to_ctrl(const EVP_PKEY *pkey, enum
      action action_type, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_cipher_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 814
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 814
    functionName: fix_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - fix_cipher_md
    linkageType: ''
    returnType: int
    signature: 'static int fix_md(enum state state, const struct translation_st *translation,
      struct translation_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1728,1
    - Dst: DH_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1731,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1736,1
    - Dst: DSA_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1736,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1731,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1741,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1742
    functionName: get_dh_dsa_payload_g
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_base_id
    - DSA_get0_g
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get0_DH
    - get_payload_bn
    - DH_get0_g
    linkageType: ''
    returnType: int
    signature: 'static int get_dh_dsa_payload_g(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:296,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:300,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:301,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:302,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:297,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:314,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:315,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:318,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:319,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:320,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:328,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:333,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:332,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:327,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:331,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 340
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 340
    functionName: default_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'static int default_check(enum state state, const struct translation_st
      *translation, const struct translation_ctx_st *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:852,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:899,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:860,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:896,1
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:881,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:908,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 61
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - kdf_type_map
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - struct kdf_type_map_st*
    constantsTouched: []
    func_position:
      end: 919
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 919
    functionName: fix_kdf_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    - ossl_assert
    - OPENSSL_strcasecmp
    - default_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fix_kdf_type(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx, const struct kdf_type_map_st *kdf_type_map) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1095,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1132,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1117,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1123,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1121,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1134
    functionName: fix_ec_param_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - strcmp
    - default_fixup_args
    - ERR_raise
    - default_check
    linkageType: ''
    returnType: int
    signature: 'static int fix_ec_param_enc(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: get_cipher_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_cipher_name(void *cipher) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1069,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1082,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1077,1
    - Dst: ossl_dh_gen_type_id2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1077,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1079,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1085,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1086
    functionName: fix_dh_paramgen_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - default_fixup_args
    - ossl_dh_gen_type_id2name
    - atoi
    - default_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fix_dh_paramgen_type(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - val
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - int
    constantsTouched: []
    func_position:
      end: 1755
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1755
    functionName: get_payload_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    linkageType: ''
    returnType: int
    signature: 'static int get_payload_int(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx, const int val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1788,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1793,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1789,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1791,1
    - Dst: RSA_get0_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1794
    functionName: get_rsa_payload_n
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get_base_id
    - get_payload_bn
    - RSA_get0_n
    linkageType: ''
    returnType: int
    signature: 'static int get_rsa_payload_n(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1859,1
    - Dst: RSA_get0_dmq1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1867,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1871,1
    - Dst: RSA_get0_multi_prime_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1875,1
    - Dst: RSA_get0_dmp1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1864,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1881,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - exponentnum
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 1882
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1882
    functionName: get_rsa_payload_exponent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - EVP_PKEY_get0_RSA
    - RSA_get0_dmq1
    - RSA_get0_multi_prime_crt_params
    - get_payload_bn
    - RSA_get0_dmp1
    linkageType: ''
    returnType: int
    signature: 'static int get_rsa_payload_exponent(enum state state, const struct
      translation_st *translation, struct translation_ctx_st *ctx, size_t exponentnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_translation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2622,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - struct translation_st*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2624
    functionName: lookup_evp_pkey_ctx_translation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - lookup_translation
    - OSSL_NELEM
    linkageType: ''
    returnType: struct translation_st*
    signature: 'static const struct translation_st *lookup_evp_pkey_ctx_translation(struct
      translation_st *tmpl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1764,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1775,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1767,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1769,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1767,1
    - Dst: get_payload_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1780
    functionName: get_ec_decoded_from_explicit_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - get_payload_int
    - EVP_PKEY_base_id
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_decoded_from_explicit_params
    linkageType: ''
    returnType: int
    signature: 'static int get_ec_decoded_from_explicit_params(enum state state, const
      struct translation_st *translation, struct translation_ctx_st *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1802,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1803,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1805,1
    - Dst: RSA_get0_e
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1805,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1807,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1808
    functionName: get_rsa_payload_e
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get_base_id
    - get_payload_bn
    - RSA_get0_e
    linkageType: ''
    returnType: int
    signature: 'static int get_rsa_payload_e(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1889,1
    - Dst: RSA_get0_iqmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1894,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1908,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1898,1
    - Dst: RSA_get0_multi_prime_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1902,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - coefficientnum
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 1909
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1909
    functionName: get_rsa_payload_coefficient
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - EVP_PKEY_get0_RSA
    - RSA_get0_iqmp
    - RSA_get0_multi_prime_crt_params
    - get_payload_bn
    linkageType: ''
    returnType: int
    signature: 'static int get_rsa_payload_coefficient(enum state state, const struct
      translation_st *translation, struct translation_ctx_st *ctx, size_t coefficientnum) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2530,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2606,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2577,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2574,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 49
    argCount: 3
    argNames:
    - tmpl
    - translations
    - translations_num
    argTypes:
    - struct translation_st*
    - struct translation_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 2617
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2617
    functionName: lookup_translation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - ossl_assert
    linkageType: ''
    returnType: struct translation_st*
    signature: 'static const struct translation_st *lookup_translation(struct translation_st
      *tmpl, const struct translation_st *translations, size_t translations_num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_translation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2629,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - struct translation_st*
    constantsTouched: []
    func_position:
      end: 2631
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2631
    functionName: lookup_evp_pkey_translation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - lookup_translation
    - OSSL_NELEM
    linkageType: ''
    returnType: struct translation_st*
    signature: 'static const struct translation_st *lookup_evp_pkey_translation(struct
      translation_st *tmpl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_setget_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 2874
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2874
    functionName: evp_pkey_get_params_to_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:714,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: cleanup_translation_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int cleanup_translation_ctx(enum state state, const struct
      translation_st *translation, struct translation_ctx_st *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:956,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:986,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:974,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:969,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 990
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 990
    functionName: fix_oid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - OBJ_txt2obj
    - default_fixup_args
    - OBJ_obj2txt
    - default_check
    linkageType: ''
    returnType: int
    signature: 'static int fix_oid(enum state state, const struct translation_st *translation,
      struct translation_ctx_st *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1379,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1402,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1407,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1406,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1410,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1414,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1417,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1425,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1426,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1430,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1430,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1445
    functionName: fix_rsa_pss_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    - strcmp
    - BIO_snprintf
    - atoi
    - OSSL_NELEM
    - default_check
    - strncpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fix_rsa_pss_saltlen(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: get_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_name
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_md_name(void *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_digestbyname_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: get_md_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - evp_get_digestbyname_ex
    linkageType: ''
    returnType: void*
    signature: 'static const void *get_md_by_name(OSSL_LIB_CTX *libctx, const char
      *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 831
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 831
    functionName: fix_distid_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    linkageType: ''
    returnType: int
    signature: 'static int fix_distid_len(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 947
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 947
    functionName: fix_ec_kdf_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - fix_kdf_type
    linkageType: ''
    returnType: int
    signature: 'static int fix_ec_kdf_type(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1259,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1295,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1311,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1316,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1309,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1320,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1321,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1331,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1335,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1338,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1345,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1346,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1351,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1350,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 68
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1365
    functionName: fix_rsa_padding_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - ERR_raise
    - default_fixup_args
    - strcmp
    - OSSL_PARAM_get_int
    - ERR_raise_data
    - OSSL_PARAM_get_uint
    - OSSL_NELEM
    - default_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fix_rsa_padding_mode(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - bn
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1673
    functionName: get_payload_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - default_fixup_args
    linkageType: ''
    returnType: int
    signature: 'static int get_payload_bn(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx, const BIGNUM *bn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1816,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1819,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1817,1
    - Dst: RSA_get0_d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1819,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1821,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1822
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1822
    functionName: get_rsa_payload_d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - RSA_get0_d
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_RSA
    - get_payload_bn
    linkageType: ''
    returnType: int
    signature: 'static int get_rsa_payload_d(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_ctx_translation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2783,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2797,1
    - Dst: fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2794,1
    - Dst: cleanup_translation_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2810,1
    - Dst: fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2806,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - pctx
    - action_type
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - enum action
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 2816
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2816
    functionName: evp_pkey_ctx_setget_params_to_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - lookup_evp_pkey_ctx_translation
    - EVP_PKEY_CTX_ctrl
    - cleanup_translation_ctx
    - fixup
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_ctx_setget_params_to_ctrl(EVP_PKEY_CTX *pctx,
      enum action action_type, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_cipherbyname_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: get_cipher_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - evp_get_cipherbyname_ex
    linkageType: ''
    returnType: void*
    signature: 'static const void *get_cipher_by_name(OSSL_LIB_CTX *libctx, const
      char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:752,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:775,1
    - Dst: get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:774,1
    - Dst: get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:777,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:773,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:778,1
    - Dst: default_fixup_args
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:781,1
    - Dst: get_algo_by_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:790,1
    - Dst: get_algo_by_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:793,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 5
    argNames:
    - state
    - translation
    - ctx
    - (*get_name)
    - (*get_algo_by_name)
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 798
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 798
    functionName: fix_cipher_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - get_name
    - default_fixup_args
    - OBJ_nid2sn
    - get_algo_by_name
    - default_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fix_cipher_md(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx, const char *(*get_name)(void *algo),
      const void *(*get_algo_by_name)(OSSL_LIB_CTX *libctx, const char *name)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1682,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1685,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1690,1
    - Dst: DH_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1685,1
    - Dst: DSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1690,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1694,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1697,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 1698
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1698
    functionName: get_dh_dsa_payload_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_base_id
    - ERR_raise
    - EVP_PKEY_get0_DSA
    - DSA_get0_p
    - EVP_PKEY_get0_DH
    - DH_get0_p
    - get_payload_bn
    linkageType: ''
    returnType: int
    signature: 'static int get_dh_dsa_payload_p(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1829,1
    - Dst: RSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1834,1
    - Dst: RSA_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1837,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1841,1
    - Dst: RSA_get0_multi_prime_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1845,1
    - Dst: get_payload_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1851,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - factornum
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 1852
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1852
    functionName: get_rsa_payload_factor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - EVP_PKEY_get0_RSA
    - get_payload_bn
    - RSA_get0_multi_prime_factors
    - RSA_get0_q
    - RSA_get0_p
    linkageType: ''
    returnType: int
    signature: 'static int get_rsa_payload_factor(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx, size_t factornum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_setget_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2821
    functionName: evp_pkey_ctx_set_params_to_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1987,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1994,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1992,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:1993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    constantsTouched: []
    func_position:
      end: 2003
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 2003
    functionName: fix_group_ecx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_PARAM_get_utf8_string_ptr
    - ERR_raise
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: 'static int fix_group_ecx(enum state state, const struct translation_st
      *translation, struct translation_ctx_st *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_ctx_translation
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2720,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2732,1
    - Dst: fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2737,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2751,1
    - Dst: fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2757,1
    - Dst: cleanup_translation_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2759,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - pctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2762
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2762
    functionName: evp_pkey_ctx_ctrl_str_to_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    functionsReached:
    - lookup_evp_pkey_ctx_translation
    - evp_pkey_ctx_set_params_strict
    - strlen
    - cleanup_translation_ctx
    - fixup
    linkageType: ''
    returnType: int
    signature: 'int evp_pkey_ctx_ctrl_str_to_param(EVP_PKEY_CTX *pctx, const char
      *name, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_setget_params_to_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c:2825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 2826
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2826
    functionName: evp_pkey_ctx_get_params_to_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:19,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:24,1
    - Dst: EVP_mdc2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:30,1
    - Dst: EVP_ripemd160
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:33,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:33,1
    - Dst: EVP_sha224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:37,1
    - Dst: EVP_add_digest_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:28,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:38,1
    - Dst: EVP_sha384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:39,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:40,1
    - Dst: EVP_sha3_512
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:56,1
    - Dst: EVP_blake2b512
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:50,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:55,1
    - Dst: EVP_sha3_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:53,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:50,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:47,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:22,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:26,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:38,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:51,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:53,1
    - Dst: EVP_sha3_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:55,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:58,1
    - Dst: EVP_md4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:19,1
    - Dst: EVP_add_digest_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:23,1
    - Dst: EVP_add_digest_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:27,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:37,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:30,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:39,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:40,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:41,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:42,1
    - Dst: EVP_sha512_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:42,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:47,1
    - Dst: EVP_shake256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:58,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:57,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:54,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:22,1
    - Dst: EVP_md5_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:24,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:26,1
    - Dst: EVP_add_digest_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:35,1
    - Dst: EVP_add_digest_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:34,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:44,1
    - Dst: EVP_whirlpool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:44,1
    - Dst: EVP_blake2s256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:51,1
    - Dst: EVP_sha3_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:54,1
    - Dst: EVP_shake128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:57,1
    - Dst: EVP_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:56,1
    - Dst: EVP_sha512_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 59
    functionName: openssl_add_all_digests_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/c_alld.c
    functionUses: []
    functionsReached:
    - EVP_sha3_256
    - EVP_shake256
    - EVP_mdc2
    - EVP_sha3_512
    - EVP_shake128
    - EVP_sha224
    - EVP_sha512_224
    - EVP_sm3
    - EVP_md5
    - EVP_sha512_256
    - EVP_sha256
    - EVP_whirlpool
    - EVP_add_digest_alias
    - EVP_ripemd160
    - EVP_sha512
    - EVP_md4
    - EVP_md5_sha1
    - EVP_sha1
    - EVP_sha3_384
    - EVP_sha384
    - EVP_blake2s256
    - EVP_sha3_224
    - EVP_blake2b512
    - EVP_add_digest
    linkageType: ''
    returnType: void
    signature: 'void openssl_add_all_digests_int(void) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_mac_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:83,1
    - Dst: OSSL_FUNC_mac_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:89,1
    - Dst: OSSL_FUNC_mac_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:94,1
    - Dst: OSSL_FUNC_mac_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:68,1
    - Dst: evp_mac_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:67,1
    - Dst: OSSL_FUNC_mac_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:119,1
    - Dst: OSSL_FUNC_mac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:146,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:163,1
    - Dst: OSSL_FUNC_mac_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:136,1
    - Dst: OSSL_FUNC_mac_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:141,1
    - Dst: OSSL_FUNC_mac_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:125,1
    - Dst: OSSL_FUNC_mac_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:131,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:72,1
    - Dst: evp_mac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:73,1
    - Dst: OSSL_FUNC_mac_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:100,1
    - Dst: OSSL_FUNC_mac_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:112,1
    - Dst: evp_mac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:157,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 61
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 166
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 166
    functionName: evp_mac_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_mac_set_ctx_params
    - OSSL_FUNC_mac_gettable_ctx_params
    - ERR_raise
    - OSSL_FUNC_mac_dupctx
    - OSSL_FUNC_mac_newctx
    - OSSL_FUNC_mac_gettable_params
    - OSSL_FUNC_mac_update
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_mac_final
    - OSSL_FUNC_mac_freectx
    - evp_mac_new
    - OSSL_FUNC_mac_get_params
    - OSSL_FUNC_mac_get_ctx_params
    - evp_mac_free
    - OSSL_FUNC_mac_init
    - ossl_provider_up_ref
    - OSSL_FUNC_mac_settable_ctx_params
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_mac_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:35,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:40,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:38,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - vmac
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: evp_mac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void evp_mac_free(void *vmac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: EVP_MAC_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - evp_mac_up_ref
    linkageType: ''
    returnType: int
    signature: 'int EVP_MAC_up_ref(EVP_MAC *mac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: EVP_MAC_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_MAC_get0_provider(const EVP_MAC *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:204,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: EVP_MAC_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MAC_gettable_ctx_params(const EVP_MAC *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:224,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: EVP_MAC_CTX_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MAC_CTX_gettable_params(EVP_MAC_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vmac
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: evp_mac_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'static int evp_mac_up_ref(void *vmac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: EVP_MAC_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_MAC*
    signature: 'EVP_MAC *EVP_MAC_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
      const char *properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:48,1
    - Dst: evp_mac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:50,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: evp_mac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - evp_mac_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_mac_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: EVP_MAC_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - evp_mac_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_MAC_free(EVP_MAC *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:195,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: EVP_MAC_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MAC_gettable_params(const EVP_MAC *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:214,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: EVP_MAC_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MAC_settable_ctx_params(const EVP_MAC *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:234,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: EVP_MAC_CTX_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MAC_CTX_settable_params(EVP_MAC_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: EVP_MAC_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/mac_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_MAC_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_MAC
      *mac, void *arg), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_cast.c:42,1
    - Dst: CAST_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_cast.c:46,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_cast.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cast_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_cast.c
    functionUses: []
    functionsReached:
    - CAST_set_key
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int cast_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - EVP_ENCODE_CTX*
    - EVP_ENCODE_CTX*
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: EVP_ENCODE_CTX_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, const EVP_ENCODE_CTX
      *sctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: EVP_ENCODE_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_ENCODE_CTX*
    signature: 'EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: evp_encode_ctx_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void evp_encode_ctx_set_flags(EVP_ENCODE_CTX *ctx, unsigned int flags) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:170,1
    - Dst: evp_encodeblock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:192,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:178,1
    - Dst: evp_encodeblock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:181,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:172,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:209,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 214
    functionName: EVP_EncodeUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - evp_encodeblock_int
    - OPENSSL_assert
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int
      *outl, const unsigned char *in, int inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conv_bin2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:246,1
    - Dst: conv_bin2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:247,1
    - Dst: conv_bin2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:255,1
    - Dst: conv_bin2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:248,1
    - Dst: conv_bin2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:249,1
    - Dst: conv_bin2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:256,1
    - Dst: conv_bin2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - t
    - f
    - dlen
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 266
    functionName: evp_encodeblock_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - conv_bin2ascii
    linkageType: ''
    returnType: int
    signature: 'static int evp_encodeblock_int(EVP_ENCODE_CTX *ctx, unsigned char
      *t, const unsigned char *f, int dlen) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: conv_ascii2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:331,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:366,1
    - Dst: B64_BASE64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:356,1
    - Dst: B64_BASE64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:339,1
    - Dst: evp_decodeblock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:371,1
    - Dst: evp_decodeblock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:390,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 86
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 410
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 410
    functionName: EVP_DecodeUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - evp_decodeblock_int
    - B64_BASE64
    - OPENSSL_assert
    - conv_ascii2bin
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int
      *outl, const unsigned char *in, int inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conv_ascii2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:425,1
    - Dst: conv_ascii2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:441,1
    - Dst: conv_ascii2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:442,1
    - Dst: B64_NOT_BASE64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:434,1
    - Dst: conv_ascii2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:434,1
    - Dst: conv_ascii2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:443,1
    - Dst: conv_ascii2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:444,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - t
    - f
    - n
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 456
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 456
    functionName: evp_decodeblock_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - conv_ascii2bin
    - B64_NOT_BASE64
    linkageType: ''
    returnType: int
    signature: 'static int evp_decodeblock_int(EVP_ENCODE_CTX *ctx, unsigned char
      *t, const unsigned char *f, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: EVP_ENCODE_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - table
    argTypes:
    - unsigned char
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: conv_ascii2bin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char conv_ascii2bin(unsigned char a, const unsigned
      char *table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: EVP_ENCODE_CTX_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: EVP_EncodeInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_EncodeInit(EVP_ENCODE_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_encodeblock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: EVP_EncodeFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - evp_encodeblock_int
    linkageType: ''
    returnType: void
    signature: 'void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int
      *outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_encodeblock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - t
    - f
    - dlen
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: EVP_EncodeBlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - evp_encodeblock_int
    linkageType: ''
    returnType: int
    signature: 'int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int
      dlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_decodeblock_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - t
    - f
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: EVP_DecodeBlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: EVP_DecodeFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached:
    - evp_decodeblock_int
    linkageType: ''
    returnType: int
    signature: 'int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - table
    argTypes:
    - unsigned char
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: conv_ascii2bin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char conv_ascii2bin(unsigned char a, const unsigned
      char *table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: EVP_DecodeInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/encode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_DecodeInit(EVP_ENCODE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: EVP_whirlpool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_wp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_whirlpool(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:30,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:50,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:24,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:27,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:28,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:56,1
    - Dst: NCONF_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:49,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:60,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:31,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:36,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:53,1
    - Dst: evp_default_properties_enable_fips_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:48,1
    - Dst: NCONF_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:54,1
    - Dst: X509V3_get_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:41,1
    - Dst: CONF_imodule_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:32,1
    - Dst: evp_set_default_properties_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:54,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    constantsTouched: []
    func_position:
      end: 67
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 67
    functionName: alg_module_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509V3_get_value_bool
    - evp_set_default_properties_int
    - strcmp
    - sk_CONF_VALUE_num
    - NCONF_get0_libctx
    - NCONF_get_section
    - sk_CONF_VALUE_value
    - evp_default_properties_enable_fips_int
    - ERR_raise_data
    - OSSL_TRACE2
    - CONF_imodule_get_value
    - CONF_imodule_get_name
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int alg_module_init(CONF_IMODULE *md, const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:71,1
    - Dst: CONF_module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: EVP_add_alg_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_cnf.c
    functionUses: []
    functionsReached:
    - CONF_module_add
    - OSSL_TRACE
    linkageType: ''
    returnType: void
    signature: 'void EVP_add_alg_module(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int init(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: EVP_md_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_md_null(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/m_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int update(EVP_MD_CTX *ctx, const void *data, size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - keymgmt
    - keydata
    argTypes:
    - EVP_KEYMGMT*
    - void*
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: evp_keymgmt_freedata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void evp_keymgmt_freedata(const EVP_KEYMGMT *keymgmt, void *keydata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - template
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 351
    functionName: evp_keymgmt_gen_set_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_gen_set_template(const EVP_KEYMGMT *keymgmt, void
      *genctx, void *template) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_has_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - keymgmt
    - objref
    - objref_sz
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: evp_keymgmt_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_has_load
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_load(const EVP_KEYMGMT *keymgmt, const void *objref,
      size_t objref_sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:407,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: EVP_KEYMGMT_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KEYMGMT_gettable_params(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - keymgmt
    - keydata
    - selection
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: evp_keymgmt_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_import(const EVP_KEYMGMT *keymgmt, void *keydata,
      int selection, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - keymgmt
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: evp_keymgmt_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_export(const EVP_KEYMGMT *keymgmt, void *keydata,
      int selection, OSSL_CALLBACK *param_cb, void *cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:23,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:26,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:24,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: keymgmt_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_KEYMGMT_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *keymgmt_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:332,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - keymgmt
    - selection
    - params
    argTypes:
    - EVP_KEYMGMT*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: evp_keymgmt_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_gen_init(const EVP_KEYMGMT *keymgmt, int selection,
      const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: evp_keymgmt_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_gen_set_params(const EVP_KEYMGMT *keymgmt, void *genctx,
      const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: evp_keymgmt_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_get_params(const EVP_KEYMGMT *keymgmt, void *keydata,
      OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: evp_keymgmt_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_set_params(const EVP_KEYMGMT *keymgmt, void *keydata,
      const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keymgmt
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - int
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: evp_keymgmt_import_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *evp_keymgmt_import_types(const EVP_KEYMGMT *keymgmt,
      int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keymgmt
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - int
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: evp_keymgmt_export_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *evp_keymgmt_export_types(const EVP_KEYMGMT *keymgmt,
      int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:311,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: evp_keymgmt_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_newdata(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: EVP_KEYMGMT_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_KEYMGMT_get0_provider(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - keymgmt
    - (*fn)
    - data
    argTypes:
    - EVP_KEYMGMT*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: EVP_KEYMGMT_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEYMGMT_names_do_all(const EVP_KEYMGMT *keymgmt, void (*fn)(const
      char *name, void *data), void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - keymgmt
    - keydata
    - selection
    - checktype
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: evp_keymgmt_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_validate(const EVP_KEYMGMT *keymgmt, void *keydata,
      int selection, int checktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: evp_keymgmt_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - keymgmt
    - keydata1
    - keydata2
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: evp_keymgmt_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_match(const EVP_KEYMGMT *keymgmt, const void *keydata1,
      const void *keydata2, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - keymgmt
    - name
    argTypes:
    - EVP_KEYMGMT*
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: EVP_KEYMGMT_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keymgmt
    - genctx
    argTypes:
    - EVP_KEYMGMT*
    - void*
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: evp_keymgmt_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void evp_keymgmt_gen_cleanup(const EVP_KEYMGMT *keymgmt, void *genctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: EVP_KEYMGMT_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_KEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_KEYMGMT
      *keymgmt, void *arg), void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: evp_keymgmt_has_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_has_load(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - name
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: evp_keymgmt_fetch_from_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_KEYMGMT*
    signature: 'EVP_KEYMGMT *evp_keymgmt_fetch_from_prov(OSSL_PROVIDER *prov, const
      char *name, const char *properties) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:63,1
    - Dst: OSSL_FUNC_keymgmt_gen_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:81,1
    - Dst: OSSL_FUNC_keymgmt_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:86,1
    - Dst: OSSL_FUNC_keymgmt_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:133,1
    - Dst: OSSL_FUNC_keymgmt_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:94,1
    - Dst: OSSL_FUNC_keymgmt_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:195,1
    - Dst: keymgmt_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:45,1
    - Dst: OSSL_FUNC_keymgmt_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:74,1
    - Dst: OSSL_FUNC_keymgmt_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:103,1
    - Dst: OSSL_FUNC_keymgmt_import
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:150,1
    - Dst: OSSL_FUNC_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:162,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:194,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:50,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:49,1
    - Dst: OSSL_FUNC_keymgmt_gen_set_template
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:68,1
    - Dst: OSSL_FUNC_keymgmt_gen_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:90,1
    - Dst: OSSL_FUNC_keymgmt_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:98,1
    - Dst: OSSL_FUNC_keymgmt_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:137,1
    - Dst: OSSL_FUNC_keymgmt_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:123,1
    - Dst: OSSL_FUNC_keymgmt_query_operation_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:129,1
    - Dst: OSSL_FUNC_keymgmt_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:110,1
    - Dst: OSSL_FUNC_keymgmt_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:145,1
    - Dst: OSSL_FUNC_keymgmt_export_types
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:168,1
    - Dst: OSSL_FUNC_keymgmt_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:59,1
    - Dst: OSSL_FUNC_keymgmt_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:116,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:200,1
    - Dst: OSSL_FUNC_keymgmt_import_types
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:156,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 131
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 203
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 203
    functionName: keymgmt_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_keymgmt_gen_set_template
    - OSSL_FUNC_keymgmt_gen
    - OSSL_FUNC_keymgmt_validate
    - OSSL_FUNC_keymgmt_query_operation_name
    - OSSL_FUNC_keymgmt_gen_set_params
    - EVP_KEYMGMT_free
    - OSSL_FUNC_keymgmt_get_params
    - OSSL_FUNC_keymgmt_export
    - OSSL_FUNC_keymgmt_new
    - OSSL_FUNC_keymgmt_load
    - OSSL_FUNC_keymgmt_import
    - OSSL_FUNC_keymgmt_match
    - OSSL_FUNC_keymgmt_settable_params
    - OSSL_FUNC_keymgmt_has
    - OSSL_FUNC_keymgmt_free
    - OSSL_FUNC_keymgmt_gen_cleanup
    - OSSL_FUNC_keymgmt_export_types
    - OSSL_FUNC_keymgmt_gen_settable_params
    - OSSL_FUNC_keymgmt_import_types
    - keymgmt_new
    - OSSL_FUNC_keymgmt_set_params
    - OSSL_FUNC_keymgmt_dup
    - ERR_raise
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_keymgmt_gettable_params
    - ossl_provider_up_ref
    - OSSL_FUNC_keymgmt_gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *keymgmt_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: EVP_KEYMGMT_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEYMGMT_up_ref(EVP_KEYMGMT *keymgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: EVP_KEYMGMT_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KEYMGMT_get0_description(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:363,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: EVP_KEYMGMT_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KEYMGMT_gen_settable_params(const EVP_KEYMGMT
      *keymgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:424,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: EVP_KEYMGMT_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KEYMGMT_settable_params(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_by_number
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - name_id
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: evp_keymgmt_fetch_by_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch_by_number
    linkageType: ''
    returnType: EVP_KEYMGMT*
    signature: 'EVP_KEYMGMT *evp_keymgmt_fetch_by_number(OSSL_LIB_CTX *ctx, int name_id,
      const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: EVP_KEYMGMT_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KEYMGMT*
    signature: 'EVP_KEYMGMT *EVP_KEYMGMT_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
      const char *properties) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:250,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:256,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:254,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:255,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: EVP_KEYMGMT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_KEYMGMT_free(EVP_KEYMGMT *keymgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: EVP_KEYMGMT_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KEYMGMT_get0_name(const EVP_KEYMGMT *keymgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - keymgmt
    - genctx
    - cb
    - cbarg
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: evp_keymgmt_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_gen(const EVP_KEYMGMT *keymgmt, void *genctx, OSSL_CALLBACK
      *cb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: evp_keymgmt_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_has(const EVP_KEYMGMT *keymgmt, void *keydata, int
      selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - keymgmt
    - keydata_from
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: evp_keymgmt_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_dup(const EVP_KEYMGMT *keymgmt, const void *keydata_from,
      int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: EVP_set_pw_prompt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c
    functionUses: []
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: 'void EVP_set_pw_prompt(const char *prompt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_read_pw_string_min
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - len
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: EVP_read_pw_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: EVP_get_pw_prompt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *EVP_get_pw_prompt(void) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:87,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:89,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:95,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:88,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:90,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:99,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:102,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:104,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:107,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:109,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:150,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:151,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:113,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:115,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:117,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:148,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 56
    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*
    constantsTouched: []
    func_position:
      end: 153
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 153
    functionName: EVP_BytesToKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_assert
    - EVP_CIPHER_get_key_length
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, const
      unsigned char *salt, const unsigned char *data, int datal, int count, unsigned
      char *key, unsigned char *iv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UI_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:60,1
    - Dst: UI_add_input_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:63,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:71,1
    - Dst: UI_process
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:70,1
    - Dst: UI_add_verify_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:66,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c:73,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - buf
    - min
    - len
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: EVP_read_pw_string_min
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_key.c
    functionUses: []
    functionsReached:
    - UI_add_verify_string
    - UI_free
    - OPENSSL_cleanse
    - UI_add_input_string
    - UI_process
    - UI_new
    linkageType: ''
    returnType: int
    signature: 'int EVP_read_pw_string_min(char *buf, int min, int len, const char
      *prompt, int verify) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:25,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:29,1
    - Dst: OBJ_NAME_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:29,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: EVP_add_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - OBJ_nid2ln
    - OBJ_NAME_add
    - OBJ_nid2sn
    linkageType: ''
    returnType: int
    signature: 'int EVP_add_cipher(const EVP_CIPHER *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: cipher_from_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - OBJ_NAME_get
    linkageType: ''
    returnType: void
    signature: 'static void cipher_from_name(const char *name, void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:81,1
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:84,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:96,1
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:100,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: evp_get_cipherbyname_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_namemap_doall_names
    - OBJ_NAME_get
    - OPENSSL_init_crypto
    - ossl_namemap_name2num
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *evp_get_cipherbyname_ex(OSSL_LIB_CTX *libctx, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_digestbyname_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: EVP_get_digestbyname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - evp_get_digestbyname_ex
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_get_digestbyname(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:154,1
    - Dst: OBJ_NAME_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:155,1
    - Dst: OBJ_NAME_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:156,1
    - Dst: EVP_PBE_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:164,1
    - Dst: OBJ_NAME_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:162,1
    - Dst: OBJ_sigid_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:165,1
    - Dst: evp_app_cleanup_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: evp_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - evp_app_cleanup_int
    - EVP_PBE_cleanup
    - OBJ_NAME_cleanup
    - OBJ_sigid_free
    linkageType: ''
    returnType: void
    signature: 'void evp_cleanup_int(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - nm
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: do_all_cipher_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_all_cipher_fn(const OBJ_NAME *nm, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:206,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - (*fn)
    - arg
    argTypes:
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: EVP_CIPHER_do_all_sorted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    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,
      const char *from, const char *to, void *x), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - nm
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: do_all_md_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_all_md_fn(const OBJ_NAME *nm, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:39,1
    - Dst: OBJ_NAME_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:40,1
    - Dst: OBJ_NAME_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:43,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:43,1
    - Dst: OBJ_NAME_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:49,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:49,1
    - Dst: OBJ_NAME_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:53,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: EVP_add_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - OBJ_nid2ln
    - OBJ_NAME_add
    - OBJ_nid2sn
    linkageType: ''
    returnType: int
    signature: 'int EVP_add_digest(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_cipherbyname_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: EVP_get_cipherbyname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - evp_get_cipherbyname_ex
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_get_cipherbyname(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: digest_from_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - OBJ_NAME_get
    linkageType: ''
    returnType: void
    signature: 'static void digest_from_name(const char *name, void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:127,1
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:146,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:141,1
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:130,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: evp_get_digestbyname_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_namemap_doall_names
    - OBJ_NAME_get
    - OPENSSL_init_crypto
    - ossl_namemap_name2num
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *evp_get_digestbyname_ex(OSSL_LIB_CTX *libctx, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:192,1
    - Dst: OBJ_NAME_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - (*fn)
    - arg
    argTypes:
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: EVP_CIPHER_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - OBJ_NAME_do_all
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: 'void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, const char
      *from, const char *to, void *x), void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:235,1
    - Dst: OBJ_NAME_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - (*fn)
    - arg
    argTypes:
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: EVP_MD_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    functionsReached:
    - OBJ_NAME_do_all
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_do_all(void (*fn) (const EVP_MD *md, const char *from,
      const char *to, void *x), void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:248,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - (*fn)
    - arg
    argTypes:
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: EVP_MD_do_all_sorted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/names.c
    functionUses: []
    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, const char
      *from, const char *to, void *x), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:47,1
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:53,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:48,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: rc4_hmac_md5_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - MD5_Init
    - RC4_set_key
    - EVP_CIPHER_CTX_get_key_length
    - data
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx, const unsigned
      char *inkey, const unsigned char *iv, int enc) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:78,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:90,1
    - Dst: rc4_md5_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:103,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:124,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:145,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:101,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:126,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:165,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:170,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:171,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:100,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:117,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:121,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:144,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:163,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:168,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:176,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:127,1
    - Dst: rc4_md5_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:147,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:129,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:131,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:173,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 125
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 183
    functionName: rc4_hmac_md5_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - data
    - MD5_Update
    - rc4_md5_enc
    - RC4
    - memcpy
    - MD5_Final
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:188,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:200,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:196,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:199,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:201,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:203,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:208,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:209,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:213,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:214,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:216,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:230,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c:239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 246
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 246
    functionName: rc4_hmac_md5_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - data
    - MD5_Update
    - memcpy
    - MD5_Final
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - MD5_Init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,
      void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: EVP_rc4_hmac_md5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_rc4_hmac_md5(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: EVP_enc_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_enc_null(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: null_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_null.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: null_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_null.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int null_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const
      unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_utils.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: geterr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_utils.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'static void geterr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_utils.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: seterr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_utils.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'static void seterr(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:50,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: EVP_KDF_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_KDF_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_KDF_CTX_free(EVP_KDF_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: evp_kdf_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_kdf_get_number(const EVP_KDF *kdf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: EVP_KDF_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KDF_get0_description(const EVP_KDF *kdf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: EVP_KDF_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_KDF_get0_provider(const EVP_KDF *kdf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: EVP_KDF_CTX_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_KDF_CTX_reset(EVP_KDF_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - keylen
    - params
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: EVP_KDF_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_KDF_derive(EVP_KDF_CTX *ctx, unsigned char *key, size_t keylen,
      const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_KDF_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: EVP_KDF_CTX_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_KDF_CTX_get_params(EVP_KDF_CTX *ctx, OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:29,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:33,1
    - Dst: EVP_KDF_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:32,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:36,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: EVP_KDF_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - ERR_raise
    - OPENSSL_free
    - EVP_KDF_up_ref
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_KDF_CTX*
    signature: 'EVP_KDF_CTX *EVP_KDF_CTX_new(EVP_KDF *kdf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:61,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:67,1
    - Dst: EVP_KDF_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:68,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:63,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:70,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - EVP_KDF_CTX*
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: EVP_KDF_CTX_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - EVP_KDF_up_ref
    - EVP_KDF_CTX_free
    - 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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: EVP_KDF_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KDF_get0_name(const EVP_KDF *kdf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - kdf
    - name
    argTypes:
    - EVP_KDF*
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: EVP_KDF_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: EVP_KDF_CTX_kdf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_KDF*
    signature: 'const EVP_KDF *EVP_KDF_CTX_kdf(EVP_KDF_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: EVP_KDF_CTX_get_kdf_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached:
    - 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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_KDF_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: EVP_KDF_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - kdf
    - (*fn)
    - data
    argTypes:
    - EVP_KDF*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: EVP_KDF_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_KDF_names_do_all(const EVP_KDF *kdf, void (*fn)(const char
      *name, void *data), void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - kdf
    - params
    argTypes:
    - EVP_KDF*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: EVP_KDF_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kdf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_KDF_get_params(EVP_KDF *kdf, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:238,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: camellia_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'static int camellia_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:195,1
    - Dst: Camellia_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:197,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:204,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 217
    functionName: camellia_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - ERR_raise
    - Camellia_set_key
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int camellia_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:265,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:270,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:269,1
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:268,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: camellia_cfb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cfb128_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int camellia_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:289,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:294,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:293,1
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:291,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:292,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:296,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:301,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:302,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:304,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:306,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:313,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:315,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:312,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 321
    functionName: camellia_cfb1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_test_flags
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int camellia_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:55,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:58,1
    - Dst: cmll_t4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:60,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:106,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:57,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 111
    functionName: cmll_t4_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_CTX_get_cipher_data
    - ERR_raise
    - cmll_t4_set_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int cmll_t4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:222,1
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:228,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:226,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:227,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: camellia_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int camellia_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:254,1
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:257,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:256,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: camellia_ofb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - CRYPTO_ofb128_encrypt
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_num
    linkageType: ''
    returnType: int
    signature: 'static int camellia_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:277,1
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:280,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:281,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:279,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: camellia_cfb8_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cfb128_8_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int camellia_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:326,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:328,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:339,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:334,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:335,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:340,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 344
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 344
    functionName: camellia_ctr_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_camellia.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ctr128_encrypt
    - EVP_C_DATA
    - CRYPTO_ctr128_encrypt_ctr32
    linkageType: ''
    returnType: int
    signature: 'static int camellia_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:26,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - EVP_PKEY*
    - RSA*
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: EVP_PKEY_set1_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    functionsReached:
    - RSA_up_ref
    - EVP_PKEY_assign_RSA
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: EVP_PKEY_get0_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    functionsReached:
    - evp_pkey_get0_RSA_int
    linkageType: ''
    returnType: RSA*
    signature: 'const RSA *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:59,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:61,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - EVP_PKEY*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: EVP_PKEY_set1_EC_KEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    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: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:36,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: evp_pkey_get0_RSA_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *evp_pkey_get0_RSA_int(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:49,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: EVP_PKEY_get1_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    functionsReached:
    - RSA_up_ref
    - evp_pkey_get0_RSA_int
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *EVP_PKEY_get1_RSA(EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:70,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: evp_pkey_get0_EC_KEY_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: EVP_PKEY_get0_EC_KEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    functionsReached:
    - evp_pkey_get0_EC_KEY_int
    linkageType: ''
    returnType: EC_KEY*
    signature: 'const EC_KEY *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_EC_KEY_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:84,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: EVP_PKEY_get1_EC_KEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_legacy.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:64,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:68,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:69,1
    - Dst: ossl_aria_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:71,1
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:67,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:72,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: aria_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - ossl_aria_set_decrypt_key
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_CTX_get_cipher_data
    - ERR_raise
    - ossl_aria_set_encrypt_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aria_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: aria_cfb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void aria_cfb128_encrypt(const unsigned char *in, unsigned
      char *out, size_t length, const ARIA_KEY *key, unsigned char *ivec, int *num,
      const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: aria_cfb8_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void aria_cfb8_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const ARIA_KEY *key, unsigned char *ivec, int *num, const
      int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: aria_ofb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void aria_ofb128_encrypt(const unsigned char *in, unsigned
      char *out, size_t length, const ARIA_KEY *key, unsigned char *ivec, int *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:177,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:188,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:186,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:179,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: aria_ctr_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ctr128_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aria_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: ctr64_inc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr64_inc(unsigned char *counter) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:280,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:281,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:292,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:319,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:318,1
    - Dst: ctr64_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:335,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:306,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:330,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:343,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:344,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:356,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:263,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:282,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:290,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:300,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:317,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:300,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:327,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:352,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:390,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:368,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:341,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:357,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:363,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:369,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:377,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:387,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:257,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:292,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:297,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:386,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:352,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 124
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 399
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 399
    functionName: aria_gcm_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_buf_noconst
    - OPENSSL_free
    - memcpy
    - RAND_bytes
    - EVP_CIPHER_CTX_is_encrypting
    - ctr64_inc
    - EVP_C_DATA
    - EVP_CIPHER_get_iv_length
    - CRYPTO_gcm128_setiv
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int aria_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void
      *ptr) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:460,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:475,1
    - Dst: aria_gcm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:467,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:473,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:476,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:479,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:484,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:487,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:488,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:494,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:494,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 499
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 499
    functionName: aria_gcm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_aad
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_finish
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_gcm128_encrypt
    - EVP_C_DATA
    - aria_gcm_tls_cipher
    - CRYPTO_gcm128_tag
    linkageType: ''
    returnType: int
    signature: 'static int aria_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: aria_cfb1_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void aria_cfb1_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const ARIA_KEY *key, unsigned char *ivec, int *num, const
      int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:87,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: aria_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - CRYPTO_cbc128_decrypt
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void aria_cbc_encrypt(const unsigned char *in, unsigned char
      *out, size_t len, const ARIA_KEY *key, unsigned char *ivec, const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - in
    - out
    - key
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - ARIA_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: aria_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - ossl_aria_encrypt
    linkageType: ''
    returnType: void
    signature: 'static void aria_ecb_encrypt(const unsigned char *in, unsigned char
      *out, const ARIA_KEY *key, const int enc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:218,1
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:223,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:229,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:224,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:239,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:246,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:248,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 253
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 253
    functionName: aria_gcm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_gcm128_init
    - memcpy
    - ossl_aria_set_encrypt_key
    - EVP_C_DATA
    - CRYPTO_gcm128_setiv
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int aria_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:404,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:415,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:415,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:420,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:420,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:427,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:429,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:433,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:437,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:440,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:443,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:443,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:440,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:445,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 455
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 455
    functionName: aria_gcm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_aad
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_gcm128_decrypt
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_gcm128_encrypt
    - EVP_CIPHER_CTX_ctrl
    - EVP_C_DATA
    - CRYPTO_memcmp
    - CRYPTO_gcm128_tag
    linkageType: ''
    returnType: int
    signature: 'static int aria_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:503,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: aria_gcm_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aria_gcm_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:515,1
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:521,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:524,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:527,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:522,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 538
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 538
    functionName: aria_ccm_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcpy
    - ossl_aria_set_encrypt_key
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_ccm128_init
    linkageType: ''
    returnType: int
    signature: 'static int aria_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:542,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:563,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:563,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:567,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:568,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:574,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:579,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:580,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:590,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:604,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:608,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:616,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:626,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:614,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:608,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 638
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 638
    functionName: aria_ccm_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_buf_noconst
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_ccm128_tag
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int aria_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void
      *ptr) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:643,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:651,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:651,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:654,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:650,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:658,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:662,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:662,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:667,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:668,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:683,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:669,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:676,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:679,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:678,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:675,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:671,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 686
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 686
    functionName: aria_ccm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_buf_noconst
    - memcpy
    - OPENSSL_cleanse
    - CRYPTO_ccm128_encrypt_ccm64
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_ccm128_aad
    - CRYPTO_ccm128_tag
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_setiv
    - EVP_C_DATA
    - CRYPTO_ccm128_decrypt
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt_ccm64
    linkageType: ''
    returnType: int
    signature: 'static int aria_ccm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:691,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:718,1
    - Dst: aria_ccm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:699,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:710,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:723,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:728,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:732,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:733,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:734,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:740,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:745,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:742,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:751,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:745,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c:744,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 757
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 757
    functionName: aria_ccm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_aria.c
    functionUses: []
    functionsReached:
    - aria_ccm_tls_cipher
    - EVP_CIPHER_CTX_buf_noconst
    - OPENSSL_cleanse
    - CRYPTO_ccm128_encrypt_ccm64
    - CRYPTO_ccm128_aad
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_ccm128_tag
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_setiv
    - EVP_C_DATA
    - CRYPTO_ccm128_decrypt
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt_ccm64
    linkageType: ''
    returnType: int
    signature: 'static int aria_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:25,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:33,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:30,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:36,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:26,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:38,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:39,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:45,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:48,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:50,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:52,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:50,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:54,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 6
    argNames:
    - ctx
    - sigbuf
    - siglen
    - pkey
    - libctx
    - propq
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 56
    functionName: EVP_VerifyFinal_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_verify_init
    - EVP_PKEY_verify
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_DigestFinal_ex
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_get0_md
    - EVP_MD_CTX_test_flags
    linkageType: ''
    returnType: int
    signature: 'int EVP_VerifyFinal_ex(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
      unsigned int siglen, EVP_PKEY *pkey, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_VerifyFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - sigbuf
    - siglen
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: EVP_VerifyFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_verify.c
    functionUses: []
    functionsReached:
    - EVP_VerifyFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
      unsigned int siglen, EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_dec.c:26,1
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_dec.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_dec.c:27,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_dec.c:36,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - key
    - ek
    - ekl
    - priv
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: EVP_PKEY_decrypt_old
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/p_dec.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_get_id
    - evp_pkey_get0_RSA_int
    - RSA_private_decrypt
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_decrypt_old(unsigned char *key, const unsigned char *ek,
      int ekl, EVP_PKEY *priv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:62,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:48,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:68,1
    - Dst: cleanup_old_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - force
    - keep_fetched
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: evp_md_ctx_clear_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_flags
    - EVP_MD_free
    - ENGINE_finish
    - cleanup_old_md_data
    linkageType: ''
    returnType: void
    signature: 'void evp_md_ctx_clear_digest(EVP_MD_CTX *ctx, int force, int keep_fetched) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: EVP_MD_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_MD_CTX*
    signature: 'EVP_MD_CTX *EVP_MD_CTX_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:365,1
    - Dst: evp_md_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: EVP_DigestInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:418,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - md
    - size
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: EVP_DigestFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:518,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: EVP_MD_CTX_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:814,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:840,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:832,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:824,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:828,1
    - Dst: EVP_MD_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:842,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:849,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 858
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 858
    functionName: EVP_MD_CTX_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_params
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - EVP_MD_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: evp_md_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: 'static void evp_md_free(void *md) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:84,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:92,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:85,1
    - Dst: evp_md_ctx_clear_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - keep_fetched
    argTypes:
    - EVP_MD_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: evp_md_ctx_reset_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - evp_md_ctx_clear_digest
    - EVP_MD_CTX_test_flags
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int evp_md_ctx_reset_ex(EVP_MD_CTX *ctx, int keep_fetched) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:139,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: EVP_MD_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_CTX_free(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - type
    - impl
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: EVP_DigestInit_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - evp_md_init_internal
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE
      *impl) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:536,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:553,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:572,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:590,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:602,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:631,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:546,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:534,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:565,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:605,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:577,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:618,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:620,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:624,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:560,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:578,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:601,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:633,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:528,1
    - Dst: evp_md_ctx_reset_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:550,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:591,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:598,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:575,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 81
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 643
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 643
    functionName: EVP_MD_CTX_copy_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_set_flags
    - EVP_MD_up_ref
    - evp_md_ctx_reset_ex
    - ENGINE_init
    - EVP_MD_CTX_reset
    - memcpy
    - OPENSSL_malloc
    - EVP_MD_free
    - EVP_PKEY_CTX_dup
    - EVP_MD_CTX_clear_flags
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:862,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:867,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 873
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 873
    functionName: evp_md_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_MD*
    signature: 'EVP_MD *evp_md_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: EVP_MD_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_MD*
    signature: 'EVP_MD *EVP_MD_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const
      char *properties) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:380,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:394,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:391,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:393,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:404,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 412
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 412
    functionName: EVP_DigestUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignUpdate
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_DigestVerifyUpdate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, size_t count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:890,1
    - Dst: EVP_MD_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:897,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - name
    - vlegacy_nid
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 903
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 903
    functionName: set_legacy_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_nid
    - OBJ_NAME_get
    linkageType: ''
    returnType: void
    signature: 'static void set_legacy_nid(const char *name, void *vlegacy_nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_reset_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: EVP_MD_CTX_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - evp_md_ctx_reset_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_CTX_reset(EVP_MD_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - digest
    - params
    argTypes:
    - EVP_MD*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: EVP_MD_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_get_params(const EVP_MD *digest, OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MD_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 712
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 712
    functionName: EVP_MD_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:744,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:744,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 749
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 749
    functionName: EVP_MD_CTX_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:31,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:36,1
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:34,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - force
    argTypes:
    - EVP_MD_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: cleanup_old_md_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_test_flags
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_old_md_data(EVP_MD_CTX *ctx, int force) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:691,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - digest
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: EVP_MD_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MD_gettable_params(const EVP_MD *digest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:719,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 723
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 723
    functionName: EVP_MD_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MD_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 768
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 768
    functionName: EVP_MD_CTX_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:223,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:268,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:272,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:297,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:343,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:346,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:152,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:163,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:161,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:172,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:223,1
    - Dst: ENGINE_get_digest_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:244,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:232,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:279,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:253,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:257,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:285,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:311,1
    - Dst: cleanup_old_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:326,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:331,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:310,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:333,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:173,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:209,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:249,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:248,1
    - Dst: cleanup_old_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:237,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:298,1
    - Dst: ENGINE_get_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:307,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 178
    argCount: 4
    argNames:
    - ctx
    - type
    - params
    - impl
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - OSSL_PARAM
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 355
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 355
    functionName: evp_md_init_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_up_ref
    - OBJ_nid2sn
    - ENGINE_finish
    - OPENSSL_zalloc
    - cleanup_old_md_data
    - defined
    - EVP_MD_free
    - EVP_PKEY_CTX_ctrl
    - ossl_provider_ctx
    - EVP_DigestSignInit
    - ENGINE_init
    - EVP_DigestVerifyInit
    - ENGINE_get_digest
    - ENGINE_get_digest_engine
    - EVP_MD_fetch
    - ERR_raise
    - ossl_assert
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_MD_CTX_clear_flags
    linkageType: ''
    returnType: int
    signature: 'static int evp_md_init_internal(EVP_MD_CTX *ctx, const EVP_MD *type,
      const OSSL_PARAM params[], ENGINE *impl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:775,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 779
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 779
    functionName: EVP_MD_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - type
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: EVP_DigestInit_ex2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - evp_md_init_internal
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestInit_ex2(EVP_MD_CTX *ctx, const EVP_MD *type, const
      OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:800,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:800,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 804
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 804
    functionName: EVP_MD_CTX_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:913,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:916,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:918,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:915,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:914,1
    - Dst: evp_do_md_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:919,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 931
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 931
    functionName: evp_md_cache_constants
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_int
    - evp_do_md_getparams
    linkageType: ''
    returnType: int
    signature: 'static int evp_md_cache_constants(EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:112,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:119,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:116,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:111,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:123,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:124,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - pkey
    - id
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - ASN1_OCTET_STRING*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: evp_md_ctx_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_set1_id
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: EVP_MD_CTX*
    signature: 'EVP_MD_CTX *evp_md_ctx_new_ex(EVP_PKEY *pkey, const ASN1_OCTET_STRING
      *id, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:433,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:460,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:451,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:441,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:466,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:468,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - md
    - isize
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 470
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 470
    functionName: EVP_DigestFinal_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_set_flags
    - OPENSSL_assert
    - OPENSSL_cleanse
    - EVP_MD_get_size
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned
      int *isize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:649,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:655,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:656,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:654,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:657,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:658,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - data
    - count
    - md
    - size
    - type
    - impl
    argTypes:
    - void*
    - size_t
    - unsigned char*
    - unsigned int*
    - EVP_MD*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 661
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 661
    functionName: EVP_Digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_Digest(const void *data, size_t count, unsigned char *md,
      unsigned int *size, const EVP_MD *type, ENGINE *impl) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:952,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:943,1
    - Dst: OSSL_FUNC_digest_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:986,1
    - Dst: evp_md_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:942,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:958,1
    - Dst: OSSL_FUNC_digest_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:980,1
    - Dst: OSSL_FUNC_digest_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1015,1
    - Dst: OSSL_FUNC_digest_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1024,1
    - Dst: OSSL_FUNC_digest_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1007,1
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:949,1
    - Dst: OSSL_FUNC_digest_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:968,1
    - Dst: OSSL_FUNC_digest_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:974,1
    - Dst: OSSL_FUNC_digest_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:997,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1041,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1042,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1050,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:951,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:959,1
    - Dst: OSSL_FUNC_digest_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:992,1
    - Dst: OSSL_FUNC_digest_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1003,1
    - Dst: OSSL_FUNC_digest_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1011,1
    - Dst: OSSL_FUNC_digest_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1019,1
    - Dst: OSSL_FUNC_digest_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1029,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1047,1
    - Dst: evp_md_cache_constants
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1049,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1051,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 87
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 1056
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1056
    functionName: evp_md_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_digest_set_ctx_params
    - OSSL_FUNC_digest_settable_ctx_params
    - OSSL_FUNC_digest_get_params
    - OSSL_FUNC_digest_final
    - evp_md_new
    - EVP_MD_free
    - OSSL_FUNC_digest_gettable_params
    - OSSL_FUNC_digest_newctx
    - evp_names_do_all
    - OSSL_FUNC_digest_init
    - OSSL_FUNC_digest_get_ctx_params
    - evp_md_cache_constants
    - OSSL_FUNC_digest_freectx
    - ERR_raise
    - OSSL_FUNC_digest_dupctx
    - OSSL_FUNC_digest_digest
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_digest_gettable_ctx_params
    - ossl_provider_up_ref
    - OSSL_FUNC_digest_update
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_md_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1085
    functionName: EVP_MD_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_up_ref(EVP_MD *md) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:479,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:492,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:494,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:487,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:491,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:506,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:510,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:508,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - md
    - size
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 514
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 514
    functionName: EVP_DigestFinalXOF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - EVP_MD_CTX_set_params
    - EVP_MD_CTX_set_flags
    - OPENSSL_cleanse
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md, size_t
      size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:667,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:673,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:672,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 7
    argNames:
    - libctx
    - name
    - propq
    - data
    - datalen
    - md
    - mdlen
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - void*
    - size_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 678
    functionName: EVP_Q_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    - EVP_Digest
    linkageType: ''
    returnType: int
    signature: 'int EVP_Q_digest(OSSL_LIB_CTX *libctx, const char *name, const char
      *propq, const void *data, size_t datalen, unsigned char *md, size_t *mdlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: evp_md_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int evp_md_up_ref(void *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1094,1
    - Dst: evp_md_free_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1098
    functionName: EVP_MD_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - CRYPTO_DOWN_REF
    - evp_md_free_int
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_free(EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c:1104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1107
    functionName: EVP_MD_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/digest.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_MD
      *mac, void *arg), void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:343,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 355
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 355
    functionName: fromdata_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_ctx_free_old_ops
    linkageType: ''
    returnType: int
    signature: 'static int fromdata_init(EVP_PKEY_CTX *ctx, int operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pkey
    - selection
    - params
    argTypes:
    - EVP_PKEY*
    - int
    - OSSL_PARAM**
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: EVP_PKEY_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    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: fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: EVP_PKEY_fromdata_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - fromdata_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_fromdata_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:441,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:445,1
    - Dst: evp_keymgmt_util_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pkey
    - selection
    - export_cb
    - export_cbarg
    argTypes:
    - EVP_PKEY*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 460
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 460
    functionName: EVP_PKEY_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_export
    - ERR_raise
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_export(const EVP_PKEY *pkey, int selection, OSSL_CALLBACK
      *export_cb, void *export_cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:261,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: EVP_PKEY_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_generate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - gcb
    argTypes:
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: trans_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - BN_GENCB_get_arg
    linkageType: ''
    returnType: int
    signature: 'static int trans_cb(int a, int b, BN_GENCB *gcb) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:31,1
    - Dst: evp_keymgmt_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:40,1
    - Dst: evp_keymgmt_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:51,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:88,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 91
    functionName: gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_gen_init
    - ERR_raise
    - evp_pkey_ctx_free_old_ops
    linkageType: ''
    returnType: int
    signature: 'static int gen_init(EVP_PKEY_CTX *ctx, int operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:270,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: EVP_PKEY_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    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:
    - Dst: BN_GENCB_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - ctx
    argTypes:
    - BN_GENCB*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: evp_pkey_set_cb_translate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - BN_GENCB_set
    linkageType: ''
    returnType: void
    signature: 'void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: ossl_pkey_todata_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_dup
    linkageType: ''
    returnType: int
    signature: 'static int ossl_pkey_todata_cb(const OSSL_PARAM params[], void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_gen_cb*
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: EVP_PKEY_CTX_set_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: EVP_PKEY_CTX_get_keygen_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: EVP_PKEY_CTX_get_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    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: gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: EVP_PKEY_paramgen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:112,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:118,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:114,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: ossl_callback_to_pkey_gencb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: 'static int ossl_callback_to_pkey_gencb(const OSSL_PARAM params[],
      void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:320,1
    - Dst: EVP_PKEY_CTX_set_mac_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:325,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:327,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:323,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:330,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 4
    argNames:
    - type
    - e
    - key
    - keylen
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 332
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 332
    functionName: EVP_PKEY_new_mac_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_mac_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, const unsigned
      char *key, int keylen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:369,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:377,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:380,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:388,1
    - Dst: evp_keymgmt_util_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:384,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - ppkey
    - selection
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 394
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 394
    functionName: EVP_PKEY_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_fromdata
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_fromdata(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey, int selection,
      OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: EVP_PKEY_keygen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:144,1
    - Dst: evp_keymgmt_gen_set_template
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:147,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:170,1
    - Dst: evp_keymgmt_util_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:188,1
    - Dst: evp_pkey_free_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:197,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:219,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:219,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:243,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:252,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:247,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:238,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 51
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 256
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 256
    functionName: EVP_PKEY_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_is_provided
    - ossl_assert
    - EVP_PKEY_free
    - evp_pkey_free_legacy
    - EVP_PKEY_new
    - evp_keymgmt_util_gen
    - evp_keymgmt_gen_set_template
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_generate(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:399,1
    - Dst: evp_keymgmt_import_types
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: EVP_PKEY_fromdata_settable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached:
    - fromdata_init
    - evp_keymgmt_import_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_PKEY_fromdata_settable(EVP_PKEY_CTX *ctx, int
      selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - fake_keydata
    - ignored_selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: pkey_fake_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_gn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pkey_fake_import(void *fake_keydata, int ignored_selection,
      const OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:49,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:68,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:72,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:66,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:67,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:75,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:77,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:78,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:79,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:80,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:82,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:81,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:85,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    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*
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: EVP_PBE_scrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_fetch
    - EVP_KDF_derive
    - EVP_KDF_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint64
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_scrypt_ex(const char *pass, size_t passlen, const unsigned
      char *salt, size_t saltlen, uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
      unsigned char *key, size_t keylen, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    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
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: EVP_PBE_scrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pbe_scrypt.c
    functionUses: []
    functionsReached:
    - EVP_PBE_scrypt_ex
    linkageType: ''
    returnType: int
    signature: 'int EVP_PBE_scrypt(const char *pass, size_t passlen, const unsigned
      char *salt, size_t saltlen, uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
      unsigned char *key, size_t keylen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_newdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:35,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:36,1
    - Dst: evp_keymgmt_import
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:49,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: evp_keymgmt_util_try_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_keymgmt_freedata
    - evp_keymgmt_import
    - evp_keymgmt_newdata
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_try_import(const OSSL_PARAM params[], void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:78,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:80,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - keymgmt
    - keydata
    argTypes:
    - EVP_KEYMGMT*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: evp_keymgmt_util_make_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_new
    - evp_keymgmt_util_assign_pkey
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *evp_keymgmt_util_make_pkey(EVP_KEYMGMT *keymgmt, void *keydata) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:121,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:148,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:130,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:138,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:134,1
    - Dst: match_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:148,1
    - Dst: evp_keymgmt_util_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:166,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:171,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:172,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:176,1
    - Dst: evp_keymgmt_util_cache_keydata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:199,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:201,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:202,1
    - Dst: evp_keymgmt_util_clear_operation_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:196,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:186,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:209,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:180,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 3
    argNames:
    - pk
    - keymgmt
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 212
    functionName: evp_keymgmt_util_export_to_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_clear_operation_cache
    - ossl_assert
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - evp_keymgmt_util_cache_keydata
    - CRYPTO_THREAD_read_lock
    - evp_keymgmt_freedata
    - evp_keymgmt_util_export
    - evp_keymgmt_util_find_operation_cache
    - match_type
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_util_export_to_provider(EVP_PKEY *pk, EVP_KEYMGMT
      *keymgmt, int selection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:224,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:229,1
    - Dst: sk_OP_CACHE_ELEM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pk
    - locking
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: evp_keymgmt_util_clear_operation_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_OP_CACHE_ELEM_pop_free
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_clear_operation_cache(EVP_PKEY *pk, int locking) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_OP_CACHE_ELEM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:266,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:271,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:279,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:278,1
    - Dst: sk_OP_CACHE_ELEM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:283,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:284,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - pk
    - keymgmt
    - keydata
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 290
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 290
    functionName: evp_keymgmt_util_cache_keydata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - sk_OP_CACHE_ELEM_push
    - OPENSSL_free
    - EVP_KEYMGMT_free
    - sk_OP_CACHE_ELEM_new_null
    - EVP_KEYMGMT_up_ref
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_cache_keydata(EVP_PKEY *pk, EVP_KEYMGMT *keymgmt,
      void *keydata, int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_newdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:323,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:325,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:326,1
    - Dst: evp_keymgmt_import
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - target
    - keymgmt
    - selection
    - params
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: evp_keymgmt_util_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_freedata
    - evp_keymgmt_util_assign_pkey
    - evp_keymgmt_import
    - evp_keymgmt_newdata
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_util_fromdata(EVP_PKEY *target, EVP_KEYMGMT *keymgmt,
      int selection, const OSSL_PARAM params[]) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: match_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:386,1
    - Dst: evp_keymgmt_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:445,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:387,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:402,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:423,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 60
    argCount: 3
    argNames:
    - pk1
    - pk2
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 446
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 446
    functionName: evp_keymgmt_util_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_export_to_provider
    - evp_keymgmt_match
    - ERR_raise
    - match_type
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_match(EVP_PKEY *pk1, EVP_PKEY *pk2, int selection) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:547,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:558,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:550,1
    - Dst: evp_keymgmt_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:555,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:553,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:564,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:572,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - keymgmt
    - keydata
    - mdname
    - mdname_sz
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 574
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 574
    functionName: evp_keymgmt_util_get_deflt_digest_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    - evp_keymgmt_get_params
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_get_deflt_digest_name(EVP_KEYMGMT *keymgmt, void
      *keydata, char *mdname, size_t mdname_sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:63,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:64,1
    - Dst: evp_keymgmt_util_cache_keyinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pkey
    - keymgmt
    - keydata
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: evp_keymgmt_util_assign_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_set_type_by_keymgmt
    - evp_keymgmt_util_cache_keyinfo
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_assign_pkey(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt,
      void *keydata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pk
    - selection
    - export_cb
    - export_cbarg
    argTypes:
    - EVP_PKEY*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: evp_keymgmt_util_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_export
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_export(const EVP_PKEY *pk, int selection, OSSL_CALLBACK
      *export_cb, void *export_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:216,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:218,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - OP_CACHE_ELEM*
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: op_cache_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - evp_keymgmt_freedata
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: 'static void op_cache_free(OP_CACHE_ELEM *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OP_CACHE_ELEM_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:239,1
    - Dst: sk_OP_CACHE_ELEM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pk
    - keymgmt
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: evp_keymgmt_util_find_operation_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - sk_OP_CACHE_ELEM_value
    - sk_OP_CACHE_ELEM_num
    linkageType: ''
    returnType: OP_CACHE_ELEM*
    signature: 'OP_CACHE_ELEM *evp_keymgmt_util_find_operation_cache(EVP_PKEY *pk,
      EVP_KEYMGMT *keymgmt, int selection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:305,1
    - Dst: evp_keymgmt_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:310,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:308,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:309,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: evp_keymgmt_util_cache_keyinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_get_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: void
    signature: 'void evp_keymgmt_util_cache_keyinfo(EVP_PKEY *pk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pk
    - selection
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: evp_keymgmt_util_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_has
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_has(EVP_PKEY *pk, int selection) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:468,1
    - Dst: match_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:473,1
    - Dst: evp_keymgmt_util_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:480,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:506,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:492,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:507,1
    - Dst: evp_keymgmt_util_cache_keyinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:511,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - to
    - from
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 514
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 514
    functionName: evp_keymgmt_util_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_set_type_by_keymgmt
    - evp_keymgmt_util_cache_keyinfo
    - evp_keymgmt_dup
    - ERR_raise
    - evp_keymgmt_freedata
    - evp_keymgmt_util_export
    - match_type
    linkageType: ''
    returnType: int
    signature: 'int evp_keymgmt_util_copy(EVP_PKEY *to, EVP_PKEY *from, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:23,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keymgmt1
    - keymgmt2
    argTypes:
    - EVP_KEYMGMT*
    - EVP_KEYMGMT*
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: match_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_is_a
    linkageType: ''
    returnType: int
    signature: 'static int match_type(const EVP_KEYMGMT *keymgmt1, const EVP_KEYMGMT
      *keymgmt2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:521,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:522,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:523,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - target
    - keymgmt
    - genctx
    - cb
    - cbarg
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 528
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 528
    functionName: evp_keymgmt_util_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_freedata
    - evp_keymgmt_gen
    - evp_keymgmt_util_assign_pkey
    linkageType: ''
    returnType: void*
    signature: 'void *evp_keymgmt_util_gen(EVP_PKEY *target, EVP_KEYMGMT *keymgmt,
      void *genctx, OSSL_CALLBACK *cb, void *cbarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - keymgmt
    - op_id
    argTypes:
    - EVP_KEYMGMT*
    - int
    constantsTouched: []
    func_position:
      end: 593
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 593
    functionName: evp_keymgmt_util_query_operation_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/keymgmt_lib.c
    functionUses: []
    functionsReached:
    - EVP_KEYMGMT_get0_name
    linkageType: ''
    returnType: char*
    signature: 'const char *evp_keymgmt_util_query_operation_name(EVP_KEYMGMT *keymgmt,
      int op_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_CIPHER_ecb_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:43,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:44,1
    - Dst: IDEA_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: idea_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c
    functionUses: []
    functionsReached:
    - BLOCK_CIPHER_ecb_loop
    - EVP_C_DATA
    - IDEA_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int idea_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:60,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:66,1
    - Dst: IDEA_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:66,1
    - Dst: IDEA_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:70,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:62,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:71,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: idea_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_idea.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - OPENSSL_cleanse
    - IDEA_set_encrypt_key
    - EVP_C_DATA
    - IDEA_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int idea_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEED_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_seed.c:38,1
    - Dst: EVP_C_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_seed.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: seed_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_seed.c
    functionUses: []
    functionsReached:
    - SEED_set_key
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: 'static int seed_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:34,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:33,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:38,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:38,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:39,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:50,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:61,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:54,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 3
    argNames:
    - p8
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 63
    functionName: evp_pkcs82pkey_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - PKCS8_pkey_get0
    - EVP_PKEY_free
    - EVP_PKEY_set_type
    - ERR_raise_data
    - EVP_PKEY_new
    - i2t_ASN1_OBJECT
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *evp_pkcs82pkey_legacy(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:112,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:126,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:125,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:118,1
    - Dst: PKCS8_PRIV_KEY_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:143,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:147,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:156,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:153,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 159
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 159
    functionName: EVP_PKEY2PKCS8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - evp_pkey_is_provided
    - ERR_raise
    - OPENSSL_free
    - PKCS8_PRIV_KEY_INFO_new
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_new_for_pkey
    - d2i_PKCS8_PRIV_KEY_INFO
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: EVP_PKEY_get_attr_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    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_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - key
    - obj
    - lastpos
    argTypes:
    - EVP_PKEY*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: EVP_PKEY_get_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    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, int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_delete_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - loc
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: EVP_PKEY_delete_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    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_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - key
    - obj
    - type
    - bytes
    - len
    argTypes:
    - EVP_PKEY*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: EVP_PKEY_add1_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, const ASN1_OBJECT *obj,
      int type, const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - key
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: EVP_PKEY_add1_attr_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, const char *attrname,
      int type, const unsigned char *bytes, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:76,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:88,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:86,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:83,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:90,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:91,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - p8
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: EVP_PKCS82PKEY_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - evp_pkcs82pkey_legacy
    - OSSL_DECODER_from_data
    - i2d_PKCS8_PRIV_KEY_INFO
    - OSSL_DECODER_CTX_free
    - OPENSSL_clear_free
    - OSSL_DECODER_CTX_new_for_pkey
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKCS82PKEY_ex(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - key
    - nid
    - lastpos
    argTypes:
    - EVP_PKEY*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: EVP_PKEY_get_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    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
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - loc
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: EVP_PKEY_get_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - key
    - attr
    argTypes:
    - EVP_PKEY*
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: EVP_PKEY_add1_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    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_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - key
    - nid
    - type
    - bytes
    - len
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: EVP_PKEY_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, int nid, int type, const
      unsigned char *bytes, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:229,1
    - Dst: EVP_PKEY_get0_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:232,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: EVP_PKEY_get0_type_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_asn1
    - EVP_PKEY_asn1_get0_info
    - EVP_KEYMGMT_get0_name
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_PKEY_get0_type_name(const EVP_PKEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:242,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: EVP_PKEY_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_PKEY_get0_provider(const EVP_PKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: EVP_PKCS82PKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_pkey.c
    functionUses: []
    functionsReached:
    - EVP_PKCS82PKEY_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: EVP_ripemd160
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_ripemd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_ripemd160(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:34,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:41,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:37,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - dsa_paramgen_check
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:65,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:68,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:70,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - seed
    - seedlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - dsa_paramgen_check
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dsa_paramgen_seed(EVP_PKEY_CTX *ctx, const unsigned
      char *seed, size_t seedlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:96,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:100,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:102,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - qbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - dsa_paramgen_check
    - EVP_PKEY_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:18,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:19,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: dsa_paramgen_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: 'static int dsa_paramgen_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:49,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:53,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:55,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - gindex
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_gindex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_int
    - dsa_paramgen_check
    - 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/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:81,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:87,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:84,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - nbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - dsa_paramgen_check
    - EVP_PKEY_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:112,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:115,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:118,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:120,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - md_name
    - md_properties
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_md_props
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - dsa_paramgen_check
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_dsa_paramgen_md_props(EVP_PKEY_CTX *ctx, const
      char *md_name, const char *md_properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dsa_ctrl.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: EVP_md5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/legacy_md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_md5(void) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:116,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:139,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:160,1
    - Dst: EVP_DecodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:212,1
    - Dst: EVP_DecodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:263,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:134,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:118,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:138,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:276,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:321,1
    - Dst: EVP_DecodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:285,1
    - Dst: BIO_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:259,1
    - Dst: BIO_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:187,1
    - Dst: EVP_DecodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:208,1
    - Dst: EVP_DecodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:221,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:310,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:122,1
    - Dst: EVP_DecodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:129,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:167,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 164
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 323
    functionName: b64_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_DecodeUpdate
    - EVP_DecodeInit
    - memmove
    - BIO_read
    - OPENSSL_assert
    - memcpy
    - BIO_copy_next_retry
    - EVP_DecodeBlock
    - BIO_next
    - BIO_get_data
    - BIO_should_retry
    - BIO_get_flags
    linkageType: ''
    returnType: int
    signature: 'static int b64_read(BIO *b, char *out, int outl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:70,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:83,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:71,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:77,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: b64_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_ENCODE_CTX_new
    - BIO_set_data
    - OPENSSL_free
    - OPENSSL_zalloc
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int b64_new(BIO *bi) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:468,1
    - Dst: EVP_EncodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:495,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:516,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:511,1
    - Dst: EVP_EncodeFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:505,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:452,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:471,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:462,1
    - Dst: EVP_ENCODE_CTX_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:474,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:480,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:483,1
    - Dst: b64_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:489,1
    - Dst: EVP_ENCODE_CTX_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:503,1
    - Dst: BIO_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:493,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:453,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:477,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:526,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:517,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:515,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 68
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 530
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 530
    functionName: b64_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - OPENSSL_assert
    - EVP_EncodeFinal
    - EVP_EncodeBlock
    - BIO_copy_next_retry
    - b64_write
    - BIO_ctrl
    - BIO_next
    - BIO_get_data
    - EVP_ENCODE_CTX_num
    - BIO_get_flags
    linkageType: ''
    returnType: long
    signature: 'static long b64_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: BIO_f_base64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_base64(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:338,1
    - Dst: EVP_EncodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:389,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:360,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:418,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:437,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:428,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:333,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:353,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:383,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:392,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:400,1
    - Dst: EVP_EncodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:407,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:436,1
    - Dst: EVP_EncodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:345,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:334,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:348,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:350,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:355,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:358,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:391,1
    - Dst: BIO_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:374,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:410,1
    - Dst: EVP_EncodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:414,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:349,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:376,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:361,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:409,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:419,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:430,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:433,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 116
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 443
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 443
    functionName: b64_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - OPENSSL_assert
    - memcpy
    - EVP_EncodeInit
    - BIO_copy_next_retry
    - EVP_EncodeBlock
    - EVP_EncodeUpdate
    - BIO_next
    - BIO_get_data
    - BIO_get_flags
    linkageType: ''
    returnType: int
    signature: 'static int b64_write(BIO *b, const char *in, int inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:95,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:99,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:102,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:100,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: b64_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached:
    - BIO_set_data
    - OPENSSL_free
    - EVP_ENCODE_CTX_free
    - BIO_set_init
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int b64_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:534,1
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 540
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 540
    functionName: b64_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long b64_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b64_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:544,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: b64_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_b64.c
    functionUses: []
    functionsReached:
    - b64_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int b64_puts(BIO *b, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_bf.c:40,1
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_bf.c:44,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_bf.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: bf_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_bf.c
    functionUses: []
    functionsReached:
    - data
    - EVP_CIPHER_CTX_get_key_length
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: 'static int bf_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_support.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: ossl_dh_gen_type_id2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_support.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_dh_gen_type_id2name(int id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_support.c:54,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_support.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: ossl_dh_gen_type_name2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/dh_support.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:32,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:36,1
    - Dst: evp_keymgmt_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - selection
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: try_provided_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - ERR_raise
    - evp_pkey_export_to_provider
    - evp_keymgmt_validate
    linkageType: ''
    returnType: int
    signature: 'static int try_provided_check(EVP_PKEY_CTX *ctx, int selection, int
      checktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_public_check_combined
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: EVP_PKEY_public_check_quick
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - evp_pkey_public_check_combined
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_public_check_quick(EVP_PKEY_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:76,1
    - Dst: try_provided_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:56,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 78
    functionName: evp_pkey_public_check_combined
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - try_provided_check
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_public_check_combined(EVP_PKEY_CTX *ctx, int checktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_param_check_combined
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: EVP_PKEY_param_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - evp_pkey_param_check_combined
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:141,1
    - Dst: try_provided_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:145,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: EVP_PKEY_private_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - try_provided_check
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_private_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_public_check_combined
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: EVP_PKEY_public_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - evp_pkey_public_check_combined
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:96,1
    - Dst: try_provided_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 123
    functionName: evp_pkey_param_check_combined
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - try_provided_check
    linkageType: ''
    returnType: int
    signature: 'static int evp_pkey_param_check_combined(EVP_PKEY_CTX *ctx, int checktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_param_check_combined
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: EVP_PKEY_param_check_quick
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - evp_pkey_param_check_combined
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_param_check_quick(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: EVP_PKEY_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_pairwise_check
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:189,1
    - Dst: try_provided_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c:169,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 191
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 191
    functionName: EVP_PKEY_pairwise_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/pmeth_check.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - try_provided_check
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: EVP_rc2_40_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_rc2_40_cbc(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: rc2_meth_to_magic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int rc2_meth_to_magic(EVP_CIPHER_CTX *e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:138,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:139,1
    - Dst: ASN1_TYPE_get_int_octetstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:140,1
    - Dst: rc2_magic_to_meth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:143,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:146,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:148,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: rc2_get_asn1_type_and_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - rc2_magic_to_meth
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_set_key_length
    - ASN1_TYPE_get_int_octetstring
    - EVP_CIPHER_CTX_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int rc2_get_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: EVP_rc2_64_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_rc2_64_cbc(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: rc2_magic_to_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int rc2_magic_to_meth(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC2_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:94,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:94,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:95,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: rc2_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_key_length
    - RC2_set_key
    - data
    linkageType: ''
    returnType: int
    signature: 'static int rc2_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      const unsigned char *iv, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc2_meth_to_magic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:162,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:163,1
    - Dst: ASN1_TYPE_set_int_octetstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: rc2_set_asn1_type_and_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached:
    - rc2_meth_to_magic
    - EVP_CIPHER_CTX_get_iv_length
    - ASN1_TYPE_set_int_octetstring
    linkageType: ''
    returnType: int
    signature: 'static int rc2_set_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:173,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:177,1
    - Dst: data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:182,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: rc2_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_rc2.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_key_length
    - data
    linkageType: ''
    returnType: int
    signature: 'static int rc2_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: EVP_CIPHER_CTX_get_cipher_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: EVP_MD_meth_get_result_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_get_result_size(const EVP_MD *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - md
    - (*copy)
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 932
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 932
    functionName: EVP_MD_meth_set_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to, const
      EVP_MD_CTX *from)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - md
    - (*ctrl)
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 949
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 949
    functionName: EVP_MD_meth_set_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx,
      int cmd, int p1, void *p2)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - cipher_data
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: EVP_CIPHER_CTX_set_cipher_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - md
    - (*cleanup)
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 940
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 940
    functionName: EVP_MD_meth_set_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX
      *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: EVP_MD_meth_get_input_blocksize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_get_input_blocksize(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: EVP_MD_meth_get_app_datasize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_get_app_datasize(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: EVP_CIPHER_CTX_is_encrypting
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_is_encrypting(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:704,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: EVP_CIPHER_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_nid
    - OBJ_nid2ln
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_CIPHER_get0_description(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: EVP_CIPHER_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long EVP_CIPHER_get_flags(const EVP_CIPHER *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - cipher
    - (*fn)
    - data
    argTypes:
    - EVP_CIPHER*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 718
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 718
    functionName: EVP_CIPHER_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher, void (*fn)(const
      char *name, void *data), void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1122,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1133,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1134
    functionName: EVP_PKEY_CTX_set_group_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - ERR_raise
    - EVP_PKEY_CTX_IS_GEN_OP
    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/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1141,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1143,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - name
    - namelen
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1156
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1156
    functionName: EVP_PKEY_CTX_get_group_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - ERR_raise
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_group_name(EVP_PKEY_CTX *ctx, char *name, size_t
      namelen) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:194,1
    - Dst: EVP_CIPHER_get_asn1_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:211,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:195,1
    - Dst: evp_cipher_get_asn1_aead_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:201,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:218,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:220,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:223,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:224,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:235,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    constantsTouched: []
    func_position:
      end: 239
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 239
    functionName: evp_cipher_asn1_to_param_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_asn1_iv
    - ERR_raise
    - EVP_CIPHER_CTX_set_params
    - i2d_ASN1_TYPE
    - EVP_CIPHER_get_flags
    - OPENSSL_free
    - EVP_CIPHER_get_mode
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - evp_cipher_get_asn1_aead_params
    linkageType: ''
    returnType: int
    signature: 'int evp_cipher_asn1_to_param_ex(EVP_CIPHER_CTX *c, ASN1_TYPE *type,
      evp_cipher_aead_asn1_params *asn1_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:576,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 581
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 581
    functionName: EVP_CIPHER_CTX_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:603,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: EVP_CIPHER_CTX_get_updated_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:639,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - num
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 645
    functionName: EVP_CIPHER_CTX_set_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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:
    - Dst: evp_cipher_param_to_asn1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: EVP_CIPHER_param_to_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_type_get_octetstring_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:251,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:256,1
    - Dst: ossl_asn1_type_get_octetstring_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: evp_cipher_get_asn1_aead_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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,
      evp_cipher_aead_asn1_params *asn1_params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:612,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 614
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 614
    functionName: EVP_CIPHER_CTX_get_original_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: EVP_CIPHER_get_key_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_get_key_length(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:559,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: EVP_CIPHER_CTX_original_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: EVP_MD_CTX_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 434
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 434
    functionName: EVP_Cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned
      char *in, unsigned int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: EVP_CIPHER_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_CIPHER_get0_provider(const EVP_CIPHER *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:749,1
    - Dst: EVP_MD_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: EVP_MD_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_MD_nid
    - OBJ_nid2ln
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_MD_get0_description(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: EVP_MD_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long EVP_MD_get_flags(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - (*update)
    argTypes:
    - EVP_MD_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1067
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1067
    functionName: EVP_MD_CTX_set_update_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx, int (*update) (EVP_MD_CTX
      *ctx, const void *data, size_t count)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: EVP_CIPHER_get_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_flags
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_get_mode(const EVP_CIPHER *cipher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:762,1
    - Dst: EVP_MD_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 766
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 766
    functionName: EVP_MD_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_MD_nid
    - OBJ_nid2sn
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_MD_get0_name(const EVP_MD *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - md_type
    - pkey_type
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 826
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 826
    functionName: EVP_MD_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_md_new
    linkageType: ''
    returnType: EVP_MD*
    signature: 'EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_MD_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: EVP_MD_CTX_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: EVP_CIPHER_CTX_get_block_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_block_size
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_get_block_size(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: EVP_CIPHER_CTX_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:735,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:736,1
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - md
    - name
    argTypes:
    - EVP_MD*
    - char*
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: EVP_MD_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: EVP_CIPHER_impl_ctx_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: evp_md_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_md_get_number(const EVP_MD *md) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1191,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1194,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1195,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1193,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1196,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1197,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1198,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1200,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1201,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1202,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1204,1
    - Dst: evp_pkey_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1208,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1203,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1205,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - libctx
    - propq
    - type
    - '...'
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1213
    functionName: EVP_PKEY_Q_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - va_start
    - OSSL_PARAM_construct_size_t
    - va_arg
    - OPENSSL_strcasecmp
    - OSSL_PARAM_construct_utf8_string
    - evp_pkey_keygen
    - va_end
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *EVP_PKEY_Q_keygen(OSSL_LIB_CTX *libctx, const char *propq,
      const char *type, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - md
    - resultsize
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 880
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 880
    functionName: EVP_MD_meth_set_result_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - md
    - flags
    argTypes:
    - EVP_MD*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: EVP_MD_meth_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:658,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 662
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 662
    functionName: EVP_CIPHER_CTX_get_key_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - evp_do_ciph_ctx_getparams
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_get_key_length(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_MD_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1077
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    functionName: EVP_MD_CTX_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1089,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - enable
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1091
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1091
    functionName: evp_cipher_ctx_enable_use_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_construct_uint
    linkageType: ''
    returnType: int
    signature: 'static int evp_cipher_ctx_enable_use_bits(EVP_CIPHER_CTX *ctx, unsigned
      int enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_ctx_enable_use_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1109
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1109
    functionName: EVP_CIPHER_CTX_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: EVP_CIPHER_get_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_get_nid(const EVP_CIPHER *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - md
    - datasize
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 888
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 888
    functionName: EVP_MD_meth_set_app_datasize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - md
    - (*init)
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 904
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 904
    functionName: EVP_MD_meth_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_MD_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: EVP_MD_CTX_test_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_ctx_enable_use_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1100
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1100
    functionName: EVP_CIPHER_CTX_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_cipher_ctx_enable_use_bits
    linkageType: ''
    returnType: void
    signature: 'void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: EVP_CIPHER_CTX_test_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: EVP_MD_CTX_get0_md_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_MD_CTX_get0_md_data(const EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1060
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    functionName: (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx, const
      void *data, size_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - md
    - (*update)
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 914
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 914
    functionName: EVP_MD_meth_set_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx,
      const void *data, size_t count)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - md
    - (*final)
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 923
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 923
    functionName: EVP_MD_meth_set_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx,
      unsigned char *md)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: EVP_MD_meth_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long EVP_MD_meth_get_flags(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: (*EVP_MD_meth_get_copy(const EVP_MD *md))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to, const
      EVP_MD_CTX *from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: (*EVP_MD_meth_get_ctrl(const EVP_MD *md))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int
      cmd, int p1, void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:590,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 595
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 595
    functionName: EVP_CIPHER_CTX_iv_noconst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: (*EVP_MD_meth_get_init(const EVP_MD *md))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: (*EVP_MD_meth_get_cleanup(const EVP_MD *md))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_original_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:71,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:72,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:73,1
    - Dst: ASN1_TYPE_set_octetstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: EVP_CIPHER_set_asn1_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_set_octetstring
    - OPENSSL_assert
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_original_iv
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:349,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:352,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:350,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:351,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:353,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:354,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:356,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:357,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:359,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:361,1
    - Dst: EVP_CIPHER_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:380,1
    - Dst: evp_do_ciph_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:362,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 385
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 385
    functionName: evp_cipher_cache_constants
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_size_t
    - evp_do_ciph_getparams
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_gettable_ctx_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int evp_cipher_cache_constants(EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:546,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: EVP_CIPHER_CTX_get_tag_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - evp_do_ciph_ctx_getparams
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_get_tag_length(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: EVP_CIPHER_CTX_get_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_get_nid(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 800
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 800
    functionName: EVP_MD_get_block_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_get_block_size(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: EVP_MD_CTX_get_pkey_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *EVP_MD_CTX_get_pkey_ctx(const EVP_MD_CTX *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:103,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:107,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:135,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:164,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:150,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:146,1
    - Dst: EVP_CIPHER_set_asn1_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:122,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:162,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:143,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:106,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:137,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:154,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:104,1
    - Dst: evp_cipher_set_asn1_aead_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:112,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:141,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:149,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:148,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    constantsTouched: []
    func_position:
      end: 168
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 168
    functionName: evp_cipher_param_to_asn1_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_set_asn1_iv
    - ERR_raise
    - EVP_CIPHER_CTX_get_params
    - ASN1_TYPE_set
    - EVP_CIPHER_get_flags
    - OPENSSL_free
    - EVP_CIPHER_get_mode
    - OPENSSL_malloc
    - EVP_CIPHER_is_a
    - evp_cipher_set_asn1_aead_params
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PARAM_modified
    - d2i_ASN1_TYPE
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int evp_cipher_param_to_asn1_ex(EVP_CIPHER_CTX *c, ASN1_TYPE *type,
      evp_cipher_aead_asn1_params *asn1_params) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:278,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:329,1
    - Dst: OBJ_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:331,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:333,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 10
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 338
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 338
    functionName: EVP_CIPHER_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - OBJ_get0_data
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - EVP_CIPHER_get_nid
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_get_type(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: EVP_CIPHER_get_block_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_get_block_size(const EVP_CIPHER *cipher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:679,1
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:680,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cipher
    - name
    argTypes:
    - EVP_CIPHER*
    - char*
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: EVP_CIPHER_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 809
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 809
    functionName: EVP_MD_get_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_get_size(const EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:839,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 847
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 847
    functionName: EVP_MD_meth_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - memcpy
    - EVP_MD_meth_new
    linkageType: ''
    returnType: EVP_MD*
    signature: 'EVP_MD *EVP_MD_meth_dup(const EVP_MD *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: EVP_CIPHER_CTX_get0_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *EVP_CIPHER_CTX_get0_cipher(const EVP_CIPHER_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 1011
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1011
    functionName: EVP_MD_CTX_get0_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_MD_CTX_get0_md(const EVP_MD_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_type_set_octetstring_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: evp_cipher_set_asn1_aead_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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,
      evp_cipher_aead_asn1_params *asn1_params) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: EVP_CIPHER_CTX_get1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:851,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:854,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:853,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: evp_md_free_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void evp_md_free_int(EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1020,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1023
    functionName: EVP_MD_CTX_get1_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_MD_up_ref
    linkageType: ''
    returnType: EVP_MD*
    signature: 'EVP_MD *EVP_MD_CTX_get1_md(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_asn1_to_param_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: EVP_CIPHER_asn1_to_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: evp_cipher_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_cipher_get_number(const EVP_CIPHER *cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - md
    - (*fn)
    - data
    argTypes:
    - EVP_MD*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 776
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 776
    functionName: EVP_MD_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_names_do_all(const EVP_MD *md, void (*fn)(const char *name,
      void *data), void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:51,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:52,1
    - Dst: ASN1_TYPE_get_octetstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:54,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: EVP_CIPHER_get_asn1_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:693,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 697
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 697
    functionName: EVP_CIPHER_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_nid
    - OBJ_nid2sn
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_CIPHER_get0_name(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: EVP_MD_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *EVP_MD_get0_provider(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 786
    functionName: EVP_MD_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_get_type(const EVP_MD *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_free_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 863
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 863
    functionName: EVP_MD_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_md_free_int
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_meth_free(EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 791
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 791
    functionName: EVP_MD_get_pkey_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_get_pkey_type(const EVP_MD *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - md
    - blocksize
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 872
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 872
    functionName: EVP_MD_meth_set_input_blocksize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 976
    functionName: (*EVP_MD_meth_get_update(const EVP_MD *md))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx, const
      void *data, size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: EVP_CIPHER_CTX_get_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: EVP_CIPHER_get_iv_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_get_iv_length(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: EVP_CIPHER_CTX_buf_noconst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: (*EVP_MD_meth_get_final(const EVP_MD *md))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx, unsigned
      char *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: EVP_CIPHER_CTX_set_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:507,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:512,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:514,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:517,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:516,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:524,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 538
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 538
    functionName: EVP_CIPHER_CTX_get_iv_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_size_t
    - EVP_CIPHER_get_flags
    - OSSL_PARAM_get_int
    - EVP_CIPHER_CTX_ctrl
    - OSSL_PARAM_modified
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'int EVP_CIPHER_CTX_get_iv_length(const EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:627,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 631
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 631
    functionName: EVP_CIPHER_CTX_get_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    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: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1171,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1176,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1175,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1174,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 4
    argNames:
    - libctx
    - name
    - propq
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1180
    functionName: evp_pkey_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *evp_pkey_keygen(OSSL_LIB_CTX *libctx, const char
      *name, const char *propq, const OSSL_PARAM *params) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1037,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1046,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1038,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c:1044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1048
    functionName: EVP_MD_CTX_set_pkey_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/evp_lib.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX_clear_flags
    - EVP_MD_CTX_test_flags
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_CIPHER_ecb_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:62,1
    - Dst: DES_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:63,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:65,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: des_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - BLOCK_CIPHER_ecb_loop
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int des_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:95,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:105,1
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:102,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:103,1
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:111,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:112,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: des_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_ncbc_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int des_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:159,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:161,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: des_cfb1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int des_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:73,1
    - Dst: DES_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:74,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:77,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:83,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:75,1
    - Dst: DES_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:84,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:85,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: des_ofb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_ofb64_encrypt
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    linkageType: ''
    returnType: int
    signature: 'static int des_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:122,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:124,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:126,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:127,1
    - Dst: DES_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:123,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:133,1
    - Dst: DES_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:134,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:135,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:137,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: des_cfb64_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - DES_cfb64_encrypt
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_is_encrypting
    linkageType: ''
    returnType: int
    signature: 'static int des_cfb64_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:180,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:181,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:190,1
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:189,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:183,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: des_cfb8_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int des_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:212,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:226,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:226,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:217,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: des_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_set_key_unchecked
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: 'static int des_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      const unsigned char *iv, int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:235,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: des_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/e_des.c
    functionUses: []
    functionsReached:
    - DES_set_odd_parity
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: 'static int des_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:135,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:146,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:143,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:141,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: ok_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_new
    - BIO_set_data
    - OPENSSL_free
    - OPENSSL_zalloc
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int ok_new(BIO *bi) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:178,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:206,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:191,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:181,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:179,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:221,1
    - Dst: sig_in
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:230,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:231,1
    - Dst: block_in
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:238,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:239,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:251,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:250,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 253
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 253
    functionName: ok_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - block_in
    - memmove
    - BIO_get_init
    - BIO_read
    - memcpy
    - BIO_copy_next_retry
    - sig_in
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int ok_read(BIO *b, char *out, int outl) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:329,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:342,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:348,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:330,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:354,1
    - Dst: block_out
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:359,1
    - Dst: ok_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:363,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:375,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:378,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:379,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:387,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:392,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:394,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:399,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:380,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:389,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 403
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 403
    functionName: ok_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_get_init
    - BIO_copy_next_retry
    - block_out
    - ok_write
    - BIO_set_init
    - BIO_ctrl
    - EVP_DigestInit_ex
    - BIO_next
    - EVP_MD_CTX_get0_md
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long ok_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - _ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: longswap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void longswap(void *_ptr, size_t len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:484,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:488,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:490,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:495,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:487,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:497,1
    - Dst: longswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:498,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:501,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:501,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:503,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:505,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:510,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:520,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 522
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 522
    functionName: sig_in
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_DigestUpdate
    - memcmp
    - memmove
    - memcpy
    - EVP_MD_get_size
    - EVP_MD_CTX_get0_md_data
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - longswap
    - EVP_MD_CTX_get0_md
    - BIO_get_data
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int sig_in(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: BIO_f_reliable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_reliable(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:264,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:275,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:265,1
    - Dst: sig_out
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:271,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:268,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:278,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:280,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:281,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:302,1
    - Dst: block_out
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:308,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:316,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:315,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:309,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 318
    functionName: ok_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - sig_out
    - BIO_get_init
    - memcpy
    - BIO_copy_next_retry
    - block_out
    - BIO_next
    - BIO_get_data
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: 'static int ok_write(BIO *b, const char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:159,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:164,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:162,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:163,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: ok_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - BIO_set_data
    - BIO_set_init
    - OPENSSL_clear_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int ok_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:409,1
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: ok_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long ok_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:440,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:443,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:444,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:442,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:449,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:455,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:457,1
    - Dst: longswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:458,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:461,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:461,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:470,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:463,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 472
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 472
    functionName: sig_out
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_DigestUpdate
    - memcpy
    - RAND_bytes
    - EVP_MD_get_size
    - EVP_MD_CTX_get0_md_data
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - longswap
    - EVP_MD_CTX_get0_md
    - BIO_get_data
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int sig_out(BIO *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:532,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:542,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:535,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:545,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:534,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 553
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 553
    functionName: block_out
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get0_md
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int block_out(BIO *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:563,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:581,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:565,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:565,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:569,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:584,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:586,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c:598,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 600
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 600
    functionName: block_in
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/bio_ok.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_DigestUpdate
    - assert
    - memcmp
    - EVP_MD_get_size
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get0_md
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int block_in(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: EVP_PKEY_encapsulate_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - evp_kem_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: evp_kem_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int evp_kem_get_number(const EVP_KEM *kem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: EVP_KEM_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KEM_get0_description(const EVP_KEM *kem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - kem
    - (*fn)
    - data
    argTypes:
    - EVP_KEM*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: EVP_KEM_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEM_names_do_all(const EVP_KEM *kem, void (*fn)(const char
      *name, void *data), void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 207
    functionName: EVP_PKEY_encapsulate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx, unsigned char *out, size_t
      *outlen, unsigned char *secret, size_t *secretlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: EVP_KEM_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *EVP_KEM_get0_name(const EVP_KEM *kem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - (*fn)
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: EVP_KEM_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: 'void EVP_KEM_do_all_provided(OSSL_LIB_CTX *libctx, void (*fn)(EVP_KEM
      *kem, void *arg), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:468,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 470
    functionName: EVP_KEM_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KEM_gettable_ctx_params(const EVP_KEM *kem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:238,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:245,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:241,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:247,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:248,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: evp_kem_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_provider_up_ref
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EVP_KEM*
    signature: 'static EVP_KEM *evp_kem_new(OSSL_PROVIDER *prov) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:54,1
    - Dst: EVP_KEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:85,1
    - Dst: EVP_KEM_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:90,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:124,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:121,1
    - Dst: evp_kem_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:147,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:166,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:35,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:46,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:100,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:132,1
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:39,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:86,1
    - Dst: EVP_KEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:131,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:92,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:48,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:127,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:155,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:162,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:173,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:176,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    argCount: 3
    argNames:
    - ctx
    - operation
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 178
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 178
    functionName: evp_kem_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - ossl_assert
    - EVP_KEM_free
    - evp_keymgmt_fetch_from_prov
    - evp_kem_fetch_from_prov
    - EVP_KEYMGMT_free
    - EVP_KEM_fetch
    - evp_pkey_ctx_free_old_ops
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_get0_name
    - evp_pkey_export_to_provider
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: int
    signature: 'static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation, const OSSL_PARAM
      params[]) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:266,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:272,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:267,1
    - Dst: OSSL_FUNC_kem_encapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:287,1
    - Dst: OSSL_FUNC_kem_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:281,1
    - Dst: OSSL_FUNC_kem_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:293,1
    - Dst: OSSL_FUNC_kem_decapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:299,1
    - Dst: OSSL_FUNC_kem_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:305,1
    - Dst: OSSL_FUNC_kem_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:311,1
    - Dst: OSSL_FUNC_kem_dupctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:317,1
    - Dst: OSSL_FUNC_kem_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:330,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:364,1
    - Dst: EVP_KEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:370,1
    - Dst: OSSL_FUNC_kem_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:337,1
    - Dst: OSSL_FUNC_kem_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:344,1
    - Dst: OSSL_FUNC_kem_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:323,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 71
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 372
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 372
    functionName: evp_kem_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_kem_freectx
    - OSSL_FUNC_kem_set_ctx_params
    - ERR_raise
    - OSSL_FUNC_kem_get_ctx_params
    - EVP_KEM_free
    - OSSL_FUNC_kem_dupctx
    - OSSL_FUNC_kem_gettable_ctx_params
    - OSSL_FUNC_kem_encapsulate_init
    - OSSL_FUNC_kem_decapsulate_init
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_kem_settable_ctx_params
    - OSSL_FUNC_kem_newctx
    - evp_kem_new
    - OSSL_FUNC_kem_decapsulate
    - OSSL_FUNC_kem_encapsulate
    linkageType: ''
    returnType: void*
    signature: 'static void *evp_kem_from_algorithm(int name_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: EVP_PKEY_decapsulate_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - evp_kem_init
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: EVP_KEM_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *EVP_KEM_get0_provider(const EVP_KEM *kem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:224,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:229,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - secret
    - secretlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: EVP_PKEY_decapsulate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_decapsulate(EVP_PKEY_CTX *ctx, unsigned char *secret,
      size_t *secretlen, const unsigned char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: EVP_KEM_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KEM*
    signature: 'EVP_KEM *EVP_KEM_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const
      char *properties) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:381,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:387,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:385,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:386,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: EVP_KEM_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_KEM_free(EVP_KEM *kem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: evp_kem_fetch_from_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_KEM*
    signature: 'EVP_KEM *evp_kem_fetch_from_prov(OSSL_PROVIDER *prov, const char *algorithm,
      const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: EVP_KEM_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEM_up_ref(EVP_KEM *kem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - kem
    - name
    argTypes:
    - EVP_KEM*
    - char*
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: EVP_KEM_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: 'int EVP_KEM_is_a(const EVP_KEM *kem, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:479,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: EVP_KEM_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/evp/kem.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *EVP_KEM_settable_ctx_params(const EVP_KEM *kem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: CMS_signed_get_attr_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_count
    linkageType: ''
    returnType: int
    signature: 'int CMS_signed_get_attr_count(const CMS_SignerInfo *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - si
    - obj
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: CMS_signed_add1_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT
      *obj, int type, const void *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - si
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - char*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: CMS_signed_add1_attr_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: 'int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, const char *attrname,
      int type, const void *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - si
    - obj
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: CMS_unsigned_add1_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT
      *obj, int type, const void *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - si
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - char*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: CMS_unsigned_add1_attr_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: 'int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, const char *attrname,
      int type, const void *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:217,1
    - Dst: X509at_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - nid
    - attrs
    - lastpos
    argTypes:
    - int
    - STACK_OF(X509_ATTRIBUTE)*
    - int*
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: cms_attrib_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_by_NID
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'static X509_ATTRIBUTE *cms_attrib_get(int nid, const STACK_OF(X509_ATTRIBUTE)
      *attrs, int *lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - si
    - nid
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CMS_signed_get_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - si
    - nid
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: CMS_signed_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, int nid, int type,
      const void *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - si
    - oid
    - lastpos
    - type
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: CMS_signed_get0_data_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_get0_data_by_OBJ
    linkageType: ''
    returnType: void*
    signature: 'void *CMS_signed_get0_data_by_OBJ(const CMS_SignerInfo *si, const
      ASN1_OBJECT *oid, int lastpos, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - si
    - nid
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: CMS_unsigned_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, int nid, int
      type, const void *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - si
    - oid
    - lastpos
    - type
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: CMS_unsigned_get0_data_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_get0_data_by_OBJ
    linkageType: ''
    returnType: void*
    signature: 'void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT
      *oid, int lastpos, int type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cms_attrib_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:231,1
    - Dst: cms_attrib_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:240,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - nid
    - flags
    - type
    - attrs
    - have_attrs
    argTypes:
    - int
    - int
    - int
    - STACK_OF(X509_ATTRIBUTE)*
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 255
    functionName: cms_check_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - cms_attrib_get
    - X509_ATTRIBUTE_count
    linkageType: ''
    returnType: int
    signature: 'static int cms_check_attribute(int nid, int flags, int type, const
      STACK_OF(X509_ATTRIBUTE) *attrs, int have_attrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_delete_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: CMS_signed_delete_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_delete_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_delete_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: CMS_unsigned_delete_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - si
    - attr
    argTypes:
    - CMS_SignerInfo*
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: CMS_signed_add1_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    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
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - si
    - attr
    argTypes:
    - CMS_SignerInfo*
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: CMS_unsigned_add1_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    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: CMS_signed_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:270,1
    - Dst: CMS_unsigned_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:271,1
    - Dst: cms_check_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:277,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:273,1
    - Dst: cms_check_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:279,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: ossl_cms_si_check_attributes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - CMS_signed_get_attr_count
    - ERR_raise
    - cms_check_attribute
    - OSSL_NELEM
    - CMS_unsigned_get_attr_count
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_si_check_attributes(const CMS_SignerInfo *si) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - si
    - obj
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: CMS_signed_get_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    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, int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: CMS_unsigned_get_attr_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    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_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - si
    - obj
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: CMS_unsigned_get_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT
      *obj, int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: CMS_signed_get_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    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_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - si
    - nid
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: CMS_unsigned_get_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid,
      int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: CMS_unsigned_get_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int
      loc) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_cipher_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:51,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:65,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:78,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:124,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:138,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:154,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:158,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:174,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:173,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:47,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:89,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:127,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:144,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:168,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:182,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:150,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:40,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:41,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:65,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:85,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:77,1
    - Dst: evp_cipher_asn1_to_param_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:101,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:105,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:108,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:164,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:176,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:187,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:202,1
    - Dst: evp_cipher_param_to_asn1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:181,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:196,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:45,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:53,1
    - Dst: EVP_get_cipherbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:72,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:75,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:91,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:110,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:115,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:122,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:194,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 141
    argCount: 2
    argNames:
    - ec
    - cms_ctx
    argTypes:
    - CMS_EncryptedContentInfo*
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 204
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 204
    functionName: ossl_cms_EncryptedContent_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - evp_cipher_param_to_asn1_ex
    - EVP_get_cipherbyobj
    - BIO_free
    - EVP_CIPHER_get_flags
    - ERR_set_mark
    - EVP_CipherInit_ex
    - OPENSSL_clear_free
    - BIO_new
    - EVP_CIPHER_CTX_get_key_length
    - OPENSSL_malloc
    - EVP_CIPHER_free
    - ASN1_TYPE_free
    - OBJ_nid2obj
    - ASN1_TYPE_new
    - EVP_CIPHER_CTX_rand_key
    - EVP_CIPHER_CTX_get_type
    - RAND_bytes_ex
    - BIO_get_cipher_ctx
    - ERR_clear_error
    - memcpy
    - BIO_f_cipher
    - EVP_CIPHER_CTX_set_key_length
    - ERR_clear_last_mark
    - ossl_cms_ctx_get0_libctx
    - EVP_CIPHER_CTX_get_iv_length
    - ERR_pop_to_mark
    - ERR_raise
    - evp_cipher_asn1_to_param_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ossl_cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec,
      const CMS_CTX *cms_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:213,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:217,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:221,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - ec
    - cipher
    - key
    - keylen
    - cms_ctx
    argTypes:
    - CMS_EncryptedContentInfo*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: ossl_cms_EncryptedContent_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - OBJ_nid2obj
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_EncryptedContent_init(CMS_EncryptedContentInfo *ec, const
      EVP_CIPHER *cipher, const unsigned char *key, size_t keylen, const CMS_CTX *cms_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:256,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: ossl_cms_EncryptedData_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c
    functionUses: []
    functionsReached:
    - ossl_cms_get0_cmsctx
    - ossl_cms_EncryptedContent_init_bio
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ossl_cms_EncryptedData_init_bio(const CMS_ContentInfo *cms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:231,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:240,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:235,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:237,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:243,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:247,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c:248,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - cms
    - ciph
    - key
    - keylen
    argTypes:
    - CMS_ContentInfo*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 249
    functionName: CMS_EncryptedData_set1_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - M_ASN1_new_of
    - OBJ_obj2nid
    - ossl_cms_EncryptedContent_init
    - ossl_cms_get0_cmsctx
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: 'int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER
      *ciph, const unsigned char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_err.c:172,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_err.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: ossl_err_load_CMS_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:26,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ri
    - pass
    - passlen
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - ossl_ssize_t
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: CMS_RecipientInfo_set0_password
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, unsigned
      char *pass, ossl_ssize_t passlen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:204,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:203,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:215,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:208,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:218,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:221,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:223,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:235,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:238,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 5
    argNames:
    - out
    - outlen
    - in
    - inlen
    - ctx
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 241
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 241
    functionName: kek_unwrap_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_get_block_size
    - memcpy
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - OPENSSL_clear_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int kek_unwrap_key(unsigned char *out, size_t *outlen, const
      unsigned char *in, size_t inlen, EVP_CIPHER_CTX *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:301,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:326,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:327,1
    - Dst: kek_wrap_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:372,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:400,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:318,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:345,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:356,1
    - Dst: kek_wrap_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:364,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:367,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:380,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:386,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:399,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:314,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:318,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:322,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:327,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:328,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:331,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:377,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:390,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:403,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:404,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:308,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:303,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:313,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:337,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:341,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:343,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:335,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:344,1
    - Dst: EVP_PBE_CipherInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:353,1
    - Dst: kek_unwrap_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:383,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 75
    argCount: 3
    argNames:
    - cms
    - ri
    - en_de
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    - int
    constantsTouched: []
    func_position:
      end: 408
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 408
    functionName: ossl_cms_RecipientInfo_pwri_crypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - EVP_CIPHER_CTX_new
    - OPENSSL_clear_free
    - EVP_CipherInit_ex
    - kek_wrap_key
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - OPENSSL_malloc
    - EVP_CIPHER_free
    - OPENSSL_free
    - EVP_CIPHER_asn1_to_param
    - kek_unwrap_key
    - X509_ALGOR_free
    - EVP_PBE_CipherInit
    - OBJ_obj2nid
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_CTX_free
    - ossl_cms_ctx_get0_libctx
    - ERR_raise
    - ossl_cms_get0_env_enc_content
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_set_padding
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_RecipientInfo_pwri_crypt(const CMS_ContentInfo *cms,
      CMS_RecipientInfo *ri, int en_de) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_RecipientInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:58,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:99,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:123,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:77,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:97,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:107,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:116,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:121,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:127,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:167,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:173,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:175,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:154,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:53,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:92,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:131,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:139,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:140,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:143,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:148,1
    - Dst: PKCS5_pbkdf2_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:159,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:164,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:73,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:55,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:88,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:106,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:110,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:115,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:112,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:121,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:148,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:178,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 96
    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*
    constantsTouched: []
    func_position:
      end: 181
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 181
    functionName: CMS_add0_recipient_password
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c
    functionUses: []
    functionsReached:
    - ASN1_item_pack
    - CMS_RecipientInfo_set0_password
    - EVP_CIPHER_param_to_asn1
    - EVP_CIPHER_CTX_new
    - sk_CMS_RecipientInfo_push
    - ASN1_ITEM_rptr
    - EVP_EncryptInit_ex
    - M_ASN1_free_of
    - OBJ_nid2obj
    - ASN1_TYPE_new
    - EVP_CIPHER_CTX_get_type
    - RAND_bytes_ex
    - X509_ALGOR_free
    - M_ASN1_new_of
    - PKCS5_pbkdf2_set
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_CTX_free
    - ossl_cms_ctx_get0_libctx
    - EVP_CIPHER_CTX_get_iv_length
    - X509_ALGOR_new
    - CMS_get0_RecipientInfos
    - ERR_raise
    - ossl_cms_get0_env_enc_content
    linkageType: ''
    returnType: CMS_RecipientInfo*
    signature: 'CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms,
      int iter, int wrap_nid, int pbe_nid, unsigned char *pass, ossl_ssize_t passlen,
      const EVP_CIPHER *kekciph) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:247,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:270,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:273,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:277,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:273,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 6
    argNames:
    - out
    - outlen
    - in
    - inlen
    - ctx
    - cms_ctx
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - EVP_CIPHER_CTX*
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 285
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 285
    functionName: kek_wrap_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_pwri.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - memcpy
    - EVP_EncryptUpdate
    - ossl_cms_ctx_get0_libctx
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int kek_wrap_key(unsigned char *out, size_t *outlen, const
      unsigned char *in, size_t inlen, EVP_CIPHER_CTX *ctx, const CMS_CTX *cms_ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:169,1
    - Dst: ecdh_cms_set_kdf_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:173,1
    - Dst: d2i_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:182,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:172,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:185,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:188,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:189,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:190,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:192,1
    - Dst: CMS_SharedInfo_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:201,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:213,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:214,1
    - Dst: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:206,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:212,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_outlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:198,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:197,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:194,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 42
    argCount: 2
    argNames:
    - pctx
    - ri
    argTypes:
    - EVP_PKEY_CTX*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 216
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 216
    functionName: ecdh_cms_set_shared_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - CMS_RecipientInfo_kari_get0_alg
    - d2i_X509_ALGOR
    - ERR_raise
    - X509_ALGOR_free
    - EVP_CIPHER_free
    - OBJ_obj2nid
    - OPENSSL_free
    - EVP_CIPHER_get_mode
    - EVP_PKEY_CTX_set_ecdh_kdf_outlen
    - EVP_CIPHER_asn1_to_param
    - CMS_RecipientInfo_kari_get0_ctx
    - EVP_CIPHER_CTX_get_key_length
    - EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    - EVP_CIPHER_fetch
    - ecdh_cms_set_kdf_param
    - OBJ_obj2txt
    - EVP_EncryptInit_ex
    - CMS_SharedInfo_encode
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_cms_set_shared_info(EVP_PKEY_CTX *pctx, CMS_RecipientInfo
      *ri) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:132,1
    - Dst: EVP_PKEY_CTX_set_ecdh_cofactor_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:142,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:152,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:148,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pctx
    - eckdf_nid
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 155
    functionName: ecdh_cms_set_kdf_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbynid
    - EVP_PKEY_CTX_set_ecdh_kdf_type
    - EVP_PKEY_CTX_set_ecdh_kdf_md
    - OBJ_find_sigid_algs
    - EVP_PKEY_CTX_set_ecdh_cofactor_mode
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_cms_set_kdf_param(EVP_PKEY_CTX *pctx, int eckdf_nid) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:270,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:327,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:324,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:315,1
    - Dst: i2d_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:363,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:377,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:376,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:275,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:273,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:279,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:287,1
    - Dst: EVP_PKEY_CTX_get_ecdh_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:292,1
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:319,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:343,1
    - Dst: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:355,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:366,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:369,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:265,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:269,1
    - Dst: EVP_PKEY_CTX_get_ecdh_kdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:295,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:307,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:324,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:336,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:340,1
    - Dst: ASN1_TYPE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:342,1
    - Dst: CMS_SharedInfo_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:350,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:371,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:371,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:282,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:287,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:314,1
    - Dst: EVP_PKEY_CTX_get_ecdh_cofactor_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:297,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:328,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:329,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:333,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:337,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_outlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:347,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 95
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 379
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 379
    functionName: ecdh_cms_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get1_encoded_public_key
    - EVP_CIPHER_param_to_asn1
    - EVP_CIPHER_CTX_get_key_length
    - ASN1_TYPE_free
    - OPENSSL_free
    - OBJ_nid2obj
    - EVP_MD_get_type
    - ASN1_STRING_new
    - EVP_PKEY_CTX_set_ecdh_kdf_outlen
    - EVP_PKEY_CTX_get_ecdh_cofactor_mode
    - ASN1_TYPE_new
    - EVP_PKEY_CTX_get_ecdh_kdf_type
    - EVP_CIPHER_CTX_get_type
    - EVP_PKEY_CTX_get0_pkey
    - ASN1_TYPE_get
    - CMS_RecipientInfo_kari_get0_alg
    - CMS_SharedInfo_encode
    - OBJ_find_sigid_by_algs
    - X509_ALGOR_free
    - EVP_sha1
    - CMS_RecipientInfo_kari_get0_orig_id
    - EVP_PKEY_CTX_set_ecdh_kdf_type
    - CMS_RecipientInfo_kari_get0_ctx
    - i2d_X509_ALGOR
    - X509_ALGOR_new
    - X509_ALGOR_set0
    - X509_ALGOR_get0
    - ASN1_STRING_set0
    - EVP_PKEY_CTX_get_ecdh_kdf_md
    - EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    - EVP_PKEY_CTX_set_ecdh_kdf_md
    - CMS_RecipientInfo_get0_pkey_ctx
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_cms_encrypt(CMS_RecipientInfo *ri) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:398,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:411,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:405,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:411,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:408,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:413,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - CMS_SignerInfo*
    - int
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: ossl_cms_ecdsa_dsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - OBJ_find_sigid_by_algs
    - assert
    - OBJ_obj2nid
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - CMS_SignerInfo_get0_algs
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_ecdsa_dsa_sign(CMS_SignerInfo *si, int verify) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:31,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:40,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:47,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:36,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:37,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:48,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:50,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:52,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:55,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:57,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:66,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:67,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:61,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:65,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    argCount: 4
    argNames:
    - ptype
    - pval
    - libctx
    - propq
    argTypes:
    - int
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 69
    functionName: pkey_type2param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_paramgen_init
    - OSSL_DECODER_from_data
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_group_name
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_DECODER_CTX_new_for_pkey
    - OBJ_obj2txt
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *pkey_type2param(int ptype, const void *pval, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:222,1
    - Dst: EVP_PKEY_CTX_get0_peerkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:236,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:230,1
    - Dst: ecdh_cms_set_peerkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:235,1
    - Dst: ecdh_cms_set_shared_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:241,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 246
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 246
    functionName: ecdh_cms_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ecdh_cms_set_peerkey
    - EVP_PKEY_CTX_get0_peerkey
    - CMS_RecipientInfo_kari_get0_orig_id
    - ecdh_cms_set_shared_info
    - CMS_RecipientInfo_get0_pkey_ctx
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_cms_decrypt(CMS_RecipientInfo *ri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:383,1
    - Dst: ecdh_cms_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:389,1
    - Dst: ecdh_cms_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:386,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - CMS_RecipientInfo*
    - int
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: ossl_cms_ecdh_envelope
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - ecdh_cms_encrypt
    - ERR_raise
    - ecdh_cms_decrypt
    - assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_ecdh_envelope(CMS_RecipientInfo *ri, int decrypt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:82,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:83,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:97,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:94,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:90,1
    - Dst: pkey_type2param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:100,1
    - Dst: EVP_PKEY_CTX_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:101,1
    - Dst: EVP_PKEY_CTX_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:102,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:107,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:108,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:115,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:112,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c:118,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 35
    argCount: 3
    argNames:
    - pctx
    - alg
    - pubkey
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: ecdh_cms_set_peerkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ec.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - EVP_PKEY_CTX_get0_propq
    - ASN1_STRING_length
    - pkey_type2param
    - EVP_PKEY_free
    - EVP_PKEY_CTX_get0_libctx
    - EVP_PKEY_set1_encoded_public_key
    - X509_ALGOR_get0
    - EVP_PKEY_new
    - EVP_PKEY_copy_parameters
    - ASN1_STRING_get0_data
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_cms_set_peerkey(EVP_PKEY_CTX *pctx, X509_ALGOR *alg,
      ASN1_BIT_STRING *pubkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_local.h:75,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_local.h:77,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_local.h:78,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_local.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: CMS_SignedData_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(CMS_CertificateChoices)
    signature: 'DEFINE_STACK_OF(CMS_CertificateChoices) struct CMS_SignedData_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:46,1
    - Dst: CMS_ContentInfo_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - CMS_ContentInfo*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: i2d_CMS_ContentInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d
    - CMS_ContentInfo_it
    linkageType: ''
    returnType: int
    signature: 'int i2d_CMS_ContentInfo(const CMS_ContentInfo *a, unsigned char **out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: ossl_cms_ctx_get0_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_cms_ctx_get0_propq(const CMS_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:416,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:417,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:420,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:420,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:419,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:421,1
    - Dst: EVP_get_digestbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:426,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:428,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:429,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:432,1
    - Dst: BIO_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:435,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:443,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:442,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:439,1
    - Dst: BIO_f_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:434,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:434,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - digestAlgorithm
    - ctx
    argTypes:
    - X509_ALGOR*
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 445
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 445
    functionName: ossl_cms_DigestAlgorithm_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - BIO_free
    - BIO_new
    - ERR_set_mark
    - X509_ALGOR_get0
    - BIO_f_md
    - EVP_MD_free
    - ERR_clear_last_mark
    - EVP_get_digestbyobj
    - ossl_cms_ctx_get0_libctx
    - EVP_MD_fetch
    - OBJ_obj2txt
    - BIO_set_md
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ossl_cms_DigestAlgorithm_init_bio(X509_ALGOR *digestAlgorithm,
      const CMS_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:454,1
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:459,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:455,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:464,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:461,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:465,1
    - Dst: EVP_MD_get_pkey_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:470,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:470,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:471,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:472,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - mctx
    - chain
    - mdalg
    argTypes:
    - EVP_MD_CTX*
    - BIO*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 474
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 474
    functionName: ossl_cms_DigestAlgorithm_find_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - BIO_get_md_ctx
    - ERR_raise
    - OBJ_obj2nid
    - BIO_find_type
    - EVP_MD_CTX_get_type
    - X509_ALGOR_get0
    - BIO_next
    - EVP_MD_CTX_copy_ex
    - EVP_MD_get_pkey_type
    - EVP_MD_CTX_get0_md
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_DigestAlgorithm_find_ctx(EVP_MD_CTX *mctx, BIO *chain,
      X509_ALGOR *mdalg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_certificate_choices
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:506,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:513,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:517,1
    - Dst: sk_CMS_CertificateChoices_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:516,1
    - Dst: sk_CMS_CertificateChoices_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 521
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 521
    functionName: CMS_add0_CertificateChoices
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - sk_CMS_CertificateChoices_new_null
    - sk_CMS_CertificateChoices_push
    - M_ASN1_new_of
    - M_ASN1_free_of
    - cms_get0_certificate_choices
    linkageType: ''
    returnType: CMS_CertificateChoices*
    signature: 'CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo
      *cms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:53,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:59,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:53,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:61,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: CMS_ContentInfo_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - CMS_ContentInfo_free
    - ERR_raise
    - ASN1_item_new_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_ContentInfo_new_ex(OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:104,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:105,1
    - Dst: ossl_cms_SignerInfos_set_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:108,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:106,1
    - Dst: ossl_cms_RecipientInfos_set_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:109,1
    - Dst: cms_get0_certificate_choices
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:111,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:113,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:114,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - ci
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: ossl_cms_resolve_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - ossl_cms_get0_cmsctx
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - ossl_cms_RecipientInfos_set_cmsctx
    - ossl_x509_set0_libctx
    - cms_get0_certificate_choices
    - ossl_cms_SignerInfos_set_cmsctx
    - ossl_cms_ctx_get0_libctx
    linkageType: ''
    returnType: void
    signature: 'void ossl_cms_resolve_libctx(CMS_ContentInfo *ci) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:479,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:495,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: cms_get0_certificate_choices
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: STACK_OF(CMS_CertificateChoices)**
    signature: 'static STACK_OF(CMS_CertificateChoices) **cms_get0_certificate_choices(CMS_ContentInfo
      *cms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_certificate_choices
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:529,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:532,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:536,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:533,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:535,1
    - Dst: CMS_add0_CertificateChoices
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - CMS_ContentInfo*
    - X509*
    constantsTouched: []
    func_position:
      end: 547
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 547
    functionName: CMS_add0_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - X509_cmp
    - ERR_raise
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - cms_get0_certificate_choices
    - CMS_add0_CertificateChoices
    linkageType: ''
    returnType: int
    signature: 'int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:299,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 303
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: CMS_get0_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: ASN1_OCTET_STRING**
    signature: 'ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:384,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:401,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:393,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - cms
    - detached
    argTypes:
    - CMS_ContentInfo*
    - int
    constantsTouched: []
    func_position:
      end: 403
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 403
    functionName: CMS_set_detached
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: CMS_get0_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:140,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:151,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:151,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:146,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:146,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: ossl_cms_content_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - BIO_s_null
    - CMS_get0_content
    - BIO_new
    - BIO_s_mem
    - BIO_new_mem_buf
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ossl_cms_content_bio(CMS_ContentInfo *cms) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:214,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:228,1
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:223,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:230,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:225,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:231,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:232,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:236,1
    - Dst: ossl_cms_EnvelopedData_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:245,1
    - Dst: ossl_cms_AuthEnvelopedData_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:248,1
    - Dst: ossl_cms_SignedData_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:251,1
    - Dst: ossl_cms_DigestedData_do_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:257,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 2
    argNames:
    - cms
    - cmsbio
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    constantsTouched: []
    func_position:
      end: 260
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 260
    functionName: CMS_dataFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ossl_cms_SignedData_final
    - ERR_raise
    - CMS_get0_content
    - BIO_find_type
    - OBJ_obj2nid
    - BIO_set_flags
    - ossl_cms_EnvelopedData_final
    - ossl_cms_AuthEnvelopedData_final
    - BIO_set_mem_eof_return
    - ASN1_STRING_set0
    - ossl_cms_DigestedData_do_final
    - BIO_get_mem_data
    linkageType: ''
    returnType: int
    signature: 'int CMS_dataFinal(CMS_ContentInfo *cms, BIO *cmsbio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:618,1
    - Dst: CMS_add0_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:620,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - cms
    - crl
    argTypes:
    - CMS_ContentInfo*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 624
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 624
    functionName: CMS_add1_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - CMS_add0_crl
    - X509_CRL_free
    - X509_CRL_up_ref
    linkageType: ''
    returnType: int
    signature: 'int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_revocation_choices
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:657,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:668,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:664,1
    - Dst: sk_CMS_RevocationInfoChoice_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:660,1
    - Dst: sk_CMS_RevocationInfoChoice_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:661,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:669,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:672,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 676
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 676
    functionName: CMS_get1_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - sk_X509_CRL_pop_free
    - sk_X509_CRL_push
    - X509_CRL_up_ref
    - sk_CMS_RevocationInfoChoice_value
    - sk_CMS_RevocationInfoChoice_num
    - cms_get0_revocation_choices
    - sk_X509_CRL_new_null
    linkageType: ''
    returnType: STACK_OF(X509_CRL)*
    signature: 'STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:128,1
    - Dst: CMS_set_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:133,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: ossl_cms_Data_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_content_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:162,1
    - Dst: ossl_cms_SignedData_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:164,1
    - Dst: ossl_cms_DigestedData_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:177,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:167,1
    - Dst: ossl_cms_CompressedData_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:181,1
    - Dst: ossl_cms_EncryptedData_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:186,1
    - Dst: ossl_cms_EnvelopedData_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:190,1
    - Dst: ossl_cms_AuthEnvelopedData_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:198,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:203,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:206,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 2
    argNames:
    - cms
    - icont
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    constantsTouched: []
    func_position:
      end: 209
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 209
    functionName: CMS_dataInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cms_SignedData_init_bio
    - ossl_cms_EnvelopedData_init_bio
    - OBJ_obj2nid
    - BIO_free
    - ossl_cms_EncryptedData_init_bio
    - ossl_cms_AuthEnvelopedData_init_bio
    - ossl_cms_CompressedData_init_bio
    - BIO_push
    - ossl_cms_DigestedData_init_bio
    - ossl_cms_content_bio
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_certificate_choices
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:633,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:641,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:637,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:639,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 648
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 648
    functionName: CMS_get1_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ossl_x509_add_cert_new
    - sk_X509_pop_free
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - cms_get0_certificate_choices
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:681,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:681,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:684,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ias
    - cert
    argTypes:
    - CMS_IssuerAndSerialNumber*
    - X509*
    constantsTouched: []
    func_position:
      end: 685
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 685
    functionName: ossl_cms_ias_cert_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    - X509_get_issuer_name
    - X509_get0_serialNumber
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_ias_cert_cmp(CMS_IssuerAndSerialNumber *ias, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: CMS_ContentInfo_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_new_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_ContentInfo_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:30,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:34,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:35,1
    - Dst: CMS_ContentInfo_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:33,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:32,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:37,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:38,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:39,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - CMS_ContentInfo**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: d2i_CMS_ContentInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ossl_cms_ctx_get0_propq
    - ossl_cms_get0_cmsctx
    - ASN1_item_d2i_ex
    - ERR_set_mark
    - ossl_cms_resolve_libctx
    - CMS_ContentInfo_it
    - ossl_cms_ctx_get0_libctx
    linkageType: ''
    returnType: IMPLEMENT_ASN1_PRINT_FUNCTION(CMS_ContentInfo)*
    signature: 'IMPLEMENT_ASN1_PRINT_FUNCTION(CMS_ContentInfo) CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo
      **a, const unsigned char **in, long len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_env_enc_content_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:78,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:80,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: CMS_ContentInfo_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ossl_cms_env_enc_content_free
    - OPENSSL_free
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: 'void CMS_ContentInfo_free(CMS_ContentInfo *cms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_subject_key_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:719,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:726,1
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:724,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:721,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:729,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pkeyid
    - cert
    argTypes:
    - ASN1_OCTET_STRING**
    - X509*
    constantsTouched: []
    func_position:
      end: 732
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 732
    functionName: ossl_cms_set1_keyid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ossl_cms_get0_cmsctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CMS_CTX*
    signature: 'const CMS_CTX *ossl_cms_get0_cmsctx(const CMS_ContentInfo *cms) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:312,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:336,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 4
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 340
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 340
    functionName: cms_get0_econtent_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: ASN1_OBJECT**
    signature: 'static ASN1_OBJECT **cms_get0_econtent_type(CMS_ContentInfo *cms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_econtent_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:355,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:363,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - cms
    - oid
    argTypes:
    - CMS_ContentInfo*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: CMS_set1_eContentType
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - cms_get0_econtent_type
    - ASN1_OBJECT_free
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT
      *oid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_add0_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:552,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - CMS_ContentInfo*
    - X509*
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: CMS_add1_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - CMS_add0_cert
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: 'int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_revocation_choices
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:588,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:595,1
    - Dst: sk_CMS_RevocationInfoChoice_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:598,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:599,1
    - Dst: sk_CMS_RevocationInfoChoice_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:592,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 603
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 603
    functionName: CMS_add0_RevocationInfoChoice
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - sk_CMS_RevocationInfoChoice_new_null
    - M_ASN1_new_of
    - M_ASN1_free_of
    - sk_CMS_RevocationInfoChoice_push
    - cms_get0_revocation_choices
    linkageType: ''
    returnType: CMS_RevocationInfoChoice*
    signature: 'CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo
      *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_subject_key_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:689,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - keyid
    - cert
    argTypes:
    - ASN1_OCTET_STRING*
    - X509*
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: ossl_cms_keyid_cert_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: ossl_cms_ctx_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_cms_ctx_get0_libctx(const CMS_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_econtent_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: CMS_get0_eContentType
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - cms_get0_econtent_type
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: CMS_is_detached
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - CMS_get0_content
    linkageType: ''
    returnType: int
    signature: 'int CMS_is_detached(CMS_ContentInfo *cms) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:561,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:577,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 581
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 581
    functionName: cms_get0_revocation_choices
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: STACK_OF(CMS_RevocationInfoChoice)**
    signature: 'static STACK_OF(CMS_RevocationInfoChoice) **cms_get0_revocation_choices(CMS_ContentInfo
      *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_add0_RevocationInfoChoice
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cms
    - crl
    argTypes:
    - CMS_ContentInfo*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 614
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 614
    functionName: CMS_add0_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - CMS_add0_RevocationInfoChoice
    linkageType: ''
    returnType: int
    signature: 'int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:699,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:702,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:702,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:704,1
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:704,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:706,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:710,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c:711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - pias
    - cert
    argTypes:
    - CMS_IssuerAndSerialNumber**
    - X509*
    constantsTouched: []
    func_position:
      end: 713
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 713
    functionName: ossl_cms_set1_ias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - M_ASN1_new_of
    - X509_get0_serialNumber
    - M_ASN1_free_of
    - X509_NAME_set
    - X509_get_issuer_name
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_set1_ias(CMS_IssuerAndSerialNumber **pias, X509 *cert) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:356,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:360,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:369,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:358,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:365,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:371,1
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:375,1
    - Dst: cms_RecipientInfo_ktri_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:378,1
    - Dst: ossl_cms_RecipientInfo_kari_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:383,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:389,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:400,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:402,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:394,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 26
    argCount: 5
    argNames:
    - cms
    - recip
    - originatorPrivKey
    - originator
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - EVP_PKEY*
    - X509*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 405
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 405
    functionName: CMS_add1_recipient
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - CMS_get0_RecipientInfos
    - ERR_raise
    - M_ASN1_new_of
    - M_ASN1_free_of
    - ossl_cms_RecipientInfo_kari_init
    - X509_get0_pubkey
    - ossl_cms_get0_cmsctx
    - ossl_cms_pkey_get_ri_type
    - cms_RecipientInfo_ktri_init
    - sk_CMS_RecipientInfo_push
    - STACK_OF
    linkageType: ''
    returnType: CMS_RecipientInfo*
    signature: 'CMS_RecipientInfo *CMS_add1_recipient(CMS_ContentInfo *cms, X509 *recip,
      EVP_PKEY *originatorPrivKey, X509 *originator, unsigned int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 663
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 663
    functionName: aes_wrap_keylen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t aes_wrap_keylen(int nid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_cipher_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1277,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1288,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1289,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1283,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1286,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1291,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1295,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - cms
    - cmsbio
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1302
    functionName: ossl_cms_AuthEnvelopedData_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - BIO_get_cipher_ctx
    - ERR_raise
    - OPENSSL_free
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_ctrl
    - ASN1_OCTET_STRING_set
    - EVP_CIPHER_CTX_get_tag_length
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_AuthEnvelopedData_final(CMS_ContentInfo *cms, BIO *cmsbio) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:674,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:674,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:703,1
    - Dst: aes_wrap_keylen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:700,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:694,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:708,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:715,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:719,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:727,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:732,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:742,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:759,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:757,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:751,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:752,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 47
    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*
    constantsTouched: []
    func_position:
      end: 761
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 761
    functionName: CMS_add0_recipient_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - aes_wrap_keylen
    - CMS_get0_RecipientInfos
    - ERR_raise
    - M_ASN1_new_of
    - M_ASN1_free_of
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - ASN1_STRING_set0
    - sk_CMS_RecipientInfo_push
    - STACK_OF
    linkageType: ''
    returnType: CMS_RecipientInfo*
    signature: 'CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int
      nid, unsigned char *key, size_t keylen, unsigned char *id, size_t idlen, ASN1_GENERALIZEDTIME
      *date, ASN1_OBJECT *otherTypeId, ASN1_TYPE *otherType) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:304,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:335,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:329,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:325,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:328,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:335,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:337,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:340,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:342,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - ri
    - recip
    - pk
    - flags
    - ctx
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    - EVP_PKEY*
    - unsigned int
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 345
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 345
    functionName: cms_RecipientInfo_ktri_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - M_ASN1_new_of
    - EVP_PKEY_encrypt_init
    - ossl_cms_env_asn1_ctrl
    - X509_up_ref
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_set1_SignerIdentifier
    - EVP_PKEY_up_ref
    - ossl_cms_ctx_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int cms_RecipientInfo_ktri_init(CMS_RecipientInfo *ri, X509
      *recip, EVP_PKEY *pk, unsigned int flags, const CMS_CTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:129,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:135,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:135,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:137,1
    - Dst: ossl_cms_dh_envelope
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:136,1
    - Dst: ossl_cms_ecdh_envelope
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:138,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:139,1
    - Dst: ossl_cms_rsa_envelope
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:151,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - ri
    - cmd
    argTypes:
    - CMS_RecipientInfo*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 155
    functionName: ossl_cms_env_asn1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ossl_cms_ecdh_envelope
    - ERR_raise
    - ossl_cms_rsa_envelope
    - EVP_PKEY_is_a
    - ossl_cms_dh_envelope
    - EVP_PKEY_CTX_get0_pkey
    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/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: CMS_get0_RecipientInfos
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - cms_get_enveloped_type
    linkageType: ''
    returnType: STACK_OF(CMS_RecipientInfo)*
    signature: 'STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo
      *cms) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:918,1
    - Dst: aes_wrap_keylen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:932,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:931,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:927,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:962,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:979,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:972,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:920,1
    - Dst: cms_get_key_wrap_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:944,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:946,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:940,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:950,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:952,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:967,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:982,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:933,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:958,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:966,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:956,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:963,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:981,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 985
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 985
    functionName: cms_RecipientInfo_kekri_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - aes_wrap_keylen
    - ERR_raise
    - cms_get_key_wrap_cipher
    - EVP_CIPHER_free
    - OBJ_obj2nid
    - ossl_cms_get0_cmsctx
    - OPENSSL_free
    - EVP_CIPHER_CTX_free
    - ossl_cms_get0_env_enc_content
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_DecryptUpdate
    - OPENSSL_clear_free
    - EVP_DecryptFinal_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int cms_RecipientInfo_kekri_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cms_env_set_originfo_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1067,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1072,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1073,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - env
    argTypes:
    - CMS_EnvelopedData*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1087
    functionName: cms_env_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - cms_env_set_originfo_version
    - sk_CMS_RecipientInfo_value
    - sk_CMS_RecipientInfo_num
    linkageType: ''
    returnType: void
    signature: 'static void cms_env_set_version(CMS_EnvelopedData *env) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1143,1
    - Dst: cms_env_encrypt_content_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1159,1
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1151,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1160,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1151,1
    - Dst: cms_env_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1165,1
    - Dst: cms_env_clear_ec
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1170,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1175
    functionName: cms_EnvelopedData_Encryption_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_free
    - ossl_cms_get0_cmsctx
    - cms_env_encrypt_content_key
    - cms_env_set_version
    - cms_env_clear_ec
    - ossl_cms_EncryptedContent_init_bio
    - STACK_OF
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *cms_EnvelopedData_Encryption_init_bio(CMS_ContentInfo
      *cms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1212,1
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1203,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1203,1
    - Dst: cms_env_encrypt_content_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1211,1
    - Dst: cms_env_clear_ec
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1222,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1227
    functionName: ossl_cms_AuthEnvelopedData_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_free
    - ossl_cms_get0_cmsctx
    - cms_env_encrypt_content_key
    - cms_env_clear_ec
    - ossl_cms_EncryptedContent_init_bio
    - STACK_OF
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ossl_cms_AuthEnvelopedData_init_bio(CMS_ContentInfo *cms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: cms_get_enveloped_type_simple
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'static int cms_get_enveloped_type_simple(const CMS_ContentInfo *cms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cms_get_enveloped_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: ossl_cms_get0_env_enc_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - cms_get_enveloped_type
    linkageType: ''
    returnType: CMS_EncryptedContentInfo*
    signature: 'CMS_EncryptedContentInfo *ossl_cms_get0_env_enc_content(const CMS_ContentInfo
      *cms) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:191,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:194,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:195,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:192,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:192,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:203,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:204,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:205,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 218
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 218
    functionName: ossl_cms_RecipientInfos_set_cmsctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - CMS_get0_RecipientInfos
    - ossl_cms_ctx_get0_propq
    - sk_CMS_RecipientInfo_value
    - ossl_cms_get0_cmsctx
    - sk_CMS_RecipientInfo_num
    - ossl_x509_set0_libctx
    - ossl_cms_ctx_get0_libctx
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: 'void ossl_cms_RecipientInfos_set_cmsctx(CMS_ContentInfo *cms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cms_RecipientInfo_ktri_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:991,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1000,1
    - Dst: cms_RecipientInfo_kekri_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:994,1
    - Dst: ossl_cms_RecipientInfo_pwri_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:997,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 1003
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1003
    functionName: CMS_RecipientInfo_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - cms_RecipientInfo_ktri_decrypt
    - cms_RecipientInfo_kekri_decrypt
    - ERR_raise
    - ossl_cms_RecipientInfo_pwri_crypt
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1095,1
    - Dst: CMS_RecipientInfo_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1097,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - cms
    - ris
    argTypes:
    - CMS_ContentInfo*
    - STACK_OF(CMS_RecipientInfo)*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1101
    functionName: cms_env_encrypt_content_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - sk_CMS_RecipientInfo_value
    - CMS_RecipientInfo_encrypt
    - sk_CMS_RecipientInfo_num
    linkageType: ''
    returnType: int
    signature: 'static int cms_env_encrypt_content_key(const CMS_ContentInfo *cms,
      STACK_OF(CMS_RecipientInfo) *ris) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_EnvelopedData_Encryption_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1181,1
    - Dst: cms_EnvelopedData_Decryption_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: ossl_cms_EnvelopedData_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1233,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1244,1
    - Dst: ossl_cms_get0_enveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1235,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1240,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1250,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1250,1
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1253,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1256,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1260,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1262,1
    - Dst: cms_env_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - cms
    - chain
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1269
    functionName: ossl_cms_EnvelopedData_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - BIO_get_cipher_ctx
    - ossl_cms_get0_enveloped
    - sk_X509_ATTRIBUTE_new_null
    - ERR_raise
    - BIO_find_type
    - EVP_CIPHER_get_flags
    - cms_env_set_version
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_EnvelopedData_final(CMS_ContentInfo *cms, BIO *chain) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:85,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:92,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:90,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:91,1
    - Dst: ossl_cms_get0_enveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: cms_enveloped_data_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ossl_cms_get0_enveloped
    - ERR_raise
    - M_ASN1_new_of
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    linkageType: ''
    returnType: CMS_EnvelopedData*
    signature: 'static CMS_EnvelopedData *cms_enveloped_data_init(CMS_ContentInfo
      *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:441,1
    - Dst: ossl_cms_SignerIdentifier_get0_signer_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:446,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 4
    argNames:
    - ri
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_RecipientInfo*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: CMS_RecipientInfo_ktri_get0_signer_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cms_SignerIdentifier_get0_signer_id
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, ASN1_OCTET_STRING
      **keyid, X509_NAME **issuer, ASN1_INTEGER **sno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:635,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ri
    - id
    - idlen
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: CMS_RecipientInfo_kekri_id_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, const unsigned
      char *id, size_t idlen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:772,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 14
    argCount: 6
    argNames:
    - ri
    - palg
    - pid
    - pdate
    - potherid
    - pothertype
    argTypes:
    - CMS_RecipientInfo*
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    - ASN1_GENERALIZEDTIME**
    - ASN1_OBJECT**
    - ASN1_TYPE**
    constantsTouched: []
    func_position:
      end: 795
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 795
    functionName: CMS_RecipientInfo_kekri_get0_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, X509_ALGOR
      **palg, ASN1_OCTET_STRING **pid, ASN1_GENERALIZEDTIME **pdate, ASN1_OBJECT **potherid,
      ASN1_TYPE **pothertype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - CMS_EncryptedContentInfo*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1109
    functionName: cms_env_clear_ec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void cms_env_clear_ec(CMS_EncryptedContentInfo *ec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:102,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:110,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:104,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:112,1
    - Dst: ossl_cms_get0_auth_enveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: cms_auth_enveloped_data_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - M_ASN1_new_of
    - ossl_cms_get0_auth_enveloped
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    linkageType: ''
    returnType: CMS_AuthEnvelopedData*
    signature: 'static CMS_AuthEnvelopedData *cms_auth_enveloped_data_init(CMS_ContentInfo
      *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:453,1
    - Dst: ossl_cms_SignerIdentifier_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ri
    - cert
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: CMS_RecipientInfo_ktri_cert_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cms_SignerIdentifier_cert_cmp
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ri
    - key
    - keylen
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 810
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 810
    functionName: CMS_RecipientInfo_set0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, unsigned char
      *key, size_t keylen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1114,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1121,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1123,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1115,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1130,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1130,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1132,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1138
    functionName: cms_EnvelopedData_Decryption_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - BIO_get_cipher_ctx
    - BIO_free
    - EVP_CIPHER_get_flags
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_CTX_ctrl
    - ossl_cms_EncryptedContent_init_bio
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *cms_EnvelopedData_Decryption_init_bio(CMS_ContentInfo
      *cms) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cms_RecipientInfo_ktri_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1009,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1021,1
    - Dst: ossl_cms_RecipientInfo_kari_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1012,1
    - Dst: cms_RecipientInfo_kekri_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1015,1
    - Dst: ossl_cms_RecipientInfo_pwri_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1024
    functionName: CMS_RecipientInfo_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ossl_cms_RecipientInfo_kari_encrypt
    - ERR_raise
    - cms_RecipientInfo_ktri_encrypt
    - ossl_cms_RecipientInfo_pwri_crypt
    - cms_RecipientInfo_kekri_encrypt
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:480,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:489,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:497,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:485,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:494,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:497,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:499,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:503,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:507,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:510,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:526,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:528,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:517,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:513,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 530
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 530
    functionName: cms_RecipientInfo_ktri_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_encrypt_init
    - ossl_cms_env_asn1_ctrl
    - ossl_cms_get0_cmsctx
    - OPENSSL_free
    - ossl_cms_get0_env_enc_content
    - EVP_PKEY_CTX_new_from_pkey
    - ASN1_STRING_set0
    - EVP_PKEY_CTX_free
    - EVP_PKEY_encrypt
    - ossl_cms_ctx_get0_libctx
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int cms_RecipientInfo_ktri_encrypt(const CMS_ContentInfo *cms,
      CMS_RecipientInfo *ri) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:546,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:564,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:572,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:592,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:582,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:578,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:589,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:576,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:547,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:548,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:565,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:597,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:586,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:599,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:608,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:622,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:550,1
    - Dst: EVP_get_cipherbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:570,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:603,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:553,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:562,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:579,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:573,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:614,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:619,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 60
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 625
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 625
    functionName: cms_RecipientInfo_ktri_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - EVP_get_cipherbyobj
    - ossl_cms_env_asn1_ctrl
    - EVP_PKEY_decrypt
    - ERR_set_mark
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - EVP_CIPHER_free
    - OPENSSL_free
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_get_key_length
    - EVP_PKEY_decrypt_init
    - ERR_clear_last_mark
    - ossl_cms_ctx_get0_libctx
    - ERR_pop_to_mark
    - ERR_raise
    - ossl_cms_get0_env_enc_content
    - EVP_CIPHER_fetch
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int cms_RecipientInfo_ktri_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:849,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:879,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:881,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:892,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:897,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:882,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:883,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:888,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:856,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:869,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:900,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:847,1
    - Dst: cms_get_key_wrap_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:860,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:862,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:867,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:873,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:875,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:887,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:880,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:899,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 903
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 903
    functionName: cms_RecipientInfo_kekri_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - cms_get_key_wrap_cipher
    - ossl_assert
    - EVP_CIPHER_free
    - ossl_cms_get0_cmsctx
    - OPENSSL_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptFinal_ex
    - ossl_cms_get0_env_enc_content
    - EVP_CIPHER_CTX_new
    - ASN1_STRING_set0
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_set_flags
    - OPENSSL_malloc
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int cms_RecipientInfo_kekri_encrypt(const CMS_ContentInfo *cms,
      CMS_RecipientInfo *ri) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1034,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1036,1
    - Dst: sk_CMS_RevocationInfoChoice_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1046,1
    - Dst: sk_CMS_RevocationInfoChoice_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1048,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - env
    argTypes:
    - CMS_EnvelopedData*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1054
    functionName: cms_env_set_originfo_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - sk_CMS_RevocationInfoChoice_num
    - sk_CMS_CertificateChoices_num
    - sk_CMS_RevocationInfoChoice_value
    - sk_CMS_CertificateChoices_value
    linkageType: ''
    returnType: void
    signature: 'static void cms_env_set_originfo_version(CMS_EnvelopedData *env) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: ossl_cms_get0_enveloped
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: CMS_EnvelopedData*
    signature: 'CMS_EnvelopedData *ossl_cms_get0_enveloped(CMS_ContentInfo *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_get_enveloped_type_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:46,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: cms_get_enveloped_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - cms_get_enveloped_type_simple
    linkageType: ''
    returnType: int
    signature: 'static int cms_get_enveloped_type(const CMS_ContentInfo *cms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: CMS_RecipientInfo_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_type(CMS_RecipientInfo *ri) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:241,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:253,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:248,1
    - Dst: cms_enveloped_data_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:244,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:254,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - cipher
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: CMS_EnvelopedData_create_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - ERR_raise
    - ossl_cms_EncryptedContent_init
    - ossl_cms_get0_cmsctx
    - CMS_ContentInfo_new_ex
    - cms_enveloped_data_init
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_EnvelopedData_create_ex(const EVP_CIPHER *cipher,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:270,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:278,1
    - Dst: cms_auth_enveloped_data_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:273,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:282,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:276,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - cipher
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 285
    functionName: CMS_AuthEnvelopedData_create_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - ERR_raise
    - ossl_cms_EncryptedContent_init
    - ossl_cms_get0_cmsctx
    - cms_auth_enveloped_data_init
    - CMS_ContentInfo_new_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_AuthEnvelopedData_create_ex(const EVP_CIPHER
      *cipher, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_add1_recipient
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - recip
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: CMS_add1_recipient_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - CMS_add1_recipient
    linkageType: ''
    returnType: CMS_RecipientInfo*
    signature: 'CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, X509
      *recip, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:462,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ri
    - pkey
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: CMS_RecipientInfo_set0_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:829,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:830,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:829,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - keylen
    - ctx
    argTypes:
    - size_t
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 831
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 831
    functionName: cms_get_key_wrap_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_ctx_get0_propq
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static EVP_CIPHER *cms_get_key_wrap_cipher(size_t keylen, const CMS_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: ossl_cms_get0_auth_enveloped
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: CMS_AuthEnvelopedData*
    signature: 'CMS_AuthEnvelopedData *ossl_cms_get0_auth_enveloped(CMS_ContentInfo
      *cms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cms_get_enveloped_type_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:55,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:56,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - cinf
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ossl_cms_env_enc_content_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - cms_get_enveloped_type_simple
    - ossl_cms_get0_env_enc_content
    linkageType: ''
    returnType: void
    signature: 'void ossl_cms_env_enc_content_free(const CMS_ContentInfo *cinf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: CMS_RecipientInfo_get0_pkey_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_EnvelopedData_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: CMS_EnvelopedData_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - CMS_EnvelopedData_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_AuthEnvelopedData_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: CMS_AuthEnvelopedData_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - CMS_AuthEnvelopedData_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_AuthEnvelopedData_create(const EVP_CIPHER *cipher) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:419,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 4
    argNames:
    - ri
    - pk
    - recip
    - palg
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY**
    - X509**
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 432
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: CMS_RecipientInfo_ktri_get0_algs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, EVP_PKEY
      **pk, X509 **recip, X509_ALGOR **palg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pk
    - ri_type
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 1354
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1354
    functionName: ossl_cms_pkey_is_ri_type_supported
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - ossl_cms_pkey_get_ri_type
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_pkey_is_ri_type_supported(EVP_PKEY *pk, int ri_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1312,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1320,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1316,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1318,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c:1314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1334
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1334
    functionName: ossl_cms_pkey_get_ri_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_env.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_pkey_get_ri_type(EVP_PKEY *pk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:83,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:97,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:91,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:91,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - si
    - psc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT_V2**
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: ossl_cms_signerinfo_get_signing_cert_v2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - OBJ_nid2obj
    - CMS_signed_get0_data_by_OBJ
    - ASN1_ITEM_rptr
    - ESS_SIGNING_CERT_V2_free
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cms_signerinfo_get_signing_cert_v2(const CMS_SignerInfo
      *si, ESS_SIGNING_CERT_V2 **psc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_signerinfo_get_signing_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:106,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:111,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:110,1
    - Dst: ossl_cms_signerinfo_get_signing_cert_v2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:107,1
    - Dst: OSSL_ESS_check_signing_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - CMS_SignerInfo*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: ossl_cms_check_signing_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ossl_cms_signerinfo_get_signing_cert
    - ossl_cms_signerinfo_get_signing_cert_v2
    - ESS_SIGNING_CERT_free
    - ESS_SIGNING_CERT_V2_free
    - OSSL_ESS_check_signing_certs
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_check_signing_certs(const CMS_SignerInfo *si, const STACK_OF(X509)
      *chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ReceiptRequest_create0_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - id
    - idlen
    - allorfirst
    - receiptList
    - receiptsTo
    argTypes:
    - unsigned char*
    - int
    - int
    - STACK_OF(GENERAL_NAMES)*
    - STACK_OF(GENERAL_NAMES)*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: CMS_ReceiptRequest_create0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - CMS_ReceiptRequest_create0_ex
    linkageType: ''
    returnType: CMS_ReceiptRequest*
    signature: 'CMS_ReceiptRequest *CMS_ReceiptRequest_create0( unsigned char *id,
      int idlen, int allorfirst, STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES)
      *receiptsTo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 5
    argNames:
    - rr
    - pcid
    - pallorfirst
    - plist
    - prto
    argTypes:
    - CMS_ReceiptRequest*
    - ASN1_STRING**
    - int*
    - STACK_OF(GENERAL_NAMES)**
    - STACK_OF(GENERAL_NAMES)**
    constantsTouched: []
    func_position:
      end: 211
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 211
    functionName: CMS_ReceiptRequest_get0_values
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, ASN1_STRING
      **pcid, int *pallorfirst, STACK_OF(GENERAL_NAMES) **plist, STACK_OF(GENERAL_NAMES)
      **prto) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:296,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:302,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:307,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:290,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:327,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:370,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:349,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:269,1
    - Dst: CMS_get0_eContentType
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:275,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:276,1
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:281,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:322,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:331,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:332,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:338,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:348,1
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:355,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:360,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:264,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:287,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:297,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:312,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:339,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:369,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:356,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:362,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:275,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:265,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:283,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:287,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:298,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:317,1
    - Dst: cms_msgSigDigest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:321,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:342,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 79
    argCount: 2
    argNames:
    - cms
    - req_cms
    argTypes:
    - CMS_ContentInfo*
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 373
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 373
    functionName: ossl_cms_Receipt_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - OBJ_cmp
    - ERR_raise
    - cms_msgSigDigest
    - memcmp
    - OBJ_obj2nid
    - CMS_get0_content
    - M_ASN1_free_of
    - CMS_signed_get0_data_by_OBJ
    - OBJ_nid2obj
    - sk_CMS_SignerInfo_value
    - sk_CMS_SignerInfo_num
    - CMS_ReceiptRequest_free
    - ASN1_STRING_cmp
    - CMS_get1_ReceiptRequest
    - CMS_get0_eContentType
    - CMS_get0_SignerInfos
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_Receipt_verify(CMS_ContentInfo *cms, CMS_ContentInfo
      *req_cms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:29,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:43,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:37,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:37,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:33,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - si
    - prr
    argTypes:
    - CMS_SignerInfo*
    - CMS_ReceiptRequest**
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: CMS_get1_ReceiptRequest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - OBJ_nid2obj
    - CMS_ReceiptRequest_free
    - CMS_signed_get0_data_by_OBJ
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(CMS_ReceiptRequest)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(CMS_ReceiptRequest) /* ESS services */ int
      CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ReceiptRequest_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:122,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:130,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:128,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:126,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:135,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:149,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 6
    argNames:
    - id
    - idlen
    - allorfirst
    - receiptList
    - receiptsTo
    - libctx
    argTypes:
    - unsigned char*
    - int
    - int
    - STACK_OF(GENERAL_NAMES)*
    - STACK_OF(GENERAL_NAMES)*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 155
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 155
    functionName: CMS_ReceiptRequest_create0_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAMES_pop_free
    - CMS_ReceiptRequest_new
    - CMS_ReceiptRequest_free
    - ASN1_STRING_set0
    - ASN1_STRING_set
    - RAND_bytes_ex
    linkageType: ''
    returnType: CMS_ReceiptRequest*
    signature: 'CMS_ReceiptRequest *CMS_ReceiptRequest_create0_ex( unsigned char *id,
      int idlen, int allorfirst, STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES)
      *receiptsTo, OSSL_LIB_CTX *libctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_CMS_ReceiptRequest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:170,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:184,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - si
    - rr
    argTypes:
    - CMS_SignerInfo*
    - CMS_ReceiptRequest*
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: CMS_add1_ReceiptRequest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    - i2d_CMS_ReceiptRequest
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest
      *rr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:56,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:64,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:64,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:60,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:70,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - si
    - psc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT**
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: ossl_cms_signerinfo_get_signing_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - ESS_SIGNING_CERT_free
    - OBJ_nid2obj
    - CMS_signed_get0_data_by_OBJ
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cms_signerinfo_get_signing_cert(const CMS_SignerInfo
      *si, ESS_SIGNING_CERT **psc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:218,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:224,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:225,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:222,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - si
    - dig
    - diglen
    argTypes:
    - CMS_SignerInfo*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 228
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 228
    functionName: cms_msgSigDigest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ossl_asn1_item_digest_ex
    - ossl_cms_ctx_get0_propq
    - EVP_get_digestbyobj
    - ossl_cms_ctx_get0_libctx
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int cms_msgSigDigest(CMS_SignerInfo *si, unsigned char *dig,
      unsigned int *diglen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cms_msgSigDigest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:237,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:243,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:238,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - CMS_SignerInfo*
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: ossl_cms_msgSigDigest_add1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    - cms_msgSigDigest
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_msgSigDigest_add1(CMS_SignerInfo *dest, CMS_SignerInfo
      *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:391,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:399,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:392,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:402,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:411,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:411,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 416
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 416
    functionName: ossl_cms_encode_Receipt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_ess.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_item_pack
    - OBJ_nid2obj
    - CMS_ReceiptRequest_free
    - CMS_get1_ReceiptRequest
    - CMS_signed_get0_data_by_OBJ
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *ossl_cms_encode_Receipt(CMS_SignerInfo *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:38,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:47,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:40,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:48,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:45,1
    - Dst: cms_get0_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: cms_signed_data_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - cms_get0_signed
    - ERR_raise
    - M_ASN1_new_of
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    linkageType: ''
    returnType: CMS_SignedData*
    signature: 'static CMS_SignedData *cms_signed_data_init(CMS_ContentInfo *cms) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:145,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:149,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:154,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:152,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:146,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:157,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:162,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - cms
    - si
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 175
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 175
    functionName: cms_copy_messageDigest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - CMS_signed_get_attr_count
    - ERR_raise
    - CMS_signed_add1_attr_by_NID
    - CMS_signed_get0_data_by_OBJ
    - OBJ_nid2obj
    - sk_CMS_SignerInfo_value
    - sk_CMS_SignerInfo_num
    - CMS_get0_SignerInfos
    linkageType: ''
    returnType: int
    signature: 'static int cms_copy_messageDigest(CMS_ContentInfo *cms, CMS_SignerInfo
      *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:285,1
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:291,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:287,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:292,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:292,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:293,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:294,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:297,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:298,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:300,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT_V2*
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: ossl_cms_add1_signing_cert_v2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - i2d_ESS_SIGNING_CERT_V2
    - CMS_signed_add1_attr_by_NID
    - OPENSSL_free
    - ASN1_STRING_new
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cms_add1_signing_cert_v2(CMS_SignerInfo *si, const
      ESS_SIGNING_CERT_V2 *sc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_SignerIdentifier_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - si
    - cert
    argTypes:
    - CMS_SignerInfo*
    - X509*
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: CMS_SignerInfo_cert_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_cms_SignerIdentifier_cert_cmp
    linkageType: ''
    returnType: int
    signature: 'int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:921,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:926,1
    - Dst: cms_sd_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:925,1
    - Dst: ossl_cms_DigestAlgorithm_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:931,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:930,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:932,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:936,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:942,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 944
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 944
    functionName: ossl_cms_SignedData_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - cms_get0_signed
    - BIO_free_all
    - sk_X509_ALGOR_num
    - ossl_cms_DigestAlgorithm_init_bio
    - ossl_cms_get0_cmsctx
    - cms_sd_set_version
    - BIO_push
    - sk_X509_ALGOR_value
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ossl_cms_SignedData_init_bio(CMS_ContentInfo *cms) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_set1_ias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:192,1
    - Dst: ossl_cms_set1_keyid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 4
    argNames:
    - sid
    - cert
    - type
    - ctx
    argTypes:
    - CMS_SignerIdentifier*
    - X509*
    - int
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: ossl_cms_set1_SignerIdentifier
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    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, int type, const CMS_CTX *ctx) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:312,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:321,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:327,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:371,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:383,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:390,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:394,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:400,1
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:416,1
    - Dst: OSSL_ESS_signing_cert_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:436,1
    - Dst: cms_copy_messageDigest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:452,1
    - Dst: sk_CMS_SignerInfo_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:489,1
    - Dst: sk_CMS_SignerInfo_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:490,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:470,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:496,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:472,1
    - Dst: X509_ALGOR_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:398,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:482,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:314,1
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:325,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:328,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:358,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:364,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:359,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:351,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:387,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:388,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:389,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:481,1
    - Dst: CMS_SignerInfo_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:457,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:399,1
    - Dst: cms_signed_data_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:318,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:337,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:362,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:406,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:407,1
    - Dst: CMS_add_smimecap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:425,1
    - Dst: OSSL_ESS_signing_cert_v2_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:442,1
    - Dst: ossl_cms_add1_signing_cert_v2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:445,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:446,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:470,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:479,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:475,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:315,1
    - Dst: X509_ALGOR_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:380,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:357,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:376,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:395,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:405,1
    - Dst: CMS_add_standard_smimecap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:423,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:435,1
    - Dst: ossl_cms_add1_signing_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:439,1
    - Dst: cms_set_si_contentType_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:454,1
    - Dst: CMS_add1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:464,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:440,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:498,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:477,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:480,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 164
    argCount: 5
    argNames:
    - cms
    - signer
    - pk
    - md
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 501
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 501
    functionName: CMS_add1_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - OSSL_ESS_signing_cert_new_init
    - ossl_cms_add1_signing_cert
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_new_from_pkey
    - cms_copy_messageDigest
    - EVP_PKEY_sign_init
    - EVP_PKEY_up_ref
    - sk_X509_ALGOR_value
    - sk_CMS_SignerInfo_new_null
    - sk_X509_ALGOR_num
    - EVP_MD_CTX_new
    - cms_signed_data_init
    - X509_up_ref
    - sk_X509_ALGOR_push
    - EVP_MD_get0_name
    - M_ASN1_free_of
    - ERR_raise_data
    - OSSL_ESS_signing_cert_v2_new_init
    - cms_set_si_contentType_attr
    - EVP_PKEY_get_default_digest_nid
    - sk_X509_ATTRIBUTE_new_null
    - X509_ALGOR_free
    - EVP_DigestSignInit_ex
    - M_ASN1_new_of
    - X509_ALGOR_set_md
    - ossl_cms_get0_cmsctx
    - ossl_cms_ctx_get0_libctx
    - ESS_SIGNING_CERT_V2_free
    - X509_ALGOR_new
    - EVP_get_digestbynid
    - ERR_raise
    - CMS_add_smimecap
    - sk_X509_ALGOR_pop_free
    - CMS_add1_cert
    - ESS_SIGNING_CERT_free
    - CMS_SignerInfo_sign
    - cms_sd_asn1_ctrl
    - CMS_add_standard_smimecap
    - X509_check_private_key
    - sk_CMS_SignerInfo_push
    - X509_check_purpose
    - X509_ALGOR_get0
    - ossl_cms_set1_SignerIdentifier
    - EVP_MD_is_a
    - ossl_cms_add1_signing_cert_v2
    - EVP_PKEY_get_id
    - OBJ_obj2txt
    linkageType: ''
    returnType: CMS_SignerInfo*
    signature: 'CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, X509 *signer,
      EVP_PKEY *pk, const EVP_MD *md, unsigned int flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:617,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:626,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:627,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:631,1
    - Dst: cms_get0_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:622,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:632,1
    - Dst: CMS_SignerInfo_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:633,1
    - Dst: CMS_SignerInfo_set1_signer_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:634,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:643,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:644,1
    - Dst: CMS_SignerInfo_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:648,1
    - Dst: CMS_SignerInfo_set1_signer_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:649,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 3
    argNames:
    - cms
    - scerts
    - flags
    argTypes:
    - CMS_ContentInfo*
    - STACK_OF(X509)*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 656
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 656
    functionName: CMS_set1_signers_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - cms_get0_signed
    - CMS_SignerInfo_cert_cmp
    - sk_X509_num
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - CMS_SignerInfo_set1_signer_cert
    - sk_CMS_SignerInfo_value
    - sk_CMS_SignerInfo_num
    - sk_X509_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *scerts,
      unsigned int flags) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:961,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:970,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:973,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:995,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:997,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1016,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:949,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:962,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:960,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:965,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1000,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:987,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:992,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:986,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1005,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1007,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:956,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:974,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1002,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1010,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1017,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:982,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:995,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - CMS_SignerInfo*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1020
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 1020
    functionName: CMS_SignerInfo_verify_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_verify_init
    - ossl_cms_DigestAlgorithm_find_ctx
    - CMS_signed_get_attr_count
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_verify
    - memcmp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - cms_sd_asn1_ctrl
    - OBJ_nid2obj
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_DigestFinal_ex
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_get0_md
    - CMS_signed_get0_data_by_OBJ
    - ossl_cms_ctx_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1085,1
    - Dst: cms_add_digest_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1087,1
    - Dst: cms_add_digest_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1088,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1089,1
    - Dst: cms_add_digest_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1086,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1090,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1091,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1092,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1093,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1094,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1096,1
    - Dst: cms_add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1095,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - smcap
    argTypes:
    - STACK_OF(X509_ALGOR)**
    constantsTouched: []
    func_position:
      end: 1099
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1099
    functionName: CMS_add_standard_smimecap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - cms_add_cipher_smcap
    - cms_add_digest_smcap
    linkageType: ''
    returnType: int
    signature: 'int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cms_get0_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: CMS_SignedData*
    signature: 'static CMS_SignedData *cms_get0_signed(CMS_ContentInfo *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:507,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:510,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:508,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:512,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:511,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:514,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 519
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 519
    functionName: ossl_cms_SignerInfos_set_cmsctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ossl_cms_get0_cmsctx
    - ERR_set_mark
    - sk_CMS_SignerInfo_num
    - sk_CMS_SignerInfo_value
    - CMS_get0_SignerInfos
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: 'void ossl_cms_SignerInfos_set_cmsctx(CMS_ContentInfo *cms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: CMS_get0_SignerInfos
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - cms_get0_signed
    linkageType: ''
    returnType: STACK_OF(CMS_SignerInfo)*
    signature: 'STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:809,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:811,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:841,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:824,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:826,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:794,1
    - Dst: cms_add1_signingTime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:799,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:810,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:812,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:822,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:835,1
    - Dst: CMS_signed_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:798,1
    - Dst: ossl_cms_si_check_attributes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:803,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:818,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:819,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:827,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:833,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:840,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:830,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 843
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 843
    functionName: CMS_SignerInfo_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_cms_si_check_attributes
    - CMS_signed_get_attr_by_NID
    - EVP_DigestSignInit_ex
    - ossl_cms_ctx_get0_propq
    - cms_add1_signingTime
    - OPENSSL_free
    - EVP_MD_CTX_reset
    - EVP_DigestSignUpdate
    - OPENSSL_malloc
    - ASN1_item_i2d
    - EVP_DigestSignFinal
    - ASN1_STRING_set0
    - ossl_cms_ctx_get0_libctx
    - ASN1_ITEM_rptr
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'int CMS_SignerInfo_sign(CMS_SignerInfo *si) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:529,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:534,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:544,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - si
    - t
    argTypes:
    - CMS_SignerInfo*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 548
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 548
    functionName: cms_add1_signingTime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    - X509_gmtime_adj
    - ERR_raise
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: 'static int cms_add1_signingTime(CMS_SignerInfo *si, ASN1_TIME *t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:570,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:576,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:574,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:575,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:578,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 586
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 586
    functionName: CMS_get0_signers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_x509_add_cert_new
    - sk_X509_free
    - sk_CMS_SignerInfo_value
    - sk_CMS_SignerInfo_num
    - CMS_get0_SignerInfos
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:858,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:876,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:906,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:868,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:882,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:897,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:894,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:893,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:886,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:903,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:854,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:855,1
    - Dst: ossl_cms_si_check_attributes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:862,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:867,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:890,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:898,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:908,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:865,1
    - Dst: EVP_get_digestbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:873,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:875,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:879,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:886,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:881,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:909,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 911
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 911
    functionName: CMS_SignerInfo_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - EVP_DigestVerifyFinal
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - ossl_cms_si_check_attributes
    - EVP_MD_CTX_new
    - OPENSSL_free
    - EVP_MD_get0_name
    - EVP_MD_free
    - EVP_MD_CTX_reset
    - ERR_clear_last_mark
    - EVP_get_digestbyobj
    - ossl_cms_ctx_get0_libctx
    - EVP_MD_fetch
    - EVP_DigestVerifyInit_ex
    - ERR_pop_to_mark
    - ERR_raise
    - cms_sd_asn1_ctrl
    - ASN1_item_i2d
    - EVP_DigestVerifyUpdate
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'int CMS_SignerInfo_verify(CMS_SignerInfo *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_signed_data_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: CMS_SignedData_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - cms_signed_data_init
    linkageType: ''
    returnType: int
    signature: 'int CMS_SignedData_init(CMS_ContentInfo *cms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - cms
    - si
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: cms_set_si_contentType_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'static int cms_set_si_contentType_attr(CMS_ContentInfo *cms, CMS_SignerInfo
      *si) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 4
    argNames:
    - sid
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_SignerIdentifier*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: ossl_cms_SignerIdentifier_get0_signer_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_SignerIdentifier_get0_signer_id(CMS_SignerIdentifier
      *sid, ASN1_OCTET_STRING **keyid, X509_NAME **issuer, ASN1_INTEGER **sno) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:591,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:592,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:595,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - si
    - signer
    argTypes:
    - CMS_SignerInfo*
    - X509*
    constantsTouched: []
    func_position:
      end: 597
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 597
    functionName: CMS_SignerInfo_set1_signer_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - X509_get_pubkey
    - X509_up_ref
    - EVP_PKEY_free
    - X509_free
    linkageType: ''
    returnType: void
    signature: 'void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_ALGORS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1027,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1032,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - si
    - algs
    argTypes:
    - CMS_SignerInfo*
    - STACK_OF(X509_ALGOR)*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1034
    functionName: CMS_add_smimecap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    - OPENSSL_free
    - i2d_X509_ALGORS
    linkageType: ''
    returnType: int
    signature: 'int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ias_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:222,1
    - Dst: ossl_cms_keyid_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - sid
    - cert
    argTypes:
    - CMS_SignerIdentifier*
    - X509*
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: ossl_cms_SignerIdentifier_cert_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    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: ossl_cms_SignerIdentifier_get0_signer_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - si
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: CMS_SignerInfo_get0_signer_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_cms_SignerIdentifier_get0_signer_id
    linkageType: ''
    returnType: int
    signature: 'int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, ASN1_OCTET_STRING
      **keyid, X509_NAME **issuer, ASN1_INTEGER **sno) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1043,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1044,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1047,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1051,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1051,1
    - Dst: sk_X509_ALGOR_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1056,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1057,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1062,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1063,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - algs
    - algnid
    - keysize
    argTypes:
    - STACK_OF(X509_ALGOR)**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1065
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1065
    functionName: CMS_add_simple_smimecap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - sk_X509_ALGOR_push
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - sk_X509_ALGOR_new_null
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: 'int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, int algnid,
      int keysize) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:74,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:75,1
    - Dst: sk_CMS_RevocationInfoChoice_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:88,1
    - Dst: sk_CMS_RevocationInfoChoice_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:89,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:96,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:100,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:101,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 1
    argNames:
    - sd
    argTypes:
    - CMS_SignedData*
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: cms_sd_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - sk_CMS_SignerInfo_value
    - sk_CMS_SignerInfo_num
    - sk_CMS_RevocationInfoChoice_value
    - sk_CMS_RevocationInfoChoice_num
    linkageType: ''
    returnType: void
    signature: 'static void cms_sd_set_version(CMS_SignedData *sd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:260,1
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:266,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:262,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:267,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:267,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:268,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:269,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:272,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:273,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT*
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: ossl_cms_add1_signing_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    - OPENSSL_free
    - i2d_ESS_SIGNING_CERT
    - ASN1_STRING_new
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cms_add1_signing_cert(CMS_SignerInfo *si, const ESS_SIGNING_CERT
      *sc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: CMS_SignerInfo_get0_pkey_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 5
    argNames:
    - si
    - pk
    - signer
    - pdig
    - psig
    argTypes:
    - CMS_SignerInfo*
    - EVP_PKEY**
    - X509**
    - X509_ALGOR**
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 670
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 670
    functionName: CMS_SignerInfo_get0_algs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, X509
      **signer, X509_ALGOR **pdig, X509_ALGOR **psig) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:683,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:736,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:753,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:762,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:686,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:705,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:709,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:711,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:735,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:727,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:744,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:750,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:752,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:756,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:691,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:698,1
    - Dst: cms_set_si_contentType_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:715,1
    - Dst: CMS_SignerInfo_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:718,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:739,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:680,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:695,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:729,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:730,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:744,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:732,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:746,1
    - Dst: EVP_SignFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:749,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:751,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:763,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 59
    argCount: 3
    argNames:
    - cms
    - si
    - chain
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    - BIO*
    constantsTouched: []
    func_position:
      end: 766
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 766
    functionName: cms_SignerInfo_content_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - EVP_SignFinal_ex
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    - EVP_MD_CTX_new
    - OPENSSL_free
    - cms_set_si_contentType_attr
    - EVP_PKEY_sign
    - ossl_cms_get0_cmsctx
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_DigestAlgorithm_find_ctx
    - CMS_signed_get_attr_count
    - ERR_raise
    - CMS_signed_add1_attr_by_NID
    - EVP_MD_CTX_free
    - CMS_SignerInfo_sign
    - cms_sd_asn1_ctrl
    - EVP_DigestFinal_ex
    - ASN1_STRING_set0
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int cms_SignerInfo_content_sign(CMS_ContentInfo *cms, CMS_SignerInfo
      *si, BIO *chain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_cipherbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1071,1
    - Dst: CMS_add_simple_smimecap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - sk
    - nid
    - arg
    argTypes:
    - STACK_OF(X509_ALGOR)**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1074
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1074
    functionName: cms_add_cipher_smcap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - CMS_add_simple_smimecap
    - EVP_get_cipherbynid
    linkageType: ''
    returnType: int
    signature: 'static int cms_add_cipher_smcap(STACK_OF(X509_ALGOR) **sk, int nid,
      int arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: CMS_SignerInfo_get0_md_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD_CTX*
    signature: 'EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: CMS_SignerInfo_get0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:774,1
    - Dst: cms_SignerInfo_content_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:777,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:775,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - cms
    - chain
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    constantsTouched: []
    func_position:
      end: 782
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 782
    functionName: ossl_cms_SignedData_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - sk_CMS_SignerInfo_num
    - CMS_get0_SignerInfos
    - cms_SignerInfo_content_sign
    - sk_CMS_SignerInfo_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_SignedData_final(CMS_ContentInfo *cms, BIO *chain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1078,1
    - Dst: CMS_add_simple_smimecap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:1079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - sk
    - nid
    - arg
    argTypes:
    - STACK_OF(X509_ALGOR)**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1081
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    functionName: cms_add_digest_smcap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - CMS_add_simple_smimecap
    - EVP_get_digestbynid
    linkageType: ''
    returnType: int
    signature: 'static int cms_add_digest_smcap(STACK_OF(X509_ALGOR) **sk, int nid,
      int arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:234,1
    - Dst: ossl_cms_ecdsa_dsa_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:235,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:236,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:236,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:234,1
    - Dst: ossl_cms_rsa_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:237,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:244,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c:248,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - si
    - cmd
    argTypes:
    - CMS_SignerInfo*
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: cms_sd_asn1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_sd.c
    functionUses: []
    functionsReached:
    - ossl_cms_rsa_sign
    - ossl_cms_ecdsa_dsa_sign
    - ERR_raise
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: 'static int cms_sd_asn1_ctrl(CMS_SignerInfo *si, int cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:26,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:39,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:30,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:35,1
    - Dst: X509_ALGOR_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:41,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:46,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - md
    - libctx
    - propq
    argTypes:
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 48
    functionName: ossl_cms_DigestedData_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - M_ASN1_new_of
    - X509_ALGOR_set_md
    - OBJ_nid2obj
    - CMS_ContentInfo_new_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *ossl_cms_DigestedData_create(const EVP_MD *md, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_DigestAlgorithm_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:54,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ossl_cms_DigestedData_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:61,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:77,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:68,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:87,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:91,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c:97,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 3
    argNames:
    - cms
    - chain
    - verify
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 101
    functionName: ossl_cms_DigestedData_do_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dd.c
    functionUses: []
    functionsReached:
    - ossl_cms_DigestAlgorithm_find_ctx
    - ERR_raise
    - memcmp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestFinal_ex
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_DigestedData_do_final(const CMS_ContentInfo *cms, BIO
      *chain, int verify) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:33,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:60,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:73,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:44,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:56,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:58,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:65,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:74,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:39,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:45,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:75,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:32,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:40,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:49,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:55,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:66,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:72,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:69,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:63,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 49
    argCount: 3
    argNames:
    - pctx
    - alg
    - pubkey
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 77
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 77
    functionName: dh_cms_set_peerkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - EVP_PKEY_copy_parameters
    - OPENSSL_malloc
    - ASN1_STRING_length
    - OPENSSL_free
    - BN_bn2binpad
    - EVP_PKEY_derive_set_peer
    - d2i_ASN1_INTEGER
    - EVP_PKEY_CTX_get0_pkey
    - OBJ_obj2nid
    - ASN1_INTEGER_to_BN
    - EVP_PKEY_new
    - ASN1_STRING_get0_data
    - EVP_PKEY_set1_encoded_public_key
    - X509_ALGOR_get0
    - BN_free
    - ASN1_INTEGER_free
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int dh_cms_set_peerkey(EVP_PKEY_CTX *pctx, X509_ALGOR *alg,
      ASN1_BIT_STRING *pubkey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:177,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:171,1
    - Dst: EVP_PKEY_CTX_get0_peerkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:167,1
    - Dst: dh_cms_set_peerkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:176,1
    - Dst: dh_cms_set_shared_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 187
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 187
    functionName: dh_cms_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_get0_peerkey
    - CMS_RecipientInfo_kari_get0_orig_id
    - dh_cms_set_shared_info
    - dh_cms_set_peerkey
    - CMS_RecipientInfo_get0_pkey_ctx
    linkageType: ''
    returnType: int
    signature: 'static int dh_cms_decrypt(CMS_RecipientInfo *ri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:332,1
    - Dst: dh_cms_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:335,1
    - Dst: dh_cms_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:338,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - CMS_RecipientInfo*
    - int
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: ossl_cms_dh_envelope
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c
    functionUses: []
    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: 27
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:217,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:222,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:225,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:231,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:258,1
    - Dst: ASN1_TYPE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:286,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:296,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:296,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:318,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:321,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:325,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:281,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:207,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:212,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:211,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:218,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:240,1
    - Dst: EVP_PKEY_CTX_get_dh_kdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:246,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:240,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:271,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:273,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:277,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_ukm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:301,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:232,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:251,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:269,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_oid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:271,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:280,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:284,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:295,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:326,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:324,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:226,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:235,1
    - Dst: EVP_PKEY_CTX_get_dh_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:245,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:259,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:261,1
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:265,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:270,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_outlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:291,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:313,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:316,1
    - Dst: i2d_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:310,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:318,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:287,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 106
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 328
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 328
    functionName: dh_cms_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_dh_kdf_md
    - EVP_CIPHER_param_to_asn1
    - OPENSSL_memdup
    - EVP_PKEY_CTX_get_dh_kdf_type
    - EVP_CIPHER_CTX_get_key_length
    - EVP_PKEY_CTX_set_dh_kdf_type
    - ASN1_TYPE_free
    - ASN1_STRING_length
    - OPENSSL_free
    - OBJ_nid2obj
    - EVP_MD_get_type
    - ASN1_STRING_new
    - ASN1_TYPE_new
    - i2d_ASN1_INTEGER
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_CIPHER_CTX_get_type
    - EVP_PKEY_CTX_get0_pkey
    - ASN1_TYPE_get
    - CMS_RecipientInfo_kari_get0_alg
    - EVP_PKEY_CTX_set0_dh_kdf_ukm
    - X509_ALGOR_free
    - EVP_PKEY_CTX_set_dh_kdf_md
    - EVP_PKEY_get_bn_param
    - EVP_sha1
    - CMS_RecipientInfo_kari_get0_orig_id
    - CMS_RecipientInfo_kari_get0_ctx
    - i2d_X509_ALGOR
    - ASN1_STRING_get0_data
    - ASN1_STRING_free
    - EVP_PKEY_CTX_set0_dh_kdf_oid
    - X509_ALGOR_new
    - BN_to_ASN1_INTEGER
    - X509_ALGOR_set0
    - EVP_PKEY_CTX_set_dh_kdf_outlen
    - X509_ALGOR_get0
    - BN_free
    - ASN1_STRING_set0
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_cms_encrypt(CMS_RecipientInfo *ri) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:92,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:99,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:104,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:105,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:137,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:132,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:156,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:105,1
    - Dst: d2i_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:113,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:129,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_oid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:136,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:142,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:127,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:143,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:143,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:100,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:116,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_outlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:133,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:137,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_ukm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:148,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:154,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:120,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:123,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:125,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c:155,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 57
    argCount: 2
    argNames:
    - pctx
    - ri
    argTypes:
    - EVP_PKEY_CTX*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 158
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 158
    functionName: dh_cms_set_shared_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_dh.c
    functionUses: []
    functionsReached:
    - d2i_X509_ALGOR
    - OPENSSL_memdup
    - EVP_CIPHER_get_type
    - EVP_CIPHER_CTX_get_key_length
    - EVP_EncryptInit_ex
    - EVP_PKEY_CTX_set_dh_kdf_type
    - EVP_CIPHER_free
    - ASN1_STRING_length
    - OPENSSL_free
    - EVP_CIPHER_get_mode
    - OBJ_nid2obj
    - EVP_CIPHER_asn1_to_param
    - EVP_PKEY_CTX_set0_dh_kdf_ukm
    - CMS_RecipientInfo_kari_get0_alg
    - X509_ALGOR_free
    - OBJ_obj2nid
    - EVP_PKEY_CTX_set_dh_kdf_md
    - EVP_sha1
    - CMS_RecipientInfo_kari_get0_ctx
    - ASN1_STRING_get0_data
    - EVP_PKEY_CTX_set0_dh_kdf_oid
    - ERR_raise
    - EVP_PKEY_CTX_set_dh_kdf_outlen
    - EVP_CIPHER_fetch
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int dh_cms_set_shared_info(EVP_PKEY_CTX *pctx, CMS_RecipientInfo
      *ri) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:35,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:52,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:47,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:38,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:42,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:53,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:55,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - comp_nid
    - libctx
    - propq
    argTypes:
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 62
    functionName: ossl_cms_CompressedData_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - ERR_raise
    - M_ASN1_new_of
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - CMS_ContentInfo_new_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *ossl_cms_CompressedData_create(int comp_nid, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:69,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:75,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:76,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:79,1
    - Dst: BIO_f_zlib
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: ossl_cms_CompressedData_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_cd.c
    functionUses: []
    functionsReached:
    - BIO_f_zlib
    - ERR_raise
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ossl_cms_CompressedData_init_bio(const CMS_ContentInfo *cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: CMS_RecipientInfo_kari_get0_reks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: STACK_OF(CMS_RecipientEncryptedKey)*
    signature: 'STACK_OF(CMS_RecipientEncryptedKey) *CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo
      *ri) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:101,1
    - Dst: ossl_cms_ias_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:106,1
    - Dst: ossl_cms_keyid_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ri
    - cert
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: CMS_RecipientInfo_kari_orig_id_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cms_ias_cert_cmp
    - ossl_cms_keyid_cert_cmp
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509
      *cert) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ias_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:153,1
    - Dst: ossl_cms_keyid_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - rek
    - cert
    argTypes:
    - CMS_RecipientEncryptedKey*
    - X509*
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: CMS_RecipientEncryptedKey_cert_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ossl_cms_ias_cert_cmp
    - ossl_cms_keyid_cert_cmp
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek,
      X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_kari_set0_pkey_and_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ri
    - pk
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: CMS_RecipientInfo_kari_set0_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:220,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:224,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:232,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:230,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:227,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:235,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:242,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:244,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:245,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:247,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 6
    argNames:
    - pout
    - poutlen
    - in
    - inlen
    - kari
    - enc
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char*
    - size_t
    - CMS_KeyAgreeRecipientInfo*
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 250
    functionName: cms_kek_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - OPENSSL_free
    - EVP_CipherUpdate
    - OPENSSL_cleanse
    - EVP_PKEY_derive
    - EVP_CIPHER_CTX_get_key_length
    - EVP_PKEY_CTX_free
    - EVP_CipherInit_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int cms_kek_cipher(unsigned char **pout, size_t *poutlen, const
      unsigned char *in, size_t inlen, CMS_KeyAgreeRecipientInfo *kari, int enc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:289,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:297,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:295,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:292,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:290,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:299,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:300,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:303,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:309,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:310,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 2
    argNames:
    - kari
    - pk
    argTypes:
    - CMS_KeyAgreeRecipientInfo*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 312
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 312
    functionName: cms_kari_create_ephemeral_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - EVP_PKEY_derive_init
    - ossl_cms_ctx_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo
      *kari, EVP_PKEY *pk) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:348,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:357,1
    - Dst: sk_CMS_RecipientEncryptedKey_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:361,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:362,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:368,1
    - Dst: ossl_cms_set1_keyid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:371,1
    - Dst: ossl_cms_set1_ias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:375,1
    - Dst: cms_kari_create_ephemeral_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:381,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:392,1
    - Dst: ossl_cms_set1_keyid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:395,1
    - Dst: ossl_cms_set1_ias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:399,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:407,1
    - Dst: cms_kari_set_originator_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:403,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 7
    argNames:
    - ri
    - recip
    - recipPubKey
    - originator
    - originatorPrivKey
    - flags
    - ctx
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    - EVP_PKEY*
    - X509*
    - EVP_PKEY*
    - unsigned int
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 410
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 410
    functionName: ossl_cms_RecipientInfo_kari_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ossl_cms_set1_ias
    - cms_kari_create_ephemeral_key
    - sk_CMS_RecipientEncryptedKey_push
    - M_ASN1_new_of
    - M_ASN1_free_of
    - ASN1_OCTET_STRING_new
    - cms_kari_set_originator_private_key
    - EVP_PKEY_up_ref
    - ossl_cms_set1_keyid
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip,
      EVP_PKEY *recipPubKey, X509 *originator, EVP_PKEY *originatorPrivKey, unsigned
      int flags, const CMS_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:481,1
    - Dst: cms_wrap_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:492,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:485,1
    - Dst: M_ASN1_new_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:501,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:506,1
    - Dst: sk_CMS_RecipientEncryptedKey_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:509,1
    - Dst: sk_CMS_RecipientEncryptedKey_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:512,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:513,1
    - Dst: cms_kek_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:515,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:518,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 522
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 522
    functionName: ossl_cms_RecipientInfo_kari_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - sk_CMS_RecipientEncryptedKey_value
    - cms_wrap_init
    - sk_CMS_RecipientEncryptedKey_num
    - ERR_raise
    - M_ASN1_new_of
    - ossl_cms_env_asn1_ctrl
    - ossl_cms_get0_env_enc_content
    - cms_kek_cipher
    - ASN1_STRING_set0
    - EVP_PKEY_derive_set_peer
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_RecipientInfo_kari_encrypt(const CMS_ContentInfo *cms,
      CMS_RecipientInfo *ri) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 15
    argCount: 6
    argNames:
    - rek
    - keyid
    - tm
    - other
    - issuer
    - sno
    argTypes:
    - CMS_RecipientEncryptedKey*
    - ASN1_OCTET_STRING**
    - ASN1_GENERALIZEDTIME**
    - CMS_OtherKeyAttribute**
    - X509_NAME**
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: CMS_RecipientEncryptedKey_get0_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek,
      ASN1_OCTET_STRING **keyid, ASN1_GENERALIZEDTIME **tm, CMS_OtherKeyAttribute
      **other, X509_NAME **issuer, ASN1_INTEGER **sno) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:64,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 21
    argCount: 6
    argNames:
    - ri
    - pubalg
    - pubkey
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_RecipientInfo*
    - X509_ALGOR**
    - ASN1_BIT_STRING**
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 94
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 94
    functionName: CMS_RecipientInfo_kari_get0_orig_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, X509_ALGOR
      **pubalg, ASN1_BIT_STRING **pubkey, ASN1_OCTET_STRING **keyid, X509_NAME **issuer,
      ASN1_INTEGER **sno) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:167,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:175,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:174,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:172,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:172,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:179,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:181,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - ri
    - pk
    - peer
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    - X509*
    constantsTouched: []
    func_position:
      end: 190
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 190
    functionName: CMS_RecipientInfo_kari_set0_pkey_and_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - X509_get0_pubkey
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_derive_init
    - ossl_cms_ctx_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_kari_set0_pkey_and_peer(CMS_RecipientInfo *ri,
      EVP_PKEY *pk, X509 *peer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: CMS_RecipientInfo_kari_get0_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER_CTX*
    signature: 'EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo
      *ri) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:265,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:277,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:270,1
    - Dst: cms_kek_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:268,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - cms
    - ri
    - rek
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    - CMS_RecipientEncryptedKey*
    constantsTouched: []
    func_position:
      end: 279
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 279
    functionName: CMS_RecipientInfo_kari_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ossl_cms_env_asn1_ctrl
    - OPENSSL_free
    - ossl_cms_get0_env_enc_content
    - cms_kek_cipher
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri, CMS_RecipientEncryptedKey *rek) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:424,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:432,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:426,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:433,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:434,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:440,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:442,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:452,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:463,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:468,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:465,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:469,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:463,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - kari
    - cipher
    argTypes:
    - CMS_KeyAgreeRecipientInfo*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 471
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 471
    functionName: cms_wrap_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_meth_get_ctrl
    - ossl_cms_ctx_get0_propq
    - EVP_CIPHER_free
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_type
    - EVP_EncryptInit_ex
    - EVP_CIPHER_fetch
    - ossl_cms_ctx_get0_libctx
    - EVP_CIPHER_get0_name
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: int
    signature: 'static int cms_wrap_init(CMS_KeyAgreeRecipientInfo *kari, const EVP_CIPHER
      *cipher) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:32,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - ri
    - palg
    - pukm
    argTypes:
    - CMS_RecipientInfo*
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: CMS_RecipientInfo_kari_get0_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, X509_ALGOR
      **palg, ASN1_OCTET_STRING **pukm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:322,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:324,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:327,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:334,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c:322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - kari
    - originatorPrivKey
    argTypes:
    - CMS_KeyAgreeRecipientInfo*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 336
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 336
    functionName: cms_kari_set_originator_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_kari.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - ossl_cms_ctx_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int cms_kari_set_originator_private_key(CMS_KeyAgreeRecipientInfo
      *kari, EVP_PKEY *originatorPrivKey ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:23,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:25,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:23,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:26,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:25,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - out
    - flags
    argTypes:
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: cms_get_text_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - BIO_s_null
    - BIO_new
    - BIO_s_mem
    - BIO_set_mem_eof_return
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *cms_get_text_bio(BIO *out, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_data_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - in
    - flags
    argTypes:
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: CMS_data_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_data_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_RecipientInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:793,1
    - Dst: CMS_RecipientInfo_kekri_id_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:801,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:796,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:795,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:794,1
    - Dst: CMS_RecipientInfo_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:803,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:804,1
    - Dst: CMS_RecipientInfo_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:805,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:809,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:812,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:817,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - cms
    - key
    - keylen
    - id
    - idlen
    argTypes:
    - CMS_ContentInfo*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 820
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 820
    functionName: CMS_decrypt_set1_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - CMS_get0_RecipientInfos
    - ERR_raise
    - sk_CMS_RecipientInfo_value
    - CMS_RecipientInfo_decrypt
    - CMS_RecipientInfo_type
    - sk_CMS_RecipientInfo_num
    - CMS_RecipientInfo_set0_key
    - CMS_RecipientInfo_kekri_id_cmp
    linkageType: ''
    returnType: int
    signature: 'int CMS_decrypt_set1_key(CMS_ContentInfo *cms, unsigned char *key,
      size_t keylen, const unsigned char *id, size_t idlen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cms_get_text_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:38,1
    - Dst: BIO_method_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:41,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:47,1
    - Dst: BIO_get_cipher_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:50,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:58,1
    - Dst: SMIME_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:63,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:64,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:72,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 3
    argNames:
    - out
    - in
    - flags
    argTypes:
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 75
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 75
    functionName: cms_copy_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - BIO_write
    - ERR_raise
    - BIO_free
    - BIO_method_type
    - BIO_read
    - cms_get_text_bio
    - SMIME_text
    - BIO_get_cipher_status
    linkageType: ''
    returnType: int
    signature: 'static int cms_copy_content(BIO *out, BIO *in, unsigned int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:146,1
    - Dst: CMS_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:146,1
    - Dst: check_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:151,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:147,1
    - Dst: cms_copy_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:158,1
    - Dst: ossl_cms_DigestedData_do_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:160,1
    - Dst: do_free_upto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - cms
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 163
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 163
    functionName: CMS_digest_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - cms_copy_content
    - ERR_raise
    - CMS_dataInit
    - do_free_upto
    - check_content
    - OBJ_obj2nid
    - ossl_cms_DigestedData_do_final
    - CMS_get0_type
    linkageType: ''
    returnType: int
    signature: 'int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out,
      unsigned int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_RecipientInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:825,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:828,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:837,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:838,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:832,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:839,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:844,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:845,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:846,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:852,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - cms
    - pass
    - passlen
    argTypes:
    - CMS_ContentInfo*
    - unsigned char*
    - ossl_ssize_t
    constantsTouched: []
    func_position:
      end: 855
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 855
    functionName: CMS_decrypt_set1_password
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_get0_RecipientInfos
    - ERR_raise
    - sk_CMS_RecipientInfo_value
    - CMS_RecipientInfo_set0_password
    - CMS_RecipientInfo_decrypt
    - sk_CMS_RecipientInfo_num
    - ossl_cms_get0_env_enc_content
    - CMS_RecipientInfo_type
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'int CMS_decrypt_set1_password(CMS_ContentInfo *cms, unsigned char
      *pass, ossl_ssize_t passlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:109,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:112,1
    - Dst: cms_copy_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:115,1
    - Dst: CMS_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:108,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - cms
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: CMS_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - cms_copy_content
    - BIO_free_all
    - ERR_raise
    - CMS_dataInit
    - OBJ_obj2nid
    - CMS_get0_type
    linkageType: ''
    returnType: int
    signature: 'int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:176,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:187,1
    - Dst: ossl_cms_DigestedData_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:177,1
    - Dst: CMS_set_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:182,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:184,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 5
    argNames:
    - in
    - md
    - flags
    - ctx
    - propq
    argTypes:
    - BIO*
    - EVP_MD*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 189
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 189
    functionName: CMS_digest_create_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - CMS_set_detached
    - EVP_sha1
    - ossl_cms_DigestedData_create
    - CMS_final
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_digest_create_ex(BIO *in, const EVP_MD *md, unsigned
      int flags, OSSL_LIB_CTX *ctx, const char *propq) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: check_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:317,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:330,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:336,1
    - Dst: CMS_set1_signers_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:343,1
    - Dst: CMS_get1_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:362,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:405,1
    - Dst: cms_get_text_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:422,1
    - Dst: SMIME_crlf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:434,1
    - Dst: cms_copy_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:448,1
    - Dst: CMS_SignerInfo_verify_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:455,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:485,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:482,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:444,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:481,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:453,1
    - Dst: do_free_upto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:470,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:309,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:328,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:358,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:366,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:380,1
    - Dst: ossl_cms_check_signing_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:387,1
    - Dst: BIO_method_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:400,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:404,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:407,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:439,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:467,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:307,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:308,1
    - Dst: CMS_get0_eContentType
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:320,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:322,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:331,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:335,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:342,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:345,1
    - Dst: CMS_get1_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:364,1
    - Dst: cms_signerinfo_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:368,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:379,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:427,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:484,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:315,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:356,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:346,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:337,1
    - Dst: CMS_SignerInfo_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:382,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:424,1
    - Dst: SMIME_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:438,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:454,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:472,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:476,1
    - Dst: do_free_upto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:465,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:456,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 165
    argCount: 6
    argNames:
    - cms
    - certs
    - store
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - STACK_OF(X509)*
    - X509_STORE*
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 488
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 488
    functionName: CMS_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - do_free_upto
    - BIO_free
    - sk_CMS_SignerInfo_value
    - CMS_SignerInfo_get0_algs
    - CMS_SignerInfo_verify
    - CMS_get1_certs
    - SMIME_text
    - BIO_get_mem_data
    - cms_get_text_bio
    - STACK_OF
    - BIO_free_all
    - sk_X509_CRL_pop_free
    - sk_X509_pop_free
    - ossl_cms_check_signing_certs
    - OPENSSL_free
    - OPENSSL_zalloc
    - SMIME_crlf_copy
    - BIO_new_mem_buf
    - cms_copy_content
    - check_content
    - OBJ_obj2nid
    - BIO_method_type
    - ossl_cms_get0_cmsctx
    - CMS_SignerInfo_verify_content
    - sk_CMS_SignerInfo_num
    - CMS_get1_crls
    - CMS_get0_eContentType
    - CMS_signed_get_attr_count
    - ERR_raise
    - CMS_dataInit
    - cms_signerinfo_verify_cert
    - CMS_get0_SignerInfos
    - CMS_set1_signers_certs
    linkageType: ''
    returnType: int
    signature: 'int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, X509_STORE
      *store, BIO *dcont, BIO *out, unsigned int flags) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:569,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:576,1
    - Dst: CMS_set1_eContentType
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:582,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:577,1
    - Dst: CMS_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:575,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:582,1
    - Dst: CMS_add1_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:585,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:587,1
    - Dst: ossl_cms_encode_Receipt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:591,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:596,1
    - Dst: ossl_cms_msgSigDigest_add1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:602,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:621,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:618,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:606,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:622,1
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:610,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 43
    argCount: 5
    argNames:
    - si
    - signcert
    - pkey
    - certs
    - flags
    argTypes:
    - CMS_SignerInfo*
    - X509*
    - EVP_PKEY*
    - STACK_OF(X509)*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 625
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 625
    functionName: CMS_sign_receipt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ossl_cms_msgSigDigest_add1
    - CMS_set1_eContentType
    - CMS_ContentInfo_free
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - CMS_get0_content
    - BIO_free
    - CMS_add1_signer
    - OBJ_nid2obj
    - ossl_cms_encode_Receipt
    - ASN1_OCTET_STRING_free
    - CMS_final
    - CMS_sign_ex
    - BIO_new_mem_buf
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, X509 *signcert,
      EVP_PKEY *pkey, STACK_OF(X509) *certs, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - certs
    - data
    - cipher
    - flags
    argTypes:
    - STACK_OF(X509)*
    - BIO*
    - EVP_CIPHER*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: CMS_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_encrypt_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *data, const
      EVP_CIPHER *cipher, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 968
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 968
    functionName: CMS_uncompress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned
      int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_Data_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:123,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:128,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - in
    - flags
    - libctx
    - propq
    argTypes:
    - BIO*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: CMS_data_create_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    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, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_digest_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - in
    - md
    - flags
    argTypes:
    - BIO*
    - EVP_MD*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: CMS_digest_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_digest_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, unsigned
      int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:497,1
    - Dst: ossl_cms_Receipt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - rcms
    - ocms
    - certs
    - store
    - flags
    argTypes:
    - CMS_ContentInfo*
    - CMS_ContentInfo*
    - STACK_OF(X509)*
    - X509_STORE*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: CMS_verify_receipt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_verify
    - ossl_cms_Receipt_verify
    linkageType: ''
    returnType: int
    signature: 'int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms,
      STACK_OF(X509) *certs, X509_STORE *store, unsigned int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:636,1
    - Dst: CMS_AuthEnvelopedData_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:637,1
    - Dst: CMS_EnvelopedData_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:638,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:642,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:641,1
    - Dst: CMS_add1_recipient_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:643,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:644,1
    - Dst: CMS_set_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:650,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:653,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:659,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:661,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 6
    argNames:
    - certs
    - data
    - cipher
    - flags
    - libctx
    - propq
    argTypes:
    - STACK_OF(X509)*
    - BIO*
    - EVP_CIPHER*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 663
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 663
    functionName: CMS_encrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - ERR_raise
    - CMS_AuthEnvelopedData_create_ex
    - CMS_EnvelopedData_create_ex
    - CMS_set_detached
    - EVP_CIPHER_get_flags
    - sk_X509_num
    - CMS_final
    - sk_X509_value
    - CMS_add1_recipient_cert
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_encrypt_ex(STACK_OF(X509) *certs, BIO *data,
      const EVP_CIPHER *cipher, unsigned int flags, OSSL_LIB_CTX *libctx, const char
      *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:676,1
    - Dst: sk_CMS_RecipientEncryptedKey_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:683,1
    - Dst: CMS_RecipientInfo_kari_get0_reks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:679,1
    - Dst: CMS_RecipientEncryptedKey_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:684,1
    - Dst: sk_CMS_RecipientEncryptedKey_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:680,1
    - Dst: CMS_RecipientInfo_kari_set0_pkey_and_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:686,1
    - Dst: CMS_RecipientInfo_kari_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:687,1
    - Dst: CMS_RecipientInfo_kari_set0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:688,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - cms
    - ri
    - pk
    - cert
    - peer
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    - EVP_PKEY*
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 694
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 694
    functionName: cms_kari_set1_pkey_and_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - sk_CMS_RecipientEncryptedKey_value
    - CMS_RecipientInfo_kari_get0_reks
    - sk_CMS_RecipientEncryptedKey_num
    - CMS_RecipientInfo_kari_set0_pkey
    - CMS_RecipientInfo_kari_decrypt
    - CMS_RecipientInfo_kari_set0_pkey_and_peer
    - CMS_RecipientEncryptedKey_cert_cmp
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int cms_kari_set1_pkey_and_peer(CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri, EVP_PKEY *pk, X509 *cert, X509 *peer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - in
    - comp_nid
    - flags
    argTypes:
    - BIO*
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 974
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 974
    functionName: CMS_compress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int
      flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:205,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:212,1
    - Dst: CMS_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:204,1
    - Dst: check_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:209,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:214,1
    - Dst: cms_copy_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:217,1
    - Dst: do_free_upto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 6
    argNames:
    - cms
    - key
    - keylen
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - unsigned char*
    - size_t
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: CMS_EncryptedData_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - cms_copy_content
    - ERR_raise
    - CMS_dataInit
    - do_free_upto
    - check_content
    - OBJ_obj2nid
    - CMS_EncryptedData_set1_key
    - CMS_get0_type
    linkageType: ''
    returnType: int
    signature: 'int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, const unsigned
      char *key, size_t keylen, BIO *dcont, BIO *out, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_EncryptedData_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - in
    - cipher
    - key
    - keylen
    - flags
    argTypes:
    - BIO*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: CMS_EncryptedData_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_EncryptedData_encrypt_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER
      *cipher, const unsigned char *key, size_t keylen, unsigned int flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:511,1
    - Dst: CMS_SignedData_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:512,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:516,1
    - Dst: CMS_add1_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:519,1
    - Dst: CMS_set1_eContentType
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:515,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:520,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:524,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:525,1
    - Dst: CMS_add1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:527,1
    - Dst: CMS_set_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:532,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:541,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:535,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:544,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 34
    argCount: 7
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    - libctx
    - propq
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF(X509)*
    - BIO*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 546
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 546
    functionName: CMS_sign_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_set1_eContentType
    - CMS_ContentInfo_free
    - ERR_raise
    - CMS_add1_cert
    - CMS_SignedData_init
    - CMS_set_detached
    - sk_X509_num
    - CMS_add1_signer
    - OBJ_nid2obj
    - CMS_ContentInfo_new_ex
    - CMS_final
    - sk_X509_value
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_sign_ex(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509)
      *certs, BIO *data, unsigned int flags, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:925,1
    - Dst: CMS_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:925,1
    - Dst: check_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:930,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:933,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:926,1
    - Dst: cms_copy_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:936,1
    - Dst: do_free_upto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:937,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - cms
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 939
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 939
    functionName: CMS_uncompress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - cms_copy_content
    - ERR_raise
    - CMS_dataInit
    - do_free_upto
    - check_content
    - OBJ_obj2nid
    - CMS_get0_type
    linkageType: ''
    returnType: int
    signature: 'int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned
      int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:231,1
    - Dst: CMS_set_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:241,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:244,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:234,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:237,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 7
    argNames:
    - in
    - cipher
    - key
    - keylen
    - flags
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: CMS_EncryptedData_encrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - ERR_raise
    - CMS_set_detached
    - CMS_EncryptedData_set1_key
    - CMS_ContentInfo_new_ex
    - CMS_final
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_EncryptedData_encrypt_ex(BIO *in, const EVP_CIPHER
      *cipher, const unsigned char *key, size_t keylen, unsigned int flags, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:273,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:270,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:271,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:276,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:278,1
    - Dst: X509_STORE_CTX_set_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:281,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:283,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:285,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:288,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:298,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:289,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:296,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:287,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 6
    argNames:
    - si
    - store
    - certs
    - crls
    - chain
    - cms_ctx
    argTypes:
    - CMS_SignerInfo*
    - X509_STORE*
    - STACK_OF(X509)*
    - STACK_OF(X509_CRL)*
    - STACK_OF(X509)**
    - CMS_CTX*
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: cms_signerinfo_verify_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - X509_STORE_CTX_set0_crls
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new_ex
    - X509_STORE_CTX_get1_chain
    - X509_verify_cert
    - X509_verify_cert_error_string
    - X509_STORE_CTX_free
    - CMS_SignerInfo_get0_algs
    - ERR_raise_data
    - X509_STORE_CTX_set_default
    - ossl_cms_ctx_get0_libctx
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: 'static int cms_signerinfo_verify_cert(CMS_SignerInfo *si, X509_STORE
      *store, STACK_OF(X509) *certs, STACK_OF(X509_CRL) *crls, STACK_OF(X509) **chain,
      const CMS_CTX *cms_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF(X509)*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: CMS_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - CMS_sign_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509)
      *certs, BIO *data, unsigned int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_CompressedData_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:947,1
    - Dst: CMS_set_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:952,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:954,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:957,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - in
    - comp_nid
    - flags
    argTypes:
    - BIO*
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 959
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 959
    functionName: CMS_compress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: check_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CMS_get0_content
    linkageType: ''
    returnType: int
    signature: 'static int check_content(CMS_ContentInfo *cms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_decrypt_set1_pkey_and_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - pk
    - cert
    argTypes:
    - CMS_ContentInfo*
    - EVP_PKEY*
    - X509*
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: CMS_decrypt_set1_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:863,1
    - Dst: CMS_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:863,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:867,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:872,1
    - Dst: check_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:870,1
    - Dst: CMS_decrypt_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:877,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:879,1
    - Dst: cms_copy_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:882,1
    - Dst: do_free_upto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:883,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 6
    argNames:
    - cms
    - pk
    - cert
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - EVP_PKEY*
    - X509*
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 885
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 885
    functionName: CMS_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - cms_copy_content
    - ERR_raise
    - CMS_dataInit
    - do_free_upto
    - check_content
    - OBJ_obj2nid
    - ossl_cms_get0_env_enc_content
    - CMS_decrypt_set1_pkey
    - CMS_get0_type
    linkageType: ''
    returnType: int
    signature: 'int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert, BIO
      *dcont, BIO *out, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:94,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:95,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - f
    - upto
    argTypes:
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: do_free_upto
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - BIO_pop
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'static void do_free_upto(BIO *f, BIO *upto) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:708,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:729,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:730,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:758,1
    - Dst: CMS_RecipientInfo_ktri_cert_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:742,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:704,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:722,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:712,1
    - Dst: ossl_cms_pkey_is_ri_type_supported
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:731,1
    - Dst: CMS_RecipientInfo_set0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:744,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:753,1
    - Dst: CMS_RecipientInfo_set0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:746,1
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:720,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:726,1
    - Dst: cms_kari_set1_pkey_and_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:735,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:745,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:780,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:743,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:775,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 4
    argNames:
    - cms
    - pk
    - cert
    - peer
    argTypes:
    - CMS_ContentInfo*
    - EVP_PKEY*
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 783
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 783
    functionName: CMS_decrypt_set1_pkey_and_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - CMS_get0_RecipientInfos
    - ERR_raise
    - sk_CMS_RecipientInfo_value
    - ossl_cms_pkey_is_ri_type_supported
    - CMS_RecipientInfo_decrypt
    - ossl_cms_pkey_get_ri_type
    - ossl_cms_get0_env_enc_content
    - sk_CMS_RecipientInfo_num
    - CMS_RecipientInfo_type
    - cms_kari_set1_pkey_and_peer
    - OPENSSL_clear_free
    - EVP_PKEY_up_ref
    - CMS_RecipientInfo_ktri_cert_cmp
    - CMS_RecipientInfo_set0_pkey
    linkageType: ''
    returnType: int
    signature: 'int CMS_decrypt_set1_pkey_and_peer(CMS_ContentInfo *cms, EVP_PKEY
      *pk, X509 *cert, X509 *peer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:892,1
    - Dst: SMIME_crlf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:897,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:901,1
    - Dst: CMS_dataFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:903,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:893,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:904,1
    - Dst: do_free_upto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c:911,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - cms
    - data
    - dcont
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 915
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 915
    functionName: CMS_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_smime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CMS_dataInit
    - do_free_upto
    - CMS_dataFinal
    - BIO_flush
    - SMIME_crlf_copy
    linkageType: ''
    returnType: int
    signature: 'int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, unsigned
      int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:22,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:31,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:22,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:29,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: rsa_oaep_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c
    functionUses: []
    functionsReached:
    - RSA_OAEP_PARAMS_free
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - ossl_x509_algor_mgf1_decode
    linkageType: ''
    returnType: RSA_OAEP_PARAMS*
    signature: 'static RSA_OAEP_PARAMS *rsa_oaep_decode(const X509_ALGOR *alg) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:127,1
    - Dst: EVP_PKEY_CTX_get_rsa_oaep_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:137,1
    - Dst: RSA_OAEP_PARAMS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:144,1
    - Dst: ossl_x509_algor_md_to_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:149,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:170,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:158,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:155,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:161,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:177,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:131,1
    - Dst: EVP_PKEY_CTX_get_rsa_mgf1_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:139,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:168,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:152,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:168,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:161,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:176,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:120,1
    - Dst: CMS_RecipientInfo_ktri_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:124,1
    - Dst: EVP_PKEY_CTX_get0_rsa_oaep_label
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:141,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:147,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:175,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:131,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:170,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 51
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 179
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 179
    functionName: rsa_cms_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c
    functionUses: []
    functionsReached:
    - ossl_x509_algor_new_from_md
    - ASN1_item_pack
    - EVP_PKEY_CTX_get0_rsa_oaep_label
    - ASN1_ITEM_rptr
    - CMS_RecipientInfo_ktri_get0_algs
    - RSA_OAEP_PARAMS_free
    - RSA_OAEP_PARAMS_new
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - EVP_PKEY_CTX_get_rsa_oaep_md
    - ASN1_STRING_free
    - EVP_PKEY_CTX_get_rsa_padding
    - ASN1_OCTET_STRING_set
    - X509_ALGOR_new
    - EVP_PKEY_CTX_get_rsa_mgf1_md
    - ossl_x509_algor_md_to_mgf1
    - ASN1_OCTET_STRING_new
    - X509_ALGOR_set0
    - CMS_RecipientInfo_get0_pkey_ctx
    linkageType: ''
    returnType: int
    signature: 'static int rsa_cms_encrypt(CMS_RecipientInfo *ri) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CMS_SignerInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:199,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:211,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:211,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:205,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:207,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:218,1
    - Dst: ossl_rsa_ctx_to_pss_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:222,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:225,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:225,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:228,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:230,1
    - Dst: d2i_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:236,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 239
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 239
    functionName: rsa_cms_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c
    functionUses: []
    functionsReached:
    - d2i_X509_ALGOR
    - ossl_rsa_ctx_to_pss_string
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - CMS_SignerInfo_get0_algs
    - CMS_SignerInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_get_rsa_padding
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_is_legacy
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int rsa_cms_sign(CMS_SignerInfo *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:183,1
    - Dst: rsa_cms_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:189,1
    - Dst: rsa_cms_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - CMS_RecipientInfo*
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: ossl_cms_rsa_envelope
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c
    functionUses: []
    functionsReached:
    - rsa_cms_decrypt
    - rsa_cms_encrypt
    - ERR_raise
    - assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_rsa_envelope(CMS_RecipientInfo *ri, int decrypt) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:49,1
    - Dst: rsa_oaep_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:62,1
    - Dst: CMS_RecipientInfo_ktri_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:58,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:65,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:69,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:72,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:102,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:109,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:84,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:94,1
    - Dst: EVP_PKEY_CTX_set_rsa_mgf1_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:98,1
    - Dst: EVP_PKEY_CTX_set_rsa_oaep_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:96,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 49
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    constantsTouched: []
    func_position:
      end: 111
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 111
    functionName: rsa_cms_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c
    functionUses: []
    functionsReached:
    - RSA_OAEP_PARAMS_free
    - ERR_raise
    - EVP_PKEY_CTX_set_rsa_padding
    - OBJ_obj2nid
    - OPENSSL_free
    - EVP_PKEY_CTX_set_rsa_mgf1_md
    - EVP_PKEY_CTX_set_rsa_oaep_md
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - ossl_x509_algor_get_md
    - rsa_oaep_decode
    - CMS_RecipientInfo_get0_pkey_ctx
    - CMS_RecipientInfo_ktri_get0_algs
    linkageType: ''
    returnType: int
    signature: 'static int rsa_cms_decrypt(CMS_RecipientInfo *ri) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMS_SignerInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:245,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:249,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:251,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:246,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:248,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:253,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:254,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    constantsTouched: []
    func_position:
      end: 265
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 265
    functionName: rsa_cms_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - EVP_PKEY_is_a
    - CMS_SignerInfo_get0_algs
    - CMS_SignerInfo_get0_pkey_ctx
    - ossl_rsa_pss_to_ctx
    - OBJ_find_sigid_algs
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'static int rsa_cms_verify(CMS_SignerInfo *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:277,1
    - Dst: rsa_cms_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:272,1
    - Dst: rsa_cms_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - CMS_SignerInfo*
    - int
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: ossl_cms_rsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_rsa.c
    functionUses: []
    functionsReached:
    - rsa_cms_sign
    - rsa_cms_verify
    - ERR_raise
    - assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cms_rsa_sign(CMS_SignerInfo *si, int verify) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:20,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:31,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:24,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - boundary
    - cms
    argTypes:
    - unsigned char***
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: CMS_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ERR_raise
    - CMS_get0_content
    linkageType: ''
    returnType: int
    signature: 'int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_bio_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:68,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - cms
    - in
    - flags
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: i2d_CMS_bio_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:38,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:42,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:40,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:40,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:41,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:44,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:45,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - bp
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo**
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: d2i_CMS_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ossl_cms_ctx_get0_propq
    - ossl_cms_get0_cmsctx
    - ERR_set_mark
    - ASN1_item_d2i_bio_ex
    - ossl_cms_resolve_libctx
    - ossl_cms_ctx_get0_libctx
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:82,1
    - Dst: SMIME_write_ASN1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:91,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:83,1
    - Dst: CMS_get0_eContentType
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:83,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:84,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:93,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:94,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cms
    - data
    - flags
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: SMIME_write_CMS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - OBJ_obj2nid
    - ossl_cms_get0_cmsctx
    - CMS_get0_eContentType
    - ossl_cms_ctx_get0_libctx
    - ASN1_ITEM_rptr
    - SMIME_write_ASN1_ex
    linkageType: ''
    returnType: int
    signature: 'int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_NDEF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:60,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - out
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: BIO_new_CMS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    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: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:53,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: i2d_CMS_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    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: PEM_write_bio_ASN1_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:75,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - cms
    - in
    - flags
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: PEM_write_bio_CMS_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - PEM_write_bio_ASN1_stream
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in,
      int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:102,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:108,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:107,1
    - Dst: SMIME_read_ASN1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:104,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:105,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:110,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:111,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - bio
    - flags
    - bcont
    - cms
    argTypes:
    - BIO*
    - int
    - BIO**
    - CMS_ContentInfo**
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: SMIME_read_CMS_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ossl_cms_ctx_get0_propq
    - ossl_cms_get0_cmsctx
    - ERR_set_mark
    - ossl_cms_resolve_libctx
    - SMIME_read_ASN1_ex
    - ossl_cms_ctx_get0_libctx
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *SMIME_read_CMS_ex(BIO *bio, int flags, BIO **bcont,
      CMS_ContentInfo **cms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_CMS_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - bcont
    argTypes:
    - BIO*
    - BIO**
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: SMIME_read_CMS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_io.c
    functionUses: []
    functionsReached:
    - SMIME_read_CMS_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:204,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:212,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:209,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:205,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:206,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: cms_ri_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c
    functionUses: []
    functionsReached:
    - X509_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(CMS_OtherRecipientInfo)
    signature: 'static_ASN1_SEQUENCE_END(CMS_OtherRecipientInfo) /* Free up RecipientInfo
      additional data */ static int cms_ri_cb(int operation, ASN1_VALUE **pval, const
      ASN1_ITEM *it, void *exarg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CMS_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:304,1
    - Dst: CMS_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:308,1
    - Dst: CMS_dataFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:315,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 10
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 321
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 321
    functionName: cms_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c
    functionUses: []
    functionsReached:
    - CMS_dataFinal
    - CMS_stream
    - CMS_dataInit
    linkageType: ''
    returnType: int
    signature: 'static int cms_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: typedef
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(CMS_Receipt)
    signature: 'ASN1_SEQUENCE_END(CMS_Receipt) /* * Utilities to encode the CMS_SharedInfo
      structure used during key * derivation. */ typedef struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:413,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - pder
    - kekalg
    - ukm
    - keylen
    argTypes:
    - unsigned char**
    - X509_ALGOR*
    - ASN1_OCTET_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 414
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 414
    functionName: CMS_SharedInfo_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(CMS_SharedInfo)
    signature: 'static_ASN1_SEQUENCE_END(CMS_SharedInfo) int CMS_SharedInfo_encode(unsigned
      char **pder, X509_ALGOR *kekalg, ASN1_OCTET_STRING *ukm, int keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:50,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:52,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: cms_si_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c
    functionUses: []
    functionsReached:
    - X509_free
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: static_ASN1_NDEF_SEQUENCE_END(CMS_EncapsulatedContentInfo)
    signature: 'static_ASN1_NDEF_SEQUENCE_END(CMS_EncapsulatedContentInfo) /* Minor
      tweak to operation: free up signer key, cert */ static int cms_si_cb(int operation,
      ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:151,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:154,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:158,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: cms_kari_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_flags
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: static_ASN1_CHOICE_END(CMS_OriginatorIdentifierOrKey)
    signature: 'static_ASN1_CHOICE_END(CMS_OriginatorIdentifierOrKey) static int cms_kari_cb(int
      operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: cms_rek_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cms/cms_asn1.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: static_ASN1_CHOICE_END(CMS_KeyAgreeRecipientIdentifier)
    signature: 'static_ASN1_CHOICE_END(CMS_KeyAgreeRecipientIdentifier) static int
      cms_rek_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:124,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:126,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:128,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - md
    - len
    argTypes:
    - HMAC_CTX*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: HMAC_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - EVP_DigestUpdate
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:146,1
    - Dst: HMAC_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:149,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: HMAC_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_reset
    - HMAC_CTX_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: HMAC_CTX*
    signature: 'HMAC_CTX *HMAC_CTX_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_ctx_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:168,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:172,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:170,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:169,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: HMAC_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - OPENSSL_free
    - hmac_ctx_cleanup
    linkageType: ''
    returnType: void
    signature: 'void HMAC_CTX_free(HMAC_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_ctx_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:195,1
    - Dst: hmac_ctx_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:197,1
    - Dst: hmac_ctx_alloc_mds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: HMAC_CTX_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - hmac_ctx_alloc_mds
    - hmac_ctx_cleanup
    linkageType: ''
    returnType: int
    signature: 'int HMAC_CTX_reset(HMAC_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:225,1
    - Dst: EVP_Q_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:230,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    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*
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: HMAC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - EVP_Q_mac
    - EVP_MD_get0_name
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
      const unsigned char *data, size_t data_len, unsigned char *md, unsigned int
      *md_len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:48,1
    - Dst: EVP_MD_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:54,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:60,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:61,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:55,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:62,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:68,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:72,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:77,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:78,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:84,1
    - Dst: EVP_MD_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:86,1
    - Dst: EVP_MD_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:79,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:89,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:94,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:95,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:85,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 5
    argNames:
    - ctx
    - key
    - len
    - md
    - impl
    argTypes:
    - HMAC_CTX*
    - void*
    - int
    - EVP_MD*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 98
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 98
    functionName: HMAC_Init_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ossl_assert
    - EVP_MD_get_block_size
    - memcpy
    - memset
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_copy_ex
    - EVP_MD_get_flags
    linkageType: ''
    returnType: int
    signature: 'int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, const EVP_MD
      *md, ENGINE *impl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: HMAC_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t HMAC_size(const HMAC_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - HMAC_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: HMAC_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: 'int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:159,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:160,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: hmac_ctx_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: void
    signature: 'static void hmac_ctx_cleanup(HMAC_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:179,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:183,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: hmac_ctx_alloc_mds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int hmac_ctx_alloc_mds(HMAC_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hmac_ctx_alloc_mds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:205,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:211,1
    - Dst: hmac_ctx_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:216,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:209,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: HMAC_CTX_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - hmac_ctx_alloc_mds
    - hmac_ctx_cleanup
    linkageType: ''
    returnType: int
    signature: 'int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:241,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:243,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - HMAC_CTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: HMAC_CTX_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: HMAC_CTX_get_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:104,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - key
    - len
    - md
    argTypes:
    - HMAC_CTX*
    - void*
    - int
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: HMAC_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/hmac/hmac.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_reset
    - HMAC_Init_ex
    linkageType: ''
    returnType: int
    signature: 'int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD
      *md) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:35,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:32,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:40,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:43,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:56,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:71,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:102,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:108,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:101,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:31,1
    - Dst: BN_lsw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:116,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:62,1
    - Dst: BN_lsw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:121,1
    - Dst: BN_lsw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:121,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:134,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:55,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:69,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:110,1
    - Dst: BN_lsw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:79,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:34,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:36,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:62,1
    - Dst: BN_lsw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:121,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c:125,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 139
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 139
    functionName: BN_kronecker
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_kron.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_is_zero
    - bn_check_top
    - BN_copy
    - BN_lsw
    - BN_is_one
    - BN_is_bit_set
    - BN_rshift
    - BN_CTX_start
    - BN_abs_is_word
    - BN_nnmod
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: 'int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:31,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:32,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:33,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:34,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:35,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:54,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:67,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:58,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:81,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:142,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:188,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:29,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:52,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:66,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:97,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:100,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:140,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:168,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:28,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:36,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:37,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:38,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:49,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:51,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:166,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:172,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:65,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:43,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:96,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:161,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:169,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:186,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:187,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 5
    argNames:
    - in
    - a
    - n
    - ctx
    - pnoinv
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - int*
    constantsTouched: []
    func_position:
      end: 190
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 190
    functionName: bn_mod_inverse_no_branch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_div
    - BN_zero
    - BN_CTX_start
    - BN_with_flags
    - BN_add
    - BN_CTX_end
    - BN_copy
    - BN_is_one
    - BN_one
    - BN_ucmp
    - bn_check_top
    - bn_init
    - BN_CTX_get
    - BN_new
    - BN_mul
    - BN_free
    - BN_sub
    - BN_nnmod
    linkageType: ''
    returnType: ossl_inline*
    signature: 'static ossl_inline BIGNUM *bn_mod_inverse_no_branch(BIGNUM *in, const
      BIGNUM *a, const BIGNUM *n, BN_CTX *ctx, int *pnoinv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:522,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:524,1
    - Dst: int_bn_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:529,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:531,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:532,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - in
    - a
    - n
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 534
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 534
    functionName: BN_mod_inverse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c
    functionUses: []
    functionsReached:
    - int_bn_mod_inverse
    - ERR_raise
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_mod_inverse(BIGNUM *in, const BIGNUM *a, const BIGNUM *n,
      BN_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:562,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:599,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:578,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:592,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:644,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:568,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:558,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:577,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:607,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:598,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:593,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:619,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:623,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:629,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:563,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:569,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:572,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:600,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:608,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:625,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:557,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:571,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:573,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:604,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:636,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:637,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:643,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 114
    argCount: 4
    argNames:
    - r
    - in_a
    - in_b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 646
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 646
    functionName: BN_gcd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_check_top
    - BN_is_zero
    - BN_copy
    - BN_lshift1
    - BN_consttime_swap
    - BN_num_bits
    - BN_rshift1
    - bn_wexpand
    - BN_rshift
    - BN_CTX_start
    - BN_add
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: 'int BN_gcd(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX
      *ctx) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: bn_mod_inverse_no_branch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:214,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:212,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:232,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:241,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:268,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:282,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:286,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:312,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:332,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:340,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:371,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:385,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:387,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:466,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:455,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:377,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:371,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:448,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:451,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:205,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:217,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:238,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:240,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:259,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:285,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:304,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:308,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:316,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:334,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:396,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:406,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:401,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:497,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:508,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:493,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:367,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:463,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:509,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:259,1
    - Dst: BN_mul_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:460,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:486,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:205,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:218,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:221,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:296,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:307,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:344,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:356,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:369,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:373,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:379,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:383,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:454,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:452,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:447,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:507,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:213,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:220,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:222,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:224,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:223,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:227,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:226,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:225,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:243,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:246,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:366,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:389,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:247,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:491,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:458,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:494,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:292,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:375,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:366,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c:349,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 201
    argCount: 5
    argNames:
    - in
    - a
    - n
    - ctx
    - pnoinv
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - int*
    constantsTouched: []
    func_position:
      end: 511
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 511
    functionName: int_bn_mod_inverse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gcd.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_div
    - BN_is_bit_set
    - BN_zero
    - BN_is_word
    - BN_CTX_start
    - BN_abs_is_word
    - BN_set_word
    - BN_is_odd
    - BN_add
    - BN_uadd
    - BN_lshift
    - BN_mul_word
    - BN_CTX_end
    - BN_copy
    - BN_is_one
    - BN_rshift1
    - BN_one
    - BN_ucmp
    - bn_check_top
    - BN_lshift1
    - BN_num_bits
    - BN_rshift
    - bn_mod_inverse_no_branch
    - BN_CTX_get
    - BN_get_flags
    - BN_new
    - BN_mul
    - BN_free
    - BN_sub
    - BN_nnmod
    - BN_usub
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *int_bn_mod_inverse(BIGNUM *in, const BIGNUM *a, const BIGNUM
      *n, BN_CTX *ctx, int *pnoinv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul4x_mont_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ppc.c:26,1
    - Dst: bn_mul_mont_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ppc.c:36,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 6
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 37
    functionName: bn_mul_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ppc.c
    functionUses: []
    functionsReached:
    - bn_mul4x_mont_int
    - bn_mul_mont_int
    linkageType: ''
    returnType: int
    signature: 'int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,
      const BN_ULONG *np, const BN_ULONG *n0, int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_err.c:51,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_err.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ossl_err_load_BN_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_err.c
    functionUses: []
    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_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:84,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:90,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:107,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:123,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:130,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:155,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:169,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:176,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:143,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:233,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:137,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:144,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:168,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:202,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:243,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:201,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:161,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:106,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:113,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:133,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:228,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:175,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:188,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:154,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:194,1
    - Dst: rsaz_1024_norm2red_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:80,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:115,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:160,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:121,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:198,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:177,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:191,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:147,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:141,1
    - Dst: rsaz_1024_norm2red_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:81,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:126,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:190,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:236,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:164,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:132,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:151,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:92,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:112,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:120,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:124,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:183,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:224,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:197,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:182,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:109,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:116,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:129,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:136,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:88,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:97,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:127,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:199,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:158,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:172,1
    - Dst: bn_reduce_once_in_place
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:240,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:157,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:171,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:96,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:101,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:110,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:119,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:186,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:205,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:211,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:217,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:165,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:204,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:102,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:140,1
    - Dst: rsaz_1024_red2norm_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:238,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:85,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:150,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:193,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:152,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:223,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:180,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:242,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:93,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:179,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:232,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:187,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:166,1
    - Dst: rsaz_1024_norm2red_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:82,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:138,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 140
    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
    constantsTouched: []
    func_position:
      end: 244
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 244
    functionName: RSAZ_1024_mod_exp_avx2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c
    functionUses: []
    functionsReached:
    - rsaz_1024_norm2red_avx2
    - rsaz_1024_sqr_avx2
    - rsaz_1024_red2norm_avx2
    - OPENSSL_cleanse
    - rsaz_1024_scatter5_avx2
    - rsaz_1024_mul_avx2
    - bn_reduce_once_in_place
    - rsaz_1024_gather5_avx2
    linkageType: ''
    returnType: void
    signature: 'void RSAZ_1024_mod_exp_avx2(BN_ULONG result_norm[16], const BN_ULONG
      base_norm[16], const BN_ULONG exponent[16], const BN_ULONG m_norm[16], const
      BN_ULONG RR[16], BN_ULONG k0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsaz_512_scatter4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:283,1
    - Dst: rsaz_512_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:290,1
    - Dst: rsaz_512_scatter4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:291,1
    - Dst: rsaz_512_scatter4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:287,1
    - Dst: rsaz_512_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:286,1
    - Dst: rsaz_512_mul_scatter4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:294,1
    - Dst: rsaz_512_gather4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:299,1
    - Dst: rsaz_512_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:300,1
    - Dst: rsaz_512_mul_gather4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:301,1
    - Dst: rsaz_512_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:306,1
    - Dst: rsaz_512_mul_by_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:314,1
    - Dst: rsaz_512_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:309,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:318,1
    - Dst: rsaz_512_mul_gather4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:310,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:319,1
    - Dst: bn_reduce_once_in_place
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:316,1
    - Dst: rsaz_512_mul_gather4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 6
    argNames:
    - result
    - base
    - exponent
    - m
    - k0
    - RR
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 320
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 320
    functionName: RSAZ_512_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.c
    functionUses: []
    functionsReached:
    - rsaz_512_sqr
    - rsaz_512_mul_by_one
    - OPENSSL_cleanse
    - rsaz_512_scatter4
    - rsaz_512_mul_scatter4
    - rsaz_512_mul
    - bn_reduce_once_in_place
    - rsaz_512_mul_gather4
    - rsaz_512_gather4
    linkageType: ''
    returnType: void
    signature: 'void RSAZ_512_mod_exp(BN_ULONG result[8], const BN_ULONG base[8],
      const BN_ULONG exponent[8], const BN_ULONG m[8], BN_ULONG k0, const BN_ULONG
      RR[8]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - m
    - d1
    - d0
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: bn_div_3_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: 'static 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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - num
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: bn_left_align
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c
    functionUses: []
    functionsReached:
    - BN_num_bits_word
    linkageType: ''
    returnType: int
    signature: 'static int bn_left_align(BIGNUM *num) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:272,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:276,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:288,1
    - Dst: bn_left_align
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:290,1
    - Dst: bn_lshift_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:299,1
    - Dst: bn_div_3_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:345,1
    - Dst: bn_div_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:361,1
    - Dst: HBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:401,1
    - Dst: mul64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:402,1
    - Dst: bn_mul_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:421,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:277,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:281,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:282,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:283,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:307,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:326,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:335,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:309,1
    - Dst: bn_div_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:385,1
    - Dst: BN_UMULT_LOHI
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:391,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:437,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:428,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:274,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:279,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:280,1
    - Dst: LBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:398,1
    - Dst: HBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:399,1
    - Dst: LBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:400,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:452,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:275,1
    - Dst: BN_UMULT_HIGH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:394,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:439,1
    - Dst: bn_rshift_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:449,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:455,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:456,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 157
    argCount: 5
    argNames:
    - dv
    - rm
    - num
    - divisor
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 458
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 458
    functionName: bn_div_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c
    functionUses: []
    functionsReached:
    - bn_div_words
    - bn_add_words
    - bn_rshift_fixed_top
    - BN_CTX_start
    - BN_UMULT_LOHI
    - BN_UMULT_HIGH
    - BN_CTX_end
    - bn_div_3_words
    - BN_copy
    - mul64
    - LBITS
    - bn_lshift_fixed_top
    - bn_left_align
    - bn_check_top
    - BN_CTX_get
    - HBITS
    - bn_sub_words
    - assert
    - bn_mul_words
    - bn_wexpand
    - memset
    linkageType: ''
    returnType: int
    signature: 'int bn_div_fixed_top(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const
      BIGNUM *divisor, BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:213,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:214,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:232,1
    - Dst: bn_div_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:224,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - dv
    - rm
    - num
    - divisor
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 238
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 238
    functionName: BN_div
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - bn_correct_top
    - ERR_raise
    - bn_div_fixed_top
    linkageType: ''
    returnType: int
    signature: 'int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM
      *divisor, BN_CTX *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:26,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:41,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:49,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:50,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:68,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:76,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:79,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:23,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:25,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:60,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:65,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:83,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:30,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:24,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:32,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:36,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:53,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:45,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:51,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:70,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:72,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:40,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:43,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c:61,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 64
    argCount: 5
    argNames:
    - dv
    - rem
    - m
    - d
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 85
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 85
    functionName: BN_div
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_div.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_ucmp
    - BN_CTX_end
    - bn_check_top
    - BN_is_zero
    - BN_copy
    - BN_num_bits
    - BN_lshift1
    - BN_rshift1
    - bn_wexpand
    - BN_zero
    - BN_CTX_start
    - BN_usub
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: 'int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM
      *d, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:110,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:116,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:113,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:140,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 147
    functionName: bn_lshift_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:49,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:59,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:50,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:53,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:52,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: BN_rshift1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - bn_check_top
    - BN_is_zero
    - BN_zero
    linkageType: ''
    returnType: int
    signature: 'int BN_rshift1(BIGNUM *r, const BIGNUM *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:182,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:197,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 215
    functionName: bn_rshift_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - BN_zero
    - assert
    linkageType: ''
    returnType: int
    signature: 'int bn_rshift_fixed_top(BIGNUM *r, const BIGNUM *a, int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:18,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:19,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:40,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:27,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:23,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 42
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 42
    functionName: BN_lshift1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: 'int BN_lshift1(BIGNUM *r, const BIGNUM *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:85,1
    - Dst: bn_lshift_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:89,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:91,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: BN_lshift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - ERR_raise
    - bn_correct_top
    - bn_lshift_fixed_top
    linkageType: ''
    returnType: int
    signature: 'int BN_lshift(BIGNUM *r, const BIGNUM *a, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:154,1
    - Dst: bn_rshift_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:161,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:163,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:158,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:159,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 167
    functionName: BN_rshift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_shift.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - ERR_raise
    - bn_correct_top
    - bn_rshift_fixed_top
    linkageType: ''
    returnType: int
    signature: 'int BN_rshift(BIGNUM *r, const BIGNUM *a, int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:709,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 720
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 720
    functionName: BN_set_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: 'int BN_set_bit(BIGNUM *a, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_expand2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - words
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 1062
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1062
    functionName: bn_wexpand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_expand2
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *bn_wexpand(BIGNUM *a, int words) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 84
    argCount: 1
    argNames:
    - l
    argTypes:
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 142
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 142
    functionName: BN_num_bits_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_num_bits_word(BN_ULONG l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: BN_value_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *BN_value_one(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:726,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: BN_clear_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: 'int BN_clear_bit(BIGNUM *a, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1076,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1077,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1082,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1084
    functionName: bn_correct_top_consttime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - constant_time_select_int
    - constant_time_msb
    - constant_time_eq_int
    linkageType: ''
    returnType: void
    signature: 'void bn_correct_top_consttime(BIGNUM *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_pollute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1103
    functionName: bn_correct_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_pollute
    linkageType: ''
    returnType: void
    signature: 'void bn_correct_top(BIGNUM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: BN_is_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_is_zero(const BIGNUM *a) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 4
    argNames:
    - mult
    - high
    - low
    - mont
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: BN_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BN_set_params(int mult, int high, int low, int mont) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:216,1
    - Dst: bn_free_d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:217,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:219,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:220,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: BN_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_free_d
    - OPENSSL_free
    - OPENSSL_cleanse
    - BN_get_flags
    linkageType: ''
    returnType: void
    signature: 'void BN_clear_free(BIGNUM *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:401,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: BN_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'void BN_clear(BIGNUM *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_wcheck_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:859,1
    - Dst: bn_wcheck_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - condition
    - a
    - b
    - nwords
    argTypes:
    - BN_ULONG
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 906
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 906
    functionName: BN_consttime_swap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_wcheck_size
    linkageType: ''
    returnType: void
    signature: 'void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int
      nwords) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: BN_is_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_abs_is_word
    linkageType: ''
    returnType: int
    signature: 'int BN_is_one(const BIGNUM *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 1022
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1022
    functionName: BN_GENCB_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void BN_GENCB_free(BN_GENCB *cb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:228,1
    - Dst: bn_free_d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: BN_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_free_d
    - OPENSSL_free
    - BN_get_flags
    linkageType: ''
    returnType: void
    signature: 'void BN_free(BIGNUM *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:270,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:278,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:273,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:274,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:282,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:286,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - b
    - words
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 291
    functionName: bn_expand_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - assert
    - BN_get_flags
    - memcpy
    - OPENSSL_zalloc
    - OPENSSL_secure_zalloc
    linkageType: ''
    returnType: BN_ULONG*
    signature: 'static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:370,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:371,1
    - Dst: FLAGS_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:391,1
    - Dst: FLAGS_STRUCT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:392,1
    - Dst: FLAGS_STRUCT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:391,1
    - Dst: FLAGS_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:392,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:393,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 395
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 395
    functionName: BN_swap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - FLAGS_DATA
    - FLAGS_STRUCT
    linkageType: ''
    returnType: void
    signature: 'void BN_swap(BIGNUM *a, BIGNUM *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: BN_get_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG BN_get_word(const BIGNUM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: BN_is_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_abs_is_word
    linkageType: ''
    returnType: int
    signature: 'int BN_is_word(const BIGNUM *a, const BN_ULONG w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: BN_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BN_set_flags(BIGNUM *b, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: BN_secure_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_new
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_secure_new(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 933
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 933
    functionName: BN_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_security_bits(int L, int N) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:180,1
    - Dst: bn_num_bits_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:192,1
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:198,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: BN_num_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_num_bits_consttime
    - bn_check_top
    - BN_is_zero
    - BN_num_bits_word
    linkageType: ''
    returnType: int
    signature: 'int BN_num_bits(const BIGNUM *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_expand_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:304,1
    - Dst: bn_free_d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - b
    - words
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: bn_expand2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_free_d
    - bn_expand_internal
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *bn_expand2(BIGNUM *b, int words) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:339,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:354,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:345,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:341,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: BN_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - bn_check_top
    - memcpy
    - BN_get_flags
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:421,1
    - Dst: bn_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:422,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 430
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 430
    functionName: BN_set_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_expand
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: 'int BN_set_word(BIGNUM *a, BN_ULONG w) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:551,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:567,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:566,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:586,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:554,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 588
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 588
    functionName: BN_lebin2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - BN_new
    - bn_correct_top
    - bn_wexpand
    - BN_free
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_lebin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:602,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: BN_native2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_lebin2bn
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:623,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:628,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:630,1
    - Dst: constant_time_lt_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:630,1
    - Dst: constant_time_lt_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:628,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:636,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:637,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 650
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 650
    functionName: BN_ucmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - constant_time_select_int
    - constant_time_lt_bn
    - BN_get_flags
    linkageType: ''
    returnType: int
    signature: 'int BN_ucmp(const BIGNUM *a, const BIGNUM *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_cmp_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:841,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - a
    - b
    - cl
    - dl
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 842
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 842
    functionName: bn_cmp_part_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - which
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: BN_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_get_params(int which) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:203,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:208,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:206,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - clear
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: bn_free_d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    - BN_get_flags
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void bn_free_d(BIGNUM *a, int clear) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:322,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:327,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:324,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:324,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:324,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:328,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: BN_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_get_flags
    - bn_check_top
    - BN_secure_new
    - BN_copy
    - BN_new
    - BN_free
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_dup(const BIGNUM *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:440,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:455,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:443,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:473,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 475
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 475
    functionName: BN_bin2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - BN_new
    - bn_correct_top
    - bn_wexpand
    - BN_free
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: BN_bn2lebinpad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: 'int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:611,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: BN_bn2nativepad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_bn2lebinpad
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: 'int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:667,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:668,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 697
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 697
    functionName: BN_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: 'int BN_cmp(const BIGNUM *a, const BIGNUM *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 940
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 940
    functionName: BN_zero_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BN_zero_ex(BIGNUM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:157,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:172,1
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:163,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 175
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 175
    functionName: bn_num_bits_consttime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - constant_time_eq_int
    - BN_num_bits_word
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int bn_num_bits_consttime(const BIGNUM *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 813
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 813
    functionName: bn_cmp_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:970,1
    - Dst: constant_time_eq_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:970,1
    - Dst: constant_time_is_zero_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:973,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 976
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 976
    functionName: ossl_bn_is_word_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - constant_time_eq_bn
    - constant_time_select_int
    - constant_time_is_zero_bn
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_is_word_fixed_top(const BIGNUM *a, BN_ULONG w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - dest
    - b
    - flags
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 1003
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1003
    functionName: BN_with_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: bn_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    linkageType: ''
    returnType: void
    signature: 'void bn_init(BIGNUM *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: BN_bn2binpad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: 'int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 752
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 752
    functionName: BN_is_bit_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: 'int BN_is_bit_set(const BIGNUM *a, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:779,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:782,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 784
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 784
    functionName: BN_mask_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - bn_correct_top
    - ossl_bn_mask_bits_fixed_top
    linkageType: ''
    returnType: int
    signature: 'int BN_mask_bits(BIGNUM *a, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: BN_is_negative
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_is_negative(const BIGNUM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - gencb
    - (*callback)
    - cb_arg
    argTypes:
    - BN_GENCB*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: BN_GENCB_set_old
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BN_GENCB_set_old(BN_GENCB *gencb, void (*callback) (int, int,
      void *), void *cb_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - gencb
    - (*callback)
    - cb_arg
    argTypes:
    - BN_GENCB*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1052
    functionName: BN_GENCB_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BN_GENCB_set(BN_GENCB *gencb, int (*callback) (int, int, BN_GENCB
      *), void *cb_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:246,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:251,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: BN_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - to
    argTypes:
    - BIGNUM*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: BN_bn2bin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: 'int BN_bn2bin(const BIGNUM *a, unsigned char *to) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 773
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 773
    functionName: ossl_bn_mask_bits_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_mask_bits_fixed_top(BIGNUM *a, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 792
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 792
    functionName: BN_set_negative
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: void
    signature: 'void BN_set_negative(BIGNUM *a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 992
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 992
    functionName: BN_to_montgomery
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - BN_mod_mul_montgomery
    linkageType: ''
    returnType: int
    signature: 'int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
      BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1009,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1015
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1015
    functionName: BN_GENCB_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: BN_GENCB*
    signature: 'BN_GENCB *BN_GENCB_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - cb
    argTypes:
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1057
    functionName: BN_GENCB_get_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *BN_GENCB_get_arg(BN_GENCB *cb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:492,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:498,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:508,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c:499,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - a
    - to
    - tolen
    - endianess
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    - endianess_t
    constantsTouched: []
    func_position:
      end: 529
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 529
    functionName: bn2binpad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached:
    - bn_correct_top
    - BN_num_bytes
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int bn2binpad(const BIGNUM *a, unsigned char *to, int tolen,
      endianess_t endianess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: BN_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_get_flags(const BIGNUM *b, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: BN_abs_is_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: BN_is_odd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_is_odd(const BIGNUM *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:20,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:24,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - r
    - m
    - d
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: BN_nnmod
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_mod
    linkageType: ''
    returnType: int
    signature: 'int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:60,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:98,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:88,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:66,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:64,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 101
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 101
    functionName: bn_mod_add_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - ERR_raise
    - OPENSSL_free
    - bn_wexpand
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b, const BIGNUM *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:117,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - r
    - a
    - b
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: BN_mod_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - BN_sub
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *m, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:194,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:198,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: BN_mod_sub_quick
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - BN_sub
    - ERR_raise
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
      const BIGNUM *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:237,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - r
    - a
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: BN_mod_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - BN_sqr
    - BN_mod
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:257,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:260,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:259,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: BN_mod_lshift1_quick
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - BN_lshift1
    - BN_sub
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:35,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - r
    - a
    - b
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: BN_mod_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - BN_nnmod
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *m, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mod_add_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:106,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: BN_mod_add_quick
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    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,
      const BIGNUM *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:245,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:248,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - r
    - a
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: BN_mod_lshift1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - BN_lshift1
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX
      *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:271,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:282,1
    - Dst: BN_mod_lshift_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:281,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:275,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - r
    - a
    - n
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 286
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 286
    functionName: BN_mod_lshift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - BN_mod_lshift_quick
    - bn_check_top
    - BN_dup
    - BN_free
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM
      *m, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 184
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 184
    functionName: bn_mod_sub_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    linkageType: ''
    returnType: int
    signature: 'int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b, const BIGNUM *m) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:212,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:214,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:213,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:216,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:217,1
    - Dst: BN_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:220,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:223,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:226,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:228,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:231,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 5
    argNames:
    - r
    - a
    - b
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 233
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 233
    functionName: BN_mod_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_check_top
    - BN_nnmod
    - BN_mul
    - BN_CTX_start
    - BN_sqr
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *m, BN_CTX *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:295,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:307,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:303,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:315,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:303,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:319,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:326,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:327,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c:331,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - r
    - a
    - n
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 334
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 334
    functionName: BN_mod_lshift_quick
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mod.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_lshift1
    - BN_copy
    - bn_check_top
    - BN_num_bits
    - BN_sub
    - BN_lshift
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM
      *m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:84,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:88,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:87,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:86,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:85,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - BN_BLINDING*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: BN_BLINDING_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void BN_BLINDING_free(BN_BLINDING *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_convert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: BN_BLINDING_convert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - BN_BLINDING_convert_ex
    linkageType: ''
    returnType: int
    signature: 'int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_invert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - n
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: BN_BLINDING_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - BN_BLINDING_invert_ex
    linkageType: ''
    returnType: int
    signature: 'int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_compare_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:205,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: BN_BLINDING_is_current_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    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_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: BN_BLINDING_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int BN_BLINDING_lock(BN_BLINDING *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: BN_BLINDING_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long BN_BLINDING_get_flags(const BN_BLINDING *b) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:33,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:42,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:36,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:43,1
    - Dst: BN_BLINDING_set_current_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:47,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:50,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:55,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:60,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:63,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:64,1
    - Dst: BN_BLINDING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:76,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - A
    - Ai
    - mod
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 78
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 78
    functionName: BN_BLINDING_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_get_flags
    - bn_check_top
    - OPENSSL_free
    - BN_BLINDING_set_current_thread
    - OPENSSL_zalloc
    - BN_dup
    - BN_set_flags
    - BN_BLINDING_free
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: BN_BLINDING*
    signature: 'BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM
      *mod) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:140,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:150,1
    - Dst: BN_BLINDING_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:147,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:154,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:156,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - n
    - r
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: BN_BLINDING_convert_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_mod_mul_montgomery
    - bn_check_top
    - BN_copy
    - BN_mod_mul
    - BN_BLINDING_update
    linkageType: ''
    returnType: int
    signature: 'int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX
      *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:97,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:112,1
    - Dst: BN_BLINDING_create_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:107,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:115,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:111,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:116,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 2
    argNames:
    - b
    - ctx
    argTypes:
    - BN_BLINDING*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: BN_BLINDING_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - BN_BLINDING_create_param
    - BN_mod_mul
    - ERR_raise
    - bn_mul_mont_fixed_top
    linkageType: ''
    returnType: int
    signature: 'int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:171,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:174,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:196,1
    - Dst: bn_correct_top_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:194,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 4
    argNames:
    - n
    - r
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 201
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 201
    functionName: BN_BLINDING_invert_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - bn_correct_top_consttime
    - ERR_raise
    - bn_mul_mont_fixed_top
    - bn_check_top
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: 'int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING
      *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: BN_BLINDING_set_current_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    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_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: BN_BLINDING_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int BN_BLINDING_unlock(BN_BLINDING *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BN_BLINDING*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: BN_BLINDING_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:247,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:254,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:256,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:261,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:260,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:273,1
    - Dst: int_bn_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:275,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:285,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:294,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:300,1
    - Dst: BN_BLINDING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:307,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c:299,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 54
    argCount: 6
    argNames:
    - b
    - e
    - m
    - ctx
    - (*bn_mod_exp)
    - m_ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - int
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 312
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 312
    functionName: BN_BLINDING_create_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_blind.c
    functionUses: []
    functionsReached:
    - int_bn_mod_inverse
    - ERR_raise
    - BN_priv_rand_range_ex
    - BN_new
    - BN_free
    - BN_dup
    - BN_mod_exp
    - BN_BLINDING_free
    - bn_to_mont_fixed_top
    - BN_BLINDING_new
    linkageType: ''
    returnType: BN_BLINDING*
    signature: 'BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, const BIGNUM
      *e, BIGNUM *m, BN_CTX *ctx, int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const
      BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx), BN_MONT_CTX *m_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: BN_get0_nist_prime_192
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *BN_get0_nist_prime_192(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: BN_get0_nist_prime_256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *BN_get0_nist_prime_256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - top
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: nist_cp_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void nist_cp_bn(BN_ULONG *dst, const BN_ULONG *src, int top) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: load_u32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t load_u32(const void *ptr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:364,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:372,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:374,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:398,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:404,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:401,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:421,1
    - Dst: nist_set_192
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:443,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:371,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:365,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:371,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:382,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:385,1
    - Dst: nist_cp_bn_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:389,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:417,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:414,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:451,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:462,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:376,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:379,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:410,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:407,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:424,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:427,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:430,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:433,1
    - Dst: nist_set_192
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:441,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:442,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:444,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:446,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:465,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:467,1
    - Dst: nist_set_192
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:445,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 119
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 470
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 470
    functionName: BN_nist_mod_192
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - store_lo32
    - BN_ucmp
    - nist_set_192
    - bn_add_words
    - BN_copy
    - load_u32
    - bn_correct_top
    - bn_wexpand
    - BN_is_negative
    - BN_zero
    - OSSL_NELEM
    - nist_cp_bn_0
    - nist_cp_bn
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
      BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: BN_get0_nist_prime_384
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *BN_get0_nist_prime_384(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: BN_get0_nist_prime_224
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *BN_get0_nist_prime_224(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - val
    argTypes:
    - void*
    - NIST_INT64
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: store_lo32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void store_lo32(void *ptr, NIST_INT64 val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:509,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:516,1
    - Dst: nist_cp_bn_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:535,1
    - Dst: nist_set_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:531,1
    - Dst: nist_set_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:600,1
    - Dst: nist_set_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:602,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:629,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:508,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:511,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:513,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:519,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:601,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:603,1
    - Dst: nist_cp_bn_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:528,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:615,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:639,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:641,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:502,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:508,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:522,1
    - Dst: nist_set_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:598,1
    - Dst: nist_set_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:604,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:501,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:599,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:605,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 143
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 644
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 644
    functionName: BN_nist_mod_224
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - BN_ucmp
    - bn_add_words
    - BN_copy
    - nist_set_224
    - bn_correct_top
    - bn_wexpand
    - BN_is_negative
    - BN_zero
    - OSSL_NELEM
    - nist_cp_bn_0
    - nist_cp_bn
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
      BN_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:688,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:714,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:717,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:707,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:759,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:782,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:806,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:825,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:826,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:830,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:874,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:673,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:681,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:683,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:694,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:733,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:745,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:736,1
    - Dst: nist_cp_bn_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:698,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:748,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:767,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:851,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:779,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:863,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:836,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:770,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:680,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:674,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:680,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:727,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:724,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:756,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:802,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:821,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:841,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:845,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:846,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:872,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:807,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:840,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:831,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:850,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:685,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:691,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:791,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:859,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:835,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 233
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 877
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 877
    functionName: BN_nist_mod_256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - store_lo32
    - BN_ucmp
    - nist_set_256
    - bn_add_words
    - BN_copy
    - load_u32
    - bn_correct_top
    - bn_wexpand
    - BN_is_negative
    - BN_zero
    - OSSL_NELEM
    - nist_cp_bn_0
    - nist_cp_bn
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
      BN_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:922,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:928,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:958,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:961,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1014,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1017,1
    - Dst: nist_set_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1066,1
    - Dst: nist_set_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1101,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1102,1
    - Dst: nist_set_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1106,1
    - Dst: nist_set_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1111,1
    - Dst: nist_set_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1117,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1055,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1107,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1123,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:925,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:977,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:944,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:980,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:991,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:994,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1003,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1006,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1031,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1034,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1131,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1042,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1144,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:910,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:918,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:920,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:931,1
    - Dst: nist_cp_bn_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:935,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:966,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:969,1
    - Dst: nist_set_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1089,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1091,1
    - Dst: nist_set_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1095,1
    - Dst: nist_set_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1122,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1135,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1113,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1118,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:917,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:911,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:917,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:952,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:949,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1023,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1026,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1039,1
    - Dst: store_lo32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1047,1
    - Dst: load_u32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1050,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1097,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1146,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1085,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1080,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 279
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1149
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 1149
    functionName: BN_nist_mod_384
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - store_lo32
    - BN_ucmp
    - nist_set_256
    - nist_set_384
    - bn_add_words
    - BN_copy
    - load_u32
    - bn_correct_top
    - bn_wexpand
    - BN_is_negative
    - BN_zero
    - OSSL_NELEM
    - nist_cp_bn_0
    - nist_cp_bn
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
      BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1162,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1169,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1163,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1170,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1169,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1172,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1174,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1177,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1180,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1183,1
    - Dst: nist_cp_bn_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1188,1
    - Dst: nist_cp_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1216,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1218,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1212,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1211,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1221
    functionName: BN_nist_mod_521
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - BN_ucmp
    - bn_add_words
    - BN_copy
    - bn_correct_top
    - bn_wexpand
    - BN_is_negative
    - BN_zero
    - OSSL_NELEM
    - nist_cp_bn_0
    - nist_cp_bn
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
      BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1225,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1233,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1227,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1229,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c:1231,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1236
    functionName: (*BN_nist_mod_func(const BIGNUM *p))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached:
    - BN_ucmp
    linkageType: ''
    returnType: int
    signature: 'int (*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM
      *a, const BIGNUM *field, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: BN_get0_nist_prime_521
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_nist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *BN_get0_nist_prime_521(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.h:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - r
    - mask
    - a
    - b
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG*
    - BN_ULONG*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: bn_select_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.h
    functionUses: []
    functionsReached:
    - constant_time_select_64
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void bn_select_words(BN_ULONG *r, BN_ULONG mask,
      const BN_ULONG *a, const BN_ULONG *b, size_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.h:72,1
    - Dst: bn_select_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - r
    - carry
    - m
    - tmp
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG*
    - BN_ULONG*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: bn_reduce_once_in_place
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp.h
    functionUses: []
    functionsReached:
    - bn_sub_words
    - bn_select_words
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline BN_ULONG bn_reduce_once_in_place(BN_ULONG *r, BN_ULONG
      carry, const BN_ULONG *m, BN_ULONG *tmp, size_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_expand2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_local.h:673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - a
    - bits
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: bn_expand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_local.h
    functionUses: []
    functionsReached:
    - bn_expand2
    linkageType: ''
    returnType: ossl_inline*
    signature: 'static ossl_inline BIGNUM *bn_expand(BIGNUM *a, int bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:17,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:22,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:24,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:27,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:18,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:30,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:33,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:39,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 41
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 41
    functionName: BN_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c
    functionUses: []
    functionsReached:
    - BN_ucmp
    - bn_check_top
    - BN_zero
    - BN_usub
    - BN_uadd
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:48,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:49,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:58,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:55,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:53,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:61,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:64,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: BN_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c
    functionUses: []
    functionsReached:
    - BN_ucmp
    - bn_check_top
    - BN_zero
    - BN_usub
    - BN_uadd
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:130,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:138,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:149,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:131,1
    - Dst: bn_pollute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 169
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 169
    functionName: BN_usub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - ERR_raise
    - bn_check_top
    - bn_wexpand
    - bn_pollute
    linkageType: ''
    returnType: int
    signature: 'int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:81,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:82,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:119,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:95,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 121
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 121
    functionName: BN_uadd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_add.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:30,1
    - Dst: BN_div_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:34,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:35,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 58
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 58
    functionName: BN_mod_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - BN_free
    - BN_dup
    - BN_div_word
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:102,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:114,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:115,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:109,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:110,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:124,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 131
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 131
    functionName: BN_add_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c
    functionUses: []
    functionsReached:
    - BN_sub_word
    - bn_check_top
    - BN_is_zero
    - bn_wexpand
    - BN_set_word
    linkageType: ''
    returnType: int
    signature: 'int BN_add_word(BIGNUM *a, BN_ULONG w) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:65,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:93,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:77,1
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:75,1
    - Dst: bn_div_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: BN_div_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - bn_div_words
    - BN_num_bits_word
    - BN_lshift
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:184,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:188,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:198,1
    - Dst: bn_mul_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:190,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: BN_mul_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - bn_check_top
    - BN_zero
    - bn_mul_words
    linkageType: ''
    returnType: int
    signature: 'int BN_mul_word(BIGNUM *a, BN_ULONG w) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:137,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:147,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:145,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:153,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:144,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c:176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 178
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 178
    functionName: BN_sub_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_word.c
    functionUses: []
    functionsReached:
    - BN_add_word
    - bn_check_top
    - BN_is_zero
    - BN_set_negative
    - BN_set_word
    linkageType: ''
    returnType: int
    signature: 'int BN_sub_word(BIGNUM *a, BN_ULONG w) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:27,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:44,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:42,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:32,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:50,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:62,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:88,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:92,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:97,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 72
    argCount: 7
    argNames:
    - flag
    - rnd
    - bits
    - top
    - bottom
    - strength
    - ctx
    argTypes:
    - BNRAND_FLAG
    - BIGNUM*
    - int
    - int
    - int
    - unsigned int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 99
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 99
    functionName: bnrand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - bn_check_top
    - RAND_priv_bytes_ex
    - BN_zero
    - BN_bin2bn
    - OPENSSL_clear_free
    - ossl_bn_get_libctx
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int bnrand(BNRAND_FLAG flag, BIGNUM *rnd, int bits, int top,
      int bottom, unsigned int strength, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: BN_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: BN_priv_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: 'int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: BN_rand_range_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - bnrand_range
    linkageType: ''
    returnType: int
    signature: 'int BN_rand_range_ex(BIGNUM *r, const BIGNUM *range, unsigned int
      strength, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - range
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: BN_rand_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: BN_priv_rand_range_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - bnrand_range
    linkageType: ''
    returnType: int
    signature: 'int BN_priv_rand_range_ex(BIGNUM *r, const BIGNUM *range, unsigned
      int strength, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - range
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: BN_priv_rand_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: BN_pseudo_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - BN_rand
    linkageType: ''
    returnType: int
    signature: 'int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: BN_bntest_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - rnd
    - bits
    - top
    - bottom
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    - unsigned int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: BN_rand_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: 'int BN_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, unsigned
      int strength, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - rnd
    - bits
    - top
    - bottom
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    - unsigned int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: BN_priv_rand_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: 'int BN_priv_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, unsigned
      int strength, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_rand_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - range
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: BN_pseudo_rand_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - BN_rand_range
    linkageType: ''
    returnType: int
    signature: 'int BN_pseudo_rand_range(BIGNUM *r, const BIGNUM *range) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_gen_dsa_nonce_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:404,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 6
    argNames:
    - out
    - range
    - priv
    - message
    - message_len
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: BN_generate_dsa_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    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, const
      BIGNUM *priv, const unsigned char *message, size_t message_len, BN_CTX *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:139,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:148,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:144,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:143,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:154,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:154,1
    - Dst: bnrand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:160,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:170,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:171,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:173,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:193,1
    - Dst: bnrand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:188,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:184,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:179,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:197,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 5
    argNames:
    - flag
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BNRAND_FLAG
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 202
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 202
    functionName: bnrand_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_is_zero
    - bn_check_top
    - bnrand
    - BN_num_bits
    - BN_is_bit_set
    - BN_zero
    - BN_sub
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int bnrand_range(BNRAND_FLAG flag, BIGNUM *r, const BIGNUM
      *range, unsigned int strength, BN_CTX *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:300,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:328,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:347,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:353,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:364,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:374,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:392,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:393,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:334,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:358,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:373,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:356,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:374,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:391,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:321,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:338,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:340,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:351,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:369,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:380,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:386,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:389,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:394,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:309,1
    - Dst: ossl_bn_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:316,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:355,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:352,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:376,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:390,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 6
    argNames:
    - out
    - range
    - priv
    - message
    - message_len
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 396
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 396
    functionName: ossl_bn_gen_dsa_nonce_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - EVP_DigestInit_ex
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - BN_bn2binpad
    - BN_bin2bn
    - EVP_MD_free
    - BN_ucmp
    - memcpy
    - BN_num_bits
    - OPENSSL_cleanse
    - EVP_MD_fetch
    - ERR_raise
    - ossl_bn_mask_bits_fixed_top
    - EVP_MD_CTX_free
    - RAND_priv_bytes_ex
    - bn_correct_top
    - EVP_DigestFinal_ex
    - BN_set_flags
    - ossl_bn_get_libctx
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_gen_dsa_nonce_fixed_top(BIGNUM *out, const BIGNUM *range,
      const BIGNUM *priv, const unsigned char *message, size_t message_len, BN_CTX
      *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:254,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:253,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:263,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:258,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:265,1
    - Dst: bnrand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:267,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:272,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:275,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:277,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c:280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 285
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 285
    functionName: ossl_bn_priv_rand_range_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rand.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_ucmp
    - ossl_bn_mask_bits_fixed_top
    - BN_is_zero
    - bnrand
    - BN_num_bits
    - bn_correct_top
    - BN_zero
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_priv_rand_range_fixed_top(BIGNUM *r, const BIGNUM *range,
      unsigned int strength, BN_CTX *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:42,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:32,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:54,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:58,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:65,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:112,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:123,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:136,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:129,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 3
    argNames:
    - scalar
    - w
    - ret_len
    argTypes:
    - BIGNUM*
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 138
    functionName: bn_compute_wNAF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_is_zero
    - OPENSSL_free
    - BN_num_bits
    - BN_is_bit_set
    - BN_is_negative
    - OPENSSL_malloc
    linkageType: ''
    returnType: signed char*
    signature: 'signed char *bn_compute_wNAF(const BIGNUM *scalar, int w, size_t *ret_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: bn_set_all_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bn_set_all_zero(BIGNUM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: bn_get_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bn_get_top(const BIGNUM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: bn_get_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG*
    signature: 'BN_ULONG *bn_get_words(const BIGNUM *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:163,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - out
    - in
    - size
    argTypes:
    - BN_ULONG*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: bn_copy_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'int bn_copy_words(BN_ULONG *out, const BIGNUM *in, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: bn_get_dmax
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bn_get_dmax(const BIGNUM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - a
    - words
    - size
    argTypes:
    - BIGNUM*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: bn_set_static_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:189,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:190,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:194,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - a
    - words
    - num_words
    argTypes:
    - BIGNUM*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: bn_set_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_intern.c
    functionUses: []
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:56,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:60,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:61,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:54,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:62,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:66,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:68,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:70,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:71,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:74,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:92,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:91,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:82,1
    - Dst: BN_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:79,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:81,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:86,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 46
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 94
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 94
    functionName: BN_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_get_flags
    - bn_check_top
    - BN_copy
    - BN_num_bits
    - BN_is_bit_set
    - BN_mul
    - BN_CTX_start
    - BN_sqr
    - BN_is_odd
    - 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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:101,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:141,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:144,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:103,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:102,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:145,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:146,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:148,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:151,1
    - Dst: BN_mod_exp_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:156,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:160,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 166
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 166
    functionName: BN_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont_word
    - BN_mod_exp_mont
    - BN_get_flags
    - bn_check_top
    - BN_mod_exp_recp
    - BN_mod_exp_simple
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const
      BIGNUM *m, BN_CTX *ctx) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:322,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:333,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:351,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:353,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:345,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:371,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:411,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:434,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:484,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:364,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:376,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:386,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:411,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:483,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:477,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:451,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:401,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:482,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:324,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:327,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:332,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:335,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:338,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:350,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:343,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:352,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:379,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:385,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:473,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:326,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:323,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:334,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:366,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:341,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:370,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:381,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:414,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:416,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:446,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 159
    argCount: 6
    argNames:
    - rr
    - a
    - p
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 486
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 486
    functionName: BN_mod_exp_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - BN_from_montgomery
    - BN_is_bit_set
    - BN_zero
    - BN_CTX_start
    - BN_abs_is_word
    - BN_is_odd
    - bn_to_mont_fixed_top
    - BN_CTX_end
    - BN_mod_mul_montgomery
    - BN_mod_exp_mont_consttime
    - BN_one
    - BN_ucmp
    - bn_check_top
    - BN_num_bits
    - BN_CTX_get
    - ERR_raise
    - bn_mul_mont_fixed_top
    - BN_get_flags
    - BN_MONT_CTX_free
    - BN_value_one
    - BN_MONT_CTX_set
    - bn_wexpand
    - BN_MONT_CTX_new
    - BN_nnmod
    - BN_window_bits_for_exponent_size
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp_mont(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
      const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - b
    - top
    - buf
    - idx
    - window
    argTypes:
    - BIGNUM*
    - int
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 530
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 530
    functionName: MOD_EXP_CTIME_COPY_TO_PREBUF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int MOD_EXP_CTIME_COPY_TO_PREBUF(const BIGNUM *b, int top,
      unsigned char *buf, int idx, int window) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: bn_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:884,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:998,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1155,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:992,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:650,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:666,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:672,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:668,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:704,1
    - Dst: bn_mul_mont_vis3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:859,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1153,1
    - Dst: bn_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1016,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:970,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:626,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:871,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:973,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1000,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1027,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1029,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1056,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1129,1
    - Dst: RSAZ_1024_mod_exp_avx2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:691,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:673,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:990,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:993,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:979,1
    - Dst: bn_mul_mont_gather5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:989,1
    - Dst: bn_get_bits5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1036,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:749,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:675,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:971,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:860,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1075,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1106,1
    - Dst: bn_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1156,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:629,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:695,1
    - Dst: bn_mul_mont_gather5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1003,1
    - Dst: bn_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:895,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1068,1
    - Dst: bn_mul_mont_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:907,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:625,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:744,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:774,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:774,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:855,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1144,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:778,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:999,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:919,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:972,1
    - Dst: bn_power5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1035,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1077,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1158,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1004,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:657,1
    - Dst: rsaz_avx2_eligible
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:688,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:699,1
    - Dst: bn_gather5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1017,1
    - Dst: bn_get_bits5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1031,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1070,1
    - Dst: bn_mul_mont_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:908,1
    - Dst: bn_mul_mont_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:906,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:638,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:856,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1026,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1028,1
    - Dst: bn_gather5_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:885,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:698,1
    - Dst: BN_window_bits_for_ctime_exponent_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:711,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:984,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1058,1
    - Dst: MOD_EXP_CTIME_COPY_FROM_PREBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1124,1
    - Dst: MOD_EXP_CTIME_ALIGN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:748,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:867,1
    - Dst: bn_flip_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:873,1
    - Dst: bn_mul_mont_gather5_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:911,1
    - Dst: bn_flip_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:915,1
    - Dst: bn_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1092,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:627,1
    - Dst: bn_mul_mont_gather5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:997,1
    - Dst: bn_mul_mont_gather5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1030,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:630,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:648,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:689,1
    - Dst: bn_mul_mont_vis3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:866,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:920,1
    - Dst: bn_mul_mont_gather5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:978,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1148,1
    - Dst: bn_mul_mont_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:909,1
    - Dst: bn_scatter5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:985,1
    - Dst: bn_mul_mont_t4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:910,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:652,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:687,1
    - Dst: RSAZ_512_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:701,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:740,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1025,1
    - Dst: MOD_EXP_CTIME_COPY_FROM_PREBUF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1093,1
    CyclomaticComplexity: 223
    EdgeCount: 223
    ICount: 387
    argCount: 6
    argNames:
    - rr
    - a
    - p
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 1160
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 1160
    functionName: BN_mod_exp_mont_consttime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    - BN_window_bits_for_ctime_exponent_size
    - BN_from_montgomery
    - MOD_EXP_CTIME_COPY_FROM_PREBUF
    - BN_zero
    - RSAZ_1024_mod_exp_avx2
    - BN_CTX_start
    - BN_abs_is_word
    - bn_mul_mont_gather5
    - BN_is_odd
    - OPENSSL_malloc
    - bn_to_mont_fixed_top
    - bn_mul_mont_t4
    - bn_mul_mont_gather5_t4
    - BN_CTX_end
    - BN_mod_mul_montgomery
    - OPENSSL_free
    - bn_mul_mont
    - rsaz_avx2_eligible
    - RSAZ_512_mod_exp
    - bn_flip_t4
    - bn_get_bits
    - bn_mul_mont_vis3
    - BN_one
    - BN_ucmp
    - bn_check_top
    - BN_num_bits
    - bn_gather5_t4
    - OPENSSL_cleanse
    - bn_gather5
    - bn_scatter5
    - bn_power5
    - BN_CTX_get
    - ERR_raise
    - bn_mul_mont_fixed_top
    - BN_MONT_CTX_free
    - MOD_EXP_CTIME_COPY_TO_PREBUF
    - BN_value_one
    - bn_correct_top
    - BN_MONT_CTX_set
    - bn_flip_n_scatter5_t4
    - bn_wexpand
    - BN_MONT_CTX_new
    - bn_get_bits5
    - alloca
    - MOD_EXP_CTIME_ALIGN
    - BN_nnmod
    - memset
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM
      *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1321,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1328,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1339,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1364,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1352,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1346,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1345,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1438,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1350,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1358,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1360,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1380,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1437,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1332,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1337,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1344,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1378,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1420,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1425,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1319,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1323,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1320,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1335,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1353,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1365,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1385,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1389,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1391,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1408,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 112
    argCount: 5
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1440
    functionName: BN_mod_exp_simple
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_get_flags
    - BN_is_zero
    - BN_copy
    - bn_check_top
    - BN_num_bits
    - BN_is_bit_set
    - BN_zero
    - BN_mod_mul
    - BN_CTX_start
    - BN_abs_is_word
    - BN_nnmod
    - BN_one
    - BN_window_bits_for_exponent_size
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
      const BIGNUM *m, BN_CTX *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsaz_avx512ifma_eligible
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1461,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1462,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1467,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1465,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1463,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1474,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1476,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1482,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1484,1
    - Dst: ossl_rsaz_mod_exp_avx512_x2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1488,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1496,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1509,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1511,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1497,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1501,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1516,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1518,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1502,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 57
    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*
    constantsTouched: []
    func_position:
      end: 1522
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1522
    functionName: BN_mod_exp_mont_consttime_x2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - ossl_rsaz_mod_exp_avx512_x2
    - BN_MONT_CTX_free
    - bn_check_top
    - BN_num_bits
    - bn_correct_top
    - BN_MONT_CTX_set
    - bn_wexpand
    - BN_MONT_CTX_new
    - BN_mod_exp_mont_consttime
    - ossl_rsaz_avx512ifma_eligible
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp_mont_consttime_x2(BIGNUM *rr1, const BIGNUM *a1, const
      BIGNUM *p1, const BIGNUM *m1, BN_MONT_CTX *in_mont1, BIGNUM *rr2, const BIGNUM
      *a2, const BIGNUM *p2, const BIGNUM *m2, BN_MONT_CTX *in_mont2, BN_CTX *ctx) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:202,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:246,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:307,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:180,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:200,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:221,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:208,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:226,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:228,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:253,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:257,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:276,1
    - Dst: BN_RECP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:306,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:182,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:193,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:218,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:220,1
    - Dst: BN_RECP_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:211,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:288,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:293,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:305,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:178,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:186,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:179,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:189,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:191,1
    - Dst: BN_RECP_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:198,1
    - Dst: BN_RECP_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:214,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:201,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:232,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:233,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:259,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:248,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 120
    argCount: 5
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 309
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 309
    functionName: BN_mod_exp_recp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_is_bit_set
    - BN_zero
    - BN_RECP_CTX_set
    - BN_CTX_start
    - BN_abs_is_word
    - BN_RECP_CTX_init
    - BN_CTX_end
    - BN_copy
    - BN_one
    - bn_check_top
    - BN_num_bits
    - BN_CTX_get
    - ERR_raise
    - BN_RECP_CTX_free
    - BN_get_flags
    - BN_mod_mul_reciprocal
    - BN_nnmod
    - BN_window_bits_for_exponent_size
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const
      BIGNUM *m, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - a
    - bitpos
    argTypes:
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 505
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 505
    functionName: bn_get_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: 'static BN_ULONG bn_get_bits(const BIGNUM *a, int bitpos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:548,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:557,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:571,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:569,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:570,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:572,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 5
    argNames:
    - b
    - top
    - buf
    - idx
    - window
    argTypes:
    - BIGNUM*
    - int
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 592
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 592
    functionName: MOD_EXP_CTIME_COPY_FROM_PREBUF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - constant_time_eq_int
    linkageType: ''
    returnType: int
    signature: 'static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, unsigned
      char *buf, int idx, int window) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1196,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1212,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1248,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1233,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1217,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1268,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1297,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1305,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1205,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1208,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1210,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1259,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1288,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1303,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1304,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1174,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1189,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1191,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1195,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1199,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1223,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1224,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1222,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1264,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1198,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1231,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1252,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1272,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1294,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c:1284,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 110
    argCount: 6
    argNames:
    - rr
    - a
    - p
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BN_ULONG
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1307
    functionName: BN_mod_exp_mont_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp.c
    functionUses: []
    functionsReached:
    - BN_TO_MONTGOMERY_WORD
    - BN_from_montgomery
    - BN_is_bit_set
    - BN_zero
    - BN_CTX_start
    - BN_abs_is_word
    - BN_MOD_MUL_WORD
    - BN_is_odd
    - BN_CTX_end
    - BN_mod_mul_montgomery
    - BN_one
    - bn_check_top
    - BN_num_bits
    - BN_mod
    - BN_CTX_get
    - ERR_raise
    - BN_get_flags
    - BN_MONT_CTX_free
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp_mont_word(BIGNUM *rr, BN_ULONG a, const BIGNUM *p,
      const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:28,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:41,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:35,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:31,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 7
    argNames:
    - ret
    - bits
    - safe
    - add
    - rem
    - (*callback)
    - cb_arg
    argTypes:
    - BIGNUM*
    - int
    - int
    - BIGNUM*
    - BIGNUM*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: BN_generate_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_GENCB_set_old
    - BN_new
    - BN_generate_prime_ex
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, const BIGNUM
      *add, const BIGNUM *rem, void (*callback) (int, int, void *), void *cb_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:60,1
    - Dst: ossl_bn_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - a
    - checks
    - (*callback)
    - ctx_passed
    - cb_arg
    - do_trial_division
    argTypes:
    - BIGNUM*
    - int
    - void
    - BN_CTX*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: BN_is_prime_fasttest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c
    functionUses: []
    functionsReached:
    - ossl_bn_check_prime
    - BN_GENCB_set_old
    linkageType: ''
    returnType: int
    signature: 'int BN_is_prime_fasttest(const BIGNUM *a, int checks, void (*callback)
      (int, int, void *), BN_CTX *ctx_passed, void *cb_arg, int do_trial_division) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:50,1
    - Dst: ossl_bn_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - a
    - checks
    - (*callback)
    - ctx_passed
    - cb_arg
    argTypes:
    - BIGNUM*
    - int
    - void
    - BN_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: BN_is_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_depr.c
    functionUses: []
    functionsReached:
    - ossl_bn_check_prime
    - BN_GENCB_set_old
    linkageType: ''
    returnType: int
    signature: 'int BN_is_prime(const BIGNUM *a, int checks, void (*callback) (int,
      int, void *), BN_CTX *ctx_passed, void *cb_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:21,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:25,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:23,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:24,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: BN_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c
    functionUses: []
    functionsReached:
    - BN_print
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int BN_print_fp(FILE *fp, const BIGNUM *a) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:35,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:37,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:37,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:44,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: BN_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:63,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: BN_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_print.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: char*
    signature: 'char *BN_options(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:121,1
    - Dst: BN_STACK_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:127,1
    - Dst: BN_POOL_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: BN_CTX_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_STACK_init
    - ERR_raise
    - BN_POOL_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_secure_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: BN_CTX_secure_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_CTX_secure_new_ex
    linkageType: ''
    returnType: BN_CTX*
    signature: 'BN_CTX *BN_CTX_secure_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - BN_POOL*
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: BN_POOL_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void BN_POOL_init(BN_POOL *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - BN_STACK*
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: BN_STACK_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void BN_STACK_init(BN_STACK *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p
    - num
    argTypes:
    - BN_POOL*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 369
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 369
    functionName: BN_POOL_release
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - bn_check_top
    linkageType: ''
    returnType: void
    signature: 'static void BN_POOL_release(BN_POOL *p, unsigned int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:87,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:88,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:90,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:97,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:95,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:100,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:101,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - channel
    - text
    - ctx
    argTypes:
    - BIO*
    - char*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 106
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 106
    functionName: ctxdbg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: 'static void ctxdbg(BIO *channel, const char *text, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: BN_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BN_CTX*
    signature: 'BN_CTX *BN_CTX_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:162,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:165,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: (BN_CTX)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (BN_CTX) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: BN_CTX_secure_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BN_CTX*
    signature: 'BN_CTX *BN_CTX_secure_new_ex(OSSL_LIB_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:162,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:165,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:172,1
    - Dst: BN_STACK_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:175,1
    - Dst: BN_POOL_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:176,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 178
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 178
    functionName: BN_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BN_POOL_finish
    - OPENSSL_free
    - BN_STACK_finish
    - OSSL_TRACE_END
    linkageType: ''
    returnType: void
    signature: 'void BN_CTX_free(BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:307,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - BN_POOL*
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: BN_POOL_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void BN_POOL_finish(BN_POOL *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTXDBG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:182,1
    - Dst: CTXDBG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:188,1
    - Dst: BN_STACK_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: BN_CTX_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_STACK_push
    - CTXDBG
    linkageType: ''
    returnType: void
    signature: 'void BN_CTX_start(BN_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:324,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:329,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:331,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - p
    - flag
    argTypes:
    - BN_POOL*
    - int
    constantsTouched: []
    func_position:
      end: 354
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 354
    functionName: BN_POOL_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_set_flags
    - ERR_raise
    - bn_init
    - OPENSSL_malloc
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *BN_POOL_get(BN_POOL *p, int flag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTXDBG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:198,1
    - Dst: BN_POOL_release
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:205,1
    - Dst: BN_STACK_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:202,1
    - Dst: CTXDBG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: BN_CTX_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_STACK_pop
    - BN_POOL_release
    - CTXDBG
    linkageType: ''
    returnType: void
    signature: 'void BN_CTX_end(BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - st
    argTypes:
    - BN_STACK*
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: BN_STACK_pop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int BN_STACK_pop(BN_STACK *st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - BN_STACK*
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: BN_STACK_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void BN_STACK_finish(BN_STACK *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: ossl_bn_get_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_bn_get_libctx(BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTXDBG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:217,1
    - Dst: BN_POOL_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:220,1
    - Dst: CTXDBG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:234,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:230,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: BN_CTX_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - BN_zero
    - BN_POOL_get
    - ERR_raise
    - CTXDBG
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_CTX_get(BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:271,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:276,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - st
    - idx
    argTypes:
    - BN_STACK*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 282
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 282
    functionName: BN_STACK_push
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - memcpy
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int BN_STACK_push(BN_STACK *st, unsigned int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:22,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:26,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:23,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:24,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: BN_bn2hex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: char*
    signature: 'char *BN_bn2hex(const BIGNUM *a) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:140,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:152,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:156,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:157,1
    - Dst: bn_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:164,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:175,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:188,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:191,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:198,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - bn
    - a
    argTypes:
    - BIGNUM**
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 200
    functionName: BN_hex2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c
    functionUses: []
    functionsReached:
    - bn_expand
    - OPENSSL_hexchar2int
    - ERR_raise
    - BN_get_flags
    - ossl_isxdigit
    - bn_check_top
    - BN_new
    - bn_correct_top
    - BN_zero
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'int BN_hex2bn(BIGNUM **bn, const char *a) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:66,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:76,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:73,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:71,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:81,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:85,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:88,1
    - Dst: BN_div_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:91,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:102,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:108,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:116,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:117,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:120,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 122
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 122
    functionName: BN_bn2dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_div_word
    - BN_is_zero
    - OPENSSL_free
    - BN_num_bits
    - BIO_snprintf
    - BN_is_negative
    - BN_dup
    - BN_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *BN_bn2dec(const BIGNUM *a) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:216,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:231,1
    - Dst: BN_mul_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:251,1
    - Dst: bn_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:239,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:235,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:252,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:259,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:261,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:268,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 2
    argNames:
    - bn
    - a
    argTypes:
    - BIGNUM**
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 270
    functionName: BN_dec2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c
    functionUses: []
    functionsReached:
    - bn_expand
    - BN_mul_word
    - BN_add_word
    - bn_check_top
    - BN_new
    - bn_correct_top
    - BN_zero
    - BN_free
    - ossl_isdigit
    linkageType: ''
    returnType: int
    signature: 'int BN_dec2bn(BIGNUM **bn, const char *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:280,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c:283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - bn
    - a
    argTypes:
    - BIGNUM**
    - char*
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: BN_asc2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_conv.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - BN_dec2bn
    linkageType: ''
    returnType: int
    signature: 'int BN_asc2bn(BIGNUM **bn, const char *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:293,1
    - Dst: DAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:307,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:336,1
    - Dst: DAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:402,1
    - Dst: DAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:404,1
    - Dst: ossl_extract_multiplier_2x20_win5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:350,1
    - Dst: ossl_extract_multiplier_2x20_win5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:395,1
    - Dst: ossl_extract_multiplier_2x20_win5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:376,1
    - Dst: DAMM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:408,1
    - Dst: DAMM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:425,1
    - Dst: DAMM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:304,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:314,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:429,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:292,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:294,1
    - Dst: DAMM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:303,1
    - Dst: DAMM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:308,1
    - Dst: DAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:405,1
    - Dst: DAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:406,1
    - Dst: DAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:403,1
    - Dst: ossl_extract_multiplier_2x20_win5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:348,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:422,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:312,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 89
    argCount: 6
    argNames:
    - out
    - /* [2][20] */
    - base
    - /* [2][20] */
    - exp
    - /* 2x16    */
    - m
    - /* [2][20] */
    - rr
    - /* [2][20] */
    - k0
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 438
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 438
    functionName: RSAZ_exp52x20_x2_256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - memcpy
    - memset
    - OPENSSL_cleanse
    - ossl_extract_multiplier_2x20_win5
    - DAMM
    - DAMS
    linkageType: ''
    returnType: void
    signature: 'static void RSAZ_exp52x20_x2_256(BN_ULONG *out, /* [2][20] */ const
      BN_ULONG *base, /* [2][20] */ const BN_ULONG *exp[2], /* 2x16 */ const BN_ULONG
      *m, /* [2][20] */ const BN_ULONG *rr, /* [2][20] */ const BN_ULONG k0[2]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - in
    - in_len
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: get_digit52
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t get_digit52(const uint8_t *in, int in_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BITS2WORD64_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:521,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:537,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:523,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:540,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:524,1
    - Dst: put_digit52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:545,1
    - Dst: put_digit52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:548,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:548,1
    - Dst: put_digit52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:551,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:551,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - out
    - out_bitsize
    - in
    argTypes:
    - BN_ULONG*
    - int
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 554
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 554
    functionName: from_words52
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached:
    - assert
    - memcpy
    - BITS2WORD8_SIZE
    - BITS2WORD64_SIZE
    - put_digit52
    linkageType: ''
    returnType: void
    signature: 'static void from_words52(BN_ULONG *out, int out_bitsize, const BN_ULONG
      *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bitsize
    - digit_size
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: number_of_digits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int number_of_digits(int bitsize, int digit_size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: to_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:178,1
    - Dst: to_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:182,1
    - Dst: amm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:204,1
    - Dst: amm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:208,1
    - Dst: number_of_digits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:135,1
    - Dst: ALIGN_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:165,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:162,1
    - Dst: to_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:179,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:200,1
    - Dst: set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:202,1
    - Dst: from_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:219,1
    - Dst: amm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:207,1
    - Dst: exp_x2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:216,1
    - Dst: bn_reduce_once_in_place
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:226,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:231,1
    - Dst: to_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:177,1
    - Dst: to_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:180,1
    - Dst: from_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:220,1
    - Dst: amm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:205,1
    - Dst: bn_reduce_once_in_place
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:225,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:232,1
    - Dst: to_words52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:181,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    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
    constantsTouched: []
    func_position:
      end: 235
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 235
    functionName: ossl_rsaz_mod_exp_avx512_x2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached:
    - from_words52
    - OPENSSL_free
    - to_words52
    - exp_x2
    - OPENSSL_cleanse
    - number_of_digits
    - bn_reduce_once_in_place
    - amm
    - ALIGN_OF
    - OPENSSL_malloc
    - set_bit
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsaz_mod_exp_avx512_x2(BN_ULONG *res1, const BN_ULONG *base1,
      const BN_ULONG *exp1, const BN_ULONG *m1, const BN_ULONG *rr1, BN_ULONG k0_1,
      BN_ULONG *res2, const BN_ULONG *base2, const BN_ULONG *exp2, const BN_ULONG
      *m2, const BN_ULONG *rr2, BN_ULONG k0_2, int factor_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:462,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:463,1
    - Dst: number_of_digits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:465,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:472,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:465,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:475,1
    - Dst: get_digit52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:482,1
    - Dst: get_digit52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:487,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:487,1
    - Dst: get_digit52
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:492,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 4
    argNames:
    - out
    - out_len
    - in
    - in_bitsize
    argTypes:
    - BN_ULONG*
    - int
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 502
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 502
    functionName: to_words52
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached:
    - assert
    - get_digit52
    - memcpy
    - number_of_digits
    - BITS2WORD8_SIZE
    linkageType: ''
    returnType: void
    signature: 'static void to_words52(BN_ULONG *out, int out_len, const BN_ULONG
      *in, int in_bitsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pStr
    - strLen
    - digit
    argTypes:
    - uint8_t*
    - int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: put_digit52
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void put_digit52(uint8_t *pStr, int strLen, uint64_t
      digit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - idx
    argTypes:
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 572
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 572
    functionName: set_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void set_bit(BN_ULONG *a, int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:256,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:278,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:257,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:267,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 281
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 281
    functionName: BN_GF2m_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:499,1
    - Dst: SQR1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:507,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:503,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:501,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:500,1
    - Dst: SQR0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:508,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:512,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:513,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:515,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:518,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 520
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 520
    functionName: BN_GF2m_mod_sqr_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_GF2m_mod_arr
    - bn_check_top
    - bn_correct_top
    - bn_wexpand
    - SQR1
    - BN_CTX_start
    - SQR0
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[],
      BN_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:871,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:872,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:874,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:875,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:877,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:878,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:880,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:881,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:884,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:887,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:891,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:892,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:898,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:901,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:889,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:896,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 903
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 903
    functionName: BN_GF2m_mod_exp_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_GF2m_mod_arr
    - bn_check_top
    - BN_is_zero
    - BN_copy
    - BN_num_bits
    - BN_is_bit_set
    - BN_CTX_start
    - BN_abs_is_word
    - BN_GF2m_mod_sqr_arr
    - BN_GF2m_mod_mul_arr
    - BN_one
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
      const int p[], BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:468,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:472,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:475,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:473,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:471,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:477,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:480,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:482,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:485,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:486,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 490
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 490
    functionName: BN_GF2m_mod_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - bn_check_top
    - OPENSSL_free
    - BN_num_bits
    - BN_GF2m_mod_mul_arr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *p, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:843,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:846,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:849,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:847,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:844,1
    - Dst: BN_GF2m_mod_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:852,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:853,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:856,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - r
    - yy
    - xx
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 858
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 858
    functionName: BN_GF2m_mod_div_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_check_top
    - BN_GF2m_arr2poly
    - BN_GF2m_mod_div
    - BN_CTX_start
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *yy, const BIGNUM
      *xx, const int p[], BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 107
    argCount: 4
    argNames:
    - r1
    - r0
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 125
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 125
    functionName: bn_GF2m_mul_1x1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bn_GF2m_mul_1x1(BN_ULONG *r1, BN_ULONG *r0, const BN_ULONG
      a, const BN_ULONG b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:416,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:424,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:423,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:420,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:417,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:428,1
    - Dst: bn_GF2m_mul_2x2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:441,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:447,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:448,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:450,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:453,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 455
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 455
    functionName: BN_GF2m_mod_mul_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_GF2m_mul_2x2
    - BN_GF2m_mod_arr
    - bn_check_top
    - bn_correct_top
    - bn_wexpand
    - BN_CTX_start
    - BN_GF2m_mod_sqr_arr
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
      const int p[], BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:810,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:814,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:812,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:815,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:811,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:819,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:821,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:823,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:827,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 5
    argNames:
    - r
    - y
    - x
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 829
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 829
    functionName: BN_GF2m_mod_div
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_check_top
    - BN_GF2m_mod_mul
    - BN_CTX_start
    - BN_GF2m_mod_inv
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *y, const BIGNUM *x, const
      BIGNUM *p, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:949,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:961,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:953,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:958,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:957,1
    - Dst: BN_GF2m_mod_exp_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:963,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:964,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:967,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 969
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 969
    functionName: BN_GF2m_mod_sqrt_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_set_bit
    - bn_check_top
    - BN_zero
    - BN_CTX_start
    - BN_GF2m_mod_exp_arr
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, const int p[],
      BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - a
    - p
    - max
    argTypes:
    - BIGNUM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1175
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1175
    functionName: BN_GF2m_poly2arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_GF2m_mul_1x1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:235,1
    - Dst: bn_GF2m_mul_1x1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:237,1
    - Dst: bn_GF2m_mul_1x1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - r
    - a1
    - a0
    - b1
    - b0
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: bn_GF2m_mul_2x2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - bn_GF2m_mul_1x1
    linkageType: ''
    returnType: void
    signature: 'static void bn_GF2m_mul_2x2(BN_ULONG *r, const BN_ULONG a1, const
      BN_ULONG a0, const BN_ULONG b1, const BN_ULONG b0) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:785,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:787,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:792,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:786,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:789,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:793,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:796,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - r
    - xx
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 798
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 798
    functionName: BN_GF2m_mod_inv_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_check_top
    - BN_GF2m_arr2poly
    - BN_CTX_start
    - BN_GF2m_mod_inv
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *xx, const int p[],
      BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:915,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:920,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:918,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:922,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:919,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:924,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:927,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:929,1
    - Dst: BN_GF2m_mod_exp_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:932,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:933,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:935,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 937
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 937
    functionName: BN_GF2m_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - bn_check_top
    - OPENSSL_free
    - BN_num_bits
    - BN_GF2m_mod_exp_arr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *p, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1116,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1122,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1124,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1120,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1127,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1129,1
    - Dst: BN_GF2m_mod_solve_quad_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1132,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1133,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1137
    functionName: BN_GF2m_mod_solve_quad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - bn_check_top
    - BN_GF2m_mod_solve_quad_arr
    - OPENSSL_free
    - BN_num_bits
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *p, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 170
    argCount: 4
    argNames:
    - r1
    - r0
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 222
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 222
    functionName: bn_GF2m_mul_1x1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bn_GF2m_mul_1x1(BN_ULONG *r1, BN_ULONG *r0, const BN_ULONG
      a, const BN_ULONG b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:393,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:396,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:395,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:394,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:395,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:397,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:400,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - r
    - a
    - p
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: BN_GF2m_mod
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - BN_GF2m_mod_arr
    - bn_check_top
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:297,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:310,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:379,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:301,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 85
    argCount: 3
    argNames:
    - r
    - a
    - p
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 381
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 381
    functionName: BN_GF2m_mod_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - bn_check_top
    - BN_zero
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:738,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:752,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:739,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:749,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:743,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:755,1
    - Dst: BN_GF2m_mod_inv_vartime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:759,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:763,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:769,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 771
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 771
    functionName: BN_GF2m_mod_inv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_priv_rand_ex
    - BN_CTX_end
    - BN_is_zero
    - BN_num_bits
    - BN_GF2m_mod_mul
    - BN_CTX_start
    - BN_GF2m_mod_inv_vartime
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX
      *ctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1022,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1058,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1067,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1069,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1071,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1080,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1081,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1013,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1044,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1054,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1061,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1053,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1042,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1063,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1079,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1086,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1095,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1021,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1023,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1017,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1024,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1028,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1032,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1039,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1052,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1064,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1073,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1091,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1102,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1031,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1046,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1088,1
    - Dst: BN_GF2m_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1090,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1075,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1097,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 82
    argCount: 4
    argNames:
    - r
    - a_
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1104
    functionName: BN_GF2m_mod_solve_quad_arr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_priv_rand_ex
    - ERR_raise
    - BN_CTX_end
    - BN_GF2m_mod_arr
    - bn_check_top
    - BN_is_zero
    - BN_copy
    - BN_zero
    - BN_CTX_start
    - BN_GF2m_mod_sqr_arr
    - BN_GF2m_cmp
    - BN_GF2m_mod_mul_arr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a_, const
      int p[], BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1185,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1191,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1188,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:1186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - p
    - a
    argTypes:
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1194
    functionName: BN_GF2m_arr2poly
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - BN_zero
    - BN_set_bit
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_arr2poly(const int p[], BIGNUM *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:531,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:537,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:534,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:539,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:535,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:542,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:544,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:547,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:548,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 552
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 552
    functionName: BN_GF2m_mod_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - bn_check_top
    - OPENSSL_free
    - BN_num_bits
    - BN_GF2m_mod_sqr_arr
    - OPENSSL_malloc
    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_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:569,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:572,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:571,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:583,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:606,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:593,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:603,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:591,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:606,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:615,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:586,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:595,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:628,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:707,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:711,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:624,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:566,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:573,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:574,1
    - Dst: BN_GF2m_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:578,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:590,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:596,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:617,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:641,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:713,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:723,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:634,1
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:704,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:721,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:623,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:567,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:580,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:599,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:720,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 158
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 725
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 725
    functionName: BN_GF2m_mod_inv_vartime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_is_zero
    - bn_check_top
    - BN_GF2m_mod
    - BN_copy
    - BN_num_bits
    - bn_correct_top
    - BN_rshift1
    - bn_wexpand
    - BN_CTX_start
    - BN_abs_is_word
    - BN_num_bits_word
    - BN_is_odd
    - BN_one
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int BN_GF2m_mod_inv_vartime(BIGNUM *r, const BIGNUM *a, const
      BIGNUM *p, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:980,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:984,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:986,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:988,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:983,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:991,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:993,1
    - Dst: BN_GF2m_mod_sqrt_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:996,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:997,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c:999,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1001
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1001
    functionName: BN_GF2m_mod_sqrt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_gf2m.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - bn_check_top
    - OPENSSL_free
    - BN_num_bits
    - BN_GF2m_mod_sqrt_arr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
      BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:14,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:15,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - recp
    argTypes:
    - BN_RECP_CTX*
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: BN_RECP_CTX_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c
    functionUses: []
    functionsReached:
    - bn_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void BN_RECP_CTX_init(BN_RECP_CTX *recp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:38,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:39,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - recp
    argTypes:
    - BN_RECP_CTX*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: BN_RECP_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void BN_RECP_CTX_free(BN_RECP_CTX *recp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:61,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:69,1
    - Dst: BN_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:66,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:62,1
    - Dst: BN_div_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:76,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:78,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:79,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 5
    argNames:
    - r
    - x
    - y
    - recp
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_RECP_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: BN_mod_mul_reciprocal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_check_top
    - BN_sqr
    - BN_mul
    - BN_CTX_start
    - BN_div_recp
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM
      *y, BN_RECP_CTX *recp, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:23,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:28,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: BN_RECP_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - bn_init
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BN_RECP_CTX*
    signature: 'BN_RECP_CTX *BN_RECP_CTX_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:46,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:46,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:49,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - recp
    - d
    - ctx
    argTypes:
    - BN_RECP_CTX*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: BN_RECP_CTX_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_copy
    - BN_num_bits
    - BN_zero
    linkageType: ''
    returnType: int
    signature: 'int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *d, BN_CTX *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:90,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:91,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:99,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:141,1
    - Dst: BN_reciprocal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:120,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:157,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:161,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:98,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:135,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:162,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:89,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:97,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:113,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:133,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:146,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:139,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:131,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:151,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:163,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:92,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:93,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:100,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:148,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:153,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 64
    argCount: 5
    argNames:
    - dv
    - rem
    - m
    - recp
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_RECP_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 165
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 165
    functionName: BN_div_recp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_ucmp
    - ERR_raise
    - BN_add_word
    - BN_reciprocal
    - BN_is_zero
    - BN_copy
    - bn_check_top
    - BN_num_bits
    - BN_zero
    - BN_rshift
    - BN_CTX_start
    - BN_mul
    - BN_usub
    linkageType: ''
    returnType: int
    signature: 'int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, BN_RECP_CTX
      *recp, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:178,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:185,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:179,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:190,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:182,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - r
    - m
    - len
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: BN_reciprocal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_recp.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_set_bit
    - bn_check_top
    - BN_div
    - BN_CTX_start
    linkageType: ''
    returnType: int
    signature: 'int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: bn_rsa_fips186_5_aux_prime_min_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bn_rsa_fips186_5_aux_prime_min_size(int nbits) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:110,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:112,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:125,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:119,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:117,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - Xp1
    - p1
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 132
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 132
    functionName: bn_rsa_fips186_4_find_aux_prob_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: []
    functionsReached:
    - BN_GENCB_call
    - BN_add_word
    - BN_copy
    - BN_check_prime
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'static int bn_rsa_fips186_4_find_aux_prob_prime(const BIGNUM *Xp1,
      BIGNUM *p1, BN_CTX *ctx, BN_GENCB *cb) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:266,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:294,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:297,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:302,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:319,1
    - Dst: BN_mod_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:323,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:338,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:340,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:363,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:352,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:361,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:364,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:254,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:258,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:257,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:259,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:260,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:261,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:262,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:293,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:283,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:281,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:335,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:323,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:279,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:282,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:291,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:296,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:355,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:343,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:256,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:283,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:284,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:288,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:290,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:295,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:299,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:302,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:319,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:329,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:342,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:339,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 103
    argCount: 9
    argNames:
    - Y
    - X
    - Xin
    - r1
    - r2
    - nlen
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 366
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 366
    functionName: ossl_bn_rsa_fips186_4_derive_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: []
    functionsReached:
    - BN_CTX_start
    - BN_add
    - BN_lshift
    - BN_CTX_end
    - BN_copy
    - BN_is_one
    - BN_clear
    - BN_mod_sub
    - BN_GENCB_call
    - BN_priv_rand_range_ex
    - BN_lshift1
    - BN_num_bits
    - BN_mod_inverse
    - BN_check_prime
    - BN_CTX_get
    - BN_sub_word
    - ERR_raise
    - BN_value_one
    - BN_is_negative
    - BN_mul
    - BN_gcd
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_rsa_fips186_4_derive_prime(BIGNUM *Y, BIGNUM *X, const
      BIGNUM *Xin, const BIGNUM *r1, const BIGNUM *r2, int nlen, const BIGNUM *e,
      BN_CTX *ctx, BN_GENCB *cb) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_rsa_fips186_4_derive_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:204,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:213,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:215,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:217,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:200,1
    - Dst: bn_rsa_fips186_5_aux_prime_min_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:176,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:183,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:190,1
    - Dst: bn_rsa_fips186_4_find_aux_prob_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:197,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:218,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:211,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:170,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:171,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:172,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:169,1
    - Dst: bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:201,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:200,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:167,1
    - Dst: bn_rsa_fips186_4_find_aux_prob_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c:196,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 57
    argCount: 11
    argNames:
    - p
    - Xpout
    - p1
    - p2
    - Xp
    - Xp1
    - Xp2
    - nlen
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 220
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 220
    functionName: ossl_bn_rsa_fips186_4_gen_prob_primes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_priv_rand_ex
    - BN_CTX_end
    - bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
    - bn_rsa_fips186_4_find_aux_prob_prime
    - BN_num_bits
    - bn_rsa_fips186_5_aux_prime_min_size
    - BN_clear
    - BN_CTX_start
    - ossl_bn_rsa_fips186_4_derive_prime
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_rsa_fips186_4_gen_prob_primes(BIGNUM *p, BIGNUM *Xpout,
      BIGNUM *p1, BIGNUM *p2, const BIGNUM *Xp, const BIGNUM *Xp1, const BIGNUM *Xp2,
      int nlen, const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes(int
      nbits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:655,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:658,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:627,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:660,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:688,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:659,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:662,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:661,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:649,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:663,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:667,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:666,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:669,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:668,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:600,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:604,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:606,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:609,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:611,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:615,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:617,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:622,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:624,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:626,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:630,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:631,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:632,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:633,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:635,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:645,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:634,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:674,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:651,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:680,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:650,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:679,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:653,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:685,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:652,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:681,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:640,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:644,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:639,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:654,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:642,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:641,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:643,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:636,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:684,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:597,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:601,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:605,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:610,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:612,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:616,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:618,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:619,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:623,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:625,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:670,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:673,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:646,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:675,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 98
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 691
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 691
    functionName: bn_mul_comba8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 968
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 968
    functionName: bn_sqr_comba4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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_mul_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:978,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:980,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:981,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 982
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 982
    functionName: bn_mul_comba4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:76,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:85,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:84,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:82,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:83,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: bn_sqr_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - assert
    - sqr
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:700,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:703,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:707,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:708,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:704,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:709,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:712,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:713,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:714,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:715,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:727,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:719,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:718,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:720,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:723,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 730
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 730
    functionName: bn_mul_comba4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 974
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 974
    functionName: bn_sqr_comba8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:986,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:987,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:989,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:988,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:990,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:991,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:992,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 994
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 994
    functionName: bn_mul_comba8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:1006,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:1017,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:1012,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:1026,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0p
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 1038
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1038
    functionName: bn_mul_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - alloca
    - bn_mul_add_words
    - bn_sub_words
    linkageType: ''
    returnType: int
    signature: 'int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,
      const BN_ULONG *np, const BN_ULONG *n0p, int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 310
    functionName: bn_add_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_add_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG
      *b, int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:869,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:881,1
    - Dst: alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:871,1
    - Dst: LBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:879,1
    - Dst: HBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:878,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:884,1
    - Dst: HBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:895,1
    - Dst: LBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:896,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:898,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:901,1
    - Dst: LBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:912,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:922,1
    - Dst: HBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:911,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:932,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:915,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:920,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:913,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 98
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0p
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 944
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 944
    functionName: bn_mul_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - HBITS
    - bn_sub_words
    - bn_sqr_mont
    - mul_add
    - mul
    - LBITS
    - alloca
    linkageType: ''
    returnType: int
    signature: 'int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,
      const BN_ULONG *np, const BN_ULONG *n0p, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - l
    - d
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: bn_div_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:108,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:118,1
    - Dst: HBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:113,1
    - Dst: LBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:112,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:117,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:119,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:120,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: bn_mul_add_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - mul_add
    - HBITS
    - LBITS
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num,
      BN_ULONG w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 955
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 955
    functionName: bn_mul_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,
      const BN_ULONG *np, const BN_ULONG *n0, int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:140,1
    - Dst: LBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:144,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:150,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:149,1
    - Dst: HBITS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:145,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:151,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:152,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: bn_mul_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - HBITS
    - mul
    - LBITS
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG
      w) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:214,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 3
    argNames:
    - h
    - l
    - d
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 267
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 267
    functionName: bn_div_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: bn_mul_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,
      const BN_ULONG *np, const BN_ULONG *n0, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:749,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:745,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:754,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:763,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:769,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:771,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:776,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:791,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:753,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:766,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:770,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:775,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:783,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:788,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:799,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:802,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:795,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:742,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:758,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:765,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:760,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:778,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:782,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:787,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:796,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:792,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:739,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:746,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:750,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:755,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:759,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:764,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:772,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:777,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:781,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 70
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 805
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 805
    functionName: bn_sqr_comba8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - sqr_add_c2
    - sqr_add_c
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_comba8(BN_ULONG *r, const BN_ULONG *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:169,1
    - Dst: sqr64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:178,1
    - Dst: sqr64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:175,1
    - Dst: sqr64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:176,1
    - Dst: sqr64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:177,1
    - Dst: sqr64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: bn_sqr_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - assert
    - sqr64
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:814,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:824,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:821,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:820,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:817,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:825,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:828,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:829,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:832,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 838
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 838
    functionName: bn_sqr_comba4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - sqr_add_c2
    - sqr_add_c
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_comba4(BN_ULONG *r, const BN_ULONG *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:21,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:29,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:30,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:27,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:28,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 44
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 44
    functionName: bn_mul_add_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - mul_add
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num,
      BN_ULONG w) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:50,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:59,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:56,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:57,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:58,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 72
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 72
    functionName: bn_mul_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 367
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 367
    functionName: bn_add_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_add_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG
      *b, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 77
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 430
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 430
    functionName: bn_sub_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_asm.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG
      *b, int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:20,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:35,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - a
    - d
    argTypes:
    - BIGNUM*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 39
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 39
    functionName: BN_bn2mpi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    - BN_bn2bin
    linkageType: ''
    returnType: int
    signature: 'int BN_bn2mpi(const BIGNUM *a, unsigned char *d) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:48,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:74,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:54,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:76,1
    - Dst: BN_clear_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:81,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:81,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - d
    - n
    - ain
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 85
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 85
    functionName: BN_mpi2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mpi.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_clear_bit
    - bn_check_top
    - BN_new
    - BN_num_bits
    - BN_free
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_mpi2bn(const unsigned char *d, int n, BIGNUM *ain) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:28,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:32,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:38,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:39,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:48,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:50,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:64,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:65,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:70,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:77,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:164,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:185,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:197,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:29,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:41,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:58,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:60,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:85,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:90,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:113,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:118,1
    - Dst: BN_to_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:133,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:137,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:147,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:198,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:177,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:30,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:47,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:51,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:49,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:91,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:100,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:105,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:119,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:142,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:159,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:196,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:153,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:31,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:35,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:71,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:76,1
    - Dst: BN_to_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:82,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:99,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:106,1
    - Dst: BN_to_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:110,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:170,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:191,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c:133,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 177
    argCount: 8
    argNames:
    - rr
    - a1
    - p1
    - a2
    - p2
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 200
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 200
    functionName: BN_mod_exp2_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_exp2.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_from_montgomery
    - BN_is_bit_set
    - BN_zero
    - BN_CTX_start
    - BN_is_odd
    - BN_CTX_end
    - BN_mod_mul_montgomery
    - BN_one
    - BN_ucmp
    - bn_check_top
    - BN_num_bits
    - BN_mod
    - BN_CTX_get
    - ERR_raise
    - BN_MONT_CTX_free
    - BN_value_one
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - BN_to_montgomery
    - BN_window_bits_for_exponent_size
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_exp2_mont(BIGNUM *rr, const BIGNUM *a1, const BIGNUM *p1,
      const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX
      *in_mont) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_mont_vis3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sparc.c:56,1
    - Dst: bn_mul_mont_vis3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sparc.c:59,1
    - Dst: bn_mul_mont_fpu
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sparc.c:73,1
    - Dst: bn_mul_mont_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sparc.c:75,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 33
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 76
    functionName: bn_mul_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sparc.c
    functionUses: []
    functionsReached:
    - bn_mul_mont_vis3
    - bn_mul_mont_int
    - bn_mul_mont_fpu
    linkageType: ''
    returnType: int
    signature: 'int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,
      const BN_ULONG *np, const BN_ULONG *n0, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:18,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:21,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - r
    - a
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: BN_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - bn_correct_top
    - bn_sqr_fixed_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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:32,1
    - Dst: bn_sqr_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:56,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:103,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:41,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:42,1
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:54,1
    - Dst: bn_sqr_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:63,1
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:69,1
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:73,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:77,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:87,1
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:89,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:81,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:102,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:48,1
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:61,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:101,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:96,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:43,1
    - Dst: bn_sqr_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:79,1
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:83,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 3
    argNames:
    - r
    - a
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 105
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 105
    functionName: bn_sqr_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - bn_sqr_normal
    - bn_sqr_comba4
    - BN_CTX_end
    - bn_check_top
    - BN_copy
    - bn_wexpand
    - bn_sqr_comba8
    - bn_sqr_recursive
    - BN_CTX_start
    - BN_num_bits_word
    linkageType: ''
    returnType: int
    signature: 'int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:163,1
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:177,1
    - Dst: bn_sqr_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:165,1
    - Dst: bn_sqr_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:170,1
    - Dst: bn_sqr_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:172,1
    - Dst: bn_cmp_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:181,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:184,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:186,1
    - Dst: bn_sqr_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:194,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:196,1
    - Dst: bn_sqr_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:197,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:209,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:206,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:217,1
    - Dst: bn_sqr_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:198,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - r
    - a
    - n2
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 237
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 237
    functionName: bn_sqr_recursive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c
    functionUses: []
    functionsReached:
    - bn_sqr_comba4
    - bn_sqr_normal
    - bn_sub_words
    - bn_add_words
    - bn_sqr_comba8
    - bn_cmp_words
    - bn_sqr_recursive
    - memset
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_recursive(BN_ULONG *r, const BN_ULONG *a, int n2, BN_ULONG
      *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:123,1
    - Dst: bn_sqr_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:138,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:140,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:130,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - r
    - a
    - n
    - tmp
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 141
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 141
    functionName: bn_sqr_normal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqr.c
    functionUses: []
    functionsReached:
    - bn_sqr_words
    - bn_mul_words
    - bn_mul_add_words
    - bn_add_words
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_normal(BN_ULONG *r, const BN_ULONG *a, int n, BN_ULONG
      *tmp) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bn_mr_min_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:148,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:146,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:142,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:152,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:153,1
    - Dst: probable_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:159,1
    - Dst: probable_prime_dh
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:162,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:166,1
    - Dst: bn_is_prime_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:171,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:197,1
    - Dst: bn_is_prime_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:185,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:205,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:207,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:206,1
    - Dst: bn_is_prime_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:191,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:181,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 59
    argCount: 7
    argNames:
    - ret
    - bits
    - safe
    - add
    - rem
    - cb
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - BIGNUM*
    - BIGNUM*
    - BN_GENCB*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 209
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 209
    functionName: BN_generate_prime_ex2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - probable_prime
    - BN_CTX_get
    - ERR_raise
    - BN_GENCB_call
    - BN_CTX_end
    - bn_check_top
    - OPENSSL_free
    - OPENSSL_zalloc
    - BN_rshift1
    - bn_mr_min_checks
    - BN_CTX_start
    - probable_prime_dh
    - bn_is_prime_int
    linkageType: ''
    returnType: int
    signature: 'int BN_generate_prime_ex2(BIGNUM *ret, int bits, int safe, const BIGNUM
      *add, const BIGNUM *rem, BN_GENCB *cb, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: calc_trial_divisions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int calc_trial_divisions(int bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: bn_mr_min_checks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bn_mr_min_checks(int bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - a
    - checks
    - ctx_passed
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: BN_is_prime_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - ossl_bn_check_prime
    linkageType: ''
    returnType: int
    signature: 'int BN_is_prime_ex(const BIGNUM *a, int checks, BN_CTX *ctx_passed,
      BN_GENCB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mr_min_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:246,1
    - Dst: bn_is_prime_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:251,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - w
    - checks
    - ctx
    - do_trial_division
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: ossl_bn_check_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - bn_is_prime_int
    - bn_mr_min_checks
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_check_prime(const BIGNUM *w, int checks, BN_CTX *ctx,
      int do_trial_division, BN_GENCB *cb) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:278,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:278,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:288,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:282,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:284,1
    - Dst: calc_trial_divisions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:293,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:293,1
    - Dst: BN_mod_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:296,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:300,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:302,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:306,1
    - Dst: ossl_bn_miller_rabin_is_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:310,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 5
    argNames:
    - w
    - checks
    - ctx
    - do_trial_division
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 320
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 320
    functionName: bn_is_prime_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - ossl_bn_miller_rabin_is_prime
    - BN_GENCB_call
    - BN_mod_word
    - BN_value_one
    - BN_cmp
    - BN_num_bits
    - BN_is_word
    - BN_CTX_new
    - BN_is_odd
    - calc_trial_divisions
    linkageType: ''
    returnType: int
    signature: 'static int bn_is_prime_int(const BIGNUM *w, int checks, BN_CTX *ctx,
      int do_trial_division, BN_GENCB *cb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calc_trial_divisions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:482,1
    - Dst: BN_mod_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:493,1
    - Dst: square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:509,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:486,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:489,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:509,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:519,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:521,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:523,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - rnd
    - bits
    - safe
    - mods
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - prime_t*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 525
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 525
    functionName: probable_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - square
    - BN_priv_rand_ex
    - BN_set_bit
    - BN_mod_word
    - BN_add_word
    - bn_check_top
    - BN_num_bits
    - BN_get_word
    - calc_trial_divisions
    linkageType: ''
    returnType: int
    signature: 'static int probable_prime(BIGNUM *rnd, int bits, int safe, prime_t
      *mods, BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - cb
    - a
    - b
    argTypes:
    - BN_GENCB*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: BN_GENCB_call
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BN_GENCB_call(BN_GENCB *cb, int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - w
    - checks
    - ctx
    - do_trial_division
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: BN_is_prime_fasttest_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - ossl_bn_check_prime
    linkageType: ''
    returnType: int
    signature: 'int BN_is_prime_fasttest_ex(const BIGNUM *w, int checks, BN_CTX *ctx,
      int do_trial_division, BN_GENCB *cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: ossl_bn_get0_small_factors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *ossl_bn_get0_small_factors(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:215,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:223,1
    - Dst: BN_generate_prime_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 6
    argNames:
    - ret
    - bits
    - safe
    - add
    - rem
    - cb
    argTypes:
    - BIGNUM*
    - int
    - int
    - BIGNUM*
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 225
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 225
    functionName: BN_generate_prime_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - BN_CTX_new
    - BN_CTX_free
    - BN_generate_prime_ex2
    linkageType: ''
    returnType: int
    signature: 'int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM
      *add, const BIGNUM *rem, BN_GENCB *cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - p
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: BN_check_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - ossl_bn_check_prime
    linkageType: ''
    returnType: int
    signature: 'int BN_check_prime(const BIGNUM *p, BN_CTX *ctx, BN_GENCB *cb) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:349,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:348,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:362,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:367,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:380,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:367,1
    - Dst: bn_mr_min_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:384,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:384,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:408,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:408,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:416,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:424,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:463,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:458,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:363,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:379,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:424,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:430,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:460,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:461,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:462,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:464,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:398,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:435,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:345,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:350,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:351,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:352,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:353,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:354,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:355,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:359,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:360,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:375,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:413,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:390,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:449,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:405,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:413,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:427,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:435,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:456,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:459,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:395,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:438,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:419,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:372,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:389,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:457,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 112
    argCount: 6
    argNames:
    - w
    - iterations
    - ctx
    - cb
    - enhanced
    - status
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - BN_GENCB*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 466
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 466
    functionName: ossl_bn_miller_rabin_is_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    - BN_is_zero
    - BN_is_bit_set
    - bn_mr_min_checks
    - BN_CTX_start
    - BN_is_odd
    - BN_CTX_end
    - BN_copy
    - BN_is_one
    - BN_clear
    - BN_GENCB_call
    - BN_priv_rand_range_ex
    - BN_num_bits
    - BN_rshift
    - BN_CTX_get
    - BN_sub_word
    - BN_add_word
    - BN_MONT_CTX_free
    - BN_MONT_CTX_set
    - BN_is_negative
    - BN_MONT_CTX_new
    - BN_mod_mul
    - BN_gcd
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_bn_miller_rabin_is_prime(const BIGNUM *w, int iterations,
      BN_CTX *ctx, BN_GENCB *cb, int enhanced, int *status) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:549,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:546,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:560,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:566,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:570,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:588,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:599,1
    - Dst: square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:588,1
    - Dst: BN_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:553,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:593,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:605,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:545,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:563,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:572,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:571,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:604,1
    - Dst: calc_trial_divisions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:542,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:550,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:558,1
    - Dst: BN_mod_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c:578,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 69
    argCount: 7
    argNames:
    - rnd
    - bits
    - safe
    - mods
    - add
    - rem
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - prime_t*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 607
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 607
    functionName: probable_prime_dh
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_prime.c
    functionUses: []
    functionsReached:
    - square
    - BN_CTX_get
    - BN_CTX_end
    - BN_rand_ex
    - BN_mod_word
    - BN_add_word
    - bn_check_top
    - BN_num_bits
    - BN_mod
    - BN_get_word
    - BN_CTX_start
    - BN_sub
    - BN_add
    - calc_trial_divisions
    linkageType: ''
    returnType: int
    signature: 'static int probable_prime_dh(BIGNUM *rnd, int bits, int safe, prime_t
      *mods, const BIGNUM *add, const BIGNUM *rem, BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:26,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:32,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:28,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:34,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:28,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:39,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:42,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - pi
    - Xpi
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: bn_x931_derive_pi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c
    functionUses: []
    functionsReached:
    - BN_GENCB_call
    - BN_add_word
    - BN_copy
    - BN_check_prime
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: 'static int bn_x931_derive_pi(BIGNUM *pi, const BIGNUM *Xpi, BN_CTX
      *ctx, BN_GENCB *cb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:177,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:192,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:182,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:187,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:181,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:194,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:198,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 4
    argNames:
    - Xp
    - Xq
    - nbits
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 208
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 208
    functionName: BN_X931_generate_Xpq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_priv_rand_ex
    - BN_CTX_end
    - BN_num_bits
    - BN_CTX_start
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX
      *ctx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:65,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:92,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:101,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:115,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:95,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:141,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:145,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:151,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:70,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:67,1
    - Dst: bn_x931_derive_pi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:81,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:122,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:125,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:62,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:72,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:74,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:76,1
    - Dst: bn_x931_derive_pi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:84,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:104,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:107,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:123,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:127,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:87,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:98,1
    - Dst: BN_mod_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:112,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:129,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:135,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 57
    argCount: 9
    argNames:
    - p
    - p1
    - p2
    - Xp
    - Xp1
    - Xp2
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 154
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 154
    functionName: BN_X931_derive_prime_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_sub_word
    - BN_GENCB_call
    - BN_CTX_end
    - bn_x931_derive_pi
    - BN_copy
    - BN_is_one
    - BN_mod_inverse
    - BN_mul
    - BN_CTX_start
    - BN_gcd
    - BN_check_prime
    - BN_sub
    - BN_mod_sub
    - BN_is_odd
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, const
      BIGNUM *Xp, const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx,
      BN_GENCB *cb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:225,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:233,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:235,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:227,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:229,1
    - Dst: BN_X931_derive_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:237,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c:243,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 19
    argCount: 9
    argNames:
    - p
    - p1
    - p2
    - Xp1
    - Xp2
    - Xp
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 247
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 247
    functionName: BN_X931_generate_prime_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_x931p.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_priv_rand_ex
    - BN_CTX_end
    - BN_X931_derive_prime_ex
    - BN_CTX_start
    linkageType: ''
    returnType: int
    signature: 'int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM
      *Xp1, BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, BN_CTX *ctx, BN_GENCB
      *cb) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:46,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:51,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:185,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:270,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:351,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:321,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:27,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:42,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:63,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:65,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:67,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:272,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:332,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:33,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:77,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:285,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:352,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:364,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:258,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:56,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:153,1
    - Dst: BN_kronecker
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:202,1
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:27,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:82,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:147,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:192,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:262,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:360,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:299,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:334,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:95,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:265,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:348,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:48,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:219,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:185,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:98,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:279,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:228,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:140,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:193,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:257,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:329,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:300,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:182,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:365,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:316,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:268,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:66,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:30,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:51,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:64,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:143,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:336,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:229,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:60,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:72,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:159,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:172,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:260,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:309,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:33,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:162,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:187,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:326,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:46,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:53,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:38,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:151,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:35,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:62,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:281,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:214,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:313,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:136,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c:253,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 210
    argCount: 4
    argNames:
    - in
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 367
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 367
    functionName: BN_mod_sqrt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_sqrt.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_is_bit_set
    - BN_zero
    - BN_mod_lshift1_quick
    - BN_set_word
    - BN_abs_is_word
    - BN_CTX_start
    - BN_is_odd
    - BN_priv_rand_ex
    - BN_CTX_end
    - BN_copy
    - BN_is_one
    - BN_rshift1
    - BN_mod_sqr
    - BN_mod_exp
    - BN_clear_free
    - BN_one
    - BN_ucmp
    - bn_check_top
    - BN_num_bits
    - BN_rshift
    - BN_CTX_get
    - ERR_raise
    - BN_sub_word
    - BN_add_word
    - BN_new
    - BN_kronecker
    - BN_mod_mul
    - BN_free
    - BN_nnmod
    - BN_cmp
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p,
      BN_CTX *ctx) /* * Returns ''ret'' such that ret^2 == a (mod p), using the Tonelli/Shanks
      * algorithm (cf. Henri Cohen, "A Course in Algebraic Computational Number *
      Theory", algorithm 1.5.1). ''p'' must be prime, otherwise an error or * an incorrect
      "result" will be returned. */ '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:32,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:33,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 106
    argCount: 5
    argNames:
    - r
    - a
    - b
    - cl
    - dl
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 153
    functionName: bn_sub_part_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    functionsReached:
    - bn_sub_words
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_sub_part_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG
      *b, int cl, int dl) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:194,1
    - Dst: bn_mul_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:251,1
    - Dst: bn_mul_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:261,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:270,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:295,1
    - Dst: bn_mul_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:185,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:202,1
    - Dst: bn_cmp_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:207,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:212,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:213,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:220,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:238,1
    - Dst: bn_mul_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:256,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:237,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:258,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:286,1
    - Dst: bn_mul_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:200,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:229,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:248,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:230,1
    - Dst: bn_mul_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:246,1
    - Dst: bn_mul_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:260,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:280,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:283,1
    - Dst: bn_cmp_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:208,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:219,1
    - Dst: bn_mul_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:250,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:267,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:271,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:269,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 7
    argNames:
    - r
    - a
    - b
    - n2
    - dna
    - dnb
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    - int
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 315
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 315
    functionName: bn_mul_recursive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    functionsReached:
    - bn_cmp_part_words
    - bn_sub_words
    - bn_sub_part_words
    - bn_mul_recursive
    - bn_add_words
    - bn_mul_normal
    - bn_mul_comba4
    - bn_mul_comba8
    - memset
    linkageType: ''
    returnType: void
    signature: 'void bn_mul_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2,
      int dna, int dnb, BN_ULONG *t) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:527,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:521,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:534,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:546,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:576,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:578,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:520,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:611,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:616,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:519,1
    - Dst: bn_mul_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:557,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:582,1
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:573,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:590,1
    - Dst: bn_mul_part_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:586,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:594,1
    - Dst: bn_mul_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:604,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:532,1
    - Dst: bn_mul_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:549,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:554,1
    - Dst: BN_num_bits_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:570,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:584,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:592,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:601,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:617,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 107
    argCount: 4
    argNames:
    - r
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 619
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 619
    functionName: bn_mul_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - assert
    - bn_mul_recursive
    - bn_check_top
    - BN_copy
    - bn_mul_normal
    - bn_wexpand
    - BN_zero
    - bn_mul_comba4
    - BN_CTX_start
    - bn_mul_comba8
    - BN_num_bits_word
    - bn_mul_part_recursive
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:639,1
    - Dst: bn_mul_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:642,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:653,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:650,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:647,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:656,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - r
    - a
    - na
    - b
    - nb
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 661
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 661
    functionName: bn_mul_normal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:665,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:670,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:679,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:673,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: bn_mul_low_normal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    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:
    - Dst: bn_mul_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:498,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:500,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - r
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: BN_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - bn_mul_fixed_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: 'int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:481,1
    - Dst: bn_mul_low_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:485,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:486,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:484,1
    - Dst: bn_mul_low_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:483,1
    - Dst: bn_mul_low_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:488,1
    - Dst: bn_mul_low_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:489,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:490,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - r
    - a
    - b
    - n2
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: bn_mul_low_recursive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    functionsReached:
    - bn_mul_low_normal
    - bn_add_words
    - bn_mul_low_recursive
    - bn_mul_recursive
    linkageType: ''
    returnType: void
    signature: 'void bn_mul_low_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int
      n2, BN_ULONG *t) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:329,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:340,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:339,1
    - Dst: bn_mul_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:405,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:450,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:344,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:345,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:358,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:359,1
    - Dst: bn_mul_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:370,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:371,1
    - Dst: bn_mul_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:375,1
    - Dst: bn_mul_comba8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:376,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:378,1
    - Dst: bn_mul_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:368,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:381,1
    - Dst: bn_mul_part_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:414,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:438,1
    - Dst: bn_mul_comba4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:369,1
    - Dst: bn_mul_normal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:377,1
    - Dst: bn_mul_part_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:396,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:419,1
    - Dst: bn_cmp_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:334,1
    - Dst: bn_cmp_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:335,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:352,1
    - Dst: bn_sub_part_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:353,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:382,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:394,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:398,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:402,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:435,1
    - Dst: bn_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:441,1
    - Dst: bn_mul_recursive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c:392,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 143
    argCount: 7
    argNames:
    - r
    - a
    - b
    - n
    - tna
    - tnb
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    - int
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 470
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 470
    functionName: bn_mul_part_recursive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mul.c
    functionUses: []
    functionsReached:
    - bn_cmp_part_words
    - bn_sub_words
    - bn_sub_part_words
    - bn_mul_recursive
    - bn_add_words
    - bn_mul_normal
    - bn_mul_comba4
    - bn_mul_comba8
    - bn_mul_part_recursive
    - memset
    linkageType: ''
    returnType: void
    signature: 'void bn_mul_part_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b,
      int n, int tna, int tnb, BN_ULONG *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: BN_get_rfc2409_prime_768
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: BN_get_rfc3526_prime_2048
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: BN_get_rfc2409_prime_1024
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: BN_get_rfc3526_prime_4096
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: BN_get_rfc3526_prime_3072
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: BN_get_rfc3526_prime_1536
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: BN_get_rfc3526_prime_6144
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: BN_get_rfc3526_prime_8192
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_const.c
    functionUses: []
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_from_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:166,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:168,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ret
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: BN_from_montgomery
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    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,
      BN_CTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:45,1
    - Dst: bn_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:47,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:59,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:64,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:60,1
    - Dst: bn_sqr_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:66,1
    - Dst: bn_mul_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:69,1
    - Dst: bn_from_montgomery_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:74,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:77,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:82,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 5
    argNames:
    - r
    - a
    - b
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 84
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 84
    functionName: bn_mul_mont_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - bn_mul_fixed_top
    - bn_from_montgomery_word
    - BN_CTX_end
    - bn_check_top
    - BN_from_montgomery
    - bn_mul_mont
    - bn_sqr_fixed_top
    - bn_wexpand
    - BN_CTX_start
    linkageType: ''
    returnType: int
    signature: 'int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b, BN_MONT_CTX *mont, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:102,1
    - Dst: bn_mul_add_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:125,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:132,1
    - Dst: bn_sub_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:146,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 3
    argNames:
    - ret
    - r
    - mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 158
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 158
    functionName: bn_from_montgomery_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - bn_mul_add_words
    - bn_sub_words
    linkageType: ''
    returnType: int
    signature: 'static int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX
      *mont) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: bn_to_mont_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    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,
      BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:244,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:245,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: BN_MONT_CTX_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - bn_init
    linkageType: ''
    returnType: void
    signature: 'void BN_MONT_CTX_init(BN_MONT_CTX *ctx) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:267,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:270,1
    - Dst: bn_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:285,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:293,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:304,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:319,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:303,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:320,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:332,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:354,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:394,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:362,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:355,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:291,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:313,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:340,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:374,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:382,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:378,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:271,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:341,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:348,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:349,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:350,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:387,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:406,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:396,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:276,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:274,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:277,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:290,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:314,1
    - Dst: bn_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:324,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:315,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:317,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:352,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:359,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:380,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:373,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:375,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:393,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 119
    argCount: 3
    argNames:
    - mont
    - mod
    - ctx
    argTypes:
    - BN_MONT_CTX*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 408
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 408
    functionName: BN_MONT_CTX_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_div
    - BN_zero
    - BN_CTX_start
    - BN_set_word
    - BN_lshift
    - BN_CTX_end
    - BN_set_bit
    - BN_copy
    - BN_is_one
    - bn_expand
    - BN_num_bits
    - BN_mod
    - BN_mod_inverse
    - bn_init
    - BN_CTX_get
    - BN_sub_word
    - BN_get_flags
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:28,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:31,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - r
    - a
    - b
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: BN_mod_mul_montgomery
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - bn_check_top
    - bn_correct_top
    - bn_mul_mont_fixed_top
    linkageType: ''
    returnType: int
    signature: 'int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b, BN_MONT_CTX *mont, BN_CTX *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:180,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:188,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:210,1
    - Dst: bn_from_montgomery_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:182,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:194,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:216,1
    - Dst: BN_mask_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:200,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:209,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:202,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:181,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:184,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:190,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:206,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:181,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:189,1
    - Dst: BN_mask_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:196,1
    - Dst: bn_check_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:214,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:198,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:204,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 4
    argNames:
    - ret
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 219
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 219
    functionName: bn_from_mont_fixed_top
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - bn_from_montgomery_word
    - BN_ucmp
    - bn_check_top
    - BN_copy
    - BN_usub
    - BN_rshift
    - BN_mul
    - BN_CTX_start
    - BN_mask_bits
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'int bn_from_mont_fixed_top(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX
      *mont, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:231,1
    - Dst: BN_MONT_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:236,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: BN_MONT_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - BN_MONT_CTX_init
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: BN_MONT_CTX*
    signature: 'BN_MONT_CTX *BN_MONT_CTX_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:255,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:256,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:259,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mont
    argTypes:
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: BN_MONT_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void BN_MONT_CTX_free(BN_MONT_CTX *mont) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:415,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:417,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - BN_MONT_CTX*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 425
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 425
    functionName: BN_MONT_CTX_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:432,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:450,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:447,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:435,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:451,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:456,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:457,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:462,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c:466,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - pmont
    - lock
    - mod
    - ctx
    argTypes:
    - BN_MONT_CTX**
    - CRYPTO_RWLOCK*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 468
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 468
    functionName: BN_MONT_CTX_set_locked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/bn_mont.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - BN_MONT_CTX_free
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: BN_MONT_CTX*
    signature: 'BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, CRYPTO_RWLOCK
      *lock, const BIGNUM *mod, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:148,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:149,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:157,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:151,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:150,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:160,1
    - Dst: mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 166
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 166
    functionName: bn_mul_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - h
    - l
    - d
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: bn_div_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:502,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:505,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:509,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:506,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:510,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:511,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:514,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:515,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:516,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:517,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:525,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:526,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:529,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:520,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:522,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 532
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 532
    functionName: bn_mul_comba4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    functionsReached:
    - mul_add_c
    linkageType: ''
    returnType: void
    signature: 'void bn_mul_comba4(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:118,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:121,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:120,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:119,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:127,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:130,1
    - Dst: mul_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: bn_mul_add_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    functionsReached:
    - mul_add
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num,
      BN_ULONG w) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:174,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:175,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:176,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:177,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:183,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:186,1
    - Dst: sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: bn_sqr_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    functionsReached:
    - sqr
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: bn_add_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG
      *bp, int n) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 305
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 305
    functionName: bn_sub_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    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:
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:457,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:456,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:455,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:454,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:483,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:446,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:475,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:445,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:444,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:464,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:463,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:462,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:453,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:482,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:399,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:403,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:406,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:408,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:412,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:414,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:417,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:426,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:421,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:419,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:428,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:451,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:460,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:461,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:469,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:470,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:487,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:435,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:434,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:478,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:448,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:477,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:447,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:476,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:468,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:438,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:437,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:436,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:443,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:486,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:442,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:441,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:432,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:490,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:465,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:452,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:481,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:407,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:402,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:411,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:413,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:425,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:427,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:420,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:418,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:424,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:429,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:471,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:472,1
    - Dst: mul_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 98
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 493
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 493
    functionName: bn_mul_comba8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    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: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:541,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:548,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:557,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:566,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:572,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:579,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:585,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:588,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:594,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:604,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:551,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:544,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:560,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:565,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:567,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:573,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:580,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:589,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:552,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:555,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:568,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:561,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:574,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:577,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:583,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:590,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:597,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:601,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:547,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:556,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:562,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:571,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:578,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:584,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:593,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 70
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 607
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 607
    functionName: bn_sqr_comba8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:616,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:622,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:623,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:619,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:626,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:627,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:630,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:631,1
    - Dst: sqr_add_c2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:634,1
    - Dst: sqr_add_c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    constantsTouched: []
    func_position:
      end: 640
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 640
    functionName: bn_sqr_comba4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    functionsReached:
    - sqr_add_c2
    - sqr_add_c
    linkageType: ''
    returnType: void
    signature: 'void bn_sqr_comba4(BN_ULONG *r, const BN_ULONG *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 255
    functionName: bn_sub_words
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: 'BN_ULONG bn_sub_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG
      *bp, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:74,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:78,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: bio_from_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_new
    - ERR_raise
    - BIO_s_file
    - BIO_set_fp
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *bio_from_file(FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:273,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:277,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_ENCODER_get0_properties
    - OSSL_ENCODER_get0_name
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:291,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:292,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:291,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:296,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:297,1
    - Dst: ossl_encoder_instance_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:301,1
    - Dst: ossl_encoder_ctx_add_encoder_inst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:306,1
    - Dst: ossl_encoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:311,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - encoder
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 315
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 315
    functionName: OSSL_ENCODER_CTX_add_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ossl_encoder_instance_new
    - ERR_raise
    - OSSL_ENCODER_get0_provider
    - ossl_assert
    - OSSL_PROVIDER_get0_provider_ctx
    - ossl_encoder_ctx_add_encoder_inst
    - ossl_encoder_instance_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_add_encoder(OSSL_ENCODER_CTX *ctx, OSSL_ENCODER
      *encoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_ENCODER_CTX*
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: OSSL_ENCODER_CTX_get_num_encoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - sk_OSSL_ENCODER_INSTANCE_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_get_num_encoders(OSSL_ENCODER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:344,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct_data
    argTypes:
    - OSSL_ENCODER_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: OSSL_ENCODER_CTX_set_construct_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_construct_data(OSSL_ENCODER_CTX *ctx, void
      *construct_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: OSSL_ENCODER_INSTANCE_get_output_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_ENCODER_INSTANCE_get_output_type(OSSL_ENCODER_INSTANCE
      *encoder_inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:48,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:62,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:51,1
    - Dst: encoder_process
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - OSSL_ENCODER_CTX*
    - BIO*
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: OSSL_ENCODER_to_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_ENCODER_CTX_get_num_encoders
    - encoder_process
    - ERR_raise_data
    - memset
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_to_bio(OSSL_ENCODER_CTX *ctx, BIO *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bio_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:84,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:88,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - OSSL_ENCODER_CTX*
    - FILE*
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: OSSL_ENCODER_to_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_to_bio
    - bio_from_file
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_to_fp(OSSL_ENCODER_CTX *ctx, FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: OSSL_ENCODER_CTX_add_extra
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_add_extra(OSSL_ENCODER_CTX *ctx, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_CONSTRUCT*
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: OSSL_ENCODER_CTX_set_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_construct(OSSL_ENCODER_CTX *ctx, OSSL_ENCODER_CONSTRUCT
      *construct) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:355,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cleanup
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_CLEANUP*
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: OSSL_ENCODER_CTX_set_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_cleanup(OSSL_ENCODER_CTX *ctx, OSSL_ENCODER_CLEANUP
      *cleanup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: OSSL_ENCODER_INSTANCE_get_output_structure
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_ENCODER_INSTANCE_get_output_structure(OSSL_ENCODER_INSTANCE
      *encoder_inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:254,1
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: ossl_encoder_instance_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_encoder_instance_free(OSSL_ENCODER_INSTANCE *encoder_inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:265,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:273,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:266,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:270,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:277,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:278,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - ei
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 282
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 282
    functionName: ossl_encoder_ctx_add_encoder_inst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_raise
    - OSSL_ENCODER_get0_properties
    - sk_OSSL_ENCODER_INSTANCE_new_null
    - OSSL_ENCODER_get0_name
    - sk_OSSL_ENCODER_INSTANCE_push
    - OSSL_TRACE_END
    linkageType: ''
    returnType: int
    signature: 'static int ossl_encoder_ctx_add_encoder_inst(OSSL_ENCODER_CTX *ctx,
      OSSL_ENCODER_INSTANCE *ei) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: OSSL_ENCODER_INSTANCE_get_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ENCODER*
    signature: 'OSSL_ENCODER *OSSL_ENCODER_INSTANCE_get_encoder(OSSL_ENCODER_INSTANCE
      *encoder_inst) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:103,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:107,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:111,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:107,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:110,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:132,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:142,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - pdata
    - pdata_len
    argTypes:
    - OSSL_ENCODER_CTX*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 144
    functionName: OSSL_ENCODER_to_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_to_bio
    - ERR_raise
    - BIO_free
    - memcpy
    - BIO_get_mem_ptr
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_to_data(OSSL_ENCODER_CTX *ctx, unsigned char **pdata,
      size_t *pdata_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 377
    functionName: OSSL_ENCODER_INSTANCE_get_encoder_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_ENCODER_INSTANCE_get_encoder_ctx(OSSL_ENCODER_INSTANCE
      *encoder_inst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:149,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - OSSL_ENCODER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: OSSL_ENCODER_CTX_set_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_selection(OSSL_ENCODER_CTX *ctx, int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:178,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - output_structure
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: OSSL_ENCODER_CTX_set_output_structure
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_output_structure(OSSL_ENCODER_CTX *ctx, const
      char *output_structure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:165,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - output_type
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: OSSL_ENCODER_CTX_set_output_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_output_type(OSSL_ENCODER_CTX *ctx, const
      char *output_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:201,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:206,1
    - Dst: ossl_property_get_string_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:236,1
    - Dst: ossl_encoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:242,1
    - Dst: ossl_property_get_string_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:222,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:200,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:228,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:224,1
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:205,1
    - Dst: ossl_property_find_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:233,1
    - Dst: ossl_property_find_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:221,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:210,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:211,1
    - Dst: ossl_encoder_parsed_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:212,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:214,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:216,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:227,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - encoder
    - encoderctx
    argTypes:
    - OSSL_ENCODER*
    - void*
    constantsTouched: []
    func_position:
      end: 244
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 244
    functionName: ossl_encoder_instance_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - ossl_encoder_parsed_properties
    - ERR_raise
    - OSSL_ENCODER_get0_provider
    - ossl_assert
    - OSSL_ENCODER_get0_properties
    - OSSL_ENCODER_up_ref
    - ossl_property_find_property
    - ossl_encoder_instance_free
    - OPENSSL_zalloc
    - ossl_property_get_string_value
    - ERR_raise_data
    - OSSL_ENCODER_get0_name
    - ossl_provider_libctx
    linkageType: ''
    returnType: OSSL_ENCODER_INSTANCE*
    signature: 'static OSSL_ENCODER_INSTANCE *ossl_encoder_instance_new(OSSL_ENCODER
      *encoder, void *encoderctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:427,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:429,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:431,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:433,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_structure
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:435,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:459,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:470,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:466,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:528,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:644,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:424,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:444,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:462,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:545,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:585,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:602,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:613,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:636,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:671,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:674,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:610,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:476,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:496,1
    - Dst: encoder_process
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:507,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:531,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:631,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:648,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:668,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:631,1
    - Dst: ossl_core_bio_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:651,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:436,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:448,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:472,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:491,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:488,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:542,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:576,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:586,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_structure
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:599,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:606,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c:658,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 132
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct encoder_process_data_st*
    constantsTouched: []
    func_position:
      end: 678
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 678
    functionName: encoder_process
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_free
    - OSSL_ENCODER_INSTANCE_get_output_type
    - BIO_get_mem_ptr
    - BIO_s_mem
    - OSSL_ENCODER_get0_name
    - sk_OSSL_ENCODER_INSTANCE_value
    - BIO_new
    - BIO_printf
    - OSSL_ENCODER_INSTANCE_get_output_structure
    - OPENSSL_free
    - encoder_process
    - OSSL_ENCODER_INSTANCE_get_encoder
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - OPENSSL_strcasecmp
    - OSSL_PARAM_construct_utf8_string
    - OSSL_TRACE_END
    - OSSL_PARAM_construct_end
    - ossl_core_bio_free
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - ossl_assert
    - ossl_core_bio_new_from_bio
    - OSSL_ENCODER_is_a
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int encoder_process(struct encoder_process_data_st *data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:53,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:58,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:67,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:65,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:57,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:68,1
    - Dst: BIO_f_readbuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:68,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:71,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:73,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:78,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:98,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:100,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:111,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:112,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:108,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:98,1
    - Dst: decoder_process
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:80,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - OSSL_DECODER_CTX*
    - BIO*
    constantsTouched: []
    func_position:
      end: 115
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 115
    functionName: OSSL_DECODER_from_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_DECODER_CTX_get_num_decoders
    - ERR_peek_error
    - BIO_free
    - decoder_process
    - BIO_tell
    - ERR_raise_data
    - BIO_pop
    - BIO_f_readbuffer
    - BIO_push
    - ERR_peek_last_error
    - ossl_pw_clear_passphrase_cache
    - BIO_new
    - ossl_pw_enable_passphrase_caching
    - memset
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_from_bio(OSSL_DECODER_CTX *ctx, BIO *in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:122,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:123,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: bio_from_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_new
    - ERR_raise
    - BIO_s_file
    - BIO_set_fp
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *bio_from_file(FILE *fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - input_type
    argTypes:
    - OSSL_DECODER_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: OSSL_DECODER_CTX_set_input_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_input_type(OSSL_DECODER_CTX *ctx, const char
      *input_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bio_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:132,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:138,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - OSSL_DECODER_CTX*
    - FILE*
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: OSSL_DECODER_from_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - input_structure
    argTypes:
    - OSSL_DECODER_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: OSSL_DECODER_CTX_set_input_structure
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_input_structure(OSSL_DECODER_CTX *ctx, const
      char *input_structure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:360,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:362,1
    - Dst: sk_OSSL_DECODER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: collect_all_decoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_up_ref
    - OSSL_DECODER_free
    - sk_OSSL_DECODER_push
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_DECODER)
    signature: 'DEFINE_STACK_OF(OSSL_DECODER) static void collect_all_decoders(OSSL_DECODER
      *decoder, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 743
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 976
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_DECODER_INSTANCE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:290,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:291,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:298,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:302,1
    - Dst: sk_OSSL_DECODER_INSTANCE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:295,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:303,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - di
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: ossl_decoder_ctx_add_decoder_inst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_raise
    - OSSL_DECODER_get0_properties
    - sk_OSSL_DECODER_INSTANCE_push
    - OSSL_DECODER_get0_name
    - OSSL_TRACE_END
    - sk_OSSL_DECODER_INSTANCE_new_null
    linkageType: ''
    returnType: int
    signature: 'int ossl_decoder_ctx_add_decoder_inst(OSSL_DECODER_CTX *ctx, OSSL_DECODER_INSTANCE
      *di) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:577,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct_data
    argTypes:
    - OSSL_DECODER_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: OSSL_DECODER_CTX_set_construct_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_construct_data(OSSL_DECODER_CTX *ctx, void
      *construct_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: OSSL_DECODER_CTX_get_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DECODER_CONSTRUCT*
    signature: 'OSSL_DECODER_CONSTRUCT *OSSL_DECODER_CTX_get_construct(OSSL_DECODER_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:839,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:844,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 846
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 860
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 876
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:316,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:321,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:316,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:322,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:317,1
    - Dst: ossl_decoder_instance_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:326,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:331,1
    - Dst: ossl_decoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:336,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - decoder
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 340
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 340
    functionName: OSSL_DECODER_CTX_add_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ossl_decoder_instance_new
    - ERR_raise
    - ossl_assert
    - OSSL_PROVIDER_get0_provider_ctx
    - ossl_decoder_ctx_add_decoder_inst
    - OSSL_DECODER_get0_provider
    - ossl_decoder_instance_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_add_decoder(OSSL_DECODER_CTX *ctx, OSSL_DECODER
      *decoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:588,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cleanup
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_CLEANUP*
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: OSSL_DECODER_CTX_set_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_cleanup(OSSL_DECODER_CTX *ctx, OSSL_DECODER_CLEANUP
      *cleanup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: OSSL_DECODER_CTX_get_construct_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_DECODER_CTX_get_construct_data(OSSL_DECODER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:150,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:156,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:155,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:154,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - pdata
    - pdata_len
    argTypes:
    - OSSL_DECODER_CTX*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: OSSL_DECODER_from_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_free
    - BIO_get_mem_data
    - BIO_new_mem_buf
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_from_data(OSSL_DECODER_CTX *ctx, const unsigned char
      **pdata, size_t *pdata_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: OSSL_DECODER_INSTANCE_get_input_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_DECODER_INSTANCE_get_input_type(OSSL_DECODER_INSTANCE
      *decoder_inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - OSSL_DECODER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: OSSL_DECODER_CTX_set_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_selection(OSSL_DECODER_CTX *ctx, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:377,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:382,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - decoder_inst
    - was_set
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - int*
    constantsTouched: []
    func_position:
      end: 672
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 672
    functionName: OSSL_DECODER_INSTANCE_get_input_structure
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_DECODER_INSTANCE_get_input_structure(OSSL_DECODER_INSTANCE
      *decoder_inst, int *was_set) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:696,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:715,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:793,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:770,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:764,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:819,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:832,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_structure
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:835,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:844,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:846,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:985,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:903,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:723,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:709,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:725,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:735,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:775,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:771,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:797,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:743,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:814,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:815,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:860,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:900,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:957,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:856,1
    - Dst: BIO_seek
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:941,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:976,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:884,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:712,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:776,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:828,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:839,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:845,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:889,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:906,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:920,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:926,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:969,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:982,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:886,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:942,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:947,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:997,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:732,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:740,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:761,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:804,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:820,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:826,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:830,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:854,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:870,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:872,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:951,1
    - Dst: ossl_core_bio_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:996,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:923,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:876,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 162
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 999
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 999
    functionName: decoder_process
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_DECODER_get0_properties
    - BIO_free
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - ERR_set_mark
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_is_a
    - BIO_printf
    - OSSL_PARAM_get_utf8_string_ptr
    - BIO_new_mem_buf
    - BIO_seek
    - BIO_tell
    - OPENSSL_strcasecmp
    - OSSL_TRACE_END
    - ERR_clear_last_mark
    - ossl_core_bio_free
    - sk_OSSL_DECODER_INSTANCE_value
    - ERR_raise
    - ERR_pop_to_mark
    - ossl_core_bio_new_from_bio
    - OSSL_DECODER_INSTANCE_get_input_structure
    - OSSL_PARAM_locate_const
    - OSSL_DECODER_INSTANCE_get_input_type
    - OSSL_DECODER_INSTANCE_get_decoder
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int decoder_process(const OSSL_PARAM params[], void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:225,1
    - Dst: ossl_property_find_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:241,1
    - Dst: ossl_property_get_string_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:260,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:230,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:221,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:231,1
    - Dst: ossl_decoder_parsed_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:232,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:234,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:236,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:247,1
    - Dst: ossl_property_find_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:253,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:259,1
    - Dst: ossl_decoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:267,1
    - Dst: ossl_property_get_string_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:242,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:226,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:244,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:248,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 2
    argNames:
    - decoder
    - decoderctx
    argTypes:
    - OSSL_DECODER*
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 269
    functionName: ossl_decoder_instance_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_DECODER_get0_properties
    - ossl_assert
    - ossl_decoder_parsed_properties
    - OSSL_DECODER_up_ref
    - ossl_property_find_property
    - OPENSSL_zalloc
    - ossl_property_get_string_value
    - OSSL_DECODER_get0_name
    - ERR_raise_data
    - OSSL_DECODER_get0_provider
    - ossl_decoder_instance_free
    - ossl_provider_libctx
    linkageType: ''
    returnType: OSSL_DECODER_INSTANCE*
    signature: 'OSSL_DECODER_INSTANCE *ossl_decoder_instance_new(OSSL_DECODER *decoder,
      void *decoderctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:298,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:302,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:369,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:397,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:427,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:433,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:377,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:382,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:392,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:399,1
    - Dst: ossl_decoder_instance_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:407,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:421,1
    - Dst: ossl_decoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:429,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:372,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:370,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:416,1
    - Dst: ossl_decoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:417,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:431,1
    - Dst: ossl_decoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:444,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:381,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:383,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:415,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:419,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:428,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:443,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    constantsTouched: []
    func_position:
      end: 450
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 450
    functionName: collect_extra_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ossl_decoder_instance_new
    - sk_OSSL_DECODER_INSTANCE_value
    - OSSL_DECODER_get0_properties
    - OSSL_PROVIDER_get0_provider_ctx
    - ossl_decoder_ctx_add_decoder_inst
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_is_a
    - OSSL_DECODER_get0_provider
    - ossl_decoder_instance_free
    - OSSL_TRACE_END
    - OSSL_DECODER_INSTANCE_get_input_type
    linkageType: ''
    returnType: void
    signature: 'static void collect_extra_decoder(OSSL_DECODER *decoder, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_DECODER_INSTANCE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: OSSL_DECODER_CTX_get_num_decoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - sk_OSSL_DECODER_INSTANCE_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_get_num_decoders(OSSL_DECODER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    constantsTouched: []
    func_position:
      end: 617
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 617
    functionName: OSSL_DECODER_CTX_get_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DECODER_CLEANUP*
    signature: 'OSSL_DECODER_CLEANUP *OSSL_DECODER_CTX_get_cleanup(OSSL_DECODER_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 646
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 646
    functionName: OSSL_DECODER_INSTANCE_get_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DECODER*
    signature: 'OSSL_DECODER *OSSL_DECODER_INSTANCE_get_decoder(OSSL_DECODER_INSTANCE
      *decoder_inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:279,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: ossl_decoder_instance_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_decoder_instance_free(OSSL_DECODER_INSTANCE *decoder_inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:482,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:497,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:499,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:484,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:485,1
    - Dst: sk_OSSL_DECODER_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:502,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:504,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:507,1
    - Dst: sk_OSSL_DECODER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:508,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:510,1
    - Dst: collect_extra_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:538,1
    - Dst: sk_OSSL_DECODER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:552,1
    - Dst: sk_OSSL_DECODER_INSTANCE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:513,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:534,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:531,1
    - Dst: sk_OSSL_DECODER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:538,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 554
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 554
    functionName: OSSL_DECODER_CTX_add_extra
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OSSL_DECODER_num
    - sk_OSSL_DECODER_INSTANCE_value
    - ERR_raise
    - sk_OSSL_DECODER_new_null
    - ossl_assert
    - memset
    - sk_OSSL_DECODER_INSTANCE_num
    - collect_extra_decoder
    - sk_OSSL_DECODER_pop_free
    - OSSL_DECODER_do_all_provided
    - sk_OSSL_DECODER_value
    - OSSL_TRACE_END
    - OSSL_DECODER_INSTANCE_get_input_type
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_add_extra(OSSL_DECODER_CTX *ctx, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:566,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_CONSTRUCT*
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: OSSL_DECODER_CTX_set_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_construct(OSSL_DECODER_CTX *ctx, OSSL_DECODER_CONSTRUCT
      *construct) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:626,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:629,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:627,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:630,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:628,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:634,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c:635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - decoder_inst
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 638
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 638
    functionName: OSSL_DECODER_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - ERR_raise
    - ossl_assert
    - OSSL_DECODER_INSTANCE_get_decoder
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_export(OSSL_DECODER_INSTANCE *decoder_inst, void
      *reference, size_t reference_sz, OSSL_CALLBACK *export_cb, void *export_cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    constantsTouched: []
    func_position:
      end: 654
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 654
    functionName: OSSL_DECODER_INSTANCE_get_decoder_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_DECODER_INSTANCE_get_decoder_ctx(OSSL_DECODER_INSTANCE
      *decoder_inst) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:254,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:259,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:262,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:264,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:289,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:286,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:281,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:232,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:258,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:260,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:266,1
    - Dst: ossl_decoder_instance_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:274,1
    - Dst: ossl_decoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:290,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:285,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:287,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:233,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    constantsTouched: []
    func_position:
      end: 303
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 303
    functionName: collect_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ossl_decoder_instance_new
    - OSSL_DECODER_get0_properties
    - sk_OPENSSL_CSTRING_num
    - OSSL_PROVIDER_get0_provider_ctx
    - ossl_decoder_ctx_add_decoder_inst
    - OSSL_DECODER_get0_name
    - sk_OPENSSL_CSTRING_value
    - OSSL_DECODER_is_a
    - OSSL_DECODER_get0_provider
    - ossl_decoder_instance_free
    - OSSL_TRACE_END
    linkageType: ''
    returnType: void
    signature: 'static void collect_decoder(OSSL_DECODER *decoder, void *arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:324,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:339,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:368,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:384,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:404,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:410,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:413,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:382,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:380,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:311,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:337,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:365,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:395,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:397,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:407,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:333,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:319,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:335,1
    - Dst: sk_EVP_KEYMGMT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:338,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:340,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:355,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:366,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:353,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:367,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:376,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:320,1
    - Dst: EVP_KEYMGMT_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:349,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:375,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:383,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:411,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:412,1
    - Dst: decoder_clean_pkey_construct_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:422,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:423,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 5
    argNames:
    - ctx
    - pkey
    - keytype
    - libctx
    - propquery
    argTypes:
    - OSSL_DECODER_CTX*
    - EVP_PKEY**
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 426
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 426
    functionName: ossl_decoder_ctx_setup_for_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_CTX_get_num_decoders
    - sk_OPENSSL_CSTRING_num
    - OSSL_DECODER_CTX_set_construct_data
    - decoder_clean_pkey_construct_arg
    - OSSL_DECODER_CTX_set_cleanup
    - STACK_OF
    - BIO_printf
    - OPENSSL_strdup
    - EVP_KEYMGMT_names_do_all
    - strcmp
    - OPENSSL_zalloc
    - sk_OPENSSL_CSTRING_new_null
    - OSSL_DECODER_CTX_set_construct
    - EVP_KEYMGMT_is_a
    - sk_OPENSSL_CSTRING_value
    - OSSL_TRACE_END
    - sk_EVP_KEYMGMT_num
    - EVP_KEYMGMT_do_all_provided
    - ERR_raise
    - sk_EVP_KEYMGMT_new_null
    - OSSL_DECODER_do_all_provided
    - sk_EVP_KEYMGMT_value
    - sk_OPENSSL_CSTRING_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_decoder_ctx_setup_for_pkey(OSSL_DECODER_CTX *ctx, EVP_PKEY
      **pkey, const char *keytype, OSSL_LIB_CTX *libctx, const char *propquery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:212,1
    - Dst: sk_EVP_KEYMGMT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:214,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - keymgmt
    - arg
    argTypes:
    - EVP_KEYMGMT*
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: collect_keymgmt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - EVP_KEYMGMT_up_ref
    - EVP_KEYMGMT_free
    - sk_EVP_KEYMGMT_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_keymgmt(EVP_KEYMGMT *keymgmt, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:254,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:258,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:281,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:285,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - kstr
    - klen
    argTypes:
    - OSSL_DECODER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: OSSL_DECODER_CTX_set_passphrase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_passphrase
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_passphrase(OSSL_DECODER_CTX *ctx, const unsigned
      char *kstr, size_t klen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:375,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:382,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:380,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:383,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OPENSSL_CSTRING_value
    - sk_OPENSSL_CSTRING_num
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: decoder_pkey_data_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_KEYMGMT)
    signature: 'DEFINE_STACK_OF(EVP_KEYMGMT) struct decoder_pkey_data_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: OSSL_DECODER_CTX_set_passphrase_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_passphrase_cb(OSSL_DECODER_CTX *ctx, OSSL_PASSPHRASE_CALLBACK
      *cb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_DECODER_CTX*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: OSSL_DECODER_CTX_set_passphrase_ui
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_ui_method
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_passphrase_ui(OSSL_DECODER_CTX *ctx, const
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_KEYMGMT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:194,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:195,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:196,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - construct_data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: decoder_clean_pkey_construct_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_EVP_KEYMGMT_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void decoder_clean_pkey_construct_arg(void *construct_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:457,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_CTX_get_num_decoders
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_pem_password_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_DECODER_CTX*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: OSSL_DECODER_CTX_set_pem_password_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_pem_password_cb
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_pem_password_cb(OSSL_DECODER_CTX *ctx, pem_password_cb
      *cb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: collect_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_name(const char *name, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:437,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:448,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:438,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:443,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:446,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:450,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:451,1
    - Dst: OSSL_DECODER_CTX_set_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:452,1
    - Dst: ossl_decoder_ctx_setup_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:453,1
    - Dst: OSSL_DECODER_CTX_add_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:455,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:457,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:459,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:458,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:463,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 7
    argNames:
    - pkey
    - input_type
    - input_structure
    - keytype
    - selection
    - libctx
    - propquery
    argTypes:
    - EVP_PKEY**
    - char*
    - char*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 465
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 465
    functionName: OSSL_DECODER_CTX_new_for_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_raise
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_DECODER_CTX_set_input_type
    - OSSL_DECODER_CTX_add_extra
    - OSSL_DECODER_CTX_free
    - ossl_decoder_ctx_setup_for_pkey
    - OSSL_DECODER_CTX_set_input_structure
    - OSSL_TRACE_END
    - OSSL_DECODER_CTX_new
    - OSSL_DECODER_CTX_set_selection
    linkageType: ''
    returnType: OSSL_DECODER_CTX*
    signature: 'OSSL_DECODER_CTX *OSSL_DECODER_CTX_new_for_pkey(EVP_PKEY **pkey, const
      char *input_type, const char *input_structure, const char *keytype, int selection,
      OSSL_LIB_CTX *libctx, const char *propquery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:443,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:72,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:116,1
    - Dst: evp_keymgmt_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:146,1
    - Dst: evp_keymgmt_util_make_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:171,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:127,1
    - Dst: evp_keymgmt_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:172,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:92,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:115,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:130,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:71,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:94,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:103,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:125,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:70,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:88,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:113,1
    - Dst: evp_keymgmt_has_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:119,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:120,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:180,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 3
    argNames:
    - decoder_inst
    - params
    - construct_data
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - OSSL_PARAM*
    - void*
    constantsTouched: []
    func_position:
      end: 187
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 187
    functionName: decoder_construct_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - sk_EVP_KEYMGMT_num
    - evp_keymgmt_load
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - OPENSSL_free
    - evp_keymgmt_has_load
    - evp_keymgmt_freedata
    - EVP_KEYMGMT_is_a
    - EVP_KEYMGMT_free
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - EVP_KEYMGMT_fetch
    - OSSL_DECODER_get0_provider
    - sk_EVP_KEYMGMT_value
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_up_ref
    - evp_keymgmt_util_make_pkey
    - OSSL_DECODER_INSTANCE_get_decoder
    linkageType: ''
    returnType: int
    signature: 'static int decoder_construct_pkey(OSSL_DECODER_INSTANCE *decoder_inst,
      const OSSL_PARAM *params, void *construct_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: (DECODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (DECODER) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_err.c:31,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_err.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ossl_err_load_OSSL_DECODER_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_OSSL_DECODER_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:30,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:31,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:32,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: ossl_decoder_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_DECODER*
    signature: 'static OSSL_DECODER *ossl_decoder_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: dealloc_tmp_decoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void dealloc_tmp_decoder_store(void *store) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:323,1
    - Dst: ossl_namemap_add_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:326,1
    - Dst: ossl_decoder_from_algorithm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:330,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    constantsTouched: []
    func_position:
      end: 341
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 341
    functionName: construct_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_decoder_from_algorithm
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_add_names
    linkageType: ''
    returnType: void*
    signature: 'static void *construct_decoder(const OSSL_ALGORITHM *algodef, OSSL_PROVIDER
      *prov, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: destruct_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_free
    linkageType: ''
    returnType: void
    signature: 'static void destruct_decoder(void *method, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:477,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 482
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 482
    functionName: ossl_decoder_store_cache_flush
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:600,1
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:603,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:601,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 3
    argNames:
    - decoder
    - (*fn)
    - data
    argTypes:
    - OSSL_DECODER*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 607
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 607
    functionName: OSSL_DECODER_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_names_do_all(const OSSL_DECODER *decoder, void (*fn)(const
      char *name, void *data), void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - decoder
    - params
    argTypes:
    - OSSL_DECODER*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: OSSL_DECODER_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_get_params(OSSL_DECODER *decoder, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: OSSL_DECODER_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_up_ref(OSSL_DECODER *decoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: up_ref_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int up_ref_decoder(void *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:486,1
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:487,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: ossl_decoder_store_remove_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - get_decoder_store
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    linkageType: ''
    returnType: int
    signature: 'int ossl_decoder_store_remove_all_provided(const OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:613,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: OSSL_DECODER_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - OSSL_DECODER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *OSSL_DECODER_gettable_params(OSSL_DECODER *decoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:631,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: OSSL_DECODER_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - OSSL_DECODER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *OSSL_DECODER_settable_ctx_params(OSSL_DECODER *decoder) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_decoder_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:226,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:230,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:229,1
    - Dst: OSSL_FUNC_decoder_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:244,1
    - Dst: OSSL_FUNC_decoder_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:248,1
    - Dst: OSSL_FUNC_decoder_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:253,1
    - Dst: OSSL_FUNC_decoder_does_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:273,1
    - Dst: OSSL_FUNC_decoder_export_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:281,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:298,1
    - Dst: OSSL_FUNC_decoder_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:263,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:235,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:236,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:294,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:224,1
    - Dst: OSSL_FUNC_decoder_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:258,1
    - Dst: OSSL_FUNC_decoder_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:277,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:293,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:299,1
    - Dst: OSSL_FUNC_decoder_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:268,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 67
    argCount: 3
    argNames:
    - id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 305
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 305
    functionName: ossl_decoder_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_free
    - ERR_raise
    - OSSL_FUNC_decoder_freectx
    - OSSL_FUNC_decoder_does_selection
    - ossl_parse_property
    - OSSL_FUNC_decoder_get_params
    - OSSL_FUNC_decoder_set_ctx_params
    - ossl_decoder_new
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_decoder_newctx
    - OSSL_FUNC_decoder_gettable_params
    - OSSL_FUNC_decoder_settable_ctx_params
    - OSSL_FUNC_decoder_decode
    - OSSL_FUNC_decoder_export_object
    - ossl_provider_up_ref
    - ossl_provider_libctx
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_decoder_from_algorithm(int id, const OSSL_ALGORITHM *algodef,
      OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:500,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: OSSL_DECODER_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *OSSL_DECODER_get0_provider(const OSSL_DECODER
      *decoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: get_tmp_decoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *get_tmp_decoder_store(void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:510,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: OSSL_DECODER_get0_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_DECODER_get0_properties(const OSSL_DECODER *decoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vstore
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: decoder_store_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void decoder_store_free(void *vstore) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:364,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:365,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:380,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:379,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:371,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:385,1
    - Dst: ossl_method_store_cache_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:395,1
    - Dst: ossl_method_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:411,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:421,1
    - Dst: ossl_method_store_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:423,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:441,1
    - Dst: ossl_namemap_num2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:438,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:439,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 4
    argNames:
    - methdata
    - id
    - name
    - properties
    argTypes:
    - struct decoder_data_st*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 447
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 447
    functionName: inner_ossl_decoder_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_cache_get
    - ossl_method_store_cache_set
    - ERR_raise
    - ossl_assert
    - ossl_namemap_num2name
    - ossl_namemap_stored
    - get_decoder_store
    - ERR_raise_data
    - ossl_lib_ctx_get_descriptor
    - ossl_namemap_name2num
    - ossl_method_construct
    linkageType: ''
    returnType: OSSL_DECODER*
    signature: 'static OSSL_DECODER *inner_ossl_decoder_fetch(struct decoder_data_st
      *methdata, int id, const char *name, const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: decoder_store_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *decoder_store_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:57,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:60,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:62,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:63,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:61,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: OSSL_DECODER_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_DOWN_REF
    - ossl_property_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_DECODER_free(OSSL_DECODER *decoder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:162,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:169,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:165,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:164,1
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:176,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:179,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 182
    functionName: get_decoder_from_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - strchr
    - ossl_namemap_stored
    - get_decoder_store
    - ossl_method_store_fetch
    - ossl_namemap_name2num_n
    - strlen
    linkageType: ''
    returnType: void*
    signature: 'static void *get_decoder_from_store(void *store, const OSSL_PROVIDER
      **prov, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: free_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_free
    linkageType: ''
    returnType: void
    signature: 'static void free_decoder(void *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_decoder_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:457,1
    - Dst: dealloc_tmp_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - name
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: OSSL_DECODER_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - inner_ossl_decoder_fetch
    - dealloc_tmp_decoder_store
    linkageType: ''
    returnType: OSSL_DECODER*
    signature: 'OSSL_DECODER *OSSL_DECODER_fetch(OSSL_LIB_CTX *libctx, const char
      *name, const char *properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:521,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: ossl_decoder_parsed_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST*
    signature: 'const OSSL_PROPERTY_LIST *ossl_decoder_parsed_properties(const OSSL_DECODER
      *decoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:552,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:555,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - decoder
    - name
    argTypes:
    - OSSL_DECODER*
    - char*
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: OSSL_DECODER_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_is_a(const OSSL_DECODER *decoder, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - int
    - id
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: do_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_one(ossl_unused int id, void *method, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:201,1
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:210,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:203,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:207,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:206,1
    - Dst: ossl_method_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:213,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - names
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: put_decoder_in_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_add
    - strchr
    - ossl_namemap_stored
    - get_decoder_store
    - ossl_namemap_name2num_n
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int put_decoder_in_store(void *store, void *method, const OSSL_PROVIDER
      *prov, const char *names, const char *propdef, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_decoder_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:470,1
    - Dst: dealloc_tmp_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - id
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: ossl_decoder_fetch_by_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - inner_ossl_decoder_fetch
    - dealloc_tmp_decoder_store
    linkageType: ''
    returnType: OSSL_DECODER*
    signature: 'OSSL_DECODER *ossl_decoder_fetch_by_number(OSSL_LIB_CTX *libctx, int
      id, const char *properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:531,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 537
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 537
    functionName: ossl_decoder_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_decoder_get_number(const OSSL_DECODER *decoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_decoder_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:582,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:588,1
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:588,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:587,1
    - Dst: dealloc_tmp_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - libctx
    - (*user_fn)
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 590
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 590
    functionName: OSSL_DECODER_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - inner_ossl_decoder_fetch
    - dealloc_tmp_decoder_store
    - ossl_method_store_do_all
    - get_decoder_store
    linkageType: ''
    returnType: void
    signature: 'void OSSL_DECODER_do_all_provided(OSSL_LIB_CTX *libctx, void (*user_fn)(OSSL_DECODER
      *decoder, void *arg), void *user_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:652,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 656
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 656
    functionName: OSSL_DECODER_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - 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/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:665,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:676,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:673,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:666,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:678,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 688
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 688
    functionName: OSSL_DECODER_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - sk_OSSL_DECODER_INSTANCE_value
    - ERR_raise
    - OSSL_DECODER_CTX_get_num_decoders
    - ossl_assert
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - OSSL_DECODER_INSTANCE_get_decoder
    linkageType: ''
    returnType: int
    signature: 'int OSSL_DECODER_CTX_set_params(OSSL_DECODER_CTX *ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:131,1
    - Dst: ossl_method_lock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: reserve_decoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_lock_store
    - get_decoder_store
    linkageType: ''
    returnType: int
    signature: 'static int reserve_decoder_store(void *store, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: OSSL_DECODER_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_DECODER_get0_name(const OSSL_DECODER *decoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:142,1
    - Dst: ossl_method_unlock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: unreserve_decoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - get_decoder_store
    - ossl_method_unlock_store
    linkageType: ''
    returnType: int
    signature: 'static int unreserve_decoder_store(void *store, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: OSSL_DECODER_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_DECODER_get0_description(const OSSL_DECODER *decoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:697,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:698,1
    - Dst: sk_OSSL_DECODER_INSTANCE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    constantsTouched: []
    func_position:
      end: 700
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 700
    functionName: OSSL_DECODER_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    - sk_OSSL_DECODER_INSTANCE_pop_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_DECODER_CTX_free(OSSL_DECODER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: get_decoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE*
    signature: 'static OSSL_METHOD_STORE *get_decoder_store(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:31,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:34,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - cipher_name
    - propquery
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: OSSL_ENCODER_CTX_set_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_ENCODER_CTX_set_params
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_ENCODER)
    signature: 'DEFINE_STACK_OF(OSSL_ENCODER) int OSSL_ENCODER_CTX_set_cipher(OSSL_ENCODER_CTX
      *ctx, const char *cipher_name, const char *propquery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_ENCODER_CTX*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: OSSL_ENCODER_CTX_set_passphrase_ui
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_ui_method
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_passphrase_ui(OSSL_ENCODER_CTX *ctx, const
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:97,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:100,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:101,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:112,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:99,1
    - Dst: OSSL_ENCODER_CTX_add_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - encoder
    - arg
    argTypes:
    - OSSL_ENCODER*
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 125
    functionName: collect_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_get0_provider
    - sk_OPENSSL_CSTRING_num
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_ENCODER_CTX_add_encoder
    - sk_OPENSSL_CSTRING_value
    - OSSL_ENCODER_is_a
    linkageType: ''
    returnType: void
    signature: 'static void collect_encoder(OSSL_ENCODER *encoder, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:166,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: encoder_import_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - OSSL_ENCODER_INSTANCE_get_encoder
    linkageType: ''
    returnType: int
    signature: 'static int encoder_import_cb(const OSSL_PARAM params[], void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: encoder_destruct_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_INSTANCE_get_encoder
    linkageType: ''
    returnType: void
    signature: 'static void encoder_destruct_pkey(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:348,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:350,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_get0_type_name
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:370,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: (ENCODER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_ENCODER_CTX_get_num_encoders
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (ENCODER) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - kstr
    - klen
    argTypes:
    - OSSL_ENCODER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: OSSL_ENCODER_CTX_set_passphrase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_passphrase
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_passphrase(OSSL_ENCODER_CTX *ctx, const unsigned
      char *kstr, size_t klen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_pem_password_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_ENCODER_CTX*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: OSSL_ENCODER_CTX_set_pem_password_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_pem_password_cb
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_pem_password_cb(OSSL_ENCODER_CTX *ctx, pem_password_cb
      *cb, void *cbarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:182,1
    - Dst: evp_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:190,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:184,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - encoder_inst
    - arg
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    - void*
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: encoder_construct_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_export
    - OSSL_ENCODER_get0_provider
    - EVP_KEYMGMT_get0_provider
    - OSSL_ENCODER_INSTANCE_get_encoder
    linkageType: ''
    returnType: void*
    signature: 'static const void *encoder_construct_pkey(OSSL_ENCODER_INSTANCE *encoder_inst,
      void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_assigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:330,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:331,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:342,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:344,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:348,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:351,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:326,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:353,1
    - Dst: ossl_encoder_ctx_setup_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:359,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:370,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:371,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:337,1
    - Dst: OSSL_ENCODER_CTX_set_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:358,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:367,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:364,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:376,1
    - Dst: OSSL_ENCODER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:336,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:341,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:350,1
    - Dst: OSSL_ENCODER_CTX_set_output_structure
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:357,1
    - Dst: OSSL_ENCODER_CTX_add_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:360,1
    - Dst: OSSL_ENCODER_CTX_set_output_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:355,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:372,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 5
    argNames:
    - pkey
    - selection
    - output_type
    - output_struct
    - propquery
    argTypes:
    - EVP_PKEY*
    - int
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 378
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 378
    functionName: OSSL_ENCODER_CTX_new_for_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_CTX_set_selection
    - OSSL_ENCODER_CTX_add_extra
    - OSSL_ENCODER_CTX_new
    - OSSL_ENCODER_CTX_free
    - ossl_encoder_ctx_setup_for_pkey
    - OSSL_ENCODER_CTX_set_output_type
    - BIO_printf
    - evp_pkey_is_provided
    - OSSL_PARAM_construct_int
    - OSSL_ENCODER_CTX_get_num_encoders
    - ERR_raise_data
    - evp_pkey_is_assigned
    - ossl_provider_libctx
    - EVP_PKEY_get0_type_name
    - EVP_KEYMGMT_get0_provider
    - OSSL_TRACE_END
    - ERR_raise
    - OSSL_ENCODER_CTX_set_output_structure
    - OSSL_ENCODER_CTX_set_params
    linkageType: ''
    returnType: OSSL_ENCODER_CTX*
    signature: 'OSSL_ENCODER_CTX *OSSL_ENCODER_CTX_new_for_pkey(const EVP_PKEY *pkey,
      int selection, const char *output_type, const char *output_struct, const char
      *propquery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: OSSL_ENCODER_CTX_set_passphrase_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_passphrase_cb(OSSL_ENCODER_CTX *ctx, OSSL_PASSPHRASE_CALLBACK
      *cb, void *cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: collect_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_name(const char *name, void *arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:232,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:261,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:279,1
    - Dst: OSSL_ENCODER_CTX_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:298,1
    - Dst: OSSL_ENCODER_CTX_set_construct_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:310,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:237,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:246,1
    - Dst: OSSL_ENCODER_CTX_set_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:296,1
    - Dst: OSSL_ENCODER_CTX_set_construct_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:297,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:311,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:236,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:238,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:245,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:295,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:290,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:263,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:231,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:256,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:288,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c:286,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 4
    argNames:
    - ctx
    - pkey
    - selection
    - propquery
    argTypes:
    - OSSL_ENCODER_CTX*
    - EVP_PKEY*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 314
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 314
    functionName: ossl_encoder_ctx_setup_for_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_new_null
    - OSSL_ENCODER_CTX_set_construct
    - evp_pkey_is_provided
    - ERR_raise
    - ossl_assert
    - EVP_KEYMGMT_names_do_all
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER_CTX_set_construct_data
    - OSSL_ENCODER_do_all_provided
    - OPENSSL_free
    - OPENSSL_zalloc
    - EVP_KEYMGMT_get0_provider
    - sk_OPENSSL_CSTRING_free
    - ossl_provider_libctx
    - OSSL_ENCODER_CTX_set_cleanup
    linkageType: ''
    returnType: int
    signature: 'static int ossl_encoder_ctx_setup_for_pkey(OSSL_ENCODER_CTX *ctx,
      const EVP_PKEY *pkey, int selection, const char *propquery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:33,1
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:32,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: ossl_encoder_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_ENCODER_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_ENCODER*
    signature: 'static OSSL_ENCODER *ossl_encoder_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_encoder_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:466,1
    - Dst: dealloc_tmp_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - name
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 469
    functionName: OSSL_ENCODER_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - inner_ossl_encoder_fetch
    - dealloc_tmp_encoder_store
    linkageType: ''
    returnType: OSSL_ENCODER*
    signature: 'OSSL_ENCODER *OSSL_ENCODER_fetch(OSSL_LIB_CTX *libctx, const char
      *name, const char *properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:486,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: ossl_encoder_store_cache_flush
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - ossl_method_store_cache_flush_all
    linkageType: ''
    returnType: int
    signature: 'int ossl_encoder_store_cache_flush(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:654,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: OSSL_ENCODER_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_ENCODER_CTX*
    signature: 'OSSL_ENCODER_CTX *OSSL_ENCODER_CTX_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: OSSL_ENCODER_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_up_ref(OSSL_ENCODER *encoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_encoder_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:479,1
    - Dst: dealloc_tmp_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - id
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: ossl_encoder_fetch_by_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - inner_ossl_encoder_fetch
    - dealloc_tmp_encoder_store
    linkageType: ''
    returnType: OSSL_ENCODER*
    signature: 'OSSL_ENCODER *ossl_encoder_fetch_by_number(OSSL_LIB_CTX *libctx, int
      id, const char *properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:495,1
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:496,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: ossl_encoder_store_remove_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    linkageType: ''
    returnType: int
    signature: 'int ossl_encoder_store_remove_all_provided(const OSSL_PROVIDER *prov) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:667,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:668,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:678,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:675,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:679,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 688
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: OSSL_ENCODER_CTX_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER_INSTANCE_get_encoder
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - sk_OSSL_ENCODER_INSTANCE_value
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_CTX_set_params(OSSL_ENCODER_CTX *ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:693,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:697,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:695,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_ENCODER_CTX*
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 699
    functionName: OSSL_ENCODER_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    - sk_OSSL_ENCODER_INSTANCE_pop_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_ENCODER_CTX_free(OSSL_ENCODER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: get_tmp_encoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *get_tmp_encoder_store(void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vstore
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: encoder_store_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void encoder_store_free(void *vstore) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:162,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:169,1
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:176,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:165,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:164,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:179,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 182
    functionName: get_encoder_from_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - strchr
    - ossl_namemap_stored
    - ossl_method_store_fetch
    - ossl_namemap_name2num_n
    - strlen
    linkageType: ''
    returnType: void*
    signature: 'static void *get_encoder_from_store(void *store, const OSSL_PROVIDER
      **prov, void *data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:374,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:390,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:389,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:381,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:375,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:395,1
    - Dst: ossl_method_store_cache_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:405,1
    - Dst: ossl_method_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:421,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:431,1
    - Dst: ossl_method_store_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:432,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:448,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:450,1
    - Dst: ossl_namemap_num2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:447,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 4
    argNames:
    - methdata
    - id
    - name
    - properties
    argTypes:
    - struct encoder_data_st*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 456
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 456
    functionName: inner_ossl_encoder_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - ossl_method_store_cache_get
    - ossl_method_store_cache_set
    - ERR_raise
    - ossl_assert
    - ossl_namemap_num2name
    - ossl_namemap_stored
    - ERR_raise_data
    - ossl_lib_ctx_get_descriptor
    - ossl_namemap_name2num
    - ossl_method_construct
    linkageType: ''
    returnType: OSSL_ENCODER*
    signature: 'static OSSL_ENCODER *inner_ossl_encoder_fetch(struct encoder_data_st
      *methdata, int id, const char *name, const char *properties) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:609,1
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:612,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:610,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 3
    argNames:
    - encoder
    - (*fn)
    - data
    argTypes:
    - OSSL_ENCODER*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 616
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 616
    functionName: OSSL_ENCODER_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_names_do_all(const OSSL_ENCODER *encoder, void (*fn)(const
      char *name, void *data), void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:201,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:203,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:207,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:206,1
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:210,1
    - Dst: ossl_method_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:213,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - names
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: put_encoder_in_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - ossl_method_store_add
    - strchr
    - ossl_namemap_stored
    - ossl_namemap_name2num_n
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int put_encoder_in_store(void *store, void *method, const OSSL_PROVIDER
      *prov, const char *names, const char *propdef, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:622,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: OSSL_ENCODER_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - OSSL_ENCODER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *OSSL_ENCODER_gettable_params(OSSL_ENCODER *encoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:57,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:60,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:62,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:61,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:63,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: OSSL_ENCODER_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_DOWN_REF
    - ossl_property_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_ENCODER_free(OSSL_ENCODER *encoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: free_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: 'static void free_encoder(void *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: encoder_store_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *encoder_store_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: destruct_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: 'static void destruct_encoder(void *method, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:530,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 536
    functionName: ossl_encoder_parsed_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST*
    signature: 'const OSSL_PROPERTY_LIST *ossl_encoder_parsed_properties(const OSSL_ENCODER
      *encoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:561,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:564,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - encoder
    - name
    argTypes:
    - OSSL_ENCODER*
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: OSSL_ENCODER_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_is_a(const OSSL_ENCODER *encoder, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - int
    - id
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 579
    functionName: do_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_one(ossl_unused int id, void *method, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - encoder
    - params
    argTypes:
    - OSSL_ENCODER*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: OSSL_ENCODER_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ENCODER_get_params(OSSL_ENCODER *encoder, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: up_ref_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int up_ref_encoder(void *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:540,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 546
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 546
    functionName: ossl_encoder_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_encoder_get_number(const OSSL_ENCODER *encoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_encoder_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:591,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:597,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:596,1
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:597,1
    - Dst: dealloc_tmp_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:598,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - libctx
    - (*user_fn)
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 599
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 599
    functionName: OSSL_ENCODER_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - inner_ossl_encoder_fetch
    - ossl_method_store_do_all
    - dealloc_tmp_encoder_store
    linkageType: ''
    returnType: void
    signature: 'void OSSL_ENCODER_do_all_provided(OSSL_LIB_CTX *libctx, void (*user_fn)(OSSL_ENCODER
      *encoder, void *arg), void *user_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:639,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 644
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 644
    functionName: OSSL_ENCODER_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - OSSL_ENCODER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *OSSL_ENCODER_settable_ctx_params(OSSL_ENCODER *encoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: get_encoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE*
    signature: 'static OSSL_METHOD_STORE *get_encoder_store(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:131,1
    - Dst: ossl_method_lock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: reserve_encoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - ossl_method_lock_store
    linkageType: ''
    returnType: int
    signature: 'static int reserve_encoder_store(void *store, void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:333,1
    - Dst: ossl_namemap_add_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:336,1
    - Dst: encoder_from_algorithm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:340,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:334,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    constantsTouched: []
    func_position:
      end: 351
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 351
    functionName: construct_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - encoder_from_algorithm
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_add_names
    linkageType: ''
    returnType: void*
    signature: 'static void *construct_encoder(const OSSL_ALGORITHM *algodef, OSSL_PROVIDER
      *prov, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:509,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: OSSL_ENCODER_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *OSSL_ENCODER_get0_provider(const OSSL_ENCODER
      *encoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: OSSL_ENCODER_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_ENCODER_get0_name(const OSSL_ENCODER *encoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:142,1
    - Dst: ossl_method_unlock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: unreserve_encoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - get_encoder_store
    - ossl_method_unlock_store
    linkageType: ''
    returnType: int
    signature: 'static int unreserve_encoder_store(void *store, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:519,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: OSSL_ENCODER_get0_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_ENCODER_get0_properties(const OSSL_ENCODER *encoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: OSSL_ENCODER_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_ENCODER_get0_description(const OSSL_ENCODER *encoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: dealloc_tmp_encoder_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void dealloc_tmp_encoder_store(void *store) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:235,1
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:236,1
    - Dst: OSSL_FUNC_encoder_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:245,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:304,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:224,1
    - Dst: OSSL_FUNC_encoder_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:250,1
    - Dst: OSSL_FUNC_encoder_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:260,1
    - Dst: OSSL_FUNC_encoder_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:270,1
    - Dst: OSSL_FUNC_encoder_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:279,1
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:303,1
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:309,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:229,1
    - Dst: ossl_encoder_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:226,1
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:230,1
    - Dst: OSSL_FUNC_encoder_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:255,1
    - Dst: OSSL_FUNC_encoder_does_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:275,1
    - Dst: OSSL_FUNC_encoder_free_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:289,1
    - Dst: OSSL_FUNC_encoder_import_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:284,1
    - Dst: OSSL_FUNC_encoder_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:265,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c:308,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 78
    argCount: 3
    argNames:
    - id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 315
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 315
    functionName: encoder_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_encoder_does_selection
    - OSSL_FUNC_encoder_freectx
    - ERR_raise
    - OSSL_FUNC_encoder_gettable_params
    - ossl_encoder_new
    - ossl_parse_property
    - OSSL_FUNC_encoder_newctx
    - OSSL_FUNC_encoder_settable_ctx_params
    - OSSL_FUNC_encoder_encode
    - OSSL_ENCODER_free
    - OSSL_FUNC_encoder_get_params
    - ossl_algorithm_get1_first_name
    - ossl_provider_up_ref
    - OSSL_FUNC_encoder_set_ctx_params
    - ossl_provider_libctx
    - OSSL_FUNC_encoder_free_object
    - OSSL_FUNC_encoder_import_object
    linkageType: ''
    returnType: void*
    signature: 'static void *encoder_from_algorithm(int id, const OSSL_ALGORITHM *algodef,
      OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_err.c:31,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_err.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ossl_err_load_OSSL_ENCODER_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_OSSL_ENCODER_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_local.h:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: ossl_decoder_ctx_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/encode_decode/encoder_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_DECODER_INSTANCE)
    signature: 'DEFINE_STACK_OF(OSSL_DECODER_INSTANCE) struct ossl_decoder_ctx_st '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_err.c:43,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_err.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ossl_err_load_ESS_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_ESS_strings(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ESS_SIGNING_CERT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:31,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:40,1
    - Dst: ESS_CERT_ID_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:37,1
    - Dst: sk_ESS_CERT_ID_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:34,1
    - Dst: sk_ESS_CERT_ID_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:38,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:41,1
    - Dst: ESS_CERT_ID_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:43,1
    - Dst: sk_ESS_CERT_ID_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:44,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:50,1
    - Dst: ESS_CERT_ID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:52,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 3
    argNames:
    - signcert
    - certs
    - set_issuer_serial
    argTypes:
    - X509*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 54
    functionName: OSSL_ESS_signing_cert_new_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ESS_SIGNING_CERT_free
    - sk_X509_num
    - ESS_CERT_ID_new_init
    - sk_ESS_CERT_ID_new_null
    - ESS_CERT_ID_free
    - sk_X509_value
    - ESS_SIGNING_CERT_new
    - sk_ESS_CERT_ID_push
    linkageType: ''
    returnType: ESS_SIGNING_CERT*
    signature: 'ESS_SIGNING_CERT *OSSL_ESS_signing_cert_new_init(const X509 *signcert,
      const STACK_OF(X509) *certs, int set_issuer_serial) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ESS_SIGNING_CERT_V2_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:108,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:118,1
    - Dst: sk_ESS_CERT_ID_V2_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:113,1
    - Dst: ESS_CERT_ID_V2_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:110,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:117,1
    - Dst: ESS_CERT_ID_V2_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:120,1
    - Dst: sk_ESS_CERT_ID_V2_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:122,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:129,1
    - Dst: ESS_CERT_ID_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:131,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 4
    argNames:
    - hash_alg
    - signcert
    - certs
    - set_issuer_serial
    argTypes:
    - EVP_MD*
    - X509*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 133
    functionName: OSSL_ESS_signing_cert_v2_new_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_num
    - ESS_CERT_ID_V2_new_init
    - ESS_SIGNING_CERT_V2_free
    - ESS_CERT_ID_V2_free
    - sk_ESS_CERT_ID_V2_push
    - sk_X509_value
    - 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, const X509 *signcert, const STACK_OF(X509) *certs, int set_issuer_serial) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:229,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:244,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:247,1
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:257,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:254,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:236,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:248,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:251,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:281,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:238,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:241,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:272,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:263,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:279,1
    - Dst: ess_issuer_serial_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:267,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:259,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:253,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:234,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 4
    argNames:
    - cid
    - cid_v2
    - index
    - certs
    argTypes:
    - ESS_CERT_ID*
    - ESS_CERT_ID_V2*
    - int
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 283
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 283
    functionName: find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c
    functionUses: []
    functionsReached:
    - X509_digest
    - ERR_pop_to_mark
    - ERR_raise
    - memcmp
    - strcpy
    - sk_X509_num
    - EVP_get_digestbyname
    - ERR_set_mark
    - ess_issuer_serial_cmp
    - EVP_MD_free
    - ERR_clear_last_mark
    - sk_X509_value
    - EVP_MD_fetch
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int find(const ESS_CERT_ID *cid, const ESS_CERT_ID_V2 *cid_v2,
      int index, const STACK_OF(X509) *certs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:177,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:189,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:183,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:150,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:151,1
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:163,1
    - Dst: ESS_ISSUER_SERIAL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:172,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:174,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:192,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:182,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:145,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:166,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:177,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:179,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:183,1
    - Dst: ESS_CERT_ID_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:191,1
    - Dst: X509_ALGOR_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:154,1
    - Dst: ESS_CERT_ID_V2_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:147,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 45
    argCount: 3
    argNames:
    - hash_alg
    - cert
    - set_issuer_serial
    argTypes:
    - EVP_MD*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 194
    functionName: ESS_CERT_ID_V2_new_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c
    functionUses: []
    functionsReached:
    - X509_get0_serialNumber
    - X509_get_issuer_name
    - X509_digest
    - ESS_CERT_ID_V2_new
    - ESS_ISSUER_SERIAL_new
    - X509_ALGOR_free
    - X509_ALGOR_set_md
    - GENERAL_NAME_free
    - X509_NAME_dup
    - ASN1_INTEGER_dup
    - ESS_CERT_ID_V2_free
    - ASN1_OCTET_STRING_set
    - sk_GENERAL_NAME_push
    - X509_ALGOR_new
    - GENERAL_NAME_new
    - ERR_raise
    - EVP_MD_is_a
    - ASN1_INTEGER_free
    - memset
    linkageType: ''
    returnType: ESS_CERT_ID_V2*
    signature: 'static ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new_init(const EVP_MD *hash_alg,
      const X509 *cert, int set_issuer_serial) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ESS_CERT_ID_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:63,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:65,1
    - Dst: ESS_ISSUER_SERIAL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:75,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:67,1
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:65,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:77,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:80,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:80,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:82,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:85,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:87,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:92,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:94,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:87,1
    - Dst: ESS_CERT_ID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:93,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 34
    argCount: 2
    argNames:
    - cert
    - set_issuer_serial
    argTypes:
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 96
    functionName: ESS_CERT_ID_new_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c
    functionUses: []
    functionsReached:
    - X509_digest
    - GENERAL_NAME_new
    - ERR_raise
    - ESS_CERT_ID_new
    - X509_get0_serialNumber
    - GENERAL_NAME_free
    - X509_NAME_dup
    - X509_get_issuer_name
    - EVP_sha1
    - ESS_ISSUER_SERIAL_new
    - ASN1_INTEGER_dup
    - ESS_CERT_ID_free
    - ASN1_OCTET_STRING_set
    - ASN1_INTEGER_free
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: ESS_CERT_ID*
    signature: 'static ESS_CERT_ID *ESS_CERT_ID_new_init(const X509 *cert, int set_issuer_serial) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_ESS_CERT_ID_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:290,1
    - Dst: find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:304,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:295,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:299,1
    - Dst: sk_ESS_CERT_ID_V2_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:291,1
    - Dst: sk_ESS_CERT_ID_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:304,1
    - Dst: find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:309,1
    - Dst: sk_ESS_CERT_ID_V2_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:309,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - ss
    - ssv2
    - chain
    - require_signing_cert
    argTypes:
    - ESS_SIGNING_CERT*
    - ESS_SIGNING_CERT_V2*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: OSSL_ESS_check_signing_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c
    functionUses: []
    functionsReached:
    - find
    - ERR_raise
    - sk_ESS_CERT_ID_V2_num
    - sk_ESS_CERT_ID_num
    - sk_ESS_CERT_ID_V2_value
    - sk_ESS_CERT_ID_value
    linkageType: ''
    returnType: int
    signature: 'int OSSL_ESS_check_signing_certs(const ESS_SIGNING_CERT *ss, const
      ESS_SIGNING_CERT_V2 *ssv2, const STACK_OF(X509) *chain, int require_signing_cert) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:200,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:203,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:205,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:205,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:208,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - is
    - cert
    argTypes:
    - ESS_ISSUER_SERIAL*
    - X509*
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: ess_issuer_serial_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ess/ess_lib.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    - X509_get_issuer_name
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: int
    signature: 'static int ess_issuer_serial_cmp(const ESS_ISSUER_SERIAL *is, const
      X509 *cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: SRP_user_pwd_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: SRP_user_pwd*
    signature: 'SRP_user_pwd *SRP_user_pwd_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:252,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - vinfo
    - s
    - v
    argTypes:
    - SRP_user_pwd*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: SRP_user_pwd_set0_sv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'int SRP_user_pwd_set0_sv(SRP_user_pwd *vinfo, BIGNUM *s, BIGNUM *v) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:315,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:330,1
    - Dst: t_fromb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:320,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:327,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:324,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: SRP_gN_new_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - t_fromb64
    - BN_bin2bn
    - OPENSSL_malloc
    linkageType: ''
    returnType: SRP_gN_cache*
    signature: 'static SRP_gN_cache *SRP_gN_new_init(const char *ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_gN_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:351,1
    - Dst: SRP_get_default_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:358,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:353,1
    - Dst: sk_SRP_gN_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - id
    - gN_tab
    argTypes:
    - char*
    - STACK_OF(SRP_gN)*
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: SRP_get_gN_by_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - strcmp
    - SRP_get_default_gN
    - sk_SRP_gN_value
    - sk_SRP_gN_num
    linkageType: ''
    returnType: SRP_gN*
    signature: 'static SRP_gN *SRP_get_gN_by_id(const char *id, STACK_OF(SRP_gN) *gN_tab) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - vinfo
    - g
    - N
    argTypes:
    - SRP_user_pwd*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: SRP_user_pwd_set_gN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SRP_user_pwd_set_gN(SRP_user_pwd *vinfo, const BIGNUM *g, const
      BIGNUM *N) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SRP_user_pwd_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:265,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:270,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:268,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:269,1
    - Dst: SRP_user_pwd_set0_sv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:270,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:270,1
    - Dst: SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - src
    argTypes:
    - SRP_user_pwd*
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: srp_user_pwd_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - SRP_user_pwd_set1_ids
    - SRP_user_pwd_free
    - SRP_user_pwd_set0_sv
    - SRP_user_pwd_new
    - SRP_user_pwd_set_gN
    - BN_dup
    linkageType: ''
    returnType: SRP_user_pwd*
    signature: 'static SRP_user_pwd *srp_user_pwd_dup(SRP_user_pwd *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:340,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:341,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - gN_cache
    argTypes:
    - SRP_gN_cache*
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: SRP_gN_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'static void SRP_gN_free(SRP_gN_cache *gN_cache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_gN_cache_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:368,1
    - Dst: SRP_gN_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:374,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:370,1
    - Dst: sk_SRP_gN_cache_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:376,1
    - Dst: sk_SRP_gN_cache_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:369,1
    - Dst: SRP_gN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - gN_cache
    - ch
    argTypes:
    - STACK_OF(SRP_gN_cache)*
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: SRP_gN_place_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - sk_SRP_gN_cache_value
    - sk_SRP_gN_cache_num
    - strcmp
    - SRP_gN_new_init
    - SRP_gN_free
    - sk_SRP_gN_cache_insert
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *SRP_gN_place_bn(STACK_OF(SRP_gN_cache) *gN_cache, char
      *ch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:216,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:220,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:217,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - vinfo
    - id
    - info
    argTypes:
    - SRP_user_pwd*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: SRP_user_pwd_set1_ids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int SRP_user_pwd_set1_ids(SRP_user_pwd *vinfo, const char *id, const
      char *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_user_pwd_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vb
    - user_pwd
    argTypes:
    - SRP_VBASE*
    - SRP_user_pwd*
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: SRP_VBASE_add0_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - sk_SRP_user_pwd_push
    linkageType: ''
    returnType: int
    signature: 'int SRP_VBASE_add0_user(SRP_VBASE *vb, SRP_user_pwd *user_pwd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: t_fromb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:232,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:245,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:240,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:235,1
    - Dst: t_fromb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - vinfo
    - s
    - v
    argTypes:
    - SRP_user_pwd*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: SRP_user_pwd_set_sv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - t_fromb64
    - BN_free
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: 'static int SRP_user_pwd_set_sv(SRP_user_pwd *vinfo, const char *s,
      const char *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    argTypes:
    - char*
    - char*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: SRP_create_verifier_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - SRP_create_verifier_BN_ex
    linkageType: ''
    returnType: int
    signature: 'int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM
      **salt, BIGNUM **verifier, const BIGNUM *N, const BIGNUM *g) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:134,1
    - Dst: EVP_EncodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:142,1
    - Dst: EVP_EncodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:153,1
    - Dst: evp_encode_ctx_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:143,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:155,1
    - Dst: EVP_EncodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:159,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:161,1
    - Dst: EVP_EncodeFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:165,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:170,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 176
    functionName: t_tob64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - EVP_ENCODE_CTX_new
    - memmove
    - EVP_ENCODE_CTX_free
    - EVP_EncodeFinal
    - EVP_EncodeInit
    - evp_encode_ctx_set_flags
    - EVP_EncodeUpdate
    linkageType: ''
    returnType: int
    signature: 'static int t_tob64(char *dst, const unsigned char *src, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_create_verifier_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 6
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    argTypes:
    - char*
    - char*
    - char**
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: SRP_create_verifier
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - SRP_create_verifier_ex
    linkageType: ''
    returnType: char*
    signature: 'char *SRP_create_verifier(const char *user, const char *pass, char
      **salt, char **verifier, const char *N, const char *g) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:182,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:184,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:186,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:185,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - user_pwd
    argTypes:
    - SRP_user_pwd*
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: SRP_user_pwd_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void SRP_user_pwd_free(SRP_user_pwd *user_pwd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_user
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: SRP_VBASE_get_by_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - find_user
    linkageType: ''
    returnType: SRP_user_pwd*
    signature: 'SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:279,1
    - Dst: sk_SRP_user_pwd_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:283,1
    - Dst: sk_SRP_gN_cache_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:284,1
    - Dst: sk_SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:285,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:286,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:292,1
    - Dst: sk_SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:293,1
    - Dst: sk_SRP_gN_cache_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:294,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - seed_key
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 299
    functionName: SRP_VBASE_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - sk_SRP_gN_cache_new_null
    - sk_SRP_user_pwd_new_null
    - OPENSSL_free
    - sk_SRP_user_pwd_free
    - sk_SRP_gN_cache_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: SRP_VBASE*
    signature: 'SRP_VBASE *SRP_VBASE_new(char *seed_key) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:397,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:430,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:433,1
    - Dst: TXT_DB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:498,1
    - Dst: sk_SRP_gN_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:397,1
    - Dst: TXT_DB_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:415,1
    - Dst: SRP_get_default_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:421,1
    - Dst: SRP_gN_place_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:436,1
    - Dst: SRP_user_pwd_set_sv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:461,1
    - Dst: SRP_user_pwd_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:452,1
    - Dst: SRP_gN_place_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:434,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:499,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:406,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:410,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:423,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:456,1
    - Dst: SRP_get_gN_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:450,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:455,1
    - Dst: sk_SRP_gN_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:438,1
    - Dst: sk_SRP_user_pwd_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:465,1
    - Dst: SRP_get_gN_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:475,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:493,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:406,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:424,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:492,1
    - Dst: SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:496,1
    - Dst: sk_SRP_gN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:501,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 87
    argCount: 2
    argNames:
    - vb
    - verifier_file
    argTypes:
    - SRP_VBASE*
    - char*
    constantsTouched: []
    func_position:
      end: 505
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 505
    functionName: SRP_VBASE_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - SRP_user_pwd_free
    - TXT_DB_free
    - SRP_gN_place_bn
    - sk_SRP_gN_new_null
    - BIO_new
    - OPENSSL_malloc
    - STACK_OF
    - OPENSSL_strdup
    - SRP_get_default_gN
    - SRP_user_pwd_set1_ids
    - BIO_free_all
    - OPENSSL_free
    - SRP_user_pwd_new
    - SRP_user_pwd_set_gN
    - sk_SRP_gN_free
    - sk_SRP_gN_insert
    - BIO_s_file
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_num
    - sk_SRP_user_pwd_insert
    - BIO_read_filename
    - SRP_user_pwd_set_sv
    - TXT_DB_read
    - SRP_get_gN_by_id
    linkageType: ''
    returnType: int
    signature: 'int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SRP_get_default_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:639,1
    - Dst: t_fromb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:631,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:648,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:690,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:667,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:675,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:691,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:693,1
    - Dst: t_fromb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:625,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:627,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:651,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:660,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:679,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:666,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:694,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:633,1
    - Dst: t_fromb64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:653,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:655,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:669,1
    - Dst: t_tob64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:678,1
    - Dst: t_tob64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:669,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:664,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:692,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 76
    argCount: 8
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - char**
    - char**
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 696
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 696
    functionName: SRP_create_verifier_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - SRP_get_default_gN
    - t_tob64
    - BN_num_bytes
    - OPENSSL_free
    - BN_bn2bin
    - t_fromb64
    - BN_free
    - BN_bin2bn
    - OPENSSL_clear_free
    - BN_clear_free
    - SRP_create_verifier_BN_ex
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: char*
    signature: 'char *SRP_create_verifier_ex(const char *user, const char *pass, char
      **salt, char **verifier, const char *N, const char *g, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:52,1
    - Dst: EVP_DecodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:86,1
    - Dst: EVP_DecodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:81,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:60,1
    - Dst: evp_encode_ctx_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:82,1
    - Dst: EVP_DecodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:90,1
    - Dst: EVP_DecodeFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:95,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:118,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:123,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - a
    - alen
    - src
    argTypes:
    - unsigned char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 126
    functionName: t_fromb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - EVP_DecodeUpdate
    - EVP_ENCODE_CTX_new
    - EVP_DecodeInit
    - EVP_DecodeFinal
    - memmove
    - EVP_ENCODE_CTX_free
    - evp_encode_ctx_set_flags
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int t_fromb64(unsigned char *a, size_t alen, const char *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_user_pwd_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:305,1
    - Dst: sk_SRP_gN_cache_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:306,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:307,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vb
    argTypes:
    - SRP_VBASE*
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: SRP_VBASE_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - sk_SRP_user_pwd_pop_free
    - sk_SRP_gN_cache_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void SRP_VBASE_free(SRP_VBASE *vb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_user_pwd_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:515,1
    - Dst: sk_SRP_user_pwd_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:516,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    constantsTouched: []
    func_position:
      end: 522
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 522
    functionName: find_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - sk_SRP_user_pwd_value
    - strcmp
    - sk_SRP_user_pwd_num
    linkageType: ''
    returnType: SRP_user_pwd*
    signature: 'static SRP_user_pwd *find_user(SRP_VBASE *vb, char *username) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: srp_user_pwd_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:560,1
    - Dst: SRP_user_pwd_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:568,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:571,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:576,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:578,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:586,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:593,1
    - Dst: find_user
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:559,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:581,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:585,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:594,1
    - Dst: SRP_user_pwd_set0_sv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:592,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:585,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:598,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:584,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:590,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:584,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:599,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:573,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:583,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:588,1
    - Dst: SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:600,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    constantsTouched: []
    func_position:
      end: 602
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 602
    functionName: SRP_VBASE_get1_by_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - find_user
    - SRP_user_pwd_set1_ids
    - EVP_DigestUpdate
    - SRP_user_pwd_free
    - srp_user_pwd_dup
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - SRP_user_pwd_set0_sv
    - SRP_user_pwd_new
    - SRP_user_pwd_set_gN
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - BN_bin2bn
    - RAND_priv_bytes
    - EVP_MD_free
    - EVP_MD_fetch
    - strlen
    linkageType: ''
    returnType: SRP_user_pwd*
    signature: 'SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:720,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:731,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:745,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:734,1
    - Dst: SRP_Calc_x_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:741,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:749,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:750,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:760,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:761,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c:762,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 43
    argCount: 8
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 764
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 764
    functionName: SRP_create_verifier_BN_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_vfy.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_new
    - BN_CTX_free
    - BN_bin2bn
    - SRP_Calc_x_ex
    - BN_CTX_new_ex
    - BN_mod_exp
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int SRP_create_verifier_BN_ex(const char *user, const char *pass,
      BIGNUM **salt, BIGNUM **verifier, const BIGNUM *N, const BIGNUM *g, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:30,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:39,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:37,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:32,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:41,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:43,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:44,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:45,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:47,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:49,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:50,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 5
    argNames:
    - x
    - y
    - N
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: srp_Calc_xy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - BN_ucmp
    - BN_num_bytes
    - OPENSSL_free
    - BN_bn2binpad
    - EVP_Digest
    - BN_bin2bn
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *srp_Calc_xy(const BIGNUM *x, const BIGNUM *y, const
      BIGNUM *N, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srp_Calc_xy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - A
    - B
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: SRP_Calc_u
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - srp_Calc_xy
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM
      *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srp_Calc_xy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - N
    - g
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: srp_Calc_k
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - srp_Calc_xy
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *srp_Calc_k(const BIGNUM *N, const BIGNUM *g, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:113,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:116,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:122,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:117,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:117,1
    - Dst: srp_Calc_k
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:123,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:124,1
    - Dst: BN_mod_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:125,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:126,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:130,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:132,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:131,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:133,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 42
    argCount: 6
    argNames:
    - b
    - N
    - g
    - v
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 135
    functionName: SRP_Calc_B_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - srp_Calc_k
    - BN_clear_free
    - BN_new
    - BN_CTX_free
    - BN_mod_mul
    - BN_free
    - BN_mod_exp
    - BN_mod_add
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_B_ex(const BIGNUM *b, const BIGNUM *N, const BIGNUM
      *g, const BIGNUM *v, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:158,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:161,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:177,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:181,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:174,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:174,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:184,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:186,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:170,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:172,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:185,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:155,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:158,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:167,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:169,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:165,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:166,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:166,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:168,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:168,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:178,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 50
    argCount: 5
    argNames:
    - s
    - user
    - pass
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: SRP_Calc_x_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - BN_num_bytes
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - BN_bn2bin
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - BN_bin2bn
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_x_ex(const BIGNUM *s, const char *user, const char
      *pass, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:200,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:203,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:207,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:204,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - a
    - N
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: SRP_Calc_A
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - BN_CTX_free
    - BN_new
    - BN_CTX_new
    - BN_free
    - BN_mod_exp
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM
      *g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Calc_client_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - N
    - B
    - g
    - x
    - a
    - u
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: SRP_Calc_client_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - SRP_Calc_client_key_ex
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const
      BIGNUM *g, const BIGNUM *x, const BIGNUM *a, const BIGNUM *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Verify_B_mod_N
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - A
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: SRP_Verify_A_mod_N
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - SRP_Verify_B_mod_N
    linkageType: ''
    returnType: int
    signature: 'int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:84,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:91,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:89,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:84,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:94,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:95,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:96,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:100,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:101,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 5
    argNames:
    - A
    - v
    - u
    - b
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: SRP_Calc_server_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_new
    - BN_CTX_free
    - BN_CTX_new
    - BN_mod_mul
    - BN_free
    - BN_mod_exp
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const
      BIGNUM *u, const BIGNUM *b, const BIGNUM *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srp_Calc_xy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - A
    - B
    - N
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: SRP_Calc_u_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - srp_Calc_xy
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_u_ex(const BIGNUM *A, const BIGNUM *B, const BIGNUM
      *N, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Calc_B_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - b
    - N
    - g
    - v
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: SRP_Calc_B
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - SRP_Calc_B_ex
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM
      *g, const BIGNUM *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Calc_x_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - s
    - user
    - pass
    argTypes:
    - BIGNUM*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: SRP_Calc_x
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - SRP_Calc_x_ex
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:226,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:224,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:250,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:245,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:254,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:223,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:243,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:251,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:255,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:220,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:225,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:229,1
    - Dst: srp_Calc_k
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:233,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:239,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:252,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:244,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:241,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:230,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:231,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:235,1
    - Dst: BN_mod_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:237,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:253,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 61
    argCount: 8
    argNames:
    - N
    - B
    - g
    - x
    - a
    - u
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 257
    functionName: SRP_Calc_client_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - BN_add
    - srp_Calc_k
    - BN_clear_free
    - BN_new
    - BN_CTX_free
    - BN_mod_mul
    - BN_mul
    - BN_free
    - BN_with_flags
    - BN_mod_exp
    - BN_set_flags
    - BN_mod_sub
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *SRP_Calc_client_key_ex(const BIGNUM *N, const BIGNUM *B, const
      BIGNUM *g, const BIGNUM *x, const BIGNUM *a, const BIGNUM *u, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:271,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:281,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:279,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:274,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:277,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:282,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - B
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: SRP_Verify_B_mod_N
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_new
    - BN_CTX_free
    - BN_CTX_new
    - BN_free
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 332
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 332
    functionName: SRP_get_default_gN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: SRP_gN*
    signature: 'SRP_gN *SRP_get_default_gN(const char *id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:315,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c:315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - g
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: SRP_check_known_gN_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/srp/srp_lib.c
    functionUses: []
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: char*
    signature: 'char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_TRUST**
    - X509_TRUST**
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tr_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tr_cmp(const X509_TRUST *const *a, const X509_TRUST *const
      *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: X509_TRUST_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - sk_X509_TRUST_value
    linkageType: ''
    returnType: X509_TRUST*
    signature: 'X509_TRUST *X509_TRUST_get0(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:71,1
    - Dst: default_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:75,1
    - Dst: X509_TRUST_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:76,1
    - Dst: X509_TRUST_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - x
    - id
    - flags
    argTypes:
    - X509*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: X509_check_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - X509_TRUST_get0
    - obj_trust
    - default_trust
    - X509_TRUST_get_by_id
    linkageType: ''
    returnType: int
    signature: 'int X509_check_trust(X509 *x, int id, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_TRUST_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - t
    - trust
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: X509_TRUST_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_TRUST_get_by_id
    linkageType: ''
    returnType: int
    signature: 'int X509_TRUST_set(int *t, int trust) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:190,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509_TRUST*
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: trtable_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void trtable_free(X509_TRUST *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_TRUST*
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: X509_TRUST_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_TRUST_get_flags(const X509_TRUST *xp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_TRUST*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: X509_TRUST_get_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_TRUST_get_trust(const X509_TRUST *xp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: trust_1oid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - obj_trust
    linkageType: ''
    returnType: int
    signature: 'static int trust_1oid(X509_TRUST *trust, X509 *x, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: X509_TRUST_get_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - sk_X509_TRUST_num
    linkageType: ''
    returnType: int
    signature: 'int X509_TRUST_get_count(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - int
    - '*'
    - int
    argTypes:
    - int
    - X509
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: (*X509_TRUST_set_default(int (*trust) (int, X509 *, int)))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int,
      X509 *, int) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: X509_TRUST_get_by_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - sk_X509_TRUST_find
    linkageType: ''
    returnType: int
    signature: 'int X509_TRUST_get_by_id(int id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_TRUST_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:134,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:137,1
    - Dst: X509_TRUST_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:143,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:138,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:150,1
    - Dst: sk_X509_TRUST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:167,1
    - Dst: sk_X509_TRUST_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:170,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:171,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:178,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 6
    argNames:
    - id
    - flags
    - (*ck)
    - name
    - arg1
    - arg2
    argTypes:
    - int
    - int
    - int
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 182
    functionName: X509_TRUST_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - sk_X509_TRUST_new
    - ERR_raise
    - X509_TRUST_get_by_id
    - OPENSSL_free
    - sk_X509_TRUST_push
    - X509_TRUST_get0
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509
      *, int), const char *name, int arg1, void *arg2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: X509_TRUST_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - sk_X509_TRUST_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_TRUST_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_TRUST*
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: X509_TRUST_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *X509_TRUST_get0_name(const X509_TRUST *xp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: trust_1oidany
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - obj_trust
    linkageType: ''
    returnType: int
    signature: 'static int trust_1oidany(X509_TRUST *trust, X509 *x, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: trust_compat
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: int
    signature: 'static int trust_compat(X509_TRUST *trust, X509 *x, int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:256,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:267,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:258,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:268,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:257,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:269,1
    - Dst: trust_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c:298,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 3
    argNames:
    - id
    - x
    - flags
    argTypes:
    - int
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 299
    functionName: obj_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_trust.c
    functionUses: []
    functionsReached:
    - trust_compat
    - sk_ASN1_OBJECT_value
    - OBJ_obj2nid
    - sk_ASN1_OBJECT_num
    linkageType: ''
    returnType: int
    signature: 'static int obj_trust(int id, X509 *x, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:34,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:38,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:37,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - method
    - utf8
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_UTF8STRING*
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: i2s_ASN1_UTF8STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method, ASN1_UTF8STRING
      *utf8) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:55,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:54,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:58,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:58,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:59,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:60,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: s2i_ASN1_UTF8STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utf8.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_new
    - ERR_raise
    - ebcdic2ascii
    - ASN1_STRING_set
    - ASN1_UTF8STRING_free
    - strlen
    linkageType: ''
    returnType: ASN1_UTF8STRING*
    signature: 'ASN1_UTF8STRING *s2i_ASN1_UTF8STRING(X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:68,1
    - Dst: i2v_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:74,1
    - Dst: sk_ACCESS_DESCRIPTION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:70,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:78,1
    - Dst: sk_ACCESS_DESCRIPTION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:73,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:79,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:80,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:80,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:81,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:84,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:85,1
    - Dst: sk_CONF_VALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:93,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:95,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 0
    argNames:
    - AUTHORITY_INFO_ACCESS
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 97
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c
    functionUses: []
    functionsReached:
    - sk_ACCESS_DESCRIPTION_num
    - sk_CONF_VALUE_pop_free
    - sk_ACCESS_DESCRIPTION_value
    - ERR_raise
    - OPENSSL_free
    - BIO_snprintf
    - sk_CONF_VALUE_value
    - strlen
    - i2v_GENERAL_NAME
    - i2t_ASN1_OBJECT
    - sk_CONF_VALUE_new_null
    - OPENSSL_malloc
    - STACK_OF
    linkageType: ''
    returnType: ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS)
    signature: 'ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS)
      static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS( X509V3_EXT_METHOD *method,
      AUTHORITY_INFO_ACCESS *ainfo, STACK_OF(CONF_VALUE) *ret) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:113,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:117,1
    - Dst: sk_ACCESS_DESCRIPTION_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:112,1
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:118,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:119,1
    - Dst: sk_ACCESS_DESCRIPTION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:122,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:125,1
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:130,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:132,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:133,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:143,1
    - Dst: sk_ACCESS_DESCRIPTION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:147,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:138,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:136,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 149
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 149
    functionName: v2i_AUTHORITY_INFO_ACCESS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strchr
    - OPENSSL_free
    - sk_CONF_VALUE_num
    - v2i_GENERAL_NAME_ex
    - ACCESS_DESCRIPTION_new
    - sk_CONF_VALUE_value
    - OBJ_txt2obj
    - OPENSSL_strndup
    - ERR_raise_data
    - sk_ACCESS_DESCRIPTION_push
    - sk_ACCESS_DESCRIPTION_pop_free
    - sk_ACCESS_DESCRIPTION_new_reserve
    linkageType: ''
    returnType: AUTHORITY_INFO_ACCESS*
    signature: 'static AUTHORITY_INFO_ACCESS *v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD
      *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ACCESS_DESCRIPTION*
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: i2a_ACCESS_DESCRIPTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_info.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pku.c:39,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pku.c:41,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pku.c:47,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pku.c:44,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pku.c:42,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pku.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames:
    - PKEY_USAGE_PERIOD
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pku.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - ASN1_GENERALIZEDTIME_print
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD)
    signature: 'ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) IMPLEMENT_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD)
      static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD
      *usage, BIO *out, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_REVOKED_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:57,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:59,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: X509_CRL_sort
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - sk_X509_REVOKED_num
    - sk_X509_REVOKED_sort
    - sk_X509_REVOKED_value
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_sort(X509_CRL *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: X509_CRL_get_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: X509_CRL_get_signature_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_get_signature_nid(const X509_CRL *crl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:147,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509_REVOKED*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: X509_REVOKED_set_revocationDate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_dup
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: 'int X509_REVOKED_set_revocationDate(X509_REVOKED *x, ASN1_TIME *tm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:70,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:74,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: X509_CRL_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: X509_CRL_get0_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_EXTENSION)*
    signature: 'const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL
      *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: X509_REVOKED_get0_revocationDate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: X509_REVOKED_get0_serialNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: X509_CRL_get_REVOKED
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_REVOKED)*
    signature: 'STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - crl
    - psig
    - palg
    argTypes:
    - X509_CRL*
    - ASN1_BIT_STRING**
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: X509_CRL_get0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING
      **psig, const X509_ALGOR **palg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:23,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:26,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509_CRL*
    - long
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: X509_CRL_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_set_version(X509_CRL *x, long version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509_CRL*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: X509_CRL_set1_lastUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: X509_CRL_get_lastUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - x
    - serial
    argTypes:
    - X509_REVOKED*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: X509_REVOKED_set_serialNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: 'int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509_CRL*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: X509_CRL_set_issuer_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509_CRL*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: X509_CRL_set1_nextUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: X509_CRL_get_nextUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: X509_REVOKED_get0_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_EXTENSION)*
    signature: 'const STACK_OF(X509_EXTENSION) *X509_REVOKED_get0_extensions(const
      X509_REVOKED *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_CRL_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - crl
    - pp
    argTypes:
    - X509_CRL*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: i2d_re_X509_CRL_tbs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - i2d_X509_CRL_INFO
    linkageType: ''
    returnType: int
    signature: 'int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: X509_CRL_get_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: 'long X509_CRL_get_version(const X509_CRL *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: X509_CRL_get0_nextUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: X509_CRL_get0_lastUpdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509cset.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_POLICYINFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:33,1
    - Dst: sk_X509_POLICY_DATA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:37,1
    - Dst: sk_POLICYINFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:41,1
    - Dst: ossl_policy_data_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:42,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:44,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:50,1
    - Dst: sk_X509_POLICY_DATA_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:56,1
    - Dst: sk_X509_POLICY_DATA_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:60,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:74,1
    - Dst: ossl_policy_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:70,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:72,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 3
    argNames:
    - x
    - policies
    - crit
    argTypes:
    - X509*
    - CERTIFICATEPOLICIES*
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 78
    functionName: policy_cache_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_POLICYINFO_value
    - OBJ_obj2nid
    - sk_X509_POLICY_DATA_new
    - ossl_policy_data_free
    - sk_X509_POLICY_DATA_find
    - sk_POLICYINFO_pop_free
    - sk_X509_POLICY_DATA_pop_free
    - ossl_policy_data_new
    - sk_X509_POLICY_DATA_push
    - sk_POLICYINFO_num
    linkageType: ''
    returnType: int
    signature: 'static int policy_cache_create(X509 *x, CERTIFICATEPOLICIES *policies,
      int crit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_DATA_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:206,1
    - Dst: sk_X509_POLICY_DATA_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cache
    - id
    argTypes:
    - X509_POLICY_CACHE*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: ossl_policy_cache_find_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c
    functionUses: []
    functionsReached:
    - sk_X509_POLICY_DATA_find
    - sk_X509_POLICY_DATA_value
    linkageType: ''
    returnType: X509_POLICY_DATA*
    signature: 'X509_POLICY_DATA *ossl_policy_cache_find_data(const X509_POLICY_CACHE
      *cache, const ASN1_OBJECT *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_policy_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:181,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:183,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - X509_POLICY_CACHE*
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: ossl_policy_cache_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c
    functionUses: []
    functionsReached:
    - ossl_policy_data_free
    - OPENSSL_free
    - sk_X509_POLICY_DATA_pop_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/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:190,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:193,1
    - Dst: policy_cache_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: ossl_policy_cache_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - policy_cache_new
    linkageType: ''
    returnType: X509_POLICY_CACHE*
    signature: 'const X509_POLICY_CACHE *ossl_policy_cache_set(X509 *x) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:91,1
    - Dst: policy_cache_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:93,1
    - Dst: policy_cache_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:117,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:108,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:127,1
    - Dst: policy_cache_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:139,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:146,1
    - Dst: ossl_policy_cache_set_mapping
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:153,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:158,1
    - Dst: POLICY_CONSTRAINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:171,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:172,1
    - Dst: policy_cache_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:163,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 53
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 175
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 175
    functionName: policy_cache_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c
    functionUses: []
    functionsReached:
    - POLICY_CONSTRAINTS_free
    - policy_cache_set_int
    - ERR_raise
    - policy_cache_create
    - X509_get_ext_d2i
    - ossl_policy_cache_set_mapping
    - ASN1_INTEGER_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int policy_cache_new(X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_POLICY_DATA**
    - X509_POLICY_DATA**
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: policy_data_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    linkageType: ''
    returnType: int
    signature: 'static int policy_data_cmp(const X509_POLICY_DATA *const *a, const
      X509_POLICY_DATA *const *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - out
    - value
    argTypes:
    - long*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: policy_cache_set_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_cache.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: 'static int policy_cache_set_int(long *out, ASN1_INTEGER *value) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:30,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:35,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:32,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:31,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:33,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:38,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:39,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:42,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:43,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:45,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:56,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:59,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:55,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:60,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:47,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:58,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 4
    argNames:
    - out
    - val
    - indent
    - ml
    argTypes:
    - BIO*
    - STACK_OF(CONF_VALUE)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 65
    functionName: X509V3_EXT_val_prn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ascii2ebcdic
    - OPENSSL_free
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - BIO_puts
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent,
      int ml) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:148,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:156,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:152,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:157,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:159,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:160,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:162,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:164,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:165,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:170,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:172,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:166,1
    - Dst: X509V3_EXT_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:168,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:169,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:170,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - bp
    - title
    - exts
    - flag
    - indent
    argTypes:
    - BIO*
    - char*
    - STACK_OF(X509_EXTENSION)*
    - unsigned long
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: X509V3_extensions_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - OBJ_obj2nid
    - sk_X509_EXTENSION_num
    - X509V3_EXT_print
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - i2a_ASN1_OBJECT
    - X509_EXTENSION_get_critical
    - ASN1_STRING_print
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: int
    signature: 'int X509V3_extensions_print(BIO *bp, const char *title, const STACK_OF(X509_EXTENSION)
      *exts, unsigned long flag, int indent) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:188,1
    - Dst: BIO_dump_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:196,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:190,1
    - Dst: ASN1_parse_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 6
    argNames:
    - out
    - ext
    - extlen
    - flag
    - indent
    - supported
    argTypes:
    - BIO*
    - unsigned char*
    - int
    - unsigned long
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: unknown_ext_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    - ASN1_parse_dump
    linkageType: ''
    returnType: int
    signature: 'static int unknown_ext_print(BIO *out, const unsigned char *ext, int
      extlen, unsigned long flag, int indent, int supported) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:78,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:81,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:82,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:83,1
    - Dst: unknown_ext_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:86,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:130,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:132,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:132,1
    - Dst: unknown_ext_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:93,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:109,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:129,1
    - Dst: X509V3_EXT_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:85,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:88,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:88,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:110,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:101,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:107,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:106,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:111,1
    - Dst: X509V3_EXT_val_prn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:120,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 4
    argNames:
    - out
    - ext
    - flag
    - indent
    argTypes:
    - BIO*
    - X509_EXTENSION*
    - unsigned long
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 136
    functionName: X509V3_EXT_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_CONF_VALUE_pop_free
    - ascii2ebcdic
    - ASN1_STRING_length
    - OPENSSL_free
    - X509V3_EXT_get
    - X509V3_EXT_val_prn
    - ASN1_item_free
    - STACK_OF
    - strlen
    - unknown_ext_print
    - ASN1_STRING_get0_data
    - ASN1_ITEM_ptr
    - ASN1_item_d2i
    - OPENSSL_malloc
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long
      flag, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:209,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:212,1
    - Dst: X509V3_EXT_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - fp
    - ext
    - flag
    - indent
    argTypes:
    - FILE*
    - X509_EXTENSION*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: X509V3_EXT_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_prn.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_print
    - BIO_new_fp
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_print_fp(FILE *fp, X509_EXTENSION *ext, int flag, int
      indent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:58,1
    - Dst: i2v_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:65,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:68,1
    - Dst: sk_CONF_VALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:74,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:59,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - method
    - gens
    - ret
    argTypes:
    - X509V3_EXT_METHOD*
    - GENERAL_NAMES*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: i2v_GENERAL_NAMES
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_num
    - i2v_GENERAL_NAME
    - sk_GENERAL_NAME_value
    - sk_CONF_VALUE_new_null
    - sk_CONF_VALUE_pop_free
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method,
      GENERAL_NAMES *gens, STACK_OF(CONF_VALUE) *ret) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:235,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:219,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:245,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:261,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:285,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:266,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:270,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:294,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:265,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:289,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:293,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:213,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:250,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:276,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:280,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:225,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:240,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:256,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:281,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:275,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:271,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:288,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 37
    argCount: 2
    argNames:
    - out
    - gen
    argTypes:
    - BIO*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 298
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 298
    functionName: GENERAL_NAME_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - OBJ_obj2nid
    - OPENSSL_free
    - i2a_ASN1_OBJECT
    - ossl_ipaddr_to_asc
    - ASN1_STRING_print
    linkageType: ''
    returnType: int
    signature: 'int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:346,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:352,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:349,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:354,1
    - Dst: X509V3_EXT_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:353,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:358,1
    - Dst: sk_GENERAL_NAME_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:359,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:360,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:365,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:366,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:368,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - gens
    argTypes:
    - X509V3_CTX*
    - GENERAL_NAMES*
    constantsTouched: []
    func_position:
      end: 375
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 375
    functionName: copy_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_free
    - ERR_raise
    - sk_GENERAL_NAME_num
    - X509_get_ext
    - X509_get_ext_by_NID
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_reserve
    - sk_GENERAL_NAME_value
    - X509V3_EXT_d2i
    linkageType: ''
    returnType: int
    signature: 'static int copy_issuer(X509V3_CTX *ctx, GENERAL_NAMES *gens) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:432,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:443,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:441,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:437,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:438,1
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:444,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:444,1
    - Dst: X509_NAME_delete_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:446,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:447,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:450,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:457,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:451,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:467,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:458,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:468,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - gens
    - move_p
    argTypes:
    - X509V3_CTX*
    - GENERAL_NAMES*
    - int
    constantsTouched: []
    func_position:
      end: 471
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 471
    functionName: copy_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_new
    - ASN1_STRING_dup
    - ERR_raise
    - ASN1_IA5STRING_free
    - X509_REQ_get_subject_name
    - GENERAL_NAME_free
    - X509_NAME_get_entry
    - X509_NAME_delete_entry
    - X509_NAME_ENTRY_free
    - X509_NAME_ENTRY_get_data
    - X509_NAME_get_index_by_NID
    - sk_GENERAL_NAME_push
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int copy_email(X509V3_CTX *ctx, GENERAL_NAMES *gens, int move_p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - cnf
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - CONF_VALUE*
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: v2i_GENERAL_NAME
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - v2i_GENERAL_NAME_ex
    linkageType: ''
    returnType: GENERAL_NAME*
    signature: 'GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, CONF_VALUE *cnf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:612,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:616,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:622,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:620,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:618,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:624,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:626,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:628,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:631,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 5
    argNames:
    - out
    - method
    - ctx
    - cnf
    - is_nc
    argTypes:
    - GENERAL_NAME*
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - CONF_VALUE*
    - int
    constantsTouched: []
    func_position:
      end: 638
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 638
    functionName: v2i_GENERAL_NAME_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - ossl_v3_name_cmp
    - ERR_raise
    - a2i_GENERAL_NAME
    linkageType: ''
    returnType: GENERAL_NAME*
    signature: 'GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD
      *method, X509V3_CTX *ctx, CONF_VALUE *cnf, int is_nc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:304,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:309,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:305,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:314,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:310,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:316,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:317,1
    - Dst: copy_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:318,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:321,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:325,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:330,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 332
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 332
    functionName: v2i_issuer_alt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_free
    - ERR_raise
    - strcmp
    - v2i_GENERAL_NAME
    - sk_GENERAL_NAME_new_reserve
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - copy_issuer
    - ossl_v3_name_cmp
    - sk_GENERAL_NAME_pop_free
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: GENERAL_NAMES*
    signature: 'static GENERAL_NAMES *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:114,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:137,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:173,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:185,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:150,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:186,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:198,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:87,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:130,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:167,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:144,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:192,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:199,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:98,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:90,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:162,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:194,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:106,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:122,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:129,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:133,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:157,1
    - Dst: x509v3_add_len_value_uchar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:179,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:191,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 62
    argCount: 3
    argNames:
    - method
    - gen
    - ret
    argTypes:
    - X509V3_EXT_METHOD*
    - GENERAL_NAME*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 204
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 204
    functionName: i2v_GENERAL_NAME
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - x509v3_add_len_value_uchar
    - X509_NAME_oneline
    - OBJ_obj2nid
    - X509V3_add_value
    - OPENSSL_free
    - OPENSSL_strlcpy
    - BIO_snprintf
    - ossl_ipaddr_to_asc
    - i2t_ASN1_OBJECT
    - OBJ_obj2txt
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method,
      GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:383,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:394,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:386,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:388,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:389,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:395,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:396,1
    - Dst: copy_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:397,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:399,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:400,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:412,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:405,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:407,1
    - Dst: copy_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:401,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 414
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 414
    functionName: v2i_subject_alt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_free
    - ERR_raise
    - strcmp
    - v2i_GENERAL_NAME
    - sk_GENERAL_NAME_new_reserve
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - copy_email
    - ossl_v3_name_cmp
    - sk_GENERAL_NAME_pop_free
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: GENERAL_NAMES*
    signature: 'static GENERAL_NAMES *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:479,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:482,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:484,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:485,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:491,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:493,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:497,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 499
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 499
    functionName: v2i_GENERAL_NAMES
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_free
    - ERR_raise
    - v2i_GENERAL_NAME
    - sk_GENERAL_NAME_new_reserve
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - sk_GENERAL_NAME_pop_free
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: GENERAL_NAMES*
    signature: 'GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:540,1
    - Dst: do_othername
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:569,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:580,1
    - Dst: a2i_IPADDRESS_NC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:551,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:555,1
    - Dst: do_dirname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:562,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:575,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:582,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:581,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:541,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:525,1
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:553,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:583,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:596,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:585,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:570,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:516,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:523,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:563,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 51
    argCount: 6
    argNames:
    - out
    - method
    - ctx
    - gen_type
    - value
    - is_nc
    argTypes:
    - GENERAL_NAME*
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 598
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 598
    functionName: a2i_GENERAL_NAME
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_new
    - ERR_raise
    - ASN1_IA5STRING_free
    - a2i_IPADDRESS
    - GENERAL_NAME_free
    - do_dirname
    - do_othername
    - a2i_IPADDRESS_NC
    - ERR_raise_data
    - OBJ_txt2obj
    - ASN1_IA5STRING_new
    - ASN1_STRING_set
    - strlen
    linkageType: ''
    returnType: GENERAL_NAME*
    signature: 'GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD
      *method, X509V3_CTX *ctx, int gen_type, const char *value, int is_nc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:645,1
    - Dst: OTHERNAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:647,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:653,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:657,1
    - Dst: ASN1_generate_v3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:654,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:660,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:661,1
    - Dst: OTHERNAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:667,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - gen
    - value
    - ctx
    argTypes:
    - GENERAL_NAME*
    - char*
    - X509V3_CTX*
    constantsTouched: []
    func_position:
      end: 670
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 670
    functionName: do_othername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - OTHERNAME_new
    - ASN1_TYPE_free
    - strchr
    - OPENSSL_free
    - OTHERNAME_free
    - OBJ_txt2obj
    - OPENSSL_strndup
    - ASN1_generate_v3
    linkageType: ''
    returnType: int
    signature: 'static int do_othername(GENERAL_NAME *gen, const char *value, X509V3_CTX
      *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:675,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:682,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:678,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:680,1
    - Dst: X509V3_NAME_from_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:687,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:694,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c:695,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - gen
    - value
    - ctx
    argTypes:
    - GENERAL_NAME*
    - char*
    - X509V3_CTX*
    constantsTouched: []
    func_position:
      end: 697
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 697
    functionName: do_dirname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_san.c
    functionUses: []
    functionsReached:
    - X509_NAME_new
    - X509_NAME_free
    - X509V3_section_free
    - X509V3_NAME_from_section
    - ERR_raise_data
    - X509V3_get_section
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int do_dirname(GENERAL_NAME *gen, const char *value, X509V3_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:308,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:312,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ne
    - obj
    argTypes:
    - X509_NAME_ENTRY*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: X509_NAME_ENTRY_set_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_OBJECT_free
    - OBJ_dup
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:324,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:329,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:326,1
    - Dst: ASN1_PRINTABLE_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:334,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:328,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - ne
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: X509_NAME_ENTRY_set_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - ASN1_STRING_set_by_NID
    - ASN1_STRING_set
    - ASN1_PRINTABLE_type
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, const
      unsigned char *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ne
    argTypes:
    - X509_NAME_ENTRY*
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: X509_NAME_ENTRY_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:23,1
    - Dst: X509_NAME_get_text_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:26,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - name
    - nid
    - buf
    - len
    argTypes:
    - X509_NAME*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: X509_NAME_get_text_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - OBJ_nid2obj
    - X509_NAME_get_text_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_get_text_by_NID(const X509_NAME *name, int nid, char
      *buf, int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:35,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:44,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:38,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - name
    - obj
    - buf
    - len
    argTypes:
    - X509_NAME*
    - ASN1_OBJECT*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: X509_NAME_get_text_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - X509_NAME_get_entry
    - memcpy
    - X509_NAME_get_index_by_OBJ
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_get_text_by_OBJ(const X509_NAME *name, const ASN1_OBJECT
      *obj, char *buf, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: X509_NAME_entry_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - sk_X509_NAME_ENTRY_num
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_entry_count(const X509_NAME *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_create_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:161,1
    - Dst: X509_NAME_add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:164,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - name
    - nid
    - type
    - bytes
    - len
    - loc
    - set
    argTypes:
    - X509_NAME*
    - int
    - int
    - unsigned char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: X509_NAME_add_entry_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - X509_NAME_ENTRY_create_by_NID
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type,
      const unsigned char *bytes, int len, int loc, int set) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:192,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:210,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:197,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:220,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:216,1
    - Dst: X509_NAME_ENTRY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:223,1
    - Dst: sk_X509_NAME_ENTRY_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:227,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:231,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:233,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:237,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 4
    argNames:
    - name
    - ne
    - loc
    - set
    argTypes:
    - X509_NAME*
    - X509_NAME_ENTRY*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 239
    functionName: X509_NAME_add_entry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_NAME_ENTRY_insert
    - X509_NAME_ENTRY_dup
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - X509_NAME_ENTRY_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne,
      int loc, int set) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:268,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:274,1
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:273,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - ne
    - nid
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY**
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: X509_NAME_ENTRY_create_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - ASN1_OBJECT_free
    - ERR_raise
    - OBJ_nid2obj
    - 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, int type, const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ne
    argTypes:
    - X509_NAME_ENTRY*
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: X509_NAME_ENTRY_get_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:63,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - name
    - nid
    - lastpos
    argTypes:
    - X509_NAME*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: X509_NAME_get_index_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - X509_NAME_get_index_by_OBJ
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, int
      lastpos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_create_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:175,1
    - Dst: X509_NAME_add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:178,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 7
    argNames:
    - name
    - field
    - type
    - bytes
    - len
    - loc
    - set
    argTypes:
    - X509_NAME*
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: X509_NAME_add_entry_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_create_by_txt
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field,
      int type, const unsigned char *bytes, int len, int loc, int set) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:249,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:256,1
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:255,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - ne
    - field
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY**
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: X509_NAME_ENTRY_create_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - OBJ_txt2obj
    - X509_NAME_ENTRY_create_by_OBJ
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_NAME_ENTRY*
    signature: 'X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne,
      const char *field, int type, const unsigned char *bytes, int len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:286,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:301,1
    - Dst: X509_NAME_ENTRY_set_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:291,1
    - Dst: X509_NAME_ENTRY_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:293,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 5
    argNames:
    - ne
    - obj
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY**
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 303
    functionName: X509_NAME_ENTRY_create_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - X509_NAME_ENTRY_set_object
    - X509_NAME_ENTRY_free
    - X509_NAME_ENTRY_new
    - X509_NAME_ENTRY_set_data
    linkageType: ''
    returnType: X509_NAME_ENTRY*
    signature: 'X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne,
      const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ne
    argTypes:
    - X509_NAME_ENTRY*
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: X509_NAME_ENTRY_get_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_STRING*
    signature: 'ASN1_STRING *X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:75,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:85,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:82,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - name
    - obj
    - lastpos
    argTypes:
    - X509_NAME*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: X509_NAME_get_index_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_get_index_by_OBJ(const X509_NAME *name, const ASN1_OBJECT
      *obj, int lastpos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:104,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:106,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:119,1
    - Dst: sk_X509_NAME_ENTRY_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:111,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:112,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:122,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - name
    - loc
    argTypes:
    - X509_NAME*
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 138
    functionName: X509_NAME_delete_entry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_delete
    - STACK_OF
    linkageType: ''
    returnType: X509_NAME_ENTRY*
    signature: 'X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:93,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - name
    - loc
    argTypes:
    - X509_NAME*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: X509_NAME_get_entry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    linkageType: ''
    returnType: X509_NAME_ENTRY*
    signature: 'X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:147,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:151,1
    - Dst: X509_NAME_add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 7
    argNames:
    - name
    - obj
    - type
    - bytes
    - len
    - loc
    - set
    argTypes:
    - X509_NAME*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: X509_NAME_add_entry_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509name.c
    functionUses: []
    functionsReached:
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_create_by_OBJ
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT
      *obj, int type, const unsigned char *bytes, int len, int loc, int set) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:71,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:76,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:76,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 0
    argNames:
    - GENERAL_SUBTREE
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 122
    functionName: IMPLEMENT_ASN1_ALLOC_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - length
    - memchr
    - IA5_OFFSET_LEN
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(NAME_CONSTRAINTS)
    signature: 'ASN1_SEQUENCE_END(NAME_CONSTRAINTS) IMPLEMENT_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE)
      IMPLEMENT_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS)#define IA5_OFFSET_LEN(ia5base,
      offset) \ ((ia5base)->length - ((unsigned char *)(offset) - (ia5base)->data))/*
      Like memchr but for ASN1_IA5STRING. Additionally you can specify the * starting
      point to search from */# define ia5memchr(str, start, c) memchr(start, c, IA5_OFFSET_LEN(str,
      start))/* Like memrrchr but for ASN1_IA5STRING */static char *ia5memrchr(ASN1_IA5STRING
      *str, int c){ int i; for (i = str->length; i > 0 && str->data[i - 1] != c; i--);
      if (i == 0) return NULL; return (char *)&str->data[i - 1]; } /* * We cannot
      use strncasecmp here because that applies locale specific rules. It * also doesn''t
      work with ASN1_STRINGs that may have embedded NUL characters. * For example
      in Turkish ''I'' is not the uppercase character for ''i''. We need to * do a
      simple ASCII case comparison ignoring the locale (that is why we use * numeric
      constants below). */ static int ia5ncasecmp(const char *s1, const char *s2,
      size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ipaddr_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:211,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:214,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:217,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:216,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - bp
    - ip
    argTypes:
    - BIO*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: print_nc_ipadd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - ossl_ipaddr_to_asc
    linkageType: ''
    returnType: int
    signature: 'static int print_nc_ipadd(BIO *bp, ASN1_OCTET_STRING *ip) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_i2r_name_constraints
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:176,1
    - Dst: do_i2r_name_constraints
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:180,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - method
    - a
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: i2r_NAME_CONSTRAINTS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - BIO_puts
    - do_i2r_name_constraints
    linkageType: ''
    returnType: int
    signature: 'static int i2r_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method, void
      *a, BIO *bp, int ind) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:254,1
    - Dst: add_lengths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:260,1
    - Dst: add_lengths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:262,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:261,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:260,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:263,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:264,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:268,1
    - Dst: nc_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:273,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:285,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:288,1
    - Dst: nc_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:293,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:301,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:302,1
    - Dst: nc_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:303,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:289,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - x
    - nc
    argTypes:
    - X509*
    - NAME_CONSTRAINTS*
    constantsTouched: []
    func_position:
      end: 310
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 310
    functionName: NAME_CONSTRAINTS_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_SUBTREE_num
    - sk_GENERAL_NAME_num
    - X509_NAME_get_entry
    - X509_NAME_entry_count
    - add_lengths
    - sk_GENERAL_NAME_value
    - X509_NAME_ENTRY_get_data
    - X509_NAME_get_index_by_NID
    - nc_match
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:411,1
    - Dst: cn2dnsid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:435,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:431,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:432,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:428,1
    - Dst: nc_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:442,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:443,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - x
    - nc
    argTypes:
    - X509*
    - NAME_CONSTRAINTS*
    constantsTouched: []
    func_position:
      end: 448
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 448
    functionName: NAME_CONSTRAINTS_check_CN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - cn2dnsid
    - OPENSSL_free
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_data
    - X509_NAME_get_index_by_NID
    - nc_match
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int NAME_CONSTRAINTS_check_CN(X509 *x, NAME_CONSTRAINTS *nc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:462,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:465,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - sub
    argTypes:
    - GENERAL_SUBTREE*
    constantsTouched: []
    func_position:
      end: 469
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 469
    functionName: nc_minmax_valid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_to_BN
    - BN_is_zero
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int nc_minmax_valid(GENERAL_SUBTREE *sub) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nc_email_eai
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:551,1
    - Dst: nc_dn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:558,1
    - Dst: nc_dns
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:561,1
    - Dst: nc_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:564,1
    - Dst: nc_uri
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:567,1
    - Dst: nc_ip
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:571,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 3
    argNames:
    - effective_type
    - gen
    - base
    argTypes:
    - int
    - GENERAL_NAME*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 577
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 577
    functionName: nc_match_single
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - nc_dns
    - nc_ip
    - nc_dn
    - nc_uri
    - nc_email_eai
    - nc_email
    linkageType: ''
    returnType: int
    signature: 'static int nc_match_single(int effective_type, GENERAL_NAME *gen,
      GENERAL_NAME *base) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:647,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:669,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:674,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:651,1
    - Dst: ia5memrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:662,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:679,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:680,1
    - Dst: ia5ncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:682,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:682,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:689,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:695,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:703,1
    - Dst: ia5ncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:697,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:696,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 2
    argNames:
    - emltype
    - base
    argTypes:
    - ASN1_TYPE*
    - ASN1_IA5STRING*
    constantsTouched: []
    func_position:
      end: 705
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 705
    functionName: nc_email_eai
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - IA5_OFFSET_LEN
    - OPENSSL_free
    - memchr
    - ia5memrchr
    - strlen
    - OPENSSL_strndup
    - ia5ncasecmp
    - ossl_a2ulabel
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int nc_email_eai(ASN1_TYPE *emltype, ASN1_IA5STRING *base) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NAME_CONSTRAINTS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:133,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:136,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:137,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:138,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:145,1
    - Dst: GENERAL_SUBTREE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:149,1
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:152,1
    - Dst: sk_GENERAL_SUBTREE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:155,1
    - Dst: sk_GENERAL_SUBTREE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:164,1
    - Dst: GENERAL_SUBTREE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:167,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:166,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 43
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 170
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 170
    functionName: v2i_NAME_CONSTRAINTS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - GENERAL_SUBTREE_free
    - sk_CONF_VALUE_num
    - GENERAL_SUBTREE_new
    - v2i_GENERAL_NAME_ex
    - sk_GENERAL_SUBTREE_new_null
    - sk_GENERAL_SUBTREE_push
    - strncmp
    - sk_CONF_VALUE_value
    - NAME_CONSTRAINTS_free
    - NAME_CONSTRAINTS_new
    linkageType: ''
    returnType: void*
    signature: 'static void *v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:191,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:195,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:192,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:196,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:197,1
    - Dst: print_nc_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:199,1
    - Dst: GENERAL_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - method
    - trees
    - bp
    - ind
    - name
    argTypes:
    - X509V3_EXT_METHOD*
    - STACK_OF(GENERAL_SUBTREE)*
    - BIO*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: do_i2r_name_constraints
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_GENERAL_SUBTREE_num
    - print_nc_ipadd
    - sk_GENERAL_SUBTREE_value
    - GENERAL_NAME_print
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int do_i2r_name_constraints(const X509V3_EXT_METHOD *method,
      STACK_OF(GENERAL_SUBTREE) *trees, BIO *bp, int ind, const char *name) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:483,1
    - Dst: nc_minmax_valid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:499,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:493,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:492,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:496,1
    - Dst: nc_match_single
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:506,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:518,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:519,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:522,1
    - Dst: nc_minmax_valid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:525,1
    - Dst: nc_match_single
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:528,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 2
    argNames:
    - gen
    - nc
    argTypes:
    - GENERAL_NAME*
    - NAME_CONSTRAINTS*
    constantsTouched: []
    func_position:
      end: 538
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 538
    functionName: nc_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_SUBTREE_num
    - OBJ_cmp
    - OBJ_obj2nid
    - sk_GENERAL_SUBTREE_value
    - nc_minmax_valid
    - nc_match_single
    linkageType: ''
    returnType: int
    signature: 'static int nc_match(GENERAL_NAME *gen, NAME_CONSTRAINTS *nc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ia5memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:758,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:779,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:763,1
    - Dst: ia5memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:773,1
    - Dst: ia5memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:776,1
    - Dst: ia5ncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:790,1
    - Dst: ia5ncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:797,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - uri
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    constantsTouched: []
    func_position:
      end: 802
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 802
    functionName: nc_uri
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - ia5ncasecmp
    - IA5_OFFSET_LEN
    - ia5memchr
    linkageType: ''
    returnType: int
    signature: 'static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - ip
    - base
    argTypes:
    - ASN1_OCTET_STRING*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 833
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 833
    functionName: nc_ip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int nc_ip(ASN1_OCTET_STRING *ip, ASN1_OCTET_STRING *base) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: add_lengths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int add_lengths(int *out, int a, int b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:340,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:353,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:352,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:401,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 3
    argNames:
    - cn
    - dnsid
    - idlen
    argTypes:
    - ASN1_STRING*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 403
    functionName: cn2dnsid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ASN1_STRING_to_UTF8
    - memchr
    linkageType: ''
    returnType: int
    signature: 'static int cn2dnsid(ASN1_STRING *cn, unsigned char **dnsid, size_t
      *idlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:588,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:590,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - nm
    - base
    argTypes:
    - X509_NAME*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 597
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 597
    functionName: nc_dn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - i2d_X509_NAME
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int nc_dn(const X509_NAME *nm, const X509_NAME *base) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ia5ncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - dns
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    constantsTouched: []
    func_position:
      end: 626
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 626
    functionName: nc_dns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - ia5ncasecmp
    linkageType: ''
    returnType: int
    signature: 'static int nc_dns(ASN1_IA5STRING *dns, ASN1_IA5STRING *base) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ia5memrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:711,1
    - Dst: ia5ncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:721,1
    - Dst: ia5memrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:712,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:734,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:733,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:737,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:744,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:745,1
    - Dst: ia5ncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c:747,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 2
    argNames:
    - eml
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    constantsTouched: []
    func_position:
      end: 752
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 752
    functionName: nc_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ncons.c
    functionUses: []
    functionsReached:
    - IA5_OFFSET_LEN
    - memchr
    - ia5memrchr
    - strncmp
    - ia5ncasecmp
    linkageType: ''
    returnType: int
    signature: 'static int nc_email(ASN1_IA5STRING *eml, ASN1_IA5STRING *base) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:26,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:27,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:37,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:34,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:43,1
    - Dst: X509_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:44,1
    - Dst: X509_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:46,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:49,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:51,1
    - Dst: X509_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:56,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:59,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:55,1
    - Dst: X509_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:59,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c:64,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 38
    argCount: 3
    argNames:
    - r
    - days
    - pkey
    argTypes:
    - X509_REQ*
    - int
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 66
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 66
    functionName: X509_REQ_to_X509
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_r2x.c
    functionUses: []
    functionsReached:
    - X509_free
    - ERR_raise
    - X509_set_subject_name
    - sk_X509_ATTRIBUTE_num
    - X509_new
    - X509_REQ_get_subject_name
    - X509_REQ_get0_pubkey
    - X509_gmtime_adj
    - X509_set_pubkey
    - EVP_md5
    - ASN1_INTEGER_set
    - X509_sign
    - X509_set_issuer_name
    - ASN1_INTEGER_new
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_int.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - meth
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: s2i_asn1_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_int.c
    functionUses: []
    functionsReached:
    - s2i_ASN1_INTEGER
    linkageType: ''
    returnType: void*
    signature: 'static void *s2i_asn1_int(X509V3_EXT_METHOD *meth, X509V3_CTX *ctx,
      const char *value) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509type.c:24,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509type.c:63,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509type.c:31,1
    - Dst: X509_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509type.c:62,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 33
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 83
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 83
    functionName: X509_certificate_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509type.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - EVP_PKEY_get_id
    - X509_get_signature_nid
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: int
    signature: 'int X509_certificate_type(const X509 *x, const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:94,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:99,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - url
    - bio
    - rbio
    - timeout
    - it
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: simple_get_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_bio
    - OSSL_HTTP_get
    - BIO_free
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'static ASN1_VALUE *simple_get_asn1(const char *url, BIO *bio, BIO
      *rbio, int timeout, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:191,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - x509
    argTypes:
    - BIO*
    - X509*
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: i2d_X509_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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: simple_get_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:107,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - url
    - bio
    - rbio
    - timeout
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: X509_load_http
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - simple_get_asn1
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_load_http(const char *url, BIO *bio, BIO *rbio, int timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA**
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: d2i_DSA_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY2PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:668,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:671,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - key
    argTypes:
    - FILE*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: i2d_PKCS8PrivateKeyInfo_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY2PKCS8
    - i2d_PKCS8_PRIV_KEY_INFO_fp
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - xpk
    argTypes:
    - FILE*
    - X509_PUBKEY**
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: d2i_X509_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: X509_PUBKEY*
    signature: 'X509_PUBKEY *d2i_X509_PUBKEY_fp(FILE *fp, X509_PUBKEY **xpk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:32,1
    - Dst: ASN1_item_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:35,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: X509_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_cmp
    - ASN1_ITEM_rptr
    - ASN1_item_verify_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_verify(X509 *a, EVP_PKEY *r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:62,1
    - Dst: ASN1_item_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:74,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: X509_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_sign_ex
    - ERR_raise
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_get_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:161,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - url
    - bio
    - rbio
    - timeout
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: X509_CRL_load_http
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - simple_get_asn1
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *X509_CRL_load_http(const char *url, BIO *bio, BIO *rbio,
      int timeout) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:565,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:574,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:577,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:577,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:568,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509_CRL*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 579
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 579
    functionName: X509_CRL_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ossl_asn1_item_digest_ex
    - ERR_raise
    - memcpy
    - EVP_MD_is_a
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned
      char *md, unsigned int *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8inf
    argTypes:
    - FILE*
    - PKCS8_PRIV_KEY_INFO**
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: d2i_PKCS8_PRIV_KEY_INFO_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO
      **p8inf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:43,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - a
    - r
    - libctx
    - propq
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: X509_REQ_verify_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_verify_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *r, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:82,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:86,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: X509_sign_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_ITEM_rptr
    - ASN1_item_sign_ctx
    linkageType: ''
    returnType: int
    signature: 'int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:168,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - NETSCAPE_SPKI*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: NETSCAPE_SPKI_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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: ossl_asn1_item_digest_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:584,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509_REQ*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 586
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 586
    functionName: X509_REQ_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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, unsigned
      char *md, unsigned int *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - xpk
    argTypes:
    - FILE*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: i2d_X509_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8inf
    argTypes:
    - FILE*
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: i2d_PKCS8_PRIV_KEY_INFO_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - pkey
    argTypes:
    - FILE*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: i2d_PrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8inf
    argTypes:
    - BIO*
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 725
    functionName: i2d_PKCS8_PRIV_KEY_INFO_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: i2d_PrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY**
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: d2i_EC_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 684
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 684
    functionName: d2i_PrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8inf
    argTypes:
    - BIO*
    - PKCS8_PRIV_KEY_INFO**
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: d2i_PKCS8_PRIV_KEY_INFO_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO
      **p8inf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY2PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:732,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:735,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - bp
    - key
    argTypes:
    - BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 738
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 738
    functionName: i2d_PKCS8PrivateKeyInfo_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY2PKCS8
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: d2i_PrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:208,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - crl
    argTypes:
    - BIO*
    - X509_CRL**
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: d2i_X509_CRL_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY**
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: d2i_EC_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8
    argTypes:
    - FILE*
    - X509_SIG**
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: d2i_PKCS8_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: X509_SIG*
    signature: 'X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:692,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:696,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:692,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:697,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:693,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:698,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - fp
    - a
    - libctx
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 700
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 700
    functionName: d2i_PrivateKey_ex_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - d2i_PrivateKey_ex_bio
    - BIO_new
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8
    argTypes:
    - FILE*
    - X509_SIG*
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: i2d_PKCS8_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:213,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - crl
    argTypes:
    - BIO*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: i2d_X509_CRL_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int i2d_X509_CRL_bio(BIO *bp, const X509_CRL *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: i2d_EC_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - pkey
    argTypes:
    - FILE*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: i2d_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: 'int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:114,1
    - Dst: ASN1_item_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:118,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: X509_REQ_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_sign_ex
    - ERR_raise
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - xpk
    argTypes:
    - BIO*
    - X509_PUBKEY**
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: d2i_X509_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: X509_PUBKEY*
    signature: 'X509_PUBKEY *d2i_X509_PUBKEY_bio(BIO *bp, X509_PUBKEY **xpk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:126,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:130,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_REQ*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: X509_REQ_sign_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_ITEM_rptr
    - ASN1_item_sign_ctx
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:186,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - x509
    argTypes:
    - BIO*
    - X509**
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: d2i_X509_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - xpk
    argTypes:
    - BIO*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: i2d_X509_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_item_d2i_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:175,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - x509
    argTypes:
    - FILE*
    - X509**
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: d2i_X509_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:197,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - crl
    argTypes:
    - FILE*
    - X509_CRL**
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: d2i_X509_CRL_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:284,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - req
    argTypes:
    - BIO*
    - X509_REQ**
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: d2i_X509_REQ_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_bio_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_REQ*
    signature: 'X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:180,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - x509
    argTypes:
    - FILE*
    - X509*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: i2d_X509_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:202,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - crl
    argTypes:
    - FILE*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: i2d_X509_CRL_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:289,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - req
    argTypes:
    - BIO*
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: i2d_X509_REQ_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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: X509_REQ_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: X509_REQ_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - X509_REQ_verify_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:228,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:228,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - fp
    - p7
    argTypes:
    - FILE*
    - PKCS7**
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: d2i_PKCS7_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ossl_pkcs7_resolve_libctx
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_fp_ex
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:259,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - p7
    argTypes:
    - BIO*
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: i2d_PKCS7_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: i2d_RSA_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_item_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:55,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - NETSCAPE_SPKI*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: NETSCAPE_SPKI_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_verify
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:236,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - p7
    argTypes:
    - FILE*
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: i2d_PKCS7_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS7_fp(FILE *fp, const PKCS7 *p7) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:328,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: d2i_RSAPrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA**
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: d2i_DSAPrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:295,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: d2i_RSAPrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA**
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: d2i_DSAPrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:447,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: X509_pubkey_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - EVP_Digest
    - X509_get0_pubkey_bitstr
    linkageType: ''
    returnType: int
    signature: 'int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned
      char *md, unsigned int *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:300,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: i2d_RSAPrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: i2d_RSA_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_i2d_fp
    linkageType: ''
    returnType: int
    signature: 'int i2d_RSA_PUBKEY_fp(FILE *fp, const RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA*
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: i2d_DSAPrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: d2i_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:591,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509_NAME*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: X509_NAME_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_digest
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned
      char *md, unsigned int *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:251,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:253,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - bp
    - p7
    argTypes:
    - BIO*
    - PKCS7**
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: d2i_PKCS7_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ossl_pkcs7_resolve_libctx
    - ASN1_item_d2i_bio_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:599,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - PKCS7_ISSUER_AND_SERIAL*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: PKCS7_ISSUER_AND_SERIAL_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_digest
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,
      const EVP_MD *type, unsigned char *md, unsigned int *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:333,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: i2d_RSAPrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:338,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: d2i_RSAPublicKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: i2d_ECPrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: 'int i2d_ECPrivateKey_bio(BIO *bp, const EC_KEY *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:138,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:142,1
    - Dst: ASN1_item_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: X509_CRL_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - ecdsa
    argTypes:
    - BIO*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: i2d_EC_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: 'int i2d_EC_PUBKEY_bio(BIO *bp, const EC_KEY *ecdsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:758,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:765,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:763,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 4
    argNames:
    - bp
    - a
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 767
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 767
    functionName: d2i_PrivateKey_ex_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - d2i_AutoPrivateKey_ex
    - asn1_d2i_read_bio
    - BUF_MEM_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:150,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:154,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_CRL*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: X509_CRL_sign_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_ITEM_rptr
    - ASN1_item_sign_ctx
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY**
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: d2i_ECPrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: i2d_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: 'int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:265,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - req
    argTypes:
    - FILE*
    - X509_REQ**
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: d2i_X509_REQ_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: d2i_RSA_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_fp
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8
    argTypes:
    - BIO*
    - X509_SIG**
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: d2i_PKCS8_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_item_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:270,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - req
    argTypes:
    - FILE*
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: i2d_X509_REQ_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int i2d_X509_REQ_fp(FILE *fp, const X509_REQ *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:305,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: d2i_RSAPublicKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_item_i2d_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:317,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: i2d_RSAPublicKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA*
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: i2d_DSA_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: i2d_ECPrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8
    argTypes:
    - BIO*
    - X509_SIG*
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: i2d_PKCS8_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY**
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: d2i_ECPrivateKey_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: d2i_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA*
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: i2d_DSA_PUBKEY_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA*
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: i2d_DSAPrivateKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: 'int i2d_DSAPrivateKey_bio(BIO *bp, const DSA *dsa) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:486,1
    - Dst: X509_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:507,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:529,1
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:545,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:548,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:490,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:510,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:536,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:555,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:557,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:502,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:546,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:541,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:539,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:552,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:497,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:491,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:506,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:512,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:539,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:542,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:512,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 3
    argNames:
    - cert
    - md_used
    - md_is_fallback
    argTypes:
    - X509*
    - EVP_MD**
    - int*
    constantsTouched: []
    func_position:
      end: 559
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 559
    functionName: X509_digest_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - X509_digest
    - EVP_get_digestbynid
    - ERR_raise
    - RSA_PSS_PARAMS_free
    - ossl_rsa_pss_decode
    - OBJ_nid2sn
    - ASN1_OCTET_STRING_new
    - EVP_MD_get0_name
    - ASN1_OCTET_STRING_free
    - ossl_rsa_pss_get_param_unverified
    - EVP_MD_free
    - ASN1_OCTET_STRING_set
    - EVP_MD_fetch
    - X509_get_signature_nid
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *X509_digest_sig(const X509 *cert, EVP_MD **md_used,
      int *md_is_fallback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA**
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: d2i_DSA_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:457,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:462,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:465,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - cert
    - md
    - data
    - len
    argTypes:
    - X509*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: X509_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ossl_asn1_item_digest_ex
    - memcpy
    - ASN1_ITEM_rptr
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: 'int X509_digest(const X509 *cert, const EVP_MD *md, unsigned char
      *data, unsigned int *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: d2i_RSA_PUBKEY_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:348,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: i2d_RSAPublicKey_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_all.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int i2d_RSAPublicKey_bio(BIO *bp, const RSA *rsa) '
  - BBCount: 97
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 224
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 224
    functionName: X509_verify_cert_error_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_txt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_verify_cert_error_string(long n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509_CRL*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: X509_CRL_get_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509_CRL*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: X509_CRL_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509_REVOKED*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: X509_REVOKED_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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, int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509_REVOKED*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: X509_REVOKED_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_add1_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509_CRL*
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: X509_CRL_add1_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit,
      unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: X509_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509_REVOKED*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: X509_REVOKED_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509_REVOKED*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: X509_REVOKED_get_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509_REVOKED*
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: X509_REVOKED_add1_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: 'int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value,
      int crit, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: X509_CRL_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: X509_REVOKED_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509_CRL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: X509_CRL_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509_REVOKED*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: X509_REVOKED_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509_CRL*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: X509_CRL_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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,
      int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509_CRL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: X509_CRL_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_CRL*
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: X509_CRL_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: X509_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: X509_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: X509_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_delete_ext(X509 *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: X509_get_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_REVOKED*
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: X509_REVOKED_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_CRL*
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: X509_CRL_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: X509_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    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
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: X509_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_get_ext(const X509 *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: X509_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: 'int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509*
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: X509_add1_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: 'int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, unsigned
      long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_REVOKED*
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: X509_REVOKED_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_ext.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509rset.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509_REQ*
    - long
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: X509_REQ_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509rset.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_set_version(X509_REQ *x, long version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509rset.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: X509_REQ_set_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509rset.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509rset.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509_REQ*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: X509_REQ_set_subject_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509rset.c
    functionUses: []
    functionsReached:
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_set_subject_name(X509_REQ *x, const X509_NAME *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:61,1
    - Dst: sk_ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:82,1
    - Dst: sk_ASN1_OBJECT_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:79,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:81,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:87,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:92,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:93,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:94,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c:98,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 23
    argCount: 0
    argNames:
    - EXTENDED_KEY_USAGE
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 101
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_extku.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_ASN1_OBJECT_value
    - sk_ASN1_OBJECT_free
    - sk_ASN1_OBJECT_pop_free
    - sk_ASN1_OBJECT_push
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - sk_ASN1_OBJECT_new_reserve
    - OBJ_txt2obj
    - ERR_raise_data
    linkageType: ''
    returnType: ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE)
    signature: 'ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) IMPLEMENT_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
      static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD
      *method, void *a, STACK_OF(CONF_VALUE) *ext_list){ EXTENDED_KEY_USAGE *eku =
      a; int i; ASN1_OBJECT *obj; char obj_tmp[80]; for (i = 0; i < sk_ASN1_OBJECT_num(eku);
      i++) { obj = sk_ASN1_OBJECT_value(eku, i); i2t_ASN1_OBJECT(obj_tmp, 80, obj);
      X509V3_add_value(NULL, obj_tmp, &ext_list); } return ext_list;}static void *v2i_EXTENDED_KEY_USAGE(const
      X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:46,1
    - Dst: sk_CONF_VALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:58,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:52,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:50,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:56,1
    - Dst: sk_CONF_VALUE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:63,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:67,1
    - Dst: sk_CONF_VALUE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:69,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:72,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:73,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:74,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 33
    argCount: 4
    argNames:
    - name
    - value
    - vallen
    - extlist
    argTypes:
    - char*
    - char*
    - size_t
    - STACK_OF(CONF_VALUE)**
    constantsTouched: []
    func_position:
      end: 76
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 76
    functionName: x509v3_add_len_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sk_CONF_VALUE_push
    - OPENSSL_strdup
    - ERR_raise
    - sk_CONF_VALUE_free
    - OPENSSL_free
    - memchr
    - OPENSSL_strndup
    - sk_CONF_VALUE_new_null
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int x509v3_add_len_value(const char *name, const char *value,
      size_t vallen, STACK_OF(CONF_VALUE) **extlist) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:269,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:270,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:271,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:272,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:273,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:274,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:278,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:279,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:280,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:281,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:288,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:289,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:282,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:283,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 2
    argNames:
    - value
    - asn1_bool
    argTypes:
    - CONF_VALUE*
    - int*
    constantsTouched: []
    func_position:
      end: 291
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 291
    functionName: X509V3_get_value_bool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - strcmp
    - X509V3_conf_add_error_name_value
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:645,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: equal_case
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - skip_prefix
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int equal_case(const unsigned char *pattern, size_t pattern_len,
      const unsigned char *subject, size_t subject_len, unsigned int flags) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: equal_nocase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:698,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:717,1
    - Dst: equal_nocase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:702,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    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
    constantsTouched: []
    func_position:
      end: 734
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 734
    functionName: wildcard_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - equal_nocase
    linkageType: ''
    returnType: int
    signature: 'static int wildcard_match(const unsigned char *prefix, size_t prefix_len,
      const unsigned char *suffix, size_t suffix_len, const unsigned char *subject,
      size_t subject_len, unsigned int flags) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:909,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:911,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:913,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:919,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:917,1
    - Dst: do_check_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:931,1
    - Dst: do_check_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:949,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:953,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:965,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:966,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:967,1
    - Dst: do_check_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:971,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:968,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 6
    argNames:
    - x
    - chk
    - chklen
    - flags
    - check_type
    - peername
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 976
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 976
    functionName: do_x509_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_num
    - OBJ_obj2nid
    - do_check_string
    - X509_NAME_get_entry
    - X509_get_ext_d2i
    - X509_get_subject_name
    - sk_GENERAL_NAME_value
    - X509_NAME_ENTRY_get_data
    - X509_NAME_get_index_by_NID
    - GENERAL_NAMES_free
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int do_x509_check(X509 *x, const char *chk, size_t chklen,
      unsigned int flags, int check_type, char **peername) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1008,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1009,1
    - Dst: do_x509_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1013,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1014
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1014
    functionName: X509_check_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - memchr
    - do_x509_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int X509_check_email(X509 *x, const char *chk, size_t chklen, unsigned
      int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1031,1
    - Dst: do_x509_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - x
    - ipasc
    - flags
    argTypes:
    - X509*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1035
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1035
    functionName: X509_check_ip_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - ossl_a2i_ipadd
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: 'int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1142,1
    - Dst: ipv6_from_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1143,1
    - Dst: ipv4_from_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ipout
    - ipasc
    argTypes:
    - unsigned char*
    - char*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1151
    functionName: ossl_a2i_ipadd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - ipv4_from_asc
    - strchr
    - ipv6_from_asc
    linkageType: ''
    returnType: int
    signature: 'int ossl_a2i_ipadd(unsigned char *ipout, const char *ipasc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509v3_add_len_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:81,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - name
    - value
    - extlist
    argTypes:
    - char*
    - char*
    - STACK_OF(CONF_VALUE)**
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: X509V3_add_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - x509v3_add_len_value
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int X509V3_add_value(const char *name, const char *value, STACK_OF(CONF_VALUE)
      **extlist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:297,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - value
    - aint
    argTypes:
    - CONF_VALUE*
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: X509V3_get_value_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:989,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:990,1
    - Dst: do_x509_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:994,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - x
    - chk
    - chklen
    - flags
    - peername
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    - char**
    constantsTouched: []
    func_position:
      end: 995
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 995
    functionName: X509_check_host
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - memchr
    - do_x509_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int X509_check_host(X509 *x, const char *chk, size_t chklen, unsigned
      int flags, char **peername) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1022
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1022
    functionName: X509_check_ip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: 'int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,
      unsigned int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1048,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1056,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1064,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1061,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1065
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1065
    functionName: ossl_ipaddr_to_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - BIO_snprintf
    linkageType: ''
    returnType: char*
    signature: 'char *ossl_ipaddr_to_asc(unsigned char *p, int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1158,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1164,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - v4
    - in
    argTypes:
    - unsigned char*
    - char*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1171
    functionName: ipv4_from_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sscanf
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: 'static int ipv4_from_asc(unsigned char *v4, const char *in) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:412,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:416,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 424
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 424
    functionName: strip_spaces
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - strlen
    - ossl_isspace
    linkageType: ''
    returnType: char*
    signature: 'static char *strip_spaces(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - out
    - in
    - inlen
    argTypes:
    - unsigned char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1307
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1307
    functionName: ipv6_hex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexchar2int
    linkageType: ''
    returnType: int
    signature: 'static int ipv6_hex(unsigned char *out, const char *in, int inlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:106,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:108,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF_VALUE*
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: X509V3_conf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void X509V3_conf_free(CONF_VALUE *conf) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:201,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:206,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:226,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:224,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:204,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:230,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:234,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:237,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:238,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:240,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 2
    argNames:
    - method
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 246
    functionName: s2i_ASN1_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - ERR_raise
    - BN_is_zero
    - BN_new
    - BN_to_ASN1_INTEGER
    - BN_dec2bn
    - BN_free
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char
      *value) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:321,1
    - Dst: strip_spaces
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:345,1
    - Dst: strip_spaces
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:386,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:395,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:379,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:382,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:400,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:316,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:339,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:348,1
    - Dst: strip_spaces
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:388,1
    - Dst: strip_spaces
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:337,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:323,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:351,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:363,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:366,1
    - Dst: strip_spaces
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:377,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:391,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:399,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 81
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 403
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 403
    functionName: X509V3_parse_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - X509V3_add_value
    - OPENSSL_free
    - strip_spaces
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipv4_from_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1272,1
    - Dst: ipv6_hex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1276,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - elem
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1282
    functionName: ipv6_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - ipv4_from_asc
    - ipv6_hex
    linkageType: ''
    returnType: int
    signature: 'static int ipv6_cb(const char *elem, int len, void *usr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:116,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - name
    - asn1_bool
    - extlist
    argTypes:
    - char*
    - int
    - STACK_OF(CONF_VALUE)**
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: X509V3_add_value_bool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - X509V3_add_value
    linkageType: ''
    returnType: int
    signature: 'int X509V3_add_value_bool(const char *name, int asn1_bool, STACK_OF(CONF_VALUE)
      **extlist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2s_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:256,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:258,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - name
    - aint
    - extlist
    argTypes:
    - char*
    - ASN1_INTEGER*
    - STACK_OF(CONF_VALUE)**
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: X509V3_add_value_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - X509V3_add_value
    - i2s_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint,
      STACK_OF(CONF_VALUE) **extlist) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1196,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1242,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1235,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1233,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - v6
    - in
    argTypes:
    - unsigned char*
    - char*
    constantsTouched: []
    func_position:
      end: 1246
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1246
    functionName: ipv6_from_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - memcpy
    - CONF_parse_list
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ipv6_from_asc(unsigned char *v6, const char *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509v3_add_len_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:89,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - name
    - value
    - extlist
    argTypes:
    - char*
    - unsigned char*
    - STACK_OF(CONF_VALUE)**
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: X509V3_add_value_uchar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - x509v3_add_len_value
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int X509V3_add_value_uchar(const char *name, const unsigned char *value,
      STACK_OF(CONF_VALUE) **extlist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - name
    - asn1_bool
    - extlist
    argTypes:
    - char*
    - int
    - STACK_OF(CONF_VALUE)**
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: X509V3_add_value_bool_nf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - X509V3_add_value
    linkageType: ''
    returnType: int
    signature: 'int X509V3_add_value_bool_nf(const char *name, int asn1_bool, STACK_OF(CONF_VALUE)
      **extlist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:174,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:175,1
    - Dst: bignum_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - method
    - a
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_ENUMERATED*
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: i2s_ASN1_ENUMERATED
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - ASN1_ENUMERATED_to_BN
    - BN_free
    - bignum_to_string
    - ERR_raise
    linkageType: ''
    returnType: char*
    signature: 'char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED
      *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:453,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:457,1
    - Dst: get_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:456,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:456,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 459
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 459
    functionName: X509_get1_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - get_email
    - STACK_OF
    - X509_get_ext_d2i
    - sk_GENERAL_NAME_pop_free
    - X509_get_subject_name
    linkageType: ''
    returnType: STACK_OF(OPENSSL_STRING)*
    signature: 'STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - OPENSSL_STRING
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: str_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void str_free(OPENSSL_STRING str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sk
    argTypes:
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: X509_email_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_email_free(STACK_OF(OPENSSL_STRING) *sk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1080,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1088,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1089,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1085,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ipasc
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1093
    functionName: a2i_IPADDRESS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_set
    - ossl_a2i_ipadd
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509v3_add_len_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - name
    - value
    - vallen
    - extlist
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - STACK_OF(CONF_VALUE)**
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: x509v3_add_len_value_uchar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - x509v3_add_len_value
    linkageType: ''
    returnType: int
    signature: 'int x509v3_add_len_value_uchar(const char *name, const unsigned char
      *value, size_t vallen, STACK_OF(CONF_VALUE) **extlist) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:138,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:146,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:141,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:139,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:145,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:148,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:149,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:155,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:156,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:158,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:159,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 163
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 163
    functionName: bignum_to_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_strlcpy
    - BN_num_bits
    - OPENSSL_strlcat
    - BN_bn2dec
    - BN_bn2hex
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *bignum_to_string(const BIGNUM *bn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:186,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:189,1
    - Dst: bignum_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - method
    - a
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: i2s_ASN1_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_to_BN
    - BN_free
    - bignum_to_string
    - ERR_raise
    linkageType: ''
    returnType: char*
    signature: 'char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER
      *a) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:464,1
    - Dst: sk_ACCESS_DESCRIPTION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:471,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:472,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:467,1
    - Dst: sk_ACCESS_DESCRIPTION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:470,1
    - Dst: append_ia5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:474,1
    - Dst: AUTHORITY_INFO_ACCESS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:480,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 482
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 482
    functionName: X509_get1_ocsp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sk_ACCESS_DESCRIPTION_num
    - sk_ACCESS_DESCRIPTION_value
    - OBJ_obj2nid
    - AUTHORITY_INFO_ACCESS_free
    - X509_get_ext_d2i
    - append_ia5
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(OPENSSL_STRING)*
    signature: 'STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:541,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:548,1
    - Dst: X509_email_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:550,1
    - Dst: sk_OPENSSL_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:544,1
    - Dst: sk_OPENSSL_STRING_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:556,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:557,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:560,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:561,1
    - Dst: X509_email_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:562,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - sk
    - email
    argTypes:
    - STACK_OF(OPENSSL_STRING)**
    - ASN1_IA5STRING*
    constantsTouched: []
    func_position:
      end: 567
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 567
    functionName: append_ia5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_push
    - X509_email_free
    - OPENSSL_free
    - memchr
    - sk_OPENSSL_STRING_new
    - OPENSSL_strndup
    - sk_OPENSSL_STRING_find
    linkageType: ''
    returnType: int
    signature: 'static int append_ia5(STACK_OF(OPENSSL_STRING) **sk, const ASN1_IA5STRING
      *email) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1102,1
    - Dst: ossl_a2i_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1111,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1105,1
    - Dst: ossl_a2i_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1116,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1118,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1124,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1127,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1133,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1134,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 1
    argNames:
    - ipasc
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1136
    functionName: a2i_IPADDRESS_NC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ossl_a2i_ipadd
    - strchr
    - OPENSSL_free
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: skip_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:615,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 638
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 638
    functionName: equal_nocase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - skip_prefix
    linkageType: ''
    returnType: int
    signature: 'static int equal_nocase(const unsigned char *pattern, size_t pattern_len,
      const unsigned char *subject, size_t subject_len, unsigned int flags) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:843,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:862,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:847,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:854,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:844,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:864,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:866,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:870,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 7
    argNames:
    - a
    - cmp_type
    - equal
    - flags
    - b
    - blen
    - peername
    argTypes:
    - ASN1_STRING*
    - int
    - equal_fn
    - unsigned int
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 873
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 873
    functionName: do_check_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - memcmp
    - OPENSSL_free
    - ASN1_STRING_to_UTF8
    - OPENSSL_strndup
    - equal
    linkageType: ''
    returnType: int
    signature: 'static int do_check_string(const ASN1_STRING *a, int cmp_type, equal_fn
      equal, unsigned int flags, const char *b, size_t blen, char **peername) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:436,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - name
    - cmp
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 443
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 443
    functionName: ossl_v3_name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_v3_name_cmp(const char *name, const char *cmp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:487,1
    - Dst: X509V3_get_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:491,1
    - Dst: get_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:492,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:488,1
    - Dst: X509_REQ_get_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:490,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:492,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:493,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 496
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: X509_REQ_get1_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - get_email
    - sk_X509_EXTENSION_pop_free
    - X509_REQ_get_subject_name
    - X509_REQ_get_extensions
    - X509V3_get_d2i
    - sk_GENERAL_NAME_pop_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(OPENSSL_STRING)*
    signature: 'STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - p
    - plen
    - subject_len
    - flags
    argTypes:
    - unsigned char**
    - size_t*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 608
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 608
    functionName: skip_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void skip_prefix(const unsigned char **p, size_t *plen, size_t
      subject_len, unsigned int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valid_star
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:816,1
    - Dst: equal_nocase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:818,1
    - Dst: wildcard_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 823
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 823
    functionName: equal_wildcard
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - wildcard_match
    - equal_nocase
    - valid_star
    linkageType: ''
    returnType: int
    signature: 'static int equal_wildcard(const unsigned char *pattern, size_t pattern_len,
      const unsigned char *subject, size_t subject_len, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: sk_strcmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int sk_strcmp(const char *const *a, const char *const *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:509,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:512,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:516,1
    - Dst: append_ia5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:513,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:511,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:517,1
    - Dst: append_ia5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:520,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - name
    - gens
    argTypes:
    - X509_NAME*
    - GENERAL_NAMES*
    constantsTouched: []
    func_position:
      end: 524
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 524
    functionName: get_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509_NAME_get_entry
    - sk_GENERAL_NAME_value
    - X509_NAME_ENTRY_get_data
    - X509_NAME_get_index_by_NID
    - append_ia5
    linkageType: ''
    returnType: STACK_OF(OPENSSL_STRING)*
    signature: 'static STACK_OF(OPENSSL_STRING) *get_email(const X509_NAME *name,
      GENERAL_NAMES *gens) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:777,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 3
    argNames:
    - p
    - len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 802
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 802
    functionName: valid_star
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    linkageType: ''
    returnType: unsigned char*
    signature: 'static const unsigned char *valid_star(const unsigned char *p, size_t
      len, unsigned int flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1319,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1320,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:1350,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - nm
    - dn_sk
    - chtype
    argTypes:
    - X509_NAME*
    - STACK_OF(CONF_VALUE)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1357
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1357
    functionName: X509V3_NAME_from_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - X509_NAME_add_entry_by_txt
    linkageType: ''
    returnType: int
    signature: 'int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk,
      unsigned long chtype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_nocase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:671,1
    - Dst: equal_case
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c:678,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - a
    - a_len
    - b
    - b_len
    - unused_flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 679
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 679
    functionName: equal_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_utl.c
    functionUses: []
    functionsReached:
    - equal_case
    - equal_nocase
    linkageType: ''
    returnType: int
    signature: 'static int equal_email(const unsigned char *a, size_t a_len, const
      unsigned char *b, size_t b_len, unsigned int unused_flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_local.h:26,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_local.h:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: X509_POLICY_DATA_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(X509_POLICY_DATA)
    signature: 'DEFINE_STACK_OF(X509_POLICY_DATA) /* Internal structures */ /* * This
      structure and the field names correspond to the Policy ''node'' of * RFC3280.
      NB this structure contains no pointers to parent or child data: * X509_POLICY_NODE
      contains that. This means that the main policy data can * be kept static and
      cached with the certificate. */ struct X509_POLICY_DATA_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: X509_get_default_cert_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_get_default_cert_file(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: X509_get_default_cert_area
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_get_default_cert_area(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: X509_get_default_private_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_get_default_private_dir(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: X509_get_default_cert_dir_env
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_get_default_cert_dir_env(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: X509_get_default_cert_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_get_default_cert_dir(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: X509_get_default_cert_file_env
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_get_default_cert_file_env(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:19,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_POLICY_NODE**
    - X509_POLICY_NODE**
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: node_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    linkageType: ''
    returnType: int
    signature: 'static int node_cmp(const X509_POLICY_NODE *const *a, const X509_POLICY_NODE
      *const *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:37,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - nodes
    - id
    argTypes:
    - STACK_OF(X509_POLICY_NODE)*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: ossl_policy_tree_find_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c
    functionUses: []
    functionsReached:
    - sk_X509_POLICY_NODE_find
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: X509_POLICY_NODE*
    signature: 'X509_POLICY_NODE *ossl_policy_tree_find_sk(STACK_OF(X509_POLICY_NODE)
      *nodes, const ASN1_OBJECT *id) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:87,1
    - Dst: ossl_policy_node_cmp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:85,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:72,1
    - Dst: sk_X509_POLICY_NODE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:90,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:91,1
    - Dst: sk_X509_POLICY_DATA_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:99,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:101,1
    - Dst: sk_X509_POLICY_DATA_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:104,1
    - Dst: sk_X509_POLICY_NODE_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:121,1
    - Dst: ossl_policy_node_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:105,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 45
    argCount: 5
    argNames:
    - level
    - data
    - parent
    - tree
    - extra_data
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_DATA*
    - X509_POLICY_NODE*
    - X509_POLICY_TREE*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 127
    functionName: ossl_policy_level_add_node
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_policy_node_cmp_new
    - sk_X509_POLICY_DATA_new_null
    - sk_X509_POLICY_NODE_push
    - OBJ_obj2nid
    - OPENSSL_zalloc
    - sk_X509_POLICY_DATA_push
    - ossl_policy_node_free
    - sk_X509_POLICY_NODE_pop
    linkageType: ''
    returnType: X509_POLICY_NODE*
    signature: 'X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
      X509_POLICY_DATA *data, X509_POLICY_NODE *parent, X509_POLICY_TREE *tree, int
      extra_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:148,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:153,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:155,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - lvl
    - node
    - oid
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_NODE*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: ossl_policy_node_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - sk_ASN1_OBJECT_value
    - sk_ASN1_OBJECT_num
    linkageType: ''
    returnType: int
    signature: 'int ossl_policy_node_match(const X509_POLICY_LEVEL *lvl, const X509_POLICY_NODE
      *node, const ASN1_OBJECT *oid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:48,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:51,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:49,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - level
    - parent
    - id
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_NODE*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: ossl_policy_level_find_node
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - sk_X509_POLICY_NODE_num
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: X509_POLICY_NODE*
    signature: 'X509_POLICY_NODE *ossl_policy_level_find_node(const X509_POLICY_LEVEL
      *level, const X509_POLICY_NODE *parent, const ASN1_OBJECT *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ossl_policy_node_cmp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c
    functionUses: []
    functionsReached:
    - sk_X509_POLICY_NODE_new
    linkageType: ''
    returnType: STACK_OF(X509_POLICY_NODE)*
    signature: 'STACK_OF(X509_POLICY_NODE) *ossl_policy_node_cmp_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ossl_policy_node_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_node.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_policy_node_free(X509_POLICY_NODE *node) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:115,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:121,1
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:120,1
    - Dst: X509_get_default_cert_dir_env
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:115,1
    - Dst: X509_get_default_cert_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:117,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:127,1
    - Dst: X509_LOOKUP_set_method_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:128,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:130,1
    - Dst: cache_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:134,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 7
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - retp
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 138
    functionName: by_store_ctrl_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - OPENSSL_strdup
    - X509_get_default_cert_dir_env
    - X509_LOOKUP_get_method_data
    - sk_OPENSSL_STRING_push
    - X509_LOOKUP_set_method_data
    - X509_get_default_cert_dir
    - cache_objects
    - ossl_safe_getenv
    linkageType: ''
    returnType: int
    signature: 'static int by_store_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char
      *argp, long argl, char **retp, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - OPENSSL_STRING
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: free_uri
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void free_uri(OPENSSL_STRING data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:150,1
    - Dst: cache_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:155,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:155,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - type
    - criterion
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - OSSL_STORE_SEARCH*
    - X509_OBJECT*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: by_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - cache_objects
    - X509_LOOKUP_get_method_data
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    linkageType: ''
    returnType: int
    signature: 'static int by_store(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const
      OSSL_STORE_SEARCH *criterion, X509_OBJECT *ret, OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:103,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: by_store_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_pop_free
    - X509_LOOKUP_get_method_data
    linkageType: ''
    returnType: void
    signature: 'static void by_store_free(X509_LOOKUP *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: by_store_ctrl_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - retp
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: by_store_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - by_store_ctrl_ex
    linkageType: ''
    returnType: int
    signature: 'static int by_store_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp,
      long argl, char **retp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_SEARCH_by_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:169,1
    - Dst: by_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:170,1
    - Dst: X509_LOOKUP_get_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:172,1
    - Dst: X509_STORE_get0_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:172,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:171,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:175,1
    - Dst: X509_OBJECT_retrieve_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:178,1
    - Dst: X509_OBJECT_set1_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:202,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:204,1
    - Dst: X509_OBJECT_set1_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:207,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:209,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - type
    - name
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 216
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 216
    functionName: by_store_subject_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_OBJECT_set1_X509
    - by_store
    - X509_LOOKUP_get_store
    - X509_STORE_get0_objects
    - X509_OBJECT_set1_X509_CRL
    - X509_CRL_free
    - OSSL_STORE_SEARCH_free
    - OSSL_STORE_SEARCH_by_name
    - X509_OBJECT_retrieve_by_subject
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int by_store_subject_ex(X509_LOOKUP *ctx, X509_LOOKUP_TYPE
      type, const X509_NAME *name, X509_OBJECT *ret, OSSL_LIB_CTX *libctx, const char
      *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: X509_LOOKUP_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_METHOD*
    signature: 'X509_LOOKUP_METHOD *X509_LOOKUP_store(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_get_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:21,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:23,1
    - Dst: OSSL_STORE_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:49,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:56,1
    - Dst: OSSL_STORE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:46,1
    - Dst: cache_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:65,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:65,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:75,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:76,1
    - Dst: X509_STORE_add_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:79,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:80,1
    - Dst: OSSL_STORE_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:89,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:85,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 6
    argNames:
    - lctx
    - uri
    - criterion
    - depth
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - char*
    - OSSL_STORE_SEARCH*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 92
    functionName: cache_objects
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_load
    - X509_LOOKUP_get_store
    - OSSL_STORE_INFO_get0_NAME
    - OSSL_STORE_INFO_get0_CERT
    - X509_STORE_add_crl
    - OSSL_STORE_close
    - OSSL_STORE_open_ex
    - OSSL_STORE_INFO_free
    - OSSL_STORE_INFO_get0_CRL
    - X509_STORE_add_cert
    - cache_objects
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_find
    linkageType: ''
    returnType: int
    signature: 'static int cache_objects(X509_LOOKUP *lctx, const char *uri, const
      OSSL_STORE_SEARCH *criterion, int depth, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: by_store_subject_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: by_store_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_store.c
    functionUses: []
    functionsReached:
    - by_store_subject_ex
    linkageType: ''
    returnType: int
    signature: 'static int by_store_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
      const X509_NAME *name, X509_OBJECT *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: X509_policy_tree_level_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_policy_tree_level_count(const X509_POLICY_TREE *tree) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - X509_POLICY_LEVEL*
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: X509_policy_level_node_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached:
    - sk_X509_POLICY_NODE_num
    linkageType: ''
    returnType: int
    signature: 'int X509_policy_level_node_count(X509_POLICY_LEVEL *level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: X509_policy_tree_get0_policies
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_POLICY_NODE)*
    signature: 'STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const X509_POLICY_TREE
      *tree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: X509_policy_node_get0_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE
      *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: X509_policy_tree_get0_user_policies
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_POLICY_NODE)*
    signature: 'STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const
      X509_POLICY_TREE *tree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - tree
    - i
    argTypes:
    - X509_POLICY_TREE*
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: X509_policy_tree_get0_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_POLICY_LEVEL*
    signature: 'X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE
      *tree, int i) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - X509_POLICY_LEVEL*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: X509_policy_level_get0_node
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    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: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: X509_policy_node_get0_qualifiers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(POLICYQUALINFO)*
    signature: 'STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const X509_POLICY_NODE
      *node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: X509_policy_node_get0_parent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_POLICY_NODE*
    signature: 'const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE
      *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:21,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:26,1
    - Dst: sk_POLICYQUALINFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:24,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - X509_POLICY_DATA*
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: ossl_policy_data_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    - OPENSSL_free
    - ASN1_OBJECT_free
    - sk_POLICYQUALINFO_pop_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_policy_data_free(X509_POLICY_DATA *data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:46,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:53,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:57,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:54,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:59,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:60,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c:61,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - policy
    - cid
    - crit
    argTypes:
    - POLICYINFO*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 81
    functionName: ossl_policy_data_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_data.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - ASN1_OBJECT_free
    - OPENSSL_zalloc
    - sk_ASN1_OBJECT_new_null
    - OBJ_dup
    linkageType: ''
    returnType: X509_POLICY_DATA*
    signature: 'X509_POLICY_DATA *ossl_policy_data_new(POLICYINFO *policy, const ASN1_OBJECT
      *cid, int crit) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:155,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:161,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:160,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:163,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:168,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:169,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:180,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 2
    argNames:
    - preas
    - value
    argTypes:
    - ASN1_BIT_STRING**
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 182
    functionName: set_reasons
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - strcmp
    - sk_CONF_VALUE_num
    - ASN1_BIT_STRING_new
    - sk_CONF_VALUE_value
    - ASN1_BIT_STRING_set_bit
    - X509V3_parse_list
    - sk_CONF_VALUE_pop_free
    linkageType: ''
    returnType: int
    signature: 'static int set_reasons(ASN1_BIT_STRING **preas, char *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DIST_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:211,1
    - Dst: set_dist_point_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:218,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:215,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:217,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:223,1
    - Dst: set_reasons
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:224,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:226,1
    - Dst: gnames_from_sectname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:227,1
    - Dst: DIST_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:236,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - nval
    argTypes:
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 238
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 238
    functionName: crldp_from_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - set_dist_point_name
    - gnames_from_sectname
    - DIST_POINT_new
    - strcmp
    - sk_CONF_VALUE_num
    - DIST_POINT_free
    - set_reasons
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: DIST_POINT*
    signature: 'static DIST_POINT *crldp_from_section(X509V3_CTX *ctx, STACK_OF(CONF_VALUE)
      *nval) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:81,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:83,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:106,1
    - Dst: sk_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:132,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:77,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:99,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:73,1
    - Dst: gnames_from_sectname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:91,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:95,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:105,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:117,1
    - Dst: X509V3_NAME_from_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:94,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:131,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:88,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:90,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:98,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:113,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 3
    argNames:
    - pdp
    - ctx
    - cnf
    argTypes:
    - DIST_POINT_NAME**
    - X509V3_CTX*
    - CONF_VALUE*
    constantsTouched: []
    func_position:
      end: 134
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 134
    functionName: set_dist_point_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - gnames_from_sectname
    - ERR_raise
    - X509_NAME_new
    - X509_NAME_free
    - X509V3_section_free
    - strcmp
    - X509V3_NAME_from_section
    - DIST_POINT_NAME_new
    - strncmp
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - X509V3_get_section
    - sk_X509_NAME_ENTRY_pop_free
    - sk_GENERAL_NAME_pop_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int set_dist_point_name(DIST_POINT_NAME **pdp, X509V3_CTX *ctx,
      CONF_VALUE *cnf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 311
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 311
    functionName: dpn_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - X509_NAME_free
    linkageType: ''
    returnType: int
    signature: 'static int dpn_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:354,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:373,1
    - Dst: ISSUING_DIST_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:370,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:391,1
    - Dst: X509V3_get_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:389,1
    - Dst: set_dist_point_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:377,1
    - Dst: X509V3_get_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:386,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:388,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:374,1
    - Dst: X509V3_get_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:383,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:385,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:399,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:406,1
    - Dst: set_reasons
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:395,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:408,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:382,1
    - Dst: X509V3_get_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:392,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:398,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:394,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 47
    argCount: 0
    argNames:
    - ISSUING_DIST_POINT
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 410
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - set_dist_point_name
    - ASN1_ITEM_ref
    - X509V3_get_value_bool
    - ERR_raise
    - strcmp
    - X509V3_conf_add_error_name_value
    - sk_CONF_VALUE_num
    - set_reasons
    - sk_CONF_VALUE_value
    - ISSUING_DIST_POINT_new
    - ISSUING_DIST_POINT_free
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(ISSUING_DIST_POINT)
    signature: 'ASN1_SEQUENCE_END(ISSUING_DIST_POINT) IMPLEMENT_ASN1_FUNCTIONS(ISSUING_DIST_POINT)
      static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, int
      indent); static void *v2i_idp(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
      STACK_OF(CONF_VALUE) *nval); const X509V3_EXT_METHOD ossl_v3_idp = { NID_issuing_distribution_point,
      X509V3_EXT_MULTILINE, ASN1_ITEM_ref(ISSUING_DIST_POINT), 0, 0, 0, 0, 0, 0, 0,
      v2i_idp, i2r_idp, 0, NULL}; static void *v2i_idp(const X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:415,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:418,1
    - Dst: GENERAL_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:419,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:417,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - out
    - gens
    - indent
    argTypes:
    - BIO*
    - STACK_OF(GENERAL_NAME)*
    - int
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: print_gens
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_GENERAL_NAME_num
    - GENERAL_NAME_print
    - sk_GENERAL_NAME_value
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int print_gens(BIO *out, STACK_OF(GENERAL_NAME) *gens, int
      indent) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: print_distpoint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:444,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:448,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:450,1
    - Dst: print_reasons
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:452,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:446,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:454,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:458,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 4
    argNames:
    - method
    - pidp
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 461
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 461
    functionName: i2r_idp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - print_distpoint
    - print_reasons
    linkageType: ''
    returnType: int
    signature: 'static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO
      *out, int indent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:49,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:55,1
    - Dst: v2i_GENERAL_NAMES
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:58,1
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:53,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:60,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - sect
    argTypes:
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: gnames_from_sectname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509V3_section_free
    - v2i_GENERAL_NAMES
    - X509V3_get_section
    - X509V3_parse_list
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(GENERAL_NAME)*
    signature: 'static STACK_OF(GENERAL_NAME) *gnames_from_sectname(X509V3_CTX *ctx,
      char *sect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:189,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:195,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:191,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:196,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:200,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - out
    - rname
    - rflags
    - indent
    argTypes:
    - BIO*
    - char*
    - ASN1_BIT_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: print_reasons
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_puts
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: 'static int print_reasons(BIO *out, const char *rname, ASN1_BIT_STRING
      *rflags, int indent) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:247,1
    - Dst: sk_DIST_POINT_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:250,1
    - Dst: crldp_from_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:262,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:259,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:256,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:263,1
    - Dst: sk_DIST_POINT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:266,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:268,1
    - Dst: GENERAL_NAMES_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:270,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:272,1
    - Dst: DIST_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:275,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:278,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:288,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:290,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:292,1
    - Dst: sk_DIST_POINT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:277,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:291,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 44
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 294
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 294
    functionName: v2i_crld
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DIST_POINT_new
    - crldp_from_section
    - X509V3_section_free
    - v2i_GENERAL_NAME
    - DIST_POINT_NAME_new
    - GENERAL_NAME_free
    - sk_CONF_VALUE_num
    - GENERAL_NAMES_new
    - sk_DIST_POINT_push
    - sk_CONF_VALUE_value
    - sk_DIST_POINT_pop_free
    - X509V3_get_section
    - sk_DIST_POINT_new_reserve
    - GENERAL_NAMES_free
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: void*
    signature: 'static void *v2i_crld(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:427,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:432,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:434,1
    - Dst: print_gens
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:428,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - out
    - dpn
    - indent
    argTypes:
    - BIO*
    - DIST_POINT_NAME*
    - int
    constantsTouched: []
    func_position:
      end: 437
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: print_distpoint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - BIO_puts
    - print_gens
    linkageType: ''
    returnType: int
    signature: 'static int print_distpoint(BIO *out, DIST_POINT_NAME *dpn, int indent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_DIST_POINT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:469,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:471,1
    - Dst: print_reasons
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:476,1
    - Dst: print_distpoint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:474,1
    - Dst: sk_DIST_POINT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:472,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:478,1
    - Dst: print_gens
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:479,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - method
    - pcrldp
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 483
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 483
    functionName: i2r_crldp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - print_gens
    - print_distpoint
    - print_reasons
    - BIO_puts
    - sk_DIST_POINT_value
    - sk_DIST_POINT_num
    linkageType: ''
    returnType: int
    signature: 'static int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp,
      BIO *out, int indent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:489,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:495,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:500,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:496,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:499,1
    - Dst: X509_NAME_add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:501,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:505,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c:509,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - dpn
    - iname
    argTypes:
    - DIST_POINT_NAME*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 512
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 512
    functionName: DIST_POINT_set_dpname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_crld.c
    functionUses: []
    functionsReached:
    - X509_NAME_free
    - i2d_X509_NAME
    - X509_NAME_dup
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - X509_NAME_add_entry
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, const X509_NAME *iname) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:44,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:64,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:65,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:66,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:67,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:182,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:63,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:70,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:121,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:113,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:114,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:113,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:175,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:184,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:42,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:56,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:75,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c:125,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 180
    argCount: 3
    argNames:
    - a
    - buf
    - len
    argTypes:
    - X509_NAME*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 186
    functionName: X509_NAME_oneline
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_obj.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - BUF_MEM_grow
    - OBJ_nid2sn
    - OPENSSL_free
    - ascii2ebcdic
    - memcpy
    - ossl_toascii
    - BUF_MEM_free
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - i2t_ASN1_OBJECT
    - strncpy
    - BUF_MEM_new
    - strlen
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames:
    - GENERAL_NAMES
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached:
    - ASN1_dup
    linkageType: ''
    returnType: ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES)
    signature: 'ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAMES)
      GENERAL_NAME *GENERAL_NAME_dup(const GENERAL_NAME *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:140,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OTHERNAME*
    - OTHERNAME*
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: OTHERNAME_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_cmp
    - OBJ_cmp
    linkageType: ''
    returnType: int
    signature: 'int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:77,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:88,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EDIPARTYNAME*
    - EDIPARTYNAME*
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: edipartyname_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'static int edipartyname_cmp(const EDIPARTYNAME *a, const EDIPARTYNAME
      *b) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 3
    argCount: 2
    argNames:
    - a
    - ptype
    argTypes:
    - GENERAL_NAME*
    - int*
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: GENERAL_NAME_get0_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 3
    argNames:
    - a
    - type
    - value
    argTypes:
    - GENERAL_NAME*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: GENERAL_NAME_set0_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTHERNAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:220,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:226,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - gen
    - oid
    - value
    argTypes:
    - GENERAL_NAME*
    - ASN1_OBJECT*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: GENERAL_NAME_set0_othername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached:
    - OTHERNAME_new
    - GENERAL_NAME_set0_value
    - ASN1_TYPE_free
    linkageType: ''
    returnType: int
    signature: 'int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, ASN1_OBJECT *oid,
      ASN1_TYPE *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 3
    argNames:
    - gen
    - poid
    - pvalue
    argTypes:
    - GENERAL_NAME*
    - ASN1_OBJECT**
    - ASN1_TYPE**
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: GENERAL_NAME_get0_otherName
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen, ASN1_OBJECT
      **poid, ASN1_TYPE **pvalue) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:100,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:114,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:118,1
    - Dst: OTHERNAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:108,1
    - Dst: edipartyname_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:104,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:122,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c:126,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GENERAL_NAME*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: GENERAL_NAME_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_genn.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - edipartyname_cmp
    - OTHERNAME_cmp
    - X509_NAME_cmp
    - ASN1_OCTET_STRING_cmp
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:162,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:167,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:177,1
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 181
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 181
    functionName: X509_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int X509_cmp(const X509 *a, const X509 *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:240,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:247,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - p_sk
    - certs
    - flags
    argTypes:
    - STACK_OF(X509)**
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 251
    functionName: ossl_x509_add_certs_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - ossl_x509_add_cert_new
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_add_certs_new(STACK_OF(X509) **p_sk, STACK_OF(X509)
      *certs, int flags) /* compiler would allow ''const'' for the certs, yet they
      may get up-ref''ed */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:359,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:360,1
    - Dst: X509_issuer_and_serial_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - sk
    - name
    - serial
    argTypes:
    - STACK_OF(X509)*
    - X509_NAME*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: X509_find_by_issuer_and_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - sk_X509_value
    - X509_issuer_and_serial_cmp
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, const X509_NAME
      *name, const ASN1_INTEGER *serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - perror_depth
    - x
    - chain
    - flags
    argTypes:
    - int*
    - X509*
    - STACK_OF(X509)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: X509_chain_check_suiteb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_chain_check_suiteb(int *perror_depth, X509 *x, STACK_OF(X509)
      *chain, unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:185,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:189,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - p_sk
    - cert
    - flags
    argTypes:
    - STACK_OF(X509)**
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: ossl_x509_add_cert_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_new_null
    - X509_add_cert
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_add_cert_new(STACK_OF(X509) **p_sk, X509 *cert, int
      flags) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:264,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:282,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_NAME*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 286
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 286
    functionName: X509_NAME_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - i2d_X509_NAME
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:372,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:373,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:374,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - sk
    - name
    argTypes:
    - STACK_OF(X509)*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: X509_find_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - sk_X509_value
    - X509_NAME_cmp
    - X509_get_subject_name
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_find_by_subject(STACK_OF(X509) *sk, const X509_NAME *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - crl
    - pk
    - flags
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: X509_CRL_check_suiteb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long
      flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:399,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:405,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:401,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:407,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:410,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - X509*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 418
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 418
    functionName: X509_check_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - ERR_raise
    - EVP_PKEY_eq
    linkageType: ''
    returnType: int
    signature: 'int X509_check_private_key(const X509 *x, const EVP_PKEY *k) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:39,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:49,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:53,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:55,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:46,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:55,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:57,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:61,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:67,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:68,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:69,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 71
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 71
    functionName: X509_issuer_and_serial_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - X509_NAME_oneline
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_free
    - EVP_MD_fetch
    - strlen
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_issuer_and_serial_hash(X509 *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: X509_get_issuer_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'X509_NAME *X509_get_issuer_name(const X509 *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:293,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:297,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:301,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:308,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - x
    - libctx
    - propq
    - ok
    argTypes:
    - X509_NAME*
    - OSSL_LIB_CTX*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: X509_NAME_hash_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - i2d_X509_NAME
    - EVP_MD_fetch
    - EVP_Digest
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_NAME_hash_ex(const X509_NAME *x, OSSL_LIB_CTX *libctx,
      const char *propq, int *ok) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: X509_get0_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get0
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *X509_get0_pubkey(const X509 *x) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:434,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:441,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:437,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - pkey
    - sign_nid
    - pflags
    argTypes:
    - EVP_PKEY*
    - int
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 462
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 462
    functionName: check_suite_b
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - OBJ_txt2nid
    - EVP_PKEY_get_group_name
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: 'static int check_suite_b(EVP_PKEY *pkey, int sign_nid, unsigned long
      *pflags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: X509_issuer_name_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_NAME_hash_ex
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_issuer_name_hash(X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: X509_get_subject_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'X509_NAME *X509_get_subject_name(const X509 *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: X509_get_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *X509_get_pubkey(X509 *x) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:476,1
    - Dst: check_suite_b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:500,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:481,1
    - Dst: check_suite_b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:490,1
    - Dst: X509_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:492,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:506,1
    - Dst: X509_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:507,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:508,1
    - Dst: X509_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:509,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:513,1
    - Dst: check_suite_b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:520,1
    - Dst: X509_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:520,1
    - Dst: check_suite_b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:514,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 4
    argNames:
    - perror_depth
    - x
    - chain
    - flags
    argTypes:
    - int*
    - X509*
    - STACK_OF(X509)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 537
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 537
    functionName: X509_chain_check_suiteb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - sk_X509_num
    - X509_get_version
    - sk_X509_value
    - X509_get_signature_nid
    - check_suite_b
    linkageType: ''
    returnType: int
    signature: 'int X509_chain_check_suiteb(int *perror_depth, X509 *x, STACK_OF(X509)
      *chain, unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:544,1
    - Dst: check_suite_b
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - crl
    - pk
    - flags
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: X509_CRL_check_suiteb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - check_suite_b
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: X509_issuer_name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_CRL*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: X509_CRL_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: X509_issuer_name_hash_old
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_NAME_hash_old
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_issuer_name_hash_old(X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: X509_subject_name_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_NAME_hash_ex
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_subject_name_hash(X509 *x) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:195,1
    - Dst: X509_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:211,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:205,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:206,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:206,1
    - Dst: sk_X509_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:216,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:218,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:222,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - sk
    - cert
    - flags
    argTypes:
    - STACK_OF(X509)*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 224
    functionName: X509_add_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_cmp
    - sk_X509_insert
    - ERR_raise
    - sk_X509_num
    - X509_up_ref
    - X509_self_signed
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'int X509_add_cert(STACK_OF(X509) *sk, X509 *cert, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: X509_subject_name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: 'int X509_subject_name_cmp(const X509 *a, const X509 *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_CRL*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: X509_CRL_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_match(const X509_CRL *a, const X509_CRL *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:230,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - sk
    - certs
    - flags
    argTypes:
    - STACK_OF(X509)*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: X509_add_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_x509_add_certs_new
    linkageType: ''
    returnType: int
    signature: 'int X509_add_certs(STACK_OF(X509) *sk, STACK_OF(X509) *certs, int
      flags) /* compiler would allow ''const'' for the certs, yet they may get up-ref''ed
      */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: X509_subject_name_hash_old
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_NAME_hash_old
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_subject_name_hash_old(X509 *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:319,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:328,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:332,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:331,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:320,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:333,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:339,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 343
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 343
    functionName: X509_NAME_hash_old
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - i2d_X509_NAME
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_NAME_hash_old(const X509_NAME *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:29,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: X509_issuer_and_serial_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: 'int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: X509_get_serialNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'ASN1_INTEGER *X509_get_serialNumber(X509 *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: X509_get0_serialNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *X509_get0_serialNumber(const X509 *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:569,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:577,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:574,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:584,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:575,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:584,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c:585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - chain
    argTypes:
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 587
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 587
    functionName: X509_chain_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_cmp.c
    functionUses: []
    functionsReached:
    - X509_free
    - sk_X509_num
    - X509_up_ref
    - sk_X509_dup
    - sk_X509_free
    - sk_X509_value
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames:
    - X509_CERT_AUX
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(X509_CERT_AUX)
    signature: 'ASN1_SEQUENCE_END(X509_CERT_AUX) IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_AUX)
      int X509_trusted(const X509 *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_CERT_AUX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: aux_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached:
    - X509_CERT_AUX_new
    linkageType: ''
    returnType: X509_CERT_AUX*
    signature: 'static X509_CERT_AUX *aux_get(X509 *x) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:72,1
    - Dst: aux_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:76,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:79,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - x
    - id
    - len
    argTypes:
    - X509*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: X509_keyid_set1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    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: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - x
    - len
    argTypes:
    - X509*
    - int*
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: X509_keyid_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *X509_keyid_get0(X509 *x, int *len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:129,1
    - Dst: aux_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:131,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:136,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:141,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - x
    - obj
    argTypes:
    - X509*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: X509_add1_reject_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_push
    - ASN1_OBJECT_free
    - sk_ASN1_OBJECT_new_null
    - OBJ_dup
    - aux_get
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: X509_reject_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_reject_clear(X509 *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - x
    - len
    argTypes:
    - X509*
    - int*
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: X509_alias_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *X509_alias_get0(X509 *x, int *len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTF8STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:55,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:63,1
    - Dst: aux_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:59,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - x
    - name
    - len
    argTypes:
    - X509*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: X509_alias_set1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_free
    - ASN1_UTF8STRING_new
    - ASN1_STRING_set
    - aux_get
    linkageType: ''
    returnType: int
    signature: 'int X509_alias_set1(X509 *x, const unsigned char *name, int len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:107,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:114,1
    - Dst: aux_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:111,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:116,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - x
    - obj
    argTypes:
    - X509*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: X509_add1_trust_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_push
    - ASN1_OBJECT_free
    - sk_ASN1_OBJECT_new_null
    - OBJ_dup
    - aux_get
    linkageType: ''
    returnType: int
    signature: 'int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: X509_trust_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_trust_clear(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: X509_get0_trust_objects
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(ASN1_OBJECT)*
    signature: 'STACK_OF(ASN1_OBJECT) *X509_get0_trust_objects(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: X509_get0_reject_objects
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509a.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(ASN1_OBJECT)*
    signature: 'STACK_OF(ASN1_OBJECT) *X509_get0_reject_objects(X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - verify
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_verify_fn
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: X509_STORE_set_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn
      verify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cert_crl
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_cert_crl_fn
    constantsTouched: []
    func_position:
      end: 910
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 910
    functionName: X509_STORE_set_cert_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_cert_crl(X509_STORE *ctx, X509_STORE_CTX_cert_crl_fn
      cert_crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: X509_STORE_get_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_verify_fn
    signature: 'X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: X509_STORE_get_cert_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_cert_crl_fn
    signature: 'X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:225,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:231,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:230,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:234,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:237,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:238,1
    - Dst: X509_LOOKUP_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:239,1
    - Dst: X509_LOOKUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:240,1
    - Dst: sk_X509_LOOKUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:242,1
    - Dst: sk_X509_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:243,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:245,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:246,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:248,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - vfy
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: X509_STORE_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - sk_X509_OBJECT_pop_free
    - CRYPTO_THREAD_lock_free
    - sk_X509_LOOKUP_value
    - X509_VERIFY_PARAM_free
    - OPENSSL_free
    - X509_LOOKUP_shutdown
    - CRYPTO_DOWN_REF
    - CRYPTO_free_ex_data
    - X509_LOOKUP_free
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    - sk_X509_LOOKUP_free
    - sk_X509_LOOKUP_num
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_free(X509_STORE *vfy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: X509_STORE_get0_objects
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_OBJECT)*
    signature: 'STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:255,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:258,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - vfy
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: X509_STORE_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_up_ref(X509_STORE *vfy) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:553,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:560,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:557,1
    - Dst: X509_STORE_get0_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:565,1
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:562,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:566,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:567,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:567,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:570,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:573,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:577,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:579,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - store
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 581
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 581
    functionName: X509_STORE_get1_all_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_OBJECT_get0_X509
    - X509_STORE_unlock
    - ERR_raise
    - sk_X509_pop_free
    - sk_X509_OBJECT_value
    - X509_STORE_get0_objects
    - sk_X509_new_null
    - sk_X509_OBJECT_num
    - X509_add_cert
    - X509_STORE_lock
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *store) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:19,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:22,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:28,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: X509_LOOKUP_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_LOOKUP*
    signature: 'X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - type
    - name
    - serial
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - ASN1_INTEGER*
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: X509_LOOKUP_by_issuer_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE
      type, const X509_NAME *name, const ASN1_INTEGER *serial, X509_OBJECT *ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_object_idx_cnt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - h
    - type
    - name
    argTypes:
    - STACK_OF(X509_OBJECT)*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: X509_OBJECT_idx_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - x509_object_idx_cnt
    linkageType: ''
    returnType: int
    signature: 'int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE
      type, const X509_NAME *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - purpose
    argTypes:
    - X509_STORE*
    - int
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: X509_STORE_set_purpose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_set_purpose
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set_purpose(X509_STORE *ctx, int purpose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - verify_cb
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_verify_cb
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: X509_STORE_set_verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb
      verify_cb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: X509_LOOKUP_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void X509_LOOKUP_free(X509_LOOKUP *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - type
    - bytes
    - len
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - unsigned char*
    - int
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: X509_LOOKUP_by_fingerprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE
      type, const unsigned char *bytes, int len, X509_OBJECT *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_idx_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:539,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - h
    - type
    - name
    argTypes:
    - STACK_OF(X509_OBJECT)*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: X509_OBJECT_retrieve_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_OBJECT_idx_by_subject
    - sk_X509_OBJECT_value
    linkageType: ''
    returnType: X509_OBJECT*
    signature: 'X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT)
      *h, X509_LOOKUP_TYPE type, const X509_NAME *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - trust
    argTypes:
    - X509_STORE*
    - int
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: X509_STORE_set_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_set_trust
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set_trust(X509_STORE *ctx, int trust) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 849
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 849
    functionName: X509_STORE_get_verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_verify_cb
    signature: 'X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:447,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: X509_OBJECT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_OBJECT*
    signature: 'X509_OBJECT *X509_OBJECT_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:475,1
    - Dst: x509_object_free_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - obj
    argTypes:
    - X509_OBJECT*
    - X509*
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: X509_OBJECT_set1_X509
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_up_ref
    - x509_object_free_internal
    linkageType: ''
    returnType: int
    signature: 'int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:465,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 471
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 471
    functionName: x509_object_free_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_CRL_free
    linkageType: ''
    returnType: void
    signature: 'static void x509_object_free_internal(X509_OBJECT *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:486,1
    - Dst: x509_object_free_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - obj
    argTypes:
    - X509_OBJECT*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 493
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 493
    functionName: X509_OBJECT_set1_X509_CRL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - type
    - name
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: X509_LOOKUP_by_subject_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_by_subject_ex(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
      const X509_NAME *name, X509_OBJECT *ret, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:587,1
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:595,1
    - Dst: x509_object_idx_cnt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:598,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:606,1
    - Dst: X509_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:604,1
    - Dst: X509_STORE_CTX_get_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:610,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:611,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:614,1
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:615,1
    - Dst: x509_object_idx_cnt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:617,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:630,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:634,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:626,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:619,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:629,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:628,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:624,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 636
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 636
    functionName: X509_STORE_CTX_get1_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_STORE_unlock
    - sk_X509_pop_free
    - sk_X509_OBJECT_value
    - X509_OBJECT_free
    - sk_X509_new_null
    - x509_object_idx_cnt
    - X509_add_cert
    - X509_OBJECT_new
    - X509_STORE_CTX_get_by_subject
    - X509_STORE_lock
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *ctx, const
      X509_NAME *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - X509_STORE*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: X509_STORE_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_set_flags
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - get_crl
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_get_crl_fn
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: X509_STORE_set_get_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_get_crl(X509_STORE *ctx, X509_STORE_CTX_get_crl_fn
      get_crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_by_subject_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: X509_LOOKUP_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_LOOKUP_by_subject_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
      const X509_NAME *name, X509_OBJECT *ret) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: x509_object_idx_cnt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:661,1
    - Dst: sk_X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:664,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:672,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:678,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:683,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:652,1
    - Dst: sk_X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:653,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:676,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:669,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:642,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:656,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:663,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:677,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:679,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:642,1
    - Dst: X509_STORE_CTX_get_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:651,1
    - Dst: X509_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:644,1
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:657,1
    - Dst: sk_X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:658,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:671,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:673,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 685
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 685
    functionName: X509_STORE_CTX_get1_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_STORE_unlock
    - sk_X509_CRL_pop_free
    - sk_X509_OBJECT_value
    - sk_X509_CRL_push
    - X509_OBJECT_free
    - X509_CRL_free
    - X509_CRL_up_ref
    - sk_X509_CRL_free
    - x509_object_idx_cnt
    - X509_OBJECT_new
    - X509_STORE_CTX_get_by_subject
    - X509_STORE_lock
    - sk_X509_CRL_new_null
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_CRL)*
    signature: 'STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(const X509_STORE_CTX
      *ctx, const X509_NAME *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE*
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: X509_STORE_set_depth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_set_depth
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set_depth(X509_STORE *ctx, int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 893
    functionName: X509_STORE_get_get_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_get_crl_fn
    signature: 'X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - check_crl
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_crl_fn
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: X509_STORE_set_check_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_check_crl(X509_STORE *ctx, X509_STORE_CTX_check_crl_fn
      check_crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - X509_STORE*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: X509_STORE_set1_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_set1
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set1_param(X509_STORE *ctx, const X509_VERIFY_PARAM
      *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    functionName: X509_STORE_CTX_get0_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE*
    signature: 'X509_STORE *X509_STORE_CTX_get0_store(const X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: X509_STORE_get0_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_VERIFY_PARAM*
    signature: 'X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: X509_STORE_get_check_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_crl_fn
    signature: 'X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE
      *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_subject_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:167,1
    - Dst: X509_CRL_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_OBJECT**
    - X509_OBJECT**
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: x509_object_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_CRL_cmp
    - X509_subject_name_cmp
    linkageType: ''
    returnType: int
    signature: 'static int x509_object_cmp(const X509_OBJECT *const *a, const X509_OBJECT
      *const *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:181,1
    - Dst: sk_X509_LOOKUP_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:188,1
    - Dst: sk_X509_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:184,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:193,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:198,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:201,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:202,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:206,1
    - Dst: sk_X509_LOOKUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:217,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:215,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:208,1
    - Dst: sk_X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 220
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 220
    functionName: X509_STORE_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - sk_X509_LOOKUP_new_null
    - ERR_raise
    - CRYPTO_new_ex_data
    - sk_X509_OBJECT_new
    - X509_VERIFY_PARAM_free
    - OPENSSL_free
    - OPENSSL_zalloc
    - sk_X509_LOOKUP_free
    - sk_X509_OBJECT_free
    - CRYPTO_THREAD_lock_new
    - X509_VERIFY_PARAM_new
    linkageType: ''
    returnType: X509_STORE*
    signature: 'X509_STORE *X509_STORE_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_object_free_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:497,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: X509_OBJECT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - x509_object_free_internal
    linkageType: ''
    returnType: void
    signature: 'void X509_OBJECT_free(X509_OBJECT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - check_issued
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_issued_fn
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: X509_STORE_set_check_issued
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_check_issued(X509_STORE *ctx, X509_STORE_CTX_check_issued_fn
      check_issued) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - idx
    - data
    argTypes:
    - X509_STORE*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: X509_STORE_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - lookup_crls
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_lookup_crls_fn
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: X509_STORE_set_lookup_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_lookup_crls(X509_STORE *ctx, X509_STORE_CTX_lookup_crls_fn
      lookup_crls) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_OBJECT_find_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - h
    - type
    - name
    - pnmatch
    argTypes:
    - STACK_OF(X509_OBJECT)*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - int*
    constantsTouched: []
    func_position:
      end: 526
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 526
    functionName: x509_object_idx_cnt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - sk_X509_OBJECT_find_all
    linkageType: ''
    returnType: int
    signature: 'static int x509_object_idx_cnt(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE
      type, const X509_NAME *name, int *pnmatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: X509_STORE_get_check_issued
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_issued_fn
    signature: 'X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - X509_STORE*
    - int
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: X509_STORE_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *X509_STORE_get_ex_data(const X509_STORE *ctx, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: X509_STORE_get_lookup_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_lookup_crls_fn
    signature: 'X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE
      *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 7
    argNames:
    - ctx
    - cmd
    - argc
    - argl
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: X509_LOOKUP_ctrl_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argc,
      long argl, char **ret, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: X509_OBJECT_get0_X509_CRL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *X509_OBJECT_get0_X509_CRL(const X509_OBJECT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_ctrl_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argc
    - argl
    - ret
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: X509_LOOKUP_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_LOOKUP_ctrl_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
      long argl, char **ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: X509_OBJECT_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_TYPE
    signature: 'X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:397,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE*
    - X509*
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: X509_STORE_add_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - x509_store_add
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_add_cert(X509_STORE *ctx, X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - check_revocation
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_revocation_fn
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: X509_STORE_set_check_revocation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_check_revocation(X509_STORE *ctx, X509_STORE_CTX_check_revocation_fn
      check_revocation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ctx_cleanup
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_cleanup_fn
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: X509_STORE_set_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_cleanup(X509_STORE *ctx, X509_STORE_CTX_cleanup_fn
      ctx_cleanup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: X509_STORE_get_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_cleanup_fn
    signature: 'X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:406,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: X509_STORE_add_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - x509_store_add
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: X509_STORE_get_check_revocation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_revocation_fn
    signature: 'X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(const
      X509_STORE *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: X509_LOOKUP_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_init(X509_LOOKUP *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - type
    - str
    - len
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - char*
    - int
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: X509_LOOKUP_by_alias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
      const char *str, int len, X509_OBJECT *ret) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: X509_LOOKUP_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_shutdown(X509_LOOKUP *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - X509_LOOKUP*
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: X509_LOOKUP_set_method_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:419,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: X509_OBJECT_up_ref_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_up_ref
    - X509_CRL_up_ref
    linkageType: ''
    returnType: int
    signature: 'int X509_OBJECT_up_ref_count(X509_OBJECT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - get_issuer
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_get_issuer_fn
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: X509_STORE_set_get_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_get_issuer(X509_STORE *ctx, X509_STORE_CTX_get_issuer_fn
      get_issuer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - check_policy
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_policy_fn
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: X509_STORE_set_check_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_check_policy(X509_STORE *ctx, X509_STORE_CTX_check_policy_fn
      check_policy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: X509_OBJECT_get0_X509
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: X509_STORE_get_get_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_get_issuer_fn
    signature: 'X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: X509_STORE_get_check_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_policy_fn
    signature: 'X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: X509_STORE_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_lock(X509_STORE *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: X509_STORE_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_unlock(X509_STORE *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - lookup_certs
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_lookup_certs_fn
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: X509_STORE_set_lookup_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_set_lookup_certs(X509_STORE *ctx, X509_STORE_CTX_lookup_certs_fn
      lookup_certs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:323,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:331,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:327,1
    - Dst: X509_OBJECT_retrieve_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:326,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:330,1
    - Dst: X509_LOOKUP_by_subject_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:332,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:343,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - vs
    - type
    - name
    - ret
    argTypes:
    - X509_STORE_CTX*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 350
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 350
    functionName: X509_STORE_CTX_get_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_STORE_unlock
    - X509_OBJECT_up_ref_count
    - X509_LOOKUP_by_subject_ex
    - sk_X509_LOOKUP_value
    - X509_STORE_lock
    - X509_OBJECT_retrieve_by_subject
    - sk_X509_LOOKUP_num
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_get_by_subject(const X509_STORE_CTX *vs, X509_LOOKUP_TYPE
      type, const X509_NAME *name, X509_OBJECT *ret) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:358,1
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:375,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:371,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:369,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:377,1
    - Dst: X509_OBJECT_retrieve_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:381,1
    - Dst: sk_X509_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:384,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:387,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:390,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - store
    - x
    - crl
    argTypes:
    - X509_STORE*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 393
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 393
    functionName: x509_store_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_OBJECT_up_ref_count
    - X509_STORE_unlock
    - X509_OBJECT_free
    - X509_OBJECT_retrieve_match
    - X509_OBJECT_new
    - X509_STORE_lock
    - sk_X509_OBJECT_push
    linkageType: ''
    returnType: int
    signature: 'static int x509_store_add(X509_STORE *store, void *x, int crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: X509_STORE_get_lookup_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_lookup_certs_fn
    signature: 'X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE
      *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:727,1
    - Dst: X509_STORE_CTX_get_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:735,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:737,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:734,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:742,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:746,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:750,1
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:762,1
    - Dst: x509_object_idx_cnt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:765,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:786,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:785,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:769,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:776,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:791,1
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:785,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:795,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 3
    argNames:
    - issuer
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 797
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 797
    functionName: X509_STORE_CTX_get1_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_STORE_unlock
    - ossl_x509_check_cert_time
    - sk_X509_OBJECT_value
    - X509_OBJECT_free
    - X509_get_issuer_name
    - X509_up_ref
    - X509_get0_notAfter
    - ASN1_TIME_compare
    - x509_object_idx_cnt
    - X509_OBJECT_new
    - X509_STORE_CTX_get_by_subject
    - X509_STORE_lock
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx,
      X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: X509_LOOKUP_get_method_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:266,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:279,1
    - Dst: X509_LOOKUP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:277,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:271,1
    - Dst: sk_X509_LOOKUP_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:284,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:287,1
    - Dst: X509_LOOKUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - v
    - m
    argTypes:
    - X509_STORE*
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: X509_STORE_add_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_LOOKUP_value
    - sk_X509_LOOKUP_push
    - X509_LOOKUP_free
    - X509_LOOKUP_new
    - sk_X509_LOOKUP_num
    - STACK_OF
    linkageType: ''
    returnType: X509_LOOKUP*
    signature: 'X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD
      *m) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_OBJECT_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:693,1
    - Dst: x509_object_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:700,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:697,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:698,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:699,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:704,1
    - Dst: X509_CRL_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:707,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - h
    - x
    argTypes:
    - STACK_OF(X509_OBJECT)*
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 713
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 713
    functionName: X509_OBJECT_retrieve_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_cmp
    - x509_object_cmp
    - sk_X509_OBJECT_value
    - X509_CRL_match
    - sk_X509_OBJECT_num
    - sk_X509_OBJECT_find
    linkageType: ''
    returnType: X509_OBJECT*
    signature: 'X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h,
      X509_OBJECT *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: X509_LOOKUP_get_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE*
    signature: 'X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:296,1
    - Dst: X509_STORE_CTX_get_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:300,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - vs
    - type
    - name
    argTypes:
    - X509_STORE_CTX*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: X509_STORE_CTX_get_obj_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_lu.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_get_by_subject
    - X509_OBJECT_free
    - X509_OBJECT_new
    linkageType: ''
    returnType: X509_OBJECT*
    signature: 'X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs,
      X509_LOOKUP_TYPE type, const X509_NAME *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    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: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method))
      (X509_LOOKUP *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method))
      (X509_LOOKUP *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: X509_LOOKUP_meth_get_get_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_get_by_subject_fn
    signature: 'X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject(
      const X509_LOOKUP_METHOD *method) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c:21,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c:24,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c:26,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: X509_LOOKUP_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_LOOKUP_METHOD*
    signature: 'X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - method
    - (*free_fn)
    argTypes:
    - X509_LOOKUP_METHOD*
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: X509_LOOKUP_meth_set_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_free( X509_LOOKUP_METHOD *method, void (*free_fn)
      (X509_LOOKUP *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - method
    - (*shutdown)
    argTypes:
    - X509_LOOKUP_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: X509_LOOKUP_meth_set_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_shutdown( X509_LOOKUP_METHOD *method, int
      (*shutdown) (X509_LOOKUP *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ctrl
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_ctrl_fn
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: X509_LOOKUP_meth_set_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_ctrl( X509_LOOKUP_METHOD *method, X509_LOOKUP_ctrl_fn
      ctrl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - method
    - get_by_issuer_serial
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_issuer_serial_fn
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: X509_LOOKUP_meth_set_get_by_issuer_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method,
      X509_LOOKUP_get_by_issuer_serial_fn get_by_issuer_serial) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: X509_LOOKUP_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: X509_LOOKUP_meth_get_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: X509_LOOKUP_meth_get_get_by_issuer_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    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: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - method
    - (*new_item)
    argTypes:
    - X509_LOOKUP_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: X509_LOOKUP_meth_set_new_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method, int
      (*new_item) (X509_LOOKUP *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - method
    - get_by_subject
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_subject_fn
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: X509_LOOKUP_meth_set_get_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method,
      X509_LOOKUP_get_by_subject_fn get_by_subject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - method
    - get_by_fingerprint
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_fingerprint_fn
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: X509_LOOKUP_meth_set_get_by_fingerprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method,
      X509_LOOKUP_get_by_fingerprint_fn get_by_fingerprint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: X509_LOOKUP_meth_get_get_by_fingerprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_get_by_fingerprint_fn
    signature: 'X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint(
      const X509_LOOKUP_METHOD *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - method
    - get_by_alias
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_alias_fn
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: X509_LOOKUP_meth_set_get_by_alias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method,
      X509_LOOKUP_get_by_alias_fn get_by_alias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: X509_LOOKUP_meth_get_get_by_alias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_get_by_alias_fn
    signature: 'X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias( const
      X509_LOOKUP_METHOD *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method))
      (X509_LOOKUP *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - method
    - (*init)
    argTypes:
    - X509_LOOKUP_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: X509_LOOKUP_meth_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method, int (*init)
      (X509_LOOKUP *ctx)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:33,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:34,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:37,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - method
    - ia5
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_IA5STRING*
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: i2s_ASN1_IA5STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - 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/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:47,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:53,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:50,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:52,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:52,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c:61,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: s2i_ASN1_IA5STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ia5.c
    functionUses: []
    functionsReached:
    - ASN1_IA5STRING_free
    - ERR_raise
    - ASN1_IA5STRING_new
    - ASN1_STRING_set
    - ebcdic2ascii
    - strlen
    linkageType: ''
    returnType: ASN1_IA5STRING*
    signature: 'ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:56,1
    - Dst: X509_get_default_cert_file_env
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:56,1
    - Dst: X509_get_default_cert_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:63,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:58,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:67,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:71,1
    - Dst: X509_load_cert_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:74,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 7
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 80
    functionName: by_file_ctrl_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    functionsReached:
    - X509_get_default_cert_file
    - ERR_raise
    - X509_get_default_cert_file_env
    - X509_load_cert_file_ex
    - X509_load_cert_crl_file_ex
    - ossl_safe_getenv
    linkageType: ''
    returnType: int
    signature: 'static int by_file_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argp,
      long argl, char **ret, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:99,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:146,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:148,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:96,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:109,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:116,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:122,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:117,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:127,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:140,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:149,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:98,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:119,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:131,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:117,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:126,1
    - Dst: d2i_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:136,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 5
    argNames:
    - ctx
    - file
    - type
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 151
    functionName: X509_load_cert_file_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    functionsReached:
    - X509_free
    - ERR_GET_REASON
    - ERR_raise
    - ERR_pop_to_mark
    - d2i_X509_bio
    - BIO_free
    - X509_new_ex
    - BIO_s_file
    - X509_STORE_add_cert
    - ERR_set_mark
    - PEM_read_bio_X509_AUX
    - ERR_peek_last_error
    - BIO_read_filename
    - ERR_clear_last_mark
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int X509_load_cert_file_ex(X509_LOOKUP *ctx, const char *file, int
      type, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:165,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:174,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:165,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:167,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:168,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:176,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:176,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:181,1
    - Dst: X509_STORE_add_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:185,1
    - Dst: d2i_X509_CRL_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:194,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:189,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:208,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:211,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:210,1
    - Dst: X509_STORE_add_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:199,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 213
    functionName: X509_load_crl_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - ERR_GET_REASON
    - ERR_raise
    - BIO_free
    - X509_CRL_free
    - BIO_s_file
    - d2i_X509_CRL_bio
    - ERR_peek_last_error
    - BIO_read_filename
    - PEM_read_bio_X509_CRL
    - BIO_new
    - X509_STORE_add_crl
    linkageType: ''
    returnType: int
    signature: 'int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: X509_LOOKUP_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_METHOD*
    signature: 'X509_LOOKUP_METHOD *X509_LOOKUP_file(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: by_file_ctrl_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - ret
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: by_file_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    functionsReached:
    - by_file_ctrl_ex
    linkageType: ''
    returnType: int
    signature: 'static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp,
      long argl, char **ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_load_cert_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: X509_load_cert_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    functionsReached:
    - X509_load_cert_file_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_load_cert_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:224,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:227,1
    - Dst: PEM_X509_INFO_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:230,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:231,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:225,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:233,1
    - Dst: sk_X509_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:236,1
    - Dst: sk_X509_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:237,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:239,1
    - Dst: X509_STORE_add_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:244,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:252,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:250,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - file
    - type
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 254
    functionName: X509_load_cert_crl_file_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - sk_X509_INFO_num
    - ERR_raise
    - BIO_free
    - sk_X509_INFO_value
    - X509_load_cert_file_ex
    - PEM_X509_INFO_read_bio_ex
    - X509_STORE_add_cert
    - sk_X509_INFO_pop_free
    - X509_STORE_add_crl
    linkageType: ''
    returnType: int
    signature: 'int X509_load_cert_crl_file_ex(X509_LOOKUP *ctx, const char *file,
      int type, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: X509_load_cert_crl_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_file.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:33,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:46,1
    - Dst: X509_ATTRIBUTE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:43,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:48,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:41,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:51,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:54,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c:55,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - nid
    - atrtype
    - value
    argTypes:
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: X509_ATTRIBUTE_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_attrib.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_set
    - ASN1_TYPE_free
    - sk_ASN1_TYPE_push
    - IMPLEMENT_ASN1_DUP_FUNCTION
    - X509_ATTRIBUTE_new
    - OBJ_nid2obj
    - X509_ATTRIBUTE_free
    - ASN1_TYPE_new
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(X509_ATTRIBUTE)*
    signature: 'ASN1_SEQUENCE_END(X509_ATTRIBUTE) IMPLEMENT_ASN1_FUNCTIONS(X509_ATTRIBUTE)IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE)X509_ATTRIBUTE
      *X509_ATTRIBUTE_create(int nid, int atrtype, void *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:51,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - method
    - bits
    - ret
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_BIT_STRING*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: i2v_ASN1_BIT_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c
    functionUses: []
    functionsReached:
    - X509V3_add_value
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
      ASN1_BIT_STRING *bits, STACK_OF(CONF_VALUE) *ret) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:65,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:69,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:66,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:72,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:73,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:75,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:76,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:83,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c:85,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 90
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 90
    functionName: v2i_ASN1_BIT_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bitst.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_num
    - ASN1_BIT_STRING_free
    - ASN1_BIT_STRING_new
    - sk_CONF_VALUE_value
    - ASN1_BIT_STRING_set_bit
    - ERR_raise_data
    linkageType: ''
    returnType: ASN1_BIT_STRING*
    signature: 'ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_enum.c:46,1
    - Dst: i2s_ASN1_ENUMERATED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_enum.c:51,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_enum.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - method
    - e
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_ENUMERATED*
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: i2s_ASN1_ENUMERATED_TABLE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_enum.c
    functionUses: []
    functionsReached:
    - ASN1_ENUMERATED_get
    - OPENSSL_strdup
    - i2s_ASN1_ENUMERATED
    linkageType: ''
    returnType: char*
    signature: 'char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED
      *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:40,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: rinf_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_new_null
    linkageType: ''
    returnType: int
    signature: 'static int rinf_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: X509_REQ_get0_distinguishing_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *X509_REQ_get0_distinguishing_id(X509_REQ *x) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:54,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:62,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:71,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:61,1
    - Dst: ossl_x509_req_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:68,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:76,1
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:79,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:81,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:84,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 29
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 106
    functionName: req_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_set
    - ERR_raise
    - OPENSSL_free
    - EVP_PKEY_dup
    - EVP_PKEY_free
    - ASN1_OCTET_STRING_free
    - ossl_x509_req_set0_libctx
    - X509_PUBKEY_get0
    linkageType: ''
    returnType: int
    signature: 'static int req_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_set0_distinguishing_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:130,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - X509_REQ
    argTypes:
    - X509_REQ
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: IMPLEMENT_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_free
    - X509_REQ_set0_distinguishing_id
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(X509_REQ)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(X509_REQ) IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ)void
      X509_REQ_set0_distinguishing_id(X509_REQ *x, ASN1_OCTET_STRING *d_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:166,1
    - Dst: X509_REQ_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:166,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:168,1
    - Dst: ossl_x509_req_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: X509_REQ_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c
    functionUses: []
    functionsReached:
    - X509_REQ_free
    - ASN1_item_new
    - ossl_x509_req_set0_libctx
    - X509_REQ_it
    linkageType: ''
    returnType: X509_REQ*
    signature: 'X509_REQ *X509_REQ_new_ex(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:151,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509_REQ*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: ossl_x509_req_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_req.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_req_set0_libctx(X509_REQ *x, OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: X509_set1_notBefore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: 'int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: X509_get_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: 'long X509_get_version(const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: X509_getm_notAfter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *X509_getm_notAfter(const X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: X509_set1_notAfter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: 'int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: X509_get0_notBefore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'const ASN1_TIME *X509_get0_notBefore(const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:137,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: X509_get_signature_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int X509_get_signature_type(const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: X509_get0_notAfter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'const ASN1_TIME *X509_get0_notAfter(const X509 *x) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:26,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:34,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509*
    - long
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: X509_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int X509_set_version(X509 *x, long version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: X509_getm_notBefore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *X509_getm_notBefore(const X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: X509_set_subject_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: 'int X509_set_subject_name(X509 *x, const X509_NAME *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: X509_set_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: 'int X509_set_pubkey(X509 *x, EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - x
    - piuid
    - psuid
    argTypes:
    - X509*
    - ASN1_BIT_STRING**
    - ASN1_BIT_STRING**
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: X509_get0_uids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid,
      const ASN1_BIT_STRING **psuid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 5
    argNames:
    - siginf
    - mdnid
    - pknid
    - secbits
    - flags
    argTypes:
    - X509_SIG_INFO*
    - int*
    - int*
    - int*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: X509_SIG_INFO_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_SIG_INFO_get(const X509_SIG_INFO *siginf, int *mdnid, int
      *pknid, int *secbits, uint32_t *flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:68,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ptm
    - tm
    argTypes:
    - ASN1_TIME**
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ossl_x509_set1_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_dup
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_set1_time(ASN1_TIME **ptm, const ASN1_TIME *tm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:102,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:106,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: X509_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int X509_up_ref(X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: X509_get0_tbs_sigalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - siginf
    - mdnid
    - pknid
    - secbits
    - flags
    argTypes:
    - X509_SIG_INFO*
    - int
    - int
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: X509_SIG_INFO_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_SIG_INFO_set(X509_SIG_INFO *siginf, int mdnid, int pknid,
      int secbits, uint32_t flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - x
    - serial
    argTypes:
    - X509*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: X509_set_serialNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: 'int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: X509_get_X509_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_PUBKEY*
    signature: 'X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:206,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:217,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:208,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:220,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:253,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:254,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:257,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 3
    argNames:
    - siginf
    - alg
    - sig
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 269
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 269
    functionName: x509_sig_info_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbynid
    - ERR_raise
    - EVP_PKEY_asn1_find
    - OBJ_obj2nid
    - EVP_MD_get_size
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: int
    signature: 'static int x509_sig_info_init(X509_SIG_INFO *siginf, const X509_ALGOR
      *alg, const ASN1_STRING *sig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: X509_set_issuer_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: 'int X509_set_issuer_name(X509 *x, const X509_NAME *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: X509_get0_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_EXTENSION)*
    signature: 'const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:190,1
    - Dst: X509_SIG_INFO_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - x
    - mdnid
    - pknid
    - secbits
    - flags
    argTypes:
    - X509*
    - int*
    - int*
    - int*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: X509_get_signature_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    - X509_SIG_INFO_get
    linkageType: ''
    returnType: int
    signature: 'int X509_get_signature_info(X509 *x, int *mdnid, int *pknid, int *secbits,
      uint32_t *flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_sig_info_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: ossl_x509_init_sig_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_set.c
    functionUses: []
    functionsReached:
    - x509_sig_info_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_init_sig_info(X509 *x) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:45,1
    - Dst: CRL_DIST_POINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:47,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:49,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:55,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:86,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:104,1
    - Dst: CRL_DIST_POINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:88,1
    - Dst: ASIdentifiers_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:94,1
    - Dst: X509_CERT_AUX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:44,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:46,1
    - Dst: ossl_policy_cache_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:48,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:50,1
    - Dst: ASIdentifiers_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:53,1
    - Dst: X509_CERT_AUX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:85,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:79,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:87,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:93,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:97,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:43,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:52,1
    - Dst: ossl_policy_cache_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:89,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:84,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:90,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:91,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:96,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 129
    functionName: x509_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - CRYPTO_new_ex_data
    - ASIdentifiers_free
    - OPENSSL_free
    - CRL_DIST_POINTS_free
    - ossl_x509_set0_libctx
    - CRYPTO_free_ex_data
    - ASN1_OCTET_STRING_free
    - ossl_policy_cache_free
    - sk_IPAddressFamily_pop_free
    - NAME_CONSTRAINTS_free
    - AUTHORITY_KEYID_free
    - X509_CERT_AUX_free
    - GENERAL_NAMES_free
    linkageType: ''
    returnType: int
    signature: 'static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: X509_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *X509_get_ex_data(const X509 *r, int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:149,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames:
    - X509
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: IMPLEMENT_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(X509)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(X509) IMPLEMENT_ASN1_DUP_FUNCTION(X509) /*
      * This should only be used if the X509 object was embedded inside another *
      asn1 object and it needs a libctx to operate. * Use X509_new_ex() instead if
      possible. */ 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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:164,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:165,1
    - Dst: X509_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:164,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: X509_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_it
    - ASN1_item_new_ex
    - ossl_x509_set0_libctx
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_new_ex(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_x509_aux_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:266,1
    - Dst: i2d_x509_aux_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:280,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:273,1
    - Dst: i2d_x509_aux_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:275,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - X509*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: i2d_X509_AUX
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - i2d_x509_aux_internal
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int i2d_X509_AUX(const X509 *a, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_CINF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pp
    argTypes:
    - X509*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: i2d_re_X509_tbs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - i2d_X509_CINF
    linkageType: ''
    returnType: int
    signature: 'int i2d_re_X509_tbs(X509 *x, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: X509_get_signature_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int X509_get_signature_nid(const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - X509*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: X509_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int X509_set_ex_data(X509 *r, int idx, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - psig
    - palg
    - x
    argTypes:
    - ASN1_BIT_STRING**
    - X509_ALGOR**
    - X509*
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: X509_get0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR
      **palg, const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - x
    - d_id
    argTypes:
    - X509*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: X509_set0_distinguishing_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: X509_get0_distinguishing_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *X509_get0_distinguishing_id(X509 *x) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:200,1
    - Dst: d2i_X509_CERT_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:206,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:212,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - X509**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 217
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 217
    functionName: d2i_X509_AUX
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - d2i_X509
    - d2i_X509_CERT_AUX
    - X509_free
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:235,1
    - Dst: i2d_X509_CERT_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - X509*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: i2d_x509_aux_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_x509.c
    functionUses: []
    functionsReached:
    - i2d_X509
    - i2d_X509_CERT_AUX
    linkageType: ''
    returnType: int
    signature: 'static int i2d_x509_aux_internal(const X509 *a, unsigned char **pp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:312,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:318,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:319,1
    - Dst: X509V3_EXT_nconf_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:320,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:316,1
    - Dst: delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:325,1
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:326,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:327,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:331,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - sk
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - STACK_OF(X509_EXTENSION)**
    constantsTouched: []
    func_position:
      end: 334
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 334
    functionName: X509V3_EXT_add_nconf_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_nconf_int
    - sk_CONF_VALUE_num
    - X509_EXTENSION_free
    - sk_CONF_VALUE_value
    - delete_ext
    - X509v3_add_ext
    - NCONF_get_section
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char
      *section, STACK_OF(X509_EXTENSION) **sk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:370,1
    - Dst: X509_REQ_add_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:373,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - req
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: X509V3_EXT_REQ_add_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_add_nconf_sk
    - sk_X509_EXTENSION_pop_free
    - X509_REQ_add_extensions
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char
      *section, X509_REQ *req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:576,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:578,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:579,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:581,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:580,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - req
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - X509V3_CTX*
    - char*
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 583
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 583
    functionName: X509V3_EXT_REQ_add_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - X509V3_EXT_REQ_add_nconf
    - NCONF_free
    - NCONF_new
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX
      *ctx, const char *section, X509_REQ *req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - conf
    argTypes:
    - X509V3_CTX*
    - CONF*
    constantsTouched: []
    func_position:
      end: 443
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 443
    functionName: X509V3_set_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - crl
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: X509V3_EXT_CRL_add_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_add_nconf_sk
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char
      *section, X509_CRL *crl) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:117,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:101,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:123,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:124,1
    - Dst: X509V3_EXT_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:90,1
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:99,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:102,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:104,1
    - Dst: do_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:128,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:130,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:91,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:97,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:100,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:130,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 5
    argNames:
    - conf
    - ctx
    - ext_nid
    - crit
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 135
    functionName: do_ext_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_nid2sn
    - sk_CONF_VALUE_num
    - ASN1_item_free
    - ERR_raise_data
    - X509V3_EXT_get_nid
    - do_ext_i2d
    - X509V3_parse_list
    - NCONF_get_section
    - ASN1_ITEM_ptr
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'static X509_EXTENSION *do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int
      ext_nid, int crit, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:202,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:205,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: v3_check_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - strncmp
    - ossl_isspace
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int v3_check_critical(const char **value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_generate_v3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:285,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:289,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - value
    - ctx
    - ext_len
    argTypes:
    - char*
    - X509V3_CTX*
    - long*
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: generic_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_free
    - ASN1_generate_v3
    - i2d_ASN1_TYPE
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *generic_asn1(const char *value, X509V3_CTX *ctx,
      long *ext_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:485,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:490,1
    - Dst: X509V3_EXT_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:488,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:489,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - conf
    - ctx
    - name
    - value
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - X509V3_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: X509V3_EXT_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - NCONF_free
    - NCONF_new
    - X509V3_EXT_nconf
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX
      *ctx, const char *name, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - db
    - section
    - value
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: conf_lhash_get_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - CONF_get_string
    linkageType: ''
    returnType: char*
    signature: 'static char *conf_lhash_get_string(void *db, const char *section,
      const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: v3_check_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:41,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:44,1
    - Dst: v3_check_generic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:42,1
    - Dst: do_ext_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:44,1
    - Dst: v3_generic_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:43,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:47,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - conf
    - ctx
    - section
    - name
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: X509V3_EXT_nconf_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - v3_check_generic
    - do_ext_nconf
    - v3_generic_extension
    - ERR_raise_data
    - OBJ_sn2nid
    - v3_check_critical
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'static X509_EXTENSION *X509V3_EXT_nconf_int(CONF *conf, X509V3_CTX
      *ctx, const char *section, const char *name, const char *value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:149,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:158,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:149,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:163,1
    - Dst: X509_EXTENSION_create_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:169,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:177,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:178,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:179,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 4
    argNames:
    - method
    - ext_nid
    - crit
    - ext_struc
    argTypes:
    - X509V3_EXT_METHOD*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 182
    functionName: do_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    - ASN1_item_i2d
    - ASN1_ITEM_ptr
    - X509_EXTENSION_create_by_NID
    - OPENSSL_malloc
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'static X509_EXTENSION *do_ext_i2d(const X509V3_EXT_METHOD *method,
      int ext_nid, int crit, void *ext_struc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:298,1
    - Dst: X509v3_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:300,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:299,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sk
    - dext
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - X509_EXTENSION_get_object
    - X509v3_delete_ext
    - X509v3_get_ext_by_OBJ
    - X509_EXTENSION_free
    linkageType: ''
    returnType: void
    signature: 'static void delete_ext(STACK_OF(X509_EXTENSION) *sk, X509_EXTENSION
      *dext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:500,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:502,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:505,1
    - Dst: X509V3_EXT_nconf_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:503,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - conf
    - ctx
    - ext_nid
    - value
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - X509V3_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 507
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 507
    functionName: X509V3_EXT_conf_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - NCONF_free
    - NCONF_new
    - X509V3_EXT_nconf_nid
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX
      *ctx, int ext_nid, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - db
    - section
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: conf_lhash_get_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - CONF_get_section
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'static STACK_OF(CONF_VALUE) *conf_lhash_get_section(void *db, const
      char *section) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - lhash
    argTypes:
    - X509V3_CTX*
    - LHASH_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: X509V3_set_conf_lhash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:190,1
    - Dst: do_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ext_nid
    - crit
    - ext_struc
    argTypes:
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: X509V3_EXT_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - do_ext_i2d
    - X509V3_EXT_get_nid
    - ERR_raise
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_nconf_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - ctx
    - name
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: X509V3_EXT_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_nconf_int
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const
      char *name, const char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:243,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:244,1
    - Dst: generic_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:252,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:255,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:250,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:260,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:261,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:269,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:272,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:273,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:274,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - ext
    - value
    - crit
    - gen_type
    - ctx
    argTypes:
    - char*
    - char*
    - int
    - int
    - X509V3_CTX*
    constantsTouched: []
    func_position:
      end: 277
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 277
    functionName: v3_generic_extension
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - X509_EXTENSION_create_by_OBJ
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - OPENSSL_free
    - ASN1_OBJECT_free
    - ERR_raise_data
    - OBJ_txt2obj
    - ASN1_OCTET_STRING_free
    - OPENSSL_hexstr2buf
    - generic_asn1
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'static X509_EXTENSION *v3_generic_extension(const char *ext, const
      char *value, int crit, int gen_type, X509V3_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:383,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - name
    - section
    argTypes:
    - X509V3_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: X509V3_get_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: char*
    signature: 'char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char
      *section) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: X509V3_string_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509V3_string_free(X509V3_CTX *ctx, char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - db
    - section
    - value
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: nconf_get_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    linkageType: ''
    returnType: char*
    signature: 'static char *nconf_get_string(void *db, const char *section, const
      char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:466,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - X509V3_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 475
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 475
    functionName: X509V3_set_issuer_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509V3_set_issuer_pkey(X509V3_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:559,1
    - Dst: X509V3_EXT_CRL_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:562,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:561,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:564,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - crl
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - X509V3_CTX*
    - char*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: X509V3_EXT_CRL_add_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - X509V3_EXT_CRL_add_nconf
    - NCONF_new
    - NCONF_free
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX
      *ctx, const char *section, X509_CRL *crl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: v3_check_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:69,1
    - Dst: do_ext_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:73,1
    - Dst: v3_generic_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:71,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:71,1
    - Dst: v3_check_generic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - conf
    - ctx
    - ext_nid
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: X509V3_EXT_nconf_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - v3_check_generic
    - do_ext_nconf
    - OBJ_nid2sn
    - v3_generic_extension
    - v3_check_critical
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx,
      int ext_nid, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - section
    argTypes:
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: X509V3_get_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, const char
      *section) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - section
    argTypes:
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: X509V3_section_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - db
    - section
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: nconf_get_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_section
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'static STACK_OF(CONF_VALUE) *nconf_get_section(void *db, const char
      *section) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:217,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:217,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:220,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:220,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:226,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: v3_check_generic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - strncmp
    - ossl_isspace
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int v3_check_generic(const char **value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - cert
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - X509*
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: X509V3_EXT_add_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_add_nconf_sk
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,
      X509 *cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - issuer
    - subj
    - req
    - crl
    - flags
    argTypes:
    - X509V3_CTX*
    - X509*
    - X509*
    - X509_REQ*
    - X509_CRL*
    - int
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: X509V3_set_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subj, X509_REQ
      *req, X509_CRL *crl, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:542,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:545,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:546,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:544,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c:547,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - cert
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - X509V3_CTX*
    - char*
    - X509*
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: X509V3_EXT_add_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_conf.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - X509V3_EXT_add_nconf
    - NCONF_free
    - NCONF_new
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
      const char *section, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:49,1
    - Dst: X509V3_add_value_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames:
    - BASIC_CONSTRAINTS
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c
    functionUses: []
    functionsReached:
    - X509V3_add_value_int
    - X509V3_add_value_bool
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(BASIC_CONSTRAINTS)
    signature: 'ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) IMPLEMENT_ASN1_FUNCTIONS(BASIC_CONSTRAINTS)
      static STACK_OF(CONF_VALUE) *i2v_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,
      BASIC_CONSTRAINTS *bcons, STACK_OF(CONF_VALUE) *extlist) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASIC_CONSTRAINTS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:63,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:67,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:66,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:68,1
    - Dst: X509V3_get_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:69,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:71,1
    - Dst: X509V3_get_value_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:72,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:75,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:76,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c:82,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: v2i_BASIC_CONSTRAINTS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_bcons.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BASIC_CONSTRAINTS_new
    - X509V3_get_value_bool
    - strcmp
    - X509V3_conf_add_error_name_value
    - sk_CONF_VALUE_num
    - BASIC_CONSTRAINTS_free
    - sk_CONF_VALUE_value
    - X509V3_get_value_int
    linkageType: ''
    returnType: BASIC_CONSTRAINTS*
    signature: 'static BASIC_CONSTRAINTS *v2i_BASIC_CONSTRAINTS(X509V3_EXT_METHOD
      *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:140,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:142,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:153,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:150,1
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:145,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:155,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:160,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - out
    - afi
    - fill
    - bs
    argTypes:
    - BIO*
    - unsigned
    - unsigned char
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 164
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 164
    functionName: i2r_address
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_puts
    - addr_expand
    linkageType: ''
    returnType: int
    signature: 'static int i2r_address(BIO *out, const unsigned afi, const unsigned
      char fill, const ASN1_BIT_STRING *bs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:287,1
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:300,1
    - Dst: addr_prefixlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:302,1
    - Dst: addr_prefixlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:289,1
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:292,1
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:305,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - a
    - b
    - length
    argTypes:
    - IPAddressOrRange*
    - IPAddressOrRange*
    - int
    constantsTouched: []
    func_position:
      end: 315
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 315
    functionName: IPAddressOrRange_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - addr_expand
    - addr_prefixlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int IPAddressOrRange_cmp(const IPAddressOrRange *a, const IPAddressOrRange
      *b, const int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressOrRange_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddressOrRange**
    - IPAddressOrRange**
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: v6IPAddressOrRange_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - IPAddressOrRange_cmp
    linkageType: ''
    returnType: int
    signature: 'static int v6IPAddressOrRange_cmp(const IPAddressOrRange *const *a,
      const IPAddressOrRange *const *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_IPAddressFamily
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:544,1
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: X509v3_addr_add_inherit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - ASN1_NULL_new
    - make_IPAddressFamily
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_add_inherit(IPAddrBlocks *addr, const unsigned afi,
      const unsigned *safi) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:205,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:206,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:213,1
    - Dst: X509v3_addr_get_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:207,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:210,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:216,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:222,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:225,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:228,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:231,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:240,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:243,1
    - Dst: i2r_IPAddressOrRanges
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:257,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:234,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:253,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:256,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:237,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:246,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 29
    argCount: 4
    argNames:
    - method
    - ext
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 266
    functionName: i2r_IPAddrBlocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2r_IPAddressOrRanges
    - sk_IPAddressFamily_value
    - X509v3_addr_get_afi
    - BIO_puts
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: 'static int i2r_IPAddrBlocks(const X509V3_EXT_METHOD *method, void
      *ext, BIO *out, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressOrRange_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddressOrRange**
    - IPAddressOrRange**
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: v4IPAddressOrRange_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - IPAddressOrRange_cmp
    linkageType: ''
    returnType: int
    signature: 'static int v4IPAddressOrRange_cmp(const IPAddressOrRange *const *a,
      const IPAddressOrRange *const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:662,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:667,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 5
    argNames:
    - aor
    - afi
    - min
    - max
    - length
    argTypes:
    - IPAddressOrRange*
    - unsigned
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 671
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 671
    functionName: X509v3_addr_get_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - length_from_afi
    - extract_min_max
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi,
      unsigned char *min, unsigned char *max, const int length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1114,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1120
    functionName: X509v3_addr_inherits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - sk_IPAddressFamily_num
    - sk_IPAddressFamily_value
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_inherits(IPAddrBlocks *addr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:438,1
    - Dst: IPAddressRange_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:447,1
    - Dst: IPAddressOrRange_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:444,1
    - Dst: range_should_be_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:441,1
    - Dst: make_addressPrefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:442,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:450,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:453,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:457,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:470,1
    - Dst: IPAddressOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:486,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 4
    argNames:
    - result
    - min
    - max
    - length
    argTypes:
    - IPAddressOrRange**
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 488
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 488
    functionName: make_addressRange
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_set
    - memcmp
    - IPAddressOrRange_new
    - range_should_be_prefix
    - ASN1_BIT_STRING_new
    - IPAddressRange_new
    - IPAddressOrRange_free
    - make_addressPrefix
    linkageType: ''
    returnType: int
    signature: 'static int make_addressRange(IPAddressOrRange **result, unsigned char
      *min, unsigned char *max, const int length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_prefix_or_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:602,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:606,1
    - Dst: sk_IPAddressOrRange_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:608,1
    - Dst: make_addressPrefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:606,1
    - Dst: IPAddressOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:610,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - addr
    - afi
    - safi
    - a
    - prefixlen
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 612
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 612
    functionName: X509v3_addr_add_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - length_from_afi
    - sk_IPAddressOrRange_push
    - make_prefix_or_range
    - IPAddressOrRange_free
    - make_addressPrefix
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_add_prefix(IPAddrBlocks *addr, const unsigned afi,
      const unsigned *safi, unsigned char *a, const int prefixlen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:724,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:734,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:798,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:721,1
    - Dst: X509v3_addr_get_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:736,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:764,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:773,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:767,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:800,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:804,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:724,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:735,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:762,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:763,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:774,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:753,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:775,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:783,1
    - Dst: range_should_be_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:805,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:720,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:722,1
    - Dst: IPAddressFamily_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:727,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:736,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:760,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:766,1
    - Dst: range_should_be_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:790,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:802,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 81
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    constantsTouched: []
    func_position:
      end: 815
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 815
    functionName: X509v3_addr_is_canonical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - length_from_afi
    - memcmp
    - IPAddressFamily_cmp
    - sk_IPAddressOrRange_value
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_value
    - range_should_be_prefix
    - sk_IPAddressOrRange_num
    - X509v3_addr_get_afi
    - extract_min_max
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_is_canonical(IPAddrBlocks *addr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_addr_inherits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1167,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1171,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1169,1
    - Dst: X509v3_addr_inherits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1167,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1170,1
    - Dst: sk_IPAddressFamily_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1172,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1173,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1177,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1177,1
    - Dst: addr_contains
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1179,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1181,1
    - Dst: X509v3_addr_get_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1181,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddrBlocks*
    - IPAddrBlocks*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1185
    functionName: X509v3_addr_subset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - length_from_afi
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_set_cmp_func
    - sk_IPAddressFamily_value
    - addr_contains
    - sk_IPAddressFamily_find
    - X509v3_addr_inherits
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:175,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:177,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:176,1
    - Dst: i2r_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:180,1
    - Dst: addr_prefixlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:182,1
    - Dst: i2r_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:185,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:187,1
    - Dst: i2r_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:188,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:190,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - out
    - indent
    - aors
    - afi
    argTypes:
    - BIO*
    - int
    - IPAddressOrRanges*
    - unsigned
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: i2r_IPAddressOrRanges
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_IPAddressOrRange_value
    - i2r_address
    - addr_prefixlen
    - BIO_puts
    - sk_IPAddressOrRange_num
    linkageType: ''
    returnType: int
    signature: 'static int i2r_IPAddressOrRanges(BIO *out, const int indent, const
      IPAddressOrRanges *aors, const unsigned afi) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_IPAddressFamily
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:567,1
    - Dst: sk_IPAddressOrRange_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:579,1
    - Dst: sk_IPAddressOrRange_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:586,1
    - Dst: sk_IPAddressOrRange_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:583,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    constantsTouched: []
    func_position:
      end: 592
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 592
    functionName: make_prefix_or_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - sk_IPAddressOrRange_new_null
    - sk_IPAddressOrRange_set_cmp_func
    - make_IPAddressFamily
    linkageType: ''
    returnType: IPAddressOrRanges*
    signature: 'static IPAddressOrRanges *make_prefix_or_range(IPAddrBlocks *addr,
      const unsigned afi, const unsigned *safi) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1138,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1145,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1143,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1139,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1139,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1145,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1148,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1150,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - parent
    - child
    - length
    argTypes:
    - IPAddressOrRanges*
    - IPAddressOrRanges*
    - int
    constantsTouched: []
    func_position:
      end: 1157
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1157
    functionName: addr_contains
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - extract_min_max
    - sk_IPAddressOrRange_num
    - sk_IPAddressOrRange_value
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int addr_contains(IPAddressOrRanges *parent, IPAddressOrRanges
      *child, int length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - IPAddressFamily*
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: X509v3_addr_get_afi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int X509v3_addr_get_afi(const IPAddressFamily *f) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:352,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:352,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 3
    argNames:
    - min
    - max
    - length
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 390
    functionName: range_should_be_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int range_should_be_prefix(const unsigned char *min, const
      unsigned char *max, const int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - IPAddressFamily**
    - IPAddressFamily**
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: IPAddressFamily_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int IPAddressFamily_cmp(const IPAddressFamily *const *a_, const
      IPAddressFamily *const *b_) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:936,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:935,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:946,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:967,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:981,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:986,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:985,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:991,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:999,1
    - Dst: ossl_a2i_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1015,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1056,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1051,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:978,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:979,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:982,1
    - Dst: X509v3_addr_add_inherit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1000,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1023,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1029,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1046,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1052,1
    - Dst: X509v3_addr_add_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1061,1
    - Dst: X509v3_addr_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1079,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1062,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1084,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:942,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:931,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:949,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:953,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:988,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1002,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1010,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1016,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1033,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1041,1
    - Dst: ossl_a2i_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1045,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1050,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1068,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1028,1
    - Dst: sk_IPAddressFamily_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:930,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:944,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:975,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1001,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1005,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1011,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1017,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1038,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1039,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1042,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1047,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1072,1
    - Dst: X509v3_addr_add_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1032,1
    - Dst: X509v3_addr_add_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1055,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1067,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1085,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1050,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 147
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - struct v3_ext_method*
    - struct v3_ext_ctx*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 1087
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 1087
    functionName: v2i_IPAddrBlocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - memcmp
    - X509v3_addr_add_range
    - sk_IPAddressFamily_pop_free
    - strtoul
    - OPENSSL_strdup
    - strcmp
    - X509V3_conf_add_error_name_value
    - OPENSSL_free
    - ERR_raise_data
    - X509v3_addr_canonize
    - X509v3_addr_add_inherit
    - ossl_a2i_ipadd
    - X509v3_addr_add_prefix
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - sk_IPAddressFamily_new
    - ossl_v3_name_cmp
    - length_from_afi
    - ERR_raise
    - strspn
    linkageType: ''
    returnType: void*
    signature: 'static void *v2i_IPAddrBlocks(const struct v3_ext_method *method,
      struct v3_ext_ctx *ctx, STACK_OF(CONF_VALUE) *values) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1336,1
    - Dst: addr_validate_path_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1342
    functionName: X509v3_addr_validate_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - addr_validate_path_internal
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_validate_path(X509_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - IPAddressFamily*
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: IPAddressFamily_check_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int IPAddressFamily_check_len(const IPAddressFamily *f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:60,1
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:62,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:72,1
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - IPAddressRange
    argTypes:
    - IPAddressRange
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - length_from_afi
    - IMPLEMENT_ASN1_FUNCTIONS
    linkageType: ''
    returnType: static_ASN1_ITEM_TEMPLATE_END(IPAddrBlocks)
    signature: 'static_ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) IMPLEMENT_ASN1_FUNCTIONS(IPAddressRange)IMPLEMENT_ASN1_FUNCTIONS(IPAddressOrRange)IMPLEMENT_ASN1_FUNCTIONS(IPAddressChoice)IMPLEMENT_ASN1_FUNCTIONS(IPAddressFamily)/*
      * How much buffer space do we need for a raw address? */#define ADDR_RAW_BUF_LEN
      16/* * What''s the address length associated with this AFI? */static int length_from_afi(const
      unsigned afi) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:511,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:514,1
    - Dst: IPAddressFamily_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:518,1
    - Dst: IPAddressChoice_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:521,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:512,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:524,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:526,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:528,1
    - Dst: IPAddressFamily_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:534,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    constantsTouched: []
    func_position:
      end: 536
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 536
    functionName: make_IPAddressFamily
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - memcmp
    - IPAddressFamily_new
    - ASN1_OCTET_STRING_new
    - sk_IPAddressFamily_value
    - sk_IPAddressFamily_push
    - IPAddressFamily_free
    - IPAddressChoice_new
    - ASN1_OCTET_STRING_set
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: IPAddressFamily*
    signature: 'static IPAddressFamily *make_IPAddressFamily(IPAddrBlocks *addr, const
      unsigned afi, const unsigned *safi) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_prefix_or_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:622,1
    - Dst: IPAddressOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:631,1
    - Dst: sk_IPAddressOrRange_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:629,1
    - Dst: make_addressRange
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:627,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:624,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 5
    argNames:
    - addr
    - afi
    - safi
    - min
    - max
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 633
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 633
    functionName: X509v3_addr_add_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - length_from_afi
    - make_addressRange
    - sk_IPAddressOrRange_push
    - make_prefix_or_range
    - IPAddressOrRange_free
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_add_range(IPAddrBlocks *addr, const unsigned afi,
      const unsigned *safi, unsigned char *min, unsigned char *max) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressOrRange_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:828,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:861,1
    - Dst: IPAddressOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:868,1
    - Dst: sk_IPAddressOrRange_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:866,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:884,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:823,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:840,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:846,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:834,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:847,1
    - Dst: make_addressRange
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:863,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:877,1
    - Dst: sk_IPAddressOrRange_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:865,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:835,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:833,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:839,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:853,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:879,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:882,1
    - Dst: IPAddressOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:867,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - aors
    - afi
    argTypes:
    - IPAddressOrRanges*
    - unsigned
    constantsTouched: []
    func_position:
      end: 890
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 890
    functionName: IPAddressOrRanges_canonize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - length_from_afi
    - memcmp
    - sk_IPAddressOrRange_value
    - sk_IPAddressOrRange_sort
    - make_addressRange
    - sk_IPAddressOrRange_num
    - sk_IPAddressOrRange_delete
    - sk_IPAddressOrRange_set
    - IPAddressOrRange_free
    - extract_min_max
    linkageType: ''
    returnType: int
    signature: 'static int IPAddressOrRanges_canonize(IPAddressOrRanges *aors, const
      unsigned afi) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:898,1
    - Dst: X509v3_addr_get_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:907,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:899,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:901,1
    - Dst: IPAddressOrRanges_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:905,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:910,1
    - Dst: sk_IPAddressFamily_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:911,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:912,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:912,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    constantsTouched: []
    func_position:
      end: 915
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 915
    functionName: X509v3_addr_canonize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - sk_IPAddressFamily_sort
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_set_cmp_func
    - sk_IPAddressFamily_value
    - IPAddressOrRanges_canonize
    - X509v3_addr_is_canonical
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_canonize(IPAddrBlocks *addr) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1221,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1222,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1242,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1277,1
    - Dst: X509v3_addr_get_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1299,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1311,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1314,1
    - Dst: sk_IPAddressFamily_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1318,1
    - Dst: sk_IPAddressFamily_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1324,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1246,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1256,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1259,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1274,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1261,1
    - Dst: sk_IPAddressFamily_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1278,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1280,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1291,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1302,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1312,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1220,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1238,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1243,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1244,1
    - Dst: sk_IPAddressFamily_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1245,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1264,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1276,1
    - Dst: addr_contains
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1297,1
    - Dst: length_from_afi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1299,1
    - Dst: sk_IPAddressFamily_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1300,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1319,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1220,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1258,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1262,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1257,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1268,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1285,1
    - Dst: IPAddressFamily_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1291,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 106
    argCount: 3
    argNames:
    - ctx
    - chain
    - ext
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509)*
    - IPAddrBlocks*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1326
    functionName: addr_validate_path_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - validation_err
    - length_from_afi
    - ERR_raise
    - ossl_assert
    - sk_X509_num
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_set_cmp_func
    - sk_IPAddressFamily_value
    - sk_IPAddressFamily_dup
    - addr_contains
    - sk_IPAddressFamily_find
    - sk_IPAddressFamily_set
    - X509v3_addr_is_canonical
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_free
    - sk_X509_value
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: 'static int addr_validate_path_internal(X509_STORE_CTX *ctx, STACK_OF(X509)
      *chain, IPAddrBlocks *ext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:645,1
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:646,1
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:648,1
    - Dst: addr_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:649,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - aor
    - min
    - max
    - length
    argTypes:
    - IPAddressOrRange*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 652
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 652
    functionName: extract_min_max
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - addr_expand
    linkageType: ''
    returnType: int
    signature: 'static int extract_min_max(IPAddressOrRange *aor, unsigned char *min,
      unsigned char *max, int length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:108,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - addr
    - bs
    - length
    - fill
    argTypes:
    - unsigned char*
    - ASN1_BIT_STRING*
    - int
    - unsigned char
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: addr_expand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int addr_expand(unsigned char *addr, const ASN1_BIT_STRING
      *bs, const int length, const unsigned char fill) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressOrRange_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:403,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:407,1
    - Dst: IPAddressOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:422,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:409,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - result
    - addr
    - prefixlen
    - afilen
    argTypes:
    - IPAddressOrRange**
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 424
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 424
    functionName: make_addressPrefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - IPAddressOrRange_new
    - IPAddressOrRange_free
    - ASN1_BIT_STRING_new
    - ASN1_BIT_STRING_set
    linkageType: ''
    returnType: int
    signature: 'static int make_addressPrefix(IPAddressOrRange **result, unsigned
      char *addr, const int prefixlen, const int afilen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1353,1
    - Dst: X509v3_addr_inherits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1355,1
    - Dst: addr_validate_path_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c:1357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - chain
    - ext
    - allow_inheritance
    argTypes:
    - STACK_OF(X509)*
    - IPAddrBlocks*
    - int
    constantsTouched: []
    func_position:
      end: 1358
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1358
    functionName: X509v3_addr_validate_resource_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_addr.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - X509v3_addr_inherits
    - addr_validate_path_internal
    linkageType: ''
    returnType: int
    signature: 'int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, IPAddrBlocks
      *ext, int allow_inheritance) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3err.c:142,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3err.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: ossl_err_load_X509V3_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_X509V3_strings(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:63,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:73,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:64,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:69,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:71,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:75,1
    - Dst: expected_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:77,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:80,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - channel
    - str
    - tree
    - curr
    argTypes:
    - BIO*
    - char*
    - X509_POLICY_TREE*
    - X509_POLICY_LEVEL*
    constantsTouched: []
    func_position:
      end: 82
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 82
    functionName: tree_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - expected_print
    - sk_X509_POLICY_NODE_num
    - X509_POLICY_NODE_print
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: void
    signature: 'static void tree_print(BIO *channel, char *str, X509_POLICY_TREE *tree,
      X509_POLICY_LEVEL *curr) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:146,1
    - Dst: ossl_policy_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:128,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:190,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:214,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:122,1
    - Dst: ossl_policy_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:154,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:188,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:189,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:196,1
    - Dst: X509_get_extension_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:209,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:208,1
    - Dst: ossl_policy_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:199,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:104,1
    - Dst: X509_get_extension_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:147,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:173,1
    - Dst: ossl_policy_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:212,1
    - Dst: X509_policy_tree_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:249,1
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:174,1
    - Dst: ossl_policy_level_add_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:198,1
    - Dst: ossl_policy_data_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:195,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 111
    argCount: 3
    argNames:
    - ptree
    - certs
    - flags
    argTypes:
    - X509_POLICY_TREE**
    - STACK_OF(X509)*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 251
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 251
    functionName: tree_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_policy_tree_free
    - sk_X509_num
    - OPENSSL_free
    - ossl_policy_data_free
    - OBJ_nid2obj
    - X509_up_ref
    - OPENSSL_zalloc
    - X509_check_purpose
    - ossl_policy_cache_set
    - ossl_policy_data_new
    - ossl_policy_level_add_node
    - X509_get_extension_flags
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
      unsigned int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_policy_data_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:321,1
    - Dst: ossl_policy_level_add_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:327,1
    - Dst: node_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:321,1
    - Dst: ossl_policy_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - curr
    - cache
    - id
    - node
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - ASN1_OBJECT*
    - X509_POLICY_NODE*
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 332
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 332
    functionName: tree_add_unmatched
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - ossl_policy_level_add_node
    - ossl_policy_data_free
    - node_critical
    - ossl_policy_data_new
    linkageType: ''
    returnType: int
    signature: 'static int tree_add_unmatched(X509_POLICY_LEVEL *curr, const X509_POLICY_CACHE
      *cache, const ASN1_OBJECT *id, X509_POLICY_NODE *node, X509_POLICY_TREE *tree) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tree_add_unmatched
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:349,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:358,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:359,1
    - Dst: ossl_policy_level_find_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:360,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:355,1
    - Dst: tree_add_unmatched
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:362,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 4
    argNames:
    - curr
    - cache
    - node
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - X509_POLICY_NODE*
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 368
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 368
    functionName: tree_link_unmatched
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - tree_add_unmatched
    - ossl_policy_level_find_node
    - sk_ASN1_OBJECT_value
    - sk_ASN1_OBJECT_num
    linkageType: ''
    returnType: int
    signature: 'static int tree_link_unmatched(X509_POLICY_LEVEL *curr, const X509_POLICY_CACHE
      *cache, X509_POLICY_NODE *node, X509_POLICY_TREE *tree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_policy_node_cmp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:457,1
    - Dst: sk_X509_POLICY_NODE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:459,1
    - Dst: sk_X509_POLICY_NODE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pnodes
    - pcy
    argTypes:
    - STACK_OF(X509_POLICY_NODE)**
    - X509_POLICY_NODE*
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: tree_add_auth_node
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - sk_X509_POLICY_NODE_find
    - ossl_policy_node_cmp_new
    - sk_X509_POLICY_NODE_push
    linkageType: ''
    returnType: int
    signature: 'static int tree_add_auth_node(STACK_OF(X509_POLICY_NODE) **pnodes,
      X509_POLICY_NODE *pcy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tree_add_auth_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:491,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:508,1
    - Dst: sk_X509_POLICY_NODE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:512,1
    - Dst: tree_add_auth_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:510,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:507,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 2
    argNames:
    - tree
    - pnodes
    argTypes:
    - X509_POLICY_TREE*
    - STACK_OF(X509_POLICY_NODE)**
    constantsTouched: []
    func_position:
      end: 524
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 524
    functionName: tree_calculate_authority_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - sk_X509_POLICY_NODE_free
    - tree_add_auth_node
    - sk_X509_POLICY_NODE_num
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: int
    signature: 'static int tree_calculate_authority_set(X509_POLICY_TREE *tree, STACK_OF(X509_POLICY_NODE)
      **pnodes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_policy_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:607,1
    - Dst: tree_link_any
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:612,1
    - Dst: tree_prune
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:615,1
    - Dst: TREE_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:614,1
    - Dst: tree_link_nodes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 620
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 620
    functionName: tree_evaluate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - TREE_PRINT
    - tree_link_nodes
    - ossl_policy_cache_set
    - tree_link_any
    - tree_prune
    linkageType: ''
    returnType: int
    signature: 'static int tree_evaluate(X509_POLICY_TREE *tree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: exnode_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void exnode_free(X509_POLICY_NODE *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:35,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:39,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:42,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:43,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:41,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:45,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:46,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:48,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - channel
    - lev
    - node
    - indent
    argTypes:
    - BIO*
    - X509_POLICY_LEVEL*
    - X509_POLICY_NODE*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: expected_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_value
    - sk_ASN1_OBJECT_num
    - i2a_ASN1_OBJECT
    - BIO_puts
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: 'static void expected_print(BIO *channel, X509_POLICY_LEVEL *lev, X509_POLICY_NODE
      *node, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:636,1
    - Dst: sk_X509_POLICY_NODE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:637,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:640,1
    - Dst: sk_X509_POLICY_NODE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:641,1
    - Dst: ossl_policy_node_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:642,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:645,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:646,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 649
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 649
    functionName: X509_policy_tree_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - X509_free
    - sk_X509_POLICY_NODE_pop_free
    - OPENSSL_free
    - sk_X509_POLICY_DATA_pop_free
    - ossl_policy_node_free
    - sk_X509_POLICY_NODE_free
    linkageType: ''
    returnType: void
    signature: 'void X509_policy_tree_free(X509_POLICY_TREE *tree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_DATA_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:292,1
    - Dst: sk_X509_POLICY_DATA_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:293,1
    - Dst: tree_link_matching_nodes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - curr
    - cache
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tree_link_nodes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - tree_link_matching_nodes
    - sk_X509_POLICY_DATA_num
    - sk_X509_POLICY_DATA_value
    linkageType: ''
    returnType: int
    signature: 'static int tree_link_nodes(X509_POLICY_LEVEL *curr, const X509_POLICY_CACHE
      *cache, X509_POLICY_TREE *tree) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:264,1
    - Dst: ossl_policy_level_add_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:274,1
    - Dst: ossl_policy_node_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:267,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:265,1
    - Dst: ossl_policy_level_add_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:268,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - curr
    - data
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_DATA*
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 278
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 278
    functionName: tree_link_matching_nodes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - ossl_policy_level_add_node
    - ossl_policy_node_match
    - sk_X509_POLICY_NODE_num
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: int
    signature: 'static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr, X509_POLICY_DATA
      *data, X509_POLICY_TREE *tree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:381,1
    - Dst: tree_link_unmatched
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:384,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:382,1
    - Dst: ossl_policy_level_add_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - curr
    - cache
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - X509_POLICY_TREE*
    constantsTouched: []
    func_position:
      end: 393
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 393
    functionName: tree_link_any
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - ossl_policy_level_add_node
    - tree_link_unmatched
    - sk_X509_POLICY_NODE_num
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: int
    signature: 'static int tree_link_any(X509_POLICY_LEVEL *curr, const X509_POLICY_CACHE
      *cache, X509_POLICY_TREE *tree) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:412,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:426,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:417,1
    - Dst: sk_X509_POLICY_NODE_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:418,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:413,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:427,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:430,1
    - Dst: sk_X509_POLICY_NODE_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:431,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:437,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - tree
    - curr
    argTypes:
    - X509_POLICY_TREE*
    - X509_POLICY_LEVEL*
    constantsTouched: []
    func_position:
      end: 448
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 448
    functionName: tree_prune
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_X509_POLICY_NODE_delete
    - sk_X509_POLICY_NODE_num
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: int
    signature: 'static int tree_prune(X509_POLICY_TREE *tree, X509_POLICY_LEVEL *curr) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:543,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:550,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:548,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:549,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:556,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:557,1
    - Dst: ossl_policy_tree_find_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:558,1
    - Dst: ossl_policy_data_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:566,1
    - Dst: node_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:566,1
    - Dst: ossl_policy_level_add_node
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:572,1
    - Dst: sk_X509_POLICY_NODE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:580,1
    - Dst: exnode_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:587,1
    - Dst: sk_X509_POLICY_NODE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:586,1
    - Dst: ossl_policy_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:575,1
    - Dst: exnode_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:582,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - tree
    - policy_oids
    - auth_nodes
    argTypes:
    - X509_POLICY_TREE*
    - STACK_OF(ASN1_OBJECT)*
    - STACK_OF(X509_POLICY_NODE)*
    constantsTouched: []
    func_position:
      end: 592
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 592
    functionName: tree_calculate_user_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - node_critical
    - exnode_free
    - sk_ASN1_OBJECT_value
    - OBJ_obj2nid
    - sk_X509_POLICY_NODE_push
    - ossl_policy_data_free
    - sk_ASN1_OBJECT_num
    - sk_X509_POLICY_NODE_new_null
    - ossl_policy_data_new
    - ossl_policy_level_add_node
    - ossl_policy_tree_find_sk
    linkageType: ''
    returnType: int
    signature: 'static int tree_calculate_user_set(X509_POLICY_TREE *tree, STACK_OF(ASN1_OBJECT)
      *policy_oids, STACK_OF(X509_POLICY_NODE) *auth_nodes) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tree_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:671,1
    - Dst: X509_policy_tree_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:678,1
    - Dst: TREE_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:689,1
    - Dst: tree_evaluate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:688,1
    - Dst: X509_policy_tree_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:694,1
    - Dst: tree_calculate_authority_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:702,1
    - Dst: tree_calculate_user_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:704,1
    - Dst: sk_X509_POLICY_NODE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:706,1
    - Dst: X509_policy_tree_get0_user_policies
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:713,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:714,1
    - Dst: X509_policy_tree_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c:720,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 5
    argNames:
    - ptree
    - pexplicit_policy
    - certs
    - policy_oids
    - flags
    argTypes:
    - X509_POLICY_TREE**
    - int*
    - STACK_OF(X509)*
    - STACK_OF(ASN1_OBJECT)*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 722
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 722
    functionName: X509_policy_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_tree.c
    functionUses: []
    functionsReached:
    - tree_calculate_authority_set
    - TREE_PRINT
    - sk_X509_POLICY_NODE_num
    - X509_policy_tree_free
    - tree_calculate_user_set
    - tree_init
    - tree_evaluate
    - sk_X509_POLICY_NODE_free
    - X509_policy_tree_get0_user_policies
    linkageType: ''
    returnType: int
    signature: 'int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy,
      STACK_OF(X509) *certs, STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:114,1
    - Dst: x509_pubkey_ex_populate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:119,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:116,1
    - Dst: x509_pubkey_ex_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - pval
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: x509_pubkey_ex_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - x509_pubkey_set0_libctx
    - ERR_raise
    - x509_pubkey_ex_free
    - OPENSSL_zalloc
    - x509_pubkey_ex_populate
    linkageType: ''
    returnType: int
    signature: 'static int x509_pubkey_ex_new_ex(ASN1_VALUE **pval, const ASN1_ITEM
      *it, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:284,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:290,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:287,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:289,1
    - Dst: X509_ALGOR_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:288,1
    - Dst: x509_pubkey_ex_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:293,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:295,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:300,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:301,1
    - Dst: x509_pubkey_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:304,1
    - Dst: x509_pubkey_ex_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:305,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:311,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:306,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 314
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 314
    functionName: X509_PUBKEY_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - x509_pubkey_set0_libctx
    - ERR_pop_to_mark
    - x509_pubkey_ex_free
    - ERR_raise
    - ASN1_BIT_STRING_set
    - EVP_PKEY_dup
    - OPENSSL_zalloc
    - ERR_set_mark
    - ASN1_BIT_STRING_new
    - X509_ALGOR_dup
    - ERR_clear_last_mark
    - ASN1_ITEM_rptr
    - x509_pubkey_decode
    linkageType: ''
    returnType: X509_PUBKEY*
    signature: 'X509_PUBKEY *X509_PUBKEY_dup(const X509_PUBKEY *a) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:648,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:658,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:653,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:651,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:652,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 662
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 662
    functionName: ossl_d2i_DH_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get1_DH
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - DH_free
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: DH*
    signature: 'DH *ossl_d2i_DH_PUBKEY(DH **a, const unsigned char **pp, long length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSA_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:755,1
    - Dst: DSA_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:758,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:765,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:760,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DSA**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 769
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 769
    functionName: ossl_d2i_DSA_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - DSA_free
    - DSA_get0_pqg
    - d2i_DSA_PUBKEY
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *ossl_d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1052,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1058,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1053,1
    - Dst: X509_ALGOR_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1055,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1057,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1060,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_PUBKEY*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1061
    functionName: X509_PUBKEY_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get0_param
    - X509_ALGOR_cmp
    - EVP_PKEY_eq
    - X509_PUBKEY_get0
    linkageType: ''
    returnType: int
    signature: 'int X509_PUBKEY_eq(const X509_PUBKEY *a, const X509_PUBKEY *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:51,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509_PUBKEY*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: x509_pubkey_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int x509_pubkey_set0_libctx(X509_PUBKEY *x, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:223,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:201,1
    - Dst: x509_pubkey_ex_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:143,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:168,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:191,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:216,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:229,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:232,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:149,1
    - Dst: ASN1_item_ex_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:155,1
    - Dst: x509_pubkey_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:174,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:176,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:203,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:222,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:233,1
    - Dst: x509_pubkey_ex_populate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:142,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:160,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:207,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 61
    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*
    constantsTouched: []
    func_position:
      end: 235
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 235
    functionName: x509_pubkey_ex_d2i_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - ASN1_ITEM_rptr
    - x509_pubkey_ex_new_ex
    - ossl_assert
    - OPENSSL_free
    - EVP_PKEY_free
    - OPENSSL_memdup
    - OSSL_DECODER_from_data
    - ERR_set_mark
    - ASN1_item_ex_d2i
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OBJ_obj2txt
    - ERR_clear_last_mark
    - x509_pubkey_ex_populate
    - x509_pubkey_decode
    linkageType: ''
    returnType: int
    signature: 'static int x509_pubkey_ex_d2i_ex(ASN1_VALUE **pval, const unsigned
      char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC
      *ctx, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:670,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:672,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:675,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:678,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DH*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 680
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 680
    functionName: ossl_i2d_DH_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - i2d_PUBKEY
    - ERR_raise
    - EVP_PKEY_assign_DH
    - EVP_PKEY_free
    - EVP_PKEY_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_i2d_DH_PUBKEY(const DH *a, unsigned char **pp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:777,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:783,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:782,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:785,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:779,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DSA*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 787
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 787
    functionName: i2d_DSA_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_free
    - EVP_PKEY_new
    linkageType: ''
    returnType: int
    signature: 'int i2d_DSA_PUBKEY(const DSA *a, unsigned char **pp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:990,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:991,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:997,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:995,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 999
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 999
    functionName: ossl_i2d_X448_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: 'int ossl_i2d_X448_PUBKEY(const ECX_KEY *a, unsigned char **pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:270,1
    - Dst: X509_PUBKEY_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:270,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:272,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: X509_PUBKEY_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - x509_pubkey_set0_libctx
    - ASN1_item_new_ex
    - X509_PUBKEY_it
    - X509_PUBKEY_free
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY)*
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY) X509_PUBKEY *X509_PUBKEY_new_ex(OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: ossl_d2i_PUBKEY_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - d2i_PUBKEY_int
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ossl_d2i_PUBKEY_legacy(EVP_PKEY **a, const unsigned char
      **pp, long length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:732,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:741,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:736,1
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:735,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DSA**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 745
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 745
    functionName: d2i_DSA_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get1_DSA
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - DSA_free
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1040
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1040
    functionName: X509_get0_pubkey_bitstr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_BIT_STRING*
    signature: 'ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:70,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:74,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - pp
    - len
    - libctx
    argTypes:
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: ossl_d2i_X509_PUBKEY_INTERNAL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_ex
    - ASN1_ITEM_rptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_PUBKEY*
    signature: 'X509_PUBKEY *ossl_d2i_X509_PUBKEY_INTERNAL(const unsigned char **pp,
      long len, OSSL_LIB_CTX *libctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:321,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:332,1
    - Dst: X509_PUBKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:326,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:327,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:336,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:339,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:343,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:347,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:350,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:354,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:358,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:362,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:380,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:364,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:386,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:353,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:363,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509_PUBKEY**
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 388
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 388
    functionName: X509_PUBKEY_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_new
    - evp_pkey_is_provided
    - ERR_raise
    - OPENSSL_free
    - EVP_PKEY_free
    - OSSL_ENCODER_CTX_free
    - X509_PUBKEY_free
    - d2i_X509_PUBKEY
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_new_for_pkey
    - EVP_PKEY_up_ref
    linkageType: ''
    returnType: int
    signature: 'int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:451,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 462
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 462
    functionName: X509_PUBKEY_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *X509_PUBKEY_get0(const X509_PUBKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 5
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: d2i_PUBKEY_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - d2i_PUBKEY_int
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PUBKEY_ex(EVP_PKEY **a, const unsigned char **pp, long
      length, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:628,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:630,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:634,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:633,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:636,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - RSA*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 638
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 638
    functionName: i2d_RSA_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_assign_RSA
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:799,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:805,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:804,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:802,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:810,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 814
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 814
    functionName: d2i_EC_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_get_id
    - EVP_PKEY_get1_EC_KEY
    - EC_KEY_free
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:81,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - xpub
    argTypes:
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: ossl_X509_PUBKEY_INTERNAL_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_X509_PUBKEY_INTERNAL_free(X509_PUBKEY *xpub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:466,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:468,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: X509_PUBKEY_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get0
    - EVP_PKEY_up_ref
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *X509_PUBKEY_get(const X509_PUBKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: d2i_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - d2i_PUBKEY_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long
      length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:711,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:716,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:713,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:719,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DH*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 721
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 721
    functionName: ossl_i2d_DHx_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: 'int ossl_i2d_DHx_PUBKEY(const DH *a, unsigned char **pp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:823,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:830,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:828,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:824,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:827,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EC_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 832
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 832
    functionName: i2d_EC_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_free
    - EVP_PKEY_new
    linkageType: ''
    returnType: int
    signature: 'int i2d_EC_PUBKEY(const EC_KEY *a, unsigned char **pp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - plibctx
    - ppropq
    - key
    argTypes:
    - OSSL_LIB_CTX**
    - char**
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: ossl_x509_PUBKEY_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_PUBKEY_get0_libctx(OSSL_LIB_CTX **plibctx, const char
      **ppropq, const X509_PUBKEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:89,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:93,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:90,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:91,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: x509_pubkey_ex_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_free
    - X509_ALGOR_free
    - EVP_PKEY_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void x509_pubkey_ex_free(ASN1_VALUE **pval, const ASN1_ITEM
      *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:240,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - pval
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: x509_pubkey_ex_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ASN1_item_ex_i2d
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int x509_pubkey_ex_i2d(const ASN1_VALUE **pval, unsigned char
      **out, const ASN1_ITEM *it, int tag, int aclass) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:607,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:616,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:611,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:610,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - RSA**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 620
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 620
    functionName: d2i_RSA_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - RSA_free
    - EVP_PKEY_get1_RSA
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:906,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:911,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:910,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:907,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:913,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 915
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 915
    functionName: ossl_i2d_ED448_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: 'int ossl_i2d_ED448_PUBKEY(const ECX_KEY *a, unsigned char **pp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1007,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:1010,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - pub
    - aobj
    - ptype
    - pval
    - penc
    - penclen
    argTypes:
    - X509_PUBKEY*
    - ASN1_OBJECT*
    - int
    - void*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1018
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1018
    functionName: X509_PUBKEY_set0_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - X509_ALGOR_set0
    linkageType: ''
    returnType: int
    signature: 'int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int
      ptype, void *pval, unsigned char *penc, int penclen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:103,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: x509_pubkey_ex_populate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_new
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: 'static int x509_pubkey_ex_populate(ASN1_VALUE **pval, const ASN1_ITEM
      *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:247,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - out
    - pval
    - indent
    - fname
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - char*
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: x509_pubkey_ex_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ASN1_item_print
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int x509_pubkey_ex_print(BIO *out, const ASN1_VALUE **pval,
      int indent, const char *fname, const ASN1_PCTX *pctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:689,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:699,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:694,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:692,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:693,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: ossl_d2i_DHx_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get1_DH
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - DH_free
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: DH*
    signature: 'DH *ossl_d2i_DHx_PUBKEY(DH **a, const unsigned char **pp, long length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:842,1
    - Dst: ossl_evp_pkey_get1_ED25519
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:845,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:851,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 855
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 855
    functionName: ossl_d2i_ED25519_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - ossl_ecx_key_free
    - ossl_evp_pkey_get1_ED25519
    - ossl_d2i_PUBKEY_legacy
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_d2i_ED25519_PUBKEY(ECX_KEY **a, const unsigned char
      **pp, long length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:925,1
    - Dst: ossl_evp_pkey_get1_X25519
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:929,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:935,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:930,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:928,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 939
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 939
    functionName: ossl_d2i_X25519_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - ossl_ecx_key_free
    - ossl_evp_pkey_get1_X25519
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_d2i_X25519_PUBKEY(ECX_KEY **a, const unsigned char **pp,
      long length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 5
    argNames:
    - ppkalg
    - pk
    - ppklen
    - pa
    - pub
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - int*
    - X509_ALGOR**
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1033
    functionName: X509_PUBKEY_get0_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char
      **pk, int *ppklen, X509_ALGOR **pa, const X509_PUBKEY *pub) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:402,1
    - Dst: ENGINE_get_pkey_meth_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:407,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:416,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:410,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:418,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:422,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:423,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:436,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:444,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - ppkey
    - key
    argTypes:
    - EVP_PKEY**
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 446
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 446
    functionName: x509_pubkey_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ENGINE_get_pkey_meth_engine
    - OBJ_obj2nid
    - EVP_PKEY_free
    - ENGINE_finish
    - EVP_PKEY_set_type
    - EVP_PKEY_new
    linkageType: ''
    returnType: int
    signature: 'static int x509_pubkey_decode(EVP_PKEY **ppkey, const X509_PUBKEY
      *key) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:555,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:561,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:564,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:567,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:570,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:570,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:573,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:575,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:576,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:590,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:591,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:585,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 595
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 595
    functionName: i2d_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_to_bio
    - X509_PUBKEY_new
    - i2d_X509_PUBKEY
    - BIO_free
    - OSSL_ENCODER_CTX_get_num_encoders
    - memcpy
    - OSSL_ENCODER_CTX_free
    - X509_PUBKEY_free
    - BIO_get_mem_ptr
    - BIO_s_mem
    - OSSL_ENCODER_CTX_new_for_pkey
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int i2d_PUBKEY(const EVP_PKEY *a, unsigned char **pp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:500,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:505,1
    - Dst: d2i_x509_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:510,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:502,1
    - Dst: X509_PUBKEY_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:513,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:514,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:520,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:524,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 32
    argCount: 7
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    - force_legacy
    - (*d2i_x509_pubkey)
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    - unsigned int
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 526
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 526
    functionName: d2i_PUBKEY_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - x509_pubkey_set0_libctx
    - ERR_raise
    - X509_PUBKEY_get
    - EVP_PKEY_free
    - OPENSSL_zalloc
    - X509_PUBKEY_free
    - d2i_x509_pubkey
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *d2i_PUBKEY_int(EVP_PKEY **a, const unsigned char
      **pp, long length, OSSL_LIB_CTX *libctx, const char *propq, unsigned int force_legacy,
      X509_PUBKEY * (*d2i_x509_pubkey)(X509_PUBKEY **a, const unsigned char **in,
      long len)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:864,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:868,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:865,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:871,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 873
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 873
    functionName: ossl_i2d_ED25519_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: 'int ossl_i2d_ED25519_PUBKEY(const ECX_KEY *a, unsigned char **pp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:948,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:955,1
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:953,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:952,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:949,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 957
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 957
    functionName: ossl_i2d_X25519_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_PUBKEY
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_assign
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:883,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:888,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:893,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:886,1
    - Dst: ossl_evp_pkey_get1_ED448
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:887,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 897
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 897
    functionName: ossl_d2i_ED448_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - ossl_ecx_key_free
    - ossl_evp_pkey_get1_ED448
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_d2i_ED448_PUBKEY(ECX_KEY **a, const unsigned char **pp,
      long length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:967,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:977,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:970,1
    - Dst: ossl_evp_pkey_get1_X448
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:971,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c:972,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 981
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 981
    functionName: ossl_d2i_X448_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_pubkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - ossl_ecx_key_free
    - EVP_PKEY_get_id
    - ossl_evp_pkey_get1_X448
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_d2i_X448_PUBKEY(ECX_KEY **a, const unsigned char **pp,
      long length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:90,1
    - Dst: X509_get_default_cert_dir_env
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:90,1
    - Dst: add_cert_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:93,1
    - Dst: X509_get_default_cert_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:95,1
    - Dst: add_cert_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:98,1
    - Dst: add_cert_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:101,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - retp
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: dir_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - X509_get_default_cert_dir_env
    - ERR_raise
    - add_cert_dir
    - X509_get_default_cert_dir
    - ossl_safe_getenv
    linkageType: ''
    returnType: int
    signature: 'static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long
      argl, char **retp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - BY_DIR_HASH*
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: by_dir_hash_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void by_dir_hash_free(BY_DIR_HASH *hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:152,1
    - Dst: sk_BY_DIR_HASH_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:153,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ent
    argTypes:
    - BY_DIR_ENTRY*
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: by_dir_entry_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - sk_BY_DIR_HASH_pop_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void by_dir_entry_free(BY_DIR_ENTRY *ent) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:174,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:191,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:191,1
    - Dst: sk_BY_DIR_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:189,1
    - Dst: sk_BY_DIR_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:190,1
    - Dst: sk_BY_DIR_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:194,1
    - Dst: sk_BY_DIR_ENTRY_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:199,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:205,1
    - Dst: sk_BY_DIR_HASH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:209,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:210,1
    - Dst: sk_BY_DIR_ENTRY_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:217,1
    - Dst: by_dir_entry_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:216,1
    - Dst: by_dir_entry_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:212,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 3
    argNames:
    - ctx
    - dir
    - type
    argTypes:
    - BY_DIR*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 223
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 223
    functionName: add_cert_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_BY_DIR_HASH_new
    - sk_BY_DIR_ENTRY_value
    - sk_BY_DIR_ENTRY_num
    - strncmp
    - sk_BY_DIR_ENTRY_push
    - sk_BY_DIR_ENTRY_new_null
    - OPENSSL_strndup
    - by_dir_entry_free
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int add_cert_dir(BY_DIR *ctx, const char *dir, int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: X509_LOOKUP_hash_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_METHOD*
    signature: 'X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:112,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:116,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:117,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:121,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:124,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - lu
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: new_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - BUF_MEM_free
    - OPENSSL_malloc
    - BUF_MEM_new
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: 'static int new_dir(X509_LOOKUP *lu) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BY_DIR_HASH**
    - BY_DIR_HASH**
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: by_dir_hash_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int by_dir_hash_cmp(const BY_DIR_HASH *const *a, const BY_DIR_HASH
      *const *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_BY_DIR_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:161,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:163,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:162,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - lu
    argTypes:
    - X509_LOOKUP*
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: free_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    - OPENSSL_free
    - sk_BY_DIR_ENTRY_pop_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void free_dir(X509_LOOKUP *lu) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:253,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:272,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:273,1
    - Dst: X509_load_cert_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:336,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:298,1
    - Dst: X509_STORE_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:350,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:363,1
    - Dst: sk_BY_DIR_HASH_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:371,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:385,1
    - Dst: X509_NAME_hash_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:263,1
    - Dst: sk_BY_DIR_HASH_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:281,1
    - Dst: sk_BY_DIR_HASH_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:283,1
    - Dst: sk_X509_OBJECT_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:352,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:353,1
    - Dst: X509_STORE_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:354,1
    - Dst: sk_BY_DIR_HASH_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:372,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:377,1
    - Dst: sk_BY_DIR_HASH_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:384,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:386,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:257,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:274,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:289,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:316,1
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:330,1
    - Dst: X509_load_crl_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:340,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:408,1
    - Dst: sk_BY_DIR_HASH_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:396,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:258,1
    - Dst: sk_BY_DIR_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:266,1
    - Dst: sk_BY_DIR_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:271,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:279,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:321,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:375,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:378,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:387,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:401,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:414,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:420,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 139
    argCount: 6
    argNames:
    - xl
    - type
    - name
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 422
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 422
    functionName: get_cert_by_subject_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_X509_OBJECT_value
    - CRYPTO_THREAD_read_lock
    - BIO_snprintf
    - X509_load_cert_file_ex
    - sk_BY_DIR_HASH_sort
    - sk_BY_DIR_HASH_value
    - BUF_MEM_free
    - sk_BY_DIR_HASH_find
    - X509_load_crl_file
    - OPENSSL_malloc
    - X509_NAME_hash_ex
    - BUF_MEM_grow
    - OPENSSL_free
    - stat
    - X509_STORE_lock
    - sk_X509_OBJECT_find
    - BUF_MEM_new
    - X509_STORE_unlock
    - ERR_clear_error
    - memcpy
    - sk_BY_DIR_ENTRY_value
    - strlen
    - ERR_raise
    - sk_BY_DIR_ENTRY_num
    - sk_BY_DIR_HASH_push
    linkageType: ''
    returnType: int
    signature: 'static int get_cert_by_subject_ex(X509_LOOKUP *xl, X509_LOOKUP_TYPE
      type, const X509_NAME *name, X509_OBJECT *ret, OSSL_LIB_CTX *libctx, const char
      *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_by_subject_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - xl
    - type
    - name
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: get_cert_by_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/by_dir.c
    functionUses: []
    functionsReached:
    - get_cert_by_subject_ex
    linkageType: ''
    returnType: int
    signature: 'static int get_cert_by_subject(X509_LOOKUP *xl, X509_LOOKUP_TYPE type,
      const X509_NAME *name, X509_OBJECT *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: X509_VERIFY_PARAM_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned
      long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: X509_VERIFY_PARAM_set_inh_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param, uint32_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - param
    - t
    argTypes:
    - X509_VERIFY_PARAM*
    - time_t
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: X509_VERIFY_PARAM_set_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_x509_param_set_hosts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - param
    - name
    - namelen
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: X509_VERIFY_PARAM_set1_host
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - int_x509_param_set_hosts
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, const char
      *name, size_t namelen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:447,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - param
    - plen
    argTypes:
    - X509_VERIFY_PARAM*
    - size_t*
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: int_X509_VERIFY_PARAM_get0_ip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *int_X509_VERIFY_PARAM_get0_ip(X509_VERIFY_PARAM
      *param, size_t *plen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: table_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int table_cmp(const X509_VERIFY_PARAM *a, const X509_VERIFY_PARAM
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: X509_VERIFY_PARAM_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned
      long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - param
    - purpose
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: X509_VERIFY_PARAM_set_purpose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - X509_PURPOSE_set
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:335,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - param
    - policy
    argTypes:
    - X509_VERIFY_PARAM*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: X509_VERIFY_PARAM_add0_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_push
    - sk_ASN1_OBJECT_new_null
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT
      *policy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_x509_param_set_hosts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - param
    - name
    - namelen
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: X509_VERIFY_PARAM_add1_host
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - int_x509_param_set_hosts
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, const char
      *name, size_t namelen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_X509_VERIFY_PARAM_get0_ip
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:458,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: X509_VERIFY_PARAM_get1_ip_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:587,1
    - Dst: sk_X509_VERIFY_PARAM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:598,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:594,1
    - Dst: sk_X509_VERIFY_PARAM_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:591,1
    - Dst: sk_X509_VERIFY_PARAM_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: X509_VERIFY_PARAM_add0_table
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_X509_VERIFY_PARAM_find
    - X509_VERIFY_PARAM_free
    - sk_X509_VERIFY_PARAM_push
    - sk_X509_VERIFY_PARAM_delete
    - sk_X509_VERIFY_PARAM_new
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: str_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void str_free(char *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:244,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:255,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:249,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pdest
    - pdestlen
    - src
    - srclen
    argTypes:
    - char**
    - size_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 260
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 260
    functionName: int_x509_param_set1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int int_x509_param_set1(char **pdest, size_t *pdestlen, const
      char *src, size_t srclen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - param
    - auth_level
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: X509_VERIFY_PARAM_set_auth_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int
      auth_level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: X509_VERIFY_PARAM_move_peername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *to, X509_VERIFY_PARAM
      *from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: X509_VERIFY_PARAM_get0_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *X509_VERIFY_PARAM_get0_email(X509_VERIFY_PARAM *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:614,1
    - Dst: sk_X509_VERIFY_PARAM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: X509_VERIFY_PARAM_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_X509_VERIFY_PARAM_value
    - OSSL_NELEM
    linkageType: ''
    returnType: X509_VERIFY_PARAM*
    signature: 'const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:45,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:53,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:47,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:59,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:64,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:65,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:69,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:70,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:71,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:72,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 4
    argNames:
    - vpm
    - mode
    - name
    - namelen
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: int_x509_param_set_hosts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - sk_OPENSSL_STRING_pop_free
    - sk_OPENSSL_STRING_push
    - sk_OPENSSL_STRING_num
    - OPENSSL_free
    - memchr
    - sk_OPENSSL_STRING_free
    - OPENSSL_strndup
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int int_x509_param_set_hosts(X509_VERIFY_PARAM *vpm, int mode,
      const char *name, size_t namelen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:264,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - param
    - name
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: X509_VERIFY_PARAM_set1_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: X509_VERIFY_PARAM_get_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: 'time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_x509_param_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - param
    - email
    - emaillen
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: X509_VERIFY_PARAM_set1_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - int_x509_param_set1
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, const char
      *email, size_t emaillen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_VERIFY_PARAM**
    - X509_VERIFY_PARAM**
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: param_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int param_cmp(const X509_VERIFY_PARAM *const *a, const X509_VERIFY_PARAM
      *const *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_VERIFY_PARAM_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:628,1
    - Dst: OBJ_bsearch_table
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:632,1
    - Dst: sk_X509_VERIFY_PARAM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:630,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 633
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 633
    functionName: X509_VERIFY_PARAM_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_X509_VERIFY_PARAM_find
    - sk_X509_VERIFY_PARAM_value
    - OBJ_bsearch_table
    - OSSL_NELEM
    linkageType: ''
    returnType: X509_VERIFY_PARAM*
    signature: 'const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: X509_VERIFY_PARAM_get0_peername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *X509_VERIFY_PARAM_get0_peername(const X509_VERIFY_PARAM *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: X509_VERIFY_PARAM_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_VERIFY_PARAM*
    signature: 'X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:171,1
    - Dst: x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:172,1
    - Dst: test_x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:189,1
    - Dst: x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:173,1
    - Dst: x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:174,1
    - Dst: X509_VERIFY_PARAM_set1_policies
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:190,1
    - Dst: x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:194,1
    - Dst: test_x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:196,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:197,1
    - Dst: sk_OPENSSL_STRING_deep_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:201,1
    - Dst: test_x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:207,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:208,1
    - Dst: test_x509_verify_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:212,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 218
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 218
    functionName: X509_VERIFY_PARAM_inherit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_pop_free
    - sk_OPENSSL_STRING_deep_copy
    - X509_VERIFY_PARAM_set1_policies
    - X509_VERIFY_PARAM_set1_ip
    - X509_VERIFY_PARAM_set1_email
    - test_x509_verify_param_copy
    - x509_verify_param_copy
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *dest, const X509_VERIFY_PARAM
      *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: X509_VERIFY_PARAM_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long X509_VERIFY_PARAM_get_flags(const X509_VERIFY_PARAM
      *param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:352,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:367,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:366,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:362,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:355,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:368,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:371,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:372,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - param
    - policies
    argTypes:
    - X509_VERIFY_PARAM*
    - STACK_OF(ASN1_OBJECT)*
    constantsTouched: []
    func_position:
      end: 378
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 378
    functionName: X509_VERIFY_PARAM_set1_policies
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_ASN1_OBJECT_value
    - sk_ASN1_OBJECT_pop_free
    - sk_ASN1_OBJECT_push
    - ASN1_OBJECT_free
    - sk_ASN1_OBJECT_num
    - sk_ASN1_OBJECT_new_null
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, STACK_OF(ASN1_OBJECT)
      *policies) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: X509_VERIFY_PARAM_set_hostflags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, unsigned
      int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:467,1
    - Dst: int_x509_param_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - param
    - ip
    - iplen
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: X509_VERIFY_PARAM_set1_ip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - int_x509_param_set1
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, const unsigned
      char *ip, size_t iplen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: X509_VERIFY_PARAM_get_depth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: X509_VERIFY_PARAM_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: str_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *str_copy(const char *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:101,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:102,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:104,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:103,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:105,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: X509_VERIFY_PARAM_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    - OPENSSL_free
    - sk_OPENSSL_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:227,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: X509_VERIFY_PARAM_set1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_inherit
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM
      *from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: X509_VERIFY_PARAM_get_inh_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t X509_VERIFY_PARAM_get_inh_flags(const X509_VERIFY_PARAM *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - param
    - idx
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: X509_VERIFY_PARAM_get0_host
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    linkageType: ''
    returnType: char*
    signature: 'char *X509_VERIFY_PARAM_get0_host(X509_VERIFY_PARAM *param, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: X509_VERIFY_PARAM_get_hostflags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int X509_VERIFY_PARAM_get_hostflags(const X509_VERIFY_PARAM
      *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:477,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - param
    - ipasc
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: X509_VERIFY_PARAM_set1_ip_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: X509_VERIFY_PARAM_get_auth_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:605,1
    - Dst: sk_X509_VERIFY_PARAM_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: X509_VERIFY_PARAM_get_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_X509_VERIFY_PARAM_num
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int X509_VERIFY_PARAM_get_count(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_VERIFY_PARAM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: X509_VERIFY_PARAM_table_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached:
    - sk_X509_VERIFY_PARAM_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_VERIFY_PARAM_table_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_TRUST_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - param
    - trust
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: X509_VERIFY_PARAM_set_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - param
    - depth
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: X509_VERIFY_PARAM_set_depth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vpm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_print_ex_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509*
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: X509_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - X509_print_ex_fp
    linkageType: ''
    returnType: int
    signature: 'int X509_print_fp(FILE *fp, X509 *x) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:68,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:82,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:107,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:120,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:131,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:103,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:134,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:142,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:155,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:157,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:161,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:173,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:178,1
    - Dst: X509_get0_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:207,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:77,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:89,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:90,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:122,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:146,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:163,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:175,1
    - Dst: X509_signature_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:188,1
    - Dst: X509_signature_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:194,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:200,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:217,1
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:201,1
    - Dst: X509_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:72,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:74,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:84,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:111,1
    - Dst: X509_signature_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:124,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:129,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:142,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:144,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:152,1
    - Dst: X509_aux_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:212,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:66,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:88,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:131,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:138,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:140,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:146,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:154,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:164,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:168,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:170,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:166,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:192,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:176,1
    - Dst: X509_signature_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:208,1
    - Dst: X509_get0_uids
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:184,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 169
    argCount: 4
    argNames:
    - bp
    - x
    - nmflags
    - cflag
    argTypes:
    - BIO*
    - X509*
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 219
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 219
    functionName: X509_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - X509_get0_serialNumber
    - X509_get0_pubkey
    - X509_get_issuer_name
    - ERR_set_mark
    - X509_get0_notAfter
    - X509_get_version
    - X509_signature_dump
    - X509_get0_notBefore
    - X509_get_subject_name
    - BIO_printf
    - BIO_write
    - X509_NAME_print_ex
    - ERR_print_errors
    - OPENSSL_free
    - X509_aux_print
    - X509_get0_tbs_sigalg
    - X509_get_X509_PUBKEY
    - EVP_PKEY_print_public
    - X509_get0_uids
    - X509_signature_print
    - X509_get0_signature
    - X509V3_extensions_print
    - i2a_ASN1_OBJECT
    - X509_PUBKEY_get0_param
    - ossl_asn1_time_print_ex
    - ERR_pop_to_mark
    - X509_get0_extensions
    - BIO_puts
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: 'int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned
      long cflag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:296,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:298,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:304,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - bp
    - sig
    - indent
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: X509_signature_dump
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - BIO_indent
    linkageType: ''
    returnType: int
    signature: 'int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:360,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:367,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:370,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:379,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:382,1
    - Dst: X509_keyid_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:383,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:385,1
    - Dst: X509_get0_trust_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:348,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:353,1
    - Dst: X509_get0_reject_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:349,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:374,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:364,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:387,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:388,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:359,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:368,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:373,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:377,1
    - Dst: X509_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:346,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:352,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:355,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:358,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:362,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:375,1
    - Dst: X509_alias_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:380,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - out
    - x
    - indent
    argTypes:
    - BIO*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 391
    functionName: X509_aux_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - X509_get0_trust_objects
    - sk_ASN1_OBJECT_value
    - X509_alias_get0
    - X509_keyid_get0
    - sk_ASN1_OBJECT_num
    - OBJ_obj2txt
    - X509_get0_reject_objects
    - BIO_puts
    - X509_trusted
    linkageType: ''
    returnType: int
    signature: 'int X509_aux_print(BIO *out, X509 *x, int indent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:432,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:433,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:439,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:435,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:436,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:441,1
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:442,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - bio
    - certs
    argTypes:
    - BIO*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 448
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 448
    functionName: print_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_X509_num
    - X509V3_extensions_print
    - X509_get0_extensions
    - sk_X509_value
    - ossl_x509_print_ex_brief
    linkageType: ''
    returnType: int
    signature: 'static int print_certs(BIO *bio, const STACK_OF(X509) *certs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: X509_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - X509_print_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_print(BIO *bp, X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:31,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:36,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:35,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:32,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - fp
    - x
    - nmflag
    - cflag
    argTypes:
    - FILE*
    - X509*
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: X509_print_ex_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    - X509_print_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned
      long cflag) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:243,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:250,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:282,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:237,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:239,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:256,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:283,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:274,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:240,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:270,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:245,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:247,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:253,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:262,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:265,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:271,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:277,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:270,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:278,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 46
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509*
    constantsTouched: []
    func_position:
      end: 285
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 285
    functionName: X509_ocspid_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_get0_pubkey_bitstr
    - ASN1_STRING_length
    - i2d_X509_NAME
    - OPENSSL_free
    - EVP_Digest
    - ASN1_STRING_get0_data
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int X509_ocspid_print(BIO *bp, X509 *x) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:315,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:320,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:326,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:322,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:317,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:327,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:332,1
    - Dst: X509_signature_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:335,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - bp
    - sigalg
    - sig
    argTypes:
    - BIO*
    - X509_ALGOR*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: X509_signature_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - EVP_PKEY_asn1_find
    - OBJ_obj2nid
    - i2a_ASN1_OBJECT
    - X509_signature_dump
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: int
    signature: 'int X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const
      ASN1_STRING *sig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_get1_all_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:453,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:456,1
    - Dst: print_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:454,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - bio
    - store
    argTypes:
    - BIO*
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: print_store_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_STORE_get1_all_certs
    - print_certs
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'static int print_store_certs(BIO *bio, X509_STORE *store) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:403,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:404,1
    - Dst: X509_check_issued
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:407,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:408,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:405,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:411,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:412,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:415,1
    - Dst: X509_cmp_current_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:418,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:418,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:424,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:419,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:421,1
    - Dst: X509_cmp_current_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:421,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:422,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - bio
    - cert
    - neg_cflags
    argTypes:
    - BIO*
    - X509*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 426
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 426
    functionName: ossl_x509_print_ex_brief
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_cmp_current_time
    - X509_get0_notAfter
    - X509_check_issued
    - X509_get0_notBefore
    - X509_print_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_print_ex_brief(BIO *bio, X509 *cert, unsigned long neg_cflags) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get0_parent_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:471,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:468,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:474,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:478,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:484,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:498,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:506,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:506,1
    - Dst: X509_STORE_CTX_get0_untrusted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:516,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:517,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:522,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:477,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:497,1
    - Dst: X509_VERIFY_PARAM_get0_host
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:485,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:518,1
    - Dst: X509_VERIFY_PARAM_get1_ip_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:495,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:492,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:515,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:520,1
    - Dst: ERR_add_error_mem_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:521,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:467,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:468,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:470,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:475,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:487,1
    - Dst: X509_VERIFY_PARAM_get0_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:490,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:505,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:486,1
    - Dst: print_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:516,1
    - Dst: print_store_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c:518,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 526
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 526
    functionName: X509_STORE_CTX_print_verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_x509.c
    functionUses: []
    functionsReached:
    - X509_STORE_get0_param
    - BIO_free
    - BIO_s_mem
    - BIO_new
    - X509_STORE_CTX_get_error
    - print_store_certs
    - X509_STORE_CTX_get0_untrusted
    - BIO_printf
    - X509_STORE_CTX_get0_store
    - OPENSSL_free
    - X509_verify_cert_error_string
    - X509_VERIFY_PARAM_get0_email
    - X509_STORE_CTX_get_current_cert
    - X509_VERIFY_PARAM_get1_ip_asc
    - ERR_add_error_mem_bio
    - X509_VERIFY_PARAM_get0_host
    - print_certs
    - ossl_x509_print_ex_brief
    - X509_STORE_CTX_get_error_depth
    - ERR_raise
    - X509_STORE_CTX_get0_parent_ctx
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_print_verify_cb(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:67,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:73,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:68,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:70,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:69,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:74,1
    - Dst: X509V3_add_value_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - method
    - tls_feature
    - ext_list
    argTypes:
    - X509V3_EXT_METHOD*
    - TLS_FEATURE*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: i2v_TLS_FEATURE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c
    functionUses: []
    functionsReached:
    - sk_ASN1_INTEGER_num
    - X509V3_add_value
    - sk_ASN1_INTEGER_value
    - X509V3_add_value_int
    - OSSL_NELEM
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'static STACK_OF(CONF_VALUE) *i2v_TLS_FEATURE(const X509V3_EXT_METHOD
      *method, TLS_FEATURE *tls_feature, STACK_OF(CONF_VALUE) *ext_list) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_INTEGER_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:97,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:102,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:103,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:98,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:110,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:112,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:118,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:119,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:124,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:125,1
    - Dst: sk_ASN1_INTEGER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:127,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:137,1
    - Dst: sk_ASN1_INTEGER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c:136,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 139
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 139
    functionName: v2i_TLS_FEATURE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_tlsf.c
    functionUses: []
    functionsReached:
    - strtol
    - sk_ASN1_INTEGER_new_null
    - sk_ASN1_INTEGER_push
    - ERR_raise
    - X509V3_conf_add_error_name_value
    - sk_CONF_VALUE_num
    - sk_ASN1_INTEGER_pop_free
    - OPENSSL_strcasecmp
    - sk_CONF_VALUE_value
    - ASN1_INTEGER_set
    - OSSL_NELEM
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: TLS_FEATURE*
    signature: 'static TLS_FEATURE *v2i_TLS_FEATURE(const X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POLICY_CONSTRAINTS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:63,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:66,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:68,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:67,1
    - Dst: X509V3_get_value_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:69,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:71,1
    - Dst: X509V3_get_value_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:72,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:75,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:82,1
    - Dst: POLICY_CONSTRAINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c:88,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 30
    argCount: 0
    argNames:
    - POLICY_CONSTRAINTS
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 90
    functionName: IMPLEMENT_ASN1_ALLOC_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pcons.c
    functionUses: []
    functionsReached:
    - POLICY_CONSTRAINTS_free
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - ERR_raise_data
    - POLICY_CONSTRAINTS_new
    - X509V3_get_value_int
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(POLICY_CONSTRAINTS)
    signature: 'ASN1_SEQUENCE_END(POLICY_CONSTRAINTS) IMPLEMENT_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)
      static STACK_OF(CONF_VALUE) *i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD
      *method, void *a, STACK_OF(CONF_VALUE) *extlist){ POLICY_CONSTRAINTS *pcons
      = a; X509V3_add_value_int("Require Explicit Policy", pcons->requireExplicitPolicy,
      &extlist); X509V3_add_value_int("Inhibit Policy Mapping", pcons->inhibitPolicyMapping,
      &extlist); return extlist; }static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD
      *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - method
    - oct
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: i2s_ASN1_OCTET_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c
    functionUses: []
    functionsReached:
    - OPENSSL_buf2hexstr
    linkageType: ''
    returnType: char*
    signature: 'char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, const ASN1_OCTET_STRING
      *oct) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:38,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:44,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:39,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: s2i_ASN1_OCTET_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexstr2buf
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ERR_raise
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx, const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:93,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:100,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:94,1
    - Dst: s2i_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:97,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:103,1
    - Dst: ossl_x509_pubkey_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: s2i_skey_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcmp
    - ASN1_OCTET_STRING_new
    - ossl_x509_pubkey_hash
    - s2i_ASN1_OCTET_STRING
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, char *str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:66,1
    - Dst: ossl_x509_PUBKEY_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:69,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:73,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:74,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:71,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:78,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:79,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:80,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:81,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:85,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - pubkey
    argTypes:
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: ossl_x509_pubkey_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_skid.c
    functionUses: []
    functionsReached:
    - ossl_x509_PUBKEY_get0_libctx
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - EVP_Digest
    - ASN1_OCTET_STRING_set
    - ASN1_OCTET_STRING_free
    - X509_PUBKEY_get0_param
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *ossl_x509_pubkey_hash(X509_PUBKEY *pubkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:185,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:203,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:197,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:191,1
    - Dst: check_key_level
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:197,1
    - Dst: check_sig_level
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: check_auth_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - sk_X509_num
    - check_sig_level
    - check_key_level
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int check_auth_level(X509_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:308,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:311,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sk
    - cert
    argTypes:
    - STACK_OF(X509)*
    - X509*
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: sk_X509_contains
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - X509_cmp
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int sk_X509_contains(STACK_OF(X509) *sk, X509 *cert) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:665,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:682,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:683,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:692,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:711,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:703,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:722,1
    - Dst: NAME_CONSTRAINTS_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:735,1
    - Dst: NAME_CONSTRAINTS_check_CN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:745,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:666,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:693,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:719,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:705,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:731,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:732,1
    - Dst: has_san_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:744,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:650,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:651,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:670,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:692,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:718,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:711,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:755,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:693,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:714,1
    - Dst: X509_NAME_delete_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:710,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 762
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 762
    functionName: check_name_constraints
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_get_issuer_name
    - NAME_CONSTRAINTS_check
    - X509_NAME_entry_count
    - sk_X509_value
    - has_san_id
    - X509_get_subject_name
    - CB_FAIL_IF
    - sk_X509_num
    - X509_NAME_cmp
    - X509_NAME_ENTRY_set
    - OBJ_obj2nid
    - X509_NAME_dup
    - X509_NAME_delete_entry
    - ERR_raise
    - X509_NAME_free
    - NAME_CONSTRAINTS_check_CN
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_object
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: 'static int check_name_constraints(X509_STORE_CTX *ctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1389,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1408,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1404,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1405,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1416,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1417,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1418,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1419,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1420,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DIST_POINT_NAME*
    - DIST_POINT_NAME*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1427
    functionName: idp_check_dp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - GENERAL_NAME_cmp
    linkageType: ''
    returnType: int
    signature: 'static int idp_check_dp(DIST_POINT_NAME *a, DIST_POINT_NAME *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_cb_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - errcode
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: check_id_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - verify_cb_cert
    linkageType: ''
    returnType: int
    signature: 'static int check_id_error(X509_STORE_CTX *ctx, int errcode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1432,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1437,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1442,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - dp
    - crl
    - crl_score
    argTypes:
    - DIST_POINT*
    - X509_CRL*
    - int
    constantsTouched: []
    func_position:
      end: 1446
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1446
    functionName: crldp_check_crlissuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: 'static int crldp_check_crlissuer(DIST_POINT *dp, X509_CRL *crl, int
      crl_score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: verify_cb_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int verify_cb_crl(X509_STORE_CTX *ctx, int err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - issuer
    - ctx
    - cert
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 2984
      start: 2974
    functionDepth: 0
    functionLinenumber: 2974
    functionLinenumberEnd: 2984
    functionName: get1_trusted_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int get1_trusted_issuer(X509 **issuer, X509_STORE_CTX *ctx,
      X509 *cert) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1151,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1152,1
    - Dst: crl_extension_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1155,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1151,1
    - Dst: crl_extension_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1157,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1160,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - delta
    - base
    argTypes:
    - X509_CRL*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1164
    functionName: check_delta_base
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - crl_extension_match
    - X509_NAME_cmp
    - ASN1_INTEGER_cmp
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: 'static int check_delta_base(X509_CRL *delta, X509_CRL *base) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1224,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1224,1
    - Dst: crl_akid_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1239,1
    - Dst: check_crl_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1235,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1224,1
    - Dst: crl_crldp_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1246,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 5
    argNames:
    - ctx
    - pissuer
    - preasons
    - crl
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509**
    - unsigned int*
    - X509_CRL*
    - X509*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1258
    functionName: get_crl_score
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - check_crl_time
    - X509_NAME_cmp
    - crl_crldp_check
    - crl_akid_check
    - X509_get_issuer_name
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: 'static int get_crl_score(X509_STORE_CTX *ctx, X509 **pissuer, unsigned
      int *preasons, X509_CRL *crl, X509 *x) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1645,1
    - Dst: sk_X509_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1650,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1659,1
    - Dst: X509_policy_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1647,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1660,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1664,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1669,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1681,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1700,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1703
    functionName: check_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - ERR_raise
    - sk_X509_num
    - X509_policy_check
    - sk_X509_pop
    - sk_X509_push
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int check_policy(X509_STORE_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1744,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1745,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1762,1
    - Dst: ossl_x509_likely_issued
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1756,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1764,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1815,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1817,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1818,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1819,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1822,1
    - Dst: X509_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1822,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1844,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1829,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1848
    functionName: internal_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - ossl_x509_signing_allowed
    - sk_X509_num
    - ossl_x509_likely_issued
    - X509_get0_pubkey
    - ossl_x509_check_cert_time
    - X509_verify
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int internal_verify(X509_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2174
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2174
    functionName: X509_STORE_CTX_get1_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_chain_up_ref
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *X509_STORE_CTX_get1_chain(const X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sk
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 2520
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2520
    functionName: X509_STORE_CTX_set0_untrusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509)
      *sk) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: DANETLS_HAS_DANE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3017,1
    - Dst: DANETLS_HAS_PKIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3017,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3042,1
    - Dst: get1_trusted_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3101,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3137,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3132,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3156,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3169,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3194,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3230,1
    - Dst: sk_X509_delete_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3248,1
    - Dst: DANETLS_HAS_PKIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3300,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3320,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3062,1
    - Dst: X509_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3110,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3131,1
    - Dst: DANETLS_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3146,1
    - Dst: X509_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3160,1
    - Dst: verify_cb_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3293,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3297,1
    - Dst: DANETLS_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3299,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3316,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3299,1
    - Dst: find_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3234,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2990,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3002,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3026,1
    - Dst: DANETLS_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3140,1
    - Dst: sk_X509_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3137,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3143,1
    - Dst: sk_X509_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3176,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3229,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3232,1
    - Dst: X509_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3233,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3261,1
    - Dst: check_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3275,1
    - Dst: verify_cb_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3303,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3302,1
    - Dst: check_dane_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3256,1
    - Dst: verify_cb_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3307,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3314,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2991,1
    - Dst: DANETLS_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3033,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3034,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3098,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3113,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3157,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3171,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3174,1
    - Dst: check_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3197,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3250,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3270,1
    - Dst: DANETLS_HAS_DANE_TA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3272,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3322,1
    - Dst: check_dane_pkeys
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3273,1
    - Dst: X509_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3302,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 225
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 3324
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3324
    functionName: build_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_cmp
    - sk_X509_set
    - check_dane_issuer
    - sk_X509_push
    - sk_X509_value
    - STACK_OF
    - X509_free
    - CB_FAIL_IF
    - DANETLS_HAS_DANE_TA
    - sk_X509_num
    - DANETLS_HAS_PKIX
    - verify_cb_cert
    - DANETLS_ENABLED
    - sk_X509_delete_ptr
    - X509_self_signed
    - check_trust
    - X509_add_certs
    - DANETLS_HAS_DANE
    - find_issuer
    - ERR_raise
    - ossl_assert
    - check_dane_pkeys
    - get1_trusted_issuer
    - sk_X509_pop
    - sk_X509_free
    - sk_X509_new_null
    - X509_add_cert
    linkageType: ''
    returnType: int
    signature: 'static int build_chain(X509_STORE_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1264,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1271,1
    - Dst: X509_check_akid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1273,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1268,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1281,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1282,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1283,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1283,1
    - Dst: X509_check_akid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1285,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1300,1
    - Dst: X509_check_akid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1304,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1301,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1302,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1302,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - crl
    - pissuer
    - pcrl_score
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    - X509**
    - int*
    constantsTouched: []
    func_position:
      end: 1310
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1310
    functionName: crl_akid_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - X509_NAME_cmp
    - X509_check_akid
    - X509_get_subject_name
    - sk_X509_value
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: void
    signature: 'static void crl_akid_check(X509_STORE_CTX *ctx, X509_CRL *crl, X509
      **pissuer, int *pcrl_score) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctm
    argTypes:
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1853
    functionName: X509_cmp_current_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_cmp_time
    linkageType: ''
    returnType: int
    signature: 'int X509_cmp_current_time(const ASN1_TIME *ctm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2179
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2179
    functionName: X509_STORE_CTX_get0_current_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_STORE_CTX_get0_current_issuer(const X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - sk
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 2526
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2526
    functionName: X509_STORE_CTX_set0_verified_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *ctx, STACK_OF(X509)
      *sk) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3333,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3342,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3336,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3345,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3340,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3346,1
    - Dst: build_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3352,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3356,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3358,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3359,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3364,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 6
    argNames:
    - target
    - certs
    - store
    - with_self_signed
    - libctx
    - propq
    argTypes:
    - X509*
    - STACK_OF(X509)*
    - X509_STORE*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 3366
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3366
    functionName: X509_build_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - ossl_x509_add_cert_new
    - ERR_raise
    - build_chain
    - ossl_x509_add_certs_new
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new_ex
    - sk_X509_num
    - X509_STORE_CTX_free
    - sk_X509_free
    - X509_STORE_CTX_set0_trusted_stack
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *X509_build_chain(X509 *target, STACK_OF(X509) *certs,
      X509_STORE *store, int with_self_signed, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: build_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:215,1
    - Dst: X509_get_pubkey_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:219,1
    - Dst: check_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:218,1
    - Dst: check_auth_level
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:217,1
    - Dst: check_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:216,1
    - Dst: X509_chain_check_suiteb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:223,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:225,1
    - Dst: internal_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:228,1
    - Dst: X509v3_asid_validate_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:237,1
    - Dst: X509v3_addr_validate_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:239,1
    - Dst: check_name_constraints
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 247
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 247
    functionName: verify_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - X509v3_addr_validate_path
    - check_extensions
    - build_chain
    - check_name_constraints
    - X509v3_asid_validate_path
    - X509_get_pubkey_parameters
    - internal_verify
    - check_id
    - check_auth_level
    - X509_chain_check_suiteb
    linkageType: ''
    returnType: int
    signature: 'static int verify_chain(X509_STORE_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:327,1
    - Dst: sk_X509_contains
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:331,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:330,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:328,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:332,1
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:334,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:334,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:335,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - sk
    - x
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509)*
    - X509*
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: find_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - ossl_x509_check_cert_time
    - X509_get0_notAfter
    - ASN1_TIME_compare
    - sk_X509_contains
    - sk_X509_value
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *find_issuer(X509_STORE_CTX *ctx, STACK_OF(X509) *sk,
      X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ok
    - e
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: null_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_callback(int ok, X509_STORE_CTX *e) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1018,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1022,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1029,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1033,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1018,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1034,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1034,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1039,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1044,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - crl
    - notify
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    - int
    constantsTouched: []
    func_position:
      end: 1053
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1053
    functionName: check_crl_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - verify_cb_crl
    - X509_CRL_get0_lastUpdate
    - X509_CRL_get0_nextUpdate
    - X509_cmp_time
    linkageType: ''
    returnType: int
    signature: 'static int check_crl_time(X509_STORE_CTX *ctx, X509_CRL *crl, int
      notify) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:936,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:956,1
    - Dst: get_crl_delta
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:953,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:982,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:983,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:996,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:991,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:997,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1001
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 1001
    functionName: check_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_value
    - X509_CRL_free
    - verify_cb_crl
    - get_crl_delta
    linkageType: ''
    returnType: int
    signature: 'static int check_cert(X509_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:362,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - issuer
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: get_issuer_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - find_issuer
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int get_issuer_sk(X509 **issuer, X509_STORE_CTX *ctx, X509
      *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2306
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2306
    functionName: X509_STORE_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_new_ex
    linkageType: ''
    returnType: X509_STORE_CTX*
    signature: 'X509_STORE_CTX *X509_STORE_CTX_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2611
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2611
    functionName: X509_STORE_CTX_get0_policy_tree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dane
    argTypes:
    - SSL_DANE*
    constantsTouched: []
    func_position:
      end: 2897
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2897
    functionName: dane_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: 'static void dane_reset(SSL_DANE *dane) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dane_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2915,1
    - Dst: dane_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2929,1
    - Dst: DANETLS_HAS_TA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2930,1
    - Dst: X509_get_pubkey_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2932,1
    - Dst: check_leaf_suiteb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2937,1
    - Dst: check_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2941,1
    - Dst: check_leaf_suiteb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2958,1
    - Dst: verify_cb_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2960,1
    - Dst: verify_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2967,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2968
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2968
    functionName: dane_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - check_leaf_suiteb
    - verify_cb_cert
    - dane_reset
    - verify_chain
    - X509_get_pubkey_parameters
    - check_id
    - DANETLS_HAS_TA
    - dane_match
    linkageType: ''
    returnType: int
    signature: 'static int dane_verify(X509_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2313,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2317,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2318
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2318
    functionName: X509_STORE_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_free(X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2616
    functionName: X509_STORE_CTX_get_explicit_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_get_explicit_policy(const X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_chain_check_suiteb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2901,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 2905
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2905
    functionName: check_leaf_suiteb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - X509_chain_check_suiteb
    linkageType: ''
    returnType: int
    signature: 'static int check_leaf_suiteb(X509_STORE_CTX *ctx, X509 *cert) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:96,1
    - Dst: X509_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:106,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - cert
    - verify_signature
    argTypes:
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: X509_self_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - ERR_raise
    - ossl_x509v3_cache_extensions
    - X509_verify
    linkageType: ''
    returnType: int
    signature: 'int X509_self_signed(X509 *cert, int verify_signature) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_likely_issued
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - x
    - issuer
    argTypes:
    - ossl_unused*
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: check_issued
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - ossl_x509_likely_issued
    linkageType: ''
    returnType: int
    signature: 'static int check_issued(ossl_unused X509_STORE_CTX *ctx, X509 *x,
      X509 *issuer) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:479,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:493,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:536,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:543,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:546,1
    - Dst: X509_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:565,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:574,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:610,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:567,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:483,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:480,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:497,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:506,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:540,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:507,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:527,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:548,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:548,1
    - Dst: X509_ALGOR_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:557,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:577,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:559,1
    - Dst: check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:583,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:455,1
    - Dst: X509_check_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:485,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:488,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:540,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:533,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:522,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:546,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:548,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:557,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:577,1
    - Dst: check_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:505,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:540,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:524,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:553,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:554,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:562,1
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:577,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:586,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 178
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 621
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 621
    functionName: check_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - sk_GENERAL_NAME_num
    - sk_X509_EXTENSION_num
    - sk_X509_num
    - check_purpose
    - X509_get_issuer_name
    - X509_get0_extensions
    - X509_NAME_entry_count
    - X509_ALGOR_cmp
    - X509_check_ca
    - X509_get_version
    - sk_X509_value
    - check_curve
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int check_extensions(X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - dane
    argTypes:
    - X509_STORE_CTX*
    - SSL_DANE*
    constantsTouched: []
    func_position:
      end: 2649
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2649
    functionName: X509_STORE_CTX_set0_dane
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:627,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:632,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:633,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - x
    - gtype
    argTypes:
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 642
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 642
    functionName: has_san_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_value
    - GENERAL_NAMES_free
    - sk_GENERAL_NAME_num
    - X509_get_ext_d2i
    linkageType: ''
    returnType: int
    signature: 'static int has_san_id(X509 *x, int gtype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2662,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2673,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2665,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2668,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - cert
    - selector
    - i2dlen
    argTypes:
    - X509*
    - uint8_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2679
    functionName: dane_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - i2d_X509
    - i2d_X509_PUBKEY
    - X509_get_X509_PUBKEY
    - ERR_raise
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *dane_i2d(X509 *cert, uint8_t selector, unsigned
      int *i2dlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1934,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1945,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1943,1
    - Dst: X509_VERIFY_PARAM_get_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1937,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - vpm
    - start
    - end
    argTypes:
    - X509_VERIFY_PARAM*
    - ASN1_TIME*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 1948
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1948
    functionName: X509_cmp_timeframe
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_get_flags
    - X509_cmp_time
    - X509_VERIFY_PARAM_get_time
    linkageType: ''
    returnType: int
    signature: 'int X509_cmp_timeframe(const X509_VERIFY_PARAM *vpm, const ASN1_TIME
      *start, const ASN1_TIME *end) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1985,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1988,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1989,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1989,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1991,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1994,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1999,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2005,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2005,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2006,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2011,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - pkey
    - chain
    argTypes:
    - EVP_PKEY*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 2013
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 2013
    functionName: X509_get_pubkey_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_num
    - X509_get0_pubkey
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_copy_parameters
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - X509_STORE_CTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2499
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2499
    functionName: X509_STORE_CTX_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - verify_cb
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE_CTX_verify_cb
    constantsTouched: []
    func_position:
      end: 2532
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2532
    functionName: X509_STORE_CTX_set_verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, X509_STORE_CTX_verify_cb
      verify_cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - flags
    - t
    argTypes:
    - X509_STORE_CTX*
    - unsigned long
    - time_t
    constantsTouched: []
    func_position:
      end: 2505
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2505
    functionName: X509_STORE_CTX_set_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_set_time
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags,
      time_t t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2537
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2537
    functionName: X509_STORE_CTX_get_verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ascii_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1897,1
    - Dst: X509_time_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1908,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1911,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1921,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 2
    argNames:
    - ctm
    - cmp_time
    argTypes:
    - ASN1_TIME*
    - time_t*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1923
    functionName: X509_cmp_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - ossl_ascii_isdigit
    - X509_time_adj
    - ASN1_TIME_free
    - ASN1_TIME_diff
    linkageType: ''
    returnType: int
    signature: 'int X509_cmp_time(const ASN1_TIME *ctm, time_t *cmp_time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1968,1
    - Dst: ASN1_UTCTIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1972,1
    - Dst: ASN1_GENERALIZEDTIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1974,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1976,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - s
    - offset_day
    - offset_sec
    - in_tm
    argTypes:
    - ASN1_TIME*
    - int
    - long
    - time_t*
    constantsTouched: []
    func_position:
      end: 1977
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1977
    functionName: X509_time_adj_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_adj
    - ASN1_UTCTIME_adj
    - ASN1_GENERALIZEDTIME_adj
    - time
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, int offset_day, long offset_sec,
      time_t *in_tm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:375,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:382,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:383,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:383,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:381,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:384,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:385,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 392
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 392
    functionName: lookup_certs_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_pop_free
    - sk_X509_num
    - X509_NAME_cmp
    - sk_X509_new_null
    - X509_add_cert
    - sk_X509_value
    - X509_get_subject_name
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'static STACK_OF(X509) *lookup_certs_sk(X509_STORE_CTX *ctx, const
      X509_NAME *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2152
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2152
    functionName: X509_STORE_CTX_set_error_depth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2157
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2157
    functionName: X509_STORE_CTX_get_current_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_STORE_CTX_get_current_cert(const X509_STORE_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_CRL_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1180,1
    - Dst: sk_X509_CRL_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1181,1
    - Dst: check_crl_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1183,1
    - Dst: check_delta_base
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1182,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - dcrl
    - pscore
    - base
    - crls
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL**
    - int*
    - X509_CRL*
    - STACK_OF(X509_CRL)*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1191
    functionName: get_delta_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_CRL_num
    - check_crl_time
    - X509_CRL_up_ref
    - check_delta_base
    - sk_X509_CRL_value
    linkageType: ''
    returnType: void
    signature: 'static void get_delta_sk(X509_STORE_CTX *ctx, X509_CRL **dcrl, int
      *pscore, X509_CRL *base, STACK_OF(X509_CRL) *crls) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1724,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1727,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1730,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1724,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1728,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1730,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1733,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1734,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - x
    - depth
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 1736
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1736
    functionName: ossl_x509_check_cert_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - X509_get0_notAfter
    - X509_get0_notBefore
    - X509_cmp_time
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_check_cert_time(X509_STORE_CTX *ctx, X509 *x, int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 2194
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2194
    functionName: X509_STORE_CTX_set_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *x) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2248,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2253,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2250,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2255,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2257,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2260,1
    - Dst: X509_TRUST_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2267,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2269,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - def_purpose
    - purpose
    - trust
    argTypes:
    - X509_STORE_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2279
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2279
    functionName: X509_STORE_CTX_purpose_inherit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_PURPOSE_get_by_id
    - ERR_raise
    - X509_PURPOSE_get0
    - X509_TRUST_get_by_id
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose,
      int purpose, int trust) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2638
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2638
    functionName: X509_STORE_CTX_get0_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_VERIFY_PARAM*
    signature: 'X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(const X509_STORE_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sk
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509_CRL)*
    constantsTouched: []
    func_position:
      end: 2199
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2199
    functionName: X509_STORE_CTX_set0_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL)
      *sk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2286,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2292,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 2301
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2301
    functionName: X509_STORE_CTX_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    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_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - X509_STORE_CTX*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 2644
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 2644
    functionName: X509_STORE_CTX_set0_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_free
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM
      *param) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:423,1
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:431,1
    - Dst: verify_cb_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:443,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - x
    - purpose
    - depth
    - must_be_ca
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 444
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 444
    functionName: check_purpose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    - X509_check_trust
    - verify_cb_cert
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose(X509_STORE_CTX *ctx, X509 *x, int purpose,
      int depth, int must_be_ca) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:772,1
    - Dst: X509_check_host
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:781,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:780,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - x
    - vpm
    argTypes:
    - X509*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 785
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 785
    functionName: check_hosts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - X509_check_host
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    linkageType: ''
    returnType: int
    signature: 'static int check_hosts(X509 *x, X509_VERIFY_PARAM *vpm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2132
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2132
    functionName: X509_STORE_CTX_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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:
    - Dst: X509_time_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - adj
    argTypes:
    - ASN1_TIME*
    - long
    constantsTouched: []
    func_position:
      end: 1953
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1953
    functionName: X509_gmtime_adj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_time_adj
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_signature_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 3450
      start: 3436
    functionDepth: 0
    functionLinenumber: 3436
    functionLinenumberEnd: 3450
    functionName: check_sig_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_get_signature_info
    linkageType: ''
    returnType: int
    signature: 'static int check_sig_level(X509_STORE_CTX *ctx, X509 *cert) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_hosts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:792,1
    - Dst: check_id_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:798,1
    - Dst: X509_check_ip
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:801,1
    - Dst: check_id_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:793,1
    - Dst: X509_check_email
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:797,1
    - Dst: check_id_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:802,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 806
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 806
    functionName: check_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_check_ip
    - X509_check_email
    - check_id_error
    - check_hosts
    linkageType: ''
    returnType: int
    signature: 'static int check_id(X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_time_adj_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - s
    - offset_sec
    - in_tm
    argTypes:
    - ASN1_TIME*
    - long
    - time_t*
    constantsTouched: []
    func_position:
      end: 1958
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1958
    functionName: X509_time_adj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_time_adj_ex
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *X509_time_adj(ASN1_TIME *s, long offset_sec, time_t *in_tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2137
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2137
    functionName: X509_STORE_CTX_get_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_get_error(const X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - sk
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2463
    functionName: X509_STORE_CTX_set0_trusted_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509)
      *sk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2480,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2485,1
    - Dst: X509_policy_tree_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2483,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2487,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2489
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2489
    functionName: X509_STORE_CTX_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_pop_free
    - X509_policy_tree_free
    - X509_VERIFY_PARAM_free
    - CRYPTO_free_ex_data
    - memset
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2589
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2589
    functionName: X509_STORE_CTX_get_check_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2601
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2601
    functionName: X509_STORE_CTX_get_lookup_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: DANETLS_HAS_TA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2833,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2841,1
    - Dst: dane_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2842,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2850
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2850
    functionName: check_dane_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_value
    - DANETLS_HAS_TA
    - dane_match
    linkageType: ''
    returnType: int
    signature: 'static int check_dane_issuer(X509_STORE_CTX *ctx, int depth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2494
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2494
    functionName: X509_STORE_CTX_set_depth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2595
      start: 2591
    functionDepth: 0
    functionLinenumber: 2591
    functionLinenumberEnd: 2595
    functionName: X509_STORE_CTX_get_lookup_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2606
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2606
    functionName: X509_STORE_CTX_get_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2857,1
    - Dst: sk_danetls_record_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2862,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2870,1
    - Dst: sk_danetls_record_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2858,1
    - Dst: X509_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2866,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2879,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2881,1
    - Dst: sk_X509_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2881,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2887
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2887
    functionName: check_dane_pkeys
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_free
    - sk_X509_num
    - sk_danetls_record_value
    - X509_verify
    - sk_X509_pop
    - sk_danetls_record_num
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int check_dane_pkeys(X509_STORE_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1491,1
    - Dst: get_crl_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1495,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1492,1
    - Dst: get_crl_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1507,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1509,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - pcrl
    - pdcrl
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL**
    - X509_CRL**
    - X509*
    constantsTouched: []
    func_position:
      end: 1522
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1522
    functionName: get_crl_delta
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_CRL_pop_free
    - get_crl_sk
    - X509_get_issuer_name
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int get_crl_delta(X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL
      **pdcrl, X509 *x) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1612,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1621,1
    - Dst: X509_CRL_get0_by_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1618,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - crl
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    - X509*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1626
    functionName: cert_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - verify_cb_crl
    - X509_CRL_get0_by_cert
    linkageType: ''
    returnType: int
    signature: 'static int cert_crl(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 2162
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2162
    functionName: X509_STORE_CTX_set_current_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2167
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2167
    functionName: X509_STORE_CTX_get0_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *X509_STORE_CTX_get0_chain(const X509_STORE_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_DIST_POINT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1464,1
    - Dst: sk_DIST_POINT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1465,1
    - Dst: idp_check_dp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1469,1
    - Dst: crldp_check_crlissuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1467,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - x
    - crl
    - crl_score
    - preasons
    argTypes:
    - X509*
    - X509_CRL*
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1477
    functionName: crl_crldp_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_DIST_POINT_value
    - sk_DIST_POINT_num
    - crldp_check_crlissuer
    - idp_check_dp
    linkageType: ''
    returnType: int
    signature: 'static int crl_crldp_check(X509 *x, X509_CRL *crl, int crl_score,
      unsigned int *preasons) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1530,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1542,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1540,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1545,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1559,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1563,1
    - Dst: check_crl_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1567,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1568,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1572,1
    - Dst: check_crl_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1577,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1581,1
    - Dst: X509_CRL_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1592,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1589,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1593,1
    - Dst: X509_CRL_check_suiteb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1587,1
    - Dst: verify_cb_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1583,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 2
    argNames:
    - ctx
    - crl
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1597
    functionName: check_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - check_crl_time
    - sk_X509_num
    - X509_get0_pubkey
    - X509_CRL_check_suiteb
    - verify_cb_crl
    - X509_CRL_verify
    - check_crl_path
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int check_crl(X509_STORE_CTX *ctx, X509_CRL *crl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:252,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:255,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:256,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: X509_STORE_CTX_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_value
    - sk_X509_num
    - X509_verify_cert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_verify(X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_purpose_inherit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - purpose
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2209
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2209
    functionName: X509_STORE_CTX_set_purpose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_purpose_inherit
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2324,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2327,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2415,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2413,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2350,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2422,1
    - Dst: X509_STORE_CTX_set_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2425,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2433,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2434,1
    - Dst: X509_PURPOSE_get_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2437,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2450,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2440,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2443,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 106
    argCount: 4
    argNames:
    - ctx
    - store
    - x509
    - chain
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE*
    - X509*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 2452
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2452
    functionName: X509_STORE_CTX_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_inherit
    - ERR_raise
    - CRYPTO_new_ex_data
    - X509_PURPOSE_get0
    - memset
    - X509_PURPOSE_get_trust
    - X509_STORE_CTX_set_default
    - X509_STORE_CTX_cleanup
    - X509_PURPOSE_get_by_id
    - X509_VERIFY_PARAM_new
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509
      *x509, STACK_OF(X509) *chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2510
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2510
    functionName: X509_STORE_CTX_get0_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - verify
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE_CTX_verify_fn
    constantsTouched: []
    func_position:
      end: 2543
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 2543
    functionName: X509_STORE_CTX_set_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, X509_STORE_CTX_verify_fn
      verify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2554
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2554
    functionName: X509_STORE_CTX_get_get_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2566
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2566
    functionName: X509_STORE_CTX_get_check_revocation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2577
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2577
    functionName: X509_STORE_CTX_get_check_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:265,1
    - Dst: CB_FAIL_IF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:291,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:284,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:279,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:269,1
    - Dst: check_key_level
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:291,1
    - Dst: DANETLS_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:294,1
    - Dst: dane_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:294,1
    - Dst: verify_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 304
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 304
    functionName: X509_verify_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - CB_FAIL_IF
    - ossl_x509_add_cert_new
    - ERR_raise
    - DANETLS_ENABLED
    - verify_chain
    - check_key_level
    - dane_verify
    linkageType: ''
    returnType: int
    signature: 'int X509_verify_cert(X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_purpose_inherit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - trust
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2218
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2218
    functionName: X509_STORE_CTX_set_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_purpose_inherit
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2515
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2515
    functionName: X509_STORE_CTX_get0_untrusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *X509_STORE_CTX_get0_untrusted(const X509_STORE_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2548
    functionName: X509_STORE_CTX_get_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2560
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2560
    functionName: X509_STORE_CTX_get_check_issued
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2571
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2571
    functionName: X509_STORE_CTX_get_get_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2583
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2583
    functionName: X509_STORE_CTX_get_cert_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:121,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:127,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:123,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:122,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:128,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:129,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:135,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - result
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 142
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 142
    functionName: lookup_cert_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_cmp
    - ERR_pop_to_mark
    - sk_X509_pop_free
    - sk_X509_num
    - X509_up_ref
    - ERR_set_mark
    - sk_X509_value
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int lookup_cert_match(X509 **result, X509_STORE_CTX *ctx, X509
      *x) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_CRL_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1065,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1075,1
    - Dst: sk_X509_CRL_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1066,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1075,1
    - Dst: get_crl_score
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1068,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1076,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1092,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1097,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1098,1
    - Dst: get_delta_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1100,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 7
    argNames:
    - ctx
    - pcrl
    - pdcrl
    - pissuer
    - pscore
    - preasons
    - crls
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL**
    - X509_CRL**
    - X509**
    - int*
    - unsigned int*
    - STACK_OF(X509_CRL)*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1107
    functionName: get_crl_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_CRL_num
    - X509_CRL_get0_lastUpdate
    - get_crl_score
    - X509_CRL_free
    - X509_CRL_up_ref
    - get_delta_sk
    - ASN1_TIME_diff
    - sk_X509_CRL_value
    linkageType: ''
    returnType: int
    signature: 'static int get_crl_sk(X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL
      **pdcrl, X509 **pissuer, int *pscore, unsigned int *preasons, STACK_OF(X509_CRL)
      *crls) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2028,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2044,1
    - Dst: X509_CRL_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2058,1
    - Dst: X509_CRL_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2064,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2052,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2067,1
    - Dst: X509_CRL_set1_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2070,1
    - Dst: X509_CRL_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2084,1
    - Dst: X509_REVOKED_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2103,1
    - Dst: X509_CRL_add0_revoked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2033,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2039,1
    - Dst: crl_extension_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2047,1
    - Dst: X509_CRL_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2063,1
    - Dst: X509_CRL_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2067,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2059,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2072,1
    - Dst: X509_CRL_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2076,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2091,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2093,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2037,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2038,1
    - Dst: crl_extension_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2043,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2053,1
    - Dst: X509_CRL_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2057,1
    - Dst: X509_CRL_set1_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2072,1
    - Dst: X509_CRL_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2083,1
    - Dst: X509_CRL_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2086,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2096,1
    - Dst: X509_CRL_get0_by_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2102,1
    - Dst: X509_CRL_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2113,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2025,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2037,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2048,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2070,1
    - Dst: X509_REVOKED_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2119,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2120,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 91
    argCount: 5
    argNames:
    - base
    - newer
    - skey
    - md
    - flags
    argTypes:
    - X509_CRL*
    - X509_CRL*
    - EVP_PKEY*
    - EVP_MD*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2122
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2122
    functionName: X509_CRL_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_CRL_get0_by_serial
    - X509_CRL_add_ext
    - X509_CRL_get0_lastUpdate
    - X509_CRL_set1_lastUpdate
    - X509_CRL_set1_nextUpdate
    - X509_CRL_add0_revoked
    - X509_CRL_new_ex
    - sk_X509_REVOKED_value
    - STACK_OF
    - X509_NAME_cmp
    - X509_CRL_add1_ext_i2d
    - sk_X509_REVOKED_num
    - X509_CRL_get0_nextUpdate
    - X509_REVOKED_dup
    - X509_CRL_free
    - X509_CRL_set_issuer_name
    - X509_CRL_verify
    - X509_CRL_set_version
    - X509_CRL_get_ext
    - ERR_raise
    - X509_CRL_get_REVOKED
    - X509_CRL_get_ext_count
    - ASN1_INTEGER_cmp
    - X509_REVOKED_free
    - crl_extension_match
    - X509_CRL_sign
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, EVP_PKEY
      *skey, const EVP_MD *md, unsigned int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - idx
    - data
    argTypes:
    - X509_STORE_CTX*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2127
    functionName: X509_STORE_CTX_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    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: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1360,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1363,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1361,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1361,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - cert_path
    - crl_path
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509)*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1364
    functionName: check_crl_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - X509_cmp
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int check_crl_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *cert_path,
      STACK_OF(X509) *crl_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2184
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2184
    functionName: X509_STORE_CTX_get0_current_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *X509_STORE_CTX_get0_current_crl(const X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2621
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2621
    functionName: X509_STORE_CTX_get_num_untrusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_get_num_untrusted(const X509_STORE_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3411,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3420,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 3427
      start: 3409
    functionDepth: 0
    functionLinenumber: 3409
    functionLinenumberEnd: 3427
    functionName: check_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - EVP_PKEY_get_id
    - EVP_PKEY_get_int_param
    linkageType: ''
    returnType: int
    signature: 'static int check_curve(X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2189
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2189
    functionName: X509_STORE_CTX_get0_parent_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX*
    signature: 'X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(const X509_STORE_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2627,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2629,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - X509_STORE_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 2633
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2633
    functionName: X509_STORE_CTX_set_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - X509_VERIFY_PARAM_inherit
    - X509_VERIFY_PARAM_lookup
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - x
    - depth
    - err
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: verify_cb_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int verify_cb_cert(X509_STORE_CTX *ctx, X509 *x, int depth,
      int err) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1116,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1125,1
    - Dst: X509_CRL_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1122,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1120,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1122,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1127,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1129,1
    - Dst: X509_CRL_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1129,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - a
    - b
    - nid
    argTypes:
    - X509_CRL*
    - X509_CRL*
    - int
    constantsTouched: []
    func_position:
      end: 1139
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1139
    functionName: crl_extension_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_CRL_get_ext
    - X509_CRL_get_ext_by_NID
    - ASN1_OCTET_STRING_cmp
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: int
    signature: 'static int crl_extension_match(X509_CRL *a, X509_CRL *b, int nid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1326,1
    - Dst: check_crl_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1342,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1331,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1344,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:1337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1346
    functionName: check_crl_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_init
    - X509_verify_cert
    - X509_STORE_CTX_cleanup
    - check_crl_chain
    - X509_STORE_CTX_set0_param
    linkageType: ''
    returnType: int
    signature: 'static int check_crl_path(X509_STORE_CTX *ctx, X509 *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3381,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:3400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 3401
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3401
    functionName: check_key_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - EVP_PKEY_get_security_bits
    linkageType: ''
    returnType: int
    signature: 'static int check_key_level(X509_STORE_CTX *ctx, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2142
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2142
    functionName: X509_STORE_CTX_set_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2147
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2147
    functionName: X509_STORE_CTX_get_error_depth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_CTX_get_error_depth(const X509_STORE_CTX *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_danetls_record_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2744,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2760,1
    - Dst: dane_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2761,1
    - Dst: sk_danetls_record_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2746,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2747,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2794,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2807,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2808,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2813,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2815,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:2822,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 3
    argNames:
    - ctx
    - cert
    - depth
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 2824
      start: 2684
    functionDepth: 0
    functionLinenumber: 2684
    functionLinenumberEnd: 2824
    functionName: dane_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - memcmp
    - dane_i2d
    - OPENSSL_free
    - X509_up_ref
    - sk_danetls_record_value
    - EVP_Digest
    - DANETLS_USAGE_BIT
    - sk_danetls_record_num
    linkageType: ''
    returnType: int
    signature: 'static int dane_match(X509_STORE_CTX *ctx, X509 *cert, int depth) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:914,1
    - Dst: check_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 928
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 928
    functionName: check_revocation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - check_cert
    linkageType: ''
    returnType: int
    signature: 'static int check_revocation(X509_STORE_CTX *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:815,1
    - Dst: check_dane_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:823,1
    - Dst: X509_check_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:836,1
    - Dst: DANETLS_HAS_TA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:822,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:835,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:861,1
    - Dst: lookup_cert_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:862,1
    - Dst: X509_check_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:872,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:874,1
    - Dst: sk_X509_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:879,1
    - Dst: DANETLS_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:896,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:880,1
    - Dst: verify_cb_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c:892,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 51
    argCount: 2
    argNames:
    - ctx
    - num_untrusted
    argTypes:
    - X509_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 904
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 904
    functionName: check_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_vfy.c
    functionUses: []
    functionsReached:
    - X509_free
    - sk_X509_set
    - sk_X509_num
    - X509_check_trust
    - verify_cb_cert
    - check_dane_issuer
    - sk_X509_value
    - DANETLS_ENABLED
    - lookup_cert_match
    - DANETLS_HAS_TA
    linkageType: ''
    returnType: int
    signature: 'static int check_trust(X509_STORE_CTX *ctx, int num_untrusted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: X509_PURPOSE_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - sk_X509_PURPOSE_value
    linkageType: ''
    returnType: X509_PURPOSE*
    signature: 'X509_PURPOSE *X509_PURPOSE_get0(int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:225,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:228,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509_PURPOSE*
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: xptable_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void xptable_free(X509_PURPOSE *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: X509_PURPOSE_get_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_PURPOSE_get_id(const X509_PURPOSE *xp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:312,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:335,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:334,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:343,1
    - Dst: DIST_POINT_set_dpname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:344,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - x
    - dp
    argTypes:
    - X509*
    - DIST_POINT*
    constantsTouched: []
    func_position:
      end: 345
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 345
    functionName: setup_dp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_num
    - X509_get_issuer_name
    - DIST_POINT_set_dpname
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: int
    signature: 'static int setup_dp(const X509 *x, DIST_POINT *dp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: check_ssl_ca
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - check_ca
    linkageType: ''
    returnType: int
    signature: 'static int check_ssl_ca(const X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: check_purpose_ocsp_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - check_ca
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_ocsp_helper(const X509_PURPOSE *xp, const
      X509 *x, int require_ca) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:857,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:877,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:878,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:875,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 883
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 883
    functionName: check_purpose_timestamp_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_get_ext_by_NID
    - X509_EXTENSION_get_critical
    - check_ca
    - X509_get_ext
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_timestamp_sign(const X509_PURPOSE *xp, const
      X509 *x, int require_ca) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:127,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:129,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - sname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: X509_PURPOSE_get_by_sname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_PURPOSE_get_count
    - strcmp
    - X509_PURPOSE_get0
    linkageType: ''
    returnType: int
    signature: 'int X509_PURPOSE_get_by_sname(const char *sname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: X509_PURPOSE_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - sk_X509_PURPOSE_pop_free
    linkageType: ''
    returnType: void
    signature: 'void X509_PURPOSE_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: X509_PURPOSE_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:295,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:300,1
    - Dst: OBJ_bsearch_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:300,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: X509_supported_extension
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_EXTENSION_get_object
    - OSSL_NELEM
    - OBJ_bsearch_nid
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int X509_supported_extension(X509_EXTENSION *ex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:716,1
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:721,1
    - Dst: check_ssl_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:719,1
    - Dst: ns_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 727
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 727
    functionName: check_purpose_ssl_client
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ku_reject
    - xku_reject
    - ns_reject
    - check_ssl_ca
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_ssl_client(const X509_PURPOSE *xp, const
      X509 *x, int require_ca) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:740,1
    - Dst: check_ssl_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:743,1
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:747,1
    - Dst: ns_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: check_purpose_ssl_server
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ns_reject
    - xku_reject
    - ku_reject
    - check_ssl_ca
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_ssl_server(const X509_PURPOSE *xp, const
      X509 *x, int require_ca) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: no_check_purpose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int no_check_purpose(const X509_PURPOSE *xp, const X509 *x,
      int require_ca) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:823,1
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:828,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 831
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 831
    functionName: check_purpose_crl_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ku_reject
    - check_ca
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_crl_sign(const X509_PURPOSE *xp, const X509
      *x, int require_ca) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - purpose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: X509_PURPOSE_get_by_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - sk_X509_PURPOSE_find
    linkageType: ''
    returnType: int
    signature: 'int X509_PURPOSE_get_by_id(int purpose) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:372,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:376,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:375,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:375,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - issuer_key
    - subject
    argTypes:
    - EVP_PKEY*
    - X509*
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: check_sig_alg_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - OBJ_nid2sn
    - EVP_PKEY_is_a
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'static int check_sig_alg_match(const EVP_PKEY *issuer_key, const X509
      *subject) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:918,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:919,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:924,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:918,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:923,1
    - Dst: X509_check_akid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:927,1
    - Dst: check_sig_alg_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:932,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 933
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 933
    functionName: ossl_x509_likely_issued
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ossl_x509v3_cache_extensions
    - X509_NAME_cmp
    - X509_get0_pubkey
    - X509_check_akid
    - X509_get_issuer_name
    - check_sig_alg_match
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_likely_issued(X509 *issuer, X509 *subject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 995
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 995
    functionName: X509_get_extension_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t X509_get_extension_flags(X509 *x) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:168,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:177,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:173,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:167,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:178,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:181,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:184,1
    - Dst: sk_X509_PURPOSE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:205,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:212,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:201,1
    - Dst: sk_X509_PURPOSE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:204,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:213,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 7
    argNames:
    - id
    - trust
    - flags
    - (*ck)
    - name
    - sname
    - arg
    argTypes:
    - int
    - int
    - int
    - int
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 217
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 217
    functionName: X509_PURPOSE_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - sk_X509_PURPOSE_new
    - OPENSSL_strdup
    - ERR_raise
    - X509_PURPOSE_get0
    - OPENSSL_free
    - X509_PURPOSE_get_by_id
    - OPENSSL_malloc
    - sk_X509_PURPOSE_push
    linkageType: ''
    returnType: int
    signature: 'int X509_PURPOSE_add(int id, int trust, int flags, int (*ck) (const
      X509_PURPOSE *, const X509 *, int), const char *name, const char *sname, void
      *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1005
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1005
    functionName: X509_get_key_usage
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t X509_get_key_usage(X509 *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:352,1
    - Dst: sk_DIST_POINT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:357,1
    - Dst: sk_DIST_POINT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:356,1
    - Dst: setup_dp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: setup_crldp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - sk_DIST_POINT_value
    - setup_dp
    - X509_get_ext_d2i
    - sk_DIST_POINT_num
    linkageType: ''
    returnType: int
    signature: 'static int setup_crldp(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_likely_issued
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:908,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 911
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 911
    functionName: X509_check_issued
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ossl_x509_signing_allowed
    - ossl_x509_likely_issued
    linkageType: ''
    returnType: int
    signature: 'int X509_check_issued(X509 *issuer, X509 *subject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_PURPOSE**
    - X509_PURPOSE**
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: xp_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int xp_cmp(const X509_PURPOSE *const *a, const X509_PURPOSE
      *const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:99,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p
    - purpose
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: X509_PURPOSE_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_PURPOSE_get_by_id
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_PURPOSE_set(int *p, int purpose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: X509_PURPOSE_get0_sname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: nid_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int nid_cmp(const int *a, const int *b) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: tsan_ld_acq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:408,1
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:420,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:412,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:443,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:460,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:470,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:446,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:564,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:588,1
    - Dst: ossl_x509_init_sig_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:617,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:592,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:554,1
    - Dst: X509_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:586,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:634,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:415,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:423,1
    - Dst: X509_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:426,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:456,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:481,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:455,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:453,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:493,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:545,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:554,1
    - Dst: setup_crldp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:572,1
    - Dst: X509_supported_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:594,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:440,1
    - Dst: PROXY_CERT_INFO_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:463,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:478,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:492,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:539,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:549,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:554,1
    - Dst: X509_check_akid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:556,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:579,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:582,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:628,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:588,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:420,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:431,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:490,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:493,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:527,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:533,1
    - Dst: check_sig_alg_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:558,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:558,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:567,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:587,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:639,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:630,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 206
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 641
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 641
    functionName: ossl_x509v3_cache_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - X509_get0_pubkey
    - tsan_ld_acq
    - X509_get_issuer_name
    - ERR_set_mark
    - check_sig_alg_match
    - X509_get_ext_d2i
    - X509_get_version
    - X509_get_subject_name
    - X509_digest
    - X509_get_ext_by_NID
    - sk_ASN1_OBJECT_pop_free
    - X509_NAME_cmp
    - sk_ASN1_OBJECT_num
    - BASIC_CONSTRAINTS_free
    - ASN1_BIT_STRING_free
    - X509_get_ext_count
    - setup_crldp
    - sk_ASN1_OBJECT_value
    - OBJ_obj2nid
    - EVP_sha1
    - X509_supported_extension
    - PROXY_CERT_INFO_EXTENSION_free
    - ERR_pop_to_mark
    - ERR_raise
    - X509_get_ext
    - X509_check_akid
    - ossl_x509_init_sig_info
    - X509_EXTENSION_get_object
    - X509_EXTENSION_get_critical
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509v3_cache_extensions(X509 *x) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:770,1
    - Dst: check_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:774,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - x
    - require_ca
    argTypes:
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 792
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 792
    functionName: purpose_smime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - xku_reject
    - check_ca
    linkageType: ''
    returnType: int
    signature: 'static int purpose_smime(const X509 *x, int require_ca) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:945,1
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:947,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 950
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 950
    functionName: ossl_x509_signing_allowed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ku_reject
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_signing_allowed(const X509 *issuer, const X509 *subject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1047
    functionName: X509_get0_authority_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *X509_get0_authority_serial(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: X509_PURPOSE_get_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - sk_X509_PURPOSE_num
    linkageType: ''
    returnType: int
    signature: 'int X509_PURPOSE_get_count(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: X509_PURPOSE_get_trust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_PURPOSE_get_trust(const X509_PURPOSE *xp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:959,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:963,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:963,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:977,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:978,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:984,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:984,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 2
    argNames:
    - issuer
    - akid
    argTypes:
    - X509*
    - AUTHORITY_KEYID*
    constantsTouched: []
    func_position:
      end: 988
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 988
    functionName: X509_check_akid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    - X509_get_issuer_name
    - ASN1_OCTET_STRING_cmp
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: int
    signature: 'int X509_check_akid(const X509 *issuer, const AUTHORITY_KEYID *akid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1052,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1056
    functionName: X509_get_pathlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: long
    signature: 'long X509_get_pathlen(X509 *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_purpose_ssl_server
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:758,1
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 765
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 765
    functionName: check_purpose_ns_ssl_server
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - check_purpose_ssl_server
    - ku_reject
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_ns_ssl_server(const X509_PURPOSE *xp, const
      X509 *x, int require_ca) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:658,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 678
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 678
    functionName: check_ca
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ku_reject
    linkageType: ''
    returnType: int
    signature: 'static int check_ca(const X509 *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - l
    argTypes:
    - X509*
    - long
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: X509_set_proxy_pathlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_set_proxy_pathlen(X509 *x, long l) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: purpose_smime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:798,1
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 804
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 804
    functionName: check_purpose_smime_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ku_reject
    - purpose_smime
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_smime_sign(const X509_PURPOSE *xp, const
      X509 *x, int require_ca) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1015
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1015
    functionName: X509_get_extended_key_usage
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t X509_get_extended_key_usage(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1031
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1031
    functionName: X509_get0_authority_key_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:682,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 686
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 686
    functionName: X509_set_proxy_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: void
    signature: 'void X509_set_proxy_flag(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:696,1
    - Dst: check_ca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: X509_check_ca
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - check_ca
    - ossl_x509v3_cache_extensions
    linkageType: ''
    returnType: int
    signature: 'int X509_check_ca(X509 *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: purpose_smime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:810,1
    - Dst: ku_reject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - xp
    - x
    - require_ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 816
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 816
    functionName: check_purpose_smime_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - ku_reject
    - purpose_smime
    linkageType: ''
    returnType: int
    signature: 'static int check_purpose_smime_encrypt(const X509_PURPOSE *xp, const
      X509 *x, int require_ca) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1023
    functionName: X509_get0_subject_key_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1039
    functionName: X509_get0_authority_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: GENERAL_NAMES*
    signature: 'const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:1061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1065
    functionName: X509_get_proxy_pathlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: long
    signature: 'long X509_get_proxy_pathlen(X509 *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:85,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:93,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - x
    - id
    - require_ca
    argTypes:
    - X509*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: X509_check_purpose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_purp.c
    functionUses: []
    functionsReached:
    - X509_PURPOSE_get_by_id
    - ossl_x509v3_cache_extensions
    - X509_PURPOSE_get0
    linkageType: ''
    returnType: int
    signature: 'int X509_check_purpose(X509 *x, int id, int require_ca) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:69,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:75,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:73,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:74,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:71,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - method
    - pci
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - PROXY_CERT_INFO_EXTENSION*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: i2r_pci
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_puts
    - i2a_ASN1_OBJECT
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'static int i2r_pci(X509V3_EXT_METHOD *method, PROXY_CERT_INFO_EXTENSION
      *pci, BIO *out, int indent) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:250,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:261,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:263,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:267,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:269,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:289,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:285,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:272,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:318,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:254,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:311,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:253,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:249,1
    - Dst: process_pci_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:276,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:291,1
    - Dst: process_pci_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:269,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:310,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:313,1
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:248,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:264,1
    - Dst: PROXY_CERT_INFO_EXTENSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:296,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:298,1
    - Dst: PROXY_CERT_INFO_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:315,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 320
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 320
    functionName: r2i_pci
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c
    functionUses: []
    functionsReached:
    - PROXY_CERT_INFO_EXTENSION_new
    - ERR_raise
    - sk_CONF_VALUE_pop_free
    - X509V3_section_free
    - OBJ_obj2nid
    - process_pci_value
    - ASN1_OBJECT_free
    - sk_CONF_VALUE_num
    - X509V3_conf_err
    - sk_CONF_VALUE_value
    - ASN1_OCTET_STRING_free
    - PROXY_CERT_INFO_EXTENSION_free
    - X509V3_get_section
    - X509V3_parse_list
    - ASN1_INTEGER_free
    - STACK_OF
    linkageType: ''
    returnType: PROXY_CERT_INFO_EXTENSION*
    signature: 'static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx, char *value) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:96,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:98,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:103,1
    - Dst: X509V3_get_value_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:108,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:126,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:120,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:135,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:139,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:214,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:225,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:97,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:131,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:110,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:160,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:175,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:180,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:192,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:193,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:202,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:219,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:167,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:198,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:232,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:90,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:152,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:153,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:178,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:179,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:189,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:196,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:224,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:220,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:215,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:92,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:101,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:105,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:121,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:128,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:118,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:144,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:156,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:162,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c:163,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 132
    argCount: 4
    argNames:
    - val
    - language
    - pathlen
    - policy
    argTypes:
    - CONF_VALUE*
    - ASN1_OBJECT**
    - ASN1_INTEGER**
    - ASN1_OCTET_STRING**
    constantsTouched: []
    func_position:
      end: 236
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 236
    functionName: process_pci_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pci.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_free_all
    - ERR_raise
    - strcmp
    - ASN1_OCTET_STRING_new
    - OPENSSL_realloc
    - memcpy
    - X509V3_conf_err
    - OPENSSL_free
    - BIO_read
    - OBJ_txt2obj
    - strncmp
    - ASN1_OCTET_STRING_free
    - OPENSSL_hexstr2buf
    - BIO_should_retry
    - X509V3_get_value_int
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int process_pci_value(CONF_VALUE *val, ASN1_OBJECT **language,
      ASN1_INTEGER **pathlen, ASN1_OCTET_STRING **policy) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_POLICY_MAPPING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:28,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:35,1
    - Dst: sk_POLICY_MAPPING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:33,1
    - Dst: sk_POLICY_MAPPING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:32,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:36,1
    - Dst: ossl_policy_cache_find_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:42,1
    - Dst: ossl_policy_data_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:49,1
    - Dst: sk_X509_POLICY_DATA_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:60,1
    - Dst: ossl_policy_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:61,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:66,1
    - Dst: sk_POLICY_MAPPING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c:75,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - x
    - maps
    argTypes:
    - X509*
    - POLICY_MAPPINGS*
    constantsTouched: []
    func_position:
      end: 78
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 78
    functionName: ossl_policy_cache_set_mapping
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/pcy_map.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - ossl_policy_data_free
    - sk_ASN1_OBJECT_push
    - sk_POLICY_MAPPING_pop_free
    - ossl_policy_data_new
    - sk_X509_POLICY_DATA_push
    - ossl_policy_cache_find_data
    - sk_POLICY_MAPPING_num
    - sk_POLICY_MAPPING_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:488,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:491,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 10
    argCount: 4
    argNames:
    - (*crl_init)
    - (*crl_free)
    - (*crl_lookup)
    - (*crl_verify)
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 500
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 500
    functionName: X509_CRL_METHOD_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: X509_CRL_METHOD*
    signature: 'X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl),
      int (*crl_free) (X509_CRL *crl), int (*crl_lookup) (X509_CRL *crl, X509_REVOKED
      **ret, const ASN1_INTEGER *ser, const X509_NAME *issuer), int (*crl_verify)
      (X509_CRL *crl, EVP_PKEY *pk)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - dat
    argTypes:
    - X509_CRL*
    - void*
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: X509_CRL_set_meth_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_CRL_set_meth_data(X509_CRL *crl, void *dat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - X509_CRL_METHOD*
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: X509_CRL_METHOD_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void X509_CRL_METHOD_free(X509_CRL_METHOD *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: X509_CRL_get_meth_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *X509_CRL_get_meth_data(X509_CRL *crl) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:172,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:235,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:209,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:238,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:276,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:169,1
    - Dst: X509_CRL_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:190,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:234,1
    - Dst: crl_set_issuers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:249,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:265,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:267,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:269,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:170,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:190,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:192,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:214,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:232,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:235,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:203,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:266,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:268,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:270,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:159,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:171,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:173,1
    - Dst: setup_idp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:196,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 98
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 282
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 282
    functionName: crl_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - setup_idp
    - X509_CRL_digest
    - OBJ_obj2nid
    - sk_X509_EXTENSION_num
    - crl_set_issuers
    - OPENSSL_free
    - sk_GENERAL_NAMES_pop_free
    - EVP_sha1
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - X509_EXTENSION_get_critical
    - ossl_x509_crl_set0_libctx
    - AUTHORITY_KEYID_free
    - X509_CRL_get_ext_d2i
    - ISSUING_DIST_POINT_free
    - ASN1_INTEGER_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int crl_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:399,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: def_crl_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_verify_ex
    linkageType: ''
    returnType: int
    signature: 'static int def_crl_verify(X509_CRL *crl, EVP_PKEY *r) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:412,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:420,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:418,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:421,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:412,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - crl
    - nm
    - rev
    argTypes:
    - X509_CRL*
    - X509_NAME*
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 429
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 429
    functionName: crl_revoked_issuer_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: 'static int crl_revoked_issuer_match(X509_CRL *crl, const X509_NAME
      *nm, X509_REVOKED *rev) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:524,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509_CRL*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 533
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 533
    functionName: ossl_x509_crl_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_crl_set0_libctx(X509_CRL *x, OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_REVOKED_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:364,1
    - Dst: sk_X509_REVOKED_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:365,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - crl
    - rev
    argTypes:
    - X509_CRL*
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: X509_CRL_add0_revoked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    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: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - crl
    - ret
    - serial
    argTypes:
    - X509_CRL*
    - X509_REVOKED**
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: X509_CRL_get0_by_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret, const
      ASN1_INTEGER *serial) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_REVOKED_is_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:445,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:446,1
    - Dst: sk_X509_REVOKED_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:448,1
    - Dst: sk_X509_REVOKED_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:452,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:449,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:456,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:457,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:458,1
    - Dst: crl_revoked_issuer_match
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:460,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - crl
    - ret
    - serial
    - issuer
    argTypes:
    - X509_CRL*
    - X509_REVOKED**
    - ASN1_INTEGER*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 469
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 469
    functionName: def_crl_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - crl_revoked_issuer_match
    - sk_X509_REVOKED_num
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ASN1_INTEGER_cmp
    - sk_X509_REVOKED_is_sorted
    - sk_X509_REVOKED_sort
    - sk_X509_REVOKED_find
    - sk_X509_REVOKED_value
    linkageType: ''
    returnType: int
    signature: 'static int def_crl_lookup(X509_CRL *crl, X509_REVOKED **ret, const
      ASN1_INTEGER *serial, const X509_NAME *issuer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: X509_CRL_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:393,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - crl
    - ret
    - x
    argTypes:
    - X509_CRL*
    - X509_REVOKED**
    - X509*
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: X509_CRL_get0_by_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - X509_get_issuer_name
    - X509_get0_serialNumber
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509
      *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - meth
    argTypes:
    - X509_CRL_METHOD*
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: X509_CRL_set_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_CRL_set_default_method(const X509_CRL_METHOD *meth) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DIST_POINT_set_dpname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:320,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:320,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - crl
    - idp
    argTypes:
    - X509_CRL*
    - ISSUING_DIST_POINT*
    constantsTouched: []
    func_position:
      end: 321
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 321
    functionName: setup_idp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - DIST_POINT_set_dpname
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: 'static int setup_idp(X509_CRL *crl, ISSUING_DIST_POINT *idp) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:86,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:88,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:93,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:91,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:92,1
    - Dst: X509_REVOKED_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:96,1
    - Dst: sk_GENERAL_NAMES_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:106,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:108,1
    - Dst: sk_GENERAL_NAMES_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:112,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:113,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:126,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:136,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:138,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:127,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:135,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:137,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:138,1
    - Dst: X509_REVOKED_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:119,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 149
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 149
    functionName: crl_set_issuers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAMES_new_null
    - sk_X509_REVOKED_num
    - X509_CRL_get_REVOKED
    - sk_GENERAL_NAMES_push
    - ASN1_ENUMERATED_get
    - sk_X509_EXTENSION_num
    - OBJ_obj2nid
    - X509_REVOKED_get_ext_d2i
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - ASN1_ENUMERATED_free
    - X509_EXTENSION_get_critical
    - GENERAL_NAMES_free
    - sk_X509_REVOKED_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int crl_set_issuers(X509_CRL *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:333,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:342,1
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:335,1
    - Dst: X509_REVOKED_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:339,1
    - Dst: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - X509_REVOKED
    argTypes:
    - X509_REVOKED
    constantsTouched: []
    func_position:
      end: 344
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 344
    functionName: IMPLEMENT_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - IMPLEMENT_ASN1_FUNCTIONS
    - X509_REVOKED_cmp
    - IMPLEMENT_ASN1_DUP_FUNCTION
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(X509_REVOKED)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(X509_REVOKED) IMPLEMENT_ASN1_DUP_FUNCTION(X509_REVOKED)IMPLEMENT_ASN1_FUNCTIONS(X509_CRL_INFO)IMPLEMENT_ASN1_FUNCTIONS(X509_CRL)IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL)static
      int X509_REVOKED_cmp(const X509_REVOKED *const *a, const X509_REVOKED *const
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:350,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:351,1
    - Dst: X509_CRL_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:350,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: X509_CRL_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - ossl_x509_crl_set0_libctx
    - ASN1_item_new
    - X509_CRL_free
    - X509_CRL_it
    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_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: crl_inf_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_crl.c
    functionUses: []
    functionsReached:
    - sk_X509_REVOKED_set_cmp_func
    linkageType: ''
    returnType: int
    signature: 'static int crl_inf_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:169,1
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:171,1
    - Dst: ASIdentifierChoice_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - asid
    - which
    argTypes:
    - ASIdentifiers*
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: X509v3_asid_add_inherit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - ASN1_NULL_new
    - ASIdentifierChoice_free
    - ASIdentifierChoice_new
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_add_inherit(ASIdentifiers *asid, int which) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2r_ASIdentifierChoice
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:113,1
    - Dst: i2r_ASIdentifierChoice
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - method
    - ext
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: i2r_ASIdentifiers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - i2r_ASIdentifierChoice
    linkageType: ''
    returnType: int
    signature: 'static int i2r_ASIdentifiers(const X509V3_EXT_METHOD *method, void
      *ext, BIO *out, int indent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - aor
    - min
    - max
    argTypes:
    - ASIdOrRange*
    - ASN1_INTEGER**
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: extract_min_max
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'static int extract_min_max(ASIdOrRange *aor, ASN1_INTEGER **min, ASN1_INTEGER
      **max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:358,1
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: X509v3_asid_is_canonical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - ASIdentifierChoice_is_canonical
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_is_canonical(ASIdentifiers *asid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:512,1
    - Dst: ASIdentifierChoice_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: X509v3_asid_canonize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - ASIdentifierChoice_canonize
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_canonize(ASIdentifiers *asid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: X509v3_asid_inherits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_inherits(ASIdentifiers *asid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_asid_inherits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:713,1
    - Dst: X509v3_asid_inherits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:713,1
    - Dst: asid_contains
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:725,1
    - Dst: asid_contains
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:718,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASIdentifiers*
    - ASIdentifiers*
    constantsTouched: []
    func_position:
      end: 727
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 727
    functionName: X509v3_asid_subset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - X509v3_asid_inherits
    - asid_contains
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:885,1
    - Dst: asid_validate_path_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:890,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: X509v3_asid_validate_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - asid_validate_path_internal
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_validate_path(X509_STORE_CTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:54,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:69,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:72,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:75,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:77,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:80,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:82,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:83,1
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:55,1
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:56,1
    - Dst: i2r_ASIdentifierChoice
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:61,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:90,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:86,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:92,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:88,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:89,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:93,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - ASRange
    argTypes:
    - ASRange
    constantsTouched: []
    func_position:
      end: 104
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 104
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_ASIdOrRange_num
    - i2s_ASN1_INTEGER
    - OPENSSL_free
    - sk_ASIdOrRange_value
    - IMPLEMENT_ASN1_FUNCTIONS
    - i2r_ASIdentifierChoice
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(ASIdentifiers)
    signature: 'ASN1_SEQUENCE_END(ASIdentifiers) IMPLEMENT_ASN1_FUNCTIONS(ASRange)IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange)IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice)IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers)/*
      * i2r method for an ASIdentifierChoice. */static int i2r_ASIdentifierChoice(BIO
      *out, ASIdentifierChoice *choice, int indent, const char *msg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:902,1
    - Dst: X509v3_asid_inherits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:904,1
    - Dst: asid_validate_path_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - chain
    - ext
    - allow_inheritance
    argTypes:
    - STACK_OF(X509)*
    - ASIdentifiers*
    - int
    constantsTouched: []
    func_position:
      end: 907
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 907
    functionName: X509v3_asid_validate_resource_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - X509v3_asid_inherits
    - sk_X509_num
    - asid_validate_path_internal
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_validate_resource_set(STACK_OF(X509) *chain, ASIdentifiers
      *ext, int allow_inheritance) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:204,1
    - Dst: ASIdOrRange_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:214,1
    - Dst: sk_ASIdOrRange_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:206,1
    - Dst: ASIdentifierChoice_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:208,1
    - Dst: sk_ASIdOrRange_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:216,1
    - Dst: ASRange_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:223,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:225,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:227,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:231,1
    - Dst: sk_ASIdOrRange_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:231,1
    - Dst: ASIdOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:236,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 4
    argNames:
    - asid
    - which
    - min
    - max
    argTypes:
    - ASIdentifiers*
    - int
    - ASN1_INTEGER*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 238
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 238
    functionName: X509v3_asid_add_id_or_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - sk_ASIdOrRange_reserve
    - ossl_assert
    - ASIdentifierChoice_new
    - ASRange_new
    - ASIdOrRange_new
    - sk_ASIdOrRange_new
    - sk_ASIdOrRange_push
    - ASIdentifierChoice_free
    - ASIdOrRange_free
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which, ASN1_INTEGER
      *min, ASN1_INTEGER *max) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:127,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:139,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:131,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:140,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:136,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:145,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:147,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - ASIdOrRange**
    - ASIdOrRange**
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: ASIdOrRange_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_cmp
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int ASIdOrRange_cmp(const ASIdOrRange *const *a_, const ASIdOrRange
      *const *b_) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:288,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:309,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:312,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:335,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:348,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:282,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:302,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:289,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:290,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:301,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:319,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:310,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:317,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:338,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:339,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:347,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:294,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:295,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:326,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:333,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:311,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 68
    argCount: 1
    argNames:
    - choice
    argTypes:
    - ASIdentifierChoice*
    constantsTouched: []
    func_position:
      end: 350
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 350
    functionName: ASIdentifierChoice_is_canonical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - sk_ASIdOrRange_num
    - ERR_raise
    - BN_add_word
    - ASN1_INTEGER_cmp
    - ASN1_INTEGER_to_BN
    - sk_ASIdOrRange_value
    - BN_new
    - BN_to_ASN1_INTEGER
    - BN_free
    - ASN1_INTEGER_free
    - extract_min_max
    linkageType: ''
    returnType: int
    signature: 'static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:382,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:433,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:438,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:422,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:423,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:440,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:452,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:461,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:501,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:397,1
    - Dst: sk_ASIdOrRange_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:390,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:430,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:416,1
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:495,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:483,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:396,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:398,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:402,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:403,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:409,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:415,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:431,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:432,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:447,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:451,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:488,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:383,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:409,1
    - Dst: ASIdOrRange_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:473,1
    - Dst: sk_ASIdOrRange_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:474,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:485,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:489,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:495,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:502,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 98
    argCount: 1
    argNames:
    - choice
    argTypes:
    - ASIdentifierChoice*
    constantsTouched: []
    func_position:
      end: 504
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 504
    functionName: ASIdentifierChoice_canonize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - sk_ASIdOrRange_sort
    - sk_ASIdOrRange_num
    - ERR_raise
    - ossl_assert
    - BN_add_word
    - sk_ASIdOrRange_delete
    - ASN1_INTEGER_cmp
    - ASN1_INTEGER_to_BN
    - ASIdentifierChoice_is_canonical
    - sk_ASIdOrRange_value
    - BN_new
    - BN_to_ASN1_INTEGER
    - OPENSSL_malloc
    - BN_free
    - ASN1_INTEGER_free
    - ASIdOrRange_free
    - extract_min_max
    linkageType: ''
    returnType: int
    signature: 'static int ASIdentifierChoice_canonize(ASIdentifierChoice *choice) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:532,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:545,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:550,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:560,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:573,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:583,1
    - Dst: X509v3_asid_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:626,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:632,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:528,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:544,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:557,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:580,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:581,1
    - Dst: X509v3_asid_add_inherit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:558,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:594,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:604,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:606,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:611,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:533,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:541,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:561,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:576,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:568,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:598,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:600,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:605,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:608,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:617,1
    - Dst: ASIdentifiers_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:527,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:539,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:575,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:584,1
    - Dst: X509V3_get_value_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:593,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:612,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:616,1
    - Dst: ASIdentifiers_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:631,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:633,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 96
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - struct v3_ext_method*
    - struct v3_ext_ctx*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 635
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 635
    functionName: v2i_ASIdentifiers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - ASIdentifiers_free
    - s2i_ASN1_INTEGER
    - strcmp
    - X509V3_conf_add_error_name_value
    - OPENSSL_free
    - ASIdentifiers_new
    - sk_CONF_VALUE_num
    - ASN1_INTEGER_cmp
    - X509v3_asid_add_id_or_range
    - X509v3_asid_canonize
    - sk_CONF_VALUE_value
    - X509V3_get_value_int
    - X509v3_asid_add_inherit
    - ossl_v3_name_cmp
    - ASN1_INTEGER_free
    - strspn
    linkageType: ''
    returnType: void*
    signature: 'static void *v2i_ASIdentifiers(const struct v3_ext_method *method,
      struct v3_ext_ctx *ctx, STACK_OF(CONF_VALUE) *values) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:680,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:686,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:684,1
    - Dst: extract_min_max
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:681,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:681,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:686,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:689,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:691,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - ASIdOrRanges*
    - ASIdOrRanges*
    constantsTouched: []
    func_position:
      end: 698
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 698
    functionName: asid_contains
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_cmp
    - sk_ASIdOrRange_num
    - sk_ASIdOrRange_value
    - extract_min_max
    linkageType: ''
    returnType: int
    signature: 'static int asid_contains(ASIdOrRanges *parent, ASIdOrRanges *child) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:757,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:781,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:807,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:809,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:822,1
    - Dst: asid_contains
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:846,1
    - Dst: X509v3_asid_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:819,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:859,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:757,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:776,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:839,1
    - Dst: asid_contains
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:830,1
    - Dst: X509v3_asid_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:780,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:808,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:851,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:820,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:816,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:759,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:758,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:835,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:867,1
    - Dst: validation_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c:870,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 117
    argCount: 3
    argNames:
    - ctx
    - chain
    - ext
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF(X509)*
    - ASIdentifiers*
    constantsTouched: []
    func_position:
      end: 875
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 875
    functionName: asid_validate_path_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_asid.c
    functionUses: []
    functionsReached:
    - validation_err
    - ossl_assert
    - sk_X509_num
    - asid_contains
    - sk_X509_value
    - X509v3_asid_is_canonical
    linkageType: ''
    returnType: int
    signature: 'static int asid_validate_path_internal(X509_STORE_CTX *ctx, STACK_OF(X509)
      *chain, ASIdentifiers *ext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509V3_EXT_METHOD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:27,1
    - Dst: sk_X509V3_EXT_METHOD_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509V3_EXT_METHOD*
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: X509V3_EXT_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - sk_X509V3_EXT_METHOD_push
    - sk_X509V3_EXT_METHOD_new
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_add(X509V3_EXT_METHOD *ext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:72,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:72,1
    - Dst: X509V3_EXT_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: X509V3_EXT_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - X509_EXTENSION_get_object
    - X509V3_EXT_get_nid
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509V3_EXT_METHOD*
    signature: 'const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:90,1
    - Dst: X509V3_EXT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:101,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - nid_to
    - nid_from
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: X509V3_EXT_add_alias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_get_nid
    - ERR_raise
    - OPENSSL_malloc
    - X509V3_EXT_add
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_add_alias(int nid_to, int nid_from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: X509V3_add_standard_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509V3_add_standard_extensions(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:180,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:182,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:199,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:181,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:182,1
    - Dst: X509V3_EXT_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:200,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 209
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 209
    functionName: X509V3_get_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - X509_EXTENSION_get_critical
    - X509V3_EXT_d2i
    linkageType: ''
    returnType: void*
    signature: 'void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int
      *crit, int *idx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:222,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:247,1
    - Dst: sk_X509_EXTENSION_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:244,1
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:230,1
    - Dst: X509V3_EXT_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:266,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:269,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:275,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:276,1
    - Dst: sk_X509_EXTENSION_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:277,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:284,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:295,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:301,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:296,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:286,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - STACK_OF(X509_EXTENSION)**
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 303
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 303
    functionName: X509V3_add1_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_delete
    - ERR_raise
    - X509v3_get_ext_by_NID
    - X509V3_EXT_i2d
    - sk_X509_EXTENSION_push
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_value
    - sk_X509_EXTENSION_set
    - sk_X509_EXTENSION_free
    - X509_EXTENSION_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value,
      int crit, unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - extlist
    argTypes:
    - X509V3_EXT_METHOD*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: X509V3_EXT_add_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_add
    linkageType: ''
    returnType: int
    signature: 'int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509V3_EXT_METHOD**
    - X509V3_EXT_METHOD**
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ext_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ext_cmp(const X509V3_EXT_METHOD *const *a, const X509V3_EXT_METHOD
      *const *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:60,1
    - Dst: sk_X509V3_EXT_METHOD_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:65,1
    - Dst: sk_X509V3_EXT_METHOD_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: X509V3_EXT_get_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - sk_X509V3_EXT_METHOD_find
    - sk_X509V3_EXT_METHOD_value
    - OBJ_bsearch_ext
    linkageType: ''
    returnType: X509V3_EXT_METHOD*
    signature: 'const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509V3_EXT_METHOD_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: X509V3_EXT_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509V3_EXT_METHOD*
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: ext_list_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ext_list_free(X509V3_EXT_METHOD *ext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:135,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:141,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:138,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:139,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:137,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: X509V3_EXT_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_lib.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_length
    - X509V3_EXT_get
    - ASN1_STRING_get0_data
    - ASN1_ITEM_ptr
    - ASN1_item_d2i
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: void*
    signature: 'void *X509V3_EXT_d2i(X509_EXTENSION *ext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_err.c:91,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_err.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: ossl_err_load_X509_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_X509_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_ADMISSIONS_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - as
    - a
    argTypes:
    - ADMISSION_SYNTAX*
    - STACK_OF(ADMISSIONS)*
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: ADMISSION_SYNTAX_set0_contentsOfAdmissions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - sk_ADMISSIONS_pop_free
    linkageType: ''
    returnType: void
    signature: 'void ADMISSION_SYNTAX_set0_contentsOfAdmissions(ADMISSION_SYNTAX *as,
      STACK_OF(ADMISSIONS) *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - aos
    argTypes:
    - PROFESSION_INFO*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: PROFESSION_INFO_set0_addProfessionInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: 'void PROFESSION_INFO_set0_addProfessionInfo(PROFESSION_INFO *pi, ASN1_OCTET_STRING
      *aos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - as
    argTypes:
    - PROFESSION_INFO*
    - STACK_OF(ASN1_STRING)*
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: PROFESSION_INFO_set0_professionItems
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - sk_ASN1_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: 'void PROFESSION_INFO_set0_professionItems(PROFESSION_INFO *pi, STACK_OF(ASN1_STRING)
      *as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADMISSIONS*
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: ADMISSIONS_get0_admissionAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAME*
    signature: 'const GENERAL_NAME *ADMISSIONS_get0_admissionAuthority(const ADMISSIONS
      *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: PROFESSION_INFO_get0_namingAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: NAMING_AUTHORITY*
    signature: 'const NAMING_AUTHORITY *PROFESSION_INFO_get0_namingAuthority(const
      PROFESSION_INFO *pi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: PROFESSION_INFO_get0_professionOIDs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(ASN1_OBJECT)*
    signature: 'const STACK_OF(ASN1_OBJECT) *PROFESSION_INFO_get0_professionOIDs(const
      PROFESSION_INFO *pi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_PROFESSION_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - pi
    argTypes:
    - ADMISSIONS*
    - PROFESSION_INFOS*
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: ADMISSIONS_set0_professionInfos
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - sk_PROFESSION_INFO_pop_free
    linkageType: ''
    returnType: void
    signature: 'void ADMISSIONS_set0_professionInfos(ADMISSIONS *a, PROFESSION_INFOS
      *pi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAMING_AUTHORITY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - na
    argTypes:
    - PROFESSION_INFO*
    - NAMING_AUTHORITY*
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: PROFESSION_INFO_set0_namingAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - NAMING_AUTHORITY_free
    linkageType: ''
    returnType: void
    signature: 'void PROFESSION_INFO_set0_namingAuthority(PROFESSION_INFO *pi, NAMING_AUTHORITY
      *na) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: PROFESSION_INFO_get0_addProfessionInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'const ASN1_OCTET_STRING *PROFESSION_INFO_get0_addProfessionInfo(const
      PROFESSION_INFO *pi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: PROFESSION_INFO_get0_professionItems
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(ASN1_STRING)*
    signature: 'const STACK_OF(ASN1_STRING) *PROFESSION_INFO_get0_professionItems(const
      PROFESSION_INFO *pi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - n
    - id
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: NAMING_AUTHORITY_set0_authorityId
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: 'void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n, ASN1_OBJECT*
      id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_IA5STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - n
    - t
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: NAMING_AUTHORITY_set0_authorityText
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: void
    signature: 'void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n, ASN1_STRING*
      t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAMING_AUTHORITY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - na
    argTypes:
    - ADMISSIONS*
    - NAMING_AUTHORITY*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: ADMISSIONS_set0_namingAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - NAMING_AUTHORITY_free
    linkageType: ''
    returnType: void
    signature: 'void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a, NAMING_AUTHORITY
      *na) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMING_AUTHORITY*
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: NAMING_AUTHORITY_get0_authorityURL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_IA5STRING*
    signature: 'const ASN1_IA5STRING *NAMING_AUTHORITY_get0_authorityURL( const NAMING_AUTHORITY
      *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - as
    argTypes:
    - ADMISSION_SYNTAX*
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: ADMISSION_SYNTAX_get0_admissionAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAME*
    signature: 'const GENERAL_NAME *ADMISSION_SYNTAX_get0_admissionAuthority(const
      ADMISSION_SYNTAX *as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADMISSIONS*
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: ADMISSIONS_get0_professionInfos
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROFESSION_INFOS*
    signature: 'const PROFESSION_INFOS *ADMISSIONS_get0_professionInfos(const ADMISSIONS
      *a) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:126,1
    - Dst: sk_PROFESSION_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:150,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:140,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:169,1
    - Dst: sk_ASN1_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:171,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:184,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:124,1
    - Dst: sk_ADMISSIONS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:132,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:137,1
    - Dst: sk_PROFESSION_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:176,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:185,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:125,1
    - Dst: sk_ADMISSIONS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:131,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:127,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:138,1
    - Dst: GENERAL_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:139,1
    - Dst: i2r_NAMING_AUTHORITY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:145,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:158,1
    - Dst: i2r_NAMING_AUTHORITY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:163,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:152,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:134,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:156,1
    - Dst: sk_ASN1_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:172,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:174,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:175,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:186,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:189,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:190,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 93
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - struct v3_ext_method*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 202
    functionName: i2r_ADMISSION_SYNTAX
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_ASN1_STRING_value
    - i2r_NAMING_AUTHORITY
    - sk_ASN1_OBJECT_value
    - sk_ASN1_STRING_num
    - OBJ_obj2nid
    - sk_PROFESSION_INFO_num
    - GENERAL_NAME_print
    - sk_ASN1_OBJECT_num
    - sk_ADMISSIONS_num
    - sk_ADMISSIONS_value
    - OBJ_nid2ln
    - sk_PROFESSION_INFO_value
    - OBJ_obj2txt
    - ASN1_STRING_print
    linkageType: ''
    returnType: int
    signature: 'static int i2r_ADMISSION_SYNTAX(const struct v3_ext_method *method,
      void *in, BIO *bp, int ind) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_IA5STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - n
    - u
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_IA5STRING*
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: NAMING_AUTHORITY_set0_authorityURL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: void
    signature: 'void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n, ASN1_IA5STRING*
      u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - as
    - aa
    argTypes:
    - ADMISSION_SYNTAX*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: ADMISSION_SYNTAX_set0_admissionAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_free
    linkageType: ''
    returnType: void
    signature: 'void ADMISSION_SYNTAX_set0_admissionAuthority(ADMISSION_SYNTAX *as,
      GENERAL_NAME *aa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - aa
    argTypes:
    - ADMISSIONS*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: ADMISSIONS_set0_admissionAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_free
    linkageType: ''
    returnType: void
    signature: 'void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a, GENERAL_NAME
      *aa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - po
    argTypes:
    - PROFESSION_INFO*
    - STACK_OF(ASN1_OBJECT)*
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: PROFESSION_INFO_set0_professionOIDs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    linkageType: ''
    returnType: void
    signature: 'void PROFESSION_INFO_set0_professionOIDs(PROFESSION_INFO *pi, STACK_OF(ASN1_OBJECT)
      *po) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:83,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:93,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:90,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:88,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:88,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:95,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:100,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:101,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:102,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:106,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:107,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:108,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 38
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - struct v3_ext_method*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 115
    functionName: i2r_NAMING_AUTHORITY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_obj2nid
    - OBJ_nid2ln
    - ASN1_STRING_print
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int i2r_NAMING_AUTHORITY(const struct v3_ext_method *method,
      void *in, BIO *bp, int ind) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMING_AUTHORITY*
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: NAMING_AUTHORITY_get0_authorityId
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId(const NAMING_AUTHORITY
      *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMING_AUTHORITY*
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: NAMING_AUTHORITY_get0_authorityText
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_STRING*
    signature: 'const ASN1_STRING *NAMING_AUTHORITY_get0_authorityText( const NAMING_AUTHORITY
      *n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - as
    argTypes:
    - ADMISSION_SYNTAX*
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: ADMISSION_SYNTAX_get0_contentsOfAdmissions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(ADMISSIONS)*
    signature: 'const STACK_OF(ADMISSIONS) *ADMISSION_SYNTAX_get0_contentsOfAdmissions(const
      ADMISSION_SYNTAX *as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADMISSIONS*
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: ADMISSIONS_get0_namingAuthority
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: NAMING_AUTHORITY*
    signature: 'const NAMING_AUTHORITY *ADMISSIONS_get0_namingAuthority(const ADMISSIONS
      *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: PROFESSION_INFO_get0_registrationNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_PRINTABLESTRING*
    signature: 'const ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber(const
      PROFESSION_INFO *pi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRINTABLESTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - rn
    argTypes:
    - PROFESSION_INFO*
    - ASN1_PRINTABLESTRING*
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: PROFESSION_INFO_set0_registrationNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_admis.c
    functionUses: []
    functionsReached:
    - ASN1_PRINTABLESTRING_free
    linkageType: ''
    returnType: void
    signature: 'void PROFESSION_INFO_set0_registrationNumber(PROFESSION_INFO *pi,
      ASN1_PRINTABLESTRING *rn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:25,1
    - Dst: X509_REQ_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:26,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:25,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:29,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: X509_REQ_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - X509_REQ_print
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_print_fp(FILE *fp, X509_REQ *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: X509_REQ_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c
    functionUses: []
    functionsReached:
    - X509_REQ_print_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_print(BIO *bp, X509_REQ *x) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:55,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:66,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:95,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:126,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:128,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:139,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:152,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:156,1
    - Dst: X509_REQ_get_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:166,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:168,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:206,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:186,1
    - Dst: X509_REQ_get0_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:199,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:141,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:57,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:63,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:71,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:93,1
    - Dst: X509_REQ_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:86,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:97,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:106,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:109,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:130,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:185,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:189,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:73,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:84,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:88,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:90,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:110,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:113,1
    - Dst: X509_REQ_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:120,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:121,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:170,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:178,1
    - Dst: X509_signature_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:200,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:180,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:192,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:42,1
    - Dst: X509_REQ_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:61,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:73,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:76,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:82,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:87,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:99,1
    - Dst: X509_REQ_extension_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:122,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:124,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:175,1
    - Dst: X509V3_EXT_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:183,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:184,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:181,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:134,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c:174,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 159
    argCount: 4
    argNames:
    - bp
    - x
    - nmflags
    - cflag
    argTypes:
    - BIO*
    - X509_REQ*
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 208
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 208
    functionName: X509_REQ_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_req.c
    functionUses: []
    functionsReached:
    - X509_ATTRIBUTE_get0_object
    - STACK_OF
    - BIO_printf
    - BIO_write
    - X509_NAME_print_ex
    - X509_REQ_get0_signature
    - ERR_print_errors
    - X509_REQ_get_attr_count
    - sk_X509_EXTENSION_value
    - X509_REQ_get_X509_PUBKEY
    - X509_REQ_get_version
    - EVP_PKEY_print_public
    - X509_ATTRIBUTE_count
    - X509_REQ_get_subject_name
    - OBJ_obj2nid
    - X509_REQ_get_attr
    - X509V3_EXT_print
    - X509_signature_print
    - i2a_ASN1_OBJECT
    - X509_REQ_get_extensions
    - X509_PUBKEY_get0_param
    - X509_REQ_extension_nid
    - X509_EXTENSION_get_data
    - ERR_raise
    - sk_X509_EXTENSION_pop_free
    - X509_REQ_get0_pubkey
    - sk_X509_EXTENSION_num
    - X509_EXTENSION_get_object
    - X509_ATTRIBUTE_get0_type
    - X509_EXTENSION_get_critical
    - BIO_puts
    - ASN1_STRING_print
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
      unsigned long cflag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:23,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:27,1
    - Dst: X509_CRL_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:24,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:23,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: X509_CRL_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - X509_CRL_print
    - BIO_s_file
    - BIO_new
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - BIO*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: X509_CRL_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c
    functionUses: []
    functionsReached:
    - X509_CRL_print_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_print(BIO *out, X509_CRL *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get0_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:54,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:53,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:55,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:58,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:63,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:59,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:61,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:67,1
    - Dst: X509_REVOKED_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:82,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:83,1
    - Dst: X509_CRL_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:49,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:58,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:60,1
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:61,1
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:64,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:62,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:72,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:74,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:77,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:79,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:85,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:82,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:48,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:51,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:57,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:64,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:66,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:69,1
    - Dst: X509_CRL_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:70,1
    - Dst: X509_REVOKED_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:87,1
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:84,1
    - Dst: X509_signature_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:56,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:75,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:80,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:81,1
    - Dst: X509_REVOKED_get0_revocationDate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:84,1
    - Dst: X509_signature_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:89,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - out
    - x
    - nmflag
    argTypes:
    - BIO*
    - X509_CRL*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 93
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 93
    functionName: X509_CRL_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/t_crl.c
    functionUses: []
    functionsReached:
    - X509_CRL_get0_lastUpdate
    - X509_REVOKED_get0_serialNumber
    - sk_X509_REVOKED_value
    - BIO_printf
    - X509_NAME_print_ex
    - ASN1_TIME_print
    - X509_CRL_get0_signature
    - X509_CRL_get0_extensions
    - X509_REVOKED_get0_extensions
    - X509_REVOKED_get0_revocationDate
    - i2a_ASN1_INTEGER
    - sk_X509_REVOKED_num
    - X509_CRL_get0_nextUpdate
    - X509_signature_print
    - X509V3_extensions_print
    - X509_CRL_get_REVOKED
    - BIO_puts
    - X509_CRL_get_version
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: 'int X509_CRL_print_ex(BIO *out, X509_CRL *x, unsigned long nmflag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISSUER_SIGN_TOOL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:55,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:74,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:41,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:44,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:54,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:54,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:63,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:79,1
    - Dst: ISSUER_SIGN_TOOL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:90,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:50,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:51,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:58,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:62,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:67,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:71,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:78,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:78,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:66,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:70,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:70,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:75,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:83,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 71
    argCount: 0
    argNames:
    - ISSUER_SIGN_TOOL
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 92
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_new
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - strlen
    - ISSUER_SIGN_TOOL_free
    - ASN1_STRING_set
    - ISSUER_SIGN_TOOL_new
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(ISSUER_SIGN_TOOL)
    signature: 'ASN1_SEQUENCE_END(ISSUER_SIGN_TOOL) IMPLEMENT_ASN1_FUNCTIONS(ISSUER_SIGN_TOOL)
      static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:101,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:108,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:114,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:109,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:106,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:116,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:117,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:122,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:124,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:125,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:133,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:130,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c:132,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - method
    - ist
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - ISSUER_SIGN_TOOL*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 137
    functionName: i2r_issuer_sign_tool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_ist.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int i2r_issuer_sign_tool(X509V3_EXT_METHOD *method, ISSUER_SIGN_TOOL
      *ist, BIO *out, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: X509v3_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_num
    linkageType: ''
    returnType: int
    signature: 'int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:51,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:53,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - sk
    - obj
    - lastpos
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: X509v3_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    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, const
      ASN1_OBJECT *obj, int lastpos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:82,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: X509v3_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:106,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:116,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:111,1
    - Dst: X509_EXTENSION_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:122,1
    - Dst: sk_X509_EXTENSION_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:124,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:130,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:132,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:134,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - STACK_OF(X509_EXTENSION)**
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: X509v3_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_insert
    - sk_X509_EXTENSION_free
    - X509_EXTENSION_free
    - X509_EXTENSION_dup
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_EXTENSION)*
    signature: 'STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION)
      **x, X509_EXTENSION *ex, int loc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_EXTENSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:163,1
    - Dst: X509_EXTENSION_set_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:164,1
    - Dst: X509_EXTENSION_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:174,1
    - Dst: X509_EXTENSION_set_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:172,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 4
    argNames:
    - ex
    - obj
    - crit
    - data
    argTypes:
    - X509_EXTENSION**
    - ASN1_OBJECT*
    - int
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 184
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 184
    functionName: X509_EXTENSION_create_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_EXTENSION_set_object
    - X509_EXTENSION_set_data
    - X509_EXTENSION_new
    - X509_EXTENSION_free
    - X509_EXTENSION_set_critical
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex,
      const ASN1_OBJECT *obj, int crit, ASN1_OCTET_STRING *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ex
    - crit
    argTypes:
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: X509_EXTENSION_set_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: X509_EXTENSION_get_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:71,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - sk
    - crit
    - lastpos
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: X509v3_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_value
    linkageType: ''
    returnType: int
    signature: 'int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *sk,
      int crit, int lastpos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:34,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: X509v3_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    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,
      int lastpos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:92,1
    - Dst: sk_X509_EXTENSION_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - STACK_OF(X509_EXTENSION)*
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: X509v3_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_delete
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int
      loc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:145,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:150,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:147,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ex
    - nid
    - crit
    - data
    argTypes:
    - X509_EXTENSION**
    - int
    - int
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: X509_EXTENSION_create_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - X509_EXTENSION_create_by_OBJ
    - ASN1_OBJECT_free
    - ERR_raise
    - OBJ_nid2obj
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex,
      int nid, int crit, ASN1_OCTET_STRING *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:190,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ex
    - obj
    argTypes:
    - X509_EXTENSION*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: X509_EXTENSION_set_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - ASN1_OBJECT_free
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT
      *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ex
    - data
    argTypes:
    - X509_EXTENSION*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: X509_EXTENSION_set_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: int
    signature: 'int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: X509_EXTENSION_get_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: X509_EXTENSION_get_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_v3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_EXTENSION_get_critical(const X509_EXTENSION *ex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:17,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - NETSCAPE_SPKI*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: NETSCAPE_SPKI_set_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: 'int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:36,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:38,1
    - Dst: EVP_DecodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:44,1
    - Dst: d2i_NETSCAPE_SPKI
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:48,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:49,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: NETSCAPE_SPKI_b64_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - d2i_NETSCAPE_SPKI
    - EVP_DecodeBlock
    - OPENSSL_malloc
    - strlen
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:61,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:67,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:65,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:68,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:69,1
    - Dst: i2d_NETSCAPE_SPKI
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:73,1
    - Dst: EVP_EncodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:74,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - spki
    argTypes:
    - NETSCAPE_SPKI*
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: NETSCAPE_SPKI_b64_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_NETSCAPE_SPKI
    - OPENSSL_free
    - EVP_EncodeBlock
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - NETSCAPE_SPKI*
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: NETSCAPE_SPKI_get_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509spki.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_POLICY_MAPPING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:56,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:75,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:80,1
    - Dst: sk_POLICY_MAPPING_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:74,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:82,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:86,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:87,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:89,1
    - Dst: POLICY_MAPPING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:93,1
    - Dst: sk_POLICY_MAPPING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:107,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:95,1
    - Dst: sk_POLICY_MAPPING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:101,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c:105,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 40
    argCount: 0
    argNames:
    - POLICY_MAPPING
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 109
    functionName: IMPLEMENT_ASN1_ALLOC_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_pmaps.c
    functionUses: []
    functionsReached:
    - sk_POLICY_MAPPING_new_reserve
    - ERR_raise
    - POLICY_MAPPING_new
    - ASN1_OBJECT_free
    - sk_CONF_VALUE_num
    - sk_POLICY_MAPPING_push
    - sk_CONF_VALUE_value
    - ERR_raise_data
    - OBJ_txt2obj
    - sk_POLICY_MAPPING_value
    - sk_POLICY_MAPPING_pop_free
    linkageType: ''
    returnType: ASN1_ITEM_TEMPLATE_END(POLICY_MAPPINGS)
    signature: 'ASN1_ITEM_TEMPLATE_END(POLICY_MAPPINGS) IMPLEMENT_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING)
      static STACK_OF(CONF_VALUE) *i2v_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method,
      void *a, STACK_OF(CONF_VALUE) *ext_list){ POLICY_MAPPINGS *pmaps = a; POLICY_MAPPING
      *pmap; int i; char obj_tmp1[80]; char obj_tmp2[80]; for (i = 0; i < sk_POLICY_MAPPING_num(pmaps);
      i++) { pmap = sk_POLICY_MAPPING_value(pmaps, i); i2t_ASN1_OBJECT(obj_tmp1, 80,
      pmap->issuerDomainPolicy); i2t_ASN1_OBJECT(obj_tmp2, 80, pmap->subjectDomainPolicy);
      X509V3_add_value(obj_tmp1, obj_tmp2, &ext_list); } return ext_list; }static
      void *v2i_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
      STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:91,1
    - Dst: sk_X509_NAME_ENTRY_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:95,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:97,1
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:104,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames:
    - X509_NAME
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: IMPLEMENT_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - sk_X509_NAME_ENTRY_new_null
    - OPENSSL_zalloc
    - sk_X509_NAME_ENTRY_free
    - BUF_MEM_new
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(X509_NAME)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(X509_NAME) IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME)
      static int x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ne
    argTypes:
    - STACK_OF(X509_NAME_ENTRY)*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: local_sk_X509_NAME_ENTRY_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - sk_X509_NAME_ENTRY_free
    linkageType: ''
    returnType: void
    signature: 'static void local_sk_X509_NAME_ENTRY_free(STACK_OF(X509_NAME_ENTRY)
      *ne) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:156,1
    - Dst: x509_name_ex_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:172,1
    - Dst: x509_name_ex_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:173,1
    - Dst: ASN1_item_ex_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:164,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:165,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:176,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:178,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:181,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:182,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:183,1
    - Dst: x509_name_canon
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:191,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:206,1
    - Dst: sk_X509_NAME_ENTRY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:188,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:184,1
    - Dst: sk_X509_NAME_ENTRY_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:186,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:203,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:204,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 45
    argCount: 8
    argNames:
    - val
    - in
    - len
    - it
    - tag
    - aclass
    - opt
    - ctx
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    constantsTouched: []
    func_position:
      end: 208
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 208
    functionName: x509_name_ex_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_NAME_free
    - sk_STACK_OF_X509_NAME_ENTRY_num
    - BUF_MEM_grow
    - memcpy
    - x509_name_ex_new
    - x509_name_ex_free
    - ASN1_item_ex_d2i
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_push
    - sk_X509_NAME_ENTRY_set
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - sk_STACK_OF_X509_NAME_ENTRY_value
    - ASN1_ITEM_rptr
    - x509_name_canon
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int x509_name_ex_d2i(ASN1_VALUE **val, const unsigned char
      **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC
      *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:242,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:250,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:249,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:246,1
    - Dst: sk_X509_NAME_ENTRY_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:252,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:255,1
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:256,1
    - Dst: sk_X509_NAME_ENTRY_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:261,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:264,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:265,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:278,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:271,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:269,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:270,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:266,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:276,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 280
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 280
    functionName: x509_name_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BUF_MEM_grow
    - ASN1_item_ex_i2d
    - sk_X509_NAME_ENTRY_new_null
    - sk_X509_NAME_ENTRY_free
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_push
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - sk_STACK_OF_X509_NAME_ENTRY_push
    - ASN1_ITEM_rptr
    - sk_STACK_OF_X509_NAME_ENTRY_new_null
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int x509_name_encode(X509_NAME *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_tag2bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:393,1
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:394,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:417,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:400,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:425,1
    - Dst: ossl_isascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:435,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:440,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:452,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 464
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 464
    functionName: asn1_string_canon
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - ossl_isascii
    - ASN1_tag2bit
    - ASN1_STRING_to_UTF8
    - ossl_isspace
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: 'static int asn1_string_canon(ASN1_STRING *out, const ASN1_STRING *in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:491,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - xn
    - name
    argTypes:
    - X509_NAME**
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: X509_NAME_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - X509_NAME_dup
    - X509_NAME_free
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_set(X509_NAME **xn, const X509_NAME *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ne
    argTypes:
    - STACK_OF(X509_NAME_ENTRY)*
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: local_sk_X509_NAME_ENTRY_pop_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - sk_X509_NAME_ENTRY_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void local_sk_X509_NAME_ENTRY_pop_free(STACK_OF(X509_NAME_ENTRY)
      *ne) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:123,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:122,1
    - Dst: sk_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: x509_name_ex_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    - OPENSSL_free
    - sk_X509_NAME_ENTRY_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void x509_name_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: x509_name_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:217,1
    - Dst: x509_name_canon
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:220,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:226,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - val
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: x509_name_ex_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - x509_name_encode
    - memcpy
    - x509_name_canon
    linkageType: ''
    returnType: int
    signature: 'static int x509_name_ex_i2d(const ASN1_VALUE **val, unsigned char
      **out, const ASN1_ITEM *it, int tag, int aclass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - out
    - pval
    - indent
    - fname
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - char*
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: x509_name_ex_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - X509_NAME_print_ex
    linkageType: ''
    returnType: int
    signature: 'static int x509_name_ex_print(BIO *out, const ASN1_VALUE **pval, int
      indent, const char *fname, const ASN1_PCTX *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:471,1
    - Dst: sk_ASN1_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:475,1
    - Dst: sk_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:474,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:476,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - _intname
    - in
    argTypes:
    - STACK_OF(STACK_OF_X509_NAME_ENTRY)*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 483
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 483
    functionName: i2d_name_canon
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - sk_ASN1_VALUE_value
    - sk_ASN1_VALUE_num
    - ASN1_item_ex_i2d
    - ASN1_ITEM_rptr
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int i2d_name_canon(const STACK_OF(STACK_OF_X509_NAME_ENTRY)
      * _intname, unsigned char **in) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:503,1
    - Dst: ossl_isupper
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:515,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:507,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:520,1
    - Dst: ossl_isupper
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:516,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:524,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:533,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:536,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:537,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 3
    argNames:
    - bp
    - name
    - obase
    argTypes:
    - BIO*
    - X509_NAME*
    - int
    constantsTouched: []
    func_position:
      end: 539
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 539
    functionName: X509_NAME_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - ossl_isupper
    - BIO_write
    - X509_NAME_oneline
    - ERR_raise
    - OPENSSL_free
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - nm
    - pder
    - pderlen
    argTypes:
    - X509_NAME*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 552
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 552
    functionName: X509_NAME_get0_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - i2d_X509_NAME
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_get0_der(const X509_NAME *nm, const unsigned char **pder,
      size_t *pderlen) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:306,1
    - Dst: sk_X509_NAME_ENTRY_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:326,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:329,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:331,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:341,1
    - Dst: i2d_name_canon
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:356,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:363,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:318,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:314,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:320,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:324,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:338,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:343,1
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:330,1
    - Dst: sk_X509_NAME_ENTRY_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:348,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:374,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:311,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:323,1
    - Dst: asn1_string_canon
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:346,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:307,1
    - Dst: X509_NAME_ENTRY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:336,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:349,1
    - Dst: i2d_name_canon
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:369,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c:375,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 378
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 378
    functionName: x509_name_canon
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x_name.c
    functionUses: []
    functionsReached:
    - asn1_string_canon
    - ERR_raise
    - OPENSSL_free
    - sk_X509_NAME_ENTRY_new_null
    - sk_X509_NAME_ENTRY_free
    - OPENSSL_malloc
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_push
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - sk_STACK_OF_X509_NAME_ENTRY_push
    - X509_NAME_ENTRY_free
    - i2d_name_canon
    - X509_NAME_ENTRY_new
    - OBJ_dup
    - sk_STACK_OF_X509_NAME_ENTRY_new_null
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int x509_name_canon(X509_NAME *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:19,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:24,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:24,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:22,1
    - Dst: X509_LOOKUP_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:19,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:27,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:29,1
    - Dst: X509_LOOKUP_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:29,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:32,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:35,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: X509_STORE_set_default_paths_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - X509_STORE_add_lookup
    - X509_LOOKUP_load_file_ex
    - X509_LOOKUP_hash_dir
    - X509_LOOKUP_file
    - X509_LOOKUP_add_store_ex
    - X509_LOOKUP_add_dir
    - X509_LOOKUP_store
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set_default_paths_ex(X509_STORE *ctx, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:50,1
    - Dst: X509_LOOKUP_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:50,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:51,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - file
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: X509_STORE_load_file_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - X509_LOOKUP_file
    - X509_STORE_add_lookup
    - X509_LOOKUP_load_file_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_load_file_ex(X509_STORE *ctx, const char *file, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:68,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:69,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - X509_STORE*
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: X509_STORE_load_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - X509_LOOKUP_hash_dir
    - X509_STORE_add_lookup
    - X509_LOOKUP_add_dir
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_load_path(X509_STORE *ctx, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_store_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - uri
    argTypes:
    - X509_STORE*
    - char*
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: X509_STORE_load_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - X509_STORE_load_store_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_load_store(X509_STORE *ctx, const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_set_default_paths_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: X509_STORE_set_default_paths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - X509_STORE_set_default_paths_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_set_default_paths(X509_STORE *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - X509_STORE*
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: X509_STORE_load_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:81,1
    - Dst: X509_LOOKUP_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:81,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - uri
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: X509_STORE_load_store_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - X509_STORE_add_lookup
    - X509_LOOKUP_store
    - X509_LOOKUP_add_store_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_load_store_ex(X509_STORE *ctx, const char *uri, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:99,1
    - Dst: X509_STORE_load_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:101,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - file
    - path
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: X509_STORE_load_locations_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - X509_STORE_load_file_ex
    - X509_STORE_load_path
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_load_locations_ex(X509_STORE *ctx, const char *file,
      const char *path, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_locations_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - path
    argTypes:
    - X509_STORE*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: X509_STORE_load_locations
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_d2.c
    functionUses: []
    functionsReached:
    - X509_STORE_load_locations_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_STORE_load_locations(X509_STORE *ctx, const char *file, const
      char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:263,1
    - Dst: X509_ATTRIBUTE_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:268,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - attr
    - nid
    - atrtype
    - data
    - len
    argTypes:
    - X509_ATTRIBUTE**
    - int
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: X509_ATTRIBUTE_create_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ASN1_OBJECT_free
    - ERR_raise
    - OBJ_nid2obj
    - X509_ATTRIBUTE_create_by_OBJ
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr,
      int nid, int atrtype, const void *data, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: X509_ATTRIBUTE_get0_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_ATTRIBUTE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:282,1
    - Dst: X509_ATTRIBUTE_set1_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:289,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:283,1
    - Dst: X509_ATTRIBUTE_set1_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:291,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:299,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 5
    argNames:
    - attr
    - obj
    - atrtype
    - data
    - len
    argTypes:
    - X509_ATTRIBUTE**
    - ASN1_OBJECT*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: X509_ATTRIBUTE_create_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_ATTRIBUTE_set1_object
    - X509_ATTRIBUTE_free
    - X509_ATTRIBUTE_new
    - X509_ATTRIBUTE_set1_data
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr,
      const ASN1_OBJECT *obj, int atrtype, const void *data, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:400,1
    - Dst: ASN1_TYPE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:405,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - attr
    - idx
    - atrtype
    - data
    argTypes:
    - X509_ATTRIBUTE*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: X509_ATTRIBUTE_get0_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_get
    - X509_ATTRIBUTE_get0_type
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int
      atrtype, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_TYPE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - idx
    argTypes:
    - X509_ATTRIBUTE*
    - int
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: X509_ATTRIBUTE_get0_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - sk_ASN1_TYPE_value
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:228,1
    - Dst: X509at_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:233,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:234,1
    - Dst: X509_ATTRIBUTE_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:236,1
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - x
    - obj
    - lastpos
    - type
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - ASN1_OBJECT*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: X509at_get0_data_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_by_OBJ
    - X509at_get_attr
    - X509_ATTRIBUTE_count
    - X509_ATTRIBUTE_get0_data
    linkageType: ''
    returnType: void*
    signature: 'void *X509at_get0_data_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *x, const
      ASN1_OBJECT *obj, int lastpos, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:242,1
    - Dst: sk_X509_ATTRIBUTE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:249,1
    - Dst: X509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:248,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:246,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: ossl_x509at_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_pop_free
    - sk_X509_ATTRIBUTE_num
    - X509at_add1_attr
    - sk_X509_ATTRIBUTE_value
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *ossl_x509at_dup(const STACK_OF(X509_ATTRIBUTE)
      *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:28,1
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: X509at_get_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    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, int lastpos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:129,1
    - Dst: ossl_x509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:134,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:135,1
    - Dst: X509_ATTRIBUTE_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - x
    - obj
    - type
    - bytes
    - len
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: ossl_x509at_add1_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr
    - X509_ATTRIBUTE_create_by_OBJ
    - X509_ATTRIBUTE_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *ossl_x509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE)
      **x, const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:163,1
    - Dst: ossl_x509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:168,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:169,1
    - Dst: X509_ATTRIBUTE_create_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - x
    - nid
    - type
    - bytes
    - len
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: ossl_x509at_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr
    - X509_ATTRIBUTE_create_by_NID
    - X509_ATTRIBUTE_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *ossl_x509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE)
      **x, int nid, int type, const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:311,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:318,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:313,1
    - Dst: X509_ATTRIBUTE_create_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - attr
    - atrname
    - type
    - bytes
    - len
    argTypes:
    - X509_ATTRIBUTE**
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 320
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 320
    functionName: X509_ATTRIBUTE_create_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - ASN1_OBJECT_free
    - OBJ_txt2obj
    - X509_ATTRIBUTE_create_by_OBJ
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr,
      const char *atrname, int type, const unsigned char *bytes, int len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:340,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:343,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:341,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:350,1
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:348,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:360,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:363,1
    - Dst: ASN1_TYPE_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:366,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:369,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:372,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:376,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:377,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:378,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 4
    argNames:
    - attr
    - attrtype
    - data
    - len
    argTypes:
    - X509_ATTRIBUTE*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 380
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 380
    functionName: X509_ATTRIBUTE_set1_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_set1
    - ERR_raise
    - ASN1_TYPE_set
    - OBJ_obj2nid
    - ASN1_TYPE_free
    - sk_ASN1_TYPE_push
    - ASN1_TYPE_new
    - ASN1_STRING_type_new
    - ASN1_STRING_set_by_NID
    - ASN1_STRING_set
    - ASN1_STRING_free
    linkageType: ''
    returnType: int
    signature: 'int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, const
      void *data, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: X509at_get_attr_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    linkageType: ''
    returnType: int
    signature: 'int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:46,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:48,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - sk
    - obj
    - lastpos
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: X509at_get_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - sk_X509_ATTRIBUTE_num
    - sk_X509_ATTRIBUTE_value
    linkageType: ''
    returnType: int
    signature: 'int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, const
      ASN1_OBJECT *obj, int lastpos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:146,1
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:149,1
    - Dst: ossl_x509at_add1_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - x
    - obj
    - type
    - bytes
    - len
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 155
    functionName: X509at_add1_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_by_OBJ
    - ossl_x509at_add1_attr_by_OBJ
    - ERR_raise
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE)
      **x, const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:183,1
    - Dst: ossl_x509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:187,1
    - Dst: X509at_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - x
    - nid
    - type
    - bytes
    - len
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: X509at_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_by_NID
    - ERR_raise
    - ossl_x509at_add1_attr_by_NID
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE)
      **x, int nid, int type, const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:326,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - attr
    - obj
    argTypes:
    - X509_ATTRIBUTE*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: X509_ATTRIBUTE_set1_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ASN1_OBJECT_free
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT
      *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_TYPE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - attr
    argTypes:
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: X509_ATTRIBUTE_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - sk_ASN1_TYPE_num
    linkageType: ''
    returnType: int
    signature: 'int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:57,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: X509at_get_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - sk_X509_ATTRIBUTE_value
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x,
      int loc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:80,1
    - Dst: X509_ATTRIBUTE_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:91,1
    - Dst: sk_X509_ATTRIBUTE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:93,1
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:99,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:101,1
    - Dst: sk_X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - x
    - attr
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: ossl_x509at_add1_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_new_null
    - ERR_raise
    - sk_X509_ATTRIBUTE_push
    - X509_ATTRIBUTE_dup
    - X509_ATTRIBUTE_free
    - sk_X509_ATTRIBUTE_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *ossl_x509at_add1_attr(STACK_OF(X509_ATTRIBUTE)
      **x, X509_ATTRIBUTE *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:197,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:203,1
    - Dst: ossl_x509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:202,1
    - Dst: X509_ATTRIBUTE_create_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - x
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: ossl_x509at_add1_attr_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - ossl_x509at_add1_attr
    - X509_ATTRIBUTE_create_by_txt
    - X509_ATTRIBUTE_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *ossl_x509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE)
      **x, const char *attrname, int type, const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:67,1
    - Dst: sk_X509_ATTRIBUTE_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: X509at_delete_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - sk_X509_ATTRIBUTE_delete
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int
      loc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:115,1
    - Dst: ossl_x509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:119,1
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - x
    - attr
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: X509at_add1_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_by_OBJ
    - ossl_x509at_add1_attr
    - ERR_raise
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE)
      **x, X509_ATTRIBUTE *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:214,1
    - Dst: X509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:218,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:219,1
    - Dst: X509_ATTRIBUTE_create_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - x
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: X509at_add1_attr_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_att.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr
    - X509_ATTRIBUTE_create_by_txt
    - X509_ATTRIBUTE_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE)
      **x, const char *attrname, int type, const unsigned char *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nid
    - lastpos
    argTypes:
    - X509_REQ*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: X509_REQ_get_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    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
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - req
    - loc
    argTypes:
    - X509_REQ*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: X509_REQ_get_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:232,1
    - Dst: X509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - req
    - attr
    argTypes:
    - X509_REQ*
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: X509_REQ_add1_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - req
    - palg
    argTypes:
    - X509_REQ*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: X509_REQ_set1_signature_algo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    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: X509at_get_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - req
    - obj
    - lastpos
    argTypes:
    - X509_REQ*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: X509_REQ_get_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    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, int lastpos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:220,1
    - Dst: X509at_delete_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - req
    - loc
    argTypes:
    - X509_REQ*
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: X509_REQ_delete_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - X509at_delete_attr
    - ERR_raise
    linkageType: ''
    returnType: X509_ATTRIBUTE*
    signature: 'X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:246,1
    - Dst: X509at_add1_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - req
    - obj
    - type
    - bytes
    - len
    argTypes:
    - X509_REQ*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: X509_REQ_add1_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr_by_OBJ
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, const ASN1_OBJECT *obj,
      int type, const unsigned char *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: X509_REQ_get_signature_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:325,1
    - Dst: i2d_X509_REQ_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - req
    - pp
    argTypes:
    - X509_REQ*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: i2d_re_X509_REQ_tbs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - i2d_X509_REQ_INFO
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: X509_REQ_get_attr_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - X509at_get_attr_count
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_get_attr_count(const X509_REQ *req) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:28,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:42,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:30,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:37,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:42,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:45,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:48,1
    - Dst: X509_REQ_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:53,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:58,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 26
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 60
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 60
    functionName: X509_to_X509_REQ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_REQ_set_pubkey
    - X509_REQ_new_ex
    - X509_get0_pubkey
    - X509_REQ_free
    - X509_REQ_set_subject_name
    - X509_REQ_sign
    - OPENSSL_malloc
    - X509_get_subject_name
    linkageType: ''
    returnType: X509_REQ*
    signature: 'X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: X509_REQ_get0_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get0
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: X509_REQ_get_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: 'long X509_REQ_get_version(const X509_REQ *req) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - req
    - psig
    - palg
    argTypes:
    - X509_REQ*
    - ASN1_BIT_STRING**
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: X509_REQ_get0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING
      **psig, const X509_ALGOR **palg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: X509_REQ_get_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: X509_REQ_get_X509_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_PUBKEY*
    signature: 'X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: X509_REQ_get_subject_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - req
    - psig
    argTypes:
    - X509_REQ*
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: X509_REQ_set0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: X509_REQ_get_extension_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int*
    signature: 'int *X509_REQ_get_extension_nids(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: X509_REQ_set_extension_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_REQ_set_extension_nids(int *nids) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:95,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:92,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:98,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: X509_REQ_check_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    - X509_REQ_get_pubkey
    - EVP_PKEY_eq
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:177,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:178,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:181,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - req
    - exts
    - nid
    argTypes:
    - X509_REQ*
    - STACK_OF(X509_EXTENSION)*
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: X509_REQ_add_extensions_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ASN1_item_i2d
    - ASN1_ITEM_rptr
    - X509_REQ_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_add_extensions_nid(X509_REQ *req, const STACK_OF(X509_EXTENSION)
      *exts, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_add_extensions_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - req
    - exts
    argTypes:
    - X509_REQ*
    - STACK_OF(X509_EXTENSION)*
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: X509_REQ_add_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:261,1
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - req
    - nid
    - type
    - bytes
    - len
    argTypes:
    - X509_REQ*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: X509_REQ_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_add1_attr_by_NID(X509_REQ *req, int nid, int type, const
      unsigned char *bytes, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - req_nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: X509_REQ_extension_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_extension_nid(int req_nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:276,1
    - Dst: X509at_add1_attr_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - req
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - X509_REQ*
    - char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: X509_REQ_add1_attr_by_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: 'int X509_REQ_add1_attr_by_txt(X509_REQ *req, const char *attrname,
      int type, const unsigned char *bytes, int len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:148,1
    - Dst: X509_REQ_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:151,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:161,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:152,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:156,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: X509_REQ_get_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/x509_req.c
    functionUses: []
    functionsReached:
    - X509_REQ_get_attr
    - sk_X509_EXTENSION_new_null
    - X509_REQ_get_attr_by_NID
    - X509_ATTRIBUTE_get0_type
    - ASN1_item_d2i
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: STACK_OF(X509_EXTENSION)*
    signature: 'STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:46,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:53,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:48,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:57,1
    - Dst: i2v_GENERAL_NAMES
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:60,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:62,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:68,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:70,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:82,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:77,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:74,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:73,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 3
    argNames:
    - method
    - akeyid
    - extlist
    argTypes:
    - X509V3_EXT_METHOD*
    - AUTHORITY_KEYID*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: i2v_AUTHORITY_KEYID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2v_GENERAL_NAMES
    - X509V3_add_value
    - OPENSSL_free
    - OPENSSL_buf2hexstr
    - sk_CONF_VALUE_pop_free
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD
      *method, AUTHORITY_KEYID *akeyid, STACK_OF(CONF_VALUE) *extlist) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:121,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:123,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:130,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:182,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:183,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:192,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:193,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:210,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:214,1
    - Dst: AUTHORITY_KEYID_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:110,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:115,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:148,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:150,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:176,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:194,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:211,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:215,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:100,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:125,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:127,1
    - Dst: X509V3_EXT_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:164,1
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:169,1
    - Dst: ossl_x509_pubkey_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:170,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:175,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:182,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:183,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:212,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:120,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:115,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:140,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:144,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:185,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c:213,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 134
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 217
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 217
    functionName: v2i_AUTHORITY_KEYID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_akid.c
    functionUses: []
    functionsReached:
    - X509_get0_serialNumber
    - X509_get_issuer_name
    - ERR_set_mark
    - X509_PUBKEY_free
    - ossl_x509_pubkey_hash
    - X509_PUBKEY_set
    - ASN1_STRING_length
    - strcmp
    - X509_get_ext_by_NID
    - ERR_raise_data
    - AUTHORITY_KEYID_new
    - X509V3_EXT_d2i
    - sk_GENERAL_NAME_free
    - sk_GENERAL_NAME_new_null
    - X509_NAME_dup
    - sk_CONF_VALUE_num
    - GENERAL_NAME_free
    - sk_CONF_VALUE_value
    - ASN1_INTEGER_dup
    - ASN1_OCTET_STRING_free
    - sk_GENERAL_NAME_push
    - GENERAL_NAME_new
    - ERR_pop_to_mark
    - ERR_raise
    - X509_NAME_free
    - X509_get_ext
    - X509_check_private_key
    - AUTHORITY_KEYID_free
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: AUTHORITY_KEYID*
    signature: 'static AUTHORITY_KEYID *v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:95,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:116,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:120,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:128,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:137,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:133,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:145,1
    - Dst: policy_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:132,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:115,1
    - Dst: POLICYINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:143,1
    - Dst: sk_POLICYINFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:151,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:153,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:95,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:97,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:126,1
    - Dst: POLICYINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:152,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:157,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:160,1
    - Dst: sk_POLICYINFO_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:107,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:146,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:138,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 0
    argNames:
    - NOTICEREF
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 163
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - POLICYINFO_free
    - X509V3_section_free
    - ASN1_OBJECT_free
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    - POLICYINFO_new
    - strcmp
    - X509V3_conf_add_error_name_value
    - sk_POLICYINFO_pop_free
    - ERR_raise_data
    - sk_POLICYINFO_new_reserve
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - OBJ_txt2obj
    - ERR_raise
    - policy_section
    - sk_POLICYINFO_push
    - X509V3_get_section
    - X509V3_parse_list
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(NOTICEREF)
    signature: 'ASN1_SEQUENCE_END(NOTICEREF) IMPLEMENT_ASN1_FUNCTIONS(NOTICEREF) static
      STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
      const char *value) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:175,1
    - Dst: sk_POLICYQUALINFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:192,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:203,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:207,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:214,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:227,1
    - Dst: POLICYINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:173,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:177,1
    - Dst: ossl_v3_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:187,1
    - Dst: sk_POLICYQUALINFO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:189,1
    - Dst: POLICYQUALINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:239,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:180,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:176,1
    - Dst: X509V3_conf_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:182,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:200,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:198,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:201,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:194,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:210,1
    - Dst: notice_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:217,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:218,1
    - Dst: POLICYINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:195,1
    - Dst: sk_POLICYQUALINFO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:222,1
    - Dst: sk_POLICYQUALINFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:223,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:232,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 73
    argCount: 3
    argNames:
    - ctx
    - polstrs
    - ia5org
    argTypes:
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 244
    functionName: policy_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - POLICYINFO_free
    - X509V3_section_free
    - POLICYINFO_new
    - strcmp
    - OBJ_nid2obj
    - sk_POLICYQUALINFO_new_null
    - notice_section
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - OBJ_txt2obj
    - ASN1_IA5STRING_new
    - sk_POLICYQUALINFO_push
    - ossl_v3_name_cmp
    - strlen
    - ERR_raise
    - X509V3_conf_err
    - X509V3_get_section
    - ASN1_STRING_set
    - POLICYQUALINFO_new
    linkageType: ''
    returnType: POLICYINFO*
    signature: 'static POLICYINFO *policy_section(X509V3_CTX *ctx, STACK_OF(CONF_VALUE)
      *polstrs, int ia5org) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: displaytext_get_tag_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:258,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:269,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:265,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:267,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:263,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:271,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:273,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - tagstr
    - tag_len
    argTypes:
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 277
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: displaytext_str2tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - displaytext_get_tag_len
    - strncmp
    linkageType: ''
    returnType: int
    signature: 'static int displaytext_str2tag(const char *tagstr, unsigned int *tag_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:378,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:379,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:380,1
    - Dst: sk_ASN1_INTEGER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:384,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:381,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:390,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - nnums
    - nos
    argTypes:
    - STACK_OF(ASN1_INTEGER)*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 395
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 395
    functionName: nref_nos
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - sk_ASN1_INTEGER_push
    - ERR_raise
    - s2i_ASN1_INTEGER
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE)
      *nos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_POLICYQUALINFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:422,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:426,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:428,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:424,1
    - Dst: sk_POLICYQUALINFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:425,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:434,1
    - Dst: print_notice
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:435,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:439,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - out
    - quals
    - indent
    argTypes:
    - BIO*
    - STACK_OF(POLICYQUALINFO)*
    - int
    constantsTouched: []
    func_position:
      end: 445
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 445
    functionName: print_qualifiers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_obj2nid
    - print_notice
    - sk_POLICYQUALINFO_value
    - i2a_ASN1_OBJECT
    - sk_POLICYQUALINFO_num
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'static void print_qualifiers(BIO *out, STACK_OF(POLICYQUALINFO) *quals,
      int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tagstr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: displaytext_get_tag_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: 'static int displaytext_get_tag_len(const char *tagstr) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:298,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:291,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:308,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:311,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:327,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:340,1
    - Dst: POLICYQUALINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:367,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:292,1
    - Dst: displaytext_str2tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:303,1
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:304,1
    - Dst: NOTICEREF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:332,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:339,1
    - Dst: nref_nos
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:344,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:364,1
    - Dst: USERNOTICE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:295,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:299,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:325,1
    - Dst: NOTICEREF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:315,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:309,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:324,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:338,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:341,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:350,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:357,1
    - Dst: POLICYQUALINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:289,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:302,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:330,1
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:337,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:345,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:349,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 87
    argCount: 3
    argNames:
    - ctx
    - unot
    - ia5org
    argTypes:
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    - int
    constantsTouched: []
    func_position:
      end: 369
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 369
    functionName: notice_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - USERNOTICE_new
    - strcmp
    - X509V3_conf_add_error_name_value
    - nref_nos
    - OBJ_nid2obj
    - sk_CONF_VALUE_num
    - STACK_OF
    - sk_CONF_VALUE_value
    - displaytext_str2tag
    - ASN1_STRING_type_new
    - POLICYQUALINFO_free
    - ASN1_STRING_set
    - X509V3_parse_list
    - NOTICEREF_new
    - sk_CONF_VALUE_pop_free
    - POLICYQUALINFO_new
    - strlen
    linkageType: ''
    returnType: POLICYQUALINFO*
    signature: 'static POLICYQUALINFO *notice_section(X509V3_CTX *ctx, STACK_OF(CONF_VALUE)
      *unot, int ia5org) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_POLICYINFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:403,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:407,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:408,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:405,1
    - Dst: sk_POLICYINFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:406,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:410,1
    - Dst: print_qualifiers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - method
    - pol
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - STACK_OF(POLICYINFO)*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 415
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 415
    functionName: i2r_certpol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_POLICYINFO_value
    - i2a_ASN1_OBJECT
    - print_qualifiers
    - BIO_puts
    - sk_POLICYINFO_num
    linkageType: ''
    returnType: int
    signature: 'static int i2r_certpol(X509V3_EXT_METHOD *method, STACK_OF(POLICYINFO)
      *pol, BIO *out, int indent) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:453,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:457,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:458,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:456,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:461,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:463,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:465,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:467,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:470,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:471,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:478,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:475,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - out
    - notice
    - indent
    argTypes:
    - BIO*
    - USERNOTICE*
    - int
    constantsTouched: []
    func_position:
      end: 481
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 481
    functionName: print_notice
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_ASN1_INTEGER_num
    - i2s_ASN1_INTEGER
    - OPENSSL_free
    - sk_ASN1_INTEGER_value
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'static void print_notice(BIO *out, USERNOTICE *notice, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:487,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:490,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:489,1
    - Dst: node_data_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:492,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:491,1
    - Dst: print_qualifiers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:494,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:495,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - out
    - node
    - indent
    argTypes:
    - BIO*
    - X509_POLICY_NODE*
    - int
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: X509_POLICY_NODE_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_cpols.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2a_ASN1_OBJECT
    - node_data_critical
    - print_qualifiers
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int
      indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:68,1
    - Dst: sk_SXNETID_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:78,1
    - Dst: sk_SXNETID_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:77,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:75,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:71,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:79,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:82,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:83,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:84,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames:
    - SXNET
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 87
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2s_ASN1_INTEGER
    - ASN1_INTEGER_get_int64
    - sk_SXNETID_value
    - sk_SXNETID_num
    - OPENSSL_free
    - ASN1_STRING_print
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(SXNET)
    signature: 'ASN1_SEQUENCE_END(SXNET) IMPLEMENT_ASN1_FUNCTIONS(SXNET) static int
      sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:143,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:142,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:144,1
    - Dst: SXNET_add_id_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:147,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - psx
    - lzone
    - user
    - userlen
    argTypes:
    - SXNET**
    - unsigned long
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: SXNET_add_id_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - SXNET_add_id_INTEGER
    linkageType: ''
    returnType: int
    signature: 'int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char
      *user, int userlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:216,1
    - Dst: SXNET_get_id_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:220,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:221,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - sx
    - zone
    argTypes:
    - SXNET*
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 223
    functionName: SXNET_get_id_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    functionsReached:
    - s2i_ASN1_INTEGER
    - ERR_raise
    - SXNET_get_id_INTEGER
    - 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/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:230,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:233,1
    - Dst: SXNET_get_id_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:236,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:232,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - sx
    - lzone
    argTypes:
    - SXNET*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: SXNET_get_id_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - SXNET_get_id_INTEGER
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    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/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:245,1
    - Dst: sk_SXNETID_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:246,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - sx
    - zone
    argTypes:
    - SXNET*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: SXNET_get_id_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    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: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:103,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:104,1
    - Dst: SXNET_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:106,1
    - Dst: SXNET_add_id_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: sxnet_v2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    functionsReached:
    - sk_CONF_VALUE_value
    - SXNET_free
    - SXNET_add_id_asc
    - sk_CONF_VALUE_num
    linkageType: ''
    returnType: SXNET*
    signature: 'static SXNET *sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
      STACK_OF(CONF_VALUE) *nval) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:172,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:178,1
    - Dst: SXNET_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:176,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:170,1
    - Dst: SXNET_get_id_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:183,1
    - Dst: SXNET_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:185,1
    - Dst: SXNETID_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:189,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:192,1
    - Dst: SXNETID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:204,1
    - Dst: sk_SXNETID_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:196,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:198,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:194,1
    - Dst: SXNET_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:207,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 4
    argNames:
    - psx
    - zone
    - user
    - userlen
    argTypes:
    - SXNET**
    - ASN1_INTEGER*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 209
    functionName: SXNET_add_id_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - SXNET_get_id_INTEGER
    - SXNETID_new
    - SXNET_free
    - ASN1_INTEGER_set
    - sk_SXNETID_push
    - ASN1_OCTET_STRING_set
    - SXNETID_free
    - SXNET_new
    - ASN1_INTEGER_free
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *zone, const char
      *user, int userlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:123,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:128,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:124,1
    - Dst: SXNET_add_id_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - psx
    - zone
    - user
    - userlen
    argTypes:
    - SXNET**
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: SXNET_add_id_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/x509/v3_sxnet.c
    functionUses: []
    functionsReached:
    - s2i_ASN1_INTEGER
    - ERR_raise
    - ASN1_INTEGER_free
    - SXNET_add_id_INTEGER
    linkageType: ''
    returnType: int
    signature: 'int SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user,
      int userlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_err.c:70,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_err.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ossl_err_load_OSSL_STORE_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_OSSL_STORE_strings(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:199,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:200,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:210,1
    - Dst: export_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:228,1
    - Dst: evp_keymgmt_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:213,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:238,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:239,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:242,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:243,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:248,1
    - Dst: evp_keymgmt_util_make_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:249,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:251,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:253,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 5
    argNames:
    - data
    - ctx
    - provider
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_CTX*
    - OSSL_PROVIDER*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 256
    functionName: try_key_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - export_object
    - ERR_pop_to_mark
    - evp_keymgmt_load
    - evp_keymgmt_fetch_from_prov
    - ERR_set_mark
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_fetch
    - ERR_clear_last_mark
    - evp_keymgmt_util_make_pkey
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *try_key_ref(struct extracted_param_data_st *data,
      OSSL_STORE_CTX *ctx, const OSSL_PROVIDER *provider, OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:288,1
    - Dst: OSSL_DECODER_CTX_set_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:291,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:294,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:296,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 11
    argCount: 6
    argNames:
    - data
    - ctx
    - cb
    - cbarg
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_CTX*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 299
    functionName: try_key_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    - OSSL_DECODER_CTX_set_passphrase_cb
    - OSSL_DECODER_CTX_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *try_key_value(struct extracted_param_data_st *data,
      OSSL_STORE_CTX *ctx, OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:317,1
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:346,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:339,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:340,1
    - Dst: d2i_X509_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:333,1
    - Dst: PKCS12_pbe_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:352,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:358,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:368,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:371,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:372,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:379,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 44
    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*
    constantsTouched: []
    func_position:
      end: 383
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 383
    functionName: try_key_value_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PUBKEY_ex
    - ERR_raise
    - PKCS12_pbe_crypt
    - OPENSSL_free
    - X509_SIG_free
    - cb
    - d2i_X509_SIG
    - X509_SIG_get0
    - d2i_PKCS8_PRIV_KEY_INFO
    - EVP_PKCS82PKEY_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *try_key_value_legacy(struct extracted_param_data_st
      *data, store_info_new_fn **store_info_new, OSSL_STORE_CTX *ctx, OSSL_PASSPHRASE_CALLBACK
      *cb, void *cbarg, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:470,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:485,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:483,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:477,1
    - Dst: d2i_X509_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:480,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:492,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:494,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 4
    argNames:
    - data
    - v
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 499
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 499
    functionName: try_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_STORE_INFO_new_CERT
    - X509_new_ex
    - OPENSSL_strcasecmp
    - d2i_X509_AUX
    - d2i_X509
    linkageType: ''
    returnType: int
    signature: 'static int try_cert(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:106,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:120,1
    - Dst: try_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:129,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:116,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:128,1
    - Dst: try_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:133,1
    - Dst: try_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:137,1
    - Dst: try_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:150,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:91,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:99,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:96,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:104,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:108,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:114,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:117,1
    - Dst: try_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:145,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:154,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:90,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:102,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:131,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:112,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:135,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:139,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:143,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:100,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:110,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:121,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:132,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:136,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:140,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:144,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:147,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 78
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 156
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 156
    functionName: ossl_store_handle_load_result
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - ossl_provider_libctx
    - try_key
    - OSSL_PARAM_get_utf8_string_ptr
    - try_cert
    - OSSL_PARAM_get_int
    - ERR_set_mark
    - try_crl
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_string_ptr
    - ERR_clear_last_mark
    - try_pkcs12
    - try_name
    - OSSL_STORE_LOADER_get0_provider
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_store_handle_load_result(const OSSL_PARAM params[], void
      *arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: try_key_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:397,1
    - Dst: evp_keymgmt_util_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:439,1
    - Dst: try_key_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:411,1
    - Dst: try_key_value_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:421,1
    - Dst: evp_keymgmt_util_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:437,1
    - Dst: store_info_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:445,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:449,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    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*
    constantsTouched: []
    func_position:
      end: 453
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 453
    functionName: try_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - try_key_value
    - try_key_value_legacy
    - evp_keymgmt_util_has
    - EVP_PKEY_free
    - store_info_new
    - try_key_ref
    linkageType: ''
    returnType: int
    signature: 'static int try_key(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v, OSSL_STORE_CTX *ctx, const OSSL_PROVIDER *provider, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:508,1
    - Dst: OSSL_STORE_INFO_new_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:521,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:515,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:516,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:523,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 4
    argNames:
    - data
    - v
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: try_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - d2i_X509_CRL
    - X509_CRL_free
    - ossl_x509_crl_set0_libctx
    - OSSL_STORE_INFO_new_CRL
    linkageType: ''
    returnType: int
    signature: 'static int try_crl(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS12
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:540,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:558,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:563,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:583,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:621,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:618,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:633,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:643,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:569,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:619,1
    - Dst: PKCS12_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:591,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:610,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:623,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:634,1
    - Dst: PKCS12_mac_present
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:555,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:556,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:582,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:601,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:613,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:629,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:631,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:636,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:642,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:549,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:572,1
    - Dst: sk_OSSL_STORE_INFO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:599,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:604,1
    - Dst: sk_X509_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:622,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:630,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:632,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:645,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 102
    argCount: 5
    argNames:
    - data
    - v
    - ctx
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_STORE_CTX*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 649
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 649
    functionName: try_pkcs12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - ossl_pw_get_passphrase
    - sk_X509_shift
    - OSSL_STORE_INFO_new_PKEY
    - PKCS12_verify_mac
    - EVP_PKEY_free
    - sk_OSSL_STORE_INFO_new_null
    - sk_X509_value
    - STACK_OF
    - X509_free
    - sk_OSSL_STORE_INFO_pop_free
    - OSSL_PARAM_utf8_string
    - sk_X509_pop_free
    - sk_X509_num
    - ERR_raise_data
    - OSSL_STORE_INFO_free
    - OSSL_STORE_INFO_new_CERT
    - OPENSSL_cleanse
    - d2i_PKCS12
    - ERR_raise
    - PKCS12_free
    - sk_OSSL_STORE_INFO_push
    - PKCS12_parse
    - sk_OSSL_STORE_INFO_shift
    - PKCS12_mac_present
    linkageType: ''
    returnType: int
    signature: 'static int try_pkcs12(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v, OSSL_STORE_CTX *ctx, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:165,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:170,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:167,1
    - Dst: OSSL_STORE_INFO_new_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:168,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:169,1
    - Dst: OSSL_STORE_INFO_set0_NAME_description
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - data
    - v
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: try_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_result.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - OSSL_STORE_INFO_set0_NAME_description
    - OSSL_STORE_INFO_new_NAME
    linkageType: ''
    returnType: int
    signature: 'static int try_name(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: OSSL_STORE_INFO_type_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_strings.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_INFO_type_string(int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: dealloc_tmp_loader_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void dealloc_tmp_loader_store(void *store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: destruct_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: void
    signature: 'static void destruct_loader(void *method, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:446,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: OSSL_STORE_LOADER_get0_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'const OSSL_PROVIDER *OSSL_STORE_LOADER_get0_provider(const OSSL_STORE_LOADER
      *loader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:466,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: ossl_store_loader_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - int
    - id
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: do_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_one(ossl_unused int id, void *method, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: get_tmp_loader_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *get_tmp_loader_store(void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:456,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: OSSL_STORE_LOADER_get0_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_LOADER_get0_properties(const OSSL_STORE_LOADER
      *loader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: OSSL_STORE_LOADER_get0_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_LOADER_get0_description(const OSSL_STORE_LOADER
      *loader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_loader_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:512,1
    - Dst: dealloc_tmp_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:519,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:518,1
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:518,1
    - Dst: ossl_method_store_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:517,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - libctx
    - (*user_fn)
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: OSSL_STORE_LOADER_do_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - dealloc_tmp_loader_store
    - get_loader_store
    - ossl_method_store_do_all
    - inner_loader_fetch
    linkageType: ''
    returnType: void
    signature: 'void OSSL_STORE_LOADER_do_all_provided(OSSL_LIB_CTX *libctx, void
      (*user_fn)(OSSL_STORE_LOADER *loader, void *arg), void *user_arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:271,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:274,1
    - Dst: loader_from_algorithm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:278,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    constantsTouched: []
    func_position:
      end: 289
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 289
    functionName: construct_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_namemap_add_name
    - ossl_provider_libctx
    - loader_from_algorithm
    linkageType: ''
    returnType: void*
    signature: 'static void *construct_loader(const OSSL_ALGORITHM *algodef, OSSL_PROVIDER
      *prov, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: OSSL_STORE_LOADER_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_up_ref(OSSL_STORE_LOADER *loader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vstore
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: loader_store_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: 'static void loader_store_free(void *vstore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: loader_store_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void*
    signature: 'static void *loader_store_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: new_loader
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:200,1
    - Dst: OSSL_FUNC_store_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:219,1
    - Dst: OSSL_FUNC_store_open
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:210,1
    - Dst: OSSL_FUNC_store_attach
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:214,1
    - Dst: OSSL_FUNC_store_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:223,1
    - Dst: OSSL_FUNC_store_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:227,1
    - Dst: OSSL_FUNC_store_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:231,1
    - Dst: OSSL_FUNC_store_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:235,1
    - Dst: OSSL_FUNC_store_export_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:239,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:250,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 46
    argCount: 3
    argNames:
    - scheme_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 254
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 254
    functionName: loader_from_algorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_store_eof
    - OSSL_FUNC_store_open
    - ERR_raise
    - OSSL_FUNC_store_settable_ctx_params
    - OSSL_FUNC_store_export_object
    - OSSL_FUNC_store_attach
    - OSSL_FUNC_store_set_ctx_params
    - OSSL_FUNC_store_close
    - OSSL_FUNC_store_load
    - new_loader
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: void*
    signature: 'static void *loader_from_algorithm(int scheme_id, const OSSL_ALGORITHM
      *algodef, OSSL_PROVIDER *prov) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:31,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:35,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:37,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: OSSL_STORE_LOADER_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - ossl_provider_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *loader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:530,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:531,1
    - Dst: ossl_namemap_doall_names
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:533,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 3
    argNames:
    - loader
    - (*fn)
    - data
    argTypes:
    - OSSL_STORE_LOADER*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 537
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 537
    functionName: OSSL_STORE_LOADER_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_stored
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_names_do_all(const OSSL_STORE_LOADER *loader,
      void (*fn)(const char *name, void *data), void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: free_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: void
    signature: 'static void free_loader(void *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:48,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:49,1
    - Dst: ossl_provider_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:54,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: new_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_provider_up_ref
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_LOADER*
    signature: 'static OSSL_STORE_LOADER *new_loader(OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:134,1
    - Dst: ossl_method_lock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: reserve_loader_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - get_loader_store
    - ossl_method_lock_store
    linkageType: ''
    returnType: int
    signature: 'static int reserve_loader_store(void *store, void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:160,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:169,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:162,1
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:166,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: get_loader_from_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num
    - get_loader_store
    - ossl_namemap_stored
    - ossl_method_store_fetch
    linkageType: ''
    returnType: void*
    signature: 'static void *get_loader_from_store(void *store, const OSSL_PROVIDER
      **prov, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_loader_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:402,1
    - Dst: dealloc_tmp_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - scheme
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: OSSL_STORE_LOADER_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    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, const
      char *scheme, const char *properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:423,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: ossl_store_loader_store_cache_flush
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:482,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:483,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - loader
    - name
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: OSSL_STORE_LOADER_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: up_ref_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_LOADER_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int up_ref_loader(void *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:145,1
    - Dst: ossl_method_unlock_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: unreserve_loader_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - get_loader_store
    - ossl_method_unlock_store
    linkageType: ''
    returnType: int
    signature: 'static int unreserve_loader_store(void *store, void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:183,1
    - Dst: ossl_method_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:190,1
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:187,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - scheme
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: put_loader_in_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num
    - ossl_method_store_add
    - get_loader_store
    - ossl_namemap_stored
    linkageType: ''
    returnType: int
    signature: 'static int put_loader_in_store(void *store, void *method, const OSSL_PROVIDER
      *prov, const char *scheme, const char *propdef, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_loader_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:416,1
    - Dst: dealloc_tmp_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - scheme_id
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 419
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 419
    functionName: ossl_store_loader_fetch_by_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - dealloc_tmp_loader_store
    - inner_loader_fetch
    linkageType: ''
    returnType: OSSL_STORE_LOADER*
    signature: 'OSSL_STORE_LOADER *ossl_store_loader_fetch_by_number(OSSL_LIB_CTX
      *libctx, int scheme_id, const char *properties) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:432,1
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:433,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: ossl_store_loader_store_remove_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: get_loader_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE*
    signature: 'static OSSL_METHOD_STORE *get_loader_store(OSSL_LIB_CTX *libctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:302,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:317,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:318,1
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:309,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:324,1
    - Dst: ossl_method_store_cache_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:334,1
    - Dst: ossl_method_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:350,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:359,1
    - Dst: ossl_method_store_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:360,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:385,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:382,1
    - Dst: ossl_namemap_num2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c:381,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 4
    argNames:
    - methdata
    - id
    - scheme
    - properties
    argTypes:
    - struct loader_data_st*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 391
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 391
    functionName: inner_loader_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_meth.c
    functionUses: []
    functionsReached:
    - ossl_method_store_cache_get
    - ossl_method_store_cache_set
    - get_loader_store
    - ERR_raise
    - ossl_assert
    - ossl_namemap_num2name
    - ossl_namemap_stored
    - ERR_raise_data
    - ossl_lib_ctx_get_descriptor
    - ossl_namemap_name2num
    - ossl_method_construct
    linkageType: ''
    returnType: OSSL_STORE_LOADER*
    signature: 'static OSSL_STORE_LOADER *inner_loader_fetch(struct loader_data_st
      *methdata, int id, const char *scheme, const char *properties) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: ossl_store_search_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_STORE_INFO)
    signature: 'DEFINE_STACK_OF(OSSL_STORE_INFO) /*- * OSSL_STORE_SEARCH stuff * -----------------------
      */ struct ossl_store_search_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: OSSL_STORE_LOADER_get0_scheme
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER
      *loader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:41,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - e
    - scheme
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: OSSL_STORE_LOADER_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_LOADER*
    signature: 'OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - open_ex_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_open_ex_fn
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: OSSL_STORE_LOADER_set_open_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_open_ex (OSSL_STORE_LOADER *loader, OSSL_STORE_open_ex_fn
      open_ex_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - find_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_find_fn
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: OSSL_STORE_LOADER_set_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader, OSSL_STORE_find_fn
      find_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - close_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_close_fn
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: OSSL_STORE_LOADER_set_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *loader, OSSL_STORE_close_fn
      close_function) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_STORE_LOADER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: ossl_store_register_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - lh_OSSL_STORE_LOADER_new
    linkageType: ''
    returnType: int
    signature: 'static int ossl_store_register_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: OSSL_STORE_LOADER_get0_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'const ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER
      *loader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - open_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_open_fn
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: OSSL_STORE_LOADER_set_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_open(OSSL_STORE_LOADER *loader, OSSL_STORE_open_fn
      open_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - attach_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_attach_fn
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: OSSL_STORE_LOADER_set_attach
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_attach(OSSL_STORE_LOADER *loader, OSSL_STORE_attach_fn
      attach_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - load_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_load_fn
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: OSSL_STORE_LOADER_set_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_load(OSSL_STORE_LOADER *loader, OSSL_STORE_load_fn
      load_function) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isalpha
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:173,1
    - Dst: ossl_isalpha
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:175,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:180,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:176,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:188,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:193,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:196,1
    - Dst: ossl_store_register_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:199,1
    - Dst: lh_OSSL_STORE_LOADER_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:200,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:204,1
    - Dst: lh_OSSL_STORE_LOADER_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:201,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 207
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 207
    functionName: ossl_store_register_loader_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - strchr
    - ossl_isalpha
    - ERR_raise_data
    - lh_OSSL_STORE_LOADER_insert
    - ossl_store_register_init
    - ossl_isdigit
    - RUN_ONCE
    - lh_OSSL_STORE_LOADER_error
    linkageType: ''
    returnType: int
    signature: 'int ossl_store_register_loader_int(OSSL_STORE_LOADER *loader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_register_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:295,1
    - Dst: lh_OSSL_STORE_LOADER_doall_void
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - (*do_function)
    - do_arg
    argTypes:
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: OSSL_STORE_do_all_loaders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - lh_OSSL_STORE_LOADER_doall_void
    - ossl_store_register_init
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_do_all_loaders(void (*do_function) (const OSSL_STORE_LOADER
      *loader, void *do_arg), void *do_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:280,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: ossl_store_destroy_loaders_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - lh_OSSL_STORE_LOADER_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_store_destroy_loaders_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:148,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: store_loader_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int store_loader_cmp(const OSSL_STORE_LOADER *a, const OSSL_STORE_LOADER
      *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:255,1
    - Dst: ossl_store_register_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:262,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:263,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:259,1
    - Dst: lh_OSSL_STORE_LOADER_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:264,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:266,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 272
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 272
    functionName: ossl_store_unregister_loader_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ERR_raise_data
    - ossl_store_register_init
    - RUN_ONCE
    - lh_OSSL_STORE_LOADER_delete
    linkageType: ''
    returnType: OSSL_STORE_LOADER*
    signature: 'OSSL_STORE_LOADER *ossl_store_unregister_loader_int(const char *scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: (do_registry_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_registry_init) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_unregister_loader_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: OSSL_STORE_unregister_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - ctrl_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_ctrl_fn
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: OSSL_STORE_LOADER_set_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_ctrl(OSSL_STORE_LOADER *loader, OSSL_STORE_ctrl_fn
      ctrl_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - eof_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_eof_fn
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: OSSL_STORE_LOADER_set_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_eof(OSSL_STORE_LOADER *loader, OSSL_STORE_eof_fn
      eof_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - expect_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_expect_fn
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: OSSL_STORE_LOADER_set_expect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader, OSSL_STORE_expect_fn
      expect_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - loader
    - error_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_error_fn
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: OSSL_STORE_LOADER_set_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_LOADER_set_error(OSSL_STORE_LOADER *loader, OSSL_STORE_error_fn
      error_function) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_register_loader_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: OSSL_STORE_register_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:225,1
    - Dst: ossl_store_register_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:232,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:226,1
    - Dst: lh_OSSL_STORE_LOADER_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:234,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:236,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 242
    functionName: ossl_store_get0_loader_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - lh_OSSL_STORE_LOADER_retrieve
    - CRYPTO_THREAD_write_lock
    - ERR_raise_data
    - ossl_store_register_init
    - RUN_ONCE
    linkageType: ''
    returnType: OSSL_STORE_LOADER*
    signature: 'const OSSL_STORE_LOADER *ossl_store_get0_loader_int(const char *scheme) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - OSSL_STORE_LOADER*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: store_loader_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_register.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long store_loader_hash(const OSSL_STORE_LOADER *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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*
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: OSSL_STORE_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_open_ex
    linkageType: ''
    returnType: OSSL_STORE_CTX*
    signature: 'OSSL_STORE_CTX *OSSL_STORE_open(const char *uri, const UI_METHOD *ui_method,
      void *ui_data, OSSL_STORE_post_process_info_fn post_process, void *post_process_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:284,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - expected_type
    argTypes:
    - OSSL_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: OSSL_STORE_expect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:649,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:655,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: OSSL_STORE_INFO_get1_NAME
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: char*
    signature: 'char *OSSL_STORE_INFO_get1_NAME(const OSSL_STORE_INFO *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:690,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 695
    functionName: OSSL_STORE_INFO_get1_PARAMS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    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:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:867,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - name
    - serial
    argTypes:
    - X509_NAME*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 878
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 878
    functionName: OSSL_STORE_SEARCH_by_issuer_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_SEARCH*
    signature: 'OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_issuer_serial(X509_NAME *name,
      const ASN1_INTEGER *serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - search
    argTypes:
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: OSSL_STORE_SEARCH_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_STORE_SEARCH_free(OSSL_STORE_SEARCH *search) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:334,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:371,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:384,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:315,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:333,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:342,1
    - Dst: i2d_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:350,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:352,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:356,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:381,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:364,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:385,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:378,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:362,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:390,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:329,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:344,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:353,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:383,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:361,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 2
    argNames:
    - ctx
    - search
    argTypes:
    - OSSL_STORE_CTX*
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 398
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 398
    functionName: OSSL_STORE_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - ERR_raise
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - ASN1_INTEGER_to_BN
    - OSSL_PARAM_BLD_push_utf8_string
    - i2d_X509_NAME
    - OPENSSL_free
    - EVP_MD_get0_name
    - BN_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_find(OSSL_STORE_CTX *ctx, const OSSL_STORE_SEARCH *search) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: OSSL_STORE_INFO_get0_NAME_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_INFO_get0_NAME_description(const OSSL_STORE_INFO
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: OSSL_STORE_INFO_get0_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *OSSL_STORE_INFO_get0_PUBKEY(const OSSL_STORE_INFO *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:884,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:892,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:895,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:887,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:891,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:895,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:896,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - digest
    - bytes
    - len
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 905
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 905
    functionName: OSSL_STORE_SEARCH_by_key_fingerprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - EVP_MD_get0_name
    - OPENSSL_zalloc
    - EVP_MD_get_size
    - ERR_raise_data
    linkageType: ''
    returnType: OSSL_STORE_SEARCH*
    signature: 'OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_key_fingerprint(const EVP_MD
      *digest, const unsigned char *bytes, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:909,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:912,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - alias
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 920
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 920
    functionName: OSSL_STORE_SEARCH_by_alias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - strlen
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_SEARCH*
    signature: 'OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_alias(const char *alias) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: OSSL_STORE_INFO_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_INFO_new(int type, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: OSSL_STORE_INFO_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_INFO_get_type(const OSSL_STORE_INFO *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:669,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:676,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: OSSL_STORE_INFO_get1_NAME_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    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:
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:707,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: OSSL_STORE_INFO_get1_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    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:
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:741,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 746
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 746
    functionName: OSSL_STORE_INFO_get1_CERT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - X509_up_ref
    - ERR_raise
    linkageType: ''
    returnType: X509*
    signature: 'X509 *OSSL_STORE_INFO_get1_CERT(const OSSL_STORE_INFO *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:758,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: OSSL_STORE_INFO_get1_CRL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_CRL_up_ref
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *OSSL_STORE_INFO_get1_CRL(const OSSL_STORE_INFO *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:852,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 862
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 862
    functionName: OSSL_STORE_SEARCH_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_SEARCH*
    signature: 'OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_name(X509_NAME *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: OSSL_STORE_SEARCH_get0_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *OSSL_STORE_SEARCH_get0_serial(const OSSL_STORE_SEARCH
      *criterion) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: OSSL_STORE_INFO_get0_PARAMS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *OSSL_STORE_INFO_get0_PARAMS(const OSSL_STORE_INFO *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: OSSL_STORE_INFO_get0_PKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *OSSL_STORE_INFO_get0_PKEY(const OSSL_STORE_INFO *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: OSSL_STORE_INFO_get0_CRL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *OSSL_STORE_INFO_get0_CRL(const OSSL_STORE_INFO *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - criterion
    - length
    argTypes:
    - OSSL_STORE_SEARCH*
    - size_t*
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: OSSL_STORE_SEARCH_get0_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *OSSL_STORE_SEARCH_get0_bytes(const OSSL_STORE_SEARCH
      *criterion, size_t *length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_close_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:528,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: OSSL_STORE_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_store_close_it
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_close(OSSL_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:617,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: OSSL_STORE_INFO_new_CRL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_INFO_new_CRL(X509_CRL *crl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:802,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:814,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:802,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:815,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:816,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:818,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:819,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - search_type
    argTypes:
    - OSSL_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 847
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 847
    functionName: OSSL_STORE_supports_search
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - ossl_provider_ctx
    - OSSL_PARAM_locate_const
    - OSSL_STORE_LOADER_get0_provider
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int search_type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:51,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:46,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - loader
    - loader_ctx
    - params
    - propq
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_LOADER_CTX*
    - OSSL_PARAM
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: loader_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int loader_set_params(OSSL_STORE_LOADER *loader, OSSL_STORE_LOADER_CTX
      *loader_ctx, const OSSL_PARAM params[], const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:234,1
    - Dst: OSSL_STORE_vctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:235,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cmd
    - '...'
    argTypes:
    - OSSL_STORE_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: OSSL_STORE_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - va_end
    - OSSL_STORE_vctrl
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ...) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:406,1
    - Dst: sk_OSSL_STORE_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:413,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:410,1
    - Dst: sk_OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:414,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:419,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:458,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:461,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:472,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:473,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:465,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:473,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 476
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 476
    functionName: OSSL_STORE_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - OSSL_STORE_INFO_type_string
    - sk_OSSL_STORE_INFO_num
    - OSSL_STORE_eof
    - OSSL_TRACE
    - OSSL_STORE_INFO_free
    - ossl_pw_clear_passphrase_cache
    - sk_OSSL_STORE_INFO_free
    - sk_OSSL_STORE_INFO_shift
    - OSSL_STORE_INFO_get_type
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:724,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: OSSL_STORE_INFO_get1_PKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: OSSL_STORE_SEARCH_get0_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_SEARCH_get0_string(const OSSL_STORE_SEARCH
      *criterion) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - cmd
    - args
    argTypes:
    - OSSL_STORE_CTX*
    - int
    - va_list
    constantsTouched: []
    func_position:
      end: 271
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 271
    functionName: OSSL_STORE_vctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:127,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:129,1
    - Dst: loader_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:137,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:172,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:215,1
    - Dst: ossl_store_close_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:211,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:189,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:167,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:92,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:114,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:174,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:194,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:173,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:213,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:214,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:95,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:96,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:93,1
    - Dst: ossl_store_get0_loader_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:116,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:130,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:135,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:154,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:140,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:165,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:166,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 94
    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*
    constantsTouched: []
    func_position:
      end: 217
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 217
    functionName: OSSL_STORE_open_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - ossl_store_get0_loader_int
    - OSSL_PROVIDER_get0_provider_ctx
    - strchr
    - ERR_set_mark
    - OSSL_TRACE2
    - ossl_pw_enable_passphrase_caching
    - OPENSSL_strdup
    - loader_set_params
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_pw_set_ui_method
    - ossl_store_close_it
    - OSSL_STORE_LOADER_free
    - OPENSSL_strlcpy
    - OPENSSL_strcasecmp
    - strncmp
    - ERR_clear_last_mark
    - OSSL_STORE_LOADER_get0_provider
    - ERR_pop_to_mark
    - ERR_raise
    - OSSL_STORE_LOADER_fetch
    linkageType: ''
    returnType: OSSL_STORE_CTX*
    signature: 'OSSL_STORE_CTX *OSSL_STORE_open_ex(const char *uri, OSSL_LIB_CTX *libctx,
      const char *propq, const UI_METHOD *ui_method, void *ui_data, const OSSL_PARAM
      params[], OSSL_STORE_post_process_info_fn post_process, void *post_process_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 489
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 489
    functionName: OSSL_STORE_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_error(OSSL_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: OSSL_STORE_INFO_get0_CERT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 *OSSL_STORE_INFO_get0_CERT(const OSSL_STORE_INFO *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: OSSL_STORE_SEARCH_get0_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *OSSL_STORE_SEARCH_get0_digest(const OSSL_STORE_SEARCH
      *criterion) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1007,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1035,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:977,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:986,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:990,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1012,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1018,1
    - Dst: loader_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:996,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1020,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:978,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:989,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:999,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1011,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1019,1
    - Dst: ossl_store_get0_loader_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:980,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:988,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:994,1
    - Dst: ossl_core_bio_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1003,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:1013,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    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*
    constantsTouched: []
    func_position:
      end: 1038
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 1038
    functionName: OSSL_STORE_attach
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - ERR_pop_to_mark
    - ossl_store_get0_loader_int
    - ERR_raise
    - OSSL_PROVIDER_get0_provider_ctx
    - loader_set_params
    - OPENSSL_free
    - OSSL_STORE_LOADER_fetch
    - ossl_core_bio_new_from_bio
    - ERR_set_mark
    - OPENSSL_zalloc
    - ossl_pw_set_ui_method
    - ERR_clear_last_mark
    - ossl_core_bio_free
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: OSSL_STORE_CTX*
    signature: 'OSSL_STORE_CTX *OSSL_STORE_attach(BIO *bp, const char *scheme, OSSL_LIB_CTX
      *libctx, const char *propq, const UI_METHOD *ui_method, void *ui_data, const
      OSSL_PARAM params[], OSSL_STORE_post_process_info_fn post_process, void *post_process_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:773,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:777,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:783,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:774,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:780,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:786,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:789,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 794
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 794
    functionName: OSSL_STORE_INFO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - X509_free
    - OPENSSL_free
    - X509_CRL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_STORE_INFO_free(OSSL_STORE_INFO *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: OSSL_STORE_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_eof(OSSL_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:555,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: OSSL_STORE_INFO_new_NAME
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_INFO_new_NAME(char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:581,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: OSSL_STORE_INFO_new_PARAMS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_INFO_new_PARAMS(EVP_PKEY *params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:599,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: OSSL_STORE_INFO_new_PKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_INFO_new_PKEY(EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - type
    - info
    argTypes:
    - int
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: OSSL_STORE_INFO_get0_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_STORE_INFO_get0_data(int type, const OSSL_STORE_INFO *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: OSSL_STORE_SEARCH_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_STORE_SEARCH_get_type(const OSSL_STORE_SEARCH *criterion) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:510,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:519,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:520,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:521,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 524
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 524
    functionName: ossl_store_close_it
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - sk_OSSL_STORE_INFO_pop_free
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: int
    signature: 'static int ossl_store_close_it(OSSL_STORE_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - info
    - desc
    argTypes:
    - OSSL_STORE_INFO*
    - char*
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: OSSL_STORE_INFO_set0_NAME_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:590,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: OSSL_STORE_INFO_new_PUBKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_INFO_new_PUBKEY(EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:608,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - x509
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: OSSL_STORE_INFO_new_CERT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'OSSL_STORE_INFO *OSSL_STORE_INFO_new_CERT(X509 *x509) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: OSSL_STORE_INFO_get0_NAME
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_STORE_INFO_get0_NAME(const OSSL_STORE_INFO *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: OSSL_STORE_SEARCH_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'X509_NAME *OSSL_STORE_SEARCH_get0_name(const OSSL_STORE_SEARCH *criterion) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_destroy_loaders_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_init.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: ossl_store_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/store/store_init.c
    functionUses: []
    functionsReached:
    - ossl_store_destroy_loaders_int
    linkageType: ''
    returnType: void
    signature: 'void ossl_store_cleanup_int(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: free_pstring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void free_pstring(char **pstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pint
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: init_pint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_pint(int *pint) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:254,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:268,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:265,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:256,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:263,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:272,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - no_proxy
    - server
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: use_proxy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached:
    - strstr
    - ossl_assert
    - ossl_safe_getenv
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int use_proxy(const char *no_proxy, const char *server) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:285,1
    - Dst: use_proxy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:289,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - proxy
    - no_proxy
    - server
    - use_ssl
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 292
    functionName: OSSL_HTTP_adapt_proxy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached:
    - ossl_safe_getenv
    - use_proxy
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_HTTP_adapt_proxy(const char *proxy, const char *no_proxy,
      const char *server, int use_ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: init_pstring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init_pstring(char **pstr) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:59,1
    - Dst: init_pint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:63,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:104,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:110,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:132,1
    - Dst: copy_substring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:156,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:173,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:182,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:186,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:187,1
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:60,1
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:64,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:96,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:106,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:102,1
    - Dst: copy_substring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:157,1
    - Dst: copy_substring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:158,1
    - Dst: copy_substring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:159,1
    - Dst: copy_substring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:160,1
    - Dst: copy_substring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:161,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:185,1
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:61,1
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:65,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:108,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:135,1
    - Dst: copy_substring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:166,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:184,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:183,1
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:62,1
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:69,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:75,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:120,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:82,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:87,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:138,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:148,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:171,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:178,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 148
    argCount: 9
    argNames:
    - url
    - pscheme
    - puser
    - phost
    - pport
    - pport_num
    - ppath
    - pquery
    - pfrag
    argTypes:
    - char*
    - char**
    - char**
    - char**
    - char**
    - int*
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 189
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 189
    functionName: OSSL_parse_url
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - init_pstring
    - strchr
    - copy_substring
    - sscanf
    - free_pstring
    - BIO_snprintf
    - ERR_raise_data
    - init_pint
    - OPENSSL_malloc
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int OSSL_parse_url(const char *url, char **pscheme, char **puser,
      char **phost, char **pport, int *pport_num, char **ppath, char **pquery, char
      **pfrag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - start
    - end
    argTypes:
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: copy_substring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: 'static int copy_substring(char **dest, const char *start, const char
      *end) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:210,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:216,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:220,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:240,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:222,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:222,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:244,1
    - Dst: init_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:211,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:227,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:241,1
    - Dst: OSSL_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:201,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:206,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:212,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:218,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:242,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:213,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:235,1
    - Dst: free_pstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c:243,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 46
    argCount: 9
    argNames:
    - url
    - pssl
    - puser
    - phost
    - pport
    - pport_num
    - ppath
    - pquery
    - pfrag
    argTypes:
    - char*
    - int*
    - char**
    - char**
    - char**
    - int*
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 246
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 246
    functionName: OSSL_HTTP_parse_url
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - ossl_assert
    - init_pstring
    - strcmp
    - OPENSSL_free
    - sscanf
    - free_pstring
    - OSSL_parse_url
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_parse_url(const char *url, int *pssl, char **puser,
      char **phost, char **pport, int *pport_num, char **ppath, char **pquery, char
      **pfrag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1052,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1063,1
    - Dst: OSSL_HTTP_REQ_CTX_exchange
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1059,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1069,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1066,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1070,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1071,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1082,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1086,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1089,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1094,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1091,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1100,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 2
    argNames:
    - rctx
    - redirection_url
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char**
    constantsTouched: []
    func_position:
      end: 1103
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1103
    functionName: OSSL_HTTP_exchange
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_GET_REASON
    - ERR_raise
    - ERR_peek_error
    - BIO_up_ref
    - ERR_GET_LIB
    - BIO_snprintf
    - OSSL_HTTP_REQ_CTX_exchange
    - 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/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1108,1
    - Dst: HAS_PREFIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1115,1
    - Dst: HAS_PREFIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - n_redir
    - old_url
    - new_url
    argTypes:
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1119
    functionName: redirection_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - HAS_PREFIX
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int redirection_ok(int n_redir, const char *old_url, const
      char *new_url) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:343,1
    - Dst: set1_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:344,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - rctx
    - content_type
    - it
    - req
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - ASN1_ITEM*
    - ASN1_VALUE*
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: OSSL_HTTP_REQ_CTX_set1_req
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d_mem_bio
    - set1_content
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_REQ_CTX_set1_req(OSSL_HTTP_REQ_CTX *rctx, const char
      *content_type, const ASN1_ITEM *it, const ASN1_VALUE *req) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_open
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1226,1
    - Dst: OSSL_HTTP_exchange
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1235,1
    - Dst: OSSL_HTTP_set1_request
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1232,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1236,1
    - Dst: OSSL_HTTP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1237,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1238,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 26
    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(CONF_VALUE)*
    - char*
    - BIO*
    - char*
    - int
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1247
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1247
    functionName: OSSL_HTTP_transfer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_set1_request
    - BIO_free
    - OSSL_HTTP_exchange
    - OSSL_HTTP_is_alive
    - OSSL_HTTP_close
    - OSSL_HTTP_open
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *OSSL_HTTP_transfer(OSSL_HTTP_REQ_CTX **prctx, const char *server,
      const char *port, const char *path, int use_ssl, const char *proxy, const char
      *no_proxy, BIO *bio, BIO *rbio, OSSL_HTTP_bio_cb_t bio_update_fn, void *arg,
      int buf_size, const STACK_OF(CONF_VALUE) *headers, const char *content_type,
      BIO *req, const char *expected_ct, int expect_asn1, size_t max_resp_len, int
      timeout, int keep_alive) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:864,1
    - Dst: BIO_new_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:875,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:872,1
    - Dst: BIO_set_conn_port
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:879,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 5
    argNames:
    - server
    - /* optionally includes ":port" */
    - server_port
    - /* explicit server port */
    - use_ssl
    - proxy
    - /* optionally includes ":port" */
    - proxy_port
    - /* explicit proxy port */
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 883
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 883
    functionName: http_new_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - strchr
    - BIO_new_connect
    - BIO_set_conn_port
    - ossl_assert
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *http_new_bio(const char *server /* optionally includes
      ":port" */, const char *server_port /* explicit server port */, int use_ssl,
      const char *proxy /* optionally includes ":port" */, const char *proxy_port
      /* explicit proxy port */) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:94,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:106,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:102,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - wbio
    - rbio
    - buf_size
    argTypes:
    - BIO*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: OSSL_HTTP_REQ_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX*
    signature: 'OSSL_HTTP_REQ_CTX *OSSL_HTTP_REQ_CTX_new(BIO *wbio, BIO *rbio, int
      buf_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: OSSL_HTTP_REQ_CTX_get_resp_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: 'size_t OSSL_HTTP_REQ_CTX_get_resp_len(const OSSL_HTTP_REQ_CTX *rctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:947,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:962,1
    - Dst: http_new_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:968,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:970,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:982,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:979,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:936,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:960,1
    - Dst: http_req_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1000,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:940,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1009,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:955,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:964,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:969,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:974,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:995,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1007,1
    - Dst: BIO_do_connect_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:980,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 69
    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
    constantsTouched: []
    func_position:
      end: 1012
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 1012
    functionName: OSSL_HTTP_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - ERR_raise
    - BIO_do_connect_retry
    - ERR_pop_to_mark
    - OSSL_HTTP_adapt_proxy
    - strchr
    - OPENSSL_free
    - ERR_set_mark
    - http_new_bio
    - ERR_clear_last_mark
    - OSSL_HTTP_parse_url
    - http_req_ctx_new
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX*
    signature: 'OSSL_HTTP_REQ_CTX *OSSL_HTTP_open(const char *server, const char *port,
      const char *proxy, const char *no_proxy, int use_ssl, BIO *bio, BIO *rbio, OSSL_HTTP_bio_cb_t
      bio_update_fn, void *arg, int buf_size, int overall_timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - rctx
    - len
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: OSSL_HTTP_REQ_CTX_set_max_response_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'void OSSL_HTTP_REQ_CTX_set_max_response_length(OSSL_HTTP_REQ_CTX *rctx,
      unsigned long len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1023,1
    - Dst: OSSL_HTTP_REQ_CTX_set_expected
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1037,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1033,1
    - Dst: add1_headers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1036,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1028,1
    - Dst: set1_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1039,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    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(CONF_VALUE)*
    - char*
    - BIO*
    - char*
    - int
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1040
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1040
    functionName: OSSL_HTTP_set1_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - add1_headers
    - ERR_raise
    - OSSL_HTTP_REQ_CTX_set_request_line
    - OSSL_HTTP_REQ_CTX_set_expected
    - set1_content
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_set1_request(OSSL_HTTP_REQ_CTX *rctx, const char *path,
      const STACK_OF(CONF_VALUE) *headers, const char *content_type, BIO *req, const
      char *expected_content_type, int expect_asn1, size_t max_resp_len, int timeout,
      int keep_alive) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:377,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:389,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:392,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:395,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:386,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:399,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    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
    constantsTouched: []
    func_position:
      end: 401
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 401
    functionName: http_req_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_REQ_CTX_new
    - OPENSSL_strdup
    - OSSL_HTTP_REQ_CTX_free
    - time
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX*
    signature: 'static OSSL_HTTP_REQ_CTX *http_req_ctx_new(int free_wbio, BIO *wbio,
      BIO *rbio, OSSL_HTTP_bio_cb_t bio_update_fn, void *arg, int use_ssl, const char
      *proxy, const char *server, const char *port, int buf_size, int overall_timeout) '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_line
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:559,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:604,1
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:649,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:656,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:667,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:700,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:725,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:727,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:728,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:768,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:828,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:711,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:762,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:786,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:545,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:553,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:589,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:605,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:601,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:659,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:693,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:706,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:712,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:723,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:752,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:792,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:807,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:532,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:550,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:591,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:607,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:564,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:579,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:628,1
    - Dst: parse_http_line1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:674,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:698,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:713,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:722,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:730,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:548,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:547,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:536,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:557,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:571,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:609,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:621,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:648,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:684,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:696,1
    - Dst: check_set_resp_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:820,1
    - Dst: check_set_resp_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:735,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 234
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    constantsTouched: []
    func_position:
      end: 835
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 835
    functionName: OSSL_HTTP_REQ_CTX_nbio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - strchr
    - memchr
    - ERR_set_mark
    - BIO_get_mem_data
    - BIO_write
    - BIO_get_line
    - ERR_raise_data
    - BIO_should_retry
    - OPENSSL_strcasecmp
    - BIO_reset
    - ossl_isspace
    - BIO_eof
    - ERR_clear_last_mark
    - parse_http_line1
    - ERR_pop_to_mark
    - ERR_raise
    - check_set_resp_len
    - BIO_read
    - BIO_flush
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_REQ_CTX_nbio(OSSL_HTTP_REQ_CTX *rctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:892,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:911,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:909,1
    - Dst: OSSL_HTTP_REQ_CTX_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:897,1
    - Dst: BIO_wait
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:902,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    constantsTouched: []
    func_position:
      end: 916
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 916
    functionName: OSSL_HTTP_REQ_CTX_exchange
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: OSSL_HTTP_is_alive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_is_alive(const OSSL_HTTP_REQ_CTX *rctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:356,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:364,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:357,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:360,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:358,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - rctx
    - headers
    - host
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - STACK_OF(CONF_VALUE)*
    - char*
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: add1_headers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_REQ_CTX_add1_header
    - OPENSSL_strcasecmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    linkageType: ''
    returnType: int
    signature: 'static int add1_headers(OSSL_HTTP_REQ_CTX *rctx, const STACK_OF(CONF_VALUE)
      *headers, const char *host) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:506,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - max_time
    - ptimeout
    argTypes:
    - time_t
    - int*
    constantsTouched: []
    func_position:
      end: 517
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 517
    functionName: may_still_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - time
    linkageType: ''
    returnType: int
    signature: 'static int may_still_retry(time_t max_time, int *ptimeout) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1318,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1333,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1346,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1356,1
    - Dst: base64encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1344,1
    - Dst: BIO_wait
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1368,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1388,1
    - Dst: HAS_PREFIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1404,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1409,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1425,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1305,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1307,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1321,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1329,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1347,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1370,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1380,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1393,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1432,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1434,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1431,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1301,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1305,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1337,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1347,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1341,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1362,1
    - Dst: HAS_PREFIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1394,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1395,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1396,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1430,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1323,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1338,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1350,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1359,1
    - Dst: HAS_PREFIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1386,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1387,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1406,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1411,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 105
    argCount: 8
    argNames:
    - bio
    - server
    - port
    - proxyuser
    - proxypass
    - timeout
    - bio_err
    - prog
    argTypes:
    - BIO*
    - char*
    - char*
    - char*
    - char*
    - int
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 1437
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1437
    functionName: OSSL_HTTP_proxy_connect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - BIO_f_buffer
    - BIO_gets
    - BIO_free
    - BIO_snprintf
    - OPENSSL_clear_free
    - HAS_PREFIX
    - BIO_new
    - OPENSSL_malloc
    - BIO_printf
    - OPENSSL_free
    - ERR_raise_data
    - BIO_should_retry
    - time
    - BIO_pop
    - ossl_isspace
    - base64encode
    - strlen
    - BIO_wait
    - ERR_raise
    - BIO_flush
    - BIO_push
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char
      *port, const char *proxyuser, const char *proxypass, int timeout, BIO *bio_err,
      const char *prog) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:124,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:128,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:127,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:129,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:126,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:130,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:131,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:132,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: OSSL_HTTP_REQ_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_HTTP_REQ_CTX_free(OSSL_HTTP_REQ_CTX *rctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:174,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:177,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:182,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:190,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:192,1
    - Dst: HAS_PREFIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:204,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:211,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 5
    argNames:
    - rctx
    - method_POST
    - server
    - port
    - path
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - int
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 217
    functionName: OSSL_HTTP_REQ_CTX_set_request_line
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_raise
    - BIO_free
    - BIO_s_mem
    - HAS_PREFIX
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_REQ_CTX_set_request_line(OSSL_HTTP_REQ_CTX *rctx, int
      method_POST, const char *server, const char *port, const char *path) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HAS_PREFIX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:414,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:420,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:417,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:426,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:432,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:442,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:447,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:457,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:457,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:471,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:473,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:483,1
    - Dst: ossl_isprint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:480,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 53
    argCount: 2
    argNames:
    - line
    - found_keep_alive
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 485
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 485
    functionName: parse_http_line1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ossl_isprint
    - ERR_raise_data
    - ossl_isspace
    - HAS_PREFIX
    - strtoul
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int parse_http_line1(char *line, int *found_keep_alive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:844,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:846,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - rctx
    - pval
    - it
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: OSSL_HTTP_REQ_CTX_nbio_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i
    - BIO_get_mem_data
    - OSSL_HTTP_REQ_CTX_nbio
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_REQ_CTX_nbio_d2i(OSSL_HTTP_REQ_CTX *rctx, ASN1_VALUE
      **pval, const ASN1_ITEM *it) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1137,1
    - Dst: OSSL_HTTP_open
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1151,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1173,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1178,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1189,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1195,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1198,1
    - Dst: OSSL_HTTP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1199,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1168,1
    - Dst: redirection_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1170,1
    - Dst: may_still_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1171,1
    - Dst: OSSL_HTTP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1180,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1182,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1143,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1147,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1162,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1172,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1176,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1179,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1183,1
    - Dst: OSSL_HTTP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1190,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1140,1
    - Dst: OSSL_HTTP_set1_request
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1156,1
    - Dst: OSSL_HTTP_exchange
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1165,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1188,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1206,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    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(CONF_VALUE)*
    - char*
    - int
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1208
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1208
    functionName: OSSL_HTTP_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - may_still_retry
    - OSSL_HTTP_set1_request
    - time
    - BIO_free
    - OSSL_HTTP_REQ_CTX_free
    - OSSL_HTTP_exchange
    - OPENSSL_free
    - redirection_ok
    - BIO_reset
    - OSSL_HTTP_close
    - OSSL_HTTP_open
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char
      *no_proxy, BIO *bio, BIO *rbio, OSSL_HTTP_bio_cb_t bio_update_fn, void *arg,
      int buf_size, const STACK_OF(CONF_VALUE) *headers, const char *expected_ct,
      int expect_asn1, size_t max_resp_len, int timeout) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1278,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1284,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1283,1
    - Dst: EVP_EncodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1288
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1288
    functionName: base64encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - EVP_EncodeBlock
    - ossl_assert
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *base64encode(const void *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: OSSL_HTTP_REQ_CTX_get0_mem_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *OSSL_HTTP_REQ_CTX_get0_mem_bio(const OSSL_HTTP_REQ_CTX *rctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:223,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:236,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:231,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:227,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:239,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - rctx
    - name
    - value
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 240
    functionName: OSSL_HTTP_REQ_CTX_add1_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_puts
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_REQ_CTX_add1_header(OSSL_HTTP_REQ_CTX *rctx, const char
      *name, const char *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:247,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:265,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:253,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:260,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - rctx
    - content_type
    - asn1
    - timeout
    - keep_alive
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 270
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 270
    functionName: OSSL_HTTP_REQ_CTX_set_expected
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - time
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_REQ_CTX_set_expected(OSSL_HTTP_REQ_CTX *rctx, const
      char *content_type, int asn1, int timeout, int keep_alive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:490,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - rctx
    - len
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: check_set_resp_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: 'static int check_set_resp_len(OSSL_HTTP_REQ_CTX *rctx, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c:1262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - rctx
    - ok
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1264
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1264
    functionName: OSSL_HTTP_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_client.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_REQ_CTX_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_HTTP_close(OSSL_HTTP_REQ_CTX *rctx, int ok) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_err.c:77,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_err.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: ossl_err_load_HTTP_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/http/http_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_HTTP_strings(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:488,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:490,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:497,1
    - Dst: MAKE_U32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:515,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:518,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:519,1
    - Dst: MAKE_U32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:525,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:528,1
    - Dst: PUT_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:531,1
    - Dst: PUT_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:533,1
    - Dst: ARIA_SUBST_DIFF_EVEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:501,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:505,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:514,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:524,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:491,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:489,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:496,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:502,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:512,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:511,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:521,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:522,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:529,1
    - Dst: PUT_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:532,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:493,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:513,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:516,1
    - Dst: MAKE_U32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:510,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:506,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:517,1
    - Dst: MAKE_U32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:520,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:523,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:526,1
    - Dst: GET_U8_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:527,1
    - Dst: PUT_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:534,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - ARIA_KEY*
    constantsTouched: []
    func_position:
      end: 535
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 535
    functionName: ossl_aria_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - ARIA_SUBST_DIFF_EVEN
    - PUT_U32_BE
    - GET_U8_BE
    - ARIA_SUBST_DIFF_ODD
    - ARIA_ADD_ROUND_KEY
    - MAKE_U32
    - GET_U32_BE
    linkageType: ''
    returnType: void
    signature: 'void ossl_aria_encrypt(const unsigned char *in, unsigned char *out,
      const ARIA_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: rot31r
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: 'static void rot31r(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128
      *z) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:558,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:560,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:561,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:559,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:568,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:574,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:617,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:626,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:639,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:648,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:575,1
    - Dst: ARIA_SUBST_DIFF_EVEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:600,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:624,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:637,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:646,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:651,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:656,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:571,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:635,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:630,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:644,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:654,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:663,1
    - Dst: GET_U32_BE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:572,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:633,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:628,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:642,1
    - Dst: ARIA_GSRK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:660,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 110
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    constantsTouched: []
    func_position:
      end: 667
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 667
    functionName: ossl_aria_set_encrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - ARIA_GSRK
    - ARIA_SUBST_DIFF_EVEN
    - ARIA_SUBST_DIFF_ODD
    - GET_U32_BE
    linkageType: ''
    returnType: int
    signature: 'int ossl_aria_set_encrypt_key(const unsigned char *userKey, const
      int bits, ARIA_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: rot31l
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: 'static void rot31l(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128
      *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1094,1
    - Dst: FO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1096,1
    - Dst: sl2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1100,1
    - Dst: FO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1099,1
    - Dst: FE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1097,1
    - Dst: xor128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - o
    - pin
    - rounds
    - keys
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1102
    functionName: do_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - FO
    - memcpy
    - FE
    - sl2
    - xor128
    linkageType: ''
    returnType: void
    signature: 'static void do_encrypt(unsigned char *o, const unsigned char *pin,
      unsigned int rounds, const ARIA_u128 *keys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: rot61l
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: 'static void rot61l(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128
      *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sl2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1080,1
    - Dst: a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - o
    - d
    - rk
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1082
    functionName: FE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - sl2
    - a
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void FE(ARIA_u128 *o, const ARIA_u128 *d, const
      ARIA_u128 *rk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - n
    - o
    - xor
    - z
    argTypes:
    - unsigned int
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 939
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 939
    functionName: rotnr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void rotnr(unsigned int n, ARIA_u128 *o, const
      ARIA_u128 *xor, const ARIA_u128 *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - o
    - x
    - y
    argTypes:
    - ARIA_c128
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 1014
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1014
    functionName: sl2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sl2(ARIA_c128 o, const ARIA_u128 *x, const ARIA_u128 *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sl1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1066,1
    - Dst: a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - o
    - d
    - rk
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1068
    functionName: FO
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - sl1
    - a
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void FO(ARIA_u128 *o, const ARIA_u128 *d, const
      ARIA_u128 *rk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1198,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1203,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1206,1
    - Dst: a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1209
    functionName: ossl_aria_set_decrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - a
    - memcpy
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'int ossl_aria_set_decrypt_key(const unsigned char *userKey, const
      int bits, ARIA_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: rot19l
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: 'static void rot19l(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128
      *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - o
    - x
    - y
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 999
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 999
    functionName: sl1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sl1(ARIA_u128 *o, const ARIA_u128 *x, const ARIA_u128
      *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 113
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1054
    functionName: a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void a(ARIA_u128 *y, const ARIA_u128 *x) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1129,1
    - Dst: rot31r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1168,1
    - Dst: rot61l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1173,1
    - Dst: rot61l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1175,1
    - Dst: rot31l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1184,1
    - Dst: rot19l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1185,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1155,1
    - Dst: rot19r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1166,1
    - Dst: rot31r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1171,1
    - Dst: rot61l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1174,1
    - Dst: rot31l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1180,1
    - Dst: rot31l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1181,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1138,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1147,1
    - Dst: rot19r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1165,1
    - Dst: rot31r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1170,1
    - Dst: rot19r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1163,1
    - Dst: rot31l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1178,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1146,1
    - Dst: FO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1159,1
    - Dst: xor128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1159,1
    - Dst: FE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1160,1
    - Dst: xor128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1160,1
    - Dst: FO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1161,1
    - Dst: rot19r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1164,1
    - Dst: xor128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1161,1
    - Dst: rot31r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1169,1
    - Dst: rot61l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1176,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1189
    functionName: ossl_aria_set_encrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - FO
    - rot31l
    - rot19r
    - memcpy
    - rot31r
    - FE
    - rot61l
    - rot19l
    - xor128
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_aria_set_encrypt_key(const unsigned char *userKey, const
      int bits, ARIA_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:704,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:706,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:724,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:741,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:708,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:717,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:738,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:720,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:737,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:742,1
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:678,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:692,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:705,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:709,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:722,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:743,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:703,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:710,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:719,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:718,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:723,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:736,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    constantsTouched: []
    func_position:
      end: 751
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 751
    functionName: ossl_aria_set_decrypt_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - ARIA_DIFF_WORD
    - memcpy
    - ARIA_DEC_DIFF_BYTE
    - ARIA_DIFF_BYTE
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'int ossl_aria_set_decrypt_key(const unsigned char *userKey, const
      int bits, ARIA_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - o
    - x
    - y
    argTypes:
    - ARIA_c128
    - ARIA_c128
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 920
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 920
    functionName: xor128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void xor128(ARIA_c128 o, const ARIA_c128 x, const ARIA_u128
      *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: rot19r
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: 'static void rot19r(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128
      *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1111,1
    - Dst: do_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c:1112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - ARIA_KEY*
    constantsTouched: []
    func_position:
      end: 1113
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1113
    functionName: ossl_aria_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/aria/aria.c
    functionUses: []
    functionsReached:
    - do_encrypt
    - assert
    linkageType: ''
    returnType: void
    signature: 'void ossl_aria_encrypt(const unsigned char *in, unsigned char *out,
      const ARIA_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_err.c:41,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_err.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: ossl_err_load_PROP_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_PROP_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - t
    - m
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: match_ch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - skip_space
    linkageType: ''
    returnType: int
    signature: 'static int match_ch(const char *t[], char m) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isprint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:233,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:241,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:235,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:233,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:240,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:247,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:248,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:250,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - t
    - res
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PROPERTY_DEFINITION*
    - int
    constantsTouched: []
    func_position:
      end: 253
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 253
    functionName: parse_unquoted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - ossl_isprint
    - skip_space
    - ERR_raise_data
    - ossl_isspace
    - ossl_property_value
    linkageType: ''
    returnType: int
    signature: 'static int parse_unquoted(OSSL_LIB_CTX *ctx, const char *t[], OSSL_PROPERTY_DEFINITION
      *res, const int create) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - OSSL_PROPERTY_DEFINITION**
    - OSSL_PROPERTY_DEFINITION**
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: pd_compare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pd_compare(const OSSL_PROPERTY_DEFINITION *const *p1, const
      OSSL_PROPERTY_DEFINITION *const *p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROPERTY_DEFINITION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:314,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:319,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:326,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:331,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:322,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:332,1
    - Dst: ossl_property_name_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - sk
    argTypes:
    - OSSL_LIB_CTX*
    - STACK_OF(OSSL_PROPERTY_DEFINITION)*
    constantsTouched: []
    func_position:
      end: 342
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 342
    functionName: stack_to_property_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - sk_OSSL_PROPERTY_DEFINITION_sort
    - ossl_property_name_str
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_value
    - sk_OSSL_PROPERTY_DEFINITION_num
    - ERR_raise_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST*
    signature: 'static OSSL_PROPERTY_LIST *stack_to_property_list(OSSL_LIB_CTX *ctx,
      STACK_OF(OSSL_PROPERTY_DEFINITION) *sk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: skip_space
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - ossl_isspace
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_PROPERTY_DEFINITION)*
    signature: 'DEFINE_STACK_OF(OSSL_PROPERTY_DEFINITION) static const char *skip_space(const
      char *s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:263,1
    - Dst: parse_number
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:269,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:274,1
    - Dst: parse_hex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:273,1
    - Dst: parse_number
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:266,1
    - Dst: parse_oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:276,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:277,1
    - Dst: parse_number
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:278,1
    - Dst: ossl_isalpha
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:279,1
    - Dst: parse_unquoted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:280,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - t
    - res
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PROPERTY_DEFINITION*
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: parse_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - parse_hex
    - ossl_isalpha
    - parse_string
    - parse_number
    - parse_oct
    - ossl_isdigit
    - parse_unquoted
    linkageType: ''
    returnType: int
    signature: 'static int parse_value(OSSL_LIB_CTX *ctx, const char *t[], OSSL_PROPERTY_DEFINITION
      *res, int create) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pd
    argTypes:
    - OSSL_PROPERTY_DEFINITION*
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: pd_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void pd_free(OSSL_PROPERTY_DEFINITION *pd) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:348,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:355,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:360,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:352,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:363,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:365,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:369,1
    - Dst: match_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:373,1
    - Dst: parse_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:374,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:375,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:385,1
    - Dst: match_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:388,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:398,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:399,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:391,1
    - Dst: stack_to_property_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:395,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - defn
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 401
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 401
    functionName: ossl_parse_property
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - match_ch
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_push
    - skip_space
    - STACK_OF
    - sk_OSSL_PROPERTY_DEFINITION_new
    - ERR_raise_data
    - stack_to_property_list
    - parse_name
    - sk_OSSL_PROPERTY_DEFINITION_pop_free
    - OPENSSL_malloc
    - parse_value
    - memset
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST*
    signature: 'OSSL_PROPERTY_LIST *ossl_parse_property(OSSL_LIB_CTX *ctx, const char
      *defn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:547,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:565,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:570,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_PROPERTY_LIST*
    - OSSL_PROPERTY_LIST*
    constantsTouched: []
    func_position:
      end: 572
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 572
    functionName: ossl_property_merge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST*
    signature: 'OSSL_PROPERTY_LIST *ossl_property_merge(const OSSL_PROPERTY_LIST *a,
      const OSSL_PROPERTY_LIST *b) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:625,1
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:650,1
    - Dst: ossl_isalnum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:634,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:656,1
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:662,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - str
    - buf
    - remain
    - needed
    argTypes:
    - char*
    - char**
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 669
    functionName: put_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - put_char
    - memcpy
    - ossl_isalnum
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void put_str(const char *str, char **buf, size_t *remain, size_t
      *needed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:687,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - val
    - buf
    - remain
    - needed
    argTypes:
    - int64_t
    - char**
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 695
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 695
    functionName: put_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void put_num(int64_t val, char **buf, size_t *remain, size_t
      *needed) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:719,1
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:724,1
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:722,1
    - Dst: ossl_property_name_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:726,1
    - Dst: put_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:729,1
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:733,1
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:736,1
    - Dst: ossl_property_value_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:740,1
    - Dst: put_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:743,1
    - Dst: put_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:747,1
    - Dst: put_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:760,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - list
    - buf
    - bufsize
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_LIST*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 762
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 762
    functionName: ossl_property_list_to_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - ossl_property_value_str
    - ossl_property_name_str
    - put_char
    - put_num
    - put_str
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_property_list_to_string(OSSL_LIB_CTX *ctx, const OSSL_PROPERTY_LIST
      *list, char *buf, size_t bufsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROPERTY_LIST*
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: ossl_property_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_property_free(OSSL_PROPERTY_LIST *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:101,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:102,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:108,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:113,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:114,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:115,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - char*
    - OSSL_PROPERTY_DEFINITION*
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: parse_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - skip_space
    - ossl_isdigit
    - ERR_raise_data
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: 'static int parse_number(const char *t[], OSSL_PROPERTY_DEFINITION
      *res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:48,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - t
    - m
    - m_len
    argTypes:
    - char*
    - char
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - skip_space
    linkageType: ''
    returnType: int
    signature: 'static int match(const char *t[], const char m[], size_t m_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:168,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:169,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:180,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:174,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:181,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:182,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - char*
    - OSSL_PROPERTY_DEFINITION*
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: parse_oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - skip_space
    - ossl_isdigit
    - ERR_raise_data
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: 'static int parse_oct(const char *t[], OSSL_PROPERTY_DEFINITION *res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:586,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:595,1
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:587,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 602
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 602
    functionName: ossl_property_parse_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - ossl_property_value
    - ossl_property_name
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_property_parse_init(OSSL_LIB_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isalpha
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:65,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:72,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:66,1
    - Dst: ossl_isalnum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:75,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:87,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:90,1
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:91,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - t
    - create
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - OSSL_PROPERTY_IDX*
    constantsTouched: []
    func_position:
      end: 93
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 93
    functionName: parse_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - ossl_isalnum
    - ossl_isalpha
    - skip_space
    - ERR_raise_data
    - ossl_property_name
    linkageType: ''
    returnType: int
    signature: 'static int parse_name(OSSL_LIB_CTX *ctx, const char *t[], int create,
      OSSL_PROPERTY_IDX *idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:132,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:135,1
    - Dst: ossl_isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:134,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:137,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:143,1
    - Dst: ossl_isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:150,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:151,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:152,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - char*
    - OSSL_PROPERTY_DEFINITION*
    constantsTouched: []
    func_position:
      end: 160
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 160
    functionName: parse_hex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - ossl_isxdigit
    - skip_space
    - ERR_raise_data
    - ossl_isspace
    - ossl_isdigit
    linkageType: ''
    returnType: int
    signature: 'static int parse_hex(const char *t[], OSSL_PROPERTY_DEFINITION *res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:208,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:216,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:214,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - t
    - delim
    - res
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char
    - OSSL_PROPERTY_DEFINITION*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 221
    functionName: parse_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - ossl_property_value
    - ERR_raise_data
    - skip_space
    linkageType: ''
    returnType: int
    signature: 'static int parse_string(OSSL_LIB_CTX *ctx, const char *t[], char delim,
      OSSL_PROPERTY_DEFINITION *res, const int create) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - ch
    - buf
    - remain
    - needed
    argTypes:
    - char
    - char**
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 617
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 617
    functionName: put_char
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void put_char(char ch, char **buf, size_t *remain, size_t *needed) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:490,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 2
    argNames:
    - query
    - defn
    argTypes:
    - OSSL_PROPERTY_LIST*
    - OSSL_PROPERTY_LIST*
    constantsTouched: []
    func_position:
      end: 526
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 526
    functionName: ossl_property_match_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_property_match_count(const OSSL_PROPERTY_LIST *query, const
      OSSL_PROPERTY_LIST *defn) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROPERTY_DEFINITION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:411,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:420,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:417,1
    - Dst: match_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:422,1
    - Dst: skip_space
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:414,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:425,1
    - Dst: match_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:429,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:430,1
    - Dst: match_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:433,1
    - Dst: MATCH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:435,1
    - Dst: stack_to_property_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:458,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:448,1
    - Dst: match_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:451,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:461,1
    - Dst: parse_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:444,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:462,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c:454,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 3
    argNames:
    - ctx
    - s
    - create_values
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 464
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 464
    functionName: ossl_parse_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_parse.c
    functionUses: []
    functionsReached:
    - match_ch
    - MATCH
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_push
    - skip_space
    - stack_to_property_list
    - sk_OSSL_PROPERTY_DEFINITION_new
    - ERR_raise_data
    - parse_name
    - sk_OSSL_PROPERTY_DEFINITION_pop_free
    - OPENSSL_malloc
    - parse_value
    - memset
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST*
    signature: 'OSSL_PROPERTY_LIST *ossl_parse_query(OSSL_LIB_CTX *ctx, const char
      *s, int create_values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PROPERTY_DEFN_ELEM*
    - PROPERTY_DEFN_ELEM*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: property_defn_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int property_defn_cmp(const PROPERTY_DEFN_ELEM *a, const PROPERTY_DEFN_ELEM
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_PROPERTY_DEFN_ELEM_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:54,1
    - Dst: lh_PROPERTY_DEFN_ELEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vproperty_defns
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: property_defns_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c
    functionUses: []
    functionsReached:
    - lh_PROPERTY_DEFN_ELEM_free
    - lh_PROPERTY_DEFN_ELEM_doall
    linkageType: ''
    returnType: void
    signature: 'static void property_defns_free(void *vproperty_defns) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:99,1
    - Dst: ossl_lib_ctx_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:111,1
    - Dst: lh_PROPERTY_DEFN_ELEM_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:115,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:102,1
    - Dst: lh_PROPERTY_DEFN_ELEM_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:119,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:120,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:124,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:125,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:129,1
    - Dst: lh_PROPERTY_DEFN_ELEM_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:130,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:131,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:137,1
    - Dst: lh_PROPERTY_DEFN_ELEM_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:134,1
    - Dst: ossl_lib_ctx_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:140,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - prop
    - pl
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PROPERTY_LIST**
    constantsTouched: []
    func_position:
      end: 142
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 142
    functionName: ossl_prop_defn_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c
    functionUses: []
    functionsReached:
    - lh_PROPERTY_DEFN_ELEM_error
    - ossl_assert
    - lh_PROPERTY_DEFN_ELEM_retrieve
    - memcpy
    - OPENSSL_free
    - LHASH_OF
    - lh_PROPERTY_DEFN_ELEM_delete
    - lh_PROPERTY_DEFN_ELEM_insert
    - ossl_lib_ctx_unlock
    - ossl_lib_ctx_get_data
    - ossl_property_free
    - OPENSSL_malloc
    - ossl_lib_ctx_write_lock
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_prop_defn_set(OSSL_LIB_CTX *ctx, const char *prop, OSSL_PROPERTY_LIST
      **pl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PROPERTY_DEFN_ELEM*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: property_defn_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long property_defn_hash(const PROPERTY_DEFN_ELEM *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_PROPERTY_DEFN_ELEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: property_defns_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c
    functionUses: []
    functionsReached:
    - lh_PROPERTY_DEFN_ELEM_new
    linkageType: ''
    returnType: void*
    signature: 'static void *property_defns_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:45,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - elem
    argTypes:
    - PROPERTY_DEFN_ELEM*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: property_defn_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_property_free
    linkageType: ''
    returnType: void
    signature: 'static void property_defn_free(PROPERTY_DEFN_ELEM *elem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:73,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:75,1
    - Dst: lh_PROPERTY_DEFN_ELEM_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:82,1
    - Dst: ossl_lib_ctx_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:83,1
    - Dst: ossl_lib_ctx_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:78,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - prop
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: ossl_prop_defn_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/defn_cache.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - lh_PROPERTY_DEFN_ELEM_retrieve
    - ossl_lib_ctx_unlock
    - ossl_lib_ctx_read_lock
    - ossl_lib_ctx_get_data
    - LHASH_OF
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST*
    signature: 'OSSL_PROPERTY_LIST *ossl_prop_defn_get(OSSL_LIB_CTX *ctx, const char
      *prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - keyp
    - compare
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: property_idx_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int property_idx_cmp(const void *keyp, const void *compare) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - prop
    argTypes:
    - OSSL_PROPERTY_DEFINITION*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ossl_property_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROPERTY_TYPE
    signature: 'OSSL_PROPERTY_TYPE ossl_property_get_type(const OSSL_PROPERTY_DEFINITION
      *prop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - query
    argTypes:
    - OSSL_PROPERTY_LIST*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ossl_property_has_optional
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_property_has_optional(const OSSL_PROPERTY_LIST *query) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_value_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - prop
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_DEFINITION*
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: ossl_property_get_string_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c
    functionUses: []
    functionsReached:
    - ossl_property_value_str
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_property_get_string_value(OSSL_LIB_CTX *libctx, const
      OSSL_PROPERTY_DEFINITION *prop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c:29,1
    - Dst: ossl_bsearch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - list
    - libctx
    - name
    argTypes:
    - OSSL_PROPERTY_LIST*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: ossl_property_find_property
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c
    functionUses: []
    functionsReached:
    - ossl_property_name
    - ossl_bsearch
    linkageType: ''
    returnType: OSSL_PROPERTY_DEFINITION*
    signature: 'const OSSL_PROPERTY_DEFINITION *ossl_property_find_property(const
      OSSL_PROPERTY_LIST *list, OSSL_LIB_CTX *libctx, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_find_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - property_name
    - prop_list
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PROPERTY_LIST*
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: ossl_property_is_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c
    functionUses: []
    functionsReached:
    - ossl_property_find_property
    linkageType: ''
    returnType: int
    signature: 'int ossl_property_is_enabled(OSSL_LIB_CTX *ctx, const char *property_name,
      const OSSL_PROPERTY_LIST *prop_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - prop
    argTypes:
    - OSSL_PROPERTY_DEFINITION*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ossl_property_get_number_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_query.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t ossl_property_get_number_value(const OSSL_PROPERTY_DEFINITION
      *prop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vglobp
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: ossl_ctx_global_properties_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_property_free
    linkageType: ''
    returnType: void
    signature: 'static void ossl_ctx_global_properties_free(void *vglobp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:251,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:256,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:255,1
    - Dst: ossl_sa_ALGORITHM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:254,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: ossl_method_store_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_method_store_free
    - CRYPTO_THREAD_lock_new
    - ossl_sa_ALGORITHM_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_METHOD_STORE*
    signature: 'OSSL_METHOD_STORE *ossl_method_store_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: ossl_method_lock_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_lock_store(OSSL_METHOD_STORE *store) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:600,1
    - Dst: ossl_sa_ALGORITHM_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:602,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: ossl_method_store_cache_flush_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_sa_ALGORITHM_doall
    - ossl_property_write_lock
    - ossl_property_unlock
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_store_cache_flush_all(OSSL_METHOD_STORE *store) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:666,1
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:672,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:669,1
    - Dst: tsan_store
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 677
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 677
    functionName: ossl_method_cache_flush_some
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_sa_ALGORITHM_doall_arg
    - tsan_store
    - tsan_load
    - OPENSSL_rdtsc
    linkageType: ''
    returnType: void
    signature: 'static void ossl_method_cache_flush_some(OSSL_METHOD_STORE *store) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:136,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: ossl_ctx_global_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST**
    signature: 'OSSL_PROPERTY_LIST **ossl_ctx_global_properties(OSSL_LIB_CTX *libctx,
      ossl_unused int loadconfig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ossl_ctx_global_properties_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *ossl_ctx_global_properties_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - METHOD*
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: ossl_method_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossl_method_up_ref(METHOD *method) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:268,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:272,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:271,1
    - Dst: ossl_sa_ALGORITHM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:269,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: ossl_method_store_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_sa_ALGORITHM_free
    - OPENSSL_free
    - ossl_sa_ALGORITHM_doall_arg
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_method_store_free(OSSL_METHOD_STORE *store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: ossl_method_unlock_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_unlock_store(OSSL_METHOD_STORE *store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:479,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:482,1
    - Dst: alg_do_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - idx
    - alg
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: alg_do_each
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - alg_do_one
    - sk_IMPLEMENTATION_value
    - sk_IMPLEMENTATION_num
    linkageType: ''
    returnType: void
    signature: 'static void alg_do_each(ossl_uintmax_t idx, ALGORITHM *alg, void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:689,1
    - Dst: ossl_method_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:700,1
    - Dst: ossl_method_store_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:691,1
    - Dst: lh_QUERY_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:697,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:705,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 5
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void**
    constantsTouched: []
    func_position:
      end: 707
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 707
    functionName: ossl_method_store_cache_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_method_up_ref
    - ossl_method_store_retrieve
    - ossl_property_unlock
    - ossl_property_read_lock
    - lh_QUERY_retrieve
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, OSSL_PROVIDER
      *prov, int nid, const char *prop_query, void **method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: ossl_property_write_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: __owur
    signature: 'static __owur int ossl_property_write_lock(OSSL_METHOD_STORE *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - QUERY*
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: query_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long query_hash(const QUERY *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:455,1
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:459,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - store
    - prov
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: ossl_method_store_remove_all_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_property_write_lock
    - ossl_property_unlock
    - ossl_sa_ALGORITHM_doall_arg
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_store_remove_all_provided(OSSL_METHOD_STORE *store,
      const OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 3
    argNames:
    - store
    - (*fn)
    - fnarg
    argTypes:
    - OSSL_METHOD_STORE*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: ossl_method_store_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_sa_ALGORITHM_doall_arg
    linkageType: ''
    returnType: void
    signature: 'void ossl_method_store_do_all(OSSL_METHOD_STORE *store, void (*fn)(int
      id, void *method, void *fnarg), void *fnarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: impl_cache_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:644,1
    - Dst: lh_QUERY_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - c
    - state
    argTypes:
    - QUERY*
    - IMPL_CACHE_FLUSH*
    constantsTouched: []
    func_position:
      end: 647
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 647
    functionName: impl_cache_flush_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - impl_cache_free
    - lh_QUERY_delete
    linkageType: ''
    returnType: void
    signature: 'static void impl_cache_flush_cache(QUERY *c, IMPL_CACHE_FLUSH *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: ossl_property_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: 'static int ossl_property_unlock(OSSL_METHOD_STORE *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUERY*
    - QUERY*
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: query_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int query_cmp(const QUERY *a, const QUERY *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - alg
    - impl
    - (*fn)
    - fnarg
    argTypes:
    - ALGORITHM*
    - IMPLEMENTATION*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: alg_do_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: 'static void alg_do_one(ALGORITHM *alg, IMPLEMENTATION *impl, void
      (*fn)(int id, void *method, void *fnarg), void *fnarg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_is_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:516,1
    - Dst: ossl_property_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:522,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:517,1
    - Dst: ossl_method_store_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:524,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:526,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:531,1
    - Dst: ossl_ctx_global_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:532,1
    - Dst: ossl_property_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:537,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:538,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:546,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:547,1
    - Dst: ossl_property_has_optional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:556,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:557,1
    - Dst: ossl_property_match_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:560,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:558,1
    - Dst: ossl_method_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:571,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:578,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:579,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 88
    argCount: 5
    argNames:
    - store
    - nid
    - prop_query
    - prov_rw
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    - char*
    - OSSL_PROVIDER**
    - void**
    constantsTouched: []
    func_position:
      end: 581
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 581
    functionName: ossl_method_store_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_method_up_ref
    - ossl_property_merge
    - ossl_method_store_retrieve
    - sk_IMPLEMENTATION_value
    - ossl_lib_ctx_is_default
    - sk_IMPLEMENTATION_num
    - ossl_property_has_optional
    - ossl_property_match_count
    - ossl_property_unlock
    - ossl_parse_query
    - OPENSSL_init_crypto
    - ossl_ctx_global_properties
    - ossl_property_read_lock
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_store_fetch(OSSL_METHOD_STORE *store, int nid, const
      char *prop_query, const OSSL_PROVIDER **prov_rw, void **method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUERY_doall_IMPL_CACHE_FLUSH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - idx
    - alg
    - v
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    constantsTouched: []
    func_position:
      end: 657
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 657
    functionName: impl_cache_flush_one_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - lh_QUERY_doall_IMPL_CACHE_FLUSH
    linkageType: ''
    returnType: void
    signature: 'static void impl_cache_flush_one_alg(ossl_uintmax_t idx, ALGORITHM
      *alg, void *v) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:722,1
    - Dst: ossl_method_store_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:729,1
    - Dst: ossl_method_cache_flush_some
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:728,1
    - Dst: lh_QUERY_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:736,1
    - Dst: ossl_property_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:725,1
    - Dst: impl_cache_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:737,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:742,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:742,1
    - Dst: ossl_method_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:749,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:751,1
    - Dst: impl_cache_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:753,1
    - Dst: lh_QUERY_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:756,1
    - Dst: ossl_method_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:761,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:767,1
    - Dst: lh_QUERY_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:752,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:765,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 54
    argCount: 7
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - method
    - (*method_up_ref)
    - (*method_destruct)
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 769
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 769
    functionName: ossl_method_store_cache_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - lh_QUERY_error
    - ossl_method_up_ref
    - ossl_method_store_retrieve
    - ossl_assert
    - ossl_method_cache_flush_some
    - ossl_property_write_lock
    - memcpy
    - impl_cache_free
    - OPENSSL_free
    - ossl_property_unlock
    - lh_QUERY_delete
    - lh_QUERY_insert
    - ossl_method_free
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, OSSL_PROVIDER
      *prov, int nid, const char *prop_query, void *method, int (*method_up_ref)(void
      *), void (*method_destruct)(void *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUERY_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:225,1
    - Dst: lh_QUERY_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - idx
    - alg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: impl_cache_flush_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - lh_QUERY_doall
    - lh_QUERY_flush
    linkageType: ''
    returnType: void
    signature: 'static void impl_cache_flush_alg(ossl_uintmax_t idx, ALGORITHM *alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - store
    - nid
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: ossl_method_store_retrieve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_sa_ALGORITHM_get
    linkageType: ''
    returnType: ALGORITHM*
    signature: 'static ALGORITHM *ossl_method_store_retrieve(OSSL_METHOD_STORE *store,
      int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_IMPLEMENTATION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:234,1
    - Dst: lh_QUERY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:236,1
    - Dst: lh_QUERY_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:235,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:237,1
    - Dst: ossl_sa_ALGORITHM_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - idx
    - a
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: alg_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_sa_ALGORITHM_set
    - lh_QUERY_doall
    - sk_IMPLEMENTATION_pop_free
    - lh_QUERY_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void alg_cleanup(ossl_uintmax_t idx, ALGORITHM *a, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - store
    - alg
    argTypes:
    - OSSL_METHOD_STORE*
    - ALGORITHM*
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: ossl_method_store_insert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_sa_ALGORITHM_set
    linkageType: ''
    returnType: int
    signature: 'static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM
      *alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:430,1
    - Dst: sk_IMPLEMENTATION_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:435,1
    - Dst: ossl_method_cache_flush_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:447,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:431,1
    - Dst: impl_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:434,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - idx
    - alg
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    constantsTouched: []
    func_position:
      end: 448
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 448
    functionName: alg_cleanup_by_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - sk_IMPLEMENTATION_value
    - sk_IMPLEMENTATION_delete
    - impl_free
    - sk_IMPLEMENTATION_num
    - ossl_method_cache_flush_alg
    linkageType: ''
    returnType: void
    signature: 'static void alg_cleanup_by_provider(ossl_uintmax_t idx, ALGORITHM
      *alg, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: typedef
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_STACK_OF(IMPLEMENTATION)
    signature: 'DEFINE_STACK_OF(IMPLEMENTATION) typedef struct '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: ossl_global_properties_no_mirrored
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: int
    signature: 'int ossl_global_properties_no_mirrored(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - METHOD*
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: ossl_method_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ossl_method_free(METHOD *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:210,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - impl
    argTypes:
    - IMPLEMENTATION*
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: impl_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_method_free
    linkageType: ''
    returnType: void
    signature: 'static void impl_free(IMPLEMENTATION *impl) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prop_defn_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:333,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:338,1
    - Dst: sk_IMPLEMENTATION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:347,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:334,1
    - Dst: ossl_prop_defn_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:337,1
    - Dst: ossl_method_store_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:351,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:363,1
    - Dst: lh_QUERY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:348,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:356,1
    - Dst: sk_IMPLEMENTATION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:364,1
    - Dst: impl_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:368,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:372,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:311,1
    - Dst: ossl_method_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:321,1
    - Dst: ossl_property_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:328,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:357,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:346,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:315,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:322,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:329,1
    - Dst: ossl_method_cache_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:332,1
    - Dst: ossl_method_store_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:344,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:366,1
    - Dst: alg_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:373,1
    - Dst: impl_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:374,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 76
    argCount: 7
    argNames:
    - store
    - prov
    - nid
    - properties
    - method
    - (*method_up_ref)
    - (*method_destruct)
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 376
    functionName: ossl_method_store_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - lh_QUERY_new
    - sk_IMPLEMENTATION_push
    - ossl_parse_property
    - OPENSSL_malloc
    - ossl_method_cache_flush
    - OPENSSL_free
    - OPENSSL_zalloc
    - impl_free
    - ossl_prop_defn_set
    - sk_IMPLEMENTATION_value
    - sk_IMPLEMENTATION_new_null
    - ossl_property_write_lock
    - alg_cleanup
    - sk_IMPLEMENTATION_num
    - ossl_prop_defn_get
    - ossl_property_free
    - ossl_method_up_ref
    - ossl_method_store_retrieve
    - ossl_assert
    - ossl_property_unlock
    - ossl_method_store_insert
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_store_add(OSSL_METHOD_STORE *store, const OSSL_PROVIDER
      *prov, int nid, const char *properties, void *method, int (*method_up_ref)(void
      *), void (*method_destruct)(void *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUERY_num_items
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:586,1
    - Dst: impl_cache_flush_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - store
    - alg
    argTypes:
    - OSSL_METHOD_STORE*
    - ALGORITHM*
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: ossl_method_cache_flush_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - lh_QUERY_num_items
    - impl_cache_flush_alg
    linkageType: ''
    returnType: void
    signature: 'static void ossl_method_cache_flush_alg(OSSL_METHOD_STORE *store,
      ALGORITHM *alg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: ossl_global_properties_stop_mirroring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: void
    signature: 'void ossl_global_properties_stop_mirroring(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_METHOD_STORE*
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: ossl_property_read_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: __owur
    signature: 'static __owur int ossl_property_read_lock(OSSL_METHOD_STORE *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:218,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - elem
    argTypes:
    - QUERY*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: impl_cache_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_method_free
    linkageType: ''
    returnType: void
    signature: 'static void impl_cache_free(QUERY *elem) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:387,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:392,1
    - Dst: ossl_method_store_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:390,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:401,1
    - Dst: ossl_method_cache_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:389,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:402,1
    - Dst: impl_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:405,1
    - Dst: sk_IMPLEMENTATION_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:406,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:407,1
    - Dst: ossl_property_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:411,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - store
    - nid
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 413
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 413
    functionName: ossl_method_store_remove
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_method_store_retrieve
    - sk_IMPLEMENTATION_value
    - ossl_property_write_lock
    - ossl_property_unlock
    - sk_IMPLEMENTATION_delete
    - impl_free
    - sk_IMPLEMENTATION_num
    - ossl_method_cache_flush
    linkageType: ''
    returnType: int
    signature: 'int ossl_method_store_remove(OSSL_METHOD_STORE *store, int nid, const
      void *method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:592,1
    - Dst: ossl_method_cache_flush_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - store
    - nid
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: ossl_method_cache_flush
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property.c
    functionUses: []
    functionsReached:
    - ossl_method_cache_flush_alg
    - ossl_method_store_retrieve
    linkageType: ''
    returnType: void
    signature: 'static void ossl_method_cache_flush(OSSL_METHOD_STORE *store, int
      nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_PROPERTY_STRING_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:64,1
    - Dst: lh_PROPERTY_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pt
    argTypes:
    - PROP_TABLE**
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: property_table_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - lh_PROPERTY_STRING_doall
    - lh_PROPERTY_STRING_free
    linkageType: ''
    returnType: void
    signature: 'static void property_table_free(PROP_TABLE **pt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PROPERTY_STRING*
    - PROPERTY_STRING*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: property_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int property_cmp(const PROPERTY_STRING *a, const PROPERTY_STRING
      *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:86,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:91,1
    - Dst: lh_PROPERTY_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:100,1
    - Dst: property_string_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:108,1
    - Dst: lh_PROPERTY_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: property_string_data_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - lh_PROPERTY_STRING_new
    - property_string_data_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *property_string_data_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:129,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:125,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pidx
    argTypes:
    - char*
    - OSSL_PROPERTY_IDX*
    constantsTouched: []
    func_position:
      end: 134
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 134
    functionName: new_property_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: PROPERTY_STRING*
    signature: 'static PROPERTY_STRING *new_property_string(const char *s, OSSL_PROPERTY_IDX
      *pidx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:188,1
    - Dst: lh_PROPERTY_STRING_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:201,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:198,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:197,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - name
    - ctx
    - idx
    argTypes:
    - int
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: ossl_property_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - lh_PROPERTY_STRING_doall_arg
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: char*
    signature: 'static const char *ossl_property_str(int name, OSSL_LIB_CTX *ctx,
      OSSL_PROPERTY_IDX idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: ossl_property_name_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - ossl_property_str
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_property_name_str(OSSL_LIB_CTX *ctx, OSSL_PROPERTY_IDX
      idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PROPERTY_STRING*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: property_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long property_hash(const PROPERTY_STRING *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ps
    argTypes:
    - PROPERTY_STRING*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: property_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void property_free(PROPERTY_STRING *ps) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:77,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:82,1
    - Dst: property_table_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:79,1
    - Dst: property_table_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - vpropdata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: property_string_data_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - property_table_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void property_string_data_free(void *vpropdata) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:145,1
    - Dst: lh_PROPERTY_STRING_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:148,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:151,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:150,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:152,1
    - Dst: lh_PROPERTY_STRING_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:155,1
    - Dst: new_property_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:156,1
    - Dst: lh_PROPERTY_STRING_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:157,1
    - Dst: lh_PROPERTY_STRING_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:158,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:166,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:160,1
    - Dst: property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:159,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - lock
    - t
    - pidx
    - s
    argTypes:
    - CRYPTO_RWLOCK*
    - PROP_TABLE*
    - OSSL_PROPERTY_IDX*
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 168
    functionName: ossl_property_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - lh_PROPERTY_STRING_error
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - lh_PROPERTY_STRING_retrieve
    - new_property_string
    - property_free
    - lh_PROPERTY_STRING_insert
    linkageType: ''
    returnType: OSSL_PROPERTY_IDX
    signature: 'static OSSL_PROPERTY_IDX ossl_property_string(CRYPTO_RWLOCK *lock,
      PROP_TABLE *t, OSSL_PROPERTY_IDX *pidx, const char *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - prop
    - vfindstr
    argTypes:
    - PROPERTY_STRING*
    - void*
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: find_str_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void find_str_fn(PROPERTY_STRING *prop, void *vfindstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:213,1
    - Dst: ossl_property_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - s
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: ossl_property_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - ossl_property_string
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_PROPERTY_IDX
    signature: 'OSSL_PROPERTY_IDX ossl_property_name(OSSL_LIB_CTX *ctx, const char
      *s, int create) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:232,1
    - Dst: ossl_property_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - s
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: ossl_property_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - ossl_property_string
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_PROPERTY_IDX
    signature: 'OSSL_PROPERTY_IDX ossl_property_value(OSSL_LIB_CTX *ctx, const char
      *s, int create) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ossl_property_value_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/property/property_string.c
    functionUses: []
    functionsReached:
    - ossl_property_str
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_property_value_str(OSSL_LIB_CTX *ctx, OSSL_PROPERTY_IDX
      idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_err.c:66,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_err.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: ossl_err_load_CRMF_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_err.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: ossl_crmf_certid_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ENCKEYWITHID)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ENCKEYWITHID) /*- * CertId ::= SEQUENCE
      { * issuer GeneralName, * serialNumber INTEGER * } */ struct ossl_crmf_certid_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: ossl_crmf_optionalvalidity_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_POPO)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_POPO) /*- * OptionalValidity ::=
      SEQUENCE { * notBefore [0] Time OPTIONAL, * notAfter [1] Time OPTIONAL -- at
      least one MUST be present * } */ struct ossl_crmf_optionalvalidity_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h:319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 320
    functionName: ossl_crmf_certtemplate_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_OPTIONALVALIDITY)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_OPTIONALVALIDITY) /*- * CertTemplate
      ::= SEQUENCE { * version [0] Version OPTIONAL, * serialNumber [1] INTEGER OPTIONAL,
      * signingAlg [2] AlgorithmIdentifier OPTIONAL, * issuer [3] Name OPTIONAL, *
      validity [4] OptionalValidity OPTIONAL, * subject [5] Name OPTIONAL, * publicKey
      [6] SubjectPublicKeyInfo OPTIONAL, * issuerUID [7] UniqueIdentifier OPTIONAL,
      * subjectUID [8] UniqueIdentifier OPTIONAL, * extensions [9] Extensions OPTIONAL
      * } */ struct ossl_crmf_certtemplate_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 1
    argCount: 1
    argNames:
    - OSSL_CRMF_CERTREQUEST
    argTypes:
    - OSSL_CRMF_CERTREQUEST
    constantsTouched: []
    func_position:
      end: 363
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 363
    functionName: DECLARE_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_CERTREQUEST)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_CERTREQUEST) DECLARE_ASN1_DUP_FUNCTION(OSSL_CRMF_CERTREQUEST)struct
      ossl_crmf_attributetypeandvalue_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h:366,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE
    argTypes:
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: DEFINE_STACK_OF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h
    functionUses: []
    functionsReached:
    - DECLARE_ASN1_DUP_FUNCTION
    - STACK_OF
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ATTRIBUTETYPEANDVALUE)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) DEFINE_STACK_OF(OSSL_CRMF_ATTRIBUTETYPEANDVALUE)DECLARE_ASN1_DUP_FUNCTION(OSSL_CRMF_ATTRIBUTETYPEANDVALUE)/*-
      * CertReqMessages ::= SEQUENCE SIZE (1..MAX) OF CertReqMsg * CertReqMsg ::=
      SEQUENCE { * certReq CertRequest, * popo ProofOfPossession OPTIONAL, * -- content
      depends upon key type * regInfo SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
      OPTIONAL * } */struct ossl_crmf_msg_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: ossl_crmf_pbmparameter_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_POPOPRIVKEY)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_POPOPRIVKEY) /*- * PBMParameter ::=
      SEQUENCE { * salt OCTET STRING, * owf AlgorithmIdentifier, * -- AlgId for a
      One-Way Function (SHA-1 recommended) * iterationCount INTEGER, * -- number of
      times the OWF is applied * mac AlgorithmIdentifier * -- the MAC AlgId (e.g.,
      DES-MAC, Triple-DES-MAC [PKCS11], * -- or HMAC [HMAC, RFC2202]) * } */ struct
      ossl_crmf_pbmparameter_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: ossl_crmf_poposigningkey_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_POPOSIGNINGKEYINPUT)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_POPOSIGNINGKEYINPUT) /*- * POPOSigningKey
      ::= SEQUENCE { * poposkInput [0] POPOSigningKeyInput OPTIONAL, * algorithmIdentifier
      AlgorithmIdentifier, * signature BIT STRING * } */ struct ossl_crmf_poposigningkey_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'const X509_NAME *OSSL_CRMF_CERTTEMPLATE_get0_subject(const OSSL_CRMF_CERTTEMPLATE
      *tmpl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:635,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:638,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:641,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:649,1
    - Dst: constant_time_is_zero_s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:662,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:687,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:689,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:709,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:711,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:712,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:702,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:676,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:632,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:634,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:655,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:661,1
    - Dst: constant_time_msb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:662,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:659,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:663,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:666,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:672,1
    - Dst: ASN1_TYPE_get_octetstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:674,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:696,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:675,1
    - Dst: constant_time_eq_s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:664,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:677,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:685,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:692,1
    - Dst: EVP_DecryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:695,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:705,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:707,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:704,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:627,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:642,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:645,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:647,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:657,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:650,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:672,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:686,1
    - Dst: EVP_DecryptInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:691,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:710,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:708,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 99
    argCount: 4
    argNames:
    - ecert
    - libctx
    - propq
    - pkey
    argTypes:
    - OSSL_CRMF_ENCRYPTEDVALUE*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 714
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 714
    functionName: OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - EVP_DecryptInit
    - EVP_PKEY_decrypt
    - constant_time_is_zero
    - EVP_get_cipherbyname
    - ERR_set_mark
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_CIPHER_CTX_new
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - EVP_CIPHER_free
    - OPENSSL_free
    - constant_time_msb
    - EVP_DecryptFinal
    - EVP_CIPHER_get_iv_length
    - ERR_clear_error
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_get_key_length
    - EVP_PKEY_decrypt_init
    - constant_time_is_zero_s
    - EVP_CIPHER_get_block_size
    - ERR_clear_last_mark
    - ASN1_TYPE_get_octetstring
    - ERR_pop_to_mark
    - ERR_raise
    - constant_time_eq_s
    - X509_new_ex
    - EVP_DecryptUpdate
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_set_padding
    - d2i_X509
    - OBJ_obj2txt
    linkageType: ''
    returnType: X509*
    signature: 'X509 *OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert(const OSSL_CRMF_ENCRYPTEDVALUE
      *ecert, OSSL_LIB_CTX *libctx, const char *propq, EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:129,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:133,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - spi
    - method
    - nm
    argTypes:
    - OSSL_CRMF_SINGLEPUBINFO*
    - int
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: OSSL_CRMF_MSG_set0_SinglePubInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ERR_raise
    - GENERAL_NAME_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_set0_SinglePubInfo(OSSL_CRMF_SINGLEPUBINFO *spi,
      int method, GENERAL_NAME *nm) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:582,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:591,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:587,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:590,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:585,1
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:594,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 5
    argNames:
    - tmpl
    - pubkey
    - subject
    - issuer
    - serial
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    - EVP_PKEY*
    - X509_NAME*
    - X509_NAME*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 597
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 597
    functionName: OSSL_CRMF_CERTTEMPLATE_fill
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_set
    - ERR_raise
    - X509_NAME_set
    - ASN1_INTEGER_dup
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_CERTTEMPLATE_fill(OSSL_CRMF_CERTTEMPLATE *tmpl, EVP_PKEY
      *pubkey, const X509_NAME *subject, const X509_NAME *issuer, const ASN1_INTEGER
      *serial) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:182,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:189,1
    - Dst: OSSL_CRMF_CERTID_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:186,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:194,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:193,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:200,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - issuer
    - serial
    argTypes:
    - X509_NAME*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: OSSL_CRMF_CERTID_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - OSSL_CRMF_CERTID_new
    - ERR_raise
    - X509_NAME_set
    - ASN1_INTEGER_dup
    - ASN1_INTEGER_free
    - OSSL_CRMF_CERTID_free
    linkageType: ''
    returnType: OSSL_CRMF_CERTID*
    signature: 'OSSL_CRMF_CERTID *OSSL_CRMF_CERTID_gen(const X509_NAME *issuer, const
      ASN1_INTEGER *serial) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:292,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:301,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:293,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: crmf_asn1_get_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_get_int64
    linkageType: ''
    returnType: int
    signature: 'static int crmf_asn1_get_int(const ASN1_INTEGER *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:320,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:323,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:332,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:328,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - crm
    - exts
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_EXTENSIONS*
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: OSSL_CRMF_MSG_set0_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_EXTENSION_pop_free
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_free
    - OSSL_CRMF_MSG_get0_tmpl
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_set0_extensions(OSSL_CRMF_MSG *crm, X509_EXTENSIONS
      *exts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const
      OSSL_CRMF_CERTTEMPLATE *tmpl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cid
    argTypes:
    - OSSL_CRMF_CERTID*
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: OSSL_CRMF_CERTID_get0_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'const X509_NAME *OSSL_CRMF_CERTID_get0_issuer(const OSSL_CRMF_CERTID
      *cid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - OSSL_CRMF_CERTID*
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: OSSL_CRMF_CERTID_get0_serialNumber
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *OSSL_CRMF_CERTID_get0_serialNumber(const OSSL_CRMF_CERTID
      *cid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:310,1
    - Dst: crmf_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - crm
    argTypes:
    - OSSL_CRMF_MSG*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: OSSL_CRMF_MSG_get_certReqId
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - crmf_asn1_get_int
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_get_certReqId(const OSSL_CRMF_MSG *crm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:342,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:345,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:350,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:355,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - crm
    - ext
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_EXTENSION*
    constantsTouched: []
    func_position:
      end: 364
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 364
    functionName: OSSL_CRMF_MSG_push0_extension
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_EXTENSION_push
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_free
    - OSSL_CRMF_MSG_get0_tmpl
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_push0_extension(OSSL_CRMF_MSG *crm, X509_EXTENSION
      *ext) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:94,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:104,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:110,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - crm
    - ctrl
    argTypes:
    - OSSL_CRMF_MSG*
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE*
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: OSSL_CRMF_MSG_push0_regCtrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - ERR_raise
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    linkageType: ''
    returnType: int
    signature: 'static int OSSL_CRMF_MSG_push0_regCtrl(OSSL_CRMF_MSG *crm, OSSL_CRMF_ATTRIBUTETYPEANDVALUE
      *ctrl) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:470,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:483,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:476,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:471,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:501,1
    - Dst: X509_PUBKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:504,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:505,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:508,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:512,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:515,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:519,1
    - Dst: ASN1_item_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:518,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:526,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 5
    argNames:
    - reqs
    - rid
    - acceptRAVerified
    - libctx
    - propq
    argTypes:
    - OSSL_CRMF_MSGS*
    - int
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 530
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 530
    functionName: OSSL_CRMF_MSGS_verify_popo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_eq
    - ERR_raise
    - ASN1_item_verify_ex
    - sk_OSSL_CRMF_MSG_value
    - X509_PUBKEY_get0
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSGS_verify_popo(const OSSL_CRMF_MSGS *reqs, int rid,
      int acceptRAVerified, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_EXTENSIONS*
    signature: 'X509_EXTENSIONS *OSSL_CRMF_CERTTEMPLATE_get0_extensions(const OSSL_CRMF_CERTTEMPLATE
      *tmpl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - crm
    argTypes:
    - OSSL_CRMF_MSG*
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: OSSL_CRMF_MSG_get0_tmpl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CRMF_CERTTEMPLATE*
    signature: 'OSSL_CRMF_CERTTEMPLATE *OSSL_CRMF_MSG_get0_tmpl(const OSSL_CRMF_MSG
      *crm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:220,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:225,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:235,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - crm
    - ri
    argTypes:
    - OSSL_CRMF_MSG*
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE*
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: OSSL_CRMF_MSG_push0_regInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - ERR_raise
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    linkageType: ''
    returnType: int
    signature: 'static int OSSL_CRMF_MSG_push0_regInfo(OSSL_CRMF_MSG *crm, OSSL_CRMF_ATTRIBUTETYPEANDVALUE
      *ri) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:145,1
    - Dst: sk_OSSL_CRMF_SINGLEPUBINFO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:149,1
    - Dst: sk_OSSL_CRMF_SINGLEPUBINFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pi
    - spi
    argTypes:
    - OSSL_CRMF_PKIPUBLICATIONINFO*
    - OSSL_CRMF_SINGLEPUBINFO*
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_OSSL_CRMF_SINGLEPUBINFO_new_null
    - sk_OSSL_CRMF_SINGLEPUBINFO_push
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo(OSSL_CRMF_PKIPUBLICATIONINFO
      *pi, OSSL_CRMF_SINGLEPUBINFO *spi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:261,1
    - Dst: OSSL_CRMF_OPTIONALVALIDITY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:268,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - crm
    - notBefore
    - notAfter
    argTypes:
    - OSSL_CRMF_MSG*
    - ASN1_TIME*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: OSSL_CRMF_MSG_set0_validity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - OSSL_CRMF_OPTIONALVALIDITY_new
    - ERR_raise
    - OSSL_CRMF_MSG_get0_tmpl
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_set0_validity(OSSL_CRMF_MSG *crm, ASN1_TIME *notBefore,
      ASN1_TIME *notAfter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:374,1
    - Dst: ASN1_item_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:387,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:383,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:379,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:384,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:387,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 6
    argNames:
    - ps
    - cr
    - pkey
    - digest
    - libctx
    - propq
    argTypes:
    - OSSL_CRMF_POPOSIGNINGKEY*
    - OSSL_CRMF_CERTREQUEST*
    - EVP_PKEY*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 390
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 390
    functionName: create_popo_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcmp
    - EVP_PKEY_get_default_digest_name
    - ASN1_item_sign_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int create_popo_signature(OSSL_CRMF_POPOSIGNINGKEY *ps, const
      OSSL_CRMF_CERTREQUEST *cr, EVP_PKEY *pkey, const EVP_MD *digest, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:162,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pi
    - action
    argTypes:
    - OSSL_CRMF_PKIPUBLICATIONINFO*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: OSSL_CRMF_MSG_set_PKIPublicationInfo_action
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_set_PKIPublicationInfo_action(OSSL_CRMF_PKIPUBLICATIONINFO
      *pi, int action) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:280,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - crm
    - rid
    argTypes:
    - OSSL_CRMF_MSG*
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: OSSL_CRMF_MSG_set_certReqId
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_set_certReqId(OSSL_CRMF_MSG *crm, int rid) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:401,1
    - Dst: OSSL_CRMF_POPOSIGNINGKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:419,1
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:413,1
    - Dst: create_popo_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:423,1
    - Dst: OSSL_CRMF_POPO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:407,1
    - Dst: OSSL_CRMF_POPOSIGNINGKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:425,1
    - Dst: OSSL_CRMF_POPOPRIVKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:433,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:435,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:440,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:445,1
    - Dst: OSSL_CRMF_POPO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:455,1
    - Dst: OSSL_CRMF_POPO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c:450,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 40
    argCount: 6
    argNames:
    - meth
    - crm
    - pkey
    - digest
    - libctx
    - propq
    argTypes:
    - int
    - OSSL_CRMF_MSG*
    - EVP_PKEY*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 457
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 457
    functionName: OSSL_CRMF_MSG_create_popo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached:
    - OSSL_CRMF_POPOSIGNINGKEY_free
    - ERR_raise
    - create_popo_signature
    - ASN1_NULL_new
    - OSSL_CRMF_POPOPRIVKEY_new
    - OSSL_CRMF_POPO_new
    - ASN1_INTEGER_set
    - OSSL_CRMF_POPO_free
    - ASN1_INTEGER_new
    - OSSL_CRMF_POPOSIGNINGKEY_new
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_MSG_create_popo(int meth, OSSL_CRMF_MSG *crm, EVP_PKEY
      *pkey, const EVP_MD *digest, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME*
    signature: 'const X509_NAME *OSSL_CRMF_CERTTEMPLATE_get0_issuer(const OSSL_CRMF_CERTTEMPLATE
      *tmpl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_PBMPARAMETER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:47,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:58,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:61,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:55,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:57,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:69,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:89,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:93,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:103,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:112,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:104,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:108,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:111,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:103,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 5
    argNames:
    - libctx
    - slen
    - owfnid
    - itercnt
    - macnid
    argTypes:
    - OSSL_LIB_CTX*
    - size_t
    - int
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 114
    functionName: OSSL_CRMF_pbmp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OBJ_nid2obj
    - OSSL_CRMF_PBMPARAMETER_new
    - X509_ALGOR_set0
    - ASN1_INTEGER_set
    - OSSL_CRMF_PBMPARAMETER_free
    - ASN1_OCTET_STRING_set
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: OSSL_CRMF_PBMPARAMETER*
    signature: 'OSSL_CRMF_PBMPARAMETER *OSSL_CRMF_pbmp_new(OSSL_LIB_CTX *libctx, size_t
      slen, int owfnid, size_t itercnt, int macnid) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:159,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:177,1
    - Dst: EVP_PBE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:201,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:199,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:202,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:158,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:149,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:163,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:173,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:188,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:204,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:223,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:146,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:170,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:175,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:180,1
    - Dst: EVP_Q_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:207,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:215,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:167,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:203,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:214,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:216,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c:228,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 76
    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*
    constantsTouched: []
    func_position:
      end: 232
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 232
    functionName: OSSL_CRMF_pbm_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/crmf/crmf_pbm.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - ASN1_INTEGER_get_int64
    - OBJ_obj2nid
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - OBJ_nid2obj
    - OPENSSL_cleanse
    - EVP_PBE_find
    - OPENSSL_malloc
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - ERR_add_error_data
    - EVP_MD_free
    - EVP_Q_mac
    - EVP_MD_fetch
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CRMF_pbm_new(OSSL_LIB_CTX *libctx, const char *propq, const
      OSSL_CRMF_PBMPARAMETER *pbmp, const unsigned char *msg, size_t msglen, const
      unsigned char *sec, size_t seclen, unsigned char **out, size_t *outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_block_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_ppc.c:21,1
    - Dst: sha256_block_ppc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_ppc.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: sha256_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_ppc.c
    functionUses: []
    functionsReached:
    - sha256_block_ppc
    - sha256_block_p8
    linkageType: ''
    returnType: void
    signature: 'void sha256_block_data_order(void *ctx, const void *inp, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_block_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_ppc.c:30,1
    - Dst: sha512_block_ppc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_ppc.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: sha512_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_ppc.c
    functionUses: []
    functionsReached:
    - sha512_block_p8
    - sha512_block_ppc
    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/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:46,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:52,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:60,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:50,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:55,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:63,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:67,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:69,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:72,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c:76,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - sha1
    - cmd
    - mslen
    - ms
    argTypes:
    - SHA_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 79
    functionName: ossl_sha1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1dgst.c
    functionUses: []
    functionsReached:
    - SHA1_Final
    - OPENSSL_cleanse
    - SHA1_Init
    - SHA1_Update
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_sha1_ctrl(SHA_CTX *sha1, int cmd, int mslen, void *ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:79,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:82,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:81,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:80,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:83,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:84,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:85,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: sha512_224_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: 'int sha512_224_init(SHA512_CTX *c) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:162,1
    - Dst: sha512_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:190,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:167,1
    - Dst: sha512_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:164,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 153
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - SHA512_CTX*
    constantsTouched: []
    func_position:
      end: 271
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 271
    functionName: SHA512_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - sha512_block_data_order
    - memset
    linkageType: ''
    returnType: int
    signature: 'int SHA512_Final(unsigned char *md, SHA512_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:115,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:119,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:118,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:117,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:116,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:120,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:121,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: SHA384_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: 'int SHA384_Init(SHA512_CTX *c) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:287,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:311,1
    - Dst: sha512_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:303,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:301,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:298,1
    - Dst: sha512_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:312,1
    - Dst: sha512_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:316,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:321,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - c
    - _data
    - len
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 324
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 324
    functionName: SHA512_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - memcpy
    - U64
    - sha512_block_data_order
    linkageType: ''
    returnType: int
    signature: 'int SHA512_Update(SHA512_CTX *c, const void *_data, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:511,1
    - Dst: Ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:516,1
    - Dst: Maj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:518,1
    - Dst: Sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:516,1
    - Dst: Sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:518,1
    - Dst: sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:522,1
    - Dst: sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:523,1
    - Dst: Sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:529,1
    - Dst: Ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:529,1
    - Dst: Sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:531,1
    - Dst: Maj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 75
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 545
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 545
    functionName: sha512_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - Sigma0
    - sigma1
    - PULL64
    - Sigma1
    - sigma0
    - Maj
    - Ch
    linkageType: ''
    returnType: void
    signature: 'static void sha512_block_data_order(SHA512_CTX *ctx, const void *in,
      size_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:97,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:98,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:101,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:100,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:99,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:102,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:103,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: sha512_256_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: 'int sha512_256_init(SHA512_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:133,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:134,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:137,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:135,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:136,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:138,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:139,1
    - Dst: U64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: SHA512_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: 'int SHA512_Init(SHA512_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - SHA512_CTX*
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: SHA384_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - SHA512_Final
    linkageType: ''
    returnType: int
    signature: 'int SHA384_Final(unsigned char *md, SHA512_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: SHA384_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - SHA512_Update
    linkageType: ''
    returnType: int
    signature: 'int SHA384_Update(SHA512_CTX *c, const void *data, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:335,1
    - Dst: sha512_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - SHA512_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: SHA512_Transform
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - memcpy
    - sha512_block_data_order
    linkageType: ''
    returnType: void
    signature: 'void SHA512_Transform(SHA512_CTX *c, const unsigned char *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:685,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:689,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:690,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:694,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:701,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:705,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:706,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:710,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:719,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:720,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:703,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:729,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:722,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:699,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:725,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:721,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:659,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:655,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:653,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:657,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:669,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:671,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:684,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:675,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:673,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:687,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:692,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:696,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:712,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:733,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:708,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:718,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:683,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:686,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:693,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:697,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:698,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:702,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:709,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:713,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:714,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:724,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:732,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:695,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:728,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:711,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:707,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:731,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:651,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:661,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:663,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:665,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:667,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:681,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:679,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:677,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:688,1
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:691,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:704,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:730,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:700,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:727,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:723,1
    - Dst: ROUND_16_80
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 151
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 747
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 747
    functionName: sha512_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - ROUND_00_15
    - ROUND_16_80
    - PULL64
    linkageType: ''
    returnType: void
    signature: 'static void sha512_block_data_order(SHA512_CTX *ctx, const void *in,
      size_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PULL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:572,1
    - Dst: Maj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:575,1
    - Dst: Sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:574,1
    - Dst: Sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:575,1
    - Dst: Ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:574,1
    - Dst: sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:588,1
    - Dst: sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:590,1
    - Dst: Sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:593,1
    - Dst: Ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:593,1
    - Dst: Sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:594,1
    - Dst: Maj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 86
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 616
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 616
    functionName: sha512_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha512.c
    functionUses: []
    functionsReached:
    - Sigma0
    - sigma1
    - PULL64
    - Sigma1
    - sigma0
    - Maj
    - Ch
    linkageType: ''
    returnType: void
    signature: 'static void sha512_block_data_order(SHA512_CTX *ctx, const void *in,
      size_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA_CTX*
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: HASH_INIT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int HASH_INIT(SHA_CTX *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:166,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:191,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:270,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:276,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:272,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:298,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:300,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:296,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:220,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:280,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:200,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:162,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:253,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:276,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:177,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:164,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:184,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:233,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:256,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:267,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:169,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:211,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:238,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:180,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:250,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:256,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:267,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:266,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:272,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:288,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:301,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:254,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:260,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:164,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:222,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:259,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:185,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:163,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:214,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:231,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:238,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:204,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:180,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:218,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:286,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:288,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:213,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:273,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:280,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:182,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:252,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:205,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:229,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:296,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:307,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:311,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:278,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:178,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:209,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:240,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:245,1
    - Dst: BODY_16_19
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:311,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:245,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:266,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:250,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:272,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:265,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:300,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:205,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:270,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:178,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:236,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:276,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:304,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:306,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:241,1
    - Dst: BODY_16_19
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:257,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:290,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:223,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:267,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:162,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:176,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:227,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:251,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:196,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:171,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:232,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:245,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:278,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:311,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:223,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:250,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:190,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:203,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:176,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:288,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:301,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:187,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:208,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:232,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:165,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:281,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:280,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:307,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:179,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:214,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:307,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:278,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:252,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:274,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:174,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:300,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:199,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:306,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:188,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:221,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:261,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:267,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:251,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:207,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:173,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:272,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:174,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:245,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:250,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:266,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:278,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:299,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:300,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:199,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:226,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:286,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:299,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:172,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:212,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:234,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:248,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:286,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:198,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:301,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:216,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:296,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:297,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:302,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:217,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:225,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:241,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:306,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:279,1
    - Dst: BODY_16_19
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:261,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:172,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:186,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:239,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:307,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:167,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:289,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:311,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:217,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:299,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:270,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:278,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:276,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:170,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:230,1
    - Dst: BODY_16_19
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:245,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:304,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:299,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:286,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:300,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:280,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:253,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:275,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:282,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:190,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:286,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:296,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:308,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:208,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:235,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:181,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:170,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:175,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:184,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:206,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:263,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:270,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:211,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:228,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:267,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:301,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:235,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:237,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:296,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:201,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:168,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:197,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:188,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:255,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:266,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:250,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:288,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:160,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:202,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:242,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:189,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:270,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:248,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:250,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:269,1
    - Dst: BODY_32_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:266,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:304,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:307,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:226,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:288,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:247,1
    - Dst: BODY_20_31
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:280,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:168,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:182,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:224,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:306,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:202,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:229,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:242,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:306,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:299,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:310,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:272,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:166,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:191,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:215,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:210,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:186,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:245,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:303,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:195,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:219,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:220,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:311,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:276,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:183,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:287,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:304,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:304,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:161,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 517
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 330
    functionName: HASH_BLOCK_DATA_ORDER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h
    functionUses: []
    functionsReached:
    - BODY_60_79
    - X
    - BODY_16_19
    - BODY_40_59
    - HOST_c2l
    - BODY_00_15
    - BODY_20_31
    - BODY_32_39
    linkageType: ''
    returnType: void
    signature: 'static void HASH_BLOCK_DATA_ORDER(SHA_CTX *c, const void *p, size_t
      num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:380,1
    - Dst: BODY_16_19
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:385,1
    - Dst: BODY_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:382,1
    - Dst: BODY_20_39
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:388,1
    - Dst: BODY_40_59
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:392,1
    - Dst: BODY_60_79
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h:396,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 74
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 416
    functionName: HASH_BLOCK_DATA_ORDER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha_local.h
    functionUses: []
    functionsReached:
    - BODY_60_79
    - BODY_16_19
    - BODY_40_59
    - HOST_c2l
    - BODY_20_39
    - BODY_00_15
    linkageType: ''
    returnType: void
    signature: 'static void HASH_BLOCK_DATA_ORDER(SHA_CTX *c, const void *p, size_t
      num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:393,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:405,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:443,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:445,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:452,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:454,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:449,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:458,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:460,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:462,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:463,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:469,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:465,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:464,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:467,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:401,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:404,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:403,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:442,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:444,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:455,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:457,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:450,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:453,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:447,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:448,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:459,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:468,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:470,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 207
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 513
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 513
    functionName: Round
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - ROL64
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void Round(uint64_t A[5][5], size_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_sponge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1231,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1241,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1240,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1245,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1244,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1251
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - fprintf
    - SHA3_sponge
    - printf
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 522
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 522
    functionName: KeccakF1600
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - Round
    linkageType: ''
    returnType: void
    signature: 'static void KeccakF1600(uint64_t A[5][5]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:276,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:278,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:275,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:291,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:297,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:307,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:309,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:308,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:295,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:323,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:360,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:362,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:349,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:287,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:324,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:325,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:335,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:336,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:337,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:363,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:288,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:294,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:296,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:326,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:359,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:351,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:361,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:348,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:266,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:277,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:279,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:290,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:293,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:306,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:327,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:338,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:339,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:347,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 278
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 370
    functionName: Round
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - ROL64
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void Round(uint64_t A[5][5], size_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 62
    argCount: 1
    argNames:
    - Ai
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1054
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1054
    functionName: BitDeinterleave
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t BitDeinterleave(uint64_t Ai) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1148,1
    - Dst: SHA3_absorb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1149,1
    - Dst: SHA3_squeeze
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - inp
    - len
    - out
    - d
    - r
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    functionName: SHA3_sponge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - SHA3_absorb
    - SHA3_squeeze
    - memset
    linkageType: ''
    returnType: void
    signature: 'void SHA3_sponge(const unsigned char *inp, size_t len, unsigned char
      *out, size_t d, size_t r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: KeccakF1600
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - Round
    linkageType: ''
    returnType: void
    signature: 'static void KeccakF1600(uint64_t A[5][5]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 62
    argCount: 1
    argNames:
    - Ai
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1018
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1018
    functionName: BitInterleave
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t BitInterleave(uint64_t Ai) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1100,1
    - Dst: KeccakF1600
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1126,1
    - Dst: BitDeinterleave
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - A
    - out
    - len
    - r
    argTypes:
    - uint64_t
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1128
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1128
    functionName: SHA3_squeeze
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - BitDeinterleave
    - KeccakF1600
    - assert
    linkageType: ''
    returnType: void
    signature: 'void SHA3_squeeze(uint64_t A[5][5], unsigned char *out, size_t len,
      size_t r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:593,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:632,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:573,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:538,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:547,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:548,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:550,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:595,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:612,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:613,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:614,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:615,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:616,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:634,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:636,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:553,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:596,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:549,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:546,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:554,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:555,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:556,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:572,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:575,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:594,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:576,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:592,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:633,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:574,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 303
    argCount: 3
    argNames:
    - R
    - A
    - i
    argTypes:
    - uint64_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 651
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 651
    functionName: Round
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - ROL64
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void Round(uint64_t R[5][5], uint64_t A[5][5], size_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:712,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:750,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:814,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:816,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:906,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:952,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:760,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:762,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:826,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:872,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:781,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:937,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:939,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:748,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:794,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:858,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:860,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:948,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:950,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:870,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:841,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:806,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:709,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:773,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:802,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:804,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:909,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:727,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:725,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:779,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:791,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:926,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:928,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:842,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:705,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:713,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:735,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:737,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:739,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:774,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:896,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:910,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:962,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:696,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:723,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:818,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:882,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:884,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:924,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:828,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:830,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:847,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:707,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:776,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:849,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:894,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:907,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:915,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:960,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:938,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:749,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:751,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:815,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:817,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:708,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:780,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:840,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:782,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:759,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:761,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:871,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:763,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:873,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:908,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:859,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:747,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:793,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:839,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:857,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:861,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:913,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:949,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:951,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:869,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:715,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:803,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:805,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:940,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:726,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:724,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:772,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:792,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:846,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:790,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:925,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:927,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:706,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:714,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:738,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:736,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:897,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:916,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:961,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:963,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:964,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:881,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:883,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:885,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:936,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:848,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:843,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:827,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:775,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:829,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:893,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:895,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 868
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 971
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 971
    functionName: FourRounds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - ROL64
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void FourRounds(uint64_t A[5][5], size_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 209
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 209
    functionName: Pi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void Pi(uint64_t A[5][5]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:668,1
    - Dst: Round
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 680
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 680
    functionName: KeccakF1600
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - Round
    linkageType: ''
    returnType: void
    signature: 'static void KeccakF1600(uint64_t A[5][5]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FourRounds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 980
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 980
    functionName: KeccakF1600
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - FourRounds
    linkageType: ''
    returnType: void
    signature: 'static void KeccakF1600(uint64_t A[5][5]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1072,1
    - Dst: BitInterleave
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1082,1
    - Dst: KeccakF1600
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:1084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - A
    - inp
    - len
    - r
    argTypes:
    - uint64_t
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1089
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1089
    functionName: SHA3_absorb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    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, size_t r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:142,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:145,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:146,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:143,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 155
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 155
    functionName: Theta
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - ROL64
    linkageType: ''
    returnType: void
    signature: 'static void Theta(uint64_t A[5][5]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 229
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 229
    functionName: Chi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void Chi(uint64_t A[5][5]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROL32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:66,1
    - Dst: ROL32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:70,1
    - Dst: ROL32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:67,1
    - Dst: ROL32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - val
    - offset
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: ROL64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - ROL32
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t ROL64(uint64_t val, int offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:162,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:163,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:165,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:166,1
    - Dst: ROL64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: Rho
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - ROL64
    linkageType: ''
    returnType: void
    signature: 'static void Rho(uint64_t A[5][5]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: Iota
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void Iota(uint64_t A[5][5], size_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Theta
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:242,1
    - Dst: Rho
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:243,1
    - Dst: Iota
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:246,1
    - Dst: Chi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:245,1
    - Dst: Pi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: KeccakF1600
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/keccak1600.c
    functionUses: []
    functionsReached:
    - Chi
    - Iota
    - Pi
    - Theta
    - Rho
    linkageType: ''
    returnType: void
    signature: 'static void KeccakF1600(uint64_t A[5][5]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Q_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: SHA1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: SHA256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c
    functionUses: []
    functionsReached:
    - EVP_Q_digest
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char
      *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:29,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:32,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:33,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: ossl_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - SHA1_Init
    - 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/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: SHA224
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: SHA384
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: SHA512
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha1_one.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: SHA224_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int SHA224_Init(SHA256_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: SHA224_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c
    functionUses: []
    functionsReached:
    - SHA256_Update
    linkageType: ''
    returnType: int
    signature: 'int SHA224_Update(SHA256_CTX *c, const void *data, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: SHA256_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int SHA256_Init(SHA256_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: SHA224_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c
    functionUses: []
    functionsReached:
    - SHA256_Final
    linkageType: ''
    returnType: int
    signature: 'int SHA224_Final(unsigned char *md, SHA256_CTX *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:249,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:251,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:255,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:253,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:265,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:267,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:271,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:269,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:291,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:294,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:341,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:312,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:300,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:336,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:340,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:318,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:287,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:293,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:296,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:302,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:306,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:311,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:320,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:326,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:329,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:324,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:330,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:297,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:257,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:259,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:261,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:263,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:279,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:285,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:277,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:275,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:288,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:273,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:327,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:303,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:342,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:309,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:290,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:299,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:305,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:308,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:314,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:315,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:317,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:323,1
    - Dst: ROUND_00_15
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:332,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:338,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:339,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:321,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:343,1
    - Dst: ROUND_16_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 159
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 356
    functionName: sha256_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c
    functionUses: []
    functionsReached:
    - ROUND_00_15
    - ROUND_16_63
    - HOST_c2l
    linkageType: ''
    returnType: void
    signature: 'static void sha256_block_data_order(SHA256_CTX *ctx, const void *in,
      size_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:166,1
    - Dst: Sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:169,1
    - Dst: Ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:168,1
    - Dst: Sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:168,1
    - Dst: Maj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:169,1
    - Dst: sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:182,1
    - Dst: sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:184,1
    - Dst: Sigma1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:187,1
    - Dst: Ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:187,1
    - Dst: Sigma0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:188,1
    - Dst: Maj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: sha256_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha256.c
    functionUses: []
    functionsReached:
    - Sigma0
    - sigma1
    - Sigma1
    - sigma0
    - HOST_c2l
    - Maj
    - Ch
    linkageType: ''
    returnType: void
    signature: 'static void sha256_block_data_order(SHA256_CTX *ctx, const void *in,
      size_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KECCAK1600_CTX*
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: ossl_sha3_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ossl_sha3_reset(KECCAK1600_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sha3_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pad
    - bitlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: ossl_keccak_kmac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c
    functionUses: []
    functionsReached:
    - ossl_sha3_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_keccak_kmac_init(KECCAK1600_CTX *ctx, unsigned char pad,
      size_t bitlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_BLOCKSIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:22,1
    - Dst: ossl_sha3_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - pad
    - bitlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: ossl_sha3_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c
    functionUses: []
    functionsReached:
    - ossl_sha3_reset
    - SHA3_BLOCKSIZE
    linkageType: ''
    returnType: int
    signature: 'int ossl_sha3_init(KECCAK1600_CTX *ctx, unsigned char pad, size_t
      bitlen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:57,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:79,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:66,1
    - Dst: SHA3_absorb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:74,1
    - Dst: SHA3_absorb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - _inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: ossl_sha3_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c
    functionUses: []
    functionsReached:
    - SHA3_absorb
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int ossl_sha3_update(KECCAK1600_CTX *ctx, const void *_inp, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:99,1
    - Dst: SHA3_squeeze
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:105,1
    - Dst: SHA3_absorb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - KECCAK1600_CTX*
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: ossl_sha3_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sha/sha3.c
    functionUses: []
    functionsReached:
    - SHA3_absorb
    - SHA3_squeeze
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_sha3_final(unsigned char *md, KECCAK1600_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SEED_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_ecb.c:21,1
    - Dst: SEED_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_ecb.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - SEED_KEY_SCHEDULE*
    - int
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: SEED_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_ecb.c
    functionUses: []
    functionsReached:
    - SEED_decrypt
    - SEED_encrypt
    linkageType: ''
    returnType: void
    signature: 'void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out,
      const SEED_KEY_SCHEDULE *ks, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_ofb.c:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - len
    - ks
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SEED_KEY_SCHEDULE*
    - unsigned char
    - int*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: SEED_ofb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_ofb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out,
      size_t len, const SEED_KEY_SCHEDULE *ks, unsigned char ivec[SEED_BLOCK_SIZE],
      int *num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_cfb.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: SEED_cfb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_cfb.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out,
      size_t len, const SEED_KEY_SCHEDULE *ks, unsigned char ivec[SEED_BLOCK_SIZE],
      int *num, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 417
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 417
    functionName: G_FUNC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int G_FUNC(unsigned int v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:463,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:473,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:469,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:468,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:480,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:484,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:485,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:489,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:498,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:454,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:474,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:471,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:470,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:475,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:486,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:487,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:490,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:495,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:497,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:451,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:453,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:458,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:459,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:464,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:465,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:472,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:476,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:477,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:481,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:452,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:460,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:467,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:466,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:478,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:479,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:482,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:483,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:488,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 2
    argNames:
    - rawkey
    - ks
    argTypes:
    - unsigned char
    - SEED_KEY_SCHEDULE*
    constantsTouched: []
    func_position:
      end: 502
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 502
    functionName: SEED_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c
    functionUses: []
    functionsReached:
    - char2word
    - KEYSCHEDULE_UPDATE1
    - KEYSCHEDULE_UPDATE0
    - KEYUPDATE_TEMP
    linkageType: ''
    returnType: void
    signature: 'void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], SEED_KEY_SCHEDULE
      *ks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:590,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:559,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:571,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:572,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:575,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:576,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:574,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:573,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:577,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:582,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:556,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:562,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:558,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:583,1
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:592,1
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:591,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:557,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:563,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:564,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:565,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:566,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:567,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:568,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:570,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:569,1
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 3
    argNames:
    - s
    - d
    - ks
    argTypes:
    - unsigned char
    - unsigned char
    - SEED_KEY_SCHEDULE*
    constantsTouched: []
    func_position:
      end: 593
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 593
    functionName: SEED_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c
    functionUses: []
    functionsReached:
    - char2word
    - E_SEED
    - word2char
    linkageType: ''
    returnType: void
    signature: 'void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], unsigned
      char d[SEED_BLOCK_SIZE], const SEED_KEY_SCHEDULE *ks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:512,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:521,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:522,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:525,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:524,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:523,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:527,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:526,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:537,1
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:545,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:538,1
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:544,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:514,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:518,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:519,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:520,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:529,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:528,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:531,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:530,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:532,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:511,1
    - Dst: char2word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:513,1
    - Dst: E_SEED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:517,1
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:543,1
    - Dst: word2char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 3
    argNames:
    - s
    - d
    - ks
    argTypes:
    - unsigned char
    - unsigned char
    - SEED_KEY_SCHEDULE*
    constantsTouched: []
    func_position:
      end: 547
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 547
    functionName: SEED_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed.c
    functionUses: []
    functionsReached:
    - char2word
    - E_SEED
    - word2char
    linkageType: ''
    returnType: void
    signature: 'void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], unsigned
      char d[SEED_BLOCK_SIZE], const SEED_KEY_SCHEDULE *ks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_cbc.c:23,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_cbc.c:26,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 6
    argNames:
    - in
    - out
    - len
    - ks
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SEED_KEY_SCHEDULE*
    - unsigned char
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: SEED_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/seed/seed_cbc.c
    functionUses: []
    functionsReached:
    - CRYPTO_cbc128_decrypt
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out,
      size_t len, const SEED_KEY_SCHEDULE *ks, unsigned char ivec[SEED_BLOCK_SIZE],
      int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:48,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:51,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:53,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:52,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:54,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:55,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:56,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:57,1
    - Dst: QUARTERROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:58,1
    - Dst: U32TO8_LITTLE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - chacha_buf*
    - u32
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: chacha20_core
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c
    functionUses: []
    functionsReached:
    - U32TO8_LITTLE
    - QUARTERROUND
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void chacha20_core(chacha_buf *output, const u32 input[16]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:79,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:82,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:80,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:79,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:81,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:82,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:83,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:84,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:85,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:85,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:88,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:88,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:89,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:90,1
    - Dst: chacha20_core
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:111,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:87,1
    - Dst: ossl_toascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 70
    argCount: 5
    argNames:
    - out
    - inp
    - len
    - key
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_enc.c
    functionUses: []
    functionsReached:
    - chacha20_core
    - ossl_toascii
    linkageType: ''
    returnType: void
    signature: 'void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
      size_t len, const unsigned int key[8], const unsigned int counter[4]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20_ctr32_vsx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_ppc.c:30,1
    - Dst: ChaCha20_ctr32_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_ppc.c:33,1
    - Dst: ChaCha20_ctr32_vmx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_ppc.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - out
    - inp
    - len
    - key
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/chacha/chacha_ppc.c
    functionUses: []
    functionsReached:
    - ChaCha20_ctr32_int
    - ChaCha20_ctr32_vsx
    - ChaCha20_ctr32_vmx
    linkageType: ''
    returnType: void
    signature: 'void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
      size_t len, const unsigned int key[8], const unsigned int counter[4]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:46,1
    - Dst: dh_param_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: ossl_dh_new_by_nid_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c
    functionUses: []
    functionsReached:
    - ossl_ffc_uid_to_dh_named_group
    - ERR_raise
    - dh_param_init
    linkageType: ''
    returnType: DH*
    signature: 'DH *ossl_dh_new_by_nid_ex(OSSL_LIB_CTX *libctx, int nid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_numbers_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:69,1
    - Dst: ossl_ffc_named_group_get_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:73,1
    - Dst: ossl_ffc_named_group_get_keylength
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:76,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: ossl_dh_cache_named_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c
    functionUses: []
    functionsReached:
    - ossl_ffc_named_group_get_uid
    - ossl_ffc_numbers_to_dh_named_group
    - ossl_ffc_named_group_get_keylength
    - ossl_ffc_named_group_get_q
    linkageType: ''
    returnType: void
    signature: 'void ossl_dh_cache_named_group(DH *dh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:28,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:34,1
    - Dst: ossl_ffc_named_group_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - group
    argTypes:
    - OSSL_LIB_CTX*
    - DH_NAMED_GROUP*
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: dh_param_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c
    functionUses: []
    functionsReached:
    - ossl_ffc_named_group_set
    - ossl_ffc_named_group_get_uid
    - ossl_dh_new_ex
    linkageType: ''
    returnType: DH*
    signature: 'static DH *dh_param_init(OSSL_LIB_CTX *libctx, const DH_NAMED_GROUP
      *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: ossl_dh_is_named_safe_prime_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c
    functionUses: []
    functionsReached:
    - DH_get_nid
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_is_named_safe_prime_group(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_new_by_nid_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: DH_new_by_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c
    functionUses: []
    functionsReached:
    - ossl_dh_new_by_nid_ex
    linkageType: ''
    returnType: DH*
    signature: 'DH *DH_new_by_nid(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: DH_get_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_group_params.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_get_nid(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: int_dh_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - DH_free
    linkageType: ''
    returnType: void
    signature: 'static void int_dh_free(EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: int_dh_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - DH_size
    linkageType: ''
    returnType: int
    signature: 'static int int_dh_size(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_check_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: dh_pkey_param_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - DH_check_ex
    linkageType: ''
    returnType: int
    signature: 'static int dh_pkey_param_check(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_pkey_import_from_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: dh_pkey_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - dh_pkey_import_from_type
    linkageType: ''
    returnType: int
    signature: 'static int dh_pkey_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:85,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:76,1
    - Dst: d2i_dhp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:84,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:90,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:96,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:100,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:101,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:105,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:106,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 108
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 108
    functionName: dh_pub_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - d2i_dhp
    - ASN1_INTEGER_to_BN
    - X509_ALGOR_get0
    - DH_free
    - X509_PUBKEY_get0_param
    - ASN1_INTEGER_free
    - d2i_ASN1_INTEGER
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: 'static int dh_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: dh_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - DH_bits
    linkageType: ''
    returnType: int
    signature: 'static int dh_bits(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: dh_pkey_dirty_cnt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t dh_pkey_dirty_cnt(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_pkey_import_from_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: dhx_pkey_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - dh_pkey_import_from_type
    linkageType: ''
    returnType: int
    signature: 'static int dhx_pkey_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_key_from_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:166,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - p8
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: dh_priv_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_dh_key_from_pkcs8
    linkageType: ''
    returnType: int
    signature: 'static int dh_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO
      *p8) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:121,1
    - Dst: i2d_dhp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:123,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:128,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:137,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:142,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:146,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:146,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:151,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 155
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 155
    functionName: dh_pub_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_dhp
    - OPENSSL_free
    - ASN1_STRING_new
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    - X509_PUBKEY_set0_param
    - i2d_ASN1_INTEGER
    - ASN1_STRING_free
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh_cmp_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:365,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: dh_pub_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - BN_cmp
    - dh_cmp_parameters
    linkageType: ''
    returnType: int
    signature: 'static int dh_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: dh_public_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: 'static int dh_public_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: dhx_pkey_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dhx_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: dh_param_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: 'static int dh_param_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: dh_private_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: 'static int dh_private_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:432,1
    - Dst: DH_check_pub_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: dh_pkey_public_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DH_check_pub_key_ex
    linkageType: ''
    returnType: int
    signature: 'static int dh_pkey_public_check(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DHxparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:40,1
    - Dst: d2i_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - pp
    - length
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: d2i_dhp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - d2i_DHxparams
    - d2i_DHparams
    linkageType: ''
    returnType: DH*
    signature: 'static DH *d2i_dhp(const EVP_PKEY *pkey, const unsigned char **pp,
      long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_dhp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: dh_param_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - i2d_dhp
    linkageType: ''
    returnType: int
    signature: 'static int dh_param_encode(const EVP_PKEY *pkey, unsigned char **pder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: dh_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - DH_security_bits
    linkageType: ''
    returnType: int
    signature: 'static int dh_security_bits(const EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - to
    - from
    - is_x942
    argTypes:
    - DH*
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: int_dh_param_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: int
    signature: 'static int int_dh_param_copy(DH *to, const DH *from, int is_x942) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - DH*
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: DHparams_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: 'int DHparams_print(BIO *bp, const DH *x) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:457,1
    - Dst: DH_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:457,1
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:459,1
    - Dst: DH_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:458,1
    - Dst: DH_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:457,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:460,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:468,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:471,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:472,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:475,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:490,1
    - Dst: importer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:500,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:502,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:504,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:480,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:485,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:496,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 45
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 506
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 506
    functionName: dh_pkey_export_to
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - DH_get_length
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_BN
    - importer
    - DH_get0_p
    - DH_get0_priv_key
    - OSSL_PARAM_BLD_new
    - DH_get0_g
    - DH_get0_q
    - OSSL_PARAM_BLD_push_long
    - DH_get0_pub_key
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int dh_pkey_export_to(const EVP_PKEY *from, void *to_keydata,
      OSSL_FUNC_keymgmt_import_fn *importer, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:548,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:555,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 557
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 557
    functionName: dh_pkey_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ossl_dh_dup
    - EVP_PKEY_assign
    - DH_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_pkey_copy(EVP_PKEY *to, EVP_PKEY *from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DHxparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:50,1
    - Dst: i2d_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - pkey
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - DH*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: i2d_dhp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - i2d_DHxparams
    - i2d_DHparams
    linkageType: ''
    returnType: int
    signature: 'static int i2d_dhp(const EVP_PKEY *pkey, const DH *a, unsigned char
      **pp) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:272,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:273,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:279,1
    - Dst: DH_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:273,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:277,1
    - Dst: ossl_ffc_params_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:282,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:286,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:287,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:295,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 44
    argCount: 4
    argNames:
    - bp
    - x
    - indent
    - ptype
    argTypes:
    - BIO*
    - DH*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 297
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 297
    functionName: do_dh_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_raise
    - ossl_ffc_params_print
    - BIO_indent
    - DH_bits
    - ASN1_bn_print
    linkageType: ''
    returnType: int
    signature: 'static int do_dh_print(BIO *bp, const DH *x, int indent, int ptype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: dh_cmp_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: 'static int dh_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:335,1
    - Dst: int_dh_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:338,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: DHparams_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - int_dh_param_copy
    - DH_free
    - DH_new
    linkageType: ''
    returnType: DH*
    signature: 'DH *DHparams_dup(const DH *dh) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:402,1
    - Dst: evp_pkey_get0_DH_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:404,1
    - Dst: ossl_dh_buf2key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:407,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:402,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:409,1
    - Dst: ossl_dh_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:412,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: dh_pkey_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - ossl_dh_buf2key
    - evp_pkey_get0_DH_int
    - EVP_PKEY_get0_DH
    - ossl_dh_key2buf
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: 'static int dh_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:512,1
    - Dst: ossl_dh_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:513,1
    - Dst: DH_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:520,1
    - Dst: DH_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:519,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:516,1
    - Dst: ossl_dh_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:522,1
    - Dst: ossl_dh_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:523,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:524,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - params
    - vpctx
    - type
    argTypes:
    - OSSL_PARAM
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 529
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 529
    functionName: dh_pkey_import_from_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DH_clear_flags
    - DH_set_flags
    - EVP_PKEY_CTX_get0_pkey
    - ossl_dh_key_fromdata
    - ossl_dh_params_fromdata
    - EVP_PKEY_assign
    - DH_free
    - ossl_dh_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int dh_pkey_import_from_type(const OSSL_PARAM params[], void
      *vpctx, int type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:183,1
    - Dst: i2d_dhp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:190,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:201,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:205,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:207,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:210,1
    - Dst: PKCS8_pkey_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:214,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:216,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:222,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:214,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 224
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 224
    functionName: dh_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS8_pkey_set0
    - i2d_dhp
    - ASN1_STRING_new
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - ASN1_STRING_free
    - OPENSSL_clear_free
    - ASN1_STRING_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY
      *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:348,1
    - Dst: int_dh_param_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: dh_copy_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - int_dh_param_copy
    - DH_new
    linkageType: ''
    returnType: int
    signature: 'static int dh_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_dhp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:231,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: dh_param_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - d2i_dhp
    linkageType: ''
    returnType: int
    signature: 'static int dh_param_decode(EVP_PKEY *pkey, const unsigned char **pder,
      int derlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: dh_missing_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dh_missing_parameters(const EVP_PKEY *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - app_data
    argTypes:
    - DH_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: DH_meth_set0_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - DH
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: (*DH_meth_get_generate_key(const DH_METHOD *dhm))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - (*generate_params)
    argTypes:
    - DH_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: DH_meth_set_generate_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set_generate_params(DH_METHOD *dhm, int (*generate_params)
      (DH *, int, int, BN_GENCB *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - (*generate_key)
    argTypes:
    - DH_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: DH_meth_set_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set_generate_key(DH_METHOD *dhm, int (*generate_key) (DH
      *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - (*bn_mod_exp)
    argTypes:
    - DH_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: DH_meth_set_bn_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, int (*bn_mod_exp) (const
      DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX
      *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - (*finish)
    argTypes:
    - DH_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: DH_meth_set_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: (*DH_meth_get_compute_key(const DH_METHOD *dhm))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    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: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - DH
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: (*DH_meth_get_init(const DH_METHOD *dhm))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - '*'
    - int
    - int
    - '*'
    argTypes:
    - DH
    - int
    - int
    - BN_GENCB
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: (*DH_meth_get_generate_params(const DH_METHOD *dhm))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) (DH *, int,
      int, BN_GENCB *) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:21,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:26,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:33,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: DH_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: DH_METHOD*
    signature: 'DH_METHOD *DH_meth_new(const char *name, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:70,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dhm
    - name
    argTypes:
    - DH_METHOD*
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: DH_meth_set1_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set1_name(DH_METHOD *dhm, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:47,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:52,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:50,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: DH_meth_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: DH_METHOD*
    signature: 'DH_METHOD *DH_meth_dup(const DH_METHOD *dhm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - (*init)
    argTypes:
    - DH_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: DH_meth_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:40,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: DH_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void DH_meth_free(DH_METHOD *dhm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: DH_meth_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *DH_meth_get0_name(const DH_METHOD *dhm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: DH_meth_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_get_flags(const DH_METHOD *dhm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - DH
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: (*DH_meth_get_finish(const DH_METHOD *dhm))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - flags
    argTypes:
    - DH_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: DH_meth_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set_flags(DH_METHOD *dhm, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - dhm
    - (*compute_key)
    argTypes:
    - DH_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: DH_meth_set_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_meth_set_compute_key(DH_METHOD *dhm, int (*compute_key) (unsigned
      char *key, const BIGNUM *pub_key, DH *dh)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: DH_meth_get0_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *DH_meth_get0_app_data(const DH_METHOD *dhm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 7
    argNames:
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    argTypes:
    - DH
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BN_CTX
    - BN_MONT_CTX
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_meth.c
    functionUses: []
    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 *, BN_CTX *, BN_MONT_CTX *) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:38,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:43,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:40,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:47,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:49,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:52,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:54,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:56,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:57,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:59,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:60,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    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*
    constantsTouched: []
    func_position:
      end: 62
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 62
    functionName: ossl_dh_kdf_X9_42_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_fetch
    - EVP_MD_get0_name
    - EVP_KDF_derive
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_kdf_X9_42_asn1(unsigned char *out, size_t outlen, const
      unsigned char *Z, size_t Zlen, const char *cek_alg, const unsigned char *ukm,
      size_t ukmlen, const EVP_MD *md, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:71,1
    - Dst: ossl_dh_kdf_X9_42_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:77,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:74,1
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    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*
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: DH_KDF_X9_42
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_kdf.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - OBJ_obj2txt
    - ossl_provider_libctx
    - ossl_dh_kdf_X9_42_asn1
    linkageType: ''
    returnType: int
    signature: 'int DH_KDF_X9_42(unsigned char *out, size_t outlen, const unsigned
      char *Z, size_t Zlen, ASN1_OBJECT *key_oid, const unsigned char *ukm, size_t
      ukmlen, const EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:44,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - dh
    - type
    - pbits
    - qbits
    - cb
    argTypes:
    - DH*
    - int
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: ossl_dh_generate_ffc_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_FIPS186_4_generate
    - ossl_ffc_params_FIPS186_2_generate
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_generate_ffc_parameters(DH *dh, int type, int pbits, int
      qbits, BN_GENCB *cb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get_named_group_uid_from_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:97,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:104,1
    - Dst: ossl_dh_new_by_nid_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:102,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - libctx
    - ret
    - prime_len
    argTypes:
    - OSSL_LIB_CTX*
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: dh_gen_named_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c
    functionUses: []
    functionsReached:
    - ossl_dh_get_named_group_uid_from_size
    - ossl_ffc_params_copy
    - ossl_dh_new_by_nid_ex
    - DH_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_gen_named_group(OSSL_LIB_CTX *libctx, DH *ret, int prime_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - pbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 89
    functionName: ossl_dh_get_named_group_uid_from_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_get_named_group_uid_from_size(int pbits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:119,1
    - Dst: dh_builtin_genparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - ret
    - prime_len
    - generator
    - cb
    argTypes:
    - DH*
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: DH_generate_parameters_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c
    functionUses: []
    functionsReached:
    - dh_gen_named_group
    - dh_builtin_genparams
    linkageType: ''
    returnType: int
    signature: 'int DH_generate_parameters_ex(DH *ret, int prime_len, int generator,
      BN_GENCB *cb) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:167,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:187,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:197,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:217,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:193,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:230,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:175,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:171,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:176,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:183,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:208,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:181,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:191,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:199,1
    - Dst: BN_generate_prime_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:162,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:174,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:219,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:225,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:210,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c:229,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 62
    argCount: 4
    argNames:
    - ret
    - prime_len
    - generator
    - cb
    argTypes:
    - DH*
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 232
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 232
    functionName: dh_builtin_genparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_gen.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_GENCB_call
    - BN_CTX_end
    - BN_new
    - BN_CTX_free
    - BN_CTX_start
    - BN_set_word
    - BN_CTX_new_ex
    - BN_generate_prime_ex2
    linkageType: ''
    returnType: int
    signature: 'static int dh_builtin_genparams(DH *ret, int prime_len, int generator,
      BN_GENCB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:120,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:138,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    constantsTouched: []
    func_position:
      end: 141
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 141
    functionName: DH_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - memset
    - ossl_dh_compute_key
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: DH_OpenSSL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD*
    signature: 'const DH_METHOD *DH_OpenSSL(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - dh
    - r
    - a
    - p
    - m
    - ctx
    - m_ctx
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: dh_bn_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    linkageType: ''
    returnType: int
    signature: 'static int dh_bn_mod_exp(const DH *dh, BIGNUM *r, const BIGNUM *a,
      const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: dh_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_finish(DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: DH_set_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DH_set_default_method(const DH_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: DH_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - generate_key
    linkageType: ''
    returnType: int
    signature: 'int DH_generate_key(DH *dh) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:282,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:310,1
    - Dst: BN_clear_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:340,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:347,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:271,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:286,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:291,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:338,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:337,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:327,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:355,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:373,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:378,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:379,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:281,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:308,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:313,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:330,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:310,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:316,1
    - Dst: ossl_dh_generate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:364,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:270,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:276,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:300,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:329,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:356,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:376,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 83
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 381
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 381
    functionName: generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - ossl_ifc_ffc_compute_security_bits
    - ossl_dh_generate_public_key
    - ERR_raise
    - BN_priv_rand_ex
    - BN_clear_bit
    - BN_secure_new
    - ossl_ffc_generate_private_key
    - BN_new
    - BN_num_bits
    - BN_CTX_free
    - BN_is_bit_set
    - BN_is_word
    - BN_free
    - ossl_ffc_params_simple_validate
    - DH_get_nid
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int generate_key(DH *dh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:149,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:159,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:155,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: DH_compute_key_padded
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - memset
    - ossl_dh_compute_key
    - BN_num_bytes
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key,
      DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: DH_get_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD*
    signature: 'const DH_METHOD *DH_get_default_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: dh_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dh_init(DH *dh) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:228,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:248,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:256,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:244,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - dh
    - priv_key
    - pub_key
    argTypes:
    - BN_CTX*
    - DH*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 258
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 258
    functionName: ossl_dh_generate_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_new
    - BN_with_flags
    - BN_MONT_CTX_set_locked
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_generate_public_key(BN_CTX *ctx, const DH *dh, const BIGNUM
      *priv_key, BIGNUM *pub_key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:390,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:402,1
    - Dst: ossl_dh_check_pub_key_partial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:398,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:393,1
    - Dst: DH_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:392,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:406,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:407,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - dh
    - buf
    - len
    argTypes:
    - DH*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 409
    functionName: ossl_dh_buf2key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DH_get0_pqg
    - BN_num_bytes
    - ossl_dh_check_pub_key_partial
    - DH_set0_key
    - BN_free
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_buf2key(DH *dh, const unsigned char *buf, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:419,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:424,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:422,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:420,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:423,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:432,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:436,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:443,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:445,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:446,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 4
    argNames:
    - dh
    - pbuf_out
    - size
    - alloc
    argTypes:
    - DH*
    - unsigned char**
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 452
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 452
    functionName: ossl_dh_key2buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DH_get0_pqg
    - BN_num_bytes
    - OPENSSL_free
    - DH_get0_key
    - BN_bn2binpad
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_dh_key2buf(const DH *dh, unsigned char **pbuf_out, size_t
      size, int alloc) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:57,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:77,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:46,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:62,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:66,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:93,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:101,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:101,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:105,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:58,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:87,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:92,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:94,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:95,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:47,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:65,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:67,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:72,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:96,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c:104,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    constantsTouched: []
    func_position:
      end: 107
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 107
    functionName: ossl_dh_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_key.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_sub_word
    - BN_CTX_end
    - BN_num_bytes
    - BN_copy
    - BN_value_one
    - BN_num_bits
    - BN_bn2binpad
    - BN_clear
    - BN_MONT_CTX_set_locked
    - BN_CTX_free
    - BN_CTX_start
    - BN_set_flags
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,
      DH *dh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: pkey_dh_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dh_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pkey_dh_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:89,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:107,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: pkey_dh_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - OBJ_dup
    - OPENSSL_memdup
    - pkey_dh_init
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dh_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:226,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:252,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:259,1
    - Dst: EVP_PKEY_CTX_set_dh_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:270,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_prime_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:229,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:235,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:246,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:257,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:255,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:264,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:231,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:243,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:262,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_subprime_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:260,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:269,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:228,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:241,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:254,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:265,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:267,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 273
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 273
    functionName: pkey_dh_ctrl_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcmp
    - EVP_PKEY_CTX_set_dh_paramgen_subprime_len
    - EVP_PKEY_CTX_set_dh_pad
    - atoi
    - EVP_PKEY_CTX_set_dh_paramgen_type
    - OBJ_sn2nid
    - EVP_PKEY_CTX_set_dh_paramgen_generator
    - EVP_PKEY_CTX_set_dh_paramgen_prime_len
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dh_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, const
      char *value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:337,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:344,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:339,1
    - Dst: evp_pkey_set_cb_translate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:347,1
    - Dst: ffc_params_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:353,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:354,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:357,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:360,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:362,1
    - Dst: DH_generate_parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:365,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:371,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:367,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:369,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 373
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 373
    functionName: pkey_dh_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - BN_GENCB_new
    - DH_generate_parameters_ex
    - EVP_PKEY_assign_DH
    - ffc_params_generate
    - evp_pkey_set_cb_translate
    - DH_free
    - DH_new
    - EVP_PKEY_assign
    - BN_GENCB_free
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dh_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:407,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:413,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:410,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:411,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:419,1
    - Dst: DH_compute_key_padded
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:423,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:425,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:445,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:447,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:448,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:459,1
    - Dst: DH_KDF_X9_42
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:453,1
    - Dst: DH_compute_key_padded
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:451,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 51
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 463
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 463
    functionName: pkey_dh_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DH_compute_key_padded
    - DH_size
    - DH_KDF_X9_42
    - EVP_PKEY_get0_DH
    - OPENSSL_clear_free
    - DH_compute_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dh_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t
      *keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: ossl_dh_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_dh_pkey_method(void) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:196,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:209,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 221
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 221
    functionName: pkey_dh_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dh_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:80,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: pkey_dh_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: 'static void pkey_dh_cleanup(EVP_PKEY_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:286,1
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:302,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:298,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:298,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:310,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:315,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - libctx
    - dctx
    - pcb
    argTypes:
    - OSSL_LIB_CTX*
    - DH_PKEY_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 319
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 319
    functionName: ffc_params_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - ossl_ffc_set_digest
    - ossl_ffc_params_FIPS186_2_generate
    - EVP_MD_get0_name
    - DH_free
    - DH_new
    - ossl_ffc_params_FIPS186_4_generate
    linkageType: ''
    returnType: DH*
    signature: 'static DH *ffc_params_generate(OSSL_LIB_CTX *libctx, DH_PKEY_CTX *dctx,
      BN_GENCB *pcb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:381,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:390,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:392,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:385,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:387,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:394,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: pkey_dh_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - ERR_raise
    - EVP_PKEY_get0_DH
    - EVP_PKEY_copy_parameters
    - DH_new
    - EVP_PKEY_assign
    - DH_generate_key
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dh_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: ossl_dhx_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_pmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_dhx_pkey_method(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_err.c:68,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_err.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: ossl_err_load_DH_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:30,1
    - Dst: DH_generate_parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:40,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:34,1
    - Dst: BN_GENCB_set_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:38,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:32,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:41,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:44,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c:45,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - prime_len
    - generator
    - (*callback)
    - cb_arg
    argTypes:
    - int
    - int
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 47
    functionName: DH_generate_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_depr.c
    functionUses: []
    functionsReached:
    - BN_GENCB_new
    - BN_GENCB_set_old
    - DH_generate_parameters_ex
    - DH_free
    - DH_new
    - BN_GENCB_free
    linkageType: ''
    returnType: DH*
    signature: 'DH *DH_generate_parameters(int prime_len, int generator, void (*callback)
      (int, int, void *), void *cb_arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - dh
    - meth
    argTypes:
    - DH*
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: DH_set_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: 'int DH_set_method(DH *dh, const DH_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - d
    - idx
    - arg
    argTypes:
    - DH*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: DH_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int DH_set_ex_data(DH *d, int idx, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - dh
    - pub_key
    - priv_key
    argTypes:
    - DH*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: DH_get0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM
      **priv_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: DH_get0_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DH_get0_pub_key(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ossl_dh_get_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD*
    signature: 'const DH_METHOD *ossl_dh_get_method(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - d
    - idx
    argTypes:
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: DH_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *DH_get_ex_data(const DH *d, int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:265,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - dh
    - pub_key
    - priv_key
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: DH_set0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dh
    - flags
    argTypes:
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: DH_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DH_clear_flags(DH *dh, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: DH_get0_pqg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_get0_pqg
    linkageType: ''
    returnType: void
    signature: 'void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q,
      const BIGNUM **g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: DH_get_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long DH_get_length(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: DH_get0_g
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DH_get0_g(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dh
    - flags
    argTypes:
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: DH_test_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_test_flags(const DH *dh, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: ossl_dh_get0_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FFC_PARAMS*
    signature: 'FFC_PARAMS *ossl_dh_get0_params(DH *dh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:236,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: DH_set0_pqg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - ossl_dh_cache_named_group
    - ossl_ffc_params_set0_pqg
    linkageType: ''
    returnType: int
    signature: 'int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dh
    - length
    argTypes:
    - DH*
    - long
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: DH_set_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DH_set_length(DH *dh, long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: DH_get0_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DH_get0_priv_key(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dh
    - flags
    argTypes:
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: DH_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DH_set_flags(DH *dh, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ossl_dh_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - dh_new_intern
    linkageType: ''
    returnType: DH*
    signature: 'DH *ossl_dh_new_ex(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: DH_get0_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DH_get0_p(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: DH_get0_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *DH_get0_engine(DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: DH_new_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - dh_new_intern
    linkageType: ''
    returnType: DH*
    signature: 'DH *DH_new_method(ENGINE *engine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: DH_get0_q
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DH_get0_q(const DH *dh) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:75,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:85,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:78,1
    - Dst: DH_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:91,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:96,1
    - Dst: ENGINE_get_default_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:101,1
    - Dst: ENGINE_get_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:103,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:128,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:121,1
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:118,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - engine
    - libctx
    argTypes:
    - ENGINE*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 130
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 130
    functionName: dh_new_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_new_ex_data
    - ERR_raise
    - OPENSSL_free
    - ENGINE_init
    - ENGINE_get_default_DH
    - ENGINE_get_DH
    - OPENSSL_zalloc
    - ossl_ffc_params_init
    - DH_get_default_method
    - DH_free
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DH*
    signature: 'static DH *dh_new_intern(ENGINE *engine, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:166,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:170,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: DH_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int DH_up_ref(DH *r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: DH_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: 'int DH_size(const DH *dh) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:139,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:140,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:143,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:149,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:151,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:154,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:156,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:157,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:158,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: DH_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cleanup
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - ENGINE_finish
    - CRYPTO_free_ex_data
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - BN_clear_free
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void DH_free(DH *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - d
    - libctx
    argTypes:
    - DH*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: ossl_dh_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_dh_set0_libctx(DH *d, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: DH_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'int DH_bits(const DH *dh) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:210,1
    - Dst: BN_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:216,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: DH_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    - BN_security_bits
    linkageType: ''
    returnType: int
    signature: 'int DH_security_bits(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: ossl_dh_get0_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_get0_nid(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: DH_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_lib.c
    functionUses: []
    functionsReached:
    - dh_new_intern
    linkageType: ''
    returnType: DH*
    signature: 'DH *DH_new(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:37,1
    - Dst: ossl_ffc_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:41,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - dh
    - params
    argTypes:
    - DH*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: dh_ffc_params_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - ossl_dh_get0_params
    - ossl_dh_cache_named_group
    - ossl_ffc_params_fromdata
    linkageType: ''
    returnType: int
    signature: 'static int dh_ffc_params_fromdata(DH *dh, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:116,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:122,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - dh
    - bld
    - params
    - include_private
    argTypes:
    - DH*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: ossl_dh_key_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - DH_get0_key
    - ossl_param_build_set_bn
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_key_todata(DH *dh, OSSL_PARAM_BLD *bld, OSSL_PARAM params[],
      int include_private) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:73,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:78,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:82,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:85,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:74,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:91,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:92,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 3
    argNames:
    - dh
    - params
    - include_private
    argTypes:
    - DH*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 94
    functionName: ossl_dh_key_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - DH_set0_key
    - BN_free
    - OSSL_PARAM_get_BN
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_key_fromdata(DH *dh, const OSSL_PARAM params[], int include_private) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: dh_bn_dup_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - BN_dup
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int dh_bn_dup_check(BIGNUM **out, const BIGNUM
      *f) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:199,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:202,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:212,1
    - Dst: d2i_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:214,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:206,1
    - Dst: d2i_DHxparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:217,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:226,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:227,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:228,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:229,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:235,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:232,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:241,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:246,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:243,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 35
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 248
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 248
    functionName: ossl_dh_key_from_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - ASN1_INTEGER_to_BN
    - d2i_DHxparams
    - PKCS8_pkey_get0
    - BN_secure_new
    - DH_set0_key
    - X509_ALGOR_get0
    - DH_free
    - BN_clear_free
    - DH_generate_key
    - ASN1_STRING_clear_free
    - d2i_ASN1_INTEGER
    - d2i_DHparams
    linkageType: ''
    returnType: DH*
    signature: 'DH *ossl_dh_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:98,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:100,1
    - Dst: ossl_param_build_set_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:103,1
    - Dst: ossl_ffc_params_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - dh
    - bld
    - params
    argTypes:
    - DH*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: ossl_dh_params_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - ossl_dh_get0_params
    - DH_get_length
    - ossl_ffc_params_todata
    - ossl_param_build_set_long
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_params_todata(DH *dh, OSSL_PARAM_BLD *bld, OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh_ffc_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:52,1
    - Dst: DH_set_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:59,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:58,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - dh
    - params
    argTypes:
    - DH*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: ossl_dh_params_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - DH_set_length
    - OSSL_PARAM_locate_const
    - dh_ffc_params_fromdata
    - OSSL_PARAM_get_long
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_params_fromdata(DH *dh, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:131,1
    - Dst: DH_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ossl_dh_is_foreign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - DH_OpenSSL
    - ossl_dh_get_method
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_is_foreign(const DH *dh) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_is_foreign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:149,1
    - Dst: DH_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:155,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:157,1
    - Dst: dh_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:164,1
    - Dst: ossl_dh_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:152,1
    - Dst: dh_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:169,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:173,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c:181,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 2
    argNames:
    - dh
    - selection
    argTypes:
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: ossl_dh_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_backend.c
    functionUses: []
    functionsReached:
    - DH_get_length
    - CRYPTO_dup_ex_data
    - dh_bn_dup_check
    - ossl_dh_is_foreign
    - DH_free
    - ossl_ffc_params_copy
    - ossl_dh_new_ex
    linkageType: ''
    returnType: DH*
    signature: 'DH *ossl_dh_dup(const DH *dh, int selection) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:28,1
    - Dst: DH_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:39,1
    - Dst: DH_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:40,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:33,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:41,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 45
    functionName: dh_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c
    functionUses: []
    functionsReached:
    - DH_clear_flags
    - DH_set_flags
    - ossl_dh_cache_named_group
    - DH_free
    - DH_new
    linkageType: ''
    returnType: int
    signature: 'static int dh_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:144,1
    - Dst: i2d_int_dhx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:162,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:153,1
    - Dst: ossl_ffc_params_get_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:147,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:156,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - dh
    - pp
    argTypes:
    - DH*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 166
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 166
    functionName: i2d_DHxparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_get_validate_params
    - i2d_int_dhx
    - BN_new
    - ossl_ffc_params_get0_pqg
    - BN_set_word
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'int i2d_DHxparams(const DH *dh, unsigned char **pp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:98,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:113,1
    - Dst: d2i_int_dhx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:101,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:103,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:108,1
    - Dst: ossl_ffc_params_set0_j
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:114,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:118,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:119,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:122,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:123,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:128,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:124,1
    - Dst: DH_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:129,1
    - Dst: DH_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 132
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 132
    functionName: d2i_DHxparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_asn1.c
    functionUses: []
    functionsReached:
    - DH_clear_flags
    - DH_set_flags
    - DH_new
    - OPENSSL_free
    - ossl_ffc_params_set_validate_params
    - ASN1_BIT_STRING_free
    - BN_get_word
    - BN_free
    - DH_free
    - ossl_ffc_params_set0_j
    - d2i_int_dhx
    - DH_set0_pqg
    linkageType: ''
    returnType: DH*
    signature: 'DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_prn.c:26,1
    - Dst: DHparams_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_prn.c:31,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_prn.c:30,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_prn.c:26,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_prn.c:27,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_prn.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - DH*
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: DHparams_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_prn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - DHparams_print
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int DHparams_print_fp(FILE *fp, const DH *x) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DH_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:39,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: DH_check_params_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - DH_check_params
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int DH_check_params_ex(const DH *dh) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DH_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:124,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:118,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:128,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: DH_check_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - DH_check
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int DH_check_ex(const DH *dh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:252,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:253,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:258,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - dh
    - pub_key
    - ret
    argTypes:
    - DH*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: DH_check_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - ossl_ffc_validate_public_key
    - ERR_raise
    - BN_num_bits
    - BN_ucmp
    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/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - dh
    - pub_key
    - ret
    argTypes:
    - DH*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: ossl_dh_check_pub_key_partial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:75,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:79,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:83,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:78,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:85,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:86,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:87,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:89,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:89,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:91,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:95,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:100,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:93,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:101,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - dh
    - ret
    argTypes:
    - DH*
    - int*
    constantsTouched: []
    func_position:
      end: 103
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 103
    functionName: DH_check_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_sub_word
    - BN_CTX_end
    - BN_is_zero
    - BN_copy
    - BN_num_bits
    - BN_is_one
    - BN_CTX_free
    - BN_is_negative
    - BN_CTX_start
    - BN_is_odd
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int DH_check_params(const DH *dh, int *ret) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:283,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:300,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:299,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:302,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:298,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:312,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:313,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:313,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:315,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:318,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:323,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 3
    argNames:
    - dh
    - priv_key
    - ret
    argTypes:
    - DH*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 325
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 325
    functionName: ossl_dh_check_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - BN_value_one
    - BN_num_bits
    - BN_new
    - BN_free
    - ossl_ffc_validate_private_key
    - DH_get_nid
    - BN_lshift
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_check_priv_key(const DH *dh, const BIGNUM *priv_key, int
      *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:56,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - dh
    - ret
    argTypes:
    - DH*
    - int*
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: DH_check_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - DH_get_nid
    - ossl_ffc_params_FIPS186_4_validate
    linkageType: ''
    returnType: int
    signature: 'int DH_check_params(const DH *dh, int *ret) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:148,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:183,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:192,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:223,1
    - Dst: DH_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:143,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:156,1
    - Dst: DH_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:161,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:181,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:213,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:164,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:167,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:168,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:169,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:181,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:200,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:203,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:198,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:207,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:155,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:174,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:189,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:187,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:215,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:224,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 73
    argCount: 2
    argNames:
    - dh
    - ret
    argTypes:
    - DH*
    - int*
    constantsTouched: []
    func_position:
      end: 227
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 227
    functionName: DH_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - DH_check_params
    - BN_CTX_get
    - ERR_raise
    - BN_ucmp
    - BN_CTX_end
    - BN_value_one
    - BN_num_bits
    - BN_is_one
    - BN_div
    - BN_rshift1
    - BN_CTX_free
    - BN_CTX_start
    - BN_check_prime
    - BN_mod_exp
    - DH_get_nid
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int DH_check(const DH *dh, int *ret) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_check_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:241,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:239,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - dh
    - pub_key
    argTypes:
    - DH*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 244
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 244
    functionName: DH_check_pub_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DH_check_pub_key
    linkageType: ''
    returnType: int
    signature: 'int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:343,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:354,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:356,1
    - Dst: ossl_dh_generate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:351,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:346,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c:357,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: ossl_dh_check_pairwise
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dh/dh_check.c
    functionUses: []
    functionsReached:
    - ossl_dh_generate_public_key
    - BN_new
    - BN_CTX_free
    - BN_free
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_check_pairwise(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_ppc.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - res
    - in
    argTypes:
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: ecp_nistz256_to_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_ppc.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_ppc.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - res
    - in
    argTypes:
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: ecp_nistz256_from_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_ppc.c
    functionUses: []
    functionsReached:
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: 'void ecp_nistz256_from_mont(unsigned long res[4], const unsigned long
      in[4]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:116,1
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:117,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:133,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:129,1
    - Dst: ECDSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pkey_ec_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - EVP_MD_get_type
    - ECDSA_sign
    - ECDSA_size
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t
      *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ec_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:64,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:84,1
    - Dst: EC_KEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:76,1
    - Dst: EC_GROUP_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 91
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionName: pkey_ec_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - pkey_ec_init
    - EC_KEY_dup
    - OPENSSL_memdup
    - EC_GROUP_dup
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:177,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:180,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:182,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:187,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:195,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:198,1
    - Dst: ECDH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:207,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 212
    functionName: pkey_ec_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - ECDH_compute_key
    - EC_KEY_get0_public_key
    - EC_GROUP_get_degree
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t
      *keylen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:394,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:402,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:398,1
    - Dst: EC_curve_nist2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:396,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:400,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:405,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:406,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:408,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:410,1
    - Dst: EVP_PKEY_CTX_set_ec_param_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:414,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:421,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:422,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:424,1
    - Dst: EVP_PKEY_CTX_set_ecdh_cofactor_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:425,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:417,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:418,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:415,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 429
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 429
    functionName: pkey_ec_ctrl_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_ec_param_enc
    - EC_curve_nist2nid
    - ERR_raise
    - strcmp
    - EVP_get_digestbyname
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - OBJ_ln2nid
    - atoi
    - OBJ_sn2nid
    - EVP_PKEY_CTX_set_ecdh_kdf_md
    - EVP_PKEY_CTX_set_ecdh_cofactor_mode
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, const
      char *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:457,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:464,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:463,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:463,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:460,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:469,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:471,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 474
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 474
    functionName: pkey_ec_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - EC_KEY_generate_key
    - ERR_raise
    - EC_KEY_new
    - ossl_assert
    - EC_KEY_set_group
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_copy_parameters
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:50,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: pkey_ec_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:154,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:157,1
    - Dst: ECDSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: pkey_ec_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - ECDSA_verify
    - EVP_PKEY_get0_EC_KEY
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_verify(EVP_PKEY_CTX *ctx, const unsigned char *sig,
      size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:97,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:99,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:100,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: pkey_ec_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EC_KEY_free
    - EC_GROUP_free
    linkageType: ''
    returnType: void
    signature: 'static void pkey_ec_cleanup(EVP_PKEY_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ec_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:222,1
    - Dst: pkey_ec_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:235,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:232,1
    - Dst: pkey_ec_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:229,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:231,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:238,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:245,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 247
    functionName: pkey_ec_kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - ossl_ecdh_kdf_X9_63
    - ERR_raise
    - pkey_ec_derive
    - OPENSSL_clear_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_kdf_derive(EVP_PKEY_CTX *ctx, unsigned char *key,
      size_t *keylen) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:267,1
    - Dst: EC_KEY_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:309,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:359,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:360,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:361,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:362,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:363,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:364,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:365,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:261,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:270,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:279,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:280,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:292,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:293,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:299,1
    - Dst: EC_KEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:302,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:286,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:358,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:344,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:366,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:258,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:357,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:311,1
    - Dst: EC_KEY_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:307,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:368,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:367,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 93
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 389
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 389
    functionName: pkey_ec_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - ERR_raise
    - evp_pkey_is_provided
    - OPENSSL_free
    - BN_is_one
    - EC_GROUP_free
    - EVP_MD_get_type
    - EC_KEY_get_flags
    - EC_KEY_dup
    - EVP_PKEY_get0_EC_KEY
    - EC_GROUP_set_asn1_flag
    - EC_KEY_set_flags
    - EC_KEY_clear_flags
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:438,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:444,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:441,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:445,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:445,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c:446,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: pkey_ec_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached:
    - EC_KEY_set_group
    - ERR_raise
    - ossl_assert
    - EC_KEY_new
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ec_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: ossl_ec_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_pmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_ec_pkey_method(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:855,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:866,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:863,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:861,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:862,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:869,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:871,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:874,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:879,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - params
    argTypes:
    - ECPKPARAMETERS*
    constantsTouched: []
    func_position:
      end: 884
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 884
    functionName: EC_GROUP_new_from_ecpkparameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - ERR_raise
    - OBJ_obj2nid
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_set_asn1_flag
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1227,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1238,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1236,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1232,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1234,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 3
    argNames:
    - psig
    - ppin
    - len
    argTypes:
    - ECDSA_SIG**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 1244
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1244
    functionName: d2i_ECDSA_SIG
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - BN_new
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1213,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1214,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ECDSA_SIG*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1216
    functionName: ECDSA_SIG_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ECDSA_SIG_free(ECDSA_SIG *sig) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1253,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1257,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1256,1
    - Dst: WPACKET_init_static_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1262,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1258,1
    - Dst: ossl_encode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1266,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1267,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1268,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1269,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1270,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1278,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - sig
    - ppout
    argTypes:
    - ECDSA_SIG*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 1285
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1285
    functionName: i2d_ECDSA_SIG
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - WPACKET_init_len
    - WPACKET_init_null
    - WPACKET_init_static_len
    - BUF_MEM_free
    - ossl_encode_der_dsa_sig
    - WPACKET_finish
    - BUF_MEM_new
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **ppout) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECPKPARAMETERS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:894,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:908,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:895,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:900,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:899,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:912,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_GROUP**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 915
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 915
    functionName: d2i_ECPKParameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - d2i_ECPKPARAMETERS
    - EC_GROUP_free
    - EC_GROUP_new_from_ecpkparameters
    - ECPKPARAMETERS_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/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:920,1
    - Dst: i2d_ECPKPARAMETERS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:925,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:927,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:922,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:926,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:930,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_GROUP*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 932
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 932
    functionName: i2d_ECPKParameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - EC_GROUP_get_ecpkparameters
    - ERR_raise
    - i2d_ECPKPARAMETERS
    - ECPKPARAMETERS_free
    linkageType: ''
    returnType: int
    signature: 'int i2d_ECPKParameters(const EC_GROUP *a, unsigned char **out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1325,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1334,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - ec
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1339
    functionName: ECDSA_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - i2d_ECDSA_SIG
    - EC_GROUP_get0_order
    linkageType: ''
    returnType: int
    signature: 'int ECDSA_size(const EC_KEY *ec) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: d2i_EC_PRIVATEKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:942,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:962,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:984,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:954,1
    - Dst: EC_KEY_oct2priv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:970,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:971,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:982,1
    - Dst: EC_KEY_oct2key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:994,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1008,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:947,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:970,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:974,1
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:981,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:993,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1015,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1016,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:946,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:955,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:992,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:995,1
    - Dst: EC_KEY_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:979,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:978,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 65
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 1018
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1018
    functionName: d2i_ECPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - EC_PRIVATEKEY_free
    - EC_GROUP_new_from_ecpkparameters
    - EC_KEY_new
    - ERR_raise
    - ASN1_STRING_length
    - EC_GROUP_get_curve_name
    - EC_GROUP_free
    - EC_POINT_new
    - EC_KEY_free
    - EC_KEY_set_flags
    - ASN1_STRING_get0_data
    - EC_KEY_oct2key
    - d2i_EC_PRIVATEKEY
    - EC_KEY_oct2priv
    - EC_POINT_clear_free
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames:
    - ECDSA_SIG
    - ECDSA_SIG
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1207
    functionName: DECLARE_ASN1_ENCODE_FUNCTIONS_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(ECDSA_SIG)
    signature: 'DECLARE_ASN1_FUNCTIONS(ECDSA_SIG) DECLARE_ASN1_ENCODE_FUNCTIONS_name(ECDSA_SIG,
      ECDSA_SIG) #endif /* FIPS_MODULE */ ECDSA_SIG *ECDSA_SIG_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - pr
    - ps
    argTypes:
    - ECDSA_SIG*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 1293
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1293
    functionName: ECDSA_SIG_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const
      BIGNUM **ps) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1030,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1044,1
    - Dst: EC_KEY_priv2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1041,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1035,1
    - Dst: EC_PRIVATEKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1034,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1048,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1053,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1055,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1061,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1063,1
    - Dst: EC_KEY_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1067,1
    - Dst: i2d_EC_PRIVATEKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1080,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1087,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1076,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1086,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1070,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1081,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1088,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 1090
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1090
    functionName: i2d_ECPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - EC_GROUP_get_ecpkparameters
    - EC_PRIVATEKEY_free
    - ERR_raise
    - EC_PRIVATEKEY_new
    - OPENSSL_free
    - EC_KEY_key2buf
    - ASN1_BIT_STRING_new
    - ASN1_STRING_set0
    - EC_KEY_priv2buf
    - OPENSSL_clear_free
    - i2d_EC_PRIVATEKEY
    linkageType: ''
    returnType: int
    signature: 'int i2d_ECPrivateKey(const EC_KEY *a, unsigned char **out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ECDSA_SIG*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: ECDSA_SIG_get0_r
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:318,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:341,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:356,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:362,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:375,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:325,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:319,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:337,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:342,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:368,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:376,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:335,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:347,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:364,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:348,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:377,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:318,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:324,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:334,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:336,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:340,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:349,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:357,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:378,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 71
    argCount: 2
    argNames:
    - group
    - curve
    argTypes:
    - EC_GROUP*
    - X9_62_CURVE*
    constantsTouched: []
    func_position:
      end: 380
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 380
    functionName: ec_asn1_group2curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_BIT_STRING_set
    - OPENSSL_free
    - EC_GROUP_get_degree
    - BN_new
    - BN_bn2binpad
    - ASN1_BIT_STRING_free
    - ASN1_BIT_STRING_new
    - BN_free
    - EC_GROUP_get_curve
    - ASN1_OCTET_STRING_set
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ec_asn1_group2curve(const EC_GROUP *group, X9_62_CURVE
      *curve) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ECPKPARAMETERS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:475,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:481,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:484,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:487,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:476,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:491,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:493,1
    - Dst: OBJ_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:495,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:496,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:497,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:515,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:510,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - ECPKPARAMETERS*
    constantsTouched: []
    func_position:
      end: 519
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 519
    functionName: EC_GROUP_get_ecpkparameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ECPARAMETERS_free
    - ERR_raise
    - OBJ_length
    - ECPKPARAMETERS_free
    - EC_GROUP_get_curve_name
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - EC_GROUP_get_asn1_flag
    - ECPKPARAMETERS_new
    - EC_GROUP_get_ecparameters
    linkageType: ''
    returnType: ECPKPARAMETERS*
    signature: 'ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group,
      ECPKPARAMETERS *params) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:655,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:658,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:664,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:660,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:664,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:665,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:669,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:671,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - NID_X9_62_prime_field
    argTypes:
    - tmp
    constantsTouched: []
    func_position:
      end: 677
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 677
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_to_BN
    - BN_is_zero
    - BN_num_bits
    - BN_is_negative
    - EC_GROUP_new_curve_GFp
    linkageType: ''
    returnType: else
    signature: 'else if (tmp == NID_X9_62_prime_field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1095,1
    - Dst: i2d_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 1099
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1099
    functionName: i2d_ECParameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - i2d_ECPKParameters
    linkageType: ''
    returnType: int
    signature: 'int i2d_ECParameters(const EC_KEY *a, unsigned char **out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1145,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1151,1
    - Dst: EC_KEY_oct2key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 1156
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1156
    functionName: o2i_ECPublicKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - EC_KEY_oct2key
    - ERR_raise
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *o2i_ECPublicKey(EC_KEY **a, const unsigned char **in, long
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ECDSA_SIG*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1303
    functionName: ECDSA_SIG_get0_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:249,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:216,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:245,1
    - Dst: DECLARE_ASN1_ENCODE_FUNCTIONS_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:174,1
    - Dst: err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:202,1
    - Dst: IMPLEMENT_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:175,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:236,1
    - Dst: m
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:201,1
    - Dst: ec_asn1_group2fieldid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:186,1
    - Dst: char_two
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:233,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:207,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:250,1
    - Dst: X9_62_CHARACTERISTIC_TWO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:232,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:206,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:240,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:200,1
    - Dst: ec_asn1_group2curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:182,1
    - Dst: err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:219,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:212,1
    - Dst: ec_asn1_group2fieldid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:180,1
    - Dst: tmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:189,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:196,1
    - Dst: err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:208,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 60
    argCount: 1
    argNames:
    - EC_PRIVATEKEY
    argTypes:
    - EC_PRIVATEKEY
    constantsTouched: []
    func_position:
      end: 252
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 252
    functionName: DECLARE_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - m
    - err
    - EC_GROUP_get_degree
    - ASN1_OBJECT_free
    - IMPLEMENT_ASN1_FUNCTIONS
    - ec_asn1_group2fieldid
    - ASN1_TYPE_free
    - OBJ_nid2obj
    - EC_GROUP_get_field_type
    - tmp
    - DECLARE_ASN1_ENCODE_FUNCTIONS_name
    - char_two
    - ec_asn1_group2curve
    - ERR_raise
    - EC_GROUP_get_basis_type
    - BN_new
    - X9_62_CHARACTERISTIC_TWO_new
    - BN_to_ASN1_INTEGER
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(EC_PRIVATEKEY)
    signature: 'static_ASN1_SEQUENCE_END(EC_PRIVATEKEY) DECLARE_ASN1_FUNCTIONS(EC_PRIVATEKEY)DECLARE_ASN1_ENCODE_FUNCTIONS_name(EC_PRIVATEKEY,
      EC_PRIVATEKEY)IMPLEMENT_ASN1_FUNCTIONS(EC_PRIVATEKEY)/* some declarations of
      internal function *//* ec_asn1_group2field() sets the values in a X9_62_FIELDID
      object */static int ec_asn1_group2fieldid(const EC_GROUP *, X9_62_FIELDID *);/*
      ec_asn1_group2curve() sets the values in a X9_62_CURVE object */static int ec_asn1_group2curve(const
      EC_GROUP *, X9_62_CURVE *);/* the function definitions */static int ec_asn1_group2fieldid(const
      EC_GROUP *group, X9_62_FIELDID *field){ int ok = 0, nid; BIGNUM *tmp = NULL;
      if (group == NULL || field == NULL) return 0; /* clear the old values (if necessary)
      */ ASN1_OBJECT_free(field->fieldType); ASN1_TYPE_free(field->p.other); nid =
      EC_GROUP_get_field_type(group); /* set OID for the field */ if ((field->fieldType
      = OBJ_nid2obj(nid)) == NULL) { ERR_raise(ERR_LIB_EC, ERR_R_OBJ_LIB); goto err;
      } if (nid == NID_X9_62_prime_field) { if ((tmp = BN_new()) == NULL) { ERR_raise(ERR_LIB_EC,
      ERR_R_MALLOC_FAILURE); goto err; } /* the parameters are specified by the prime
      number p */ if (!EC_GROUP_get_curve(group, tmp, NULL, NULL, NULL)) { ERR_raise(ERR_LIB_EC,
      ERR_R_EC_LIB); goto err; } /* set the prime number */ field->p.prime = BN_to_ASN1_INTEGER(tmp,
      NULL); if (field->p.prime == NULL) { ERR_raise(ERR_LIB_EC, ERR_R_ASN1_LIB);
      goto err; } } else if (nid == NID_X9_62_characteristic_two_field)#ifdef OPENSSL_NO_EC2M
      { ERR_raise(ERR_LIB_EC, EC_R_GF2M_NOT_SUPPORTED); goto err; }#else { int field_type;
      X9_62_CHARACTERISTIC_TWO *char_two; field->p.char_two = X9_62_CHARACTERISTIC_TWO_new();
      char_two = field->p.char_two; if (char_two == NULL) { ERR_raise(ERR_LIB_EC,
      ERR_R_MALLOC_FAILURE); goto err; } char_two->m = (long)EC_GROUP_get_degree(group);
      field_type = EC_GROUP_get_basis_type(group); if (field_type == 0) { ERR_raise(ERR_LIB_EC,
      ERR_R_EC_LIB); goto err; } /* set base type OID */ if ((char_two->type = OBJ_nid2obj(field_type))
      == NULL) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ECPARAMETERS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:394,1
    - Dst: ec_asn1_group2curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:411,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:439,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:434,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:430,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:445,1
    - Dst: ec_asn1_group2fieldid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:405,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:418,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:422,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:429,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:431,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:437,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:455,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:464,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:412,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:417,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:442,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:450,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:452,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:395,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:406,1
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:424,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - ECPARAMETERS*
    constantsTouched: []
    func_position:
      end: 466
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 466
    functionName: EC_GROUP_get_ecparameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ec_asn1_group2curve
    - ec_asn1_group2fieldid
    - ERR_raise
    - EC_POINT_point2buf
    - ECPARAMETERS_free
    - ASN1_OCTET_STRING_new
    - OPENSSL_free
    - EC_GROUP_get0_order
    - ECPARAMETERS_new
    - BN_to_ASN1_INTEGER
    - EC_GROUP_get0_cofactor
    - ASN1_STRING_set0
    - EC_GROUP_get0_generator
    - EC_GROUP_get_point_conversion_form
    linkageType: ''
    returnType: ECPARAMETERS*
    signature: 'ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, ECPARAMETERS
      *params) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:552,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:550,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:562,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:581,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:623,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:636,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:643,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:658,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:660,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:665,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:577,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:587,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:593,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:597,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:630,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:648,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:664,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:664,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:534,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:547,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:566,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:600,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:607,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:616,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:632,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:655,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:676,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:555,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:557,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:605,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:609,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:582,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:628,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:634,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:639,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:669,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:671,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 120
    argCount: 1
    argNames:
    - params
    argTypes:
    - ECPARAMETERS*
    constantsTouched: []
    func_position:
      end: 680
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 680
    functionName: EC_GROUP_new_from_ecparameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_set_bit
    - OBJ_obj2nid
    - ASN1_INTEGER_to_BN
    - BN_is_zero
    - BN_new
    - BN_num_bits
    - BN_is_negative
    - BN_bin2bn
    - EC_GROUP_new_curve_GF2m
    - ASN1_INTEGER_get
    - EC_GROUP_new_curve_GFp
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1106,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1112,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1120,1
    - Dst: d2i_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1118,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1126,1
    - Dst: EC_KEY_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1127,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 1135
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1135
    functionName: d2i_ECParameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_KEY_new
    - EC_GROUP_get_curve_name
    - d2i_ECPKParameters
    - EC_KEY_set_flags
    - EC_KEY_free
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *d2i_ECParameters(EC_KEY **a, const unsigned char **in, long
      len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1177,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1176,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1182,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1168,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1184,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1186,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 1194
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1194
    functionName: i2o_ECPublicKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - EC_POINT_point2oct
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int i2o_ECPublicKey(const EC_KEY *a, unsigned char **out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1309,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c:1310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - ECDSA_SIG*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1314
    functionName: ECDSA_SIG_set0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_asn1.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: 'int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GFp_mont_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:48,1
    - Dst: BN_nist_mod_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:50,1
    - Dst: EC_GFp_mont_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:53,1
    - Dst: EC_GFp_nist_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:51,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:56,1
    - Dst: ossl_bn_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:56,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:60,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - p
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 66
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 66
    functionName: EC_GROUP_new_curve_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c
    functionUses: []
    functionsReached:
    - BN_nist_mod_func
    - EC_GROUP_set_curve
    - EC_GFp_mont_method
    - EC_GFp_nist_method
    - EC_GROUP_free
    - ossl_ec_group_new_ex
    - ossl_bn_get_libctx
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a,
      const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GF2m_simple_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:75,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:77,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:82,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:81,1
    - Dst: ossl_bn_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - p
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: EC_GROUP_new_curve_GF2m
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_cvt.c
    functionUses: []
    functionsReached:
    - EC_GF2m_simple_method
    - EC_GROUP_set_curve
    - EC_GROUP_free
    - ossl_ec_group_new_ex
    - ossl_bn_get_libctx
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a,
      const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:360,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:372,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: ossl_ec_key_simple_generate_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - BN_CTX_free
    - BN_CTX_new_ex
    - EC_POINT_mul
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_simple_generate_public_key(EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: EC_KEY_get0_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:382,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: EC_KEY_check_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_check_key(const EC_KEY *eckey) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:711,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:712,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:727,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:770,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:774,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:776,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:777,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:778,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:782,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - key
    - priv_key
    argTypes:
    - EC_KEY*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 787
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 787
    functionName: EC_KEY_set_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - EC_GROUP_get0_order
    - bn_wexpand
    - BN_dup
    - bn_get_top
    - BN_clear_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *priv_key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - key
    - flag
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: EC_KEY_set_asn1_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_GROUP_set_asn1_flag
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_set_asn1_flag(EC_KEY *key, int flag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 948
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 948
    functionName: EC_KEY_oct2priv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_oct2priv(EC_KEY *eckey, const unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_new_method_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: EC_KEY_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ossl_ec_key_new_method_int
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *EC_KEY_new(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:577,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:588,1
    - Dst: ossl_ec_key_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:583,1
    - Dst: ossl_ec_key_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:587,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:580,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:593,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 595
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 595
    functionName: ossl_ec_key_simple_check_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ossl_ec_key_private_check
    - ERR_raise
    - ossl_ec_key_public_check
    - BN_CTX_free
    - BN_CTX_new_ex
    - ossl_ec_key_pairwise_check
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_simple_check_key(const EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: EC_KEY_get0_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:682,1
    - Dst: EC_KEY_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:683,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:680,1
    - Dst: EC_GROUP_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - key
    - group
    argTypes:
    - EC_KEY*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 687
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 687
    functionName: EC_KEY_set_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_GROUP_dup
    - EC_GROUP_get_curve_name
    - EC_KEY_set_flags
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_priv2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:972,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:976,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:975,1
    - Dst: EC_KEY_priv2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:979,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - eckey
    - pbuf
    argTypes:
    - EC_KEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 986
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 986
    functionName: EC_KEY_priv2buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    - EC_KEY_priv2oct
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:537,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:541,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:550,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:547,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:546,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:551,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:556,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 558
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 558
    functionName: ossl_ec_key_pairwise_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_POINT_free
    - EC_POINT_mul
    - EC_POINT_new
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_pairwise_check(const EC_KEY *eckey, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1014,1
    - Dst: ECDSA_do_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1021,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1018,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1025,1
    - Dst: ECDSA_do_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1027,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1032,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1033,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:1034,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - eckey
    - cb
    - cbarg
    argTypes:
    - EC_KEY*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1036
    functionName: ecdsa_keygen_pairwise_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - ECDSA_do_sign
    - OSSL_SELF_TEST_onend
    - ECDSA_do_verify
    - OSSL_SELF_TEST_oncorrupt_byte
    - ECDSA_SIG_free
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_free
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_keygen_pairwise_test(EC_KEY *eckey, OSSL_CALLBACK
      *cb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_new_method_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: EC_KEY_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:195,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:199,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: EC_KEY_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_up_ref(EC_KEY *r) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:477,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:486,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:480,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:485,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:491,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:494,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:495,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:500,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 502
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 502
    functionName: ossl_ec_key_public_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_POINT_free
    - BN_is_zero
    - EC_POINT_mul
    - EC_POINT_new
    - ossl_ec_key_public_check_quick
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_public_check(const EC_KEY *eckey, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: ossl_ec_key_get0_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_ec_key_get0_propq(const EC_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: EC_KEY_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_get_flags(const EC_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: EC_KEY_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_clear_flags(EC_KEY *key, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:871,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - key
    - form
    - pbuf
    - ctx
    argTypes:
    - EC_KEY*
    - point_conversion_form_t
    - unsigned char**
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 872
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 872
    functionName: EC_KEY_key2buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_POINT_point2buf
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_KEY_key2buf(const EC_KEY *key, point_conversion_form_t form,
      unsigned char **pbuf, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:954,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:956,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:959,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 965
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 965
    functionName: ossl_ec_key_simple_oct2priv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - BN_secure_new
    - ERR_raise
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_simple_oct2priv(EC_KEY *eckey, const unsigned char
      *buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:46,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:49,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:56,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:51,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - propq
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: EC_KEY_new_by_curve_name_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_KEY_free
    - EC_GROUP_new_by_curve_name_ex
    - EC_KEY_new_ex
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *EC_KEY_new_by_curve_name_ex(OSSL_LIB_CTX *ctx, const char
      *propq, int nid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:76,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:86,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:80,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:77,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:93,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:95,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:96,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:97,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:99,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:101,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 102
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 102
    functionName: EC_KEY_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - ENGINE_finish
    - EC_GROUP_free
    - CRYPTO_free_ex_data
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - OPENSSL_clear_free
    - BN_clear_free
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_free(EC_KEY *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: EC_KEY_get0_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - libctx
    argTypes:
    - EC_KEY*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: ossl_ec_key_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_key_set0_libctx(EC_KEY *key, OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: EC_KEY_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_set_flags(EC_KEY *key, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 864
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 864
    functionName: EC_KEY_decoded_from_explicit_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_decoded_from_explicit_params(const EC_KEY *key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:880,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:883,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - key
    - buf
    - len
    - ctx
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 896
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 896
    functionName: EC_KEY_oct2key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    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,
      BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 909
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 909
    functionName: EC_KEY_priv2oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_KEY_priv2oct(const EC_KEY *eckey, unsigned char *buf, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: EC_KEY_can_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_can_sign(const EC_KEY *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_precompute_mult
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: EC_KEY_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_GROUP_precompute_mult
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:107,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:116,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:125,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:126,1
    - Dst: EC_GROUP_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:130,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:135,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:136,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:139,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:164,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:145,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:149,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:171,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_KEY*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 184
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 184
    functionName: EC_KEY_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_POINT_free
    - BN_copy
    - ENGINE_init
    - BN_new
    - ENGINE_finish
    - EC_GROUP_free
    - EC_POINT_new
    - EC_POINT_copy
    - EC_GROUP_copy
    - ossl_ec_group_new_ex
    - CRYPTO_dup_ex_data
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *EC_KEY_copy(EC_KEY *dest, const EC_KEY *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: EC_KEY_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_generate_key(EC_KEY *eckey) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:259,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:292,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:340,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:307,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:347,1
    - Dst: BN_CTX_secure_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:258,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:293,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:293,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:314,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:342,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:348,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:265,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:296,1
    - Dst: ossl_set_error_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:339,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:345,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:277,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:302,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:304,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:333,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:346,1
    - Dst: ecdsa_keygen_pairwise_test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:334,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 57
    argCount: 2
    argNames:
    - eckey
    - pairwise_test
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 350
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 350
    functionName: ec_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - ecdsa_keygen_pairwise_test
    - BN_CTX_secure_new_ex
    - BN_secure_new
    - BN_clear
    - BN_clear_free
    - EC_POINT_set_to_infinity
    - BN_priv_rand_range_ex
    - EC_POINT_new
    - BN_dup
    - ossl_set_error_state
    - OSSL_SELF_TEST_get_callback
    - BN_value_one
    - BN_new
    - EC_POINT_mul
    - EC_KEY_get_flags
    - BN_free
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'static int ec_generate_key(EC_KEY *eckey, int pairwise_test) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:443,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:455,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:449,1
    - Dst: ec_key_public_range_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:454,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:448,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:460,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:461,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 465
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 465
    functionName: ossl_ec_key_public_check_quick
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_POINT_is_on_curve
    - ERR_raise
    - EC_POINT_is_at_infinity
    - ec_key_public_range_check
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_public_check_quick(const EC_KEY *eckey, BN_CTX *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:606,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:614,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:613,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:619,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:609,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:620,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:624,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:626,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:633,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:633,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:649,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:648,1
    - Dst: EC_KEY_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:642,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:634,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:650,1
    - Dst: EC_KEY_set_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:639,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 39
    argCount: 3
    argNames:
    - key
    - x
    - y
    argTypes:
    - EC_KEY*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 653
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 653
    functionName: EC_KEY_set_public_key_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - EC_POINT_free
    - EC_KEY_set_public_key
    - EC_POINT_get_affine_coordinates
    - BN_CTX_free
    - EC_POINT_new
    - EC_KEY_check_key
    - BN_CTX_start
    - BN_CTX_new_ex
    - EC_POINT_set_affine_coordinates
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x,
      BIGNUM *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: EC_KEY_get0_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_POINT*
    signature: 'const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: EC_KEY_get_enc_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int EC_KEY_get_enc_flags(const EC_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: EC_KEY_get_conv_form
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: point_conversion_form_t
    signature: 'point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ec_key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: EC_KEY_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ossl_ec_key_dup
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *EC_KEY_dup(const EC_KEY *ec_key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: ossl_ec_key_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_gen(EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: ossl_ec_key_simple_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - ec_generate_key
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_simple_generate_key(EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: ossl_ec_key_get_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_ec_key_get_libctx(const EC_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:800,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:799,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - key
    - pub_key
    argTypes:
    - EC_KEY*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 803
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 803
    functionName: EC_KEY_set_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - 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: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - EC_KEY*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: EC_KEY_set_enc_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_set_enc_flags(EC_KEY *key, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - key
    - cform
    argTypes:
    - EC_KEY*
    - point_conversion_form_t
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: EC_KEY_set_conv_form
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:916,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:927,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 932
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 932
    functionName: ossl_ec_key_simple_priv2oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    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, unsigned char
      *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: EC_KEY_new_by_curve_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - EC_KEY_new_by_curve_name_ex
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *EC_KEY_new_by_curve_name(int nid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:408,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:417,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:414,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:409,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:410,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:418,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:419,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:420,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:421,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:425,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:426,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:426,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:432,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - BN_CTX*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 434
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 434
    functionName: ec_key_public_range_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - EC_POINT_get_affine_coordinates
    - EC_GROUP_get_degree
    - EC_GROUP_get_field_type
    - BN_num_bits
    - BN_is_negative
    - BN_CTX_start
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int ec_key_public_range_check(BN_CTX *ctx, const EC_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:512,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:515,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:515,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:517,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c:516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: ossl_ec_key_private_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_key.c
    functionUses: []
    functionsReached:
    - BN_value_one
    - ERR_raise
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_private_check(const EC_KEY *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:35,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: ossl_ecdsa_sign_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdsa_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp,
      BIGNUM **rp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - eckey
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: ossl_ecdsa_verify_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdsa_verify_sig(const unsigned char *dgst, int dgst_len,
      const ECDSA_SIG *sig, EC_KEY *eckey) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:101,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:128,1
    - Dst: ossl_bn_priv_rand_range_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:153,1
    - Dst: ossl_bn_is_word_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:172,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:179,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:184,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:185,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:198,1
    - Dst: EC_KEY_can_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:116,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:121,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:125,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:162,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:166,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:193,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:100,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:104,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:115,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:140,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:123,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:135,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:138,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:154,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:171,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:129,1
    - Dst: ossl_bn_gen_dsa_nonce_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:147,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:167,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:192,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:197,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:178,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 101
    argCount: 6
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    - dgst
    - dlen
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 200
    functionName: ecdsa_sign_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - EC_KEY_get0_private_key
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - ossl_bn_gen_dsa_nonce_fixed_top
    - BN_set_bit
    - BN_secure_new
    - EC_POINT_get_affine_coordinates
    - BN_clear_free
    - ossl_bn_is_word_fixed_top
    - BN_num_bits
    - EC_POINT_new
    - ossl_bn_priv_rand_range_fixed_top
    - ERR_raise
    - EC_KEY_can_sign
    - BN_new
    - ossl_ec_group_do_inverse_ord
    - EC_POINT_mul
    - BN_nnmod
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM
      **kinvp, BIGNUM **rp, const unsigned char *dgst, int dlen) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:221,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:225,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:229,1
    - Dst: EC_KEY_can_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:233,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:222,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:253,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:282,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:297,1
    - Dst: bn_mod_add_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:300,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:308,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:342,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:295,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:264,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:276,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:325,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:340,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:234,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:244,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:252,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:301,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:309,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:320,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:341,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:296,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:314,1
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:238,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:240,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:243,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:251,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:257,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:265,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:246,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:270,1
    - Dst: ecdsa_sign_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:275,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:337,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:310,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 114
    argCount: 5
    argNames:
    - dgst
    - dgst_len
    - in_kinv
    - in_r
    - eckey
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 344
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 344
    functionName: ossl_ecdsa_simple_sign_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_private_key
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - bn_to_mont_fixed_top
    - bn_mod_add_fixed_top
    - BN_mod_mul_montgomery
    - BN_copy
    - BN_bin2bn
    - ecdsa_sign_setup
    - ECDSA_SIG_new
    - BN_clear_free
    - BN_num_bits
    - BN_rshift
    - ECDSA_SIG_free
    - ERR_raise
    - EC_KEY_can_sign
    - bn_mul_mont_fixed_top
    - BN_new
    - BN_CTX_new_ex
    linkageType: ''
    returnType: ECDSA_SIG*
    signature: 'ECDSA_SIG *ossl_ecdsa_simple_sign_sig(const unsigned char *dgst, int
      dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:73,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:83,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:82,1
    - Dst: ECDSA_do_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 8
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - kinv
    - r
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: ossl_ecdsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - ECDSA_size
    - ECDSA_SIG_free
    - i2d_ECDSA_SIG
    - ECDSA_do_sign_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdsa_sign(int type, const unsigned char *dgst, int dlen,
      unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r,
      EC_KEY *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - dgst
    - dgst_len
    - in_kinv
    - in_r
    - eckey
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: ossl_ecdsa_sign_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ECDSA_SIG*
    signature: 'ECDSA_SIG *ossl_ecdsa_sign_sig(const unsigned char *dgst, int dgst_len,
      const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_sign_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ossl_ecdsa_simple_sign_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - ecdsa_sign_setup
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdsa_simple_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM
      **kinvp, BIGNUM **rp) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:396,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:390,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:405,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:407,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:421,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:422,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:409,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:422,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:411,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:408,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:446,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:441,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:391,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:400,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:402,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:421,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:424,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:430,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:434,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:450,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:455,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:465,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:389,1
    - Dst: EC_KEY_can_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:395,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:406,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:423,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:423,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:440,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:461,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:470,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:479,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:482,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:481,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:474,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:417,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:415,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:429,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:445,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:451,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:456,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:460,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:464,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:469,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:475,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:483,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 111
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - eckey
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 485
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 485
    functionName: ossl_ecdsa_simple_verify_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - EC_KEY_get0_public_key
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - BN_CTX_start
    - BN_CTX_end
    - EC_POINT_get_affine_coordinates
    - BN_bin2bn
    - BN_ucmp
    - BN_num_bits
    - EC_POINT_new
    - BN_rshift
    - BN_CTX_get
    - ERR_raise
    - EC_KEY_can_sign
    - ossl_ec_group_do_inverse_ord
    - EC_POINT_mul
    - BN_is_negative
    - BN_mod_mul
    - BN_nnmod
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdsa_simple_verify_sig(const unsigned char *dgst, int dgst_len,
      const ECDSA_SIG *sig, EC_KEY *eckey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:361,1
    - Dst: ECDSA_do_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:370,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:367,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:368,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:364,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:372,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c:373,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 6
    argNames:
    - type
    - dgst
    - dgst_len
    - sigbuf
    - sig_len
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 375
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 375
    functionName: ossl_ecdsa_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: []
    functionsReached:
    - i2d_ECDSA_SIG
    - memcmp
    - ECDSA_do_verify
    - OPENSSL_free
    - d2i_ECDSA_SIG
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdsa_verify(int type, const unsigned char *dgst, int dgst_len,
      const unsigned char *sigbuf, int sig_len, EC_KEY *eckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: felem_sum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_sum(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - felem
    - limb
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: felem_scalar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_scalar(felem out, const limb scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - widefelem
    constantsTouched: []
    func_position:
      end: 588
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 588
    functionName: felem_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_reduce(felem out, const widefelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: felem_assign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_assign(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    constantsTouched: []
    func_position:
      end: 462
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 462
    functionName: felem_diff_128_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_diff_128_64(widefelem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - widefelem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 520
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 520
    functionName: felem_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_mul(widefelem out, const felem in1, const felem
      in2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:669,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:671,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 672
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 672
    functionName: felem_neg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - felem_diff_128_64
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void felem_neg(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - felem
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: felem_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_one(felem out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - u8
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: bin28_to_felem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bin28_to_felem(felem out, const u8 in[28]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_to_bin28
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:352,1
    - Dst: BN_lebin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: felem_to_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - BN_lebin2bn
    - felem_to_bin28
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *felem_to_BN(BIGNUM *out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 658
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 658
    functionName: felem_contract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_contract(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - in
    - icopy
    argTypes:
    - felem
    - felem
    - limb
    constantsTouched: []
    func_position:
      end: 796
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 796
    functionName: copy_conditional
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_conditional(felem out, const felem in, limb icopy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 305
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 305
    functionName: EC_GFp_nistp224_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GFp_nistp224_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:707,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:713,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:717,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:724,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:718,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:723,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:730,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:746,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:754,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:755,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:770,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:771,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:765,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:756,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:708,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:710,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:719,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:722,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:726,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:720,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:727,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:729,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:731,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:732,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:748,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:769,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:775,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:738,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:768,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:711,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:712,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:714,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:734,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:735,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:737,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:739,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:740,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:750,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:751,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:767,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:772,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:753,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:747,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:774,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:778,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:709,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:715,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:716,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:721,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:742,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:743,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:758,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:759,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:761,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:764,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:745,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:777,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 80
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 779
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 779
    functionName: felem_inv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - felem_mul
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void felem_inv(felem out, const felem in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - i
    argTypes:
    - felem_bytearray
    - unsigned
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: get_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'static char get_bit(const felem_bytearray in, unsigned i) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:962,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:986,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1006,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1012,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1016,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1020,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1026,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1030,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1034,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1037,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1062,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1025,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1091,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:926,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:922,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:927,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:931,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:949,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:953,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:979,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:985,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1059,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1093,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1077,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:957,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1068,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1087,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1024,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1090,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:966,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:968,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:978,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1013,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1021,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1029,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1033,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1041,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1045,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1049,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1092,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1050,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1057,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1089,1
    - Dst: widefelem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1075,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:918,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:919,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:923,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:930,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:938,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:941,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:945,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:959,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:946,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:950,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1095,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1094,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 76
    argCount: 10
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - mixed
    - x2
    - y2
    - z2
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    - int
    - felem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1096
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 1096
    functionName: point_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_scalar
    - felem_diff_128_64
    - felem_assign
    - felem_reduce
    - point_double
    - copy_conditional
    - felem_diff
    - felem_mul
    - felem_is_zero
    - widefelem_diff
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void point_add(felem x3, felem y3, felem z3, const felem x1,
      const felem y1, const felem z1, const int mixed, const felem x2, const felem
      y2, const felem z2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:335,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:341,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:336,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:339,1
    - Dst: bin28_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 346
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 346
    functionName: BN_to_felem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - BN_is_negative
    - ERR_raise
    - BN_bn2lebinpad
    - bin28_to_felem
    linkageType: ''
    returnType: int
    signature: 'static int BN_to_felem(felem out, const BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:593,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: felem_square_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void felem_square_reduce(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - in
    argTypes:
    - felem
    constantsTouched: []
    func_position:
      end: 692
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 692
    functionName: felem_is_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb
    signature: 'static limb felem_is_zero(const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:832,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:833,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:837,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:846,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:866,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:868,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:870,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:873,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:875,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:824,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:840,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:842,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:877,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:825,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:836,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:853,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:854,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:851,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:848,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:885,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:829,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:828,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:844,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:856,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:858,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:861,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:863,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:864,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:879,1
    - Dst: widefelem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:881,1
    - Dst: widefelem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 886
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 886
    functionName: point_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_scalar
    - widefelem_scalar
    - felem_diff_128_64
    - felem_assign
    - felem_sum
    - felem_reduce
    - felem_diff
    - felem_mul
    - widefelem_diff
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void point_double(felem x_out, felem y_out, felem z_out, const
      felem x_in, const felem y_in, const felem z_in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - u64
    - unsigned int
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1121
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1121
    functionName: select_point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void select_point(const u64 idx, unsigned int size, const felem
      pre_comp[][3], felem out[3]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1292
    functionName: ossl_ec_GFp_nistp224_group_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp224_group_init(EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:600,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: felem_mul_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_mul
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: 'static void felem_mul_reduce(felem out, const felem in1, const felem
      in2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: felem_is_zero_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_is_zero
    linkageType: ''
    returnType: int
    signature: 'static int felem_is_zero_int(const void *in) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1304,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1312,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1310,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1309,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1311,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1315,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1316,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1317,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1318,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1318,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1318,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1325,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1319,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1327,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1323,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1330
    functionName: ossl_ec_GFp_nistp224_group_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    - BN_CTX_new
    - BN_CTX_start
    - BN_bin2bn
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp224_group_set_curve(EC_GROUP *group, const BIGNUM
      *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - u8
    - felem
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: felem_to_bin28
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_to_bin28(u8 out[28], const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: felem_square
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_square(widefelem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - widefelem
    - widelimb
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: widefelem_scalar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void widefelem_scalar(widefelem out, const widelimb scalar) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP224_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1262
    functionName: EC_nistp224_pre_comp_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTP224_PRE_COMP*
    signature: 'NISTP224_PRE_COMP *EC_nistp224_pre_comp_dup(NISTP224_PRE_COMP *p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1348,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1352,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1359,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1365,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1367,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1364,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1344,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1345,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1353,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1363,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1370,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1348,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1355,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1358,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1349,1
    - Dst: felem_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1351,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1354,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1369,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1356,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1366,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1375
    functionName: ossl_ec_GFp_nistp224_point_get_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - BN_to_felem
    - ERR_raise
    - felem_contract
    - felem_to_BN
    - felem_reduce
    - felem_inv
    - felem_square
    - felem_mul
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp224_point_get_affine_coordinates(const EC_GROUP
      *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1450,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1456,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1490,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1501,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1484,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1464,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1517,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1527,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1531,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1591,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1574,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1602,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1591,1
    - Dst: felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1422,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1435,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1455,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1483,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1460,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1523,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1533,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1537,1
    - Dst: make_points_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1556,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1588,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1592,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1603,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1604,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1596,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1593,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1510,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1516,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1532,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1536,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1547,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1563,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1568,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1572,1
    - Dst: batch_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1577,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1590,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1601,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1589,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1561,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1437,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1436,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1434,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1438,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1454,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1457,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1487,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1511,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1535,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1540,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1563,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1600,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1569,1
    - Dst: batch_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1583,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 162
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1606
    functionName: ossl_ec_GFp_nistp224_points_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - felem_contract
    - EC_POINT_free
    - BN_CTX_start
    - BN_bn2lebinpad
    - felem
    - OPENSSL_malloc
    - BN_CTX_end
    - felem_to_BN
    - OPENSSL_free
    - felem_assign
    - OPENSSL_zalloc
    - point_double
    - make_points_affine
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - point_add
    - batch_mul
    - BN_num_bits
    - EC_POINT_new
    - BN_CTX_get
    - ERR_raise
    - BN_to_felem
    - BN_is_negative
    - EC_POINT_cmp
    - EC_GROUP_get0_generator
    - BN_nnmod
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp224_points_mul(const EC_GROUP *group, EC_POINT
      *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM
      *scalars[], BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - widefelem
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: widefelem_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void widefelem_diff(widefelem out, const widefelem in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1238,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1249,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1250,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1241,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1254
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1254
    functionName: nistp224_pre_comp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: NISTP224_PRE_COMP*
    signature: 'static NISTP224_PRE_COMP *nistp224_pre_comp_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1271,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1277,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1275,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1272,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP224_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1279
    functionName: EC_nistp224_pre_comp_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void EC_nistp224_pre_comp_free(NISTP224_PRE_COMP *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_nistp_points_make_affine_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1404
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1404
    functionName: make_points_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_nistp_points_make_affine_internal
    linkageType: ''
    returnType: void
    signature: 'static void make_points_affine(size_t num, felem points[ /* num */
      ][3], felem tmp_felems[ /* num+1 */ ]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nistp224_pre_comp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1645,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1655,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1678,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1718,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1735,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1738,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1631,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1638,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1651,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1667,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1688,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1697,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1711,1
    - Dst: make_points_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1728,1
    - Dst: SETPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1731,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1625,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1641,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1650,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1654,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1691,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1703,1
    - Dst: EC_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1621,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1630,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1632,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1642,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1643,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1673,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1663,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1656,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1736,1
    - Dst: EC_nistp224_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1740,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 89
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1742
    functionName: ossl_ec_GFp_nistp224_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - BN_CTX_free
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_CTX_new
    - point_double
    - make_points_affine
    - BN_bin2bn
    - point_add
    - EC_nistp224_pre_comp_free
    - memcpy
    - EC_POINT_new
    - BN_CTX_get
    - BN_to_felem
    - EC_pre_comp_free
    - EC_POINT_cmp
    - nistp224_pre_comp_new
    - SETPRECOMP
    - memset
    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/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1747
    functionName: ossl_ec_GFp_nistp224_have_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp224_have_precompute_mult(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: felem_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_diff(felem out, const felem in) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1178,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1186,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1205,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1206,1
    - Dst: felem_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1211,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1213,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1220,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1171,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1164,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1174,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1191,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1187,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1207,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1216,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1228,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1169,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1192,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1202,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1204,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1203,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1210,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1227,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1152,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1170,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1172,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1181,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1201,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1188,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1189,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c:1226,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 94
    argCount: 9
    argNames:
    - x_out
    - y_out
    - z_out
    - scalars
    - num_points
    - g_scalar
    - mixed
    - pre_comp
    - g_pre_comp
    argTypes:
    - felem
    - felem
    - felem
    - felem_bytearray
    - unsigned
    - u8*
    - int
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1229
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1229
    functionName: batch_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp224.c
    functionUses: []
    functionsReached:
    - get_bit
    - select_point
    - memcpy
    - felem_assign
    - point_double
    - copy_conditional
    - point_add
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - felem_neg
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void batch_mul(felem x_out, felem y_out, felem z_out, const
      felem_bytearray scalars[], const unsigned num_points, const u8 *g_scalar, const
      int mixed, const felem pre_comp[][17][3], const felem g_pre_comp[2][16][3]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:25,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:26,1
    - Dst: ECPKParameters_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:30,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:25,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - EC_GROUP*
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: ECPKParameters_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - ECPKParameters_print
    - BIO_s_file
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:235,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:236,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:242,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:248,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:249,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:252,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 5
    argNames:
    - fp
    - name
    - buf
    - len
    - 'off'
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 260
    functionName: print_bin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int print_bin(BIO *fp, const char *name, const unsigned char
      *buf, size_t len, int off) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:40,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:40,1
    - Dst: EC_KEY_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:45,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:44,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:41,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: EC_KEY_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - EC_KEY_print
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_print_fp(FILE *fp, const EC_KEY *x, int off) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:112,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:149,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:128,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:215,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:216,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:219,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:89,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:106,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:100,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:106,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:108,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:127,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:138,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:122,1
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:151,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:157,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:170,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:189,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:220,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:95,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:103,1
    - Dst: EC_curve_nid2nist
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:110,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:133,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:127,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:158,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:160,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:182,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:186,1
    - Dst: print_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:164,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:164,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:114,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:143,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:142,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:177,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:178,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:191,1
    - Dst: print_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:201,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:204,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:206,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:217,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:218,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 131
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - EC_GROUP*
    - int
    constantsTouched: []
    func_position:
      end: 222
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 222
    functionName: ECPKParameters_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c
    functionUses: []
    functionsReached:
    - EC_POINT_point2buf
    - EC_GROUP_get_curve_name
    - EC_GROUP_get0_order
    - BN_CTX_free
    - EC_curve_nid2nist
    - OPENSSL_clear_free
    - BIO_printf
    - OBJ_nid2sn
    - EC_GROUP_get_field_type
    - BN_CTX_new
    - BIO_indent
    - EC_GROUP_get_asn1_flag
    - ASN1_bn_print
    - ERR_raise
    - EC_GROUP_get_basis_type
    - EC_GROUP_get0_seed
    - print_bin
    - BN_new
    - EC_GROUP_get_point_conversion_form
    - EC_GROUP_get0_cofactor
    - BN_free
    - EC_GROUP_get0_generator
    - EC_GROUP_get_seed_len
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: 'int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:55,1
    - Dst: ECParameters_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:60,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:56,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:55,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: ECParameters_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/eck_prn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - ECParameters_print
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int ECParameters_print_fp(FILE *fp, const EC_KEY *x) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:64,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:83,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:73,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:67,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:92,1
    - Dst: ossl_ecx_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:100,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 3
    argNames:
    - ecx
    - params
    - include_private
    argTypes:
    - ECX_KEY*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 106
    functionName: ossl_ecx_key_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OSSL_PARAM_locate_const
    - ossl_ecx_public_from_private
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecx_key_fromdata(ECX_KEY *ecx, const OSSL_PARAM params[],
      int include_private) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:184,1
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:189,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:191,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:197,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:218,1
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:221,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:206,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:178,1
    - Dst: KEYNID2TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:189,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:199,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:177,1
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:201,1
    - Dst: ossl_ecx_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:172,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:176,1
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:206,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    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*
    constantsTouched: []
    func_position:
      end: 230
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 230
    functionName: ossl_ecx_key_op
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ecx_public_from_private
    - KEYLENID
    - OBJ_obj2nid
    - ossl_ecx_key_new
    - memcpy
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - X509_ALGOR_get0
    - KEYNID2TYPE
    - ossl_ecx_key_allocate_privkey
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_ecx_key_op(const X509_ALGOR *palg, const unsigned char
      *p, int plen, int id, ecx_key_op_t op, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:110,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:130,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:117,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:113,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:137,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:143,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:145,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:151,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - ECX_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 154
    functionName: ossl_ecx_key_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - OPENSSL_zalloc
    - ossl_ecx_key_free
    - ossl_ecx_key_allocate_privkey
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_ecx_key_dup(const ECX_KEY *key, int selection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:241,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:250,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:249,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:244,1
    - Dst: ossl_ecx_key_op
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:257,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 261
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 261
    functionName: ossl_ecx_key_from_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_length
    - PKCS8_pkey_get0
    - ASN1_OCTET_STRING_free
    - ossl_ecx_key_op
    - d2i_ASN1_OCTET_STRING
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_ecx_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x25519_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:36,1
    - Dst: ossl_ed448_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:44,1
    - Dst: ossl_ed25519_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:34,1
    - Dst: ossl_x448_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c:46,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: ossl_ecx_public_from_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_backend.c
    functionUses: []
    functionsReached:
    - ossl_x448_public_from_private
    - ERR_raise
    - ossl_x25519_public_from_private
    - ossl_ed25519_public_from_private
    - ossl_ed448_public_from_private
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecx_public_from_private(ECX_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe51
    constantsTouched: []
    func_position:
      end: 576
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 576
    functionName: fe51_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_1(fe51 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1836,1
    - Dst: fe_isnegative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1840,1
    - Dst: fe_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1839,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1838,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1841
    functionName: ge_tobytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_mul
    - fe_isnegative
    - fe_invert
    - fe_tobytes
    linkageType: ''
    returnType: void
    signature: 'static void ge_tobytes(uint8_t *s, const ge_p2 *h) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fe_frombytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1874,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1875,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1876,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1879,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1884,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1892,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1893,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1895,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1878,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1882,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1883,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1889,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1891,1
    - Dst: fe_isnonzero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1894,1
    - Dst: fe_isnegative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1902,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1877,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1881,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1888,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1885,1
    - Dst: fe_isnonzero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1896,1
    - Dst: fe_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1903,1
    - Dst: fe_pow22523
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1887,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1899,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - ge_p3*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1908
    functionName: ge_frombytes_vartime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - fe_isnonzero
    - fe_isnegative
    - fe_1
    - fe_mul
    - fe_sq
    - fe_pow22523
    - fe_frombytes
    - fe_neg
    linkageType: ''
    returnType: int
    signature: 'static int ge_frombytes_vartime(ge_p3 *h, const uint8_t *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1919,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1921,1
    - Dst: fe_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1922,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1923
    functionName: ge_p3_0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_1
    - fe_0
    linkageType: ''
    returnType: void
    signature: 'static void ge_p3_0(ge_p3 *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1935,1
    - Dst: fe_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1937,1
    - Dst: fe_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 1938
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1938
    functionName: ge_p3_to_p2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_copy
    linkageType: ''
    returnType: void
    signature: 'static void ge_p3_to_p2(ge_p2 *r, const ge_p3 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2078,1
    - Dst: fe_cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2079,1
    - Dst: fe_cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - t
    - u
    - b
    argTypes:
    - ge_precomp*
    - ge_precomp*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2081
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2081
    functionName: cmov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_cmov
    linkageType: ''
    returnType: void
    signature: 'static void cmov(ge_precomp *t, const ge_precomp *u, uint8_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ge_p3_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4263,1
    - Dst: ge_p3_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4270,1
    - Dst: ge_madd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4266,1
    - Dst: table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4265,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4267,1
    - Dst: ge_p1p1_to_p2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4271,1
    - Dst: ge_p2_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4272,1
    - Dst: ge_p1p1_to_p2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4273,1
    - Dst: ge_p2_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4274,1
    - Dst: ge_p1p1_to_p2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4275,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4277,1
    - Dst: table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4280,1
    - Dst: ge_madd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4281,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4282,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4285,1
    - Dst: ge_p2_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - h
    - a
    argTypes:
    - ge_p3*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 4286
      start: 4237
    functionDepth: 0
    functionLinenumber: 4237
    functionLinenumberEnd: 4286
    functionName: ge_scalarmult_base
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - table_select
    - ge_p1p1_to_p2
    - OPENSSL_cleanse
    - ge_p2_dbl
    - ge_p3_0
    - ge_madd
    - ge_p1p1_to_p3
    - ge_p3_dbl
    linkageType: ''
    returnType: void
    signature: 'static void ge_scalarmult_base(ge_p3 *h, const uint8_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ge_p3_to_p2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1991,1
    - Dst: ge_p2_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 1993
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1993
    functionName: ge_p3_dbl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - ge_p3_to_p2
    - ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: 'static void ge_p3_dbl(ge_p1p1 *r, const ge_p3 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe51
    - fe51
    constantsTouched: []
    func_position:
      end: 535
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 535
    functionName: fe51_mul121666
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_mul121666(fe51 h, fe51 f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe51
    - fe51
    - fe51
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: fe51_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_add(fe51 h, const fe51 f, const fe51 g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe51
    - fe51
    constantsTouched: []
    func_position:
      end: 585
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 585
    functionName: fe51_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_copy(fe51 h, const fe51 f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1849,1
    - Dst: fe_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1852,1
    - Dst: fe_isnegative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1853,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1851,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1854
    functionName: ge_p3_tobytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_mul
    - fe_isnegative
    - fe_invert
    - fe_tobytes
    linkageType: ''
    returnType: void
    signature: 'static void ge_p3_tobytes(uint8_t *s, const ge_p3 *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1912,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1913,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 1915
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1915
    functionName: ge_p2_0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_1
    - fe_0
    linkageType: ''
    returnType: void
    signature: 'static void ge_p2_0(ge_p2 *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1927,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1928,1
    - Dst: fe_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 1930
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1930
    functionName: ge_precomp_0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_1
    - fe_0
    linkageType: ''
    returnType: void
    signature: 'static void ge_precomp_0(ge_precomp *h) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5467,1
    - Dst: x25519_sc_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5484,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5489,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5460,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5481,1
    - Dst: ge_scalarmult_base
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5474,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5492,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5450,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5458,1
    - Dst: x25519_sc_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5473,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5477,1
    - Dst: sc_muladd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5485,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5491,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5451,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5459,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5468,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5469,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5470,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5478,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5480,1
    - Dst: ge_p3_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5475,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5479,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5490,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 7
    argNames:
    - out_sig
    - message
    - message_len
    - public_key
    - private_key
    - libctx
    - propq
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 5494
      start: 5441
    functionDepth: 0
    functionLinenumber: 5441
    functionLinenumberEnd: 5494
    functionName: ossl_ed25519_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - x25519_sc_reduce
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_cleanse
    - ge_p3_tobytes
    - sc_muladd
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_free
    - ge_scalarmult_base
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'int ossl_ed25519_sign(uint8_t *out_sig, const uint8_t *message, size_t
      message_len, const uint8_t public_key[32], const uint8_t private_key[32], OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe64_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:224,1
    - Dst: fe64_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:226,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:245,1
    - Dst: fe64_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:243,1
    - Dst: fe64_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:244,1
    - Dst: fe64_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:246,1
    - Dst: fe64_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:257,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:252,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:256,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:249,1
    - Dst: fe64_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:255,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:259,1
    - Dst: fe64_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:235,1
    - Dst: fe64_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:236,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:240,1
    - Dst: fe64_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:238,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:239,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:242,1
    - Dst: fe64_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:237,1
    - Dst: fe64_mul121666
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:248,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:218,1
    - Dst: fe64_frombytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:222,1
    - Dst: fe64_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:223,1
    - Dst: fe64_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:225,1
    - Dst: fe64_cswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:232,1
    - Dst: fe64_cswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:233,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:241,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:247,1
    - Dst: fe64_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:250,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 260
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 260
    functionName: x25519_scalar_mulx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe64_cswap
    - fe64_frombytes
    - fe64_tobytes
    - fe64_mul
    - fe64_mul121666
    - memcpy
    - fe64_1
    - OPENSSL_cleanse
    - fe64_sub
    - fe64_copy
    - fe64_invert
    - fe64_0
    - fe64_add
    - fe64_sqr
    linkageType: ''
    returnType: void
    signature: 'static void x25519_scalar_mulx(uint8_t out[32], const uint8_t scalar[32],
      const uint8_t point[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 209
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 1404
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1404
    functionName: fe_sq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_sq(fe h, const fe f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 219
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 1724
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1724
    functionName: fe_sq2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_sq2(fe h, const fe f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1740,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1761,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1759,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1764,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1766,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1769,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1771,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1774,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1776,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1779,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1736,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1762,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1767,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1772,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1777,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1734,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1741,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1744,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1746,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1749,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1754,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1751,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1756,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1781,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1733,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1738,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1739,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1742,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1747,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1752,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 1782
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1782
    functionName: fe_pow22523
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_mul
    - fe_sq
    linkageType: ''
    returnType: void
    signature: 'static void fe_pow22523(fe out, const fe z) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ge_p3_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4557,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4563,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4566,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4569,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4596,1
    - Dst: ge_madd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4602,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4601,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4561,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4562,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4567,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4565,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4571,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4564,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4570,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4568,1
    - Dst: ge_p2_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4581,1
    - Dst: ge_p2_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4590,1
    - Dst: ge_msub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4605,1
    - Dst: slide
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4554,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4560,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4572,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4575,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4578,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4593,1
    - Dst: ge_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4597,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4604,1
    - Dst: ge_p1p1_to_p2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4608,1
    - Dst: slide
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4553,1
    - Dst: ge_p1p1_to_p3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4558,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4556,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4559,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4573,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4574,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4576,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4577,1
    - Dst: ge_p3_to_cached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4579,1
    - Dst: ge_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4594,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 4
    argNames:
    - r
    - a
    - A
    - b
    argTypes:
    - ge_p2*
    - uint8_t*
    - ge_p3*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 4610
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4610
    functionName: ge_double_scalarmult_vartime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - ge_madd
    - ge_msub
    - ge_p3_to_cached
    - ge_p2_0
    - ge_p1p1_to_p2
    - slide
    - ge_add
    - ge_p2_dbl
    - ge_sub
    - ge_p1p1_to_p3
    - ge_p3_dbl
    linkageType: ''
    returnType: void
    signature: 'static void ge_double_scalarmult_vartime(ge_p2 *r, const uint8_t *a,
      const ge_p3 *A, const uint8_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1957,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1958,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p1p1*
    constantsTouched: []
    func_position:
      end: 1960
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1960
    functionName: ge_p1p1_to_p2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_mul
    linkageType: ''
    returnType: void
    signature: 'static void ge_p1p1_to_p2(ge_p2 *r, const ge_p1p1 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2017,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2018,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2020,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2021,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2019,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2022,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2023,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2024,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2025,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 2027
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2027
    functionName: ge_msub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - fe_mul
    linkageType: ''
    returnType: void
    signature: 'static void ge_msub(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe64
    - fe64
    - unsigned int
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: fe64_cswap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe64_cswap(fe64 f, fe64 g, unsigned int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 991
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 991
    functionName: fe_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_add(fe h, const fe f, const fe g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - signed char
    constantsTouched: []
    func_position:
      end: 4205
      start: 4199
    functionDepth: 0
    functionLinenumber: 4199
    functionLinenumberEnd: 4205
    functionName: negative
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t negative(signed char b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:138,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:152,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:164,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:159,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:178,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:187,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:203,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:129,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:132,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:133,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:144,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:149,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:182,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:141,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:157,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:175,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:172,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:166,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:180,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:185,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:193,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:196,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:200,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:136,1
    - Dst: fe64_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:147,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:161,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:168,1
    - Dst: fe64_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe64
    - fe64
    constantsTouched: []
    func_position:
      end: 204
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 204
    functionName: fe64_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe64_mul
    - fe64_sqr
    linkageType: ''
    returnType: void
    signature: 'static void fe64_invert(fe64 out, const fe64 z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4215,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4215,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4217,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4217,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4221,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4221,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4216,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4216,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4218,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4218,1
    - Dst: fe_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4222,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4225,1
    - Dst: negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4210,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4219,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4219,1
    - Dst: fe_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4223,1
    - Dst: ge_precomp_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4213,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4214,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4214,1
    - Dst: equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4220,1
    - Dst: cmov
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4220,1
    - Dst: fe_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - t
    - pos
    - b
    argTypes:
    - ge_precomp*
    - int
    - signed char
    constantsTouched: []
    func_position:
      end: 4226
      start: 4207
    functionDepth: 0
    functionLinenumber: 4207
    functionLinenumberEnd: 4226
    functionName: table_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - negative
    - ge_precomp_0
    - fe_copy
    - cmov
    - fe_neg
    - equal
    linkageType: ''
    returnType: void
    signature: 'static void table_select(ge_precomp *t, int pos, signed char b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x25519_scalar_mult_generic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 4430
      start: 4427
    functionDepth: 0
    functionLinenumber: 4427
    functionLinenumberEnd: 4430
    functionName: x25519_scalar_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - x25519_scalar_mult_generic
    linkageType: ''
    returnType: void
    signature: 'static void x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32],
      const uint8_t point[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe
    - fe
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4306
      start: 4295
    functionDepth: 0
    functionLinenumber: 4295
    functionLinenumberEnd: 4306
    functionName: fe_cswap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_cswap(fe f, fe g, unsigned int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5632,1
    - Dst: ge_scalarmult_base
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5637,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5645,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5644,1
    - Dst: fe_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5646,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5647,1
    - Dst: fe_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5648,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - out_public_value
    - private_key
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 5651
      start: 5624
    functionDepth: 0
    functionLinenumber: 5624
    functionLinenumberEnd: 5651
    functionName: ossl_x25519_public_from_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - memcpy
    - OPENSSL_cleanse
    - fe_invert
    - fe_mul
    - ge_scalarmult_base
    - fe_tobytes
    linkageType: ''
    returnType: void
    signature: 'void ossl_x25519_public_from_private(uint8_t out_public_value[32],
      const uint8_t private_key[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4627,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4631,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4642,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4643,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4638,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4628,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4632,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4635,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4639,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4644,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4649,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4629,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4633,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4640,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4636,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4645,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4647,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4626,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4630,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4634,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4637,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4641,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4646,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 680
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 4956
      start: 4624
    functionDepth: 0
    functionLinenumber: 4624
    functionLinenumberEnd: 4956
    functionName: x25519_sc_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - load_3
    - load_4
    linkageType: ''
    returnType: void
    signature: 'static void x25519_sc_reduce(uint8_t *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe64
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: fe64_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe64_1(fe64 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:72,1
    - Dst: load_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:75,1
    - Dst: load_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:74,1
    - Dst: load_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe64
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: fe64_frombytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - load_8
    linkageType: ''
    returnType: void
    signature: 'static void fe64_frombytes(fe64 h, const uint8_t *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:311,1
    - Dst: load_7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:313,1
    - Dst: load_6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:312,1
    - Dst: load_6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:315,1
    - Dst: load_6
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe51
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 327
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 327
    functionName: fe51_frombytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - load_7
    - load_6
    linkageType: ''
    returnType: void
    signature: 'static void fe51_frombytes(fe51 h, const uint8_t *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe51
    - fe51
    - fe51
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: fe51_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_sub(fe51 h, const fe51 f, const fe51 g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: load_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t load_4(const uint8_t *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: fe_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void fe_copy(fe h, const fe f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: fe_0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void fe_0(fe h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1427,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1438,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1440,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1444,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1451,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1453,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1449,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1481,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1429,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1456,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1460,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1470,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1458,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1472,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1474,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1484,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1486,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1490,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1420,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1424,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1423,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1435,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1464,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1477,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1479,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1432,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1467,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1493,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1495,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1499,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 1500
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1500
    functionName: fe_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_mul
    - fe_sq
    linkageType: ''
    returnType: void
    signature: 'static void fe_invert(fe out, const fe z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: load_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t load_8(const uint8_t *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe64
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: fe64_0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe64_0(fe64 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe64
    - fe64
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: fe64_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe64_copy(fe64 h, const fe64 f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 103
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - fe51
    constantsTouched: []
    func_position:
      end: 386
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 386
    functionName: fe51_tobytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_tobytes(uint8_t *s, const fe51 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 97
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe51
    - fe51
    - fe51
    constantsTouched: []
    func_position:
      end: 455
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 455
    functionName: fe51_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_mul(fe51 h, const fe51 f, const fe51 g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe51
    - fe51
    constantsTouched: []
    func_position:
      end: 509
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 509
    functionName: fe51_sq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe51_mul
    linkageType: ''
    returnType: void
    signature: 'static void fe51_sq(fe51 h, const fe51 f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe51
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: fe51_0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_0(fe51 h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 786
    functionName: load_3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t load_3(const uint8_t *in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x25519_fe64_eligible
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:704,1
    - Dst: fe51_cswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:724,1
    - Dst: fe51_cswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:725,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:739,1
    - Dst: fe51_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:742,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:743,1
    - Dst: fe51_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:747,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:751,1
    - Dst: fe51_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:728,1
    - Dst: fe51_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:730,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:731,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:734,1
    - Dst: fe51_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:729,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:732,1
    - Dst: fe51_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:715,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:710,1
    - Dst: fe51_frombytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:714,1
    - Dst: fe51_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:717,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:733,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:741,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:744,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:748,1
    - Dst: x25519_scalar_mulx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:705,1
    - Dst: fe51_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:716,1
    - Dst: fe51_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:718,1
    - Dst: fe51_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:727,1
    - Dst: fe51_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:735,1
    - Dst: fe51_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:736,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:737,1
    - Dst: fe51_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:738,1
    - Dst: fe51_mul121666
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:740,1
    - Dst: fe51_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 752
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 752
    functionName: x25519_scalar_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe51_copy
    - fe51_mul
    - fe51_0
    - fe51_1
    - x25519_fe64_eligible
    - fe51_cswap
    - memcpy
    - fe51_sub
    - fe51_sq
    - OPENSSL_cleanse
    - fe51_tobytes
    - fe51_invert
    - fe51_mul121666
    - fe51_add
    - x25519_scalar_mulx
    - fe51_frombytes
    linkageType: ''
    returnType: void
    signature: 'static void x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32],
      const uint8_t point[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:802,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:803,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:805,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:804,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:806,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:807,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:808,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:809,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:810,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 110
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 845
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 845
    functionName: fe_frombytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - load_3
    - load_4
    linkageType: ''
    returnType: void
    signature: 'static void fe_frombytes(fe h, const uint8_t *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 146
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - fe
    constantsTouched: []
    func_position:
      end: 951
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 951
    functionName: fe_tobytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_tobytes(uint8_t *s, const fe h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 1012
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1012
    functionName: fe_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_sub(fe h, const fe f, const fe g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe
    - fe
    - unsigned
    constantsTouched: []
    func_position:
      end: 1536
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1536
    functionName: fe_cmov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_cmov(fe f, const fe g, unsigned b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1948,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1949,1
    - Dst: fe_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1950,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_cached*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 1952
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1952
    functionName: ge_p3_to_cached
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - fe_copy
    - fe_mul
    linkageType: ''
    returnType: void
    signature: 'static void ge_p3_to_cached(ge_cached *r, const ge_p3 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2052,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2054,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2056,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2053,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2055,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2057,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2058,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2059,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2060,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2061,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    constantsTouched: []
    func_position:
      end: 2063
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2063
    functionName: ge_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - fe_mul
    linkageType: ''
    returnType: void
    signature: 'static void ge_sub(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1965,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1966,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1968,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p3*
    - ge_p1p1*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1969
    functionName: ge_p1p1_to_p3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_mul
    linkageType: ''
    returnType: void
    signature: 'static void ge_p1p1_to_p3(ge_p3 *r, const ge_p1p1 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4390,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4392,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4410,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4408,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4409,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4411,1
    - Dst: fe_mul121666
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4413,1
    - Dst: fe_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4422,1
    - Dst: fe_cswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4397,1
    - Dst: fe_cswap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4398,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4412,1
    - Dst: fe_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4420,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4424,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4400,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4401,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4402,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4403,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4407,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4404,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4405,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4384,1
    - Dst: fe_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4391,1
    - Dst: fe_frombytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4388,1
    - Dst: fe_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4389,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4406,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4414,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4415,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4416,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4417,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 4425
      start: 4376
    functionDepth: 0
    functionLinenumber: 4376
    functionLinenumberEnd: 4425
    functionName: x25519_scalar_mult_generic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - memcpy
    - OPENSSL_cleanse
    - fe_copy
    - fe_1
    - fe_cswap
    - fe_invert
    - fe_mul121666
    - fe_mul
    - fe_sq
    - fe_frombytes
    - fe_0
    - fe_tobytes
    linkageType: ''
    returnType: void
    signature: 'static void x25519_scalar_mult_generic(uint8_t out[32], const uint8_t
      scalar[32], const uint8_t point[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: load_7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t load_7(const uint8_t *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe51
    - fe51
    - unsigned int
    constantsTouched: []
    func_position:
      end: 598
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 598
    functionName: fe51_cswap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe51_cswap(fe51 f, fe51 g, unsigned int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 300
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 1259
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1259
    functionName: fe_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_mul(fe h, const fe f, const fe g) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - fe
    constantsTouched: []
    func_position:
      end: 1568
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1568
    functionName: fe_isnegative
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_tobytes
    linkageType: ''
    returnType: int
    signature: 'static int fe_isnegative(const fe f) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - signed char*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 4466
      start: 4433
    functionDepth: 0
    functionLinenumber: 4433
    functionLinenumberEnd: 4466
    functionName: slide
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void slide(signed char *r, const uint8_t *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5593,1
    - Dst: ge_scalarmult_base
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5607,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5597,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5596,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5599,1
    - Dst: ge_p3_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5608,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5610,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - out_public_key
    - private_key
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t
    - uint8_t
    - char*
    constantsTouched: []
    func_position:
      end: 5612
      start: 5583
    functionDepth: 0
    functionLinenumber: 5583
    functionLinenumberEnd: 5612
    functionName: ossl_ed25519_public_from_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - EVP_Digest
    - ge_p3_tobytes
    - EVP_MD_free
    - ge_scalarmult_base
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'int ossl_ed25519_public_from_private(OSSL_LIB_CTX *ctx, uint8_t out_public_key[32],
      const uint8_t private_key[32], const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: load_6
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t load_6(const uint8_t *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:626,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:637,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:644,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:657,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:649,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:660,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:665,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:672,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:621,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:634,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:653,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:667,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:623,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:663,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:651,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:642,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:670,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:678,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:681,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:685,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:688,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:614,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:617,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:618,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:629,1
    - Dst: fe51_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:632,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:646,1
    - Dst: fe51_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe51
    - fe51
    constantsTouched: []
    func_position:
      end: 689
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 689
    functionName: fe51_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe51_mul
    - fe51_sq
    linkageType: ''
    returnType: void
    signature: 'static void fe51_invert(fe51 out, const fe51 z) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5537,1
    - Dst: ge_frombytes_vartime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5549,1
    - Dst: fe_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5553,1
    - Dst: fe_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5554,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5556,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5559,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5563,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5564,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5565,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5566,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5579,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5578,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5567,1
    - Dst: x25519_sc_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5570,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5576,1
    - Dst: ge_double_scalarmult_vartime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5572,1
    - Dst: ge_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5574,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 6
    argNames:
    - message
    - message_len
    - signature
    - public_key
    - libctx
    - propq
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 5581
      start: 5498
    functionDepth: 0
    functionLinenumber: 5498
    functionLinenumberEnd: 5581
    functionName: ossl_ed25519_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - x25519_sc_reduce
    - memcmp
    - ge_double_scalarmult_vartime
    - EVP_MD_CTX_new
    - EVP_MD_free
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - fe_neg
    - CRYPTO_memcmp
    - ge_frombytes_vartime
    - EVP_MD_fetch
    - ge_tobytes
    linkageType: ''
    returnType: int
    signature: 'int ossl_ed25519_verify(const uint8_t *message, size_t message_len,
      const uint8_t signature[64], const uint8_t public_key[32], OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_tobytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1550,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - fe
    constantsTouched: []
    func_position:
      end: 1553
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1553
    functionName: fe_isnonzero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - fe_tobytes
    linkageType: ''
    returnType: int
    signature: 'static int fe_isnonzero(const fe f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x25519_scalar_mult
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5619,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out_shared_key
    - private_key
    - peer_public_value
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 5622
      start: 5614
    functionDepth: 0
    functionLinenumber: 5614
    functionLinenumberEnd: 5622
    functionName: ossl_x25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    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],
      const uint8_t peer_public_value[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe
    constantsTouched: []
    func_position:
      end: 970
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 970
    functionName: fe_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void fe_1(fe h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 1518
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1518
    functionName: fe_neg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_neg(fe h, const fe f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1976,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1979,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1980,1
    - Dst: fe_sq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1977,1
    - Dst: fe_sq2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1978,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1981,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1982,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1983,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:1984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 1985
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1985
    functionName: ge_p2_dbl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sq
    - fe_sq2
    - fe_sub
    linkageType: ''
    returnType: void
    signature: 'static void ge_p2_dbl(ge_p1p1 *r, const ge_p2 *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2000,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2003,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2002,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2001,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2004,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2005,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2006,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2007,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2008,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2009,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 2010
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 2010
    functionName: ge_madd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - fe_mul
    linkageType: ''
    returnType: void
    signature: 'static void ge_madd(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2034,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2036,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2038,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2035,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2037,1
    - Dst: fe_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2039,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2040,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2041,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2042,1
    - Dst: fe_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2043,1
    - Dst: fe_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:2044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    constantsTouched: []
    func_position:
      end: 2045
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2045
    functionName: ge_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - fe_add
    - fe_sub
    - fe_mul
    linkageType: ''
    returnType: void
    signature: 'static void ge_add(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 92
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    constantsTouched: []
    func_position:
      end: 4374
      start: 4319
    functionDepth: 0
    functionLinenumber: 4319
    functionLinenumberEnd: 4374
    functionName: fe_mul121666
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void fe_mul121666(fe h, fe f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4972,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4976,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4983,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4984,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4988,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4982,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4994,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4995,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4996,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5000,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5006,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4973,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4977,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4979,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4980,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4985,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4989,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4991,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4992,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4997,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5001,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5003,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4974,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4978,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4981,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4986,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4990,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4993,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4998,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5002,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5005,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:5004,1
    - Dst: load_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4971,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4975,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4987,1
    - Dst: load_4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c:4999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1206
    argCount: 4
    argNames:
    - s
    - a
    - b
    - c
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 5439
      start: 4968
    functionDepth: 0
    functionLinenumber: 4968
    functionLinenumberEnd: 5439
    functionName: sc_muladd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached:
    - load_3
    - load_4
    linkageType: ''
    returnType: void
    signature: 'static void sc_muladd(uint8_t *s, const uint8_t *a, const uint8_t
      *b, const uint8_t *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - signed char
    - signed char
    constantsTouched: []
    func_position:
      end: 2074
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2074
    functionName: equal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve25519.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t equal(signed char b, signed char c) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:60,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:67,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:79,1
    - Dst: S390X_OFF_SRC_Y
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:101,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:102,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:106,1
    - Dst: S390X_OFF_RES_Y
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:106,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:117,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:118,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:120,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:90,1
    - Dst: S390X_OFF_SCALAR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:103,1
    - Dst: s390x_pcc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:104,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:119,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:68,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:65,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:80,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:83,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:92,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:100,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:105,1
    - Dst: S390X_OFF_RES_X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:105,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:91,1
    - Dst: S390X_OFF_SRC_X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:100,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:101,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:96,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    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
    constantsTouched: []
    func_position:
      end: 122
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 122
    functionName: ec_GFp_s390x_nistp_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: []
    functionsReached:
    - S390X_OFF_RES_X
    - S390X_OFF_SRC_Y
    - BN_is_zero
    - BN_CTX_free
    - BN_CTX_start
    - S390X_OFF_RES_Y
    - s390x_pcc
    - BN_CTX_end
    - BN_bn2binpad
    - BN_bin2bn
    - EC_POINT_is_at_infinity
    - EC_POINT_set_to_infinity
    - S390X_OFF_SRC_X
    - OPENSSL_cleanse
    - BN_CTX_get
    - ossl_ec_wNAF_mul
    - BN_is_negative
    - S390X_OFF_SCALAR
    - EC_GROUP_get0_generator
    - BN_CTX_new_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ec_GFp_s390x_nistp_mul(const EC_GROUP *group, EC_POINT
      *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM
      *scalars[], BN_CTX *ctx, unsigned int fc, int len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:151,1
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:152,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:176,1
    - Dst: S390X_OFF_K
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:169,1
    - Dst: S390X_OFF_RN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:194,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:216,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:219,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:147,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:154,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:165,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:185,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:169,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:192,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:193,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:201,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:142,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:167,1
    - Dst: S390X_OFF_H
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:167,1
    - Dst: S390X_OFF_RN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:193,1
    - Dst: S390X_OFF_R
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:206,1
    - Dst: S390X_OFF_S
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:207,1
    - Dst: EC_KEY_can_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:146,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:202,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:207,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:208,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:214,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 93
    argCount: 7
    argNames:
    - dgst
    - dgstlen
    - kinv
    - r
    - eckey
    - fc
    - len
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 221
    functionName: ecdsa_s390x_nistp_sign_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_private_key
    - s390x_kdsa
    - S390X_OFF_S
    - BN_secure_new
    - BN_bn2binpad
    - S390X_OFF_K
    - BN_bin2bn
    - S390X_OFF_R
    - ECDSA_SIG_new
    - BN_clear_free
    - S390X_OFF_RN
    - memcpy
    - OPENSSL_cleanse
    - ECDSA_SIG_free
    - ERR_raise
    - EC_KEY_can_sign
    - BN_new
    - RAND_priv_bytes_ex
    - ossl_ec_group_do_inverse_ord
    - S390X_OFF_H
    - memset
    linkageType: ''
    returnType: ECDSA_SIG*
    signature: 'static ECDSA_SIG *ecdsa_s390x_nistp_sign_sig(const unsigned char *dgst,
      int dgstlen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey, unsigned int
      fc, int len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:235,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:236,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:258,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:278,1
    - Dst: EC_KEY_can_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:242,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:255,1
    - Dst: S390X_OFF_S
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:269,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:264,1
    - Dst: S390X_OFF_H
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:264,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:272,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:279,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:247,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:249,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:268,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:262,1
    - Dst: S390X_OFF_X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:270,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:238,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:243,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:253,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:256,1
    - Dst: S390X_OFF_R
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:268,1
    - Dst: S390X_OFF_Y
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:271,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c:276,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 6
    argNames:
    - dgst
    - dgstlen
    - sig
    - eckey
    - fc
    - len
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 281
    functionName: ecdsa_s390x_nistp_verify_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - BN_CTX_get
    - ERR_raise
    - EC_KEY_can_sign
    - EC_KEY_get0_public_key
    - BN_CTX_end
    - S390X_OFF_S
    - memcpy
    - BN_CTX_free
    - BN_bn2binpad
    - S390X_OFF_X
    - S390X_OFF_H
    - S390X_OFF_Y
    - BN_CTX_start
    - S390X_OFF_R
    - s390x_kdsa
    - BN_CTX_new_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_s390x_nistp_verify_sig(const unsigned char *dgst,
      int dgstlen, const ECDSA_SIG *sig, EC_KEY *eckey, unsigned int fc, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - point
    - group
    argTypes:
    - EC_POINT*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: ec_point_is_compat
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ec_point_is_compat(const EC_POINT *point, const
      EC_GROUP *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h:743,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h:742,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 747
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 747
    functionName: ec_point_ladder_pre
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h
    functionUses: []
    functionsReached:
    - EC_POINT_copy
    - EC_POINT_dbl
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ec_point_ladder_pre(const EC_GROUP *group,
      EC_POINT *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 772
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 772
    functionName: ec_point_ladder_post
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ec_point_ladder_post(const EC_GROUP *group,
      EC_POINT *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h:757,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h:756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 762
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 762
    functionName: ec_point_ladder_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_local.h
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_add
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ec_point_ladder_step(const EC_GROUP *group,
      EC_POINT *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: EC_KEY_get_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD*
    signature: 'const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:86,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:92,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:102,1
    - Dst: EC_KEY_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:106,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:110,1
    - Dst: ENGINE_get_default_EC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:115,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:130,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:136,1
    - Dst: ENGINE_get_EC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:117,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 3
    argNames:
    - libctx
    - propq
    - engine
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 144
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 144
    functionName: ossl_ec_key_new_method_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - CRYPTO_new_ex_data
    - ERR_raise
    - ENGINE_get_EC
    - ENGINE_init
    - ENGINE_get_default_EC
    - OPENSSL_zalloc
    - EC_KEY_get_default_method
    - EC_KEY_free
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *ossl_ec_key_new_method_int(OSSL_LIB_CTX *libctx, const char
      *propq, ENGINE *engine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: EC_KEY_OpenSSL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD*
    signature: 'const EC_KEY_METHOD *EC_KEY_OpenSSL(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:67,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - key
    - meth
    argTypes:
    - EC_KEY*
    - EC_KEY_METHOD*
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: EC_KEY_set_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached:
    - finish
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 5
    argCount: 3
    argNames:
    - meth
    - (**pverify)
    - (**pverify_sig)
    argTypes:
    - EC_KEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: EC_KEY_METHOD_get_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth, int (**pverify)(int
      type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf,
      int sig_len, EC_KEY *eckey), int (**pverify_sig)(const unsigned char *dgst,
      int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: EC_KEY_get_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD*
    signature: 'const EC_KEY_METHOD *EC_KEY_get_default_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_new_method_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: EC_KEY_new_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached:
    - ossl_ec_key_new_method_int
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *EC_KEY_new_method(ENGINE *engine) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: EC_KEY_set_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_set_default_method(const EC_KEY_METHOD *meth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: EC_KEY_METHOD_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_free(EC_KEY_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*keygen)
    argTypes:
    - EC_KEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: EC_KEY_METHOD_set_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, int (*keygen)(EC_KEY
      *key)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 2
    argNames:
    - meth
    - (**pck)
    argTypes:
    - EC_KEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: EC_KEY_METHOD_get_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, int
      (**pck)(unsigned char **pout, size_t *poutlen, const EC_POINT *pub_key, const
      EC_KEY *ecdh)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 7
    argCount: 7
    argNames:
    - meth
    - (*init)
    - (*finish)
    - (*copy)
    - (*set_group)
    - (*set_private)
    - (*set_public)
    argTypes:
    - EC_KEY_METHOD*
    - int
    - void
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: EC_KEY_METHOD_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, int (*init)(EC_KEY
      *key), void (*finish)(EC_KEY *key), int (*copy)(EC_KEY *dest, const EC_KEY *src),
      int (*set_group)(EC_KEY *key, const EC_GROUP *grp), int (*set_private)(EC_KEY
      *key, const BIGNUM *priv_key), int (*set_public)(EC_KEY *key, const EC_POINT
      *pub_key)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*ckey)
    argTypes:
    - EC_KEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: EC_KEY_METHOD_set_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, int (*ckey)(unsigned
      char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 7
    argCount: 4
    argNames:
    - meth
    - (**psign)
    - (**psign_setup)
    - (**psign_sig)
    argTypes:
    - EC_KEY_METHOD*
    - int
    - int
    - ECDSA_SIG*
    constantsTouched: []
    func_position:
      end: 327
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 327
    functionName: EC_KEY_METHOD_get_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth, int (**psign)(int
      type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int
      *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), int (**psign_setup)(EC_KEY
      *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), ECDSA_SIG *(**psign_sig)(const
      unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r,
      EC_KEY *eckey)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:161,1
    - Dst: KDF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:165,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:175,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 5
    argNames:
    - out
    - outlen
    - pub_key
    - eckey
    - (*KDF)
    argTypes:
    - void*
    - size_t
    - EC_POINT*
    - EC_KEY*
    - void*
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: ECDH_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached:
    - KDF
    - memcpy
    - ERR_raise
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key,
      const EC_KEY *eckey, void *(*KDF) (const void *in, size_t inlen, void *out,
      size_t *outlen)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 4
    argCount: 4
    argNames:
    - meth
    - (*sign)
    - (*sign_setup)
    - (*sign_sig)
    argTypes:
    - EC_KEY_METHOD*
    - int
    - int
    - ECDSA_SIG*
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: EC_KEY_METHOD_set_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, int (*sign)(int type,
      const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen,
      const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), int (*sign_setup)(EC_KEY
      *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), ECDSA_SIG *(*sign_sig)(const
      unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r,
      EC_KEY *eckey)) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 13
    argCount: 7
    argNames:
    - meth
    - (**pinit)
    - (**pfinish)
    - (**pcopy)
    - (**pset_group)
    - (**pset_private)
    - (**pset_public)
    argTypes:
    - EC_KEY_METHOD*
    - int
    - void
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 288
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 288
    functionName: EC_KEY_METHOD_get_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, int (**pinit)(EC_KEY
      *key), void (**pfinish)(EC_KEY *key), int (**pcopy)(EC_KEY *dest, const EC_KEY
      *src), int (**pset_group)(EC_KEY *key, const EC_GROUP *grp), int (**pset_private)(EC_KEY
      *key, const BIGNUM *priv_key), int (**pset_public)(EC_KEY *key, const EC_POINT
      *pub_key)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: EC_KEY_METHOD_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EC_KEY_METHOD*
    signature: 'EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 3
    argCount: 3
    argNames:
    - meth
    - (*verify)
    - (*verify_sig)
    argTypes:
    - EC_KEY_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: EC_KEY_METHOD_set_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, int (*verify)(int
      type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf,
      int sig_len, EC_KEY *eckey), int (*verify_sig)(const unsigned char *dgst, int
      dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - meth
    - (**pkeygen)
    argTypes:
    - EC_KEY_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: EC_KEY_METHOD_get_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_kmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, int (**pkeygen)(EC_KEY
      *key)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_err.c:128,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_err.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: ossl_err_load_EC_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:42,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:32,1
    - Dst: ossl_ec_GFp_simple_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:37,1
    - Dst: ossl_ec_GF2m_simple_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:46,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 52
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 52
    functionName: EC_POINT_set_compressed_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_simple_set_compressed_coordinates
    - ec_point_is_compat
    - ERR_raise
    - ossl_ec_GF2m_simple_set_compressed_coordinates
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT
      *point, const BIGNUM *x, int y_bit, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:78,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:81,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:92,1
    - Dst: ossl_ec_GFp_simple_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:87,1
    - Dst: ossl_ec_GF2m_simple_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - group
    - point
    - form
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: EC_POINT_point2oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - ossl_ec_GFp_simple_point2oct
    - ossl_ec_GF2m_simple_point2oct
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *point,
      point_conversion_form_t form, unsigned char *buf, size_t len, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: EC_POINT_set_compressed_coordinates_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c
    functionUses: []
    functionsReached:
    - EC_POINT_set_compressed_coordinates
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group,
      EC_POINT *point, const BIGNUM *x, int y_bit, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:122,1
    - Dst: ossl_ec_GFp_simple_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:118,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:113,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:112,1
    - Dst: ossl_ec_GF2m_simple_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - group
    - point
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: EC_POINT_oct2point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - ossl_ec_GFp_simple_oct2point
    - ossl_ec_GF2m_simple_oct2point
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *point, const
      unsigned char *buf, size_t len, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:139,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:148,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:146,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - group
    - point
    - form
    - pbuf
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char**
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: EC_POINT_point2buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c
    functionUses: []
    functionsReached:
    - EC_POINT_point2oct
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point,
      point_conversion_form_t form, unsigned char **pbuf, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: EC_POINT_set_compressed_coordinates_GF2m
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_oct.c
    functionUses: []
    functionsReached:
    - EC_POINT_set_compressed_coordinates
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group,
      EC_POINT *point, const BIGNUM *x, int y_bit, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:28,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:35,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:33,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - group
    - point
    - form
    - ret
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: EC_POINT_point2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EC_POINT_point2buf
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *EC_POINT_point2bn(const EC_GROUP *group, const EC_POINT *point,
      point_conversion_form_t form, BIGNUM *ret, BN_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:47,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:55,1
    - Dst: ECerr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:50,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:49,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:54,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:60,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:61,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:67,1
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:69,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:70,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c:74,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - group
    - bn
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: EC_POINT_bn2point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_deprecated.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - OPENSSL_free
    - BN_bn2binpad
    - EC_POINT_new
    - EC_POINT_clear_free
    - EC_POINT_oct2point
    - ECerr
    - OPENSSL_malloc
    linkageType: ''
    returnType: EC_POINT*
    signature: 'EC_POINT *EC_POINT_bn2point(const EC_GROUP *group, const BIGNUM *bn,
      EC_POINT *point, BN_CTX *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:58,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:67,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:75,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:85,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:91,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:96,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:49,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:65,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:79,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:86,1
    - Dst: BN_GF2m_mod_solve_quad_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:80,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:97,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:101,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:112,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:59,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:60,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:57,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:61,1
    - Dst: BN_GF2m_mod_sqrt_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:68,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:84,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:77,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:92,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:87,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:106,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 64
    argCount: 5
    argNames:
    - group
    - point
    - x_
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 117
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 117
    functionName: ossl_ec_GF2m_simple_set_compressed_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - BN_is_zero
    - BN_CTX_free
    - ERR_set_mark
    - BN_CTX_start
    - BN_is_odd
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_CTX_new
    - BN_GF2m_mod_sqrt_arr
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - BN_CTX_get
    - ERR_pop_to_mark
    - ERR_raise
    - BN_GF2m_mod_arr
    - BN_GF2m_mod_solve_quad_arr
    - ERR_GET_LIB
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_set_compressed_coordinates(const EC_GROUP
      *group, EC_POINT *point, const BIGNUM *x_, int y_bit, BN_CTX *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:140,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:200,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:198,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:216,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:238,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:244,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:246,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:165,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:210,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:180,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:181,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:192,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:185,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:189,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:225,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:157,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:177,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:179,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:207,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:230,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:236,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 98
    argCount: 6
    argNames:
    - group
    - point
    - form
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 249
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 249
    functionName: ossl_ec_GF2m_simple_point2oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_num_bytes
    - BN_is_zero
    - EC_GROUP_get_degree
    - EC_POINT_get_affine_coordinates
    - BN_bn2bin
    - BN_CTX_free
    - BN_CTX_new
    - BN_CTX_start
    - BN_is_odd
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_ec_GF2m_simple_point2oct(const EC_GROUP *group, const
      EC_POINT *point, point_conversion_form_t form, unsigned char *buf, size_t len,
      BN_CTX *ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:336,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:376,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:385,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:321,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:328,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:345,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:348,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:334,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:357,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:290,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:301,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:337,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:359,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:366,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:305,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:308,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:315,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:327,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:347,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:330,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:342,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:329,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:365,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c:383,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 96
    argCount: 5
    argNames:
    - group
    - point
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 388
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 388
    functionName: ossl_ec_GF2m_simple_oct2point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_oct.c
    functionUses: []
    functionsReached:
    - EC_POINT_set_compressed_coordinates
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - EC_POINT_set_to_infinity
    - BN_is_zero
    - EC_GROUP_get_degree
    - BN_num_bits
    - BN_CTX_free
    - BN_CTX_new
    - BN_CTX_start
    - BN_bin2bn
    - BN_is_odd
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT
      *point, const unsigned char *buf, size_t len, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - u8
    - smallfelem
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: smallfelem_to_bin32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_to_bin32(u8 out[32], const smallfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: smallfelem_assign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_assign(smallfelem out, const smallfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 70
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - felem
    constantsTouched: []
    func_position:
      end: 466
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 466
    functionName: felem_shrink
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_shrink(smallfelem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 113
    argCount: 3
    argNames:
    - out
    - small1
    - small2
    argTypes:
    - longfelem
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 679
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 679
    functionName: smallfelem_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_mul(longfelem out, const smallfelem small1,
      const smallfelem small2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_reduce_
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    constantsTouched: []
    func_position:
      end: 826
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 826
    functionName: felem_reduce_zero105
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_reduce_
    linkageType: ''
    returnType: void
    signature: 'static void felem_reduce_zero105(felem out, const longfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:849,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:892,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:893,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:894,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:895,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:897,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:898,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:899,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:901,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:902,1
    - Dst: subtract_u64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - felem
    constantsTouched: []
    func_position:
      end: 905
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 905
    functionName: felem_contract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_shrink
    - subtract_u64
    linkageType: ''
    returnType: void
    signature: 'static void felem_contract(smallfelem out, const felem in) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1703,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1705,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1715,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1726,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1722,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1742,1
    - Dst: copy_small_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1750,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1768,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1760,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1716,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1737,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1738,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1739,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1747,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1758,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1759,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1767,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1766,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1685,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1704,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1697,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1707,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1714,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1728,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1736,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1724,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1723,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1751,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1702,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1711,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1721,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1740,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1741,1
    - Dst: smallfelem_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1748,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 98
    argCount: 9
    argNames:
    - x_out
    - y_out
    - z_out
    - scalars
    - num_points
    - g_scalar
    - mixed
    - pre_comp
    - g_pre_comp
    argTypes:
    - felem
    - felem
    - felem
    - felem_bytearray
    - unsigned
    - u8*
    - int
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 1769
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1769
    functionName: batch_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - get_bit
    - felem_contract
    - smallfelem_expand
    - select_point
    - felem_assign
    - copy_small_conditional
    - point_double
    - smallfelem_neg
    - point_add
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void batch_mul(felem x_out, felem y_out, felem z_out, const
      felem_bytearray scalars[], const unsigned num_points, const u8 *g_scalar, const
      int mixed, const smallfelem pre_comp[][17][3], const smallfelem g_pre_comp[2][16][3]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: felem_assign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_assign(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:912,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:913,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: smallfelem_square_contract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - felem_contract
    - smallfelem_square
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_square_contract(smallfelem out, const smallfelem
      in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1110,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1122,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1128,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1139,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1149,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1153,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1155,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1156,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1160,1
    - Dst: smallfelem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1170,1
    - Dst: longfelem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1174,1
    - Dst: felem_diff_zero107
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1166,1
    - Dst: longfelem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1172,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1117,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1112,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1116,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1124,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1132,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1134,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1145,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1136,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1141,1
    - Dst: smallfelem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1144,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1164,1
    - Dst: felem_small_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1127,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1138,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1146,1
    - Dst: felem_small_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1168,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1121,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1147,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1159,1
    - Dst: felem_reduce_zero105
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1176,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1178
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1178
    functionName: point_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_shrink
    - felem_reduce_zero105
    - felem_small_mul
    - felem_scalar
    - longfelem_diff
    - felem_assign
    - felem_sum
    - felem_reduce
    - felem_diff_zero107
    - felem_diff
    - felem_mul
    - longfelem_scalar
    - smallfelem_square
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void point_double(felem x_out, felem y_out, felem z_out, const
      felem x_in, const felem y_in, const felem z_in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: felem_small_sum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_small_sum(felem out, const smallfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - longfelem
    - u64
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: longfelem_scalar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void longfelem_scalar(longfelem out, const u64 scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:566,1
    - Dst: smallfelem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - longfelem
    - felem
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: felem_square
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_shrink
    - smallfelem_square
    linkageType: ''
    returnType: void
    signature: 'static void felem_square(longfelem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1079,1
    - Dst: felem_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1080,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 1082
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1082
    functionName: smallfelem_inv_contract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - smallfelem_expand
    - felem_contract
    - felem_inv
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_inv_contract(smallfelem out, const smallfelem
      in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1425,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1426,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1430,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1428,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1427,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1431,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - x2
    - y2
    - z2
    argTypes:
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 1433
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1433
    functionName: point_add_small
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - smallfelem_expand
    - felem_shrink
    - point_add
    linkageType: ''
    returnType: void
    signature: 'static void point_add_small(smallfelem x3, smallfelem y3, smallfelem
      z3, smallfelem x1, smallfelem y1, smallfelem z1, smallfelem x2, smallfelem y2,
      smallfelem z2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_nistp_points_make_affine_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_smallfelems
    argTypes:
    - size_t
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 2016
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2016
    functionName: make_points_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_nistp_points_make_affine_internal
    linkageType: ''
    returnType: void
    signature: 'static void make_points_affine(size_t num, smallfelem points[][3],
      smallfelem tmp_smallfelems[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: felem_sum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_sum(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - felem
    - u64
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: felem_scalar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_scalar(felem out, const u64 scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_reduce_
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    constantsTouched: []
    func_position:
      end: 797
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 797
    functionName: felem_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_reduce_
    linkageType: ''
    returnType: void
    signature: 'static void felem_reduce(felem out, const longfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 1
    argNames:
    - small
    argTypes:
    - smallfelem
    constantsTouched: []
    func_position:
      end: 966
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 966
    functionName: smallfelem_is_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: limb
    signature: 'static limb smallfelem_is_zero(const smallfelem small) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP256_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1873
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1873
    functionName: EC_nistp256_pre_comp_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTP256_PRE_COMP*
    signature: 'NISTP256_PRE_COMP *EC_nistp256_pre_comp_dup(NISTP256_PRE_COMP *p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1956,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1957,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1965,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1982,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1960,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1967,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1976,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1971,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1961,1
    - Dst: felem_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1963,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1966,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1975,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1978,1
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1981,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1968,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1960,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1964,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1977,1
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1970,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1979,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1987
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1987
    functionName: ossl_ec_GFp_nistp256_point_get_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - smallfelem_to_BN
    - BN_to_felem
    - ERR_raise
    - felem_contract
    - felem_reduce
    - felem_inv
    - felem_square
    - felem_mul
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp256_point_get_affine_coordinates(const EC_GROUP
      *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1882,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1886,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1889,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1883,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pre
    argTypes:
    - NISTP256_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1890
    functionName: EC_nistp256_pre_comp_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void EC_nistp256_pre_comp_free(NISTP256_PRE_COMP *pre) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2377
    functionName: ossl_ec_GFp_nistp256_have_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp256_have_precompute_mult(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: felem_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_diff(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 2
    argNames:
    - out
    - small
    argTypes:
    - longfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 554
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 554
    functionName: smallfelem_square
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_square(longfelem out, const smallfelem small) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    constantsTouched: []
    func_position:
      end: 766
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 766
    functionName: felem_reduce_
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_reduce_(felem out, const longfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:923,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:924,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - smallfelem
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 926
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 926
    functionName: smallfelem_mul_contract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - smallfelem_mul
    - felem_contract
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_mul_contract(smallfelem out, const smallfelem
      in1, const smallfelem in2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:992,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:990,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1000,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1001,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1007,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1009,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1016,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1023,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1039,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1047,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1067,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1057,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1054,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1058,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1065,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1068,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1028,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1066,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1071,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:993,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:994,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:998,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1002,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1030,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1032,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1041,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1038,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1042,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1044,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1045,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1053,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1063,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1064,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1051,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1027,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:991,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:995,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1003,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1004,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1008,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1010,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1017,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1024,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1031,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1034,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1069,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1072,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1021,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1050,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1035,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1056,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:989,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:996,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:997,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1006,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1005,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:999,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1011,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1013,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1014,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1018,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1020,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1061,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1025,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1059,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1062,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1048,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1060,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 90
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1073
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1073
    functionName: felem_inv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - felem_assign
    - felem_mul
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void felem_inv(felem out, const felem in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1245,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1254,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1261,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1263,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1267,1
    - Dst: smallfelem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1285,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1289,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1298,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1302,1
    - Dst: smallfelem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1312,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1338,1
    - Dst: longfelem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1399,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1376,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1409,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1375,1
    - Dst: felem_diff_zero107
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1336,1
    - Dst: smallfelem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1248,1
    - Dst: smallfelem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1251,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1252,1
    - Dst: smallfelem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1247,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1271,1
    - Dst: felem_small_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1272,1
    - Dst: smallfelem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1328,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1363,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1368,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1369,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1379,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1405,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1396,1
    - Dst: copy_small_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1408,1
    - Dst: felem_diff_zero107
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1393,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1411,1
    - Dst: smallfelem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1266,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1276,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1277,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1286,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1290,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1303,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1313,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1324,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1329,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1333,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1385,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1372,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1386,1
    - Dst: copy_small_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1404,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1387,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1380,1
    - Dst: smallfelem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1341,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1389,1
    - Dst: smallfelem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1383,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1407,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1410,1
    - Dst: smallfelem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1258,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1259,1
    - Dst: felem_sum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1279,1
    - Dst: felem_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1281,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1307,1
    - Dst: felem_diff_zero107
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1316,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1318,1
    - Dst: smallfelem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1320,1
    - Dst: felem_small_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1323,1
    - Dst: felem_small_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1332,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1371,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1384,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1340,1
    - Dst: felem_reduce_zero105
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1401,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1412,1
    - Dst: felem_small_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1395,1
    - Dst: longfelem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1397,1
    - Dst: copy_small_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 86
    argCount: 10
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - mixed
    - x2
    - y2
    - z2
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    - int
    - smallfelem
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 1413
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1413
    functionName: point_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_scalar
    - copy_small_conditional
    - felem_reduce
    - longfelem_scalar
    - felem_sum
    - felem_square
    - felem_shrink
    - felem_reduce_zero105
    - felem_small_sum
    - felem_assign
    - point_double
    - felem_diff_zero107
    - smallfelem_square
    - smallfelem_is_zero
    - smallfelem_mul
    - felem_small_mul
    - copy_conditional
    - longfelem_diff
    - felem_diff
    - felem_mul
    linkageType: ''
    returnType: void
    signature: 'static void point_add(felem x3, felem y3, felem z3, const felem x1,
      const felem y1, const felem z1, const int mixed, const smallfelem x2, const
      smallfelem y2, const smallfelem z2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - smallfelem
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: smallfelem_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_one(smallfelem out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out
    - small
    argTypes:
    - felem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: smallfelem_neg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_neg(felem out, const smallfelem small) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - longfelem
    - longfelem
    constantsTouched: []
    func_position:
      end: 358
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 358
    functionName: longfelem_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void longfelem_diff(longfelem out, const longfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: smallfelem_expand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smallfelem_expand(felem out, const smallfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - small
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: smallfelem_is_zero_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - smallfelem_is_zero
    linkageType: ''
    returnType: int
    signature: 'static int smallfelem_is_zero_int(const void *small) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - felem
    - smallfelem
    - limb
    constantsTouched: []
    func_position:
      end: 1220
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1220
    functionName: copy_small_conditional
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_small_conditional(felem out, const smallfelem in,
      limb mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - in
    - i
    argTypes:
    - felem_bytearray
    - int
    constantsTouched: []
    func_position:
      end: 1662
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1662
    functionName: get_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'static char get_bit(const felem_bytearray in, int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_to_bin32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:171,1
    - Dst: BN_lebin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - smallfelem
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: smallfelem_to_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - smallfelem_to_bin32
    - BN_lebin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *smallfelem_to_BN(BIGNUM *out, const smallfelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: felem_diff_zero107
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_diff_zero107(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - u64
    - unsigned int
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 1654
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1654
    functionName: select_point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void select_point(const u64 idx, unsigned int size, const smallfelem
      pre_comp[16][3], smallfelem out[3]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1849,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1860,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1861,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1858,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1865
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1865
    functionName: nistp256_pre_comp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: NISTP256_PRE_COMP*
    signature: 'static NISTP256_PRE_COMP *nistp256_pre_comp_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:709,1
    - Dst: smallfelem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - small1
    - in2
    argTypes:
    - longfelem
    - smallfelem
    - felem
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: felem_small_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_shrink
    - smallfelem_mul
    linkageType: ''
    returnType: void
    signature: 'static void felem_small_mul(longfelem out, const smallfelem small1,
      const felem in2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - felem
    - felem
    - limb
    constantsTouched: []
    func_position:
      end: 1210
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1210
    functionName: copy_conditional
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_conditional(felem out, const felem in, limb mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1840
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1840
    functionName: EC_GFp_nistp256_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GFp_nistp256_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1903
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1903
    functionName: ossl_ec_GFp_nistp256_group_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp256_group_init(EC_GROUP *group) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2067,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2070,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2096,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2128,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2140,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2152,1
    - Dst: point_double_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2164,1
    - Dst: make_points_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2175,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2180,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2182,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2212,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2222,1
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2211,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2219,1
    - Dst: smallfelem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2033,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2048,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2063,1
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2069,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2095,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2111,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2099,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2118,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2134,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2149,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2187,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2208,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2209,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2221,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2047,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2049,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2050,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2051,1
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2068,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2102,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2073,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2150,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2154,1
    - Dst: batch_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2202,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2207,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2223,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2215,1
    - Dst: batch_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2188,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2110,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2077,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2127,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2133,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2144,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2148,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2153,1
    - Dst: point_add_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2157,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2182,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2220,1
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2210,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2193,1
    - Dst: smallfelem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2210,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 164
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2225
    functionName: ossl_ec_GFp_nistp256_points_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_contract
    - EC_POINT_free
    - BN_CTX_start
    - BN_bn2lebinpad
    - smallfelem
    - OPENSSL_malloc
    - felem_shrink
    - smallfelem_to_BN
    - BN_CTX_end
    - OPENSSL_free
    - make_points_affine
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - point_add_small
    - batch_mul
    - BN_num_bits
    - EC_POINT_new
    - BN_CTX_get
    - ERR_raise
    - BN_to_felem
    - point_double_small
    - BN_is_negative
    - EC_POINT_cmp
    - EC_GROUP_get0_generator
    - BN_nnmod
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp256_points_mul(const EC_GROUP *group, EC_POINT
      *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM
      *scalars[], BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1915,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1921,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1923,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1922,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1920,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1926,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1927,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1928,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1929,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1929,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1934,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1938,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1936,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1930,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1929,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1941
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1941
    functionName: ossl_ec_GFp_nistp256_group_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    - BN_CTX_new
    - BN_CTX_start
    - BN_bin2bn
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp256_group_set_curve(EC_GROUP *group, const BIGNUM
      *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2245,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2270,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2275,1
    - Dst: point_double_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2286,1
    - Dst: point_double_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2291,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2316,1
    - Dst: point_add_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2319,1
    - Dst: point_add_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2339,1
    - Dst: point_add_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2346,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2365,1
    - Dst: EC_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2241,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2258,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2263,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2274,1
    - Dst: make_points_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2357,1
    - Dst: SETPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2360,1
    - Dst: EC_nistp256_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2370,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2261,1
    - Dst: nistp256_pre_comp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2265,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2276,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2278,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2280,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2279,1
    - Dst: point_double_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2300,1
    - Dst: point_add_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2325,1
    - Dst: point_add_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2331,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2368,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2252,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2250,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2251,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2262,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2271,1
    - Dst: point_double_small
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2306,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:2366,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 2372
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2372
    functionName: ossl_ec_GFp_nistp256_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - EC_nistp256_pre_comp_free
    - EC_POINT_free
    - BN_CTX_free
    - BN_CTX_start
    - nistp256_pre_comp_new
    - EC_POINT_set_affine_coordinates
    - felem_shrink
    - BN_CTX_end
    - BN_CTX_new
    - make_points_affine
    - BN_bin2bn
    - point_add_small
    - memcpy
    - EC_POINT_new
    - BN_CTX_get
    - BN_to_felem
    - point_double_small
    - EC_pre_comp_free
    - EC_POINT_cmp
    - SETPRECOMP
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp256_precompute_mult(EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - u8
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: bin32_to_felem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bin32_to_felem(felem out, const u8 in[32]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:155,1
    - Dst: bin32_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:163,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: BN_to_felem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - BN_is_negative
    - bin32_to_felem
    - ERR_raise
    - BN_bn2lebinpad
    linkageType: ''
    returnType: int
    signature: 'static int BN_to_felem(felem out, const BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:692,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:693,1
    - Dst: smallfelem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - longfelem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: felem_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - felem_shrink
    - smallfelem_mul
    linkageType: ''
    returnType: void
    signature: 'static void felem_mul(longfelem out, const felem in1, const felem
      in2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - result
    - carry
    - v
    argTypes:
    - u64*
    - u64*
    - u64
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: subtract_u64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void subtract_u64(u64 *result, u64 *carry, u64 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1192,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1193,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1197,1
    - Dst: smallfelem_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1194,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1195,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1198,1
    - Dst: felem_shrink
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c:1199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    constantsTouched: []
    func_position:
      end: 1200
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1200
    functionName: point_double_small
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp256.c
    functionUses: []
    functionsReached:
    - smallfelem_expand
    - point_double
    - felem_shrink
    linkageType: ''
    returnType: void
    signature: 'static void point_double_small(smallfelem x_out, smallfelem y_out,
      smallfelem z_out, const smallfelem x_in, const smallfelem y_in, const smallfelem
      z_in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 82
    functionName: EC_GFp_nist_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GFp_nist_method(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:99,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:104,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:104,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:102,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:106,1
    - Dst: BN_get0_nist_prime_224
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:106,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:108,1
    - Dst: BN_get0_nist_prime_256
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:108,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:110,1
    - Dst: BN_get0_nist_prime_384
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:115,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:112,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:122,1
    - Dst: BN_get0_nist_prime_521
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:112,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:119,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:123,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 125
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 125
    functionName: ossl_ec_GFp_nist_group_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c
    functionUses: []
    functionsReached:
    - BN_get0_nist_prime_256
    - BN_ucmp
    - BN_get0_nist_prime_521
    - ERR_raise
    - BN_CTX_end
    - BN_get0_nist_prime_224
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    - BN_CTX_start
    - BN_get0_nist_prime_384
    - BN_CTX_new_ex
    - BN_get0_nist_prime_192
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM
      *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:134,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:141,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:138,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:148,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: ossl_ec_GFp_nist_field_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c
    functionUses: []
    functionsReached:
    - BN_mul
    - ERR_raise
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nist_field_mul(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: ossl_ec_GFp_nist_group_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:159,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:173,1
    - Dst: BN_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:166,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c:163,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 175
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 175
    functionName: ossl_ec_GFp_nist_field_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nist.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_sqr
    - BN_CTX_new_ex
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nist_field_sqr(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:114,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:116,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: ossl_ec_GFp_simple_group_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_simple_group_finish(EC_GROUP *group) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:206,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:227,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:213,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:231,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:240,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 35
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 242
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 242
    functionName: ossl_ec_GFp_simple_group_get_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_copy
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_group_get_curve(const EC_GROUP *group, BIGNUM
      *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:625,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:672,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:661,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:712,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:739,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:745,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:726,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:759,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:766,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:781,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:775,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:628,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:635,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:640,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:642,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:643,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:645,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:646,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:647,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:644,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:659,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:718,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:755,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:782,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:792,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:728,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:768,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:690,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:793,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:624,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:626,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:674,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:683,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:694,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:696,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:702,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:704,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:735,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:742,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:748,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:757,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:777,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:627,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:641,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:666,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:668,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:681,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:709,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:710,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:713,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:761,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:779,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:773,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:785,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:688,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 125
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 795
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 795
    functionName: ossl_ec_GFp_simple_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - BN_mod_add_quick
    - BN_is_zero
    - BN_CTX_free
    - BN_zero
    - BN_mod_lshift1_quick
    - BN_CTX_start
    - BN_is_odd
    - BN_add
    - BN_CTX_end
    - BN_copy
    - BN_rshift1
    - EC_POINT_is_at_infinity
    - EC_POINT_copy
    - field_mul
    - BN_mod_sub_quick
    - BN_CTX_get
    - field_sqr
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_add(const EC_GROUP *group, EC_POINT *r, const
      EC_POINT *a, const EC_POINT *b, BN_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1173,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1184,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1183,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1182,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1177,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1188,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1193,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1200,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1201,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1203
    functionName: ossl_ec_GFp_simple_make_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - EC_POINT_get_affine_coordinates
    - BN_CTX_free
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_new_ex
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_make_affine(const EC_GROUP *group, EC_POINT
      *point, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: ossl_ec_GFp_simple_field_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_field_mul(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1506,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1529,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1514,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1527,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1511,1
    - Dst: BN_mod_lshift_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1516,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1523,1
    - Dst: BN_mod_lshift_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1509,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1512,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1521,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1547
    functionName: ossl_ec_GFp_simple_ladder_pre
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_mod_sub_quick
    - BN_mod_lshift_quick
    - BN_priv_rand_range_ex
    - BN_mod_add_quick
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_ladder_pre(const EC_GROUP *group, EC_POINT
      *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:121,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:122,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: ossl_ec_GFp_simple_group_clear_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_simple_group_clear_finish(EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: ossl_ec_GFp_simple_group_get_degree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_group_get_degree(const EC_GROUP *group) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:819,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:825,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:852,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:844,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:858,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:871,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:877,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:886,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:907,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:911,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:809,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:860,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:879,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:892,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:898,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:900,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:909,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:916,1
    - Dst: BN_mod_lshift_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:918,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:923,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:824,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:826,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:827,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:828,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:840,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:854,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:846,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:856,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:867,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:873,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:935,1
    - Dst: BN_mod_lshift_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:902,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:808,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:842,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:850,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:869,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:875,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:934,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:889,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:925,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:927,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 95
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 937
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 937
    functionName: ossl_ec_GFp_simple_dbl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_mod_sub_quick
    - BN_mod_lshift_quick
    - BN_CTX_get
    - BN_CTX_end
    - BN_mod_add_quick
    - BN_copy
    - BN_CTX_free
    - BN_zero
    - field_sqr
    - BN_CTX_start
    - BN_mod_lshift1_quick
    - field_mul
    - BN_CTX_new_ex
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_dbl(const EC_GROUP *group, EC_POINT *r, const
      EC_POINT *a, BN_CTX *ctx) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1233,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1243,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1257,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1352,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1223,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1225,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1244,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1263,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1229,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1315,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1341,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1357,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1359,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1218,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1224,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1251,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1274,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1294,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1308,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1313,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1324,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1351,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 113
    argCount: 4
    argNames:
    - group
    - num
    - points
    - ctx
    argTypes:
    - EC_GROUP*
    - size_t
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1362
    functionName: ossl_ec_GFp_simple_points_make_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_is_zero
    - BN_copy
    - OPENSSL_free
    - BN_new
    - BN_CTX_new_ex
    - BN_CTX_free
    - BN_CTX_start
    - BN_clear_free
    - BN_one
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_points_make_affine(const EC_GROUP *group, size_t
      num, EC_POINT *points[], BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1374
    functionName: ossl_ec_GFp_simple_field_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_mod_sqr
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_field_sqr(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:128,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:130,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: ossl_ec_GFp_simple_group_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_group_copy(EC_GROUP *dest, const EC_GROUP *src) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:260,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:279,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:298,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:265,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:293,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:281,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:302,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:290,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:296,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:291,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:317,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:266,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:264,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:267,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:268,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:269,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:294,1
    - Dst: BN_mul_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:304,1
    - Dst: BN_mod_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:308,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:310,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:316,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 53
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 319
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 319
    functionName: ossl_ec_GFp_simple_group_check_discriminant
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_mul_word
    - BN_CTX_end
    - BN_is_zero
    - BN_copy
    - BN_CTX_free
    - BN_mod_mul
    - BN_CTX_start
    - BN_mod_sqr
    - BN_mod_add
    - BN_CTX_new_ex
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_group_check_discriminant(const EC_GROUP *group,
      BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:339,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:340,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: ossl_ec_GFp_simple_point_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_simple_point_finish(EC_POINT *point) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:354,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:356,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 364
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 364
    functionName: ossl_ec_GFp_simple_point_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_point_copy(EC_POINT *dest, const EC_POINT *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:492,1
    - Dst: EC_POINT_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:496,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: ossl_ec_GFp_simple_point_set_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    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, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:149,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:160,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:155,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:150,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:149,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:161,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:166,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:168,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:171,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:176,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:180,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:189,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:194,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:187,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:195,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 40
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 197
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 197
    functionName: ossl_ec_GFp_simple_group_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_add_word
    - BN_set_negative
    - BN_copy
    - BN_num_bits
    - BN_CTX_free
    - BN_CTX_start
    - BN_nnmod
    - BN_is_odd
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_group_set_curve(EC_GROUP *group, const BIGNUM
      *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:323,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:329,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:325,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:324,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:330,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: ossl_ec_GFp_simple_point_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_point_init(EC_POINT *point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:346,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:348,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: ossl_ec_GFp_simple_point_clear_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_simple_point_clear_finish(EC_POINT *point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: ossl_ec_GFp_simple_point_set_to_infinity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_zero
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_point_set_to_infinity(const EC_GROUP *group,
      EC_POINT *point) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:539,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:561,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:607,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:521,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:523,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:524,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:525,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:555,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:570,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:510,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:522,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:516,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:511,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:591,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:608,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 76
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 610
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 610
    functionName: ossl_ec_GFp_simple_point_get_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_copy
    - BN_CTX_free
    - BN_is_one
    - BN_mod_mul
    - BN_CTX_start
    - BN_mod_sqr
    - BN_CTX_new_ex
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP
      *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1436,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1440,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1437,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1438,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1450,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1451,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1452,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1457,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1473,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 3
    argNames:
    - group
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1475
    functionName: ossl_ec_GFp_simple_blind_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - ERR_pop_to_mark
    - BN_CTX_end
    - BN_priv_rand_range_ex
    - BN_is_zero
    - ERR_set_mark
    - BN_CTX_start
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_blind_coordinates(const EC_GROUP *group, EC_POINT
      *p, BN_CTX *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:385,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:391,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:400,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:411,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:413,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:430,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 39
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 432
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 432
    functionName: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_nnmod
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_is_one
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp(const EC_GROUP
      *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z,
      BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:942,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:942,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 947
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 947
    functionName: ossl_ec_GFp_simple_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_usub
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_invert(const EC_GROUP *group, EC_POINT *point,
      BN_CTX *ctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:966,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:980,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1022,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1020,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1037,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1039,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1042,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1050,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:981,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:974,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:979,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:982,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:983,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:998,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1024,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1029,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1015,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1031,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1054,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1002,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1004,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1011,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1013,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1006,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1017,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1053,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1047,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 65
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1056
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1056
    functionName: ossl_ec_GFp_simple_is_on_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_mod_sub_quick
    - BN_CTX_get
    - BN_CTX_end
    - BN_ucmp
    - BN_mod_add_quick
    - BN_CTX_free
    - field_sqr
    - BN_mod_lshift1_quick
    - BN_CTX_start
    - field_mul
    - BN_CTX_new_ex
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_is_on_curve(const EC_GROUP *group, const EC_POINT
      *point, BN_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1390,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1393,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1394,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1400,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1398,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1406,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1407,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1417,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1418,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1420
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1420
    functionName: ossl_ec_GFp_simple_field_inv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_priv_rand_range_ex
    - BN_is_zero
    - BN_CTX_free
    - BN_mod_inverse
    - BN_CTX_start
    - BN_CTX_secure_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_field_inv(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:444,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:463,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:467,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:471,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:479,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 36
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 481
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 481
    functionName: ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_copy
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp(const EC_GROUP
      *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 953
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 953
    functionName: ossl_ec_GFp_simple_is_at_infinity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_is_at_infinity(const EC_GROUP *group, const
      EC_POINT *point) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1077,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1143,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1145,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1152,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1162,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1080,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1084,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1161,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1076,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1084,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1097,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1120,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1135,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1122,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1137,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1091,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1096,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1098,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1099,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1114,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1112,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1129,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1100,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 71
    argCount: 4
    argNames:
    - group
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1164
    functionName: ossl_ec_GFp_simple_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_free
    - field_sqr
    - BN_CTX_start
    - field_mul
    - BN_CTX_new_ex
    - EC_POINT_is_at_infinity
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_cmp(const EC_GROUP *group, const EC_POINT *a,
      const EC_POINT *b, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:99,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:104,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:101,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:103,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:100,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: ossl_ec_GFp_simple_group_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_group_init(EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 81
    functionName: EC_GFp_simple_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GFp_simple_method(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1569,1
    - Dst: BN_mod_lshift_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1588,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1597,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1610,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1611,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1615,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1623,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1603,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1571,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1570,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1590,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1591,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1604,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1573,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1572,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1574,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1575,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1576,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1585,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1584,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1617,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1595,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1601,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1605,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 124
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1625
    functionName: ossl_ec_GFp_simple_ladder_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_mod_lshift_quick
    - BN_mod_sub_quick
    - BN_CTX_get
    - BN_CTX_end
    - BN_mod_add_quick
    - BN_mod_lshift1_quick
    - BN_CTX_start
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_ladder_step(const EC_GROUP *group, EC_POINT
      *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1657,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1658,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1667,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1669,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1670,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1671,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1672,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1673,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1674,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1693,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1662,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1660,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1687,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1720,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1661,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1668,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1681,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1696,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1677,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1690,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1692,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c:1712,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 121
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1722
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1722
    functionName: ossl_ec_GFp_simple_ladder_post
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_smpl.c
    functionUses: []
    functionsReached:
    - BN_mod_sub_quick
    - BN_CTX_get
    - EC_POINT_invert
    - BN_CTX_end
    - EC_POINT_set_to_infinity
    - BN_mod_add_quick
    - BN_is_zero
    - EC_POINT_copy
    - BN_mod_lshift1_quick
    - BN_CTX_start
    - BN_one
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_ladder_post(const EC_GROUP *group, EC_POINT
      *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_do_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dgst
    - dlen
    - eckey
    argTypes:
    - unsigned char*
    - int
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ECDSA_do_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ECDSA_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c
    functionUses: []
    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: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c:55,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: ECDSA_sign_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp,
      BIGNUM **rp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 8
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - kinv
    - r
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: ECDSA_sign_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ECDSA_sign_ex(int type, const unsigned char *dgst, int dlen, unsigned
      char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY
      *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c:30,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - dgst
    - dlen
    - kinv
    - rp
    - eckey
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: ECDSA_do_sign_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ECDSA_SIG*
    signature: 'ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dlen, const
      BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pre
    argTypes:
    - EC_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: EC_ec_pre_comp_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: EC_PRE_COMP*
    signature: 'EC_PRE_COMP *EC_ec_pre_comp_dup(EC_PRE_COMP *pre) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:868,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:883,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:925,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:943,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:950,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:973,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:975,1
    - Dst: EC_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:844,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:850,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:848,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:872,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:909,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:915,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:922,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:947,1
    - Dst: SETPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:967,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:856,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:861,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:864,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:867,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:881,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:910,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:896,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:903,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:911,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:932,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:986,1
    - Dst: ec_pre_comp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:845,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:894,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:904,1
    - Dst: EC_ec_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:977,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:982,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:983,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:985,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 119
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 988
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 988
    functionName: ossl_ec_wNAF_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_free
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - BN_CTX_start
    - EC_POINT_add
    - OPENSSL_malloc
    - ec_pre_comp_new
    - BN_CTX_end
    - OPENSSL_free
    - BN_CTX_new
    - EC_ec_pre_comp_free
    - BN_num_bits
    - EC_POINT_new
    - EC_POINT_copy
    - ERR_raise
    - EC_pre_comp_free
    - EC_window_bits_for_scalar_size
    - EC_GROUP_get0_generator
    - SETPRECOMP
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_wNAF_precompute_mult(EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:70,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:68,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: ec_pre_comp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EC_PRE_COMP*
    signature: 'static EC_PRE_COMP *ec_pre_comp_new(const EC_GROUP *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:92,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:96,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:93,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:102,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:103,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:105,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - pre
    argTypes:
    - EC_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: EC_ec_pre_comp_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void EC_ec_pre_comp_free(EC_PRE_COMP *pre) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: ossl_ec_wNAF_have_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c
    functionUses: []
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_wNAF_have_precompute_mult(const EC_GROUP *group) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:161,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:184,1
    - Dst: EC_POINT_BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:191,1
    - Dst: EC_POINT_BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:189,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:201,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:221,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:243,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:256,1
    - Dst: EC_POINT_CSWAP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:353,1
    - Dst: EC_POINT_CSWAP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:367,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:261,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:254,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:381,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:173,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:194,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:193,1
    - Dst: EC_POINT_BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:190,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:178,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:197,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:225,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:232,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:251,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:260,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:271,1
    - Dst: ec_point_ladder_post
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:371,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:379,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:252,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:157,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:171,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:172,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:202,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:213,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:220,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:227,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:244,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:259,1
    - Dst: ec_point_ladder_pre
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:276,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:352,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:357,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:372,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:264,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:255,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:263,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:239,1
    - Dst: ec_point_ladder_step
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:356,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:179,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:212,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:214,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:216,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:227,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:233,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:238,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:277,1
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:380,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:262,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:257,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 153
    argCount: 5
    argNames:
    - group
    - r
    - scalar
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 384
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 384
    functionName: ossl_ec_scalar_mul_ladder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - BN_is_zero
    - BN_is_bit_set
    - BN_CTX_start
    - bn_get_top
    - BN_add
    - BN_CTX_end
    - ec_point_ladder_step
    - BN_copy
    - BN_consttime_swap
    - EC_POINT_is_at_infinity
    - EC_POINT_set_to_infinity
    - BN_num_bits
    - EC_POINT_new
    - EC_POINT_copy
    - EC_POINT_CSWAP
    - ec_point_ladder_pre
    - ec_point_ladder_post
    - BN_CTX_get
    - ERR_raise
    - EC_POINT_BN_set_flags
    - bn_wexpand
    - BN_is_negative
    - BN_mul
    - EC_POINT_clear_free
    - BN_set_flags
    - BN_nnmod
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_scalar_mul_ladder(const EC_GROUP *group, EC_POINT *r,
      const BIGNUM *scalar, const EC_POINT *point, BN_CTX *ctx) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:470,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:513,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:523,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:535,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:516,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:535,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:664,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:674,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:681,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:697,1
    - Dst: ossl_ec_point_blind_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:760,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:805,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:644,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:777,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:797,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:468,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:486,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:498,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:512,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:553,1
    - Dst: bn_compute_wNAF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:540,1
    - Dst: bn_compute_wNAF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:570,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:606,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:621,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:633,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:645,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:761,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:789,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:685,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:767,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:437,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:452,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:462,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:478,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:515,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:562,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:605,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:620,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:636,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:639,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:795,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:662,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:740,1
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:801,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:437,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:536,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:635,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:652,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:700,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:705,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:708,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:723,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:749,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:790,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:781,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:788,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c:803,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 292
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 807
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 807
    functionName: ossl_ec_wNAF_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_mult.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_invert
    - EC_POINT_free
    - BN_is_zero
    - ossl_ec_scalar_mul_ladder
    - EC_POINT_add
    - OPENSSL_malloc
    - bn_compute_wNAF
    - OPENSSL_free
    - ossl_ec_point_blind_coordinates
    - EC_POINT_set_to_infinity
    - memcpy
    - BN_num_bits
    - EC_POINT_new
    - EC_POINT_copy
    - ERR_raise
    - EC_POINT_cmp
    - EC_window_bits_for_scalar_size
    - EC_GROUP_get0_generator
    - EC_POINT_clear_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM
      *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX
      *ctx) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:38,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:40,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:109,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:115,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:120,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:122,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:142,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:154,1
    - Dst: BN_mod_sub_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:74,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:88,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:72,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:80,1
    - Dst: BN_mod_sqrt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:104,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:110,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:123,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:139,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:147,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:41,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:39,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:42,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:53,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:70,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:96,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:99,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:106,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:116,1
    - Dst: BN_kronecker
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:126,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:31,1
    - Dst: BN_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:62,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:64,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:136,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:143,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 97
    argCount: 5
    argNames:
    - group
    - point
    - x_
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 156
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 156
    functionName: ossl_ec_GFp_simple_set_compressed_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - BN_mod_add_quick
    - BN_is_zero
    - BN_CTX_free
    - BN_usub
    - ERR_set_mark
    - BN_mod_lshift1_quick
    - BN_CTX_start
    - BN_is_odd
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_mod_sqr
    - BN_mod_sqrt
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - BN_mod_sub_quick
    - BN_CTX_get
    - ERR_pop_to_mark
    - ERR_raise
    - ERR_GET_LIB
    - BN_kronecker
    - BN_mod_mul
    - BN_nnmod
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *group,
      EC_POINT *point, const BIGNUM *x_, int y_bit, BN_CTX *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:213,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:256,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:262,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:268,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:188,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:175,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:201,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:251,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:217,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:226,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:224,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:263,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:179,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:209,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:236,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:244,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:206,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:208,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 93
    argCount: 6
    argNames:
    - group
    - point
    - form
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 271
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 271
    functionName: ossl_ec_GFp_simple_point2oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_num_bytes
    - EC_POINT_get_affine_coordinates
    - BN_CTX_free
    - BN_bn2bin
    - BN_CTX_start
    - BN_is_odd
    - BN_CTX_new_ex
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_ec_GFp_simple_point2oct(const EC_GROUP *group, const EC_POINT
      *point, point_conversion_form_t form, unsigned char *buf, size_t len, BN_CTX
      *ctx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:317,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:344,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:368,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:298,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:304,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:322,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:327,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:336,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:346,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:329,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:352,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:369,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:308,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:341,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:351,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:285,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:328,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:347,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:333,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:335,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c:361,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 5
    argNames:
    - group
    - point
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - unsigned char*
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 371
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 371
    functionName: ossl_ec_GFp_simple_oct2point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_oct.c
    functionUses: []
    functionsReached:
    - EC_POINT_set_compressed_coordinates
    - BN_CTX_get
    - ERR_raise
    - BN_ucmp
    - BN_CTX_end
    - BN_num_bytes
    - EC_POINT_set_to_infinity
    - BN_CTX_free
    - BN_CTX_start
    - BN_bin2bn
    - BN_is_odd
    - BN_CTX_new_ex
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_simple_oct2point(const EC_GROUP *group, EC_POINT *point,
      const unsigned char *buf, size_t len, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: ec_param_encoding_id2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'static char *ec_param_encoding_id2name(int id) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:416,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:423,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:464,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:492,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:411,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:465,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:468,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:472,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:493,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:414,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:416,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:421,1
    - Dst: EC_KEY_set_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:485,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:476,1
    - Dst: EC_KEY_set_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:481,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:494,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:406,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:424,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:470,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:491,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:474,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 54
    argCount: 3
    argNames:
    - ec
    - params
    - include_private
    argTypes:
    - EC_KEY*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 496
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 496
    functionName: ossl_ec_key_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_free
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - bn_get_top
    - BN_secure_new
    - EC_KEY_set_public_key
    - OPENSSL_free
    - BN_clear_free
    - EC_POINT_oct2point
    - EC_POINT_new
    - EC_KEY_set_private_key
    - OSSL_PARAM_get_octet_string
    - ossl_ec_key_get_libctx
    - bn_wexpand
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_BN
    - BN_set_flags
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_fromdata(EC_KEY *ec, const OSSL_PARAM params[], int
      include_private) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:589,1
    - Dst: EC_KEY_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ec
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: ossl_ec_key_is_foreign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - EC_KEY_get_method
    - EC_KEY_OpenSSL
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_is_foreign(const EC_KEY *ec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:695,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - OSSL_PARAM*
    - int*
    constantsTouched: []
    func_position:
      end: 707
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 707
    functionName: ossl_ec_encoding_param2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - ossl_ec_encoding_name2id
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_encoding_param2id(const OSSL_PARAM *p, int *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: ossl_ec_check_group_type_id2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'char *ossl_ec_check_group_type_id2name(int id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:506,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:513,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:506,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:509,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 515
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 515
    functionName: ossl_ec_group_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - EC_KEY_set_group
    - ossl_ec_key_get_libctx
    - EC_GROUP_new_from_params
    - EC_GROUP_free
    - ossl_ec_key_get0_propq
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_group_fromdata(EC_KEY *ec, const OSSL_PARAM params[]) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:601,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:612,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:620,1
    - Dst: ossl_ec_key_new_method_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:605,1
    - Dst: EC_GROUP_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:615,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:634,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:636,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:646,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:647,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:679,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:664,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 74
    argCount: 2
    argNames:
    - src
    - selection
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 681
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 681
    functionName: ossl_ec_key_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_copy
    - ENGINE_init
    - ossl_ec_key_new_method_int
    - BN_new
    - EC_POINT_new
    - EC_POINT_copy
    - EC_GROUP_copy
    - ossl_ec_group_new_ex
    - EC_KEY_free
    - 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/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:721,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:725,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - OSSL_PARAM*
    - int*
    constantsTouched: []
    func_position:
      end: 733
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 733
    functionName: ossl_ec_pt_format_param2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - ossl_ec_pt_format_name2id
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_pt_format_param2id(const OSSL_PARAM *p, int *id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:360,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:376,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:372,1
    - Dst: EC_KEY_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:380,1
    - Dst: EC_KEY_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - ec
    - mode
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 385
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 385
    functionName: ossl_ec_set_ecdh_cofactor_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - BN_is_one
    - EC_GROUP_get0_cofactor
    - EC_KEY_set_flags
    - EC_KEY_clear_flags
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_set_ecdh_cofactor_mode(EC_KEY *ec, int mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:92,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: ec_check_group_type_name2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int ec_check_group_type_name2id(const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:121,1
    - Dst: ossl_ec_set_check_group_type_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - ec
    - p
    argTypes:
    - EC_KEY*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: ec_set_check_group_type_from_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - ossl_ec_set_check_group_type_from_name
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: int
    signature: 'static int ec_set_check_group_type_from_param(EC_KEY *ec, const OSSL_PARAM
      *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:522,1
    - Dst: ECerr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:525,1
    - Dst: ossl_ec_pt_format_param2id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:524,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: ec_key_point_format_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - EC_KEY_set_conv_form
    - OSSL_PARAM_locate_const
    - ECerr
    - ossl_ec_pt_format_param2id
    linkageType: ''
    returnType: int
    signature: 'static int ec_key_point_format_fromdata(EC_KEY *ec, const OSSL_PARAM
      params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:741,1
    - Dst: d2i_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:753,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:756,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:758,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:744,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - palg
    argTypes:
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 763
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 763
    functionName: ossl_x509_algor_is_sm2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - EC_GROUP_get_curve_name
    - EC_GROUP_free
    - X509_ALGOR_get0
    - d2i_ECPKParameters
    linkageType: ''
    returnType: int
    signature: 'int ossl_x509_algor_is_sm2(const X509_ALGOR *palg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_check_group_type_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:101,1
    - Dst: EC_KEY_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:105,1
    - Dst: EC_KEY_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ec
    - name
    argTypes:
    - EC_KEY*
    - char*
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: ossl_ec_set_check_group_type_from_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:137,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: ossl_ec_pt_format_name2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_pt_format_name2id(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:537,1
    - Dst: ec_set_check_group_type_from_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 541
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 541
    functionName: ec_key_group_check_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - ec_set_check_group_type_from_param
    linkageType: ''
    returnType: int
    signature: 'static int ec_key_group_check_fromdata(EC_KEY *ec, const OSSL_PARAM
      params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:773,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:786,1
    - Dst: EC_KEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:774,1
    - Dst: d2i_ECParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:785,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:775,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:796,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:796,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:799,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:800,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:802,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:804,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:811,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:812,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 27
    argCount: 3
    argNames:
    - palg
    - libctx
    - propq
    argTypes:
    - X509_ALGOR*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 814
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 814
    functionName: ossl_ec_key_param_from_x509_algor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - d2i_ECParameters
    - ERR_raise
    - EC_KEY_set_group
    - EC_KEY_new_ex
    - OBJ_obj2nid
    - EC_GROUP_free
    - X509_ALGOR_get0
    - EC_GROUP_set_asn1_flag
    - EC_KEY_free
    - EC_GROUP_new_by_curve_name_ex
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *ossl_ec_key_param_from_x509_algor(const X509_ALGOR *palg,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: ossl_ec_pt_format_id2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'char *ossl_ec_pt_format_id2name(int id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:297,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:304,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:307,1
    - Dst: ossl_ec_pt_format_id2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:302,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:301,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:310,1
    - Dst: ec_param_encoding_id2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:311,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:313,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:316,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:320,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:325,1
    - Dst: OSSL_EC_curve_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:338,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:341,1
    - Dst: ec_group_explicit_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:344,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    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**
    constantsTouched: []
    func_position:
      end: 351
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 351
    functionName: ossl_ec_group_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_param_build_set_utf8_string
    - EC_GROUP_get_curve_name
    - OSSL_EC_curve_nid2name
    - ec_param_encoding_id2name
    - ossl_ec_pt_format_id2name
    - EC_GROUP_get_asn1_flag
    - ec_group_explicit_todata
    - ossl_param_build_set_int
    - EC_GROUP_get_point_conversion_form
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_group_todata(const EC_GROUP *group, OSSL_PARAM_BLD *tmpl,
      OSSL_PARAM params[], OSSL_LIB_CTX *libctx, const char *propq, BN_CTX *bnctx,
      unsigned char **genbuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:545,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ec
    - include
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 553
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 553
    functionName: ec_set_include_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - EC_KEY_set_enc_flags
    - EC_KEY_get_enc_flags
    linkageType: ''
    returnType: int
    signature: 'static int ec_set_include_public(EC_KEY *ec, int include) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:55,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: ossl_ec_encoding_name2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_encoding_name2id(const char *name) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:166,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:183,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:189,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:218,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:233,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:251,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:263,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:268,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:192,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:240,1
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:243,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:245,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:278,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:271,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:182,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:184,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:197,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:208,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:201,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:216,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:223,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:236,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:237,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:187,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:210,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:213,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:202,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:225,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:258,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:261,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:270,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:275,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 120
    argCount: 5
    argNames:
    - group
    - tmpl
    - params
    - bnctx
    - genbuf
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    - BN_CTX*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 285
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 285
    functionName: ec_group_explicit_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - EC_GROUP_get_seed_len
    - EC_POINT_point2buf
    - ossl_param_build_set_utf8_string
    - EC_GROUP_get0_seed
    - EC_GROUP_get0_order
    - EC_GROUP_get_field_type
    - ossl_param_build_set_octet_string
    - OSSL_PARAM_locate_const
    - EC_GROUP_get0_cofactor
    - ossl_param_build_set_bn
    - EC_GROUP_get0_generator
    - EC_GROUP_get_curve
    - EC_GROUP_get_point_conversion_form
    linkageType: ''
    returnType: int
    signature: 'static int ec_group_explicit_todata(const EC_GROUP *group, OSSL_PARAM_BLD
      *tmpl, OSSL_PARAM params[], BN_CTX *bnctx, unsigned char **genbuf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:562,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:575,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:566,1
    - Dst: ossl_ec_set_ecdh_cofactor_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:567,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:571,1
    - Dst: ec_set_include_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:576,1
    - Dst: ec_key_point_format_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:579,1
    - Dst: ec_key_group_check_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:581,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 584
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 584
    functionName: ossl_ec_key_otherparams_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - ossl_ec_set_ecdh_cofactor_mode
    - ec_key_point_format_fromdata
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - ec_key_group_check_fromdata
    - ec_set_include_public
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_key_otherparams_fromdata(EC_KEY *ec, const OSSL_PARAM
      params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:824,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:832,1
    - Dst: ossl_ec_key_param_from_x509_algor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:826,1
    - Dst: d2i_ECPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:831,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c:838,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 840
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 840
    functionName: ossl_ec_key_from_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_backend.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS8_pkey_get0
    - ossl_ec_key_param_from_x509_algor
    - EC_KEY_free
    - d2i_ECPrivateKey
    linkageType: ''
    returnType: EC_KEY*
    signature: 'EC_KEY *ossl_ec_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ossl_ec_GFp_mont_group_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:103,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:105,1
    - Dst: ossl_ec_GFp_simple_group_clear_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: ossl_ec_GFp_mont_group_clear_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - ossl_ec_GFp_simple_group_clear_finish
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_mont_group_clear_finish(EC_GROUP *group) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:150,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:161,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:156,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:164,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:152,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:165,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:168,1
    - Dst: BN_to_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:171,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:171,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:179,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:184,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:189,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:190,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:191,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 193
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 193
    functionName: ossl_ec_GFp_mont_group_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_MONT_CTX_free
    - BN_value_one
    - BN_new
    - BN_CTX_free
    - BN_MONT_CTX_set
    - ossl_ec_GFp_simple_group_set_curve
    - BN_MONT_CTX_new
    - BN_free
    - BN_to_montgomery
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_group_set_curve(EC_GROUP *group, const BIGNUM
      *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:233,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:243,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:236,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:237,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:241,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:249,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:253,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:254,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:261,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:262,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 24
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 264
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 264
    functionName: ossl_ec_GFp_mont_field_inv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_mod_exp_mont
    - ERR_raise
    - BN_CTX_end
    - BN_is_zero
    - BN_CTX_free
    - BN_set_word
    - BN_CTX_start
    - BN_CTX_secure_new_ex
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_field_inv(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:270,1
    - Dst: BN_to_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: ossl_ec_GFp_mont_field_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - BN_to_montgomery
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_field_encode(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 80
    functionName: EC_GFp_mont_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GFp_mont_method(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:112,1
    - Dst: ossl_ec_GFp_simple_group_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:117,1
    - Dst: BN_MONT_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:124,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:121,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:114,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:128,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: ossl_ec_GFp_mont_group_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_simple_group_copy
    - BN_MONT_CTX_free
    - BN_MONT_CTX_new
    - BN_dup
    - BN_clear_free
    - BN_MONT_CTX_copy
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_group_copy(EC_GROUP *dest, const EC_GROUP *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:94,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:96,1
    - Dst: ossl_ec_GFp_simple_group_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: ossl_ec_GFp_mont_group_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_simple_group_finish
    - BN_free
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_mont_group_finish(EC_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:199,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: ossl_ec_GFp_mont_field_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_mod_mul_montgomery
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_field_mul(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:281,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: ossl_ec_GFp_mont_field_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - BN_from_montgomery
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_field_decode(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:292,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - group
    - r
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: ossl_ec_GFp_mont_field_set_to_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - BN_copy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_field_set_to_one(const EC_GROUP *group, BIGNUM
      *r, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:210,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: ossl_ec_GFp_mont_field_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_mont.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_mod_mul_montgomery
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_mont_field_sqr(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:16,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:46,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:52,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 4
    argNames:
    - libctx
    - type
    - haspubkey
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - ECX_KEY_TYPE
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 54
    functionName: ossl_ecx_key_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: ECX_KEY*
    signature: 'ECX_KEY *ossl_ecx_key_new(OSSL_LIB_CTX *libctx, ECX_KEY_TYPE type,
      int haspubkey, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - libctx
    argTypes:
    - ECX_KEY*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: ossl_ecx_key_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:84,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:88,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: ossl_ecx_key_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: ossl_ecx_key_allocate_privkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_zalloc
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *ossl_ecx_key_allocate_privkey(ECX_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:63,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:69,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:67,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:70,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:64,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:71,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: ossl_ecx_key_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_key.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - OPENSSL_secure_clear_free
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void ossl_ecx_key_free(ECX_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:24,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:31,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:43,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:29,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - group
    - point
    - form
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: EC_POINT_point2hex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - EC_POINT_point2buf
    linkageType: ''
    returnType: char*
    signature: 'char *EC_POINT_point2hex(const EC_GROUP *group, const EC_POINT *point,
      point_conversion_form_t form, BN_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:60,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:73,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:68,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:67,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:72,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:77,1
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c:80,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 4
    argNames:
    - group
    - hex
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - char*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 84
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 84
    functionName: EC_POINT_hex2point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_print.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexstr2buf_ex
    - EC_POINT_new
    - EC_POINT_clear_free
    - OPENSSL_clear_free
    - EC_POINT_oct2point
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: EC_POINT*
    signature: 'EC_POINT *EC_POINT_hex2point(const EC_GROUP *group, const char *hex,
      EC_POINT *point, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:25,1
    - Dst: EC_curve_nid2nist
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:38,1
    - Dst: ossl_ec_curve_nid_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:37,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:32,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:41,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - group
    - nist_only
    - ctx
    argTypes:
    - EC_GROUP*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: EC_GROUP_check_named_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_CTX_free
    - ossl_ec_curve_nid_from_params
    - EC_curve_nid2nist
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_check_named_curve(const EC_GROUP *group, int nist_only,
      BN_CTX *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:71,1
    - Dst: EC_GROUP_check_discriminant
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:77,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:60,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:84,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:88,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:99,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:105,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:113,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:106,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:114,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:98,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c:103,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 117
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 117
    functionName: EC_GROUP_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_check.c
    functionUses: []
    functionsReached:
    - EC_GROUP_check_discriminant
    - ERR_raise
    - EC_POINT_free
    - EC_GROUP_check_named_curve
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - EC_POINT_new
    - EC_POINT_mul
    - EC_POINT_is_on_curve
    - BN_CTX_new
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3130
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3130
    functionName: ec_curve_nid2curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ec_list_element*
    signature: 'static const ec_list_element *ec_curve_nid2curve(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - r
    - nitems
    argTypes:
    - EC_builtin_curve*
    - size_t
    constantsTouched: []
    func_position:
      end: 3321
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3321
    functionName: EC_get_builtin_curves
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_curve_nid2curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3285,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3288,1
    - Dst: ec_group_new_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3286,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3289,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - libctx
    - propq
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3297
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3297
    functionName: EC_GROUP_new_by_curve_name_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    functionsReached:
    - ec_curve_nid2curve
    - ERR_raise
    - OBJ_nid2sn
    - ERR_raise_data
    - ec_group_new_from_data
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new_by_curve_name_ex(OSSL_LIB_CTX *libctx, const
      char *propq, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_curve_nist2nid_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3331
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3331
    functionName: EC_curve_nist2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    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_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3356,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3359,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3358,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3357,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3370,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3389,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3390,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3403,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3420,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3436,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3361,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3375,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3381,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3437,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3421,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3355,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3369,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3392,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3427,1
    - Dst: EC_GROUP_get_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3394,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3425,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 81
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 3439
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3439
    functionName: ossl_ec_curve_nid_from_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - memcmp
    - BN_is_zero
    - EC_GROUP_get_curve_name
    - BN_is_word
    - BN_CTX_start
    - OPENSSL_malloc
    - BN_CTX_end
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - EC_GROUP_get_field_type
    - BN_bn2binpad
    - BN_CTX_get
    - EC_GROUP_get0_seed
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get0_generator
    - EC_GROUP_get_seed_len
    - EC_GROUP_get_order
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_curve_nid_from_params(const EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3163,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3152,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3174,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3202,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3210,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3221,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3240,1
    - Dst: OBJ_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3246,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3271,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3270,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3227,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3268,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3272,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3164,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3216,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3274,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3275,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3188,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3196,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3178,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3201,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3206,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3211,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3243,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3153,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3194,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3207,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3220,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3247,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3273,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3269,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3265,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 127
    argCount: 3
    argNames:
    - libctx
    - propq
    - curve
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ec_list_element
    constantsTouched: []
    func_position:
      end: 3277
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3277
    functionName: ec_group_new_from_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - OBJ_length
    - ASN1_OBJECT_free
    - BN_CTX_free
    - EC_GROUP_set_curve_name
    - BN_set_word
    - EC_POINT_set_affine_coordinates
    - OBJ_nid2obj
    - BN_bin2bn
    - EC_GROUP_get_asn1_flag
    - ossl_ec_group_new_ex
    - EC_GROUP_new_curve_GFp
    - EC_POINT_new
    - EC_GROUP_free
    - EC_GROUP_set_generator
    - EC_GROUP_set_asn1_flag
    - ERR_raise
    - BN_free
    - EC_GROUP_new_curve_GF2m
    - BN_CTX_new_ex
    - EC_GROUP_set_seed
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'static EC_GROUP *ec_group_new_from_data(OSSL_LIB_CTX *libctx, const
      char *propq, const ec_list_element curve) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_curve_nid2nist_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3326
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3326
    functionName: EC_curve_nid2nist
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    functionsReached:
    - ossl_ec_curve_nid2nist_int
    linkageType: ''
    returnType: char*
    signature: 'const char *EC_curve_nid2nist(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c:3302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3303
      start: 3300
    functionDepth: 0
    functionLinenumber: 3300
    functionLinenumberEnd: 3303
    functionName: EC_GROUP_new_by_curve_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_curve.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name_ex
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new_by_curve_name(int nid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:86,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:86,1
    - Dst: felem_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:88,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:93,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:93,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:91,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:108,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:110,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:110,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:112,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:134,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: Y
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:127,1
    - Dst: felem_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:128,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:86,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:85,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:90,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:93,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:100,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:110,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:117,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:117,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:134,1
    - Dst: Y
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:126,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:88,1
    - Dst: felem_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:100,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:91,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:100,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:108,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:112,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:117,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:117,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:122,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:127,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:134,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:85,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:90,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:91,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:91,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:108,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:108,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:122,1
    - Dst: tmp_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:122,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: Y
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:126,1
    - Dst: Z
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:128,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:126,1
    - Dst: Y
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c:127,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 81
    argCount: 11
    argNames:
    - num
    - point_array
    - felem_size
    - tmp_felems
    - (*felem_one)
    - (*felem_is_zero)
    - (*felem_assign)
    - (*felem_square)
    - (*felem_mul)
    - (*felem_inv)
    - (*felem_contract)
    argTypes:
    - size_t
    - void*
    - size_t
    - void*
    - void
    - int
    - void
    - void
    - void
    - void
    - void
    constantsTouched: []
    func_position:
      end: 137
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 137
    functionName: ossl_ec_GFp_nistp_points_make_affine_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c
    functionUses: []
    functionsReached:
    - tmp_felem
    - felem_contract
    - Z
    - X
    - felem_assign
    - felem_one
    - Y
    - felem_inv
    - felem_mul
    - felem_is_zero
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_nistp_points_make_affine_internal(size_t num, void
      *point_array, size_t felem_size, void *tmp_felems, void (*felem_one) (void *out),
      int (*felem_is_zero) (const void *in), void (*felem_assign) (void *out, const
      void *in), void (*felem_square) (void *out, const void *in), void (*felem_mul)
      (void *out, const void *in1, const void *in2), void (*felem_inv) (void *out,
      const void *in), void (*felem_contract) (void *out, const void *in)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - sign
    - digit
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 225
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 225
    functionName: ossl_ec_GFp_nistp_recode_scalar_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistputil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GFp_nistp_recode_scalar_bits(unsigned char *sign, unsigned
      char *digit, unsigned char in) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:36,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:42,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:46,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:40,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:46,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:47,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:48,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: ecx_pub_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OBJ_nid2obj
    - OPENSSL_memdup
    - X509_PUBKEY_set0_param
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: 'static int ecx_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS25519
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:138,1
    - Dst: ISX448
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: ecx_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ISX448
    - IS25519
    linkageType: ''
    returnType: int
    signature: 'static int ecx_bits(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: ecx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_free
    linkageType: ''
    returnType: void
    signature: 'static void ecx_free(EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 661
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionName: ed448_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: 'static int ed448_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1240,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1244,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1240,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1259,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1261,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1262,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1266,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1267,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1269,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1273
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1273
    functionName: s390x_pkey_ecd_digestsign448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcpy
    - OPENSSL_cleanse
    - EVP_MD_CTX_get_pkey_ctx
    - s390x_flip_endian64
    - s390x_kdsa
    - evp_pkey_get_legacy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecd_digestsign448(EVP_MD_CTX *ctx, unsigned
      char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1320,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1330,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1331,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1320,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1323,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1332,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1333,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1334,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1335,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1336,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1340
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1340
    functionName: s390x_pkey_ecd_digestverify448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcpy
    - EVP_MD_CTX_get_pkey_ctx
    - s390x_flip_endian64
    - s390x_kdsa
    - evp_pkey_get_legacy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecd_digestverify448(EVP_MD_CTX *ctx, const unsigned
      char *sig, size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:63,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:69,1
    - Dst: ossl_ecx_key_op
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: ecx_pub_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get0_param
    - EVP_PKEY_assign
    - ossl_ecx_key_op
    linkageType: ''
    returnType: int
    signature: 'static int ecx_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS25519
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: ecx_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - IS25519
    linkageType: ''
    returnType: int
    signature: 'static int ecx_security_bits(const EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:942,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:947,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:959,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:955,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:953,1
    - Dst: s390x_x25519_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:966,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:969,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:972,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 974
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 974
    functionName: s390x_pkey_ecx_keygen25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ecx_key_new
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - s390x_x25519_mul
    - ossl_ecx_key_allocate_privkey
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecx_keygen25519(EVP_PKEY_CTX *ctx, EVP_PKEY
      *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1288,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1288,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1299,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1291,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1298,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1300,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1301,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1305
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1305
    functionName: s390x_pkey_ecd_digestverify25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - s390x_flip_endian32
    - ERR_raise
    - EVP_MD_CTX_get_pkey_ctx
    - s390x_kdsa
    - evp_pkey_get_legacy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecd_digestverify25519(EVP_MD_CTX *ctx, const
      unsigned char *sig, size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1417,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1419,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1423
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1423
    functionName: ossl_ed448_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_ed448_pkey_method(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1405,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1408,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1412
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1412
    functionName: ossl_ed25519_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_ed25519_pkey_method(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:171,1
    - Dst: ASN1_buf_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:183,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:181,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:175,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:179,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:183,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:188,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:192,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:195,1
    - Dst: ASN1_buf_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:198,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:198,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 5
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    - op
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    - ecx_key_op_t
    constantsTouched: []
    func_position:
      end: 202
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 202
    functionName: ecx_key_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_buf_print
    - KEYLEN
    - OBJ_nid2ln
    linkageType: ''
    returnType: int
    signature: 'static int ecx_key_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx, ecx_key_op_t op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: ecd_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ecd_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:352,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:374,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:367,1
    - Dst: importer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:377,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:361,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:380,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:381,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 383
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 383
    functionName: ecx_pkey_export_to
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_octet_string
    - importer
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int ecx_pkey_export_to(const EVP_PKEY *from, void *to_keydata,
      OSSL_FUNC_keymgmt_import_fn *importer, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:412,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:419,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: ecx_pkey_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_dup
    - ossl_ecx_key_free
    linkageType: ''
    returnType: int
    signature: 'static int ecx_pkey_copy(EVP_PKEY *to, EVP_PKEY *from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_op
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:713,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: pkey_ecx_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_op
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecx_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:755,1
    - Dst: ossl_x25519
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 761
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 761
    functionName: pkey_ecx_derive25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - validate_ecx_derive
    - ossl_x25519
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecx_derive25519(EVP_PKEY_CTX *ctx, unsigned char *key,
      size_t *keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 782
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 782
    functionName: pkey_ecx_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecx_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:880,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:883,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:880,1
    - Dst: ossl_ed448_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 892
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 892
    functionName: pkey_ecd_digestverify448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ossl_ed448_verify
    - ERR_raise
    - EVP_MD_CTX_get_pkey_ctx
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecd_digestverify448(EVP_MD_CTX *ctx, const unsigned
      char *sig, size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_key_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: ecx_priv_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ecx_key_print
    linkageType: ''
    returnType: int
    signature: 'static int ecx_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:267,1
    - Dst: ossl_ecx_key_op
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:269,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:273,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pkey
    - priv
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: ecx_set_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_op
    - ossl_provider_libctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: int
    signature: 'static int ecx_set_priv_key(EVP_PKEY *pkey, const unsigned char *priv,
      size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:389,1
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:390,1
    - Dst: KEYNID2TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:390,1
    - Dst: ossl_ecx_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:394,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:399,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - params
    - vpctx
    - keytype
    argTypes:
    - OSSL_PARAM
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: ecx_generic_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_get0_pkey
    - ossl_ecx_key_new
    - ossl_ecx_key_free
    - KEYNID2TYPE
    - EVP_PKEY_assign
    - ossl_ecx_key_fromdata
    linkageType: ''
    returnType: int
    signature: 'static int ecx_generic_import_from(const OSSL_PARAM params[], void
      *vpctx, int keytype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: x25519_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: 'static int x25519_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: x448_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: 'static int x448_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:731,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:734,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:737,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:741,1
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:735,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - key
    - keylen
    - privkey
    - pubkey
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char**
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 748
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 748
    functionName: validate_ecx_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: int
    signature: 'static int validate_ecx_derive(EVP_PKEY_CTX *ctx, unsigned char *key,
      size_t *keylen, const unsigned char **privkey, const unsigned char **pubkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:768,1
    - Dst: ossl_x448
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 774
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 774
    functionName: pkey_ecx_derive448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - validate_ecx_derive
    - ossl_x448
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecx_derive448(EVP_PKEY_CTX *ctx, unsigned char *key,
      size_t *keylen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:808,1
    - Dst: ossl_ed25519_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:824,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:820,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:811,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:808,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 829
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 829
    functionName: pkey_ecd_digestsign25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_get_pkey_ctx
    - evp_pkey_get_legacy
    - ossl_ed25519_sign
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecd_digestsign25519(EVP_MD_CTX *ctx, unsigned char
      *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_md_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:899,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:901,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 908
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 908
    functionName: pkey_ecd_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_md_null
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecd_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1031,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1047,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1045,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1039,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1051,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1054,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1058,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1059,1
    - Dst: s390x_ed25519_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1067,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1073,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1076,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1078
    functionName: s390x_pkey_ecd_keygen25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - s390x_ed25519_mul
    - ossl_ecx_key_new
    - RAND_priv_bytes_ex
    - EVP_Digest
    - ossl_ecx_key_free
    - ossl_ecx_key_allocate_privkey
    - EVP_PKEY_assign
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecd_keygen25519(EVP_PKEY_CTX *ctx, EVP_PKEY
      *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:985,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:996,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:990,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1002,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:998,1
    - Dst: s390x_x448_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1008,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1011,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1014,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1016
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1016
    functionName: s390x_pkey_ecx_keygen448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ecx_key_new
    - s390x_x448_mul
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - ossl_ecx_key_allocate_privkey
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecx_keygen448(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:569,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:569,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:571,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:571,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - alg1
    - alg2
    - str
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: ecd_item_sign25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - OBJ_nid2obj
    - X509_ALGOR_set0
    linkageType: ''
    returnType: int
    signature: 'static int ecd_item_sign25519(EVP_MD_CTX *ctx, const ASN1_ITEM *it,
      const void *asn, X509_ALGOR *alg1, X509_ALGOR *alg2, ASN1_BIT_STRING *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:590,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:590,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:592,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - alg1
    - alg2
    - str
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 595
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 595
    functionName: ecd_item_sign448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - OBJ_nid2obj
    - X509_ALGOR_set0
    linkageType: ''
    returnType: int
    signature: 'static int ecd_item_sign448(EVP_MD_CTX *ctx, const ASN1_ITEM *it,
      const void *asn, X509_ALGOR *alg1, X509_ALGOR *alg2, ASN1_BIT_STRING *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1175,1
    - Dst: s390x_x448_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1181
    functionName: s390x_pkey_ecx_derive448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - validate_ecx_derive
    - s390x_x448_mul
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecx_derive448(EVP_PKEY_CTX *ctx, unsigned char
      *key, size_t *keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_INFO_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - siginf
    - alg
    - sig
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: ecd_sig_info_set25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - X509_SIG_INFO_set
    linkageType: ''
    returnType: int
    signature: 'static int ecd_sig_info_set25519(X509_SIG_INFO *siginf, const X509_ALGOR
      *alg, const ASN1_STRING *sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_INFO_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - siginf
    - alg
    - sig
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 603
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 603
    functionName: ecd_sig_info_set448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - X509_SIG_INFO_set
    linkageType: ''
    returnType: int
    signature: 'static int ecd_sig_info_set448(X509_SIG_INFO *siginf, const X509_ALGOR
      *alg, const ASN1_STRING *sig) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1195,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1213,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1209,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1214,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1216,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1217,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1221,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1222,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1226
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1226
    functionName: s390x_pkey_ecd_digestsign25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - s390x_flip_endian32
    - ERR_raise
    - memcpy
    - OPENSSL_cleanse
    - EVP_MD_CTX_get_pkey_ctx
    - s390x_kdsa
    - evp_pkey_get_legacy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecd_digestsign25519(EVP_MD_CTX *ctx, unsigned
      char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1097,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1113,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1105,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1117,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1120,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1124,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1128,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1129,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1133,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1135,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1148,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1153,1
    - Dst: s390x_ed448_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1142,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1152,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1149,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1155
    functionName: s390x_pkey_ecd_keygen448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_ecx_key_new
    - EVP_DigestFinalXOF
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - EVP_DigestInit_ex
    - s390x_ed448_mul
    - ossl_ecx_key_allocate_privkey
    - EVP_PKEY_assign
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecd_keygen448(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:107,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:115,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:112,1
    - Dst: PKCS8_pkey_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:117,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:121,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 129
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 129
    functionName: ecx_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - i2d_ASN1_OCTET_STRING
    - ERR_raise
    - PKCS8_pkey_set0
    - OBJ_nid2obj
    - OPENSSL_clear_free
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: 'static int ecx_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY
      *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:82,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: ecx_pub_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: 'static int ecx_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_key_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: ecx_pub_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ecx_key_print
    linkageType: ''
    returnType: int
    signature: 'static int ecx_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:324,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:333,1
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:329,1
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pkey
    - pub
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: ecx_get_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - memcpy
    - KEYLENID
    linkageType: ''
    returnType: int
    signature: 'static int ecx_get_pub_key(const EVP_PKEY *pkey, unsigned char *pub,
      size_t *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:285,1
    - Dst: ossl_ecx_key_op
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:287,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:285,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pkey
    - pub
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: ecx_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_op
    - ossl_provider_libctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: int
    signature: 'static int ecx_set_pub_key(EVP_PKEY *pkey, const unsigned char *pub,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: ecd_size448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ecd_size448(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: ed25519_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: 'static int ed25519_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:835,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:835,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:838,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:847,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:851,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 856
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 856
    functionName: pkey_ecd_digestsign448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ossl_ed448_sign
    - ERR_raise
    - EVP_MD_CTX_get_pkey_ctx
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecd_digestsign448(EVP_MD_CTX *ctx, unsigned char *sig,
      size_t *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_from_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:89,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pkey
    - p8
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: ecx_priv_decode_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_from_pkcs8
    linkageType: ''
    returnType: int
    signature: 'static int ecx_priv_decode_ex(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO
      *p8, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: ecx_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: 'static int ecx_size(const EVP_PKEY *pkey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_op
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:221,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:236,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:225,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:234,1
    - Dst: KEYLEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: ecx_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_op
    - OPENSSL_memdup
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: 'static int ecx_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:303,1
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:309,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:313,1
    - Dst: KEYLENID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pkey
    - priv
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: ecx_get_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - memcpy
    - KEYLENID
    linkageType: ''
    returnType: int
    signature: 'static int ecx_get_priv_key(const EVP_PKEY *pkey, unsigned char *priv,
      size_t *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: ecx_pkey_dirty_cnt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ecx_pkey_dirty_cnt(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: ecd_size25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ecd_size25519(const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:550,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:553,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - sigalg
    - str
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 561
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 561
    functionName: ecd_item_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit
    - X509_ALGOR_get0
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'static int ecd_item_verify(EVP_MD_CTX *ctx, const ASN1_ITEM *it, const
      void *asn, const X509_ALGOR *sigalg, const ASN1_BIT_STRING *str, EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:862,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:865,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:862,1
    - Dst: ossl_ed25519_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: pkey_ecd_digestverify25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - ossl_ed25519_verify
    - ERR_raise
    - EVP_MD_CTX_get_pkey_ctx
    - evp_pkey_get_legacy
    linkageType: ''
    returnType: int
    signature: 'static int pkey_ecd_digestverify25519(EVP_MD_CTX *ctx, const unsigned
      char *sig, size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ecx_cmp_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ecx_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1162,1
    - Dst: s390x_x25519_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1168
    functionName: s390x_pkey_ecx_derive25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - validate_ecx_derive
    - s390x_x25519_mul
    linkageType: ''
    returnType: int
    signature: 'static int s390x_pkey_ecx_derive25519(EVP_PKEY_CTX *ctx, unsigned
      char *key, size_t *keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1391
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1391
    functionName: ossl_ecx25519_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_ecx25519_pkey_method(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c:1396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1400
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1400
    functionName: ossl_ecx448_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_meth.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_ecx448_pkey_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:50,1
    - Dst: constant_time_cond_swap_buff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: s390x_x448_mod_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c
    functionUses: []
    functionsReached:
    - memcpy
    - constant_time_cond_swap_buff
    linkageType: ''
    returnType: void
    signature: 'static void s390x_x448_mod_p(unsigned char u[56]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:123,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:126,1
    - Dst: s390x_x448_mod_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:129,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:128,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:125,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:131,1
    - Dst: s390x_pcc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:135,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:137,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:138,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - u_dst
    - u_src
    - d_src
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 143
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 143
    functionName: s390x_x448_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    - OPENSSL_cleanse
    - s390x_flip_endian64
    - s390x_pcc
    - s390x_x448_mod_p
    linkageType: ''
    returnType: int
    signature: 'int s390x_x448_mul(unsigned char u_dst[56], const unsigned char u_src[56],
      const unsigned char d_src[56]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:26,1
    - Dst: constant_time_cond_swap_buff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: s390x_x25519_mod_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c
    functionUses: []
    functionsReached:
    - memcpy
    - constant_time_cond_swap_buff
    linkageType: ''
    returnType: void
    signature: 'static void s390x_x25519_mod_p(unsigned char u[32]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:90,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:92,1
    - Dst: s390x_x25519_mod_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:94,1
    - Dst: s390x_pcc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:101,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:96,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:103,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - u_dst
    - u_src
    - d_src
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 107
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 107
    functionName: s390x_x25519_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c
    functionUses: []
    functionsReached:
    - s390x_flip_endian32
    - s390x_x25519_mod_p
    - OPENSSL_cleanse
    - s390x_pcc
    - memset
    linkageType: ''
    returnType: int
    signature: 'int s390x_x25519_mul(unsigned char u_dst[32], const unsigned char
      u_src[32], const unsigned char d_src[32]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:163,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:166,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:167,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:165,1
    - Dst: s390x_pcc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:169,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:171,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:172,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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
    constantsTouched: []
    func_position:
      end: 177
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 177
    functionName: s390x_ed25519_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c
    functionUses: []
    functionsReached:
    - s390x_flip_endian32
    - s390x_pcc
    - OPENSSL_cleanse
    - memset
    linkageType: ''
    returnType: int
    signature: 'int s390x_ed25519_mul(unsigned char x_dst[32], unsigned char y_dst[32],
      const unsigned char x_src[32], const unsigned char y_src[32], const unsigned
      char d_src[32]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:197,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:202,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:201,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:200,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:199,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:203,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:204,1
    - Dst: s390x_pcc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:206,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:208,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:209,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:214,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:210,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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
    constantsTouched: []
    func_position:
      end: 216
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 216
    functionName: s390x_ed448_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecx_s390x.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    - s390x_flip_endian64
    - s390x_pcc
    - memset
    linkageType: ''
    returnType: int
    signature: 'int s390x_ed448_mul(unsigned char x_dst[57], unsigned char y_dst[57],
      const unsigned char x_src[57], const unsigned char y_src[57], const unsigned
      char d_src[57]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - felem
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: felem_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_one(felem out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_to_bin66
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:196,1
    - Dst: BN_lebin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: felem_to_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_to_bin66
    - BN_lebin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *felem_to_BN(BIGNUM *out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:717,1
    - Dst: felem_mul_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - largefelem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: felem_mul_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_select
    - felem_mul_p
    linkageType: ''
    returnType: void
    signature: 'void felem_mul_wrapper(largefelem out, const felem in1, const felem
      in2) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1955,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1969,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1961,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2019,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2031,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2035,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2044,1
    - Dst: make_points_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2064,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2069,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2098,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2028,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2101,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2071,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2099,1
    - Dst: felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1926,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1941,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1939,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1942,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1943,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1959,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1960,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1962,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2018,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2024,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2043,1
    - Dst: batch_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2092,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2102,1
    - Dst: batch_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2085,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2082,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1992,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1988,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2041,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2048,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2071,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2080,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2097,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2105,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2113,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2111,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2100,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2077,1
    - Dst: felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1934,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1940,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1989,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2009,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1995,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1965,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2025,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2039,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2045,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2055,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2110,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2112,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2076,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2040,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 162
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 2115
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 2115
    functionName: ossl_ec_GFp_nistp521_points_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_contract
    - EC_POINT_free
    - BN_CTX_start
    - BN_bn2lebinpad
    - felem
    - OPENSSL_malloc
    - BN_CTX_end
    - felem_to_BN
    - OPENSSL_free
    - OPENSSL_zalloc
    - point_double
    - make_points_affine
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - point_add
    - batch_mul
    - memcpy
    - BN_num_bits
    - EC_POINT_new
    - BN_CTX_get
    - ERR_raise
    - BN_to_felem
    - BN_is_negative
    - EC_POINT_cmp
    - EC_GROUP_get0_generator
    - BN_nnmod
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp521_points_mul(const EC_GROUP *group, EC_POINT
      *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM
      *scalars[], BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: felem_assign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_assign(felem out, const felem in) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2140,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2147,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2152,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2165,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2173,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2160,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2169,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2210,1
    - Dst: make_points_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2217,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2225,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2163,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2164,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2227,1
    - Dst: EC_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2130,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2141,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2139,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2151,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2185,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2197,1
    - Dst: SETPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2220,1
    - Dst: EC_nistp521_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2229,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2134,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2150,1
    - Dst: nistp521_pre_comp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2154,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2182,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2159,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2191,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2203,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2224,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 2231
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2231
    functionName: ossl_ec_GFp_nistp521_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - EC_nistp521_pre_comp_free
    - BN_CTX_free
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_CTX_new
    - nistp521_pre_comp_new
    - point_double
    - make_points_affine
    - BN_bin2bn
    - point_add
    - memcpy
    - EC_POINT_new
    - BN_CTX_get
    - BN_to_felem
    - EC_pre_comp_free
    - EC_POINT_cmp
    - SETPRECOMP
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp521_precompute_mult(EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - u8
    - felem
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: felem_to_bin66
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void felem_to_bin66(u8 out[66], const felem in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:179,1
    - Dst: bin66_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:185,1
    - Dst: BN_bn2lebinpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: BN_to_felem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - BN_is_negative
    - bin66_to_felem
    - ERR_raise
    - BN_bn2lebinpad
    linkageType: ''
    returnType: int
    signature: 'static int BN_to_felem(felem out, const BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: felem_diff64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_diff64(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:756,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:765,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:766,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:772,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:780,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:781,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:791,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:794,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:795,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:805,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:827,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:842,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:802,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:826,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:841,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:834,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:815,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:814,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:844,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:758,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:762,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:764,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:775,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:778,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:779,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:785,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:787,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:788,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:790,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:803,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:818,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:819,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:837,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:797,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:845,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:821,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:835,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:810,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:829,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:846,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:760,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:761,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:773,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:771,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:770,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:777,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:784,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:786,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:798,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:813,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:822,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:823,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:831,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:811,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:759,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:757,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:763,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:768,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:769,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:776,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:782,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:783,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:789,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:807,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:847,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:806,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:830,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:838,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:799,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 91
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 848
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 848
    functionName: felem_inv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - felem_assign
    - felem_mul
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void felem_inv(felem out, const felem in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1742,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1751,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1745,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1753,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1758
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1758
    functionName: nistp521_pre_comp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: NISTP521_PRE_COMP*
    signature: 'static NISTP521_PRE_COMP *nistp521_pre_comp_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - largefelem
    - limb
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: felem_scalar128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_scalar128(largefelem out, limb scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: felem_diff_128_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_diff_128_64(largefelem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:406,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 93
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    constantsTouched: []
    func_position:
      end: 477
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 477
    functionName: felem_square_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_scalar
    linkageType: ''
    returnType: void
    signature: 'static void felem_square_ref(largefelem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 1
    argNames:
    - in
    argTypes:
    - felem
    constantsTouched: []
    func_position:
      end: 929
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 929
    functionName: felem_is_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_assign
    linkageType: ''
    returnType: limb
    signature: 'static limb felem_is_zero(const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - felem
    - limb
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: felem_scalar64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_scalar64(felem out, limb scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 125
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - largefelem
    constantsTouched: []
    func_position:
      end: 675
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 675
    functionName: felem_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_reduce(felem out, const largefelem in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 707
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 707
    functionName: felem_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void felem_select(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 186
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1068
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 1068
    functionName: felem_contract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_assign
    linkageType: ''
    returnType: void
    signature: 'static void felem_contract(felem out, const felem in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1251,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1247,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1272,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1274,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1276,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1345,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1349,1
    - Dst: felem_scalar64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1358,1
    - Dst: felem_scalar128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1373,1
    - Dst: felem_diff128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1375,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1293,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1387,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1381,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1353,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1371,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1291,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1350,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1228,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1237,1
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1261,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1280,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1284,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1287,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1340,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1342,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1283,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1294,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1384,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1390,1
    - Dst: felem_diff64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1365,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1362,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1391,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1232,1
    - Dst: felem_sum64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1233,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1246,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1250,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1258,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1268,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1332,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1337,1
    - Dst: felem_scalar64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1338,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1346,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1385,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1264,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1369,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1388,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1383,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1360,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1215,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1219,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1220,1
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1216,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1224,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1225,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1229,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1243,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1241,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1239,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1389,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1279,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1357,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1386,1
    - Dst: felem_scalar64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1295,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 79
    argCount: 10
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - mixed
    - x2
    - y2
    - z2
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    - int
    - felem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1392
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1392
    functionName: point_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_scalar
    - felem_diff_128_64
    - felem_scalar64
    - felem_assign
    - felem_scalar128
    - felem_reduce
    - point_double
    - copy_conditional
    - felem_diff128
    - felem_diff64
    - felem_mul
    - felem_is_zero
    - felem_sum64
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void point_add(felem x3, felem y3, felem z3, const felem x1,
      const felem y1, const felem z1, const int mixed, const felem x2, const felem
      y2, const felem z2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - limb
    - unsigned int
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1564
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1564
    functionName: select_point
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void select_point(const limb idx, unsigned int size, const
      felem pre_comp[][3], felem out[3]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP521_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1766
    functionName: EC_nistp521_pre_comp_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTP521_PRE_COMP*
    signature: 'NISTP521_PRE_COMP *EC_nistp521_pre_comp_dup(NISTP521_PRE_COMP *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1796
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1796
    functionName: ossl_ec_GFp_nistp521_group_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp521_group_init(EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:711,1
    - Dst: felem_square_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: felem_square_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    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_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:731,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: felem_square_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_reduce
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void felem_square_reduce(felem out, const felem in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1775,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1782,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1776,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1779,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP521_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1783
    functionName: EC_nistp521_pre_comp_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void EC_nistp521_pre_comp_free(NISTP521_PRE_COMP *p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1808,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1813,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1814,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1816,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1815,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1819,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1820,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1821,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1822,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1822,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1823,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1827,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1831,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1822,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1829,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1834
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1834
    functionName: ossl_ec_GFp_nistp521_group_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    - BN_CTX_new
    - BN_CTX_start
    - BN_bin2bn
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp521_group_set_curve(EC_GROUP *group, const BIGNUM
      *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:2235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2236
    functionName: ossl_ec_GFp_nistp521_have_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp521_have_precompute_mult(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - largefelem
    constantsTouched: []
    func_position:
      end: 394
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 394
    functionName: felem_diff128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_diff128(largefelem out, const largefelem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_scalar
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 164
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - largefelem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 591
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 591
    functionName: felem_mul_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_scalar
    linkageType: ''
    returnType: void
    signature: 'static void felem_mul_ref(largefelem out, const felem in1, const felem
      in2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: felem_is_zero_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_is_zero
    linkageType: ''
    returnType: int
    signature: 'static int felem_is_zero_int(const void *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - u8
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: bin66_to_felem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bin66_to_felem(felem out, const u8 in[66]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - out
    - in
    - scalar
    argTypes:
    - felem
    - felem
    - limb
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: felem_scalar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_scalar(felem out, const felem in, limb scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: felem_neg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_neg(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:738,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: felem_mul_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_mul
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: 'static void felem_mul_reduce(felem out, const felem in1, const felem
      in2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - felem
    - felem
    - limb
    constantsTouched: []
    func_position:
      end: 1192
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1192
    functionName: copy_conditional
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_conditional(felem out, const felem in, limb mask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1733
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1733
    functionName: EC_GFp_nistp521_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GFp_nistp521_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_nistp_points_make_affine_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1909
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1909
    functionName: make_points_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - ossl_ec_GFp_nistp_points_make_affine_internal
    linkageType: ''
    returnType: void
    signature: 'static void make_points_affine(size_t num, felem points[][3], felem
      tmp_felems[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: felem_sum64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void felem_sum64(felem out, const felem in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1097,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1098,1
    - Dst: felem_diff64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1109,1
    - Dst: felem_sum64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1111,1
    - Dst: felem_scalar64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1113,1
    - Dst: felem_sum64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1138,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1135,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1133,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1140,1
    - Dst: felem_sum64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1141,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1094,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1101,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1102,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1106,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1130,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1126,1
    - Dst: felem_scalar64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1131,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1123,1
    - Dst: felem_scalar64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1152,1
    - Dst: felem_diff64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1154,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1093,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1149,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1156,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1163,1
    - Dst: felem_scalar128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1168,1
    - Dst: felem_diff128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1174,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1181,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1105,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1115,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1143,1
    - Dst: felem_diff_128_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1182
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1182
    functionName: point_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - felem_diff_128_64
    - felem_scalar64
    - felem_assign
    - felem_scalar128
    - felem_reduce
    - felem_diff128
    - felem_diff64
    - felem_mul
    - felem_sum64
    - felem_square
    linkageType: ''
    returnType: void
    signature: 'static void point_double(felem x_out, felem y_out, felem z_out, const
      felem x_in, const felem y_in, const felem z_in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - i
    argTypes:
    - felem_bytearray
    - int
    constantsTouched: []
    func_position:
      end: 1572
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1572
    functionName: get_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'static char get_bit(const felem_bytearray in, int i) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1612,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1610,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1643,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1660,1
    - Dst: point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1606,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1620,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1632,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1638,1
    - Dst: point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1649,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1659,1
    - Dst: select_point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1617,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1623,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1633,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1635,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1646,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1636,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1634,1
    - Dst: felem_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1644,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1637,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1653,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1594,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1613,1
    - Dst: get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1614,1
    - Dst: felem_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1661,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 9
    argNames:
    - x_out
    - y_out
    - z_out
    - scalars
    - num_points
    - g_scalar
    - mixed
    - pre_comp
    - g_pre_comp
    argTypes:
    - felem
    - felem
    - felem
    - felem_bytearray
    - unsigned
    - u8*
    - int
    - felem
    - felem
    constantsTouched: []
    func_position:
      end: 1662
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1662
    functionName: batch_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - get_bit
    - select_point
    - memcpy
    - felem_assign
    - point_double
    - copy_conditional
    - point_add
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - felem_neg
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void batch_mul(felem x_out, felem y_out, felem z_out, const
      felem_bytearray scalars[], const unsigned num_points, const u8 *g_scalar, const
      int mixed, const felem pre_comp[][17][3], const felem g_pre_comp[16][3]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1852,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1859,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1862,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1871,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1869,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1857,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1870,1
    - Dst: felem_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1873,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1867,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1852,1
    - Dst: felem_square
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1856,1
    - Dst: felem_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1868,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1863,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1874,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1848,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1849,1
    - Dst: BN_to_felem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1853,1
    - Dst: felem_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1855,1
    - Dst: felem_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1858,1
    - Dst: felem_contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c:1860,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1879
    functionName: ossl_ec_GFp_nistp521_point_get_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistp521.c
    functionUses: []
    functionsReached:
    - BN_to_felem
    - ERR_raise
    - felem_contract
    - felem_to_BN
    - felem_reduce
    - felem_inv
    - felem_square
    - felem_mul
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GFp_nistp521_point_get_affine_coordinates(const EC_GROUP
      *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_vrf.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - eckey
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: ECDSA_do_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_vrf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, const
      ECDSA_SIG *sig, EC_KEY *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_vrf.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - type
    - dgst
    - dgst_len
    - sigbuf
    - sig_len
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: ECDSA_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdsa_vrf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ECDSA_verify(int type, const unsigned char *dgst, int dgst_len,
      const unsigned char *sigbuf, int sig_len, EC_KEY *eckey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTZ256_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1252
    functionName: EC_nistz256_pre_comp_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTZ256_PRE_COMP*
    signature: 'NISTZ256_PRE_COMP *EC_nistz256_pre_comp_dup(NISTZ256_PRE_COMP *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1276,1
    - Dst: HAVEPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1283,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1284
    functionName: ecp_nistz256_window_have_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - HAVEPRECOMP
    - EC_GROUP_get0_generator
    - ecp_nistz256_is_affine_G
    linkageType: ''
    returnType: int
    signature: 'static int ecp_nistz256_window_have_precompute_mult(const EC_GROUP
      *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1261,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1265,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1267,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1268,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1262,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pre
    argTypes:
    - NISTZ256_PRE_COMP*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1270
    functionName: EC_nistz256_pre_comp_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void EC_nistz256_pre_comp_free(NISTZ256_PRE_COMP *pre) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:638,1
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:633,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:653,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:656,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:664,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:681,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:684,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:737,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:705,1
    - Dst: _booth_recode_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:746,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:753,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:722,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:777,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:775,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:720,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:748,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:772,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:758,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:717,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:700,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:701,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:702,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:710,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:711,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:712,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:713,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:714,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:724,1
    - Dst: _booth_recode_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:736,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:760,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:761,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:718,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:736,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:762,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:708,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:716,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:637,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:639,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:682,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:655,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:694,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:695,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:696,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:703,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:704,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:709,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:719,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:782,1
    - Dst: ecp_nistz256_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:774,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:723,1
    - Dst: ecp_nistz256_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:750,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:706,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:759,1
    - Dst: P256_POINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:630,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:635,1
    - Dst: ALIGNPTR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:643,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:650,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:650,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:683,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:663,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:697,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:698,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:699,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:707,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:783,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:715,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:721,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:751,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:784,1
    - Dst: _booth_recode_w5
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:770,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 191
    argCount: 6
    argNames:
    - group
    - r
    - scalar
    - point
    - num
    - ctx
    argTypes:
    - EC_GROUP*
    - P256_POINT*
    - BIGNUM**
    - EC_POINT**
    - size_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 786
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 786
    functionName: ecp_nistz256_windowed_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - ecp_nistz256_scatter_w5
    - bn_get_top
    - OPENSSL_malloc
    - bn_get_words
    - OPENSSL_free
    - P256_POINT
    - OPENSSL_MALLOC_MAX_NELEMS
    - ecp_nistz256_gather_w5
    - memcpy
    - BN_num_bits
    - ALIGNPTR
    - copy_conditional
    - ecp_nistz256_bignum_to_field_elem
    - ecp_nistz256_point_add
    - ecp_nistz256_point_double
    - ecp_nistz256_neg
    - _booth_recode_w5
    - BN_CTX_get
    - ERR_raise
    - BN_is_negative
    - BN_nnmod
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ecp_nistz256_windowed_mul(const EC_GROUP *group,
      P256_POINT *r, const BIGNUM **scalar, const EC_POINT **point, size_t num, BN_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - dst
    - src
    - move
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: copy_conditional
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void copy_conditional(BN_ULONG dst[P256_LIMBS], const BN_ULONG
      src[P256_LIMBS], BN_ULONG move) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:348,1
    - Dst: is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:349,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:351,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:359,1
    - Dst: ecp_nistz256_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:405,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:415,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:416,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:419,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:421,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:423,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:432,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:427,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:355,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:361,1
    - Dst: is_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:399,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:410,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:424,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:433,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:435,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:428,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:354,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:357,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:362,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:412,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:429,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:352,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:358,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:363,1
    - Dst: is_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:399,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:409,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:411,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:413,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:418,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:436,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:437,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:431,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:425,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - P256_POINT*
    - P256_POINT*
    - P256_POINT*
    constantsTouched: []
    func_position:
      end: 438
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 438
    functionName: ecp_nistz256_point_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_mul_by_2
    - ecp_nistz256_sub
    - is_zero
    - memcpy
    - copy_conditional
    - ecp_nistz256_point_double
    - is_equal
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: 'static void ecp_nistz256_point_add(P256_POINT *r, const P256_POINT
      *a, const P256_POINT *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:805,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:807,1
    - Dst: is_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:807,1
    - Dst: is_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:808,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:806,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:808,1
    - Dst: is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - generator
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 810
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 810
    functionName: ecp_nistz256_is_affine_G
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - bn_get_words
    - bn_get_top
    - is_equal
    - is_one
    linkageType: ''
    returnType: int
    signature: 'static int ecp_nistz256_is_affine_G(const EC_POINT *generator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:942,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:943,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - out
    - group
    - in
    - ctx
    argTypes:
    - EC_POINT*
    - EC_GROUP*
    - P256_POINT_AFFINE*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 948
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 948
    functionName: ecp_nistz256_set_from_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - bn_set_words
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ecp_nistz256_set_from_affine(EC_POINT *out, const
      EC_GROUP *group, const P256_POINT_AFFINE *in, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: is_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: 'static BN_ULONG is_zero(BN_ULONG in) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:839,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:856,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:870,1
    - Dst: ALIGNPTR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:875,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:902,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:926,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:932,1
    - Dst: EC_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:832,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:851,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:862,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:886,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:912,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:927,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:835,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:858,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:901,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:908,1
    - Dst: SETPRECOMP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:921,1
    - Dst: EC_nistz256_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:929,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:931,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:930,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:833,1
    - Dst: ecp_nistz256_pre_comp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:847,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:863,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:878,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:877,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:890,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:871,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:903,1
    - Dst: ecp_nistz256_scatter_w7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:906,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 934
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 934
    functionName: ecp_nistz256_mult_precompute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_free
    - BN_is_zero
    - EC_GROUP_get0_order
    - BN_CTX_free
    - BN_CTX_start
    - OPENSSL_malloc
    - EC_POINT_add
    - BN_CTX_end
    - OPENSSL_free
    - EC_nistz256_pre_comp_free
    - EC_POINT_new
    - EC_POINT_copy
    - ALIGNPTR
    - ecp_nistz256_scatter_w7
    - ecp_nistz256_bignum_to_field_elem
    - ecp_nistz256_pre_comp_new
    - ERR_raise
    - EC_pre_comp_free
    - ecp_nistz256_is_affine_G
    - EC_GROUP_get0_generator
    - BN_CTX_new_ex
    - SETPRECOMP
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ecp_nistz256_mult_precompute(EC_GROUP *group, BN_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1529
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1529
    functionName: EC_GFp_nistz256_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GFp_nistz256_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:280,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:282,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:286,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:284,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:287,1
    - Dst: ecp_nistz256_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:289,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:290,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:292,1
    - Dst: ecp_nistz256_div_by_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:293,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:295,1
    - Dst: ecp_nistz256_mul_by_3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:296,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:299,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:301,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:307,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:304,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:306,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:298,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:303,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - P256_POINT*
    - P256_POINT*
    constantsTouched: []
    func_position:
      end: 308
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 308
    functionName: ecp_nistz256_point_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_mul_by_2
    - ecp_nistz256_sub
    - ecp_nistz256_mul_by_3
    - ecp_nistz256_add
    - ecp_nistz256_div_by_2
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: 'static void ecp_nistz256_point_double(P256_POINT *r, const P256_POINT
      *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1186,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1187,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1192,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1194,1
    - Dst: ecp_nistz256_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1198,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1199,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1200,1
    - Dst: ecp_nistz256_from_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1203,1
    - Dst: ecp_nistz256_from_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1211,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1212,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1210,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1209,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1217
    functionName: ecp_nistz256_get_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - ecp_nistz256_sqr_mont
    - ERR_raise
    - ecp_nistz256_mod_inverse
    - ecp_nistz256_bignum_to_field_elem
    - bn_set_words
    - ecp_nistz256_from_mont
    - ecp_nistz256_mul_mont
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ecp_nistz256_get_affine(const EC_GROUP *group, const
      EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: union
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ALIGN32
    signature: 'ALIGN32 union '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1239,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1237,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1244
    functionName: ecp_nistz256_pre_comp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: NISTZ256_PRE_COMP*
    signature: 'static NISTZ256_PRE_COMP *ecp_nistz256_pre_comp_new(const EC_GROUP
      *group) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1305,1
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1310,1
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1310,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1335,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1354,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1332,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1363,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1369,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1372,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1429,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1424,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1415,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1327,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1348,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1344,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1355,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1365,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1374,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1388,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1390,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1406,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1408,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1433,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1453,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1427,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1449,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1410,1
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1305,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1328,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1336,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1366,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1375,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1402,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1412,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1450,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1430,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1458,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1404,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1423,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1414,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1434,1
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1306,1
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1310,1
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1306,1
    - Dst: TOBN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1310,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1343,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1337,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1332,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1362,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1368,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1371,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1426,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1417,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1419,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1421,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 4
    argNames:
    - group
    - r
    - x
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1464
    functionName: ecp_nistz256_inv_mod_ord
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - ecp_nistz256_ord_sqr_mont
    - ecp_nistz256_ord_mul_mont
    - BN_num_bits
    - bn_wexpand
    - BN_is_negative
    - ecp_nistz256_bignum_to_field_elem
    - BN_nnmod
    - bn_set_words
    - TOBN
    linkageType: ''
    returnType: int
    signature: 'static int ecp_nistz256_inv_mod_ord(const EC_GROUP *group, BIGNUM
      *r, const BIGNUM *x, BN_CTX *ctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:975,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:976,1
    - Dst: ecp_nistz256_set_from_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1003,1
    - Dst: ecp_nistz256_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1068,1
    - Dst: _booth_recode_w7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1102,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1104,1
    - Dst: ecp_nistz256_point_add_affine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1110,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1124,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1170,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1159,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:981,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:986,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:998,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1030,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1033,1
    - Dst: _booth_recode_w7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1063,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1065,1
    - Dst: is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1082,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1126,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1171,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:980,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1002,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1012,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1029,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1009,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1069,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1138,1
    - Dst: ecp_nistz256_point_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1155,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1161,1
    - Dst: is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1164,1
    - Dst: ecp_nistz256_windowed_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1151,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1169,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:984,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1005,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1040,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1028,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1034,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1015,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1041,1
    - Dst: ecp_nistz256_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1107,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1132,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1136,1
    - Dst: bn_set_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:1160,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 212
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1173
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 1173
    functionName: ecp_nistz256_points_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - is_zero
    - ecp_nistz256_point_add_affine
    - ecp_nistz256_gather_w7
    - BN_CTX_start
    - bn_get_top
    - OPENSSL_malloc
    - bn_get_words
    - BN_CTX_end
    - OPENSSL_free
    - bn_set_words
    - is_one
    - OPENSSL_MALLOC_MAX_NELEMS
    - memcpy
    - BN_num_bits
    - EC_POINT_new
    - copy_conditional
    - ecp_nistz256_point_add
    - ecp_nistz256_neg
    - BN_CTX_get
    - ERR_raise
    - _booth_recode_w7
    - ecp_nistz256_set_from_affine
    - ecp_nistz256_is_affine_G
    - ecp_nistz256_windowed_mul
    - BN_is_negative
    - EC_POINT_cmp
    - EC_GROUP_get0_generator
    - BN_nnmod
    - memset
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ecp_nistz256_points_mul(const EC_GROUP *group, EC_POINT
      *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM
      *scalars[], BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: _booth_recode_w5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int _booth_recode_w5(unsigned int in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: is_equal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - is_zero
    linkageType: ''
    returnType: BN_ULONG
    signature: 'static BN_ULONG is_equal(const BN_ULONG a[P256_LIMBS], const BN_ULONG
      b[P256_LIMBS]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:487,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:490,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:499,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:488,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:492,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:497,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:498,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:501,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:513,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:515,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:516,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:518,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:519,1
    - Dst: is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:482,1
    - Dst: is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:483,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:485,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:494,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:504,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:521,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:522,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:523,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:495,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:505,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:506,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:502,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:508,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:509,1
    - Dst: ecp_nistz256_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:510,1
    - Dst: copy_conditional
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:512,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - P256_POINT*
    - P256_POINT*
    - P256_POINT_AFFINE*
    constantsTouched: []
    func_position:
      end: 524
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 524
    functionName: ecp_nistz256_point_add_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_mul_by_2
    - ecp_nistz256_sub
    - is_zero
    - memcpy
    - copy_conditional
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: 'static void ecp_nistz256_point_add_affine(P256_POINT *r, const P256_POINT
      *a, const P256_POINT_AFFINE *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:547,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:546,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:556,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:568,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:563,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:572,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:580,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:593,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:597,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:601,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:553,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:559,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:577,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:585,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:590,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:595,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:598,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:543,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:548,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:552,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:558,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:561,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:566,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:576,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:584,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:587,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:589,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:544,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:550,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:551,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:554,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:569,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:564,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:573,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:581,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:588,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:591,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:599,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 2
    argNames:
    - r
    - in
    argTypes:
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 602
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 602
    functionName: ecp_nistz256_mod_inverse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - ecp_nistz256_sqr_mont
    - memcpy
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: 'static void ecp_nistz256_mod_inverse(BN_ULONG r[P256_LIMBS], const
      BN_ULONG in[P256_LIMBS]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BN_ULONG
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: ecp_nistz256_bignum_to_field_elem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - bn_copy_words
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ecp_nistz256_bignum_to_field_elem(BN_ULONG out[P256_LIMBS],
      const BIGNUM *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: _booth_recode_w7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int _booth_recode_w7(unsigned int in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:224,1
    - Dst: is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:240,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - z
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 244
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 244
    functionName: is_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecp_nistz256.c
    functionUses: []
    functionsReached:
    - is_zero
    - bn_get_words
    - bn_get_top
    linkageType: ''
    returnType: BN_ULONG
    signature: 'static BN_ULONG is_one(const BIGNUM *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - group
    - nid
    argTypes:
    - EC_GROUP*
    - int
    constantsTouched: []
    func_position:
      end: 486
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: EC_GROUP_set_curve_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_GROUP_set_curve_name(EC_GROUP *group, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - group
    - flag
    argTypes:
    - EC_GROUP*
    - int
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: EC_GROUP_set_asn1_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1030,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1034,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1038
    functionName: EC_POINT_make_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - 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: 27
    BranchProfiles: []
    Callsites:
    - Dst: EC_nistp521_pre_comp_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:194,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:247,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:236,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:166,1
    - Dst: EC_nistp224_pre_comp_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:188,1
    - Dst: EC_nistz256_pre_comp_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:183,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:227,1
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:231,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:252,1
    - Dst: EC_ec_pre_comp_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:203,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:256,1
    - Dst: EC_nistp256_pre_comp_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:191,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:209,1
    - Dst: BN_MONT_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:213,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:217,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:249,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:223,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:238,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 262
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 262
    functionName: EC_GROUP_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_ec_pre_comp_dup
    - BN_MONT_CTX_free
    - EC_nistp256_pre_comp_dup
    - BN_copy
    - EC_nistp521_pre_comp_dup
    - OPENSSL_free
    - EC_POINT_new
    - EC_POINT_clear_free
    - EC_POINT_copy
    - memcpy
    - BN_MONT_CTX_new
    - EC_nistp224_pre_comp_dup
    - EC_nistz256_pre_comp_dup
    - OPENSSL_malloc
    - BN_MONT_CTX_copy
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: EC_GROUP_get_curve_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_curve_name(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: EC_GROUP_get_asn1_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_asn1_flag(const EC_GROUP *group) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1122,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1124,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1123,1
    - Dst: BN_CTX_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1136,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1145,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 6
    argNames:
    - group
    - r
    - g_scalar
    - point
    - p_scalar
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1151
    functionName: EC_POINT_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_POINT_set_to_infinity
    - BN_CTX_secure_new
    - ossl_ec_wNAF_mul
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM
      *g_scalar, const EC_POINT *point, const BIGNUM *p_scalar, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1046,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1051,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1050,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - group
    - num
    - points
    - ctx
    argTypes:
    - EC_GROUP*
    - size_t
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1056
    functionName: EC_POINTs_make_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT
      *points[], BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: EC_GROUP_set_curve_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_GROUP_set_curve
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const
      BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 924
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 924
    functionName: EC_POINT_get_affine_coordinates_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_get_affine_coordinates
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const
      EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_wNAF_precompute_mult
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1164
    functionName: EC_GROUP_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ossl_ec_wNAF_precompute_mult
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: EC_GROUP_get_curve_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM
      *a, BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_wNAF_have_precompute_mult
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1177
    functionName: EC_GROUP_have_precompute_mult
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ossl_ec_wNAF_have_precompute_mult
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_have_precompute_mult(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: EC_GROUP_get0_field
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *EC_GROUP_get0_field(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: EC_GROUP_get_seed_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_GROUP_get_seed_len(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: EC_GROUP_set_curve_GF2m
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_GROUP_set_curve
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const
      BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:629,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:645,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:647,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:649,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:650,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:648,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:651,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:669,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:675,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:629,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:633,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:633,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:653,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:669,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:674,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:682,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:688,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:700,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:632,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:632,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:646,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:669,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:697,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:707,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:705,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:640,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:655,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:674,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:698,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:700,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:700,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:681,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 86
    argCount: 3
    argNames:
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 710
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 710
    functionName: EC_GROUP_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_is_zero
    - EC_GROUP_get_curve_name
    - BN_CTX_free
    - EC_GROUP_get_field_type
    - EC_GROUP_get0_order
    - BN_CTX_new
    - EC_POINT_cmp
    - BN_CTX_start
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get0_generator
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: EC_GROUP_get_field_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_field_type(const EC_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 562
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 562
    functionName: EC_GROUP_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM
      *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: EC_GROUP_get_curve_GF2m
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM
      *a, BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:931,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: EC_POINT_get_affine_coordinates_GF2m
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_get_affine_coordinates
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, const
      EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1571,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1584,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1610,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1616,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1626,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1653,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1688,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1696,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1697,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1699,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1663,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1716,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1639,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1556,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1567,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1589,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1600,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1594,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1603,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1619,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1620,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1628,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1651,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1679,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1690,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1621,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1733,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1754,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1705,1
    - Dst: ossl_ec_encoding_param2id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1732,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1633,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1715,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1708,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1698,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1563,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1569,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1598,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1614,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1615,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1633,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1634,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1637,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1644,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1647,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1655,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1674,1
    - Dst: ec_group_explicit_to_named
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1720,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1691,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1750,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1737,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1682,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1668,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1740,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1755,1
    - Dst: group_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1560,1
    - Dst: ossl_ec_group_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1562,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1570,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1578,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1582,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1591,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1590,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1587,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1592,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1605,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1700,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1671,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1686,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1730,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1698,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1722,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1709,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1707,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1742,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1753,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1627,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 191
    argCount: 3
    argNames:
    - params
    - libctx
    - propq
    argTypes:
    - OSSL_PARAM
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1759
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1759
    functionName: EC_GROUP_new_from_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - group_new_from_name
    - BN_is_zero
    - EC_GROUP_get_degree
    - BN_CTX_free
    - BN_CTX_start
    - BN_CTX_end
    - ossl_ec_encoding_param2id
    - ec_group_explicit_to_named
    - EC_POINT_oct2point
    - ossl_ec_group_set_params
    - EC_GROUP_new_curve_GFp
    - EC_GROUP_set_point_conversion_form
    - BN_num_bits
    - EC_GROUP_free
    - EC_POINT_new
    - OPENSSL_strcasecmp
    - EC_GROUP_set_generator
    - EC_GROUP_set_asn1_flag
    - BN_CTX_get
    - ERR_raise
    - OSSL_PARAM_get_int
    - BN_is_negative
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_BN
    - EC_GROUP_new_curve_GF2m
    - BN_CTX_new_ex
    - EC_GROUP_set_seed
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new_from_params(const OSSL_PARAM params[], OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:719,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:723,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:727,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:729,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 742
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 742
    functionName: EC_POINT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EC_POINT*
    signature: 'EC_POINT *EC_POINT_new(const EC_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: EC_GROUP_get_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a,
      BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:769,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:776,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 782
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 782
    functionName: EC_POINT_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_copy(EC_POINT *dest, const EC_POINT *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:830,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:833,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:837,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 839
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 839
    functionName: EC_POINT_set_Jprojective_coordinates_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group,
      EC_POINT *point, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:792,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:797,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - a
    - group
    argTypes:
    - EC_POINT*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 801
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 801
    functionName: EC_POINT_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_copy
    - EC_POINT_free
    - EC_POINT_new
    linkageType: ''
    returnType: EC_POINT*
    signature: 'EC_POINT *EC_POINT_dup(const EC_POINT *a, const EC_GROUP *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:847,1
    - Dst: ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:854,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:850,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:851,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 856
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 856
    functionName: EC_POINT_get_Jprojective_coordinates_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    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,
      const EC_POINT *point, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:904,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:908,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:912,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:907,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:911,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 916
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 916
    functionName: EC_POINT_get_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT
      *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:33,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:43,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:41,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:51,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:57,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:60,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:71,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:73,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:72,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:74,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 3
    argNames:
    - libctx
    - propq
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - EC_METHOD*
    constantsTouched: []
    func_position:
      end: 76
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 76
    functionName: ossl_ec_group_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - BN_new
    - OPENSSL_zalloc
    - BN_free
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *ossl_ec_group_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
      const EC_METHOD *meth) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:272,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:281,1
    - Dst: EC_GROUP_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: EC_GROUP_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_GROUP_copy
    - EC_GROUP_free
    - ossl_ec_group_new_ex
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_dup(const EC_GROUP *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:527,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:535,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:534,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - group
    - p
    - len
    argTypes:
    - EC_GROUP*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 542
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 542
    functionName: EC_GROUP_set_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: 'size_t EC_GROUP_set_seed(EC_GROUP *group, const unsigned char *p,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - arg
    argTypes:
    - EC_KEY*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: EC_KEY_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: EC_GROUP_get0_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *EC_GROUP_get0_seed(const EC_GROUP *group) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:864,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:867,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:874,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:868,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:875,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 879
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 879
    functionName: EC_POINT_set_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_is_on_curve
    - ec_point_is_compat
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT
      *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:940,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:944,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:943,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:943,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:945,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 949
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 949
    functionName: EC_POINT_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - 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, const EC_POINT *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 1222
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1222
    functionName: EC_KEY_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *EC_KEY_get_ex_data(const EC_KEY *key, int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:151,1
    - Dst: EC_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:149,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:150,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:152,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:153,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:154,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: EC_GROUP_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_pre_comp_free
    - BN_MONT_CTX_free
    - OPENSSL_clear_free
    - BN_clear_free
    - EC_POINT_clear_free
    linkageType: ''
    returnType: void
    signature: 'void EC_GROUP_clear_free(EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: EC_GROUP_method_of
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - group
    - form
    argTypes:
    - EC_GROUP*
    - point_conversion_form_t
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: EC_GROUP_set_point_conversion_form
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EC_GROUP_set_point_conversion_form(EC_GROUP *group, point_conversion_form_t
      form) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 895
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 895
    functionName: EC_POINT_set_affine_coordinates_GF2m
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT
      *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_METHOD*
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: EC_METHOD_get_field_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_METHOD_get_field_type(const EC_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: EC_GROUP_get_point_conversion_form
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: point_conversion_form_t
    signature: 'point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP
      *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: EC_GROUP_get0_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *EC_GROUP_get0_order(const EC_GROUP *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1016,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1020,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1019,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1019,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - group
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1024
    functionName: EC_POINT_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - 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, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: EC_GROUP_order_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_order_bits(const EC_GROUP *group) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_nistz256_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:94,1
    - Dst: EC_nistp256_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:102,1
    - Dst: EC_ec_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:114,1
    - Dst: EC_nistp224_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:99,1
    - Dst: EC_nistp521_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 118
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 118
    functionName: EC_pre_comp_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_nistp256_pre_comp_free
    - EC_nistp224_pre_comp_free
    - EC_nistp521_pre_comp_free
    - EC_ec_pre_comp_free
    - EC_nistz256_pre_comp_free
    linkageType: ''
    returnType: void
    signature: 'void EC_pre_comp_free(EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: EC_POINT_set_affine_coordinates_GFp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT
      *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1484,1
    - Dst: ossl_ec_curve_name2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1489,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1491,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - p
    - libctx
    - propq
    argTypes:
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1498
    functionName: group_new_from_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ossl_ec_curve_name2nid
    - ERR_raise
    - EC_GROUP_new_by_curve_name_ex
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'static EC_GROUP *group_new_from_name(const OSSL_PARAM *p, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:131,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:129,1
    - Dst: EC_pre_comp_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:128,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:130,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:132,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:133,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:134,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: EC_GROUP_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - EC_pre_comp_free
    - BN_MONT_CTX_free
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void EC_GROUP_free(EC_GROUP *group) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1408,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1413,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1410,1
    - Dst: EC_GROUP_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1412,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1409,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1414,1
    - Dst: ossl_ec_curve_nid_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1416,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1436,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1444,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1456,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1462,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1466,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1465,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 4
    argNames:
    - group
    - libctx
    - propq
    - ctx
    argTypes:
    - EC_GROUP*
    - OSSL_LIB_CTX*
    - char*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1468
    functionName: ec_group_explicit_to_named
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_GROUP_dup
    - EC_GROUP_get0_seed
    - EC_GROUP_get0_order
    - ossl_ec_curve_nid_from_params
    - EC_GROUP_free
    - EC_GROUP_set_generator
    - EC_GROUP_new_by_curve_name_ex
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_get0_generator
    - EC_GROUP_set_seed
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'static EC_GROUP *ec_group_explicit_to_named(const EC_GROUP *group,
      OSSL_LIB_CTX *libctx, const char *propq, BN_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1506,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1512,1
    - Dst: ECerr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1509,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1515,1
    - Dst: ossl_ec_pt_format_param2id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1508,1
    - Dst: ossl_ec_encoding_param2id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1517,1
    - Dst: ECerr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1518,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1521,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1524,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1528,1
    - Dst: ECerr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1534
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1534
    functionName: ossl_ec_group_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - EC_GROUP_set_point_conversion_form
    - ossl_ec_pt_format_param2id
    - ossl_ec_encoding_param2id
    - OSSL_PARAM_locate_const
    - EC_GROUP_set_asn1_flag
    - ECerr
    - EC_GROUP_set_seed
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_group_set_params(EC_GROUP *group, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: EC_POINT_method_of
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_POINT_method_of(const EC_POINT *point) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1350,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - group
    - k
    argTypes:
    - EC_GROUP*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1361
    functionName: EC_GROUP_get_trinomial_basis
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_trinomial_basis(const EC_GROUP *group, unsigned int
      *k) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1369,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1373,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 4
    argNames:
    - group
    - k1
    - k2
    - k3
    argTypes:
    - EC_GROUP*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1385
    functionName: EC_GROUP_get_pentanomial_basis
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_pentanomial_basis(const EC_GROUP *group, unsigned
      int *k1, unsigned int *k2, unsigned int *k3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_group_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_METHOD*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: EC_GROUP_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ossl_ec_group_new_ex
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'EC_GROUP *EC_GROUP_new(const EC_METHOD *meth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:813,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 821
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 821
    functionName: EC_POINT_set_to_infinity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: EC_GROUP_get_mont_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BN_MONT_CTX*
    signature: 'BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:955,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:958,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:958,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:959,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 963
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 963
    functionName: EC_POINT_dbl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT
      *a, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:446,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - group
    - order
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: EC_GROUP_get_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_copy
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:968,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:972,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - group
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 976
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 976
    functionName: EC_POINT_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1230
    functionName: ossl_ec_group_simple_order_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_group_simple_order_bits(const EC_GROUP *group) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 752
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 752
    functionName: EC_POINT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void EC_POINT_free(EC_POINT *point) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - group
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1319
    functionName: ossl_ec_point_blind_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_point_blind_coordinates(const EC_GROUP *group, EC_POINT
      *p, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: EC_POINT_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void EC_POINT_clear_free(EC_POINT *point) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1325,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1342
    functionName: EC_GROUP_get_basis_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_basis_type(const EC_GROUP *group) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:323,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:333,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:325,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:323,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:330,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:334,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:339,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:340,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:340,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:343,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:351,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:358,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:357,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:353,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:348,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:349,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:351,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 360
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 360
    functionName: ec_guess_cofactor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_add
    - BN_set_bit
    - BN_CTX_end
    - BN_copy
    - BN_value_one
    - BN_num_bits
    - BN_div
    - BN_CTX_free
    - BN_rshift1
    - BN_zero
    - BN_CTX_start
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ec_guess_cofactor(EC_GROUP *group) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1246,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1252,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1259,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1251,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1261,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1267,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1273,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1275,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 4
    argNames:
    - group
    - r
    - x
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1278
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1278
    functionName: ec_field_inverse_mod_ord
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_mod_exp_mont
    - BN_CTX_end
    - BN_CTX_secure_new
    - BN_CTX_free
    - BN_set_word
    - BN_CTX_start
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'static int ec_field_inverse_mod_ord(const EC_GROUP *group, BIGNUM
      *r, const BIGNUM *x, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:468,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - group
    - cofactor
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: EC_GROUP_get_cofactor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_copy
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor,
      BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:981,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:985,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:984,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 989
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 989
    functionName: EC_POINT_is_at_infinity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: EC_GROUP_get0_cofactor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1186,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1200,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1195,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1199,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1189,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1211
    functionName: ec_precompute_mont_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - BN_MONT_CTX_free
    - BN_CTX_free
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ec_precompute_mont_data(EC_GROUP *group) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:371,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:382,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:393,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:423,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:399,1
    - Dst: ec_precompute_mont_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:424,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:427,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:366,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:373,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:383,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:384,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:411,1
    - Dst: ec_guess_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:413,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:406,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:372,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:383,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:403,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:414,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:382,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:394,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:410,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 4
    argNames:
    - group
    - generator
    - order
    - cofactor
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 430
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 430
    functionName: EC_GROUP_set_generator
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ec_precompute_mont_data
    - BN_MONT_CTX_free
    - BN_is_zero
    - BN_copy
    - ec_guess_cofactor
    - BN_num_bits
    - EC_POINT_new
    - EC_POINT_copy
    - BN_is_negative
    - BN_zero
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator,
      const BIGNUM *order, const BIGNUM *cofactor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: EC_GROUP_get_degree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_get_degree(const EC_GROUP *group) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1076,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1086,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1077,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1085,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1082,1
    - Dst: BN_CTX_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1093,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1096,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1104,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1107,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1110
    functionName: EC_POINTs_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_POINT_set_to_infinity
    - BN_CTX_secure_new
    - ossl_ec_wNAF_mul
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: 'int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM
      *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: EC_GROUP_get0_generator
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_POINT*
    signature: 'const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: EC_GROUP_check_discriminant
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1002,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1006,1
    - Dst: ec_point_is_compat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1010
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1010
    functionName: EC_POINT_is_on_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point,
      BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_field_inverse_mod_ord
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c:1299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - group
    - res
    - x
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1300
    functionName: ossl_ec_group_do_inverse_ord
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_lib.c
    functionUses: []
    functionsReached:
    - ec_field_inverse_mod_ord
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_group_do_inverse_ord(const EC_GROUP *group, BIGNUM *res,
      const BIGNUM *x, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:31,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - psec
    - pseclen
    - pub_key
    - ecdh
    argTypes:
    - unsigned char**
    - size_t*
    - EC_POINT*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: ossl_ecdh_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdh_compute_key(unsigned char **psec, size_t *pseclen, const
      EC_POINT *pub_key, const EC_KEY *ecdh) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:117,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:127,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:141,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:65,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:75,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:81,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:82,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:90,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:115,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:105,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:120,1
    - Dst: EC_POINT_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:140,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:60,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:91,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:84,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:121,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:125,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:126,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:139,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:143,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:63,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:106,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:114,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c:142,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 4
    argNames:
    - pout
    - poutlen
    - pub_key
    - ecdh
    argTypes:
    - unsigned char**
    - size_t*
    - EC_POINT*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 145
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 145
    functionName: ossl_ecdh_simple_compute_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_ossl.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_private_key
    - BN_num_bytes
    - EC_GROUP_get_degree
    - BN_CTX_free
    - BN_CTX_start
    - OPENSSL_malloc
    - BN_CTX_end
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - BN_clear
    - EC_GROUP_get_cofactor
    - BN_bn2bin
    - EC_POINT_new
    - BN_CTX_get
    - ERR_raise
    - EC_POINT_mul
    - EC_KEY_get_flags
    - BN_mul
    - EC_POINT_clear_free
    - BN_CTX_new_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdh_simple_compute_key(unsigned char **pout, size_t *poutlen,
      const EC_POINT *pub_key, const EC_KEY *ecdh) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eckey_param2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:75,1
    - Dst: i2o_ECPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:79,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:76,1
    - Dst: i2o_ECPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:86,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:89,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:89,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:94,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:95,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: eckey_pub_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OBJ_nid2obj
    - i2o_ECPublicKey
    - X509_PUBKEY_set0_param
    - ASN1_STRING_free
    - eckey_param2type
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int eckey_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:211,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: ec_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_GROUP_order_bits
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: 'static int ec_bits(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: ec_missing_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: 'static int ec_missing_parameters(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:350,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: eckey_param_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - d2i_ECParameters
    - EVP_PKEY_assign_EC_KEY
    linkageType: ''
    returnType: int
    signature: 'static int eckey_param_decode(EVP_PKEY *pkey, const unsigned char
      **pder, int derlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:457,1
    - Dst: EC_GROUP_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 462
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 462
    functionName: ec_pkey_param_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_GROUP_check
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ec_pkey_param_check(const EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_PUBKEY_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:108,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:109,1
    - Dst: ossl_ec_key_param_from_x509_algor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:118,1
    - Dst: o2i_ECPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:117,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:122,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 128
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 128
    functionName: eckey_pub_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - o2i_ECPublicKey
    - ossl_x509_PUBKEY_get0_libctx
    - ERR_raise
    - EVP_PKEY_assign_EC_KEY
    - X509_PUBKEY_get0_param
    - ossl_ec_key_param_from_x509_algor
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: 'static int eckey_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ec_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: ec_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - ec_bits
    linkageType: ''
    returnType: int
    signature: 'static int ec_security_bits(const EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:240,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:240,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:249,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:251,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:245,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: ec_copy_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_set_group
    - EC_KEY_new
    - EC_GROUP_free
    - EC_GROUP_dup
    linkageType: ''
    returnType: int
    signature: 'static int ec_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ECParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: eckey_param_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - i2d_ECParameters
    linkageType: ''
    returnType: int
    signature: 'static int eckey_param_encode(const EVP_PKEY *pkey, unsigned char
      **pder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: ec_pkey_dirty_cnt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ec_pkey_dirty_cnt(const EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:133,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:135,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:139,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: eckey_pub_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_cmp
    - EC_KEY_get0_public_key
    linkageType: ''
    returnType: int
    signature: 'static int eckey_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eckey_param2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:169,1
    - Dst: i2d_ECPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:183,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:181,1
    - Dst: EC_KEY_get_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:180,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:185,1
    - Dst: PKCS8_pkey_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:189,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:189,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:191,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:192,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 202
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 202
    functionName: eckey_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS8_pkey_set0
    - OBJ_nid2obj
    - EC_KEY_set_enc_flags
    - EC_KEY_get_enc_flags
    - OPENSSL_clear_free
    - ASN1_STRING_free
    - i2d_ECPrivateKey
    - eckey_param2type
    linkageType: ''
    returnType: int
    signature: 'static int eckey_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY
      *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:260,1
    - Dst: EC_GROUP_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:265,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: ec_cmp_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_cmp
    linkageType: ''
    returnType: int
    signature: 'static int ec_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ECPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: old_ec_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - i2d_ECPrivateKey
    linkageType: ''
    returnType: int
    signature: 'static int old_ec_priv_encode(const EVP_PKEY *pkey, unsigned char
      **pder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:33,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:34,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:37,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:41,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:38,1
    - Dst: OBJ_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:44,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:52,1
    - Dst: i2d_ECParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:55,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:58,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - pptype
    - ppval
    - ec_key
    argTypes:
    - int*
    - void**
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: eckey_param2type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - OBJ_length
    - i2d_ECParameters
    - EC_GROUP_get_curve_name
    - OBJ_nid2obj
    - ASN1_STRING_new
    - EC_GROUP_get_asn1_flag
    - ASN1_STRING_free
    linkageType: ''
    returnType: int
    signature: 'static int eckey_param2type(int *pptype, void **ppval, const EC_KEY
      *ec_key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_from_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:151,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pkey
    - p8
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: eckey_priv_decode_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign_EC_KEY
    - ossl_ec_key_from_pkcs8
    linkageType: ''
    returnType: int
    signature: 'static int eckey_priv_decode_ex(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO
      *p8, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: int_ec_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - ECDSA_size
    linkageType: ''
    returnType: int
    signature: 'static int int_ec_size(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: int_ec_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: 'static void int_ec_free(EVP_PKEY *pkey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:399,1
    - Dst: evp_pkey_get0_EC_KEY_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:411,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:409,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:409,1
    - Dst: EC_KEY_oct2key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:411,1
    - Dst: EC_KEY_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:414,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 420
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 420
    functionName: ec_pkey_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - EC_KEY_key2buf
    - evp_pkey_get0_EC_KEY_int
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_oct2key
    - EVP_PKEY_get_id
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: 'static int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: eckey_param_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: 'static int eckey_param_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: eckey_priv_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: 'static int eckey_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:492,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:500,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:510,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:511,1
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:517,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:520,1
    - Dst: OSSL_PARAM_BLD_push_BN_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:571,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:586,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:601,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:583,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:503,1
    - Dst: ossl_ec_group_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:506,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:600,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:566,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:604,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:489,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:593,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:599,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:603,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:515,1
    - Dst: importer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:596,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:602,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 60
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 606
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 606
    functionName: ec_pkey_export_to
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_push_BN_pad
    - EC_KEY_get0_group
    - OSSL_PARAM_BLD_free
    - EC_KEY_get0_private_key
    - EC_KEY_get0_public_key
    - EC_POINT_point2buf
    - BN_CTX_free
    - OSSL_PARAM_BLD_push_int
    - BN_CTX_start
    - EC_GROUP_order_bits
    - OSSL_PARAM_BLD_push_octet_string
    - importer
    - OSSL_PARAM_BLD_to_param
    - BN_CTX_end
    - OPENSSL_free
    - EC_KEY_get_conv_form
    - OSSL_PARAM_free
    - ossl_ec_group_todata
    - OSSL_PARAM_BLD_new
    - EC_KEY_get_flags
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ec_pkey_export_to(const EVP_PKEY *from, void *to_keydata,
      OSSL_FUNC_keymgmt_import_fn *importer, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:636,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:646,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:644,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 648
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 648
    functionName: ec_pkey_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_free
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_dup
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: int
    signature: 'static int ec_pkey_copy(EVP_PKEY *to, EVP_PKEY *from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: eckey_pub_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: 'static int eckey_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:384,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: old_ec_priv_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign_EC_KEY
    - d2i_ECPrivateKey
    linkageType: ''
    returnType: int
    signature: 'static int old_ec_priv_decode(EVP_PKEY *pkey, const unsigned char
      **pder, int derlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:611,1
    - Dst: ossl_ec_group_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:619,1
    - Dst: EC_KEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:612,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:620,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:615,1
    - Dst: ossl_ec_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:621,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:622,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 627
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 627
    functionName: ec_pkey_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_KEY_new_ex
    - ossl_ec_group_fromdata
    - EVP_PKEY_assign_EC_KEY
    - ossl_ec_key_otherparams_fromdata
    - ossl_ec_key_fromdata
    - EC_KEY_free
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'static int ec_pkey_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: ECParameters_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: 'int ECParameters_print(BIO *bp, const EC_KEY *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:428,1
    - Dst: EC_KEY_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: ec_pkey_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_KEY_check_key
    linkageType: ''
    returnType: int
    signature: 'static int ec_pkey_check(const EVP_PKEY *pkey) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:290,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:296,1
    - Dst: EC_KEY_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:296,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:291,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:295,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:301,1
    - Dst: EC_KEY_priv2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:302,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:314,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:316,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:317,1
    - Dst: ECPKParameters_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:334,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:328,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:340,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:339,1
    - Dst: ASN1_buf_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:330,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:341,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:321,1
    - Dst: ASN1_buf_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:323,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 56
    argCount: 4
    argNames:
    - bp
    - x
    - 'off'
    - ktype
    argTypes:
    - BIO*
    - EC_KEY*
    - int
    - ec_print_t
    constantsTouched: []
    func_position:
      end: 343
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 343
    functionName: do_EC_KEY_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EC_KEY_get0_group
    - ERR_raise
    - EC_KEY_get0_public_key
    - EC_KEY_get0_private_key
    - ASN1_buf_print
    - ECPKParameters_print
    - OPENSSL_free
    - EC_KEY_key2buf
    - BIO_indent
    - EC_KEY_get_conv_form
    - EC_KEY_priv2buf
    - OPENSSL_clear_free
    - EC_GROUP_order_bits
    linkageType: ''
    returnType: int
    signature: 'static int do_EC_KEY_print(BIO *bp, const EC_KEY *x, int off, ec_print_t
      ktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: ec_pkey_public_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - EC_KEY_check_key
    linkageType: ''
    returnType: int
    signature: 'static int ec_pkey_public_check(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:711,1
    - Dst: do_EC_KEY_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 715
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 715
    functionName: EC_KEY_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec_ameth.c
    functionUses: []
    functionsReached:
    - do_EC_KEY_print
    - EC_KEY_get0_private_key
    linkageType: ''
    returnType: int
    signature: 'int EC_KEY_print(BIO *bp, const EC_KEY *x, int off) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:48,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:49,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: ossl_ec_GF2m_simple_group_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GF2m_simple_group_finish(EC_GROUP *group) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:111,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:116,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:109,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:118,1
    - Dst: bn_set_all_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:121,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:124,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:126,1
    - Dst: bn_set_all_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:129,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 134
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 134
    functionName: ossl_ec_GF2m_simple_group_set_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - bn_set_all_zero
    - BN_GF2m_mod_arr
    - BN_copy
    - bn_wexpand
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_group_set_curve(EC_GROUP *group, const BIGNUM
      *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:188,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:190,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:200,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:195,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:207,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:213,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:215,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: ossl_ec_GF2m_simple_group_check_discriminant
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_GF2m_mod_arr
    - BN_is_zero
    - BN_CTX_free
    - BN_CTX_new
    - BN_CTX_start
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_group_check_discriminant(const EC_GROUP *group,
      BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: ossl_ec_GF2m_simple_field_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_GF2m_mod_mul_arr
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_field_mul(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:933,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 936
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 936
    functionName: ec_GF2m_simple_field_inv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_GF2m_mod_inv
    linkageType: ''
    returnType: int
    signature: 'static int ec_GF2m_simple_field_inv(const EC_GROUP *group, BIGNUM
      *r, const BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:29,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:31,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:34,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:35,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:30,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: ossl_ec_GF2m_simple_group_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_group_init(EC_GROUP *group) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:76,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:88,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:80,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:78,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:91,1
    - Dst: bn_set_all_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:94,1
    - Dst: bn_set_all_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: ossl_ec_GF2m_simple_group_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - bn_wexpand
    - BN_copy
    - bn_set_all_zero
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_group_copy(EC_GROUP *dest, const EC_GROUP
      *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - group
    - num
    - points
    - ctx
    argTypes:
    - EC_GROUP*
    - size_t
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 691
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 691
    functionName: ossl_ec_GF2m_simple_points_make_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_points_make_affine(const EC_GROUP *group,
      size_t num, EC_POINT *points[], BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:890,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:899,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:895,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:891,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:890,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:906,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:907,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:911,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:912,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:913,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:919,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 921
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 921
    functionName: ec_GF2m_simple_points_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_POINT_free
    - BN_is_zero
    - ossl_ec_wNAF_mul
    - EC_POINT_new
    - ossl_ec_scalar_mul_ladder
    - EC_POINT_add
    linkageType: ''
    returnType: int
    signature: 'static int ec_GF2m_simple_points_mul(const EC_GROUP *group, EC_POINT
      *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM
      *scalars[], BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:239,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:241,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: ossl_ec_GF2m_simple_point_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GF2m_simple_point_finish(EC_POINT *point) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:814,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:817,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:824,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:842,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:849,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:850,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:812,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:837,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:856,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:862,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:811,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:815,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:823,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:825,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:826,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:828,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:834,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:840,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:847,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:816,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:857,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 864
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 864
    functionName: ec_GF2m_simple_ladder_post
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - EC_POINT_invert
    - ERR_raise
    - BN_CTX_end
    - EC_POINT_set_to_infinity
    - BN_is_zero
    - BN_set_negative
    - EC_POINT_copy
    - BN_CTX_start
    - BN_one
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int ec_GF2m_simple_ladder_post(const EC_GROUP *group, EC_POINT
      *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:223,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:224,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:229,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:225,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:228,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: ossl_ec_GF2m_simple_point_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_point_init(EC_POINT *point) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: ossl_ec_GF2m_simple_field_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_GF2m_mod_sqr_arr
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_field_sqr(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:782,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:786,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:791,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 795
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 795
    functionName: ec_GF2m_simple_ladder_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int ec_GF2m_simple_ladder_step(const EC_GROUP *group, EC_POINT
      *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:59,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:61,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: ossl_ec_GF2m_simple_group_clear_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GF2m_simple_group_clear_finish(EC_GROUP *group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: ossl_ec_GF2m_simple_group_get_degree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_group_get_degree(const EC_GROUP *group) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:259,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:263,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: ossl_ec_GF2m_simple_point_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_point_copy(EC_POINT *dest, const EC_POINT
      *src) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:326,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:331,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:331,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:327,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:332,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:336,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:338,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:341,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:343,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 349
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 349
    functionName: ossl_ec_GF2m_simple_point_get_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_set_negative
    - BN_copy
    - BN_value_one
    - EC_POINT_is_at_infinity
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_point_get_affine_coordinates(const EC_GROUP
      *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1000
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 1000
    functionName: EC_GF2m_simple_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD*
    signature: 'const EC_METHOD *EC_GF2m_simple_method(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:146,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:151,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:156,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 164
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 164
    functionName: ossl_ec_GF2m_simple_group_get_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_group_get_curve(const EC_GROUP *group, BIGNUM
      *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:247,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:249,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: ossl_ec_GF2m_simple_point_clear_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_ec_GF2m_simple_point_clear_finish(EC_POINT *point) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:295,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:301,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:302,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:299,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:304,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:305,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:305,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:307,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 313
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 313
    functionName: ossl_ec_GF2m_simple_point_set_affine_coordinates
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    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, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GF2m_simple_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: ossl_ec_GF2m_simple_dbl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - ossl_ec_GF2m_simple_add
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_dbl(const EC_GROUP *group, EC_POINT *r, const
      EC_POINT *a, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: ossl_ec_GF2m_simple_is_at_infinity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_is_at_infinity(const EC_GROUP *group, const
      EC_POINT *point) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:589,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:593,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:597,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:597,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:590,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:602,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:608,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:609,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:610,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:611,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:616,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:620,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:625,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:612,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:618,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:623,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:620,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 4
    argNames:
    - group
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 628
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 628
    functionName: ossl_ec_GF2m_simple_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - EC_POINT_get_affine_coordinates
    - BN_CTX_free
    - BN_CTX_new
    - BN_CTX_start
    - EC_POINT_is_at_infinity
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_cmp(const EC_GROUP *group, const EC_POINT
      *a, const EC_POINT *b, BN_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:640,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:653,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:652,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:651,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:645,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:657,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:659,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:661,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:663,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:670,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:672,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 675
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 675
    functionName: ossl_ec_GF2m_simple_make_affine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_copy
    - EC_POINT_get_affine_coordinates
    - BN_CTX_free
    - BN_CTX_new
    - BN_CTX_start
    - BN_one
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_make_affine(const EC_GROUP *group, EC_POINT
      *point, BN_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:731,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:736,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:731,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:733,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:746,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:746,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:748,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:751,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:757,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 766
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 766
    functionName: ec_GF2m_simple_ladder_pre
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_priv_rand_ex
    - ERR_raise
    - BN_is_zero
    - BN_num_bits
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int ec_GF2m_simple_ladder_pre(const EC_GROUP *group, EC_POINT
      *r, EC_POINT *s, EC_POINT *p, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: ossl_ec_GF2m_simple_point_set_to_infinity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_zero
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_point_set_to_infinity(const EC_GROUP *group,
      EC_POINT *point) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:371,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:406,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:411,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:418,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:426,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:467,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:454,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:364,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:365,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:378,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:385,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:397,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:402,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:408,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:416,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:456,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:446,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:370,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:399,1
    - Dst: BN_GF2m_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:415,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:424,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:428,1
    - Dst: BN_GF2m_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:431,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:431,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:444,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:384,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:386,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:387,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:388,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:389,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:392,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:390,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:391,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:432,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:439,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:459,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:465,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:450,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 96
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 470
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 470
    functionName: ossl_ec_GF2m_simple_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_GF2m_add
    - BN_CTX_end
    - EC_POINT_set_to_infinity
    - BN_is_zero
    - BN_copy
    - EC_POINT_get_affine_coordinates
    - BN_CTX_free
    - EC_POINT_copy
    - BN_CTX_new
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_GF2m_cmp
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_add(const EC_GROUP *group, EC_POINT *r, const
      EC_POINT *a, const EC_POINT *b, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:485,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:492,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: ossl_ec_GF2m_simple_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_is_zero
    - BN_GF2m_add
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_invert(const EC_GROUP *group, EC_POINT *point,
      BN_CTX *ctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:519,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:538,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:531,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:537,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:539,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:549,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:551,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:553,1
    - Dst: field_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:555,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:557,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:566,1
    - Dst: field_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:559,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:561,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:568,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:563,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 35
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 571
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 571
    functionName: ossl_ec_GF2m_simple_is_on_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - EC_POINT_is_at_infinity
    - BN_CTX_get
    - BN_CTX_end
    - BN_is_zero
    - BN_CTX_free
    - BN_CTX_new
    - field_sqr
    - BN_CTX_start
    - field_mul
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_is_on_curve(const EC_GROUP *group, const EC_POINT
      *point, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    functionName: ossl_ec_GF2m_simple_field_div
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ec2_smpl.c
    functionUses: []
    functionsReached:
    - BN_GF2m_mod_div
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_GF2m_simple_field_div(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:32,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:33,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:36,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:38,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:35,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:40,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:42,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:44,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:45,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:47,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    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*
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: ossl_ecdh_kdf_X9_63
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_fetch
    - EVP_MD_get0_name
    - EVP_KDF_derive
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int ossl_ecdh_kdf_X9_63(unsigned char *out, size_t outlen, const unsigned
      char *Z, size_t Zlen, const unsigned char *sinfo, size_t sinfolen, const EVP_MD
      *md, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: ECDH_KDF_X9_62
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/ecdh_kdf.c
    functionUses: []
    functionsReached:
    - ossl_ecdh_kdf_X9_63
    linkageType: ''
    returnType: int
    signature: 'int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, const unsigned
      char *Z, size_t Zlen, const unsigned char *sinfo, size_t sinfolen, const EVP_MD
      *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - mask_t
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: mask_to_bool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/word.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline c448_bool_t mask_to_bool(mask_t m) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: word_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/word.h:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - m
    argTypes:
    - c448_bool_t
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: bool_to_mask
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/word.h
    functionUses: []
    functionsReached:
    - word_is_zero
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline mask_t bool_to_mask(c448_bool_t m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:59,1
    - Dst: gf_strong_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - gf
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: gf_lobit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - gf_strong_reduce
    - gf_copy
    linkageType: ''
    returnType: mask_t
    signature: 'mask_t gf_lobit(const gf x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:49,1
    - Dst: gf_strong_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - gf
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: gf_hibit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - gf_strong_reduce
    - gf_add
    linkageType: ''
    returnType: mask_t
    signature: 'mask_t gf_hibit(const gf x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_RAW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:143,1
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:145,1
    - Dst: gf_bias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: gf_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - gf_bias
    - gf_sub_RAW
    - gf_weak_reduce
    linkageType: ''
    returnType: void
    signature: 'void gf_sub(gf d, const gf a, const gf b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:162,1
    - Dst: gf_strong_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:163,1
    - Dst: word_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:168,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: gf_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - gf_strong_reduce
    - word_is_zero
    - LIMBPERM
    - gf_sub
    linkageType: ''
    returnType: mask_t
    signature: 'mask_t gf_eq(const gf a, const gf b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:176,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:188,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:191,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:190,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:193,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:192,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:189,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:187,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:186,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:194,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:177,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:181,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:182,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:183,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:184,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:195,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:196,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:197,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:198,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:201,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:175,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:185,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:199,1
    - Dst: gf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:202,1
    - Dst: gf_sqrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:179,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:178,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:180,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - a
    - x
    argTypes:
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: gf_isr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - gf_copy
    - gf_sqr
    - gf_eq
    - gf_mul
    - gf_sqrn
    linkageType: ''
    returnType: mask_t
    signature: 'mask_t gf_isr(gf a, const gf x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:27,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:34,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:30,1
    - Dst: gf_hibit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:30,1
    - Dst: gf_strong_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:28,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:35,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - serial
    - x
    - with_hibit
    argTypes:
    - uint8_t*
    - gf
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: gf_serialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - gf_strong_reduce
    - gf_copy
    - assert
    - gf_hibit
    - LIMB_PLACE_VALUE
    - LIMBPERM
    linkageType: ''
    returnType: void
    signature: 'void gf_serialize(uint8_t *serial, const gf x, int with_hibit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMB_PLACE_VALUE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:76,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:86,1
    - Dst: LIMB_MASK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:87,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:76,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:87,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:88,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:88,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:89,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:89,1
    - Dst: gf_hibit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:94,1
    - Dst: word_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:95,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:92,1
    - Dst: word_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:95,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 4
    argNames:
    - x
    - serial
    - with_hibit
    - hi_nmask
    argTypes:
    - gf
    - uint8_t
    - int
    - uint8_t
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: gf_deserialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - LIMB_MASK
    - gf_hibit
    - LIMB_PLACE_VALUE
    - LIMBPERM
    - word_is_zero
    linkageType: ''
    returnType: mask_t
    signature: 'mask_t gf_deserialize(gf x, const uint8_t serial[SER_BYTES], int with_hibit,
      uint8_t hi_nmask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:107,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:114,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:114,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:115,1
    - Dst: LIMB_MASK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:115,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:115,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:116,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:116,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:124,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:131,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:132,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:133,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:134,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:134,1
    - Dst: LIMB_MASK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:133,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:137,1
    - Dst: LIMBPERM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    constantsTouched: []
    func_position:
      end: 138
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 138
    functionName: gf_strong_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - assert
    - LIMB_MASK
    - gf_weak_reduce
    - LIMB_PLACE_VALUE
    - LIMBPERM
    linkageType: ''
    returnType: void
    signature: 'void gf_strong_reduce(gf a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add_RAW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:151,1
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - d
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: gf_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/f_generic.c
    functionUses: []
    functionsReached:
    - gf_weak_reduce
    - gf_add_RAW
    linkageType: ''
    returnType: void
    signature: 'void gf_add(gf d, const gf a, const gf b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oneshot_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - x
    - ed
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t
    - uint8_t
    - char*
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: ossl_c448_ed448_convert_private_key_to_x448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - oneshot_hash
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_c448_ed448_convert_private_key_to_x448( OSSL_LIB_CTX
      *ctx, uint8_t x[X448_PRIVATE_BYTES], const uint8_t ed [EDDSA_448_PRIVATE_BYTES],
      const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - secret_scalar_ser
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: clamp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clamp(uint8_t secret_scalar_ser[EDDSA_448_PRIVATE_BYTES]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: oneshot_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:184,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:188,1
    - Dst: clamp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:187,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:227,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:239,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:247,1
    - Dst: ossl_curve448_scalar_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:248,1
    - Dst: hash_init_with_dom
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:192,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:226,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:211,1
    - Dst: ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:225,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:221,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:210,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:251,1
    - Dst: ossl_curve448_scalar_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:252,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:257,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:167,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:194,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:197,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:201,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:208,1
    - Dst: hash_init_with_dom
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:234,1
    - Dst: ossl_curve448_precomputed_scalarmul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:223,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:237,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:238,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:256,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:198,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:219,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:236,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:242,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:244,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:250,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:255,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:261,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    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*
    constantsTouched: []
    func_position:
      end: 263
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 263
    functionName: ossl_c448_ed448_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_curve448_scalar_halve
    - ossl_curve448_point_destroy
    - hash_init_with_dom
    - EVP_DigestUpdate
    - ossl_curve448_scalar_mul
    - ossl_curve448_scalar_encode
    - EVP_MD_CTX_new
    - ossl_curve448_scalar_destroy
    - EVP_MD_CTX_free
    - memcpy
    - EVP_DigestFinalXOF
    - ossl_curve448_scalar_decode_long
    - clamp
    - OPENSSL_cleanse
    - ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    - ossl_curve448_scalar_add
    - ossl_curve448_precomputed_scalarmul
    - oneshot_hash
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_c448_ed448_sign(OSSL_LIB_CTX *ctx, uint8_t signature[EDDSA_448_SIGNATURE_BYTES],
      const uint8_t privkey[EDDSA_448_PRIVATE_BYTES], const uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],
      const uint8_t *message, size_t message_len, uint8_t prehashed, const uint8_t
      *context, size_t context_len, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:317,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:329,1
    - Dst: hash_init_with_dom
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:333,1
    - Dst: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:323,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:335,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:336,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:337,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:338,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:339,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:343,1
    - Dst: ossl_curve448_base_double_scalarmul_non_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:356,1
    - Dst: c448_succeed_if
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:359,1
    - Dst: ossl_curve448_scalar_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:348,1
    - Dst: ossl_curve448_point_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:359,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:346,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:344,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:351,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    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*
    constantsTouched: []
    func_position:
      end: 360
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 360
    functionName: ossl_c448_ed448_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - hash_init_with_dom
    - EVP_DigestUpdate
    - ossl_curve448_scalar_sub
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestFinalXOF
    - ossl_curve448_scalar_decode_long
    - OPENSSL_cleanse
    - ossl_curve448_base_double_scalarmul_non_secret
    - ossl_curve448_point_eq
    - c448_succeed_if
    - ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_c448_ed448_verify( OSSL_LIB_CTX *ctx, const uint8_t
      signature[EDDSA_448_SIGNATURE_BYTES], const uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],
      const uint8_t *message, size_t message_len, uint8_t prehashed, const uint8_t
      *context, uint8_t context_len, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 9
    argNames:
    - ctx
    - out_sig
    - message
    - message_len
    - public_key
    - private_key
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: ossl_ed448_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_c448_ed448_sign
    linkageType: ''
    returnType: int
    signature: 'int ossl_ed448_sign(OSSL_LIB_CTX *ctx, uint8_t *out_sig, const uint8_t
      *message, size_t message_len, const uint8_t public_key[57], const uint8_t private_key[57],
      const uint8_t *context, size_t context_len, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_sign_prehash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - ctx
    - out_sig
    - hash
    - public_key
    - private_key
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 403
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 403
    functionName: ossl_ed448ph_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_c448_ed448_sign_prehash
    linkageType: ''
    returnType: int
    signature: 'int ossl_ed448ph_sign(OSSL_LIB_CTX *ctx, uint8_t *out_sig, const uint8_t
      hash[64], const uint8_t public_key[57], const uint8_t private_key[57], const
      uint8_t *context, size_t context_len, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:26,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:37,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:38,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:39,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:33,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:44,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:45,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 47
    functionName: oneshot_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestFinalXOF
    - EVP_DigestInit_ex
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: c448_error_t
    signature: 'static c448_error_t oneshot_hash(OSSL_LIB_CTX *ctx, uint8_t *out,
      size_t outlen, const uint8_t *in, size_t inlen, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oneshot_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:122,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:142,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:130,1
    - Dst: ossl_curve448_precomputed_scalarmul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:144,1
    - Dst: clamp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:128,1
    - Dst: ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:147,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:150,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:151,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - privkey
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t
    - uint8_t
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 155
    functionName: ossl_c448_ed448_derive_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_curve448_scalar_halve
    - ossl_curve448_point_destroy
    - ossl_curve448_scalar_destroy
    - ossl_curve448_scalar_decode_long
    - clamp
    - ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    - OPENSSL_cleanse
    - ossl_curve448_precomputed_scalarmul
    - oneshot_hash
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_c448_ed448_derive_public_key( OSSL_LIB_CTX *ctx,
      uint8_t pubkey[EDDSA_448_PUBLIC_BYTES], const uint8_t privkey[EDDSA_448_PRIVATE_BYTES],
      const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:79,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:83,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:84,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:85,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:84,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:86,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:87,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    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*
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: hash_init_with_dom
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestInit_ex
    - EVP_MD_free
    - EVP_MD_fetch
    - strlen
    linkageType: ''
    returnType: c448_error_t
    signature: 'static c448_error_t hash_init_with_dom(OSSL_LIB_CTX *ctx, EVP_MD_CTX
      *hashctx, uint8_t prehashed, uint8_t for_prehash, const uint8_t *context, size_t
      context_len, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    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*
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: ossl_c448_ed448_sign_prehash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_c448_ed448_sign
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_c448_ed448_sign_prehash( OSSL_LIB_CTX *ctx, uint8_t
      signature[EDDSA_448_SIGNATURE_BYTES], const uint8_t privkey[EDDSA_448_PRIVATE_BYTES],
      const uint8_t pubkey[EDDSA_448_PUBLIC_BYTES], const uint8_t hash[64], const
      uint8_t *context, size_t context_len, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    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*
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: ossl_c448_ed448_verify_prehash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_c448_ed448_verify
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_c448_ed448_verify_prehash( OSSL_LIB_CTX *ctx, const
      uint8_t signature[EDDSA_448_SIGNATURE_BYTES], const uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],
      const uint8_t hash[64], const uint8_t *context, uint8_t context_len, const char
      *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 8
    argNames:
    - ctx
    - message
    - message_len
    - signature
    - public_key
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: ossl_ed448_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_c448_ed448_verify
    linkageType: ''
    returnType: int
    signature: 'int ossl_ed448_verify(OSSL_LIB_CTX *ctx, const uint8_t *message, size_t
      message_len, const uint8_t signature[114], const uint8_t public_key[57], const
      uint8_t *context, size_t context_len, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_verify_prehash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 7
    argNames:
    - ctx
    - hash
    - signature
    - public_key
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: ossl_ed448ph_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    functionsReached:
    - ossl_c448_ed448_verify_prehash
    linkageType: ''
    returnType: int
    signature: 'int ossl_ed448ph_verify(OSSL_LIB_CTX *ctx, const uint8_t hash[64],
      const uint8_t signature[114], const uint8_t public_key[57], const uint8_t *context,
      size_t context_len, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_derive_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out_public_key
    - private_key
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t
    - uint8_t
    - char*
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: ossl_ed448_public_from_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/eddsa.c
    functionUses: []
    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],
      const uint8_t private_key[57], const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - out
    - accum
    - sub
    - p
    - extra
    argTypes:
    - curve448_scalar_t
    - c448_word_t
    - curve448_scalar_t
    - curve448_scalar_t
    - c448_word_t
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: sc_subx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void sc_subx(curve448_scalar_t out, const c448_word_t accum[C448_SCALAR_LIMBS],
      const curve448_scalar_t sub, const curve448_scalar_t p, c448_word_t extra) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_montmul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:111,1
    - Dst: sc_montmul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: ossl_curve448_scalar_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached:
    - sc_montmul
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_scalar_mul(curve448_scalar_t out, const curve448_scalar_t
      a, const curve448_scalar_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_subx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: ossl_curve448_scalar_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached:
    - sc_subx
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_scalar_add(curve448_scalar_t out, const curve448_scalar_t
      a, const curve448_scalar_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_decode_short
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:159,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:164,1
    - Dst: c448_succeed_if
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:166,1
    - Dst: word_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - ser
    argTypes:
    - curve448_scalar_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: ossl_curve448_scalar_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached:
    - word_is_zero
    - ossl_curve448_scalar_mul
    - scalar_decode_short
    - c448_succeed_if
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_curve448_scalar_decode(curve448_scalar_t s, const
      unsigned char ser[C448_SCALAR_BYTES]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curve448_scalar_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:182,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:193,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:195,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:196,1
    - Dst: scalar_decode_short
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:190,1
    - Dst: sc_montmul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:202,1
    - Dst: ossl_curve448_scalar_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:203,1
    - Dst: ossl_curve448_scalar_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:204,1
    - Dst: curve448_scalar_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:207,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:208,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - s
    - ser
    - ser_len
    argTypes:
    - curve448_scalar_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: ossl_curve448_scalar_decode_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached:
    - ossl_curve448_scalar_decode
    - ossl_curve448_scalar_mul
    - assert
    - ossl_curve448_scalar_destroy
    - curve448_scalar_copy
    - ossl_curve448_scalar_add
    - scalar_decode_short
    - sc_montmul
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_scalar_decode_long(curve448_scalar_t s, const unsigned
      char *ser, size_t ser_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sc_subx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 106
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 106
    functionName: sc_montmul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached:
    - sc_subx
    linkageType: ''
    returnType: void
    signature: 'static void sc_montmul(curve448_scalar_t out, const curve448_scalar_t
      a, const curve448_scalar_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_subx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: ossl_curve448_scalar_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached:
    - sc_subx
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_scalar_sub(curve448_scalar_t out, const curve448_scalar_t
      a, const curve448_scalar_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - ser
    - nbytes
    argTypes:
    - curve448_scalar_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: scalar_decode_short
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void scalar_decode_short(curve448_scalar_t s, const
      unsigned char *ser, size_t nbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: ossl_curve448_scalar_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_scalar_destroy(curve448_scalar_t scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ser
    - s
    argTypes:
    - unsigned char
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: ossl_curve448_scalar_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_scalar_encode(unsigned char ser[C448_SCALAR_BYTES],
      const curve448_scalar_t s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: ossl_curve448_scalar_halve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/scalar.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t
      a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_RAW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:114,1
    - Dst: gf_bias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:115,1
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - c
    - a
    - b
    - amt
    argTypes:
    - gf
    - gf
    - gf
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: gf_subx_nr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached:
    - gf_bias
    - gf_sub_RAW
    - gf_weak_reduce
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void gf_subx_nr(gf c, const gf a, const gf b, int
      amt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:153,1
    - Dst: gf_cond_sel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - neg
    argTypes:
    - gf
    - mask_t
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: gf_cond_neg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached:
    - gf_cond_sel
    - gf_sub
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void gf_cond_neg(gf x, mask_t neg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_cond_swap_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:164,1
    - Dst: constant_time_cond_swap_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - x
    - RESTRICT
    - y
    - swap
    argTypes:
    - gf
    - gf_s*
    - mask_t
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: gf_cond_swap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached:
    - constant_time_cond_swap_32
    - constant_time_cond_swap_64
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void gf_cond_swap(gf x, gf_s * RESTRICT y, mask_t
      swap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: gf_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: INLINE_UNUSED
    signature: 'static INLINE_UNUSED void gf_copy(gf out, const gf a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_mulw_unsigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:124,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:127,1
    - Dst: gf_mulw_unsigned
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - c
    - a
    - w
    argTypes:
    - gf
    - gf
    - int32_t
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: gf_mulw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached:
    - gf_mulw_unsigned
    - gf_sub
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void gf_mulw(gf c, const gf a, int32_t w) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:85,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:90,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:95,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:91,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:87,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - RESTRICT
    - y
    - x
    - n
    argTypes:
    - gf_s*
    - gf
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: gf_sqrn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached:
    - gf_sqr
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void gf_sqrn(gf_s * RESTRICT y, const gf x, int
      n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_RAW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:105,1
    - Dst: gf_bias
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:106,1
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: gf_sub_nr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached:
    - gf_bias
    - gf_sub_RAW
    - gf_weak_reduce
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void gf_sub_nr(gf c, const gf a, const gf b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:138,1
    - Dst: constant_time_select_64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - x
    - y
    - z
    - is_z
    argTypes:
    - gf
    - gf
    - gf
    - mask_t
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: gf_cond_sel
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/field.h
    functionUses: []
    functionsReached:
    - constant_time_select_32
    - constant_time_select_64
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void gf_cond_sel(gf x, const gf y, const gf z,
      mask_t is_z) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:65,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:69,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:67,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:68,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:66,1
    - Dst: gf_subx_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:70,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:71,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:72,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:73,1
    - Dst: gf_subx_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:74,1
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:76,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:77,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:81,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:78,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - p
    - q
    - before_double
    argTypes:
    - curve448_point_t
    - curve448_point_t
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: point_double_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_sub_nr
    - gf_sqr
    - gf_weak_reduce
    - gf_mul
    - gf_add_nr
    - gf_subx_nr
    linkageType: ''
    returnType: void
    signature: 'static void point_double_internal(curve448_point_t p, const curve448_point_t
      q, int before_double) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point_double_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - curve448_point_t
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ossl_curve448_point_double
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - point_double_internal
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_point_double(curve448_point_t p, const curve448_point_t
      q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:46,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:50,1
    - Dst: gf_isr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:47,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:52,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:51,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - y
    - x
    - assert_nonzero
    argTypes:
    - gf
    - gf
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: gf_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_copy
    - assert
    - gf_sqr
    - gf_isr
    - gf_mul
    linkageType: ''
    returnType: void
    signature: 'static void gf_invert(gf y, const gf x, int assert_nonzero) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:194,1
    - Dst: gf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:196,1
    - Dst: mask_to_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:198,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - curve448_point_t
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: ossl_curve448_point_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_eq
    - mask_to_bool
    - gf_mul
    linkageType: ''
    returnType: c448_bool_t
    signature: 'c448_bool_t ossl_curve448_point_eq(const curve448_point_t p, const
      curve448_point_t q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - RESTRICT
    - ni
    - table
    - nelts
    - idx
    argTypes:
    - niels_s*
    - niels_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: constant_time_lookup_niels
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - constant_time_lookup
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void constant_time_lookup_niels(niels_s * RESTRICT
      ni, const niels_t * table, int nelts, int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_deserialize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:394,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:395,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:427,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:430,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:432,1
    - Dst: gf_cond_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:447,1
    - Dst: gf_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:448,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:449,1
    - Dst: gf_serialize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:450,1
    - Dst: c448_succeed_if
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:461,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:398,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:424,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:428,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:437,1
    - Dst: gf_mulw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:440,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:442,1
    - Dst: mask_to_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:461,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:397,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:423,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:425,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:429,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:435,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:433,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:436,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:438,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:441,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:458,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:457,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:396,1
    - Dst: gf_cond_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:414,1
    - Dst: gf_cond_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:415,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:426,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:431,1
    - Dst: gf_cond_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:446,1
    - Dst: gf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:451,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:453,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:454,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:455,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:459,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 3
    argNames:
    - out
    - base
    - scalar
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 462
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 462
    functionName: ossl_x448_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_sub_nr
    - gf_invert
    - gf_copy
    - gf_sqr
    - gf_serialize
    - OPENSSL_cleanse
    - mask_to_bool
    - gf_mul
    - gf_add_nr
    - gf_eq
    - gf_deserialize
    - gf_cond_swap
    - gf_mulw
    - c448_succeed_if
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_x448_int(uint8_t out[X_PUBLIC_BYTES], const uint8_t
      base[X_PUBLIC_BYTES], const uint8_t scalar[X_PRIVATE_BYTES]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:294,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:292,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:305,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:311,1
    - Dst: gf_serialize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:315,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:310,1
    - Dst: gf_lobit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:316,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:322,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:297,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:298,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:299,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:318,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:319,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:320,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:321,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:295,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:293,1
    - Dst: curve448_point_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:286,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:296,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:300,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:301,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:302,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:303,1
    - Dst: gf_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:309,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - uint8_t
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 323
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 323
    functionName: ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - ossl_curve448_point_destroy
    - gf_invert
    - gf_sub
    - gf_sqr
    - gf_serialize
    - OPENSSL_cleanse
    - gf_lobit
    - gf_mul
    - gf_add
    - curve448_point_copy
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa( uint8_t
      enc[EDDSA_448_PUBLIC_BYTES], const curve448_point_t p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pt_to_pniels
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:616,1
    - Dst: add_pniels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:624,1
    - Dst: pt_to_pniels
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:625,1
    - Dst: ossl_curve448_point_double
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:621,1
    - Dst: pt_to_pniels
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:622,1
    - Dst: add_pniels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:628,1
    - Dst: pt_to_pniels
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:629,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:632,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - output
    - working
    - tbits
    argTypes:
    - pniels_t*
    - curve448_point_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 634
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 634
    functionName: prepare_wnaf_table
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - ossl_curve448_point_destroy
    - ossl_curve448_point_double
    - OPENSSL_cleanse
    - pt_to_pniels
    - add_pniels_to_pt
    linkageType: ''
    returnType: void
    signature: 'static void prepare_wnaf_table(pniels_t * output, const curve448_point_t
      working, unsigned int tbits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:207,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:208,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:210,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:211,1
    - Dst: gf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:209,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:212,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:213,1
    - Dst: gf_mulw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:214,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:215,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:216,1
    - Dst: gf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:217,1
    - Dst: gf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:218,1
    - Dst: mask_to_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: ossl_curve448_point_valid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_sub
    - gf_sqr
    - gf_mul
    - gf_add
    - gf_eq
    - mask_to_bool
    - gf_mulw
    linkageType: ''
    returnType: c448_bool_t
    signature: 'c448_bool_t ossl_curve448_point_valid(const curve448_point_t p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_curve448_scalar_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:239,1
    - Dst: point_double_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:244,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:240,1
    - Dst: cond_neg_niels
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:265,1
    - Dst: constant_time_lookup_niels
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:262,1
    - Dst: add_niels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:267,1
    - Dst: niels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:269,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:273,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 3
    argNames:
    - out
    - table
    - scalar
    argTypes:
    - curve448_point_t
    - curve448_precomputed_s*
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 275
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 275
    functionName: ossl_curve448_precomputed_scalarmul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - ossl_curve448_scalar_halve
    - niels_to_pt
    - add_niels_to_pt
    - cond_neg_niels
    - OPENSSL_cleanse
    - point_double_internal
    - ossl_curve448_scalar_add
    - constant_time_lookup_niels
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_precomputed_scalarmul(curve448_point_t out, const
      curve448_precomputed_s * table, const curve448_scalar_t scalar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_deserialize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:339,1
    - Dst: word_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:340,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:342,1
    - Dst: gf_mulw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:344,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:361,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:362,1
    - Dst: ossl_curve448_point_valid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:379,1
    - Dst: c448_succeed_if
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:381,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:347,1
    - Dst: gf_lobit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:351,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:359,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:352,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:364,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:368,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:372,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:373,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:374,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:375,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:334,1
    - Dst: word_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:336,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:343,1
    - Dst: gf_cond_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:351,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:358,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:363,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:365,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:367,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:371,1
    - Dst: mask_to_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:381,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:345,1
    - Dst: gf_isr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:348,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:360,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:350,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:366,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:369,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:370,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:378,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 2
    argNames:
    - p
    - enc
    argTypes:
    - curve448_point_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 382
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 382
    functionName: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_copy
    - gf_sub
    - gf_sqr
    - assert
    - memcpy
    - OPENSSL_cleanse
    - gf_lobit
    - mask_to_bool
    - gf_isr
    - gf_mul
    - gf_cond_neg
    - ossl_curve448_point_valid
    - gf_add
    - gf_mulw
    - gf_deserialize
    - word_is_zero
    - c448_succeed_if
    linkageType: ''
    returnType: c448_error_t
    signature: 'c448_error_t ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio(
      curve448_point_t p, const uint8_t enc[EDDSA_448_PUBLIC_BYTES]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve448_point_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:471,1
    - Dst: gf_serialize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:475,1
    - Dst: gf_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:472,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:473,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:474,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - uint8_t
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 477
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 477
    functionName: ossl_curve448_point_mul_by_ratio_and_encode_like_x448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - ossl_curve448_point_destroy
    - gf_invert
    - gf_sqr
    - gf_serialize
    - gf_mul
    - curve448_point_copy
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_point_mul_by_ratio_and_encode_like_x448(uint8_t
      out[X_PUBLIC_BYTES], const curve448_point_t p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 548
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 548
    functionName: numtrailingzeros
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t numtrailingzeros(uint32_t i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NUMTRAILINGZEROS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:583,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:588,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:587,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 3
    argNames:
    - control
    - /* [nbits/(table_bits + 1) + 3] */
    - scalar
    - table_bits
    argTypes:
    - struct smvt_control*
    - curve448_scalar_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 606
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 606
    functionName: recode_wnaf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - assert
    - NUMTRAILINGZEROS
    linkageType: ''
    returnType: int
    signature: 'static int recode_wnaf(struct smvt_control *control, /* [nbits/(table_bits
      + 1) + 3] */ const curve448_scalar_t scalar, unsigned int table_bits) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pniels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:661,1
    - Dst: pniels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:664,1
    - Dst: sub_niels_from_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:704,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:713,1
    - Dst: add_pniels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:686,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:714,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:716,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:718,1
    - Dst: prepare_wnaf_table
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:653,1
    - Dst: curve448_point_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:657,1
    - Dst: add_niels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:700,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:712,1
    - Dst: recode_wnaf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:649,1
    - Dst: add_niels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:665,1
    - Dst: niels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:672,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:683,1
    - Dst: recode_wnaf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:648,1
    - Dst: point_double_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:680,1
    - Dst: sub_pniels_from_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:690,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:697,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 4
    argNames:
    - combo
    - scalar1
    - base2
    - scalar2
    argTypes:
    - curve448_point_t
    - curve448_scalar_t
    - curve448_point_t
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 720
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 720
    functionName: ossl_curve448_base_double_scalarmul_non_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - niels_to_pt
    - sub_niels_from_pt
    - recode_wnaf
    - add_niels_to_pt
    - assert
    - OPENSSL_cleanse
    - point_double_internal
    - prepare_wnaf_table
    - sub_pniels_from_pt
    - add_pniels_to_pt
    - pniels_to_pt
    - curve448_point_copy
    linkageType: ''
    returnType: void
    signature: 'void ossl_curve448_base_double_scalarmul_non_secret(curve448_point_t
      combo, const curve448_scalar_t scalar1, const curve448_point_t base2, const
      curve448_scalar_t scalar2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cond_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:92,1
    - Dst: gf_cond_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - n
    - neg
    argTypes:
    - niels_t
    - mask_t
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: cond_neg_niels
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_cond_swap
    - gf_cond_neg
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void cond_neg_niels(niels_t n, mask_t neg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:108,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:112,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:110,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:111,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:109,1
    - Dst: gf_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - d
    argTypes:
    - curve448_point_t
    - pniels_t
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: pniels_to_pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_sqr
    - gf_mul
    - gf_sub
    - gf_add
    linkageType: ''
    returnType: void
    signature: 'static void pniels_to_pt(curve448_point_t e, const pniels_t d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:129,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:131,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:133,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:130,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:132,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:134,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:135,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:136,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:137,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:138,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:142,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:139,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - d
    - e
    - before_double
    argTypes:
    - curve448_point_t
    - niels_t
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: add_niels_to_pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_sub_nr
    - gf_mul
    - gf_add_nr
    linkageType: ''
    returnType: void
    signature: 'static void add_niels_to_pt(curve448_point_t d, const niels_t e, int
      before_double) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:171,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:172,1
    - Dst: add_niels_to_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - pn
    - before_double
    argTypes:
    - curve448_point_t
    - pniels_t
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: add_pniels_to_pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_mul
    - gf_copy
    - add_niels_to_pt
    linkageType: ''
    returnType: void
    signature: 'static void add_pniels_to_pt(curve448_point_t p, const pniels_t pn,
      int before_double) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:98,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:101,1
    - Dst: gf_mulw
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:100,1
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - a
    argTypes:
    - pniels_t
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: pt_to_pniels
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_mulw
    - gf_sub
    - gf_add
    linkageType: ''
    returnType: void
    signature: 'static void pt_to_pniels(pniels_t b, const curve448_point_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:118,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:120,1
    - Dst: gf_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:119,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - e
    - n
    argTypes:
    - curve448_point_t
    - niels_t
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: niels_to_pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_mul
    - gf_copy
    - gf_sub
    - gf_add
    linkageType: ''
    returnType: void
    signature: 'static void niels_to_pt(curve448_point_t e, const niels_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:150,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:154,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:151,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:153,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:152,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:155,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:156,1
    - Dst: gf_add_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:157,1
    - Dst: gf_sub_nr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:158,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:159,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:160,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:163,1
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - d
    - e
    - before_double
    argTypes:
    - curve448_point_t
    - niels_t
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: sub_niels_from_pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - gf_sub_nr
    - gf_mul
    - gf_add_nr
    linkageType: ''
    returnType: void
    signature: 'static void sub_niels_from_pt(curve448_point_t d, const niels_t e,
      int before_double) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:181,1
    - Dst: sub_niels_from_pt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:183,1
    - Dst: gf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - pn
    - before_double
    argTypes:
    - curve448_point_t
    - pniels_t
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: sub_pniels_from_pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - sub_niels_from_pt
    - gf_mul
    - gf_copy
    linkageType: ''
    returnType: void
    signature: 'static void sub_pniels_from_pt(curve448_point_t p, const pniels_t
      pn, int before_double) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:488,1
    - Dst: ossl_curve448_precomputed_scalarmul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:500,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:494,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:498,1
    - Dst: ossl_curve448_point_mul_by_ratio_and_encode_like_x448
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:502,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 504
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 504
    functionName: ossl_x448_derive_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - ossl_curve448_scalar_halve
    - ossl_curve448_point_destroy
    - memcpy
    - ossl_curve448_scalar_decode_long
    - ossl_curve448_point_mul_by_ratio_and_encode_like_x448
    - ossl_curve448_precomputed_scalarmul
    linkageType: ''
    returnType: void
    signature: 'void ossl_x448_derive_public_key(uint8_t out[X_PUBLIC_BYTES], const
      uint8_t scalar[X_PRIVATE_BYTES]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: ossl_curve448_point_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out_shared_key
    - private_key
    - peer_public_value
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: ossl_x448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - ossl_x448_int
    linkageType: ''
    returnType: int
    signature: 'int ossl_x448(uint8_t out_shared_key[56], const uint8_t private_key[56],
      const uint8_t peer_public_value[56]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x448_derive_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - out_public_value
    - private_key
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 738
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 738
    functionName: ossl_x448_public_from_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448.c
    functionUses: []
    functionsReached:
    - ossl_x448_derive_public_key
    linkageType: ''
    returnType: void
    signature: 'void ossl_x448_public_from_private(uint8_t out_public_value[56], const
      uint8_t private_key[56]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - c448_bool_t
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: c448_succeed_if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/curve448utils.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline c448_error_t c448_succeed_if(c448_bool_t x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: curve448_scalar_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/point_448.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void curve448_scalar_copy(curve448_scalar_t out,
      const curve448_scalar_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - curve448_point_t
    - curve448_point_t
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: curve448_point_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/point_448.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void curve448_point_copy(curve448_point_t a, const
      curve448_point_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: widemul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t widemul(uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: gf_add_RAW
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_add_RAW(gf out, const gf a, const gf b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: gf_weak_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_weak_reduce(gf a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - amt
    argTypes:
    - gf
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: gf_bias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bias(gf a, int amt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: gf_sub_RAW
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_sub_RAW(gf out, const gf a, const gf b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:40,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:42,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:48,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:49,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:41,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 3
    argNames:
    - RESTRICT
    - cs
    - as
    - bs
    argTypes:
    - gf_s*
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 70
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 70
    functionName: gf_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c
    functionUses: []
    functionsReached:
    - widemul
    linkageType: ''
    returnType: void
    signature: 'void gf_mul(gf_s * RESTRICT cs, const gf as, const gf bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - RESTRICT
    - cs
    - as
    argTypes:
    - gf_s*
    - gf
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: gf_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c
    functionUses: []
    functionsReached:
    - gf_mul
    linkageType: ''
    returnType: void
    signature: 'void gf_sqr(gf_s * RESTRICT cs, const gf as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:80,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:83,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - RESTRICT
    - cs
    - as
    - b
    argTypes:
    - gf_s*
    - gf
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: gf_mulw_unsigned
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_32/f_impl32.c
    functionUses: []
    functionsReached:
    - widemul
    - assert
    linkageType: ''
    returnType: void
    signature: 'void gf_mulw_unsigned(gf_s * RESTRICT cs, const gf as, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:42,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:47,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:48,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:44,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:43,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:49,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    argCount: 3
    argNames:
    - RESTRICT
    - cs
    - as
    - bs
    argTypes:
    - gf_s*
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: gf_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c
    functionUses: []
    functionsReached:
    - widemul
    linkageType: ''
    returnType: void
    signature: 'void gf_mul(gf_s * RESTRICT cs, const gf as, const gf bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:133,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:115,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:116,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:139,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:144,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:154,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:143,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:155,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:145,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:173,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:180,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:186,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:185,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:161,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:181,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:174,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:184,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:114,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:118,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:119,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:120,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:131,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:132,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:136,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:160,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:153,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:137,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:162,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:182,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 130
    argCount: 2
    argNames:
    - RESTRICT
    - cs
    - as
    argTypes:
    - gf_s*
    - gf
    constantsTouched: []
    func_position:
      end: 208
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 208
    functionName: gf_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c
    functionUses: []
    functionsReached:
    - widemul
    linkageType: ''
    returnType: void
    signature: 'void gf_sqr(gf_s * RESTRICT cs, const gf as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:84,1
    - Dst: widemul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - RESTRICT
    - cs
    - as
    - b
    argTypes:
    - gf_s*
    - gf
    - uint32_t
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: gf_mulw_unsigned
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl64.c
    functionUses: []
    functionsReached:
    - widemul
    linkageType: ''
    returnType: void
    signature: 'void gf_mulw_unsigned(gf_s * RESTRICT cs, const gf as, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: widemul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/arch_intrinsics.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint128_t widemul(uint64_t a, uint64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl.h:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: gf_add_RAW
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: []
    functionsReached:
    - gf_weak_reduce
    linkageType: ''
    returnType: void
    signature: 'void gf_add_RAW(gf out, const gf a, const gf b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: gf_weak_reduce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_weak_reduce(gf a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - a
    - amt
    argTypes:
    - gf
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: gf_bias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void gf_bias(gf a, int amt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_weak_reduce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl.h:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: gf_sub_RAW
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: []
    functionsReached:
    - gf_weak_reduce
    linkageType: ''
    returnType: void
    signature: 'void gf_sub_RAW(gf out, const gf a, const gf b) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:114,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:124,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:122,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:118,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:116,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:126,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:130,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:132,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:134,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 22
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 140
    functionName: i2r_ocsp_crlid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - ASN1_GENERALIZEDTIME_print
    - i2a_ASN1_INTEGER
    - ASN1_STRING_print
    linkageType: ''
    returnType: int
    signature: 'static int i2r_ocsp_crlid(const X509V3_EXT_METHOD *method, void *in,
      BIO *bp, int ind) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:155,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - method
    - oid
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: i2r_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2a_ASN1_OBJECT
    linkageType: ''
    returnType: int
    signature: 'static int i2r_object(const X509V3_EXT_METHOD *method, void *oid,
      BIO *bp, int ind) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: i2d_ocsp_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int i2d_ocsp_nonce(const void *a, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: ocsp_nonce_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: 'static void ocsp_nonce_free(void *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - method
    - nocheck
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: i2r_ocsp_nocheck
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int i2r_ocsp_nocheck(const X509V3_EXT_METHOD *method, void
      *nocheck, BIO *out, int indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:145,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - method
    - cutoff
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: i2r_ocsp_acutoff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_GENERALIZEDTIME_print
    linkageType: ''
    returnType: int
    signature: 'static int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void
      *cutoff, BIO *bp, int ind) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:205,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:193,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:204,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - void*
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: d2i_ocsp_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_set
    - ERR_raise
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void*
    signature: 'static void *d2i_ocsp_nonce(void *a, const unsigned char **pp, long
      length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:217,1
    - Dst: i2a_ASN1_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - method
    - nonce
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: i2r_ocsp_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2a_ASN1_STRING
    linkageType: ''
    returnType: int
    signature: 'static int i2r_ocsp_nonce(const X509V3_EXT_METHOD *method, void *nonce,
      BIO *out, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: s2i_ocsp_nocheck
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void*
    signature: 'static void *s2i_ocsp_nocheck(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:245,1
    - Dst: sk_ACCESS_DESCRIPTION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:249,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:247,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:251,1
    - Dst: sk_ACCESS_DESCRIPTION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:250,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:253,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:255,1
    - Dst: GENERAL_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:257,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 263
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 263
    functionName: i2r_ocsp_serviceloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - sk_ACCESS_DESCRIPTION_num
    - sk_ACCESS_DESCRIPTION_value
    - GENERAL_NAME_print
    - i2a_ASN1_OBJECT
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int i2r_ocsp_serviceloc(const X509V3_EXT_METHOD *method, void
      *in, BIO *bp, int ind) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: ocsp_nonce_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: void*
    signature: 'static void *ocsp_nonce_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: OCSP_ONEREQ_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: OCSP_BASICRESP_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, const ASN1_OBJECT
      *obj, int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: OCSP_BASICRESP_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: OCSP_ONEREQ_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, const ASN1_OBJECT *obj,
      int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: OCSP_BASICRESP_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: 'int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit,
      int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: OCSP_BASICRESP_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_add1_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - req
    - val
    - len
    argTypes:
    - OCSP_REQUEST*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: OCSP_request_add1_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - ocsp_add1_nonce
    linkageType: ''
    returnType: int
    signature: 'int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val,
      int len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_REQUEST_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:320,1
    - Dst: OCSP_BASICRESP_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:321,1
    - Dst: OCSP_REQUEST_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:334,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:336,1
    - Dst: OCSP_BASICRESP_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:335,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:336,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - req
    - bs
    argTypes:
    - OCSP_REQUEST*
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 340
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 340
    functionName: OCSP_check_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - OCSP_REQUEST_get_ext_by_NID
    - OCSP_BASICRESP_get_ext
    - OCSP_BASICRESP_get_ext_by_NID
    - ASN1_OCTET_STRING_cmp
    - OCSP_REQUEST_get_ext
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: int
    signature: 'int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_REQUEST*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: OCSP_REQUEST_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: 'int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_ONEREQ*
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: OCSP_ONEREQ_add1_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: 'int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value,
      int crit, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: OCSP_SINGLERESP_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_add1_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: OCSP_SINGLERESP_add1_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: 'int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void
      *value, int crit, unsigned long flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:257,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:265,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:267,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:268,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:261,1
    - Dst: X509V3_add1_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:270,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:275,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - exts
    - val
    - len
    argTypes:
    - STACK_OF(X509_EXTENSION)**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 277
    functionName: ocsp_add1_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - ASN1_put_object
    - X509V3_add1_i2d
    - memcpy
    - ASN1_object_size
    - RAND_bytes
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_add1_nonce(STACK_OF(X509_EXTENSION) **exts, unsigned
      char *val, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_add1_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - resp
    - val
    - len
    argTypes:
    - OCSP_BASICRESP*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: OCSP_basic_add1_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - ocsp_add1_nonce
    linkageType: ''
    returnType: int
    signature: 'int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val,
      int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_REQUEST_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:351,1
    - Dst: OCSP_REQUEST_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:355,1
    - Dst: OCSP_BASICRESP_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - resp
    - req
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_REQUEST*
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: OCSP_copy_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:417,1
    - Dst: X509V3_EXT_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:421,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:423,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - tim
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: OCSP_archive_cutoff_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_i2d
    - ASN1_GENERALIZEDTIME_set_string
    - ASN1_GENERALIZEDTIME_free
    - ASN1_GENERALIZEDTIME_new
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *OCSP_archive_cutoff_new(char *tim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: OCSP_REQUEST_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: OCSP_ONEREQ_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: 'int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: OCSP_SINGLERESP_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, const ASN1_OBJECT
      *obj, int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: OCSP_SINGLERESP_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: 'int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex,
      int loc) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_CRLID_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:364,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:375,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:367,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:373,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:369,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:379,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:381,1
    - Dst: X509V3_EXT_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:384,1
    - Dst: OCSP_CRLID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:386,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 25
    argCount: 3
    argNames:
    - url
    - n
    - tim
    argTypes:
    - char*
    - long*
    - char*
    constantsTouched: []
    func_position:
      end: 388
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 388
    functionName: OCSP_crlID_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_EXT_i2d
    - ASN1_GENERALIZEDTIME_set_string
    - ASN1_INTEGER_set
    - ASN1_IA5STRING_new
    - ASN1_STRING_set
    - OCSP_CRLID_new
    - OCSP_CRLID_free
    - ASN1_INTEGER_new
    - ASN1_GENERALIZEDTIME_new
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *OCSP_crlID_new(const char *url, long *n, char *tim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_ONEREQ*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: OCSP_ONEREQ_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: 'int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:394,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:401,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:401,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:398,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:402,1
    - Dst: X509V3_EXT_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:405,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - oids
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 409
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 409
    functionName: OCSP_accept_responses_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - OBJ_txt2nid
    - X509V3_EXT_i2d
    - sk_ASN1_OBJECT_push
    - OBJ_nid2obj
    - sk_ASN1_OBJECT_pop_free
    - sk_ASN1_OBJECT_new_null
    - STACK_OF
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *OCSP_accept_responses_new(char **oids) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: OCSP_REQUEST_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: 'int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, const ASN1_OBJECT
      *obj, int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_REQUEST*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: OCSP_REQUEST_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_get_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_REQUEST*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: OCSP_REQUEST_get1_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_REQUEST*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: OCSP_REQUEST_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: 'int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int
      loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: OCSP_ONEREQ_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: OCSP_ONEREQ_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_SINGLERESP*
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: OCSP_SINGLERESP_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: OCSP_SINGLERESP_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: 'int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit,
      int lastpos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: OCSP_REQUEST_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_REQUEST*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: OCSP_REQUEST_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_REQUEST*
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: OCSP_REQUEST_add1_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: 'int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value,
      int crit, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: OCSP_ONEREQ_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_get_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: OCSP_ONEREQ_get1_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: OCSP_SINGLERESP_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_get_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: OCSP_SINGLERESP_get1_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void*
    signature: 'void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int
      *crit, int *idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: OCSP_BASICRESP_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: 'int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex,
      int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: OCSP_BASICRESP_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: OCSP_BASICRESP_get1_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void*
    signature: 'void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int
      *crit, int *idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: OCSP_BASICRESP_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    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_add1_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: OCSP_BASICRESP_add1_ext_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: 'int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value,
      int crit, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: OCSP_SINGLERESP_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int
      loc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_SERVICELOC_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:439,1
    - Dst: sk_ACCESS_DESCRIPTION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:445,1
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:448,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:441,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:442,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:450,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:452,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:454,1
    - Dst: sk_ACCESS_DESCRIPTION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:460,1
    - Dst: X509V3_EXT_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:465,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:467,1
    - Dst: OCSP_SERVICELOC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:469,1
    - Dst: ACCESS_DESCRIPTION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c:468,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 37
    argCount: 2
    argNames:
    - issuer
    - urls
    argTypes:
    - X509_NAME*
    - char**
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: OCSP_url_svcloc_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: []
    functionsReached:
    - ACCESS_DESCRIPTION_free
    - sk_ACCESS_DESCRIPTION_new_null
    - ASN1_IA5STRING_free
    - X509_NAME_free
    - X509V3_EXT_i2d
    - OCSP_SERVICELOC_free
    - X509_NAME_dup
    - OBJ_nid2obj
    - OCSP_SERVICELOC_new
    - ACCESS_DESCRIPTION_new
    - ASN1_IA5STRING_new
    - ASN1_STRING_set
    - sk_ACCESS_DESCRIPTION_push
    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/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:33,1
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:42,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:38,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:48,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:50,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:55,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:56,1
    - Dst: X509_STORE_CTX_set_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:57,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:64,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:68,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:61,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:71,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:59,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:63,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 6
    argNames:
    - signer
    - response
    - st
    - flags
    - untrusted
    - chain
    argTypes:
    - X509*
    - int
    - X509_STORE*
    - unsigned long
    - STACK_OF(X509)*
    - STACK_OF(X509)**
    constantsTouched: []
    func_position:
      end: 73
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 73
    functionName: ocsp_verify_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_set_purpose
    - X509_STORE_CTX_set_trust
    - ERR_raise
    - X509_STORE_CTX_init
    - X509_VERIFY_PARAM_set_flags
    - X509_get_ext_by_NID
    - X509_verify_cert
    - X509_STORE_CTX_get_error
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get1_chain
    - X509_STORE_CTX_free
    - X509_STORE_CTX_get0_param
    - ERR_raise_data
    - X509_VERIFY_PARAM_clear_flags
    - X509_STORE_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_verify_signer(X509 *signer, int response, X509_STORE
      *st, unsigned long flags, STACK_OF(X509) *untrusted, STACK_OF(X509) **chain) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_find_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - bs
    - signer
    - extra_certs
    argTypes:
    - OCSP_BASICRESP*
    - X509**
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: OCSP_resp_get0_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - ocsp_find_signer
    linkageType: ''
    returnType: int
    signature: 'int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer, STACK_OF(X509)
      *extra_certs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:106,1
    - Dst: ocsp_find_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:103,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:102,1
    - Dst: ocsp_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:112,1
    - Dst: sk_X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:117,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:119,1
    - Dst: ocsp_verify_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:122,1
    - Dst: ocsp_check_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:133,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:146,1
    - Dst: X509_check_trust
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:147,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:148,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:157,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:146,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 4
    argNames:
    - bs
    - certs
    - st
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - STACK_OF(X509)*
    - X509_STORE*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 159
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 159
    functionName: OCSP_basic_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - ocsp_find_signer
    - ERR_raise
    - sk_X509_pop_free
    - sk_X509_num
    - ocsp_verify
    - X509_check_trust
    - ocsp_verify_signer
    - sk_X509_dup
    - sk_X509_free
    - sk_X509_value
    - ocsp_check_issuer
    - X509_add_certs
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, X509_STORE
      *st, unsigned long flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_find_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:197,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:206,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:208,1
    - Dst: X509_pubkey_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:210,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:207,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:211,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:214,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - certs
    - id
    argTypes:
    - STACK_OF(X509)*
    - OCSP_RESPID*
    constantsTouched: []
    func_position:
      end: 219
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 219
    functionName: ocsp_find_signer_sk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - memcmp
    - sk_X509_num
    - X509_pubkey_digest
    - EVP_MD_free
    - sk_X509_value
    - EVP_MD_fetch
    - X509_find_by_subject
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *ocsp_find_signer_sk(STACK_OF(X509) *certs, OCSP_RESPID
      *id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:271,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:273,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:281,1
    - Dst: OCSP_id_issuer_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:283,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - sresp
    - ret
    argTypes:
    - STACK_OF(OCSP_SINGLERESP)*
    - OCSP_CERTID**
    constantsTouched: []
    func_position:
      end: 296
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 296
    functionName: ocsp_check_ids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - ERR_raise
    - OCSP_id_issuer_cmp
    - sk_OCSP_SINGLERESP_value
    - sk_OCSP_SINGLERESP_num
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_check_ids(STACK_OF(OCSP_SINGLERESP) *sresp, OCSP_CERTID
      **ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:372,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:375,1
    - Dst: X509_get_extended_key_usage
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: ocsp_check_delegated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - X509_get_extension_flags
    - ERR_raise
    - X509_get_extended_key_usage
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_check_delegated(X509 *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_find_signer_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:173,1
    - Dst: ocsp_find_signer_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - psigner
    - bs
    - certs
    - flags
    argTypes:
    - X509**
    - OCSP_BASICRESP*
    - STACK_OF(X509)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 186
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 186
    functionName: ocsp_find_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - ocsp_find_signer_sk
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_find_signer(X509 **psigner, OCSP_BASICRESP *bs, STACK_OF(X509)
      *certs, unsigned long flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:228,1
    - Dst: ocsp_check_ids
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:229,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:242,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:240,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:243,1
    - Dst: ocsp_match_issuerid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:244,1
    - Dst: ocsp_check_delegated
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:249,1
    - Dst: ocsp_match_issuerid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - bs
    - chain
    argTypes:
    - OCSP_BASICRESP*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 257
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 257
    functionName: ocsp_check_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - ocsp_check_ids
    - ERR_raise
    - ocsp_check_delegated
    - sk_X509_num
    - ocsp_match_issuerid
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_check_issuer(OCSP_BASICRESP *bs, STACK_OF(X509) *chain) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_find_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:427,1
    - Dst: X509_find_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - psigner
    - req
    - nm
    - certs
    - flags
    argTypes:
    - X509**
    - OCSP_REQUEST*
    - X509_NAME*
    - STACK_OF(X509)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 439
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 439
    functionName: ocsp_req_find_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - X509_find_by_subject
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_req_find_signer(X509 **psigner, OCSP_REQUEST *req,
      const X509_NAME *nm, STACK_OF(X509) *certs, unsigned long flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:83,1
    - Dst: OCSP_BASICRESP_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:89,1
    - Dst: OCSP_REQUEST_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - req
    - bs
    - signer
    - flags
    argTypes:
    - OCSP_REQUEST*
    - OCSP_BASICRESP*
    - X509*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: ocsp_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - OCSP_BASICRESP_verify
    - ERR_raise
    - OCSP_REQUEST_verify
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_verify(OCSP_REQUEST *req, OCSP_BASICRESP *bs, X509
      *signer, unsigned long flags) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:317,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:327,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:329,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:339,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:358,1
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:357,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:315,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:318,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:323,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:320,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:331,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:347,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:350,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:324,1
    - Dst: ocsp_match_issuerid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:359,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:366,1
    - Dst: X509_NAME_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:340,1
    - Dst: X509_pubkey_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:346,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:342,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 3
    argNames:
    - cert
    - cid
    - sresp
    argTypes:
    - X509*
    - OCSP_CERTID*
    - STACK_OF(OCSP_SINGLERESP)*
    constantsTouched: []
    func_position:
      end: 368
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 368
    functionName: ocsp_match_issuerid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - sk_OCSP_SINGLERESP_value
    - X509_NAME_digest
    - memcmp
    - EVP_MD_free
    - EVP_get_digestbyname
    - ERR_set_mark
    - EVP_MD_get_size
    - ocsp_match_issuerid
    - X509_pubkey_digest
    - ERR_clear_last_mark
    - EVP_MD_fetch
    - OBJ_obj2txt
    - sk_OCSP_SINGLERESP_num
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_match_issuerid(X509 *cert, OCSP_CERTID *cid, STACK_OF(OCSP_SINGLERESP)
      *sresp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:393,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:398,1
    - Dst: ocsp_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:410,1
    - Dst: ocsp_req_find_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:402,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:404,1
    - Dst: ocsp_verify_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c:414,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - req
    - certs
    - store
    - flags
    argTypes:
    - OCSP_REQUEST*
    - STACK_OF(X509)*
    - X509_STORE*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 418
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 418
    functionName: OCSP_request_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: []
    functionsReached:
    - ocsp_verify
    - ERR_raise
    - ocsp_verify_signer
    - ocsp_req_find_signer
    linkageType: ''
    returnType: int
    signature: 'int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs,
      X509_STORE *store, unsigned long flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:17,1
    - Dst: OSSL_HTTP_REQ_CTX_set_expected
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:34,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:40,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:30,1
    - Dst: OSSL_HTTP_REQ_CTX_set1_req
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:39,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:46,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 4
    argNames:
    - io
    - path
    - req
    - buf_size
    argTypes:
    - BIO*
    - char*
    - OCSP_REQUEST*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 48
    functionName: OCSP_sendreq_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_REQ_CTX_set1_req
    - OSSL_HTTP_REQ_CTX_set_request_line
    - OSSL_HTTP_REQ_CTX_new
    - OSSL_HTTP_REQ_CTX_free
    - OSSL_HTTP_REQ_CTX_set_expected
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX*
    signature: 'OSSL_HTTP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, const
      OCSP_REQUEST *req, int buf_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_sendreq_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:56,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:64,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:61,1
    - Dst: OSSL_HTTP_REQ_CTX_exchange
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:59,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - b
    - path
    - req
    argTypes:
    - BIO*
    - char*
    - OCSP_REQUEST*
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: OCSP_sendreq_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_http.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_REQ_CTX_free
    - OCSP_sendreq_new
    - OSSL_HTTP_REQ_CTX_exchange
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    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/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - OCSP_REQUEST*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: OCSP_request_onereq_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - sk_OCSP_ONEREQ_num
    linkageType: ''
    returnType: int
    signature: 'int OCSP_request_onereq_count(OCSP_REQUEST *req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - req
    argTypes:
    - OCSP_REQUEST*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: OCSP_request_is_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OCSP_request_is_signed(OCSP_REQUEST *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - one
    argTypes:
    - OCSP_ONEREQ*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: OCSP_onereq_get0_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OCSP_CERTID*
    signature: 'OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - resp
    - cert
    argTypes:
    - OCSP_BASICRESP*
    - X509*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: OCSP_basic_add1_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:173,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:178,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:178,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:180,1
    - Dst: OCSP_basic_add1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:185,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:186,1
    - Dst: OCSP_RESPID_set_by_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:192,1
    - Dst: OCSP_RESPID_set_by_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:194,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:199,1
    - Dst: OCSP_BASICRESP_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:206,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 39
    argCount: 5
    argNames:
    - brsp
    - signer
    - ctx
    - certs
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - X509*
    - EVP_MD_CTX*
    - STACK_OF(X509)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 212
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 212
    functionName: OCSP_basic_sign_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_gmtime_adj
    - X509_check_private_key
    - EVP_MD_CTX_get_pkey_ctx
    - OCSP_RESPID_set_by_key
    - OCSP_RESPID_set_by_name
    - OCSP_basic_add1_cert
    - OCSP_BASICRESP_sign_ctx
    - X509_add_certs
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'int OCSP_basic_sign_ctx(OCSP_BASICRESP *brsp, X509 *signer, EVP_MD_CTX
      *ctx, STACK_OF(X509) *certs, unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:237,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: OCSP_RESPID_set_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - X509_NAME_set
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int OCSP_RESPID_set_by_name(OCSP_RESPID *respid, X509 *cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_RESPID_set_by_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: OCSP_RESPID_set_by_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - OCSP_RESPID_set_by_key_ex
    linkageType: ''
    returnType: int
    signature: 'int OCSP_RESPID_set_by_key(OCSP_RESPID *respid, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_ONEREQ_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - req
    - i
    argTypes:
    - OCSP_REQUEST*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: OCSP_request_onereq_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - sk_OCSP_ONEREQ_value
    linkageType: ''
    returnType: OCSP_ONEREQ*
    signature: 'OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 6
    argCount: 5
    argNames:
    - piNameHash
    - pmd
    - pikeyHash
    - pserial
    - cid
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OBJECT**
    - ASN1_OCTET_STRING**
    - ASN1_INTEGER**
    - OCSP_CERTID*
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: OCSP_id_get0_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT
      **pmd, ASN1_OCTET_STRING **pikeyHash, ASN1_INTEGER **pserial, OCSP_CERTID *cid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:218,1
    - Dst: OCSP_basic_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:230,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:227,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:225,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:225,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - brsp
    - signer
    - key
    - dgst
    - certs
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - STACK_OF(X509)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: OCSP_basic_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_get0_name
    - OCSP_basic_sign_ctx
    linkageType: ''
    returnType: int
    signature: 'int OCSP_basic_sign(OCSP_BASICRESP *brsp, X509 *signer, EVP_PKEY *key,
      const EVP_MD *dgst, STACK_OF(X509) *certs, unsigned long flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:250,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:265,1
    - Dst: X509_pubkey_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:257,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:260,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:264,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:274,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 4
    argNames:
    - respid
    - cert
    - libctx
    - propq
    argTypes:
    - OCSP_RESPID*
    - X509*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 276
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 276
    functionName: OCSP_RESPID_set_by_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - X509_pubkey_digest
    - ASN1_OCTET_STRING_set
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'int OCSP_RESPID_set_by_key_ex(OCSP_RESPID *respid, X509 *cert, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:294,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:306,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:305,1
    - Dst: X509_pubkey_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:302,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:306,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:312,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:313,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 4
    argNames:
    - respid
    - cert
    - libctx
    - propq
    argTypes:
    - OCSP_RESPID*
    - X509*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: OCSP_RESPID_match_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - memcmp
    - ASN1_STRING_length
    - X509_NAME_cmp
    - ASN1_STRING_get0_data
    - X509_pubkey_digest
    - EVP_MD_free
    - EVP_MD_fetch
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int OCSP_RESPID_match_ex(OCSP_RESPID *respid, X509 *cert, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_RESPID_match_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: OCSP_RESPID_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - OCSP_RESPID_match_ex
    linkageType: ''
    returnType: int
    signature: 'int OCSP_RESPID_match(OCSP_RESPID *respid, X509 *cert) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_RESPONSE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:66,1
    - Dst: OCSP_RESPBYTES_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:72,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:74,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:68,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:75,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:76,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - status
    - bs
    argTypes:
    - int
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: OCSP_response_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - ASN1_item_pack
    - OBJ_nid2obj
    - OCSP_RESPONSE_new
    - ASN1_ENUMERATED_set
    - OCSP_RESPBYTES_new
    - OCSP_RESPONSE_free
    - 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/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:97,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:109,1
    - Dst: OCSP_SINGLERESP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:100,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:103,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:106,1
    - Dst: OCSP_CERTID_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:118,1
    - Dst: OCSP_REVOKEDINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:121,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:123,1
    - Dst: ASN1_ENUMERATED_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:126,1
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:139,1
    - Dst: sk_OCSP_SINGLERESP_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:147,1
    - Dst: OCSP_SINGLERESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:151,1
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:134,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c:128,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 46
    argCount: 7
    argNames:
    - rsp
    - cid
    - status
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_CERTID*
    - int
    - int
    - ASN1_TIME*
    - ASN1_TIME*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 153
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 153
    functionName: OCSP_basic_add1_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: []
    functionsReached:
    - sk_OCSP_SINGLERESP_new_null
    - ERR_raise
    - OCSP_SINGLERESP_free
    - ASN1_TIME_to_generalizedtime
    - ASN1_NULL_new
    - ASN1_ENUMERATED_new
    - OCSP_CERTID_dup
    - ASN1_ENUMERATED_set
    - OCSP_CERTID_free
    - sk_OCSP_SINGLERESP_push
    - OCSP_SINGLERESP_new
    - OCSP_REVOKEDINFO_new
    linkageType: ''
    returnType: OCSP_SINGLERESP*
    signature: 'OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, OCSP_CERTID
      *cid, int status, int reason, ASN1_TIME *revtime, ASN1_TIME *thisupd, ASN1_TIME
      *nextupd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:29,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:37,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:31,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:32,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:34,1
    - Dst: OCSP_cert_id_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:38,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - dgst
    - subject
    - issuer
    argTypes:
    - EVP_MD*
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: OCSP_cert_to_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey_bitstr
    - X509_get0_serialNumber
    - X509_get_issuer_name
    - EVP_sha1
    - OCSP_cert_id_new
    - X509_get_subject_name
    linkageType: ''
    returnType: OCSP_CERTID*
    signature: 'OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject,
      const X509 *issuer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_CERTID_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:52,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:58,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:56,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:61,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:63,1
    - Dst: X509_NAME_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:67,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:69,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:73,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:85,1
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:80,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:87,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 31
    argCount: 4
    argNames:
    - dgst
    - issuerName
    - issuerKey
    - serialNumber
    argTypes:
    - EVP_MD*
    - X509_NAME*
    - ASN1_BIT_STRING*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 89
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 89
    functionName: OCSP_cert_id_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_NAME_digest
    - ASN1_OBJECT_free
    - EVP_MD_get_type
    - OBJ_nid2obj
    - EVP_Digest
    - ASN1_TYPE_new
    - OCSP_CERTID_free
    - OCSP_CERTID_new
    - ASN1_OCTET_STRING_set
    - ASN1_STRING_copy
    linkageType: ''
    returnType: OCSP_CERTID*
    signature: 'OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, const X509_NAME
      *issuerName, const ASN1_BIT_STRING *issuerKey, const ASN1_INTEGER *serialNumber) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_id_issuer_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:106,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OCSP_CERTID*
    - OCSP_CERTID*
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: OCSP_id_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_cmp
    - OCSP_id_issuer_cmp
    linkageType: ''
    returnType: int
    signature: 'int OCSP_id_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:94,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:100,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OCSP_CERTID*
    - OCSP_CERTID*
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: OCSP_id_issuer_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:18,1
    - Dst: i2a_ASN1_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:23,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:22,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:20,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:21,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:24,1
    - Dst: i2a_ASN1_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:25,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:26,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:27,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bp
    - a
    - indent
    argTypes:
    - BIO*
    - OCSP_CERTID*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: ocsp_certid_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2a_ASN1_OBJECT
    - i2a_ASN1_STRING
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_certid_print(BIO *bp, OCSP_CERTID *a, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ts
    - len
    argTypes:
    - long
    - OCSP_TBLSTR*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: do_table2string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *do_table2string(long s, const OCSP_TBLSTR *ts,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: table2string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: OCSP_response_status_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: []
    functionsReached:
    - table2string
    linkageType: ''
    returnType: char*
    signature: 'const char *OCSP_response_status_str(long s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: table2string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: OCSP_crl_reason_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: []
    functionsReached:
    - table2string
    linkageType: ''
    returnType: char*
    signature: 'const char *OCSP_crl_reason_str(long s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: table2string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: OCSP_cert_status_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: []
    functionsReached:
    - table2string
    linkageType: ''
    returnType: char*
    signature: 'const char *OCSP_cert_status_str(long s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:95,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:101,1
    - Dst: GENERAL_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:103,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:97,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:98,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:105,1
    - Dst: sk_OCSP_ONEREQ_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:107,1
    - Dst: sk_OCSP_ONEREQ_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:108,1
    - Dst: ocsp_certid_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:110,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:111,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:116,1
    - Dst: X509_signature_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:120,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:121,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:122,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:122,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:123,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:123,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 37
    argCount: 3
    argNames:
    - bp
    - o
    - flags
    argTypes:
    - BIO*
    - OCSP_REQUEST*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: OCSP_REQUEST_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - sk_X509_num
    - X509_signature_print
    - sk_OCSP_ONEREQ_value
    - sk_OCSP_ONEREQ_num
    - GENERAL_NAME_print
    - X509V3_extensions_print
    - X509_print
    - sk_X509_value
    - ASN1_INTEGER_get
    - ocsp_certid_print
    - PEM_write_bio_X509
    linkageType: ''
    returnType: int
    signature: 'int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *o, unsigned long flags) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:146,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:164,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:187,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:184,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:189,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:211,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:213,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:223,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:230,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:237,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:238,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:156,1
    - Dst: i2a_ASN1_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:176,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:216,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:227,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:236,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:237,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:144,1
    - Dst: OCSP_response_status_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:180,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:194,1
    - Dst: OCSP_cert_status_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:195,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:204,1
    - Dst: OCSP_crl_reason_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:207,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:218,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:221,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:147,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:152,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:154,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:157,1
    - Dst: OCSP_response_get1_basic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:161,1
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:165,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:167,1
    - Dst: ocsp_certid_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:191,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:199,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:238,1
    - Dst: X509_signature_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:233,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:243,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c:205,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 95
    argCount: 3
    argNames:
    - bp
    - o
    - flags
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 245
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 245
    functionName: OCSP_RESPONSE_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_print
    - ocsp_certid_print
    - sk_X509_value
    - PEM_write_bio_X509
    - BIO_printf
    - OCSP_response_get1_basic
    - X509_NAME_print_ex
    - BIO_write
    - OCSP_response_status_str
    - sk_X509_num
    - OCSP_crl_reason_str
    - sk_OCSP_SINGLERESP_value
    - OBJ_obj2nid
    - ASN1_ENUMERATED_get
    - X509_signature_print
    - X509V3_extensions_print
    - i2a_ASN1_OBJECT
    - i2a_ASN1_STRING
    - sk_OCSP_SINGLERESP_num
    - X509_print
    - BIO_puts
    - ASN1_INTEGER_get
    - OCSP_BASICRESP_free
    - OCSP_cert_status_str
    linkageType: ''
    returnType: int
    signature: 'int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - resp
    argTypes:
    - OCSP_RESPONSE*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: OCSP_response_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: int
    signature: 'int OCSP_response_status(OCSP_RESPONSE *resp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: OCSP_resp_get0_tbs_sigalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bs
    - idx
    argTypes:
    - OCSP_BASICRESP*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: OCSP_resp_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - sk_OCSP_SINGLERESP_value
    linkageType: ''
    returnType: OCSP_SINGLERESP*
    signature: 'OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - bs
    - pid
    - pname
    argTypes:
    - OCSP_BASICRESP*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: OCSP_resp_get0_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, const ASN1_OCTET_STRING
      **pid, const X509_NAME **pname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: OCSP_resp_get0_respdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OCSP_RESPDATA*
    signature: 'const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP
      *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:207,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - bs
    - pid
    - pname
    argTypes:
    - OCSP_BASICRESP*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    constantsTouched: []
    func_position:
      end: 218
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 218
    functionName: OCSP_resp_get1_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_dup
    - X509_NAME_dup
    linkageType: ''
    returnType: int
    signature: 'int OCSP_resp_get1_id(const OCSP_BASICRESP *bs, ASN1_OCTET_STRING
      **pid, X509_NAME **pname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - single
    argTypes:
    - OCSP_SINGLERESP*
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: OCSP_SINGLERESP_get0_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OCSP_CERTID*
    signature: 'const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_request_set1_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:85,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:91,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:92,1
    - Dst: OCSP_SIGNATURE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:88,1
    - Dst: OCSP_REQUEST_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:96,1
    - Dst: OCSP_request_add1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:101,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:102,1
    - Dst: OCSP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:109,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 6
    argNames:
    - req
    - signer
    - key
    - dgst
    - certs
    - flags
    argTypes:
    - OCSP_REQUEST*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - STACK_OF(X509)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 112
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 112
    functionName: OCSP_request_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_check_private_key
    - OCSP_SIGNATURE_new
    - OCSP_REQUEST_sign
    - OCSP_request_set1_name
    - OCSP_request_add1_cert
    - OCSP_SIGNATURE_free
    - X509_add_certs
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int OCSP_request_sign(OCSP_REQUEST *req, X509 *signer, EVP_PKEY *key,
      const EVP_MD *dgst, STACK_OF(X509) *certs, unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: OCSP_resp_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - sk_OCSP_SINGLERESP_num
    linkageType: ''
    returnType: int
    signature: 'int OCSP_resp_count(OCSP_BASICRESP *bs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 15
    argCount: 5
    argNames:
    - single
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - OCSP_SINGLERESP*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    constantsTouched: []
    func_position:
      end: 276
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 276
    functionName: OCSP_single_get0_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: int
    signature: 'int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason,
      ASN1_GENERALIZEDTIME **revtime, ASN1_GENERALIZEDTIME **thisupd, ASN1_GENERALIZEDTIME
      **nextupd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_SIGNATURE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:66,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - req
    - cert
    argTypes:
    - OCSP_REQUEST*
    - X509*
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: OCSP_request_add1_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - ossl_x509_add_cert_new
    - OCSP_SIGNATURE_new
    linkageType: ''
    returnType: int
    signature: 'int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:129,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:133,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:137,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - resp
    argTypes:
    - OCSP_RESPONSE*
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: OCSP_response_get1_basic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    - ERR_raise
    - ASN1_ITEM_rptr
    - OBJ_obj2nid
    linkageType: ''
    returnType: OCSP_BASICRESP*
    signature: 'OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_resp_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:288,1
    - Dst: OCSP_resp_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:294,1
    - Dst: OCSP_single_get0_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:295,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 7
    argNames:
    - bs
    - id
    - status
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_CERTID*
    - int*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: OCSP_resp_find_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - OCSP_resp_find
    - OCSP_single_get0_status
    - OCSP_resp_get0
    linkageType: ''
    returnType: int
    signature: 'int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int
      *status, int *reason, ASN1_GENERALIZEDTIME **revtime, ASN1_GENERALIZEDTIME **thisupd,
      ASN1_GENERALIZEDTIME **nextupd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: OCSP_resp_get0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP
      *bs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:48,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:57,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:53,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - req
    - nm
    argTypes:
    - OCSP_REQUEST*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: OCSP_request_set1_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_new
    - GENERAL_NAME_free
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: 'int OCSP_request_set1_name(OCSP_REQUEST *req, const X509_NAME *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: OCSP_resp_get0_produced_at
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME*
    signature: 'const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP
      *bs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:224,1
    - Dst: OCSP_id_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:236,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:235,1
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - bs
    - id
    - last
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_CERTID*
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: OCSP_resp_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - sk_OCSP_SINGLERESP_value
    - OCSP_id_cmp
    - sk_OCSP_SINGLERESP_num
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: OCSP_resp_get0_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'const STACK_OF(X509) *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:315,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:317,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:323,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:322,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:318,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:334,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:344,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:345,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:349,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:356,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:357,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - thisupd
    - nextupd
    - nsec
    - maxsec
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - ASN1_GENERALIZEDTIME*
    - long
    - long
    constantsTouched: []
    func_position:
      end: 362
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 362
    functionName: OCSP_check_validity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - ERR_raise
    - time
    - ASN1_STRING_cmp
    - X509_cmp_time
    linkageType: ''
    returnType: int
    signature: 'int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, ASN1_GENERALIZEDTIME
      *nextupd, long nsec, long maxsec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_ONEREQ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:33,1
    - Dst: sk_OCSP_ONEREQ_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:37,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:35,1
    - Dst: OCSP_ONEREQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c:39,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - req
    - cid
    argTypes:
    - OCSP_REQUEST*
    - OCSP_CERTID*
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: OCSP_request_add0_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: []
    functionsReached:
    - sk_OCSP_ONEREQ_push
    - OCSP_ONEREQ_new
    - OCSP_CERTID_free
    - OCSP_ONEREQ_free
    linkageType: ''
    returnType: OCSP_ONEREQ*
    signature: 'OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_err.c:67,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_err.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: ossl_err_load_OCSP_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ocsp/ocsp_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_OCSP_strings(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MD4_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_one.c:31,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_one.c:42,1
    - Dst: MD4_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_one.c:34,1
    - Dst: MD4_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_one.c:43,1
    - Dst: MD4_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_one.c:49,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_one.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 52
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 52
    functionName: MD4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_one.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - MD4_Init
    - MD4_Update
    - ebcdic2ascii
    - MD4_Final
    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/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - MD4_CTX*
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: MD4_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int MD4_Init(MD4_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:79,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:83,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:101,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:117,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:103,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:102,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:133,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:131,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:116,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:67,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:82,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:100,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:118,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:104,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:129,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:132,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:132,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:144,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:75,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:142,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:117,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:63,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:85,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:103,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:115,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:127,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:131,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:143,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:143,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:114,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:67,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:81,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:86,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:116,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:106,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:126,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:129,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:130,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:142,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:65,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:85,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:90,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:113,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:112,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:112,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:107,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:115,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:125,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:127,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:114,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:99,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:110,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:68,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:70,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:88,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:106,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:126,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:130,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:140,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:113,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:71,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:89,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:91,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:109,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:108,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:125,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:139,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:141,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:72,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:70,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:88,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:92,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:110,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:124,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:140,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:62,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:73,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:78,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:91,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:109,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:123,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:139,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:141,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:74,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:87,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:94,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:122,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:124,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:138,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:73,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:95,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:96,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:121,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:123,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:137,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:94,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:76,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:105,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:120,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:122,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:136,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:138,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:69,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:77,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:97,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:119,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:121,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:135,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:137,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:144,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:76,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:80,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:98,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:120,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:134,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:136,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:97,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:79,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:84,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:119,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:133,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:135,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:64,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:82,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:93,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:100,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:118,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 158
    argCount: 3
    argNames:
    - c
    - data_
    - num
    argTypes:
    - MD4_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 151
    functionName: md4_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md4/md4_dgst.c
    functionUses: []
    functionsReached:
    - X
    - R0
    - HOST_c2l
    - R2
    - R1
    linkageType: ''
    returnType: void
    signature: 'void md4_block_data_order(MD4_CTX *c, const void *data_, size_t num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:27,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:32,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:27,1
    - Dst: OPENSSL_LH_stats_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:31,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - lh
    - fp
    argTypes:
    - OPENSSL_LHASH*
    - FILE*
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: OPENSSL_LH_stats
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c
    functionUses: []
    functionsReached:
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    - OPENSSL_LH_stats_bio
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:63,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:65,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:67,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:66,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:64,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:68,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:69,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:70,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:71,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:72,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:78,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:75,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:74,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:77,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - lh
    - out
    argTypes:
    - OPENSSL_LHASH*
    - BIO*
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: OPENSSL_LH_stats_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:39,1
    - Dst: OPENSSL_LH_node_stats_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:43,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:44,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:39,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - lh
    - fp
    argTypes:
    - OPENSSL_LHASH*
    - FILE*
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: OPENSSL_LH_node_stats
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c
    functionUses: []
    functionsReached:
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - OPENSSL_LH_node_stats_bio
    - BIO_new
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:51,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:51,1
    - Dst: OPENSSL_LH_node_usage_stats_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:55,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:54,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - lh
    - fp
    argTypes:
    - OPENSSL_LHASH*
    - FILE*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: OPENSSL_LH_node_usage_stats
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_node_usage_stats_bio
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    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/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - lh
    - out
    argTypes:
    - OPENSSL_LHASH*
    - BIO*
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: OPENSSL_LH_node_stats_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:108,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:112,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - lh
    - out
    argTypes:
    - OPENSSL_LHASH*
    - BIO*
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: OPENSSL_LH_node_usage_stats_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lh_stats.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO
      *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:82,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: OPENSSL_LH_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_flush
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_free(OPENSSL_LHASH *lh) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:113,1
    - Dst: getrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:116,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:119,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: OPENSSL_LH_insert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - getrn
    - expand
    - OPENSSL_malloc
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: OPENSSL_LH_retrieve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - getrn
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doall_util_fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lh
    - func
    argTypes:
    - OPENSSL_LHASH*
    - OPENSSL_LH_DOALL_FUNC
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: OPENSSL_LH_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - doall_util_fn
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:223,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    constantsTouched: []
    func_position:
      end: 254
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 254
    functionName: expand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int expand(OPENSSL_LHASH *lh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 344
    functionName: OPENSSL_LH_strhash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long OPENSSL_LH_strhash(const char *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 366
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 366
    functionName: ossl_lh_strcasehash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ossl_lh_strcasehash(const char *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: OPENSSL_LH_get_down_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:50,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:58,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:71,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - h
    - c
    argTypes:
    - OPENSSL_LH_HASHFUNC
    - OPENSSL_LH_COMPFUNC
    constantsTouched: []
    func_position:
      end: 73
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 73
    functionName: OPENSSL_LH_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OPENSSL_LHASH*
    signature: 'OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC
      c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: OPENSSL_LH_flush
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_flush(OPENSSL_LHASH *lh) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:143,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:151,1
    - Dst: contract
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    constantsTouched: []
    func_position:
      end: 160
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 160
    functionName: OPENSSL_LH_delete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - getrn
    - contract
    - OPENSSL_free
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:194,1
    - Dst: func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - lh
    - use_arg
    - func
    - func_arg
    - arg
    argTypes:
    - OPENSSL_LHASH*
    - int
    - OPENSSL_LH_DOALL_FUNC
    - OPENSSL_LH_DOALL_FUNCARG
    - void*
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: doall_util_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - func
    - func_arg
    linkageType: ''
    returnType: void
    signature: 'static void doall_util_fn(OPENSSL_LHASH *lh, int use_arg, OPENSSL_LH_DOALL_FUNC
      func, OPENSSL_LH_DOALL_FUNCARG func_arg, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doall_util_fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - lh
    - func
    - arg
    argTypes:
    - OPENSSL_LHASH*
    - OPENSSL_LH_DOALL_FUNCARG
    - void*
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: OPENSSL_LH_doall_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - doall_util_fn
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG
      func, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    constantsTouched: []
    func_position:
      end: 287
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 287
    functionName: contract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    linkageType: ''
    returnType: void
    signature: 'static void contract(OPENSSL_LHASH *lh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: OPENSSL_LH_num_items
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lh
    - down_load
    argTypes:
    - OPENSSL_LHASH*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: OPENSSL_LH_set_down_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - lh
    - data
    - rhash
    argTypes:
    - OPENSSL_LHASH*
    - void*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 315
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 315
    functionName: getrn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached:
    - cf
    linkageType: ''
    returnType: OPENSSL_LH_NODE**
    signature: 'static OPENSSL_LH_NODE **getrn(OPENSSL_LHASH *lh, const void *data,
      unsigned long *rhash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: OPENSSL_LH_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/lhash/lhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_LH_error(OPENSSL_LHASH *lh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: DSA_get_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD*
    signature: 'const DSA_METHOD *DSA_get_default_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_do_sign_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dgst
    - dlen
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: dsa_do_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached:
    - ossl_dsa_do_sign_int
    linkageType: ''
    returnType: DSA_SIG*
    signature: 'static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA
      *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: DSA_OpenSSL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD*
    signature: 'const DSA_METHOD *DSA_OpenSSL(void) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:225,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:229,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:254,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:272,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:276,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:319,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:329,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:230,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:237,1
    - Dst: bn_wexpand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:253,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:238,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:273,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:312,1
    - Dst: dsa_mod_inverse_fermat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:316,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:328,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:219,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:227,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:224,1
    - Dst: ossl_bn_priv_rand_range_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:268,1
    - Dst: bn_get_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:251,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:244,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:296,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:325,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:327,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:234,1
    - Dst: ossl_bn_gen_dsa_nonce_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:264,1
    - Dst: ossl_bn_is_word_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:270,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:250,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:297,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:300,1
    - Dst: BN_is_bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:300,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:307,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 94
    argCount: 6
    argNames:
    - dsa
    - ctx_in
    - kinvp
    - rp
    - dgst
    - dlen
    argTypes:
    - DSA*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 331
    functionName: dsa_sign_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    - BN_is_zero
    - BN_CTX_free
    - BN_is_bit_set
    - bn_get_top
    - ossl_bn_gen_dsa_nonce_fixed_top
    - BN_add
    - BN_consttime_swap
    - BN_clear_free
    - ossl_bn_is_word_fixed_top
    - BN_num_bits
    - BN_MONT_CTX_set_locked
    - BN_mod
    - ossl_bn_priv_rand_range_fixed_top
    - dsa_mod_inverse_fermat
    - ERR_raise
    - BN_new
    - bn_wexpand
    - BN_is_negative
    - BN_set_flags
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp,
      BIGNUM **rp, const unsigned char *dgst, int dlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: dsa_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dsa_init(DSA *dsa) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:467,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:473,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:471,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:472,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:470,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:474,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:477,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:478,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - k
    - q
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: dsa_mod_inverse_fermat
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_mod_exp_mont
    - BN_CTX_end
    - BN_new
    - BN_set_word
    - BN_CTX_start
    - BN_free
    - BN_sub
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *dsa_mod_inverse_fermat(const BIGNUM *k, const BIGNUM
      *q, BN_CTX *ctx) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:104,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:105,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:106,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:107,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:140,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:145,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:149,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:121,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:155,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:163,1
    - Dst: DSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:93,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:96,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:101,1
    - Dst: BN_priv_rand_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:140,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:146,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:178,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:178,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:97,1
    - Dst: dsa_sign_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:112,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:122,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:143,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:151,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:167,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:169,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:189,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:193,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:115,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:144,1
    - Dst: BN_mod_add_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:188,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:192,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 79
    argCount: 3
    argNames:
    - dgst
    - dlen
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    constantsTouched: []
    func_position:
      end: 195
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 195
    functionName: ossl_dsa_do_sign_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached:
    - DSA_SIG_new
    - BN_CTX_get
    - dsa_sign_setup
    - BN_priv_rand_ex
    - ERR_raise
    - BN_num_bytes
    - BN_mod_add_quick
    - DSA_SIG_free
    - BN_is_zero
    - BN_new
    - BN_num_bits
    - BN_CTX_free
    - BN_mod_inverse
    - BN_mod_mul
    - BN_bin2bn
    - BN_clear_free
    - BN_set_flags
    - BN_CTX_new_ex
    linkageType: ''
    returnType: DSA_SIG*
    signature: 'DSA_SIG *ossl_dsa_do_sign_int(const unsigned char *dgst, int dlen,
      DSA *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_sign_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - dsa
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - DSA*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: dsa_sign_setup_no_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached:
    - dsa_sign_setup
    linkageType: ''
    returnType: int
    signature: 'static int dsa_sign_setup_no_digest(DSA *dsa, BN_CTX *ctx_in, BIGNUM
      **kinvp, BIGNUM **rp) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DSA_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:367,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:370,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:374,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:374,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:406,1
    - Dst: BN_mod_exp2_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:417,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:429,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:437,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:345,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:349,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:356,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:360,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:361,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:362,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:375,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:398,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:383,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:436,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:352,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:363,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:394,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:402,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:423,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:435,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:357,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:369,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:369,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:433,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:434,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 88
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA_SIG*
    - DSA*
    constantsTouched: []
    func_position:
      end: 439
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 439
    functionName: dsa_do_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_ucmp
    - BN_is_zero
    - BN_new
    - BN_num_bits
    - BN_CTX_free
    - BN_MONT_CTX_set_locked
    - BN_mod_inverse
    - BN_is_negative
    - BN_mod_mul
    - BN_mod_exp2_mont
    - BN_mod
    - BN_bin2bn
    - BN_free
    - DSA_SIG_get0
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int dsa_do_verify(const unsigned char *dgst, int dgst_len,
      DSA_SIG *sig, DSA *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: dsa_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_finish(DSA *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: DSA_set_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DSA_set_default_method(const DSA_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: DSA_get_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD*
    signature: 'const DSA_METHOD *DSA_get_method(DSA *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: DSA_new_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - dsa_new_intern
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *DSA_new_method(ENGINE *engine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: DSA_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - dsa_new_intern
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *DSA_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: DSA_get0_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DSA_get0_p(const DSA *d) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:137,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:145,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:144,1
    - Dst: DSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:150,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:155,1
    - Dst: ENGINE_get_default_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:160,1
    - Dst: ENGINE_get_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:162,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:181,1
    - Dst: ossl_crypto_new_ex_data_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:173,1
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:178,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 2
    argNames:
    - engine
    - libctx
    argTypes:
    - ENGINE*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 190
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 190
    functionName: dsa_new_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_crypto_new_ex_data_ex
    - OPENSSL_free
    - ENGINE_init
    - ENGINE_get_default_DSA
    - OPENSSL_zalloc
    - ossl_ffc_params_init
    - DSA_get_default_method
    - ENGINE_get_DSA
    - CRYPTO_THREAD_lock_new
    - DSA_free
    linkageType: ''
    returnType: DSA*
    signature: 'static DSA *dsa_new_intern(ENGINE *engine, OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: ossl_dsa_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - dsa_new_intern
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *ossl_dsa_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: DSA_get0_q
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DSA_get0_q(const DSA *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - d
    - flags
    argTypes:
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: DSA_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DSA_clear_flags(DSA *d, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: DSA_get0_g
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DSA_get0_g(const DSA *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: DSA_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'int DSA_bits(const DSA *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - d
    - flags
    argTypes:
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: DSA_test_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_test_flags(const DSA *d, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: DSA_get0_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DSA_get0_pub_key(const DSA *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: ossl_dsa_get0_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FFC_PARAMS*
    signature: 'FFC_PARAMS *ossl_dsa_get0_params(DSA *dsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:355,1
    - Dst: ossl_ffc_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - dsa
    - params
    argTypes:
    - DSA*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: ossl_dsa_ffc_params_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - ossl_dsa_get0_params
    - ossl_ffc_params_fromdata
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_ffc_params_fromdata(DSA *dsa, const OSSL_PARAM params[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:52,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:56,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:64,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:56,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:60,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:68,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:78,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:79,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:80,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: DSA_dup_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - ossl_dh_get0_params
    - DH_set0_key
    - BN_dup
    - BN_free
    - DH_free
    - DH_new
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: DH*
    signature: 'DH *DSA_dup_DH(const DSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - d
    - flags
    argTypes:
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: DSA_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DSA_set_flags(DSA *d, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:244,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:248,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: DSA_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int DSA_up_ref(DSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - DSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: DSA_get0_pqg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_get0_pqg
    linkageType: ''
    returnType: void
    signature: 'void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q,
      const BIGNUM **g) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:316,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - d
    - pub_key
    - priv_key
    argTypes:
    - DSA*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: DSA_set0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: DSA_get0_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *DSA_get0_engine(DSA *d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - dsa
    - meth
    argTypes:
    - DSA*
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: DSA_set_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: 'int DSA_set_method(DSA *dsa, const DSA_METHOD *meth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:216,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:217,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:220,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:225,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:229,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:232,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:234,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:235,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:236,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: DSA_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cleanup
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - ENGINE_finish
    - CRYPTO_free_ex_data
    - CRYPTO_DOWN_REF
    - REF_PRINT_COUNT
    - BN_clear_free
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: void
    signature: 'void DSA_free(DSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - d
    - libctx
    argTypes:
    - DSA*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: ossl_dsa_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_dsa_set0_libctx(DSA *d, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - DSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: DSA_set0_pqg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_set0_pqg
    linkageType: ''
    returnType: int
    signature: 'int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:331,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:332,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: DSA_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    - BN_security_bits
    linkageType: ''
    returnType: int
    signature: 'int DSA_security_bits(const DSA *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - d
    - idx
    - arg
    argTypes:
    - DSA*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: DSA_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int DSA_set_ex_data(DSA *d, int idx, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: DSA_get0_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *DSA_get0_priv_key(const DSA *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - d
    - idx
    argTypes:
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: DSA_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *DSA_get_ex_data(const DSA *d, int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - d
    - pub_key
    - priv_key
    argTypes:
    - DSA*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: DSA_get0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM
      **priv_key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: int_dsa_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - DSA_size
    linkageType: ''
    returnType: int
    signature: 'static int int_dsa_size(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_key_from_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:152,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - p8
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: dsa_priv_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ossl_dsa_key_from_pkcs8
    - EVP_PKEY_assign_DSA
    linkageType: ''
    returnType: int
    signature: 'static int dsa_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO
      *p8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: dsa_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - DSA_security_bits
    linkageType: ''
    returnType: int
    signature: 'static int dsa_security_bits(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: dsa_pub_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: dsa_pkey_dirty_cnt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t dsa_pkey_dirty_cnt(const EVP_PKEY *pkey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:183,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:177,1
    - Dst: i2d_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:181,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:189,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:192,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:196,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:201,1
    - Dst: PKCS8_pkey_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:205,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:207,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:213,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:205,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: dsa_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS8_pkey_set0
    - ASN1_STRING_new
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    - i2d_DSAparams
    - i2d_ASN1_INTEGER
    - ASN1_STRING_free
    - OPENSSL_clear_free
    - ASN1_STRING_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY
      *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: dsa_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - DSA_bits
    linkageType: ''
    returnType: int
    signature: 'static int dsa_bits(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: dsa_missing_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dsa_missing_parameters(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: int_dsa_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - DSA_free
    linkageType: ''
    returnType: void
    signature: 'static void int_dsa_free(EVP_PKEY *pkey) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:434,1
    - Dst: DSA_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:434,1
    - Dst: DSA_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:436,1
    - Dst: DSA_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:435,1
    - Dst: DSA_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:435,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:444,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:448,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:449,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:450,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:454,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:466,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:474,1
    - Dst: importer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:470,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:460,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:472,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 40
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 476
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 476
    functionName: dsa_pkey_export_to
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - DSA_get0_g
    - OSSL_PARAM_BLD_push_BN
    - DSA_get0_q
    - DSA_get0_p
    - DSA_get0_priv_key
    - OSSL_PARAM_BLD_new
    - DSA_get0_pub_key
    - importer
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pkey_export_to(const EVP_PKEY *from, void *to_keydata,
      OSSL_FUNC_keymgmt_import_fn *importer, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dsa_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: dsa_pub_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - do_dsa_print
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dsa_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: dsa_priv_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - do_dsa_print
    linkageType: ''
    returnType: int
    signature: 'static int dsa_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:50,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:42,1
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:55,1
    - Dst: d2i_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:60,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:65,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:70,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:76,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:81,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:80,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:75,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: dsa_pub_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign_DSA
    - ASN1_INTEGER_to_BN
    - X509_ALGOR_get0
    - d2i_DSAparams
    - X509_PUBKEY_get0_param
    - ASN1_INTEGER_free
    - DSA_free
    - d2i_ASN1_INTEGER
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:245,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: dsa_copy_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_copy
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int dsa_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:279,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:304,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:299,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:301,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:308,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:310,1
    - Dst: ossl_ffc_params_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:312,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 4
    argNames:
    - bp
    - x
    - 'off'
    - ptype
    argTypes:
    - BIO*
    - DSA*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 317
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 317
    functionName: do_dsa_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - DSA_bits
    - ossl_ffc_params_print
    - BIO_indent
    - ASN1_bn_print
    linkageType: ''
    returnType: int
    signature: 'static int do_dsa_print(BIO *bp, const DSA *x, int off, int ptype) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:381,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:397,1
    - Dst: DSA_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:392,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:394,1
    - Dst: d2i_DSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:387,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:399,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:403,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:406,1
    - Dst: X509_signature_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:408,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 5
    argNames:
    - bp
    - sigalg
    - sig
    - indent
    - pctx
    argTypes:
    - BIO*
    - X509_ALGOR*
    - ASN1_STRING*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 409
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 409
    functionName: dsa_sig_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - BIO_write
    - DSA_SIG_free
    - d2i_DSA_SIG
    - ASN1_bn_print
    - X509_signature_dump
    - DSA_SIG_get0
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int dsa_sig_print(BIO *bp, const X509_ALGOR *sigalg, const
      ASN1_STRING *sig, int indent, ASN1_PCTX *pctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:481,1
    - Dst: ossl_dsa_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:490,1
    - Dst: ossl_dsa_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:482,1
    - Dst: ossl_dsa_ffc_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:489,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:485,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:491,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: dsa_pkey_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_dsa_ffc_params_fromdata
    - EVP_PKEY_assign_DSA
    - ossl_dsa_new
    - ossl_dsa_key_fromdata
    - DSA_free
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pkey_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:101,1
    - Dst: i2d_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:103,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:118,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:122,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:126,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:130,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:138,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:134,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:139,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 142
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 142
    functionName: dsa_pub_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - ASN1_STRING_new
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    - i2d_DSAparams
    - X509_PUBKEY_set0_param
    - i2d_ASN1_INTEGER
    - ASN1_STRING_free
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: dsa_cmp_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: 'static int dsa_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:324,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: dsa_param_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - d2i_DSAparams
    - EVP_PKEY_assign_DSA
    linkageType: ''
    returnType: int
    signature: 'static int dsa_param_decode(EVP_PKEY *pkey, const unsigned char **pder,
      int derlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: dsa_pkey_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:505,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:510,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 514
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 514
    functionName: dsa_pkey_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign_DSA
    - ossl_dsa_dup
    - DSA_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pkey_copy(EVP_PKEY *to, EVP_PKEY *from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: dsa_param_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - i2d_DSAparams
    linkageType: ''
    returnType: int
    signature: 'static int dsa_param_encode(const EVP_PKEY *pkey, unsigned char **pder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:360,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:365,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: old_dsa_priv_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - d2i_DSAPrivateKey
    - EVP_PKEY_assign_DSA
    linkageType: ''
    returnType: int
    signature: 'static int old_dsa_priv_decode(EVP_PKEY *pkey, const unsigned char
      **pder, int derlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dsa_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: dsa_param_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - do_dsa_print
    linkageType: ''
    returnType: int
    signature: 'static int dsa_param_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: old_dsa_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_ameth.c
    functionUses: []
    functionsReached:
    - i2d_DSAPrivateKey
    linkageType: ''
    returnType: int
    signature: 'static int old_dsa_priv_encode(const EVP_PKEY *pkey, unsigned char
      **pder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA_SIG*
    - DSA*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: DSA_do_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_vrf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG
      *sig, DSA *dsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:26,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:30,1
    - Dst: DSA_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:31,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:26,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:27,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: DSA_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    - DSA_print
    linkageType: ''
    returnType: int
    signature: 'int DSA_print_fp(FILE *fp, const DSA *x, int off) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:56,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:61,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:62,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: DSA_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_print_private
    - EVP_PKEY_set1_DSA
    linkageType: ''
    returnType: int
    signature: 'int DSA_print(BIO *bp, const DSA *x, int off) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:70,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:75,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:73,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - DSA*
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: DSAparams_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_print_params
    - EVP_PKEY_new
    - EVP_PKEY_free
    - EVP_PKEY_set1_DSA
    linkageType: ''
    returnType: int
    signature: 'int DSAparams_print(BIO *bp, const DSA *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:41,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:45,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:42,1
    - Dst: DSAparams_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:46,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - DSA*
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: DSAparams_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_prn.c
    functionUses: []
    functionsReached:
    - DSAparams_print
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int DSAparams_print_fp(FILE *fp, const DSA *x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:45,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:47,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - DSA_SIG*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: DSA_SIG_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void DSA_SIG_free(DSA_SIG *sig) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:85,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:90,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:88,1
    - Dst: WPACKET_init_static_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:94,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:89,1
    - Dst: ossl_encode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:98,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:99,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:100,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:101,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:102,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:110,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - sig
    - ppout
    argTypes:
    - DSA_SIG*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 117
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 117
    functionName: i2d_DSA_SIG
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - WPACKET_init_len
    - WPACKET_init_null
    - WPACKET_init_static_len
    - BUF_MEM_free
    - ossl_encode_der_dsa_sig
    - WPACKET_finish
    - BUF_MEM_new
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'int i2d_DSA_SIG(const DSA_SIG *sig, unsigned char **ppout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - pr
    - ps
    argTypes:
    - DSA_SIG*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: DSA_SIG_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM
      **ps) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:159,1
    - Dst: DSA_do_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:165,1
    - Dst: i2d_DSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:172,1
    - Dst: ossl_dsa_do_sign_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:167,1
    - Dst: DSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:164,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - dsa
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - DSA*
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: ossl_dsa_sign_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - DSA_size
    - DSA_SIG_free
    - ossl_dsa_do_sign_int
    - i2d_DSA_SIG
    - DSA_get_default_method
    - DSA_do_sign
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_sign_int(int type, const unsigned char *dgst, int dlen,
      unsigned char *sig, unsigned int *siglen, DSA *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - dgst
    - dlen
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: DSA_do_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSA_SIG*
    signature: 'DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:59,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:66,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:68,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:64,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:70,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 3
    argNames:
    - psig
    - ppin
    - len
    argTypes:
    - DSA_SIG**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: d2i_DSA_SIG
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - DSA_SIG_free
    - DSA_SIG_new
    - BN_new
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: DSA_SIG_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: DSA_SIG*
    signature: 'DSA_SIG *DSA_SIG_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: DSA_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - i2d_DSA_SIG
    linkageType: ''
    returnType: int
    signature: 'int DSA_size(const DSA *dsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:146,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - DSA_SIG*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: DSA_SIG_set0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: 'int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_sign_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - dsa
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - DSA*
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: DSA_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - ossl_dsa_sign_int
    linkageType: ''
    returnType: int
    signature: 'int DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned
      char *sig, unsigned int *siglen, DSA *dsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:199,1
    - Dst: i2d_DSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:205,1
    - Dst: DSA_do_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:208,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:206,1
    - Dst: d2i_DSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:202,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:210,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c:211,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 6
    argNames:
    - type
    - dgst
    - dgst_len
    - sigbuf
    - siglen
    - dsa
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - DSA*
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: DSA_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached:
    - DSA_SIG_new
    - DSA_do_verify
    - DSA_SIG_free
    - memcmp
    - d2i_DSA_SIG
    - i2d_DSA_SIG
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'int DSA_verify(int type, const unsigned char *dgst, int dgst_len,
      const unsigned char *sigbuf, int siglen, DSA *dsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - dsa
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - DSA*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: DSA_sign_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM
      **rp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:40,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:43,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:51,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:49,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:54,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:60,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:61,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 3
    argNames:
    - dsa
    - params
    - include_private
    argTypes:
    - DSA*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: ossl_dsa_key_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c
    functionUses: []
    functionsReached:
    - DSA_set0_key
    - OSSL_PARAM_locate_const
    - BN_free
    - OSSL_PARAM_get_BN
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_key_fromdata(DSA *dsa, const OSSL_PARAM params[], int
      include_private) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:160,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:163,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:170,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:171,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:175,1
    - Dst: PKCS8_pkey_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:138,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:153,1
    - Dst: d2i_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:150,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:164,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:187,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:176,1
    - Dst: DSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:168,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:172,1
    - Dst: DSA_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:169,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:186,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:155,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:159,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:185,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:190,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 54
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 193
    functionName: ossl_dsa_key_from_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DSA_get0_g
    - ASN1_INTEGER_to_BN
    - DSA_get0_p
    - BN_secure_new
    - PKCS8_pkey_get0
    - BN_new
    - DSA_set0_key
    - BN_CTX_free
    - BN_CTX_new
    - X509_ALGOR_get0
    - d2i_DSAparams
    - BN_free
    - BN_mod_exp
    - BN_set_flags
    - ASN1_STRING_clear_free
    - d2i_ASN1_INTEGER
    - DSA_free
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *ossl_dsa_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: dsa_bn_dup_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c
    functionUses: []
    functionsReached:
    - BN_dup
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int dsa_bn_dup_check(BIGNUM **out, const BIGNUM
      *f) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_is_foreign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:86,1
    - Dst: ossl_dsa_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:89,1
    - Dst: dsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:100,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:93,1
    - Dst: dsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:105,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:109,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:117,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 2
    argNames:
    - dsa
    - selection
    argTypes:
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 119
    functionName: ossl_dsa_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c
    functionUses: []
    functionsReached:
    - ossl_dsa_new
    - ossl_dsa_is_foreign
    - dsa_bn_dup_check
    - ossl_ffc_params_copy
    - DSA_free
    - CRYPTO_dup_ex_data
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *ossl_dsa_dup(const DSA *dsa, int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:68,1
    - Dst: DSA_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: ossl_dsa_is_foreign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_backend.c
    functionUses: []
    functionsReached:
    - DSA_OpenSSL
    - DSA_get_method
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_is_foreign(const DSA *dsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_err.c:47,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_err.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ossl_err_load_DSA_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c:39,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c:49,1
    - Dst: BN_GENCB_set_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c:45,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c:41,1
    - Dst: DSA_generate_parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c:47,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c:52,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c:54,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 7
    argNames:
    - bits
    - seed_in
    - seed_len
    - counter_ret
    - h_ret
    - (*callback)
    - cb_arg
    argTypes:
    - int
    - unsigned char*
    - int
    - int*
    - unsigned long*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: DSA_generate_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_depr.c
    functionUses: []
    functionsReached:
    - BN_GENCB_new
    - BN_GENCB_set_old
    - DSA_generate_parameters_ex
    - BN_GENCB_free
    - DSA_free
    - DSA_new
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *DSA_generate_parameters(int bits, unsigned char *seed_in, int
      seed_len, int *counter_ret, unsigned long *h_ret, void (*callback) (int, int,
      void *), void *cb_arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_asn1.c:28,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_asn1.c:33,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: dsa_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_asn1.c
    functionUses: []
    functionsReached:
    - DSA_free
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int dsa_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_asn1.c:70,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_asn1.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: DSAparams_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_dup
    linkageType: ''
    returnType: DSA*
    signature: 'DSA *DSAparams_dup(const DSA *dsa) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:48,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:60,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:51,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:53,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: DSA_meth_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: DSA_METHOD*
    signature: 'DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: DSA_meth_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *DSA_meth_get0_name(const DSA_METHOD *dsam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*sign)
    argTypes:
    - DSA_METHOD*
    - DSA_SIG*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: DSA_meth_set_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_sign(DSA_METHOD *dsam, DSA_SIG *(*sign) (const unsigned
      char *, int, DSA *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*verify)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: DSA_meth_set_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_verify(DSA_METHOD *dsam, int (*verify) (const unsigned
      char *, int, DSA_SIG *, DSA *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - '*'
    - '*'
    - '*'
    - '*'
    argTypes:
    - DSA
    - BN_CTX
    - BIGNUM
    - BIGNUM
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    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: 4
    EdgeCount: 4
    ICount: 1
    argCount: 9
    argNames:
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    argTypes:
    - DSA
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BN_CTX
    - BN_MONT_CTX
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam)) (DSA *, BIGNUM
      *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM
      *, BN_CTX *, BN_MONT_CTX *) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:22,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:27,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: DSA_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: DSA_METHOD*
    signature: 'DSA_METHOD *DSA_meth_new(const char *name, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:74,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dsam
    - name
    argTypes:
    - DSA_METHOD*
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: DSA_meth_set1_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*sign_setup)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: DSA_meth_set_sign_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_sign_setup(DSA_METHOD *dsam, int (*sign_setup) (DSA
      *, BN_CTX *, BIGNUM **, BIGNUM **)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*mod_exp)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: DSA_meth_set_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_mod_exp(DSA_METHOD *dsam, int (*mod_exp) (DSA *,
      BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const
      BIGNUM *, BN_CTX *, BN_MONT_CTX *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*init)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: DSA_meth_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_init(DSA_METHOD *dsam, int (*init)(DSA *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*finish)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: DSA_meth_set_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_finish(DSA_METHOD *dsam, int (*finish) (DSA *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*paramgen)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: DSA_meth_set_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_paramgen(DSA_METHOD *dsam, int (*paramgen) (DSA *,
      int, const unsigned char *, int, int *, unsigned long *, BN_GENCB *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: DSA_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void DSA_meth_free(DSA_METHOD *dsam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: DSA_meth_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_get_flags(const DSA_METHOD *dsam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - '*'
    - int
    - '*'
    - '*'
    argTypes:
    - unsigned char
    - int
    - DSA_SIG
    - DSA
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: (*DSA_meth_get_verify(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    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: 4
    EdgeCount: 4
    ICount: 1
    argCount: 7
    argNames:
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    - '*'
    argTypes:
    - DSA
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BIGNUM
    - BN_CTX
    - BN_MONT_CTX
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    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 *, BN_MONT_CTX *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - DSA
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: (*DSA_meth_get_finish(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 7
    argNames:
    - '*'
    - int
    - '*'
    - int
    - '*'
    - '*'
    - '*'
    argTypes:
    - DSA
    - int
    - unsigned char
    - int
    - int
    - unsigned long
    - BN_GENCB
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: (*DSA_meth_get_paramgen(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam)) (DSA *, int,
      const unsigned char *, int, int *, unsigned long *, BN_GENCB *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - DSA
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: (*DSA_meth_get_keygen(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - flags
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: DSA_meth_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_flags(DSA_METHOD *dsam, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - app_data
    argTypes:
    - DSA_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: DSA_meth_set0_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*bn_mod_exp)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: DSA_meth_set_bn_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam, int (*bn_mod_exp) (DSA
      *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX
      *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: DSA_meth_get0_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *DSA_meth_get0_app_data(const DSA_METHOD *dsam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - '*'
    - int
    - '*'
    argTypes:
    - unsigned char
    - int
    - DSA
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: (*DSA_meth_get_sign(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    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: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - DSA
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: (*DSA_meth_get_init(const DSA_METHOD *dsam))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - dsam
    - (*keygen)
    argTypes:
    - DSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DSA_meth_set_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_meth.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_gen.c:32,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_gen.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - dsa
    - type
    - pbits
    - qbits
    - cb
    argTypes:
    - DSA*
    - int
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: ossl_dsa_generate_ffc_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_gen.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_FIPS186_4_generate
    - ossl_ffc_params_FIPS186_2_generate
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_generate_ffc_parameters(DSA *dsa, int type, int pbits,
      int qbits, BN_GENCB *cb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_generate_ffc_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_gen.c:65,1
    - Dst: ossl_dsa_generate_ffc_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_gen.c:61,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_gen.c:55,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    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*
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: DSA_generate_parameters_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_gen.c
    functionUses: []
    functionsReached:
    - ossl_dsa_generate_ffc_parameters
    - ossl_ffc_params_set_validate_params
    linkageType: ''
    returnType: int
    signature: 'int DSA_generate_parameters_ex(DSA *dsa, int bits, const unsigned
      char *seed_in, int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB
      *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:67,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - dsa
    - pub_key
    - ret
    argTypes:
    - DSA*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: ossl_dsa_check_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c
    functionUses: []
    functionsReached:
    - ossl_ffc_validate_public_key
    - dsa_precheck_params
    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/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:81,1
    - Dst: ossl_ffc_validate_public_key_partial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - dsa
    - pub_key
    - ret
    argTypes:
    - DSA*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: ossl_dsa_check_pub_key_partial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:24,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:30,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:35,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:29,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - dsa
    - ret
    argTypes:
    - DSA*
    - int*
    constantsTouched: []
    func_position:
      end: 42
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 42
    functionName: dsa_precheck_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'static int dsa_precheck_params(const DSA *dsa, int *ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:92,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - dsa
    - priv_key
    - ret
    argTypes:
    - DSA*
    - BIGNUM*
    - int*
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: ossl_dsa_check_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:46,1
    - Dst: ossl_ffc_params_full_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:58,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - dsa
    - checktype
    - ret
    argTypes:
    - DSA*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: ossl_dsa_check_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c
    functionUses: []
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:108,1
    - Dst: ossl_dsa_generate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:124,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:116,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:127,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:119,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:129,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c:130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 132
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 132
    functionName: ossl_dsa_check_pairwise
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_check.c
    functionUses: []
    functionsReached:
    - BN_new
    - ossl_dsa_generate_public_key
    - BN_CTX_free
    - BN_free
    - dsa_precheck_params
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_check_pairwise(const DSA *dsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: DSA_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c
    functionUses: []
    functionsReached:
    - dsa_keygen
    linkageType: ''
    returnType: int
    signature: 'int DSA_generate_key(DSA *dsa) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:67,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:88,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:71,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:78,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:87,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:93,1
    - Dst: ossl_dsa_generate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:99,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:114,1
    - Dst: dsa_keygen_pairwise_test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:115,1
    - Dst: ossl_set_error_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:117,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:119,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:133,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:118,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:122,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:132,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:130,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 2
    argNames:
    - dsa
    - pairwise_test
    argTypes:
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 136
    functionName: dsa_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - dsa_keygen_pairwise_test
    - BN_secure_new
    - ossl_ffc_generate_private_key
    - BN_num_bits
    - BN_new
    - ossl_dsa_generate_public_key
    - BN_clear_free
    - BN_CTX_free
    - BN_free
    - ossl_ffc_params_simple_validate
    - BN_CTX_new_ex
    - ossl_set_error_state
    linkageType: ''
    returnType: int
    signature: 'static int dsa_keygen(DSA *dsa, int pairwise_test) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:46,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:57,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:50,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - dsa
    - priv_key
    - pub_key
    argTypes:
    - BN_CTX*
    - DSA*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: ossl_dsa_generate_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c
    functionUses: []
    functionsReached:
    - BN_mod_exp
    - BN_clear_free
    - BN_new
    - BN_with_flags
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_generate_public_key(BN_CTX *ctx, const DSA *dsa, const
      BIGNUM *priv_key, BIGNUM *pub_key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:150,1
    - Dst: DSA_do_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:157,1
    - Dst: DSA_do_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:163,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:154,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:161,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:168,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:169,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c:170,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - dsa
    - cb
    - cbarg
    argTypes:
    - DSA*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: dsa_keygen_pairwise_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_key.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - DSA_do_verify
    - DSA_SIG_free
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_oncorrupt_byte
    - DSA_do_sign
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_keygen_pairwise_test(DSA *dsa, OSSL_CALLBACK *cb, void
      *cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: pkey_dsa_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: pkey_dsa_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void pkey_dsa_cleanup(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:112,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:114,1
    - Dst: DSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: pkey_dsa_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - DSA_verify
    - EVP_PKEY_get0_DSA
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_verify(EVP_PKEY_CTX *ctx, const unsigned char
      *sig, size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:188,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:193,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:191,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:194,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:190,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:195,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:197,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:201,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 207
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 207
    functionName: pkey_dsa_ctrl_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strcmp
    - EVP_get_digestbyname
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_CTX_set_dsa_paramgen_md
    - atoi
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
      const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:247,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:253,1
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:250,1
    - Dst: DSA_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:257,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:255,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: pkey_dsa_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_get0_DSA
    - DSA_generate_key
    - EVP_PKEY_copy_parameters
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pkey_dsa_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: pkey_dsa_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - pkey_dsa_init
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:88,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:90,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: pkey_dsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - EVP_PKEY_get0_DSA
    - DSA_sign
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t
      *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:140,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:150,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:143,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:142,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:141,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:151,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:152,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:153,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:154,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:155,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:177,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:161,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:158,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:159,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:160,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 183
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 183
    functionName: pkey_dsa_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:217,1
    - Dst: evp_pkey_set_cb_translate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:220,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:229,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:225,1
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:223,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:229,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:231,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:234,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:236,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c:238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 240
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 240
    functionName: pkey_dsa_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached:
    - BN_GENCB_new
    - EVP_PKEY_assign_DSA
    - ossl_ffc_set_digest
    - EVP_MD_get0_name
    - evp_pkey_set_cb_translate
    - ossl_ffc_params_FIPS186_4_generate
    - BN_GENCB_free
    - DSA_free
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int pkey_dsa_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: ossl_dsa_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_dsa_pkey_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cfb.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: Camellia_cfb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cfb.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const CAMELLIA_KEY *key, unsigned char *ivec, int *num,
      const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cfb.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Camellia_cfb1_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cfb.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: void
    signature: 'void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const CAMELLIA_KEY *key, unsigned char *ivec, int *num,
      const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cfb.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: Camellia_cfb8_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cfb.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: void
    signature: 'void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const CAMELLIA_KEY *key, unsigned char *ivec, int *num,
      const int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:289,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:291,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:309,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:320,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:322,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:318,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:361,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:363,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:365,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:381,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:387,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:290,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:295,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:292,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:296,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:301,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:302,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:308,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:313,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:332,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:312,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:349,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:357,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:373,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:371,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:324,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:326,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:328,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:350,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:367,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:334,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:336,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:338,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:340,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:342,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:353,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:355,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:377,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:385,1
    - Dst: RotLeft128
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 228
    argCount: 3
    argNames:
    - keyBitLength
    - rawKey
    - k
    argTypes:
    - int
    - u8*
    - KEY_TABLE_TYPE
    constantsTouched: []
    func_position:
      end: 400
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 400
    functionName: Camellia_Ekeygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c
    functionUses: []
    functionsReached:
    - Camellia_Feistel
    - RotLeft128
    - GETU32
    linkageType: ''
    returnType: int
    signature: 'int Camellia_Ekeygen(int keyBitLength, const u8 *rawKey, KEY_TABLE_TYPE
      k) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_EncryptBlock_Rounds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - keyBitLength
    - plaintext
    - keyTable
    - ciphertext
    argTypes:
    - int
    - u8
    - KEY_TABLE_TYPE
    - u8
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: Camellia_EncryptBlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c
    functionUses: []
    functionsReached:
    - Camellia_EncryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: 'void Camellia_EncryptBlock(int keyBitLength, const u8 plaintext[],
      const KEY_TABLE_TYPE keyTable, u8 ciphertext[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:462,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:465,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:463,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:464,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:470,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:471,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:472,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:473,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:474,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:475,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:495,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:496,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:497,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:498,1
    - Dst: LeftRotate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:486,1
    - Dst: LeftRotate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 4
    argNames:
    - grandRounds
    - ciphertext
    - keyTable
    - plaintext
    argTypes:
    - int
    - u8
    - KEY_TABLE_TYPE
    - u8
    constantsTouched: []
    func_position:
      end: 499
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 499
    functionName: Camellia_DecryptBlock_Rounds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c
    functionUses: []
    functionsReached:
    - Camellia_Feistel
    - PUTU32
    - LeftRotate
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'void Camellia_DecryptBlock_Rounds(int grandRounds, const u8 ciphertext[],
      const KEY_TABLE_TYPE keyTable, u8 plaintext[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:409,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:411,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:410,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:412,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:417,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:418,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:419,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:420,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:421,1
    - Dst: Camellia_Feistel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:422,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:443,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:444,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:445,1
    - Dst: LeftRotate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:436,1
    - Dst: LeftRotate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:433,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 4
    argNames:
    - grandRounds
    - plaintext
    - keyTable
    - ciphertext
    argTypes:
    - int
    - u8
    - KEY_TABLE_TYPE
    - u8
    constantsTouched: []
    func_position:
      end: 446
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 446
    functionName: Camellia_EncryptBlock_Rounds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c
    functionUses: []
    functionsReached:
    - Camellia_Feistel
    - PUTU32
    - LeftRotate
    - GETU32
    linkageType: ''
    returnType: void
    signature: 'void Camellia_EncryptBlock_Rounds(int grandRounds, const u8 plaintext[],
      const KEY_TABLE_TYPE keyTable, u8 ciphertext[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_DecryptBlock_Rounds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - keyBitLength
    - ciphertext
    - keyTable
    - plaintext
    argTypes:
    - int
    - u8
    - KEY_TABLE_TYPE
    - u8
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: Camellia_DecryptBlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/camellia.c
    functionUses: []
    functionsReached:
    - Camellia_DecryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: 'void Camellia_DecryptBlock(int keyBitLength, const u8 ciphertext[],
      const KEY_TABLE_TYPE keyTable, u8 plaintext[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_ofb.c:27,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: Camellia_ofb128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_ofb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const CAMELLIA_KEY *key, unsigned char *ivec, int *num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_ctr.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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*
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: Camellia_ctr128_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_ctr.c
    functionUses: []
    functionsReached:
    - CRYPTO_ctr128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char
      *out, size_t length, const CAMELLIA_KEY *key, unsigned char ivec[CAMELLIA_BLOCK_SIZE],
      unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], unsigned int *num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_Ekeygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_misc.c:26,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - CAMELLIA_KEY*
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: Camellia_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_misc.c
    functionUses: []
    functionsReached:
    - Camellia_Ekeygen
    linkageType: ''
    returnType: int
    signature: 'int Camellia_set_key(const unsigned char *userKey, const int bits,
      CAMELLIA_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_DecryptBlock_Rounds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_misc.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAMELLIA_KEY*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: Camellia_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_misc.c
    functionUses: []
    functionsReached:
    - Camellia_DecryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: 'void Camellia_decrypt(const unsigned char *in, unsigned char *out,
      const CAMELLIA_KEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_EncryptBlock_Rounds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_misc.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAMELLIA_KEY*
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: Camellia_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_misc.c
    functionUses: []
    functionsReached:
    - Camellia_EncryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: 'void Camellia_encrypt(const unsigned char *in, unsigned char *out,
      const CAMELLIA_KEY *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_ecb.c:22,1
    - Dst: Camellia_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_ecb.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - in
    - out
    - key
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAMELLIA_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: Camellia_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_ecb.c
    functionUses: []
    functionsReached:
    - Camellia_encrypt
    - Camellia_decrypt
    linkageType: ''
    returnType: void
    signature: 'void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out,
      const CAMELLIA_KEY *key, const int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cbc.c:24,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cbc.c:27,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: Camellia_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/camellia/cmll_cbc.c
    functionUses: []
    functionsReached:
    - CRYPTO_cbc128_decrypt
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: void
    signature: 'void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out,
      size_t len, const CAMELLIA_KEY *key, unsigned char *ivec, const int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - MD5_CTX*
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: MD5_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int MD5_Init(MD5_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:69,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:79,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:117,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:101,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:119,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:133,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:146,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:149,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:161,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:100,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:67,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:78,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:82,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:118,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:116,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:129,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:132,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:144,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:148,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:115,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:103,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:83,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:85,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:87,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:117,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:127,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:131,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:133,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:143,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:104,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:116,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:96,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:106,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:67,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:82,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:86,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:129,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:130,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:132,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:142,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:77,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:81,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:97,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:121,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:135,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:137,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:151,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:153,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:147,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:76,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:90,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:94,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:98,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:120,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:136,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:146,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:150,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:152,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:159,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:147,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:99,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:97,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:79,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:119,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:135,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:149,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:151,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:161,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:64,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:80,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:108,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:100,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:118,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:120,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:134,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:134,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:148,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:150,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:160,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:159,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:62,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:71,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:91,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:93,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:113,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:109,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:123,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:125,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:139,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:155,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:65,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:70,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:74,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:92,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:102,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:122,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:124,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:138,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:140,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:154,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:154,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:73,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:73,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:91,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:95,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:121,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:123,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:137,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:139,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:153,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:94,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:72,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:76,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:122,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:136,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:138,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:152,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:85,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:105,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:107,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:115,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:112,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:103,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:127,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:131,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:141,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:143,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:68,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:88,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:110,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:114,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:106,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:126,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:130,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:142,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:156,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:158,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:144,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:158,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:157,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:113,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:109,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:75,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:89,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:112,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:125,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:141,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:155,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:157,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:63,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:160,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:110,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:70,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:84,1
    - Dst: R0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:88,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:114,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:124,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:126,1
    - Dst: X
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:140,1
    - Dst: R3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 190
    argCount: 3
    argNames:
    - c
    - data_
    - num
    argTypes:
    - MD5_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 168
    functionName: md5_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_dgst.c
    functionUses: []
    functionsReached:
    - R3
    - X
    - R0
    - HOST_c2l
    - R2
    - R1
    linkageType: ''
    returnType: void
    signature: 'void md5_block_data_order(MD5_CTX *c, const void *data_, size_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_one.c:31,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_one.c:49,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_one.c:34,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_one.c:43,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_one.c:42,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_one.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 52
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 52
    functionName: MD5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_one.c
    functionUses: []
    functionsReached:
    - MD5_Update
    - MD5_Final
    - OPENSSL_cleanse
    - ebcdic2ascii
    - MD5_Init
    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/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:21,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - MD5_SHA1_CTX*
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: ossl_md5_sha1_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c
    functionUses: []
    functionsReached:
    - MD5_Init
    - SHA1_Init
    linkageType: ''
    returnType: int
    signature: 'int ossl_md5_sha1_init(MD5_SHA1_CTX *mctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:35,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - md
    - mctx
    argTypes:
    - unsigned char*
    - MD5_SHA1_CTX*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ossl_md5_sha1_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:60,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:72,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:69,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:66,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:64,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:75,1
    - Dst: ossl_md5_sha1_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:80,1
    - Dst: ossl_md5_sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:83,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:87,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:89,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:92,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:98,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:104,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:95,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:103,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - mctx
    - cmd
    - mslen
    - ms
    argTypes:
    - MD5_SHA1_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 107
    functionName: ossl_md5_sha1_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c
    functionUses: []
    functionsReached:
    - SHA1_Final
    - MD5_Update
    - ossl_md5_sha1_init
    - MD5_Final
    - OPENSSL_cleanse
    - ossl_md5_sha1_update
    - SHA1_Update
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_md5_sha1_ctrl(MD5_SHA1_CTX *mctx, int cmd, int mslen, void
      *ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:28,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - mctx
    - data
    - count
    argTypes:
    - MD5_SHA1_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: ossl_md5_sha1_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md5/md5_sha1.c
    functionUses: []
    functionsReached:
    - MD5_Update
    - SHA1_Update
    linkageType: ''
    returnType: int
    signature: 'int ossl_md5_sha1_update(MD5_SHA1_CTX *mctx, const void *data, size_t
      count) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:391,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:410,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:416,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:422,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 8
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - value
    - flags
    - min
    - max
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 428
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 428
    functionName: fmtstr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - OPENSSL_strnlen
    - doapr_outch
    linkageType: ''
    returnType: int
    signature: 'static int fmtstr(char **sbuffer, char **buffer, size_t *currlen,
      size_t *maxlen, const char *value, int flags, int min, int max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - LDOUBLE
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: abs_val
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: LDOUBLE
    signature: 'static LDOUBLE abs_val(LDOUBLE value) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:836,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:849,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:840,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:854,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:850,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:856,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:862,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:864,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 5
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - c
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 879
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 879
    functionName: doapr_outch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - OPENSSL_realloc
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int doapr_outch(char **sbuffer, char **buffer, size_t *currlen,
      size_t *maxlen, int c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _dopr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:909,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:916,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:911,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:918,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - bio
    - format
    - args
    argTypes:
    - BIO*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 921
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 921
    functionName: BIO_vprintf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - _dopr
    linkageType: ''
    returnType: int
    signature: 'int BIO_vprintf(BIO *bio, const char *format, va_list args) '
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:154,1
    - Dst: char_to_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:171,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:218,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:252,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:336,1
    - Dst: fmtstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:323,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:227,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:246,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:230,1
    - Dst: fmtint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:261,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:258,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:271,1
    - Dst: fmtfp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:272,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:281,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:295,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:311,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:293,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:307,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:312,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:118,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:150,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:174,1
    - Dst: fmtfp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:296,1
    - Dst: fmtint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:329,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:372,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:316,1
    - Dst: char_to_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:151,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:168,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:221,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:224,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:249,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:255,1
    - Dst: fmtint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:233,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:269,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:283,1
    - Dst: fmtfp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:284,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:328,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:341,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 178
    argCount: 7
    argNames:
    - sbuffer
    - buffer
    - maxlen
    - retlen
    - truncated
    - format
    - args
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - int*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 376
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 376
    functionName: _dopr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - fmtint
    - va_arg
    - char_to_int
    - fmtstr
    - ossl_isdigit
    - fmtfp
    - doapr_outch
    linkageType: ''
    returnType: int
    signature: 'static int _dopr(char **sbuffer, char **buffer, size_t *maxlen, size_t
      *retlen, int *truncated, const char *format, va_list args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - in_exp
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: pow_10
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: LDOUBLE
    signature: 'static LDOUBLE pow_10(int in_exp) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:439,1
    - Dst: OSSL_MAX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:476,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:476,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:490,1
    - Dst: OSSL_MAX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:482,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:497,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:502,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:510,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:517,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:523,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 78
    argCount: 9
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - value
    - base
    - min
    - max
    - flags
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - int64_t
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 528
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 528
    functionName: fmtint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - DECIMAL_SIZE
    - OSSL_MAX
    - doapr_outch
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fmtint(char **sbuffer, char **buffer, size_t *currlen,
      size_t *maxlen, int64_t value, int base, int min, int max, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - LDOUBLE
    constantsTouched: []
    func_position:
      end: 558
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 558
    functionName: roundv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long roundv(LDOUBLE value) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:782,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:769,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:820,1
    - Dst: pow_10
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:604,1
    - Dst: roundv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:678,1
    - Dst: pow_10
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:679,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:759,1
    - Dst: abs_val
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:655,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:662,1
    - Dst: roundv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:679,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:765,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:809,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:640,1
    - Dst: pow_10
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:678,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:727,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:753,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:773,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:792,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:803,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:806,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:786,1
    - Dst: doapr_outch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:813,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 201
    argCount: 9
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - fvalue
    - min
    - max
    - flags
    - style
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - LDOUBLE
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 825
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 825
    functionName: fmtfp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - pow_10
    - roundv
    - doapr_outch
    - abs_val
    linkageType: ''
    returnType: int
    signature: 'static int fmtfp(char **sbuffer, char **buffer, size_t *currlen, size_t
      *maxlen, LDOUBLE fvalue, int min, int max, int flags, int style) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _dopr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - n
    - format
    - args
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 959
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 959
    functionName: BIO_vsnprintf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - _dopr
    linkageType: ''
    returnType: int
    signature: 'int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list
      args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:888,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:892,1
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - format
    - '...'
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 894
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 894
    functionName: BIO_printf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int BIO_printf(BIO *bio, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:934,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:938,1
    - Dst: BIO_vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c:936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - n
    - format
    - '...'
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 940
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 940
    functionName: BIO_snprintf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_print.c
    functionUses: []
    functionsReached:
    - va_end
    - BIO_vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int BIO_snprintf(char *buf, size_t n, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: BIO_s_log
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_log(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcloselog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:222,1
    - Dst: xopenlog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: slg_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - xcloselog
    - xopenlog
    linkageType: ''
    returnType: long
    signature: 'static long slg_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcloselog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: slg_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - xcloselog
    linkageType: ''
    returnType: int
    signature: 'static int slg_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_winnt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:244,1
    - Dst: RegisterEventSourceA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: xopenlog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - check_winnt
    - RegisterEventSourceA
    linkageType: ''
    returnType: void
    signature: 'static void xopenlog(BIO *bp, char *name, int level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:393,1
    - Dst: openlog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: xopenlog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - openlog
    linkageType: ''
    returnType: void
    signature: 'static void xopenlog(BIO *bp, char *name, int level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xopenlog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: slg_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - xopenlog
    linkageType: ''
    returnType: int
    signature: 'static int slg_new(BIO *bi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:199,1
    - Dst: xsyslog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:200,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:207,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:203,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 216
    functionName: slg_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - strncmp
    - xsyslog
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int slg_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:235,1
    - Dst: slg_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: slg_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - slg_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int slg_puts(BIO *bp, const char *str) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:254,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:283,1
    - Dst: ReportEventA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:287,1
    - Dst: GetCurrentProcessId
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:283,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: xsyslog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - DECIMAL_SIZE
    - ReportEventA
    - sprintf
    - GetCurrentProcessId
    linkageType: ''
    returnType: void
    signature: 'static void xsyslog(BIO *bp, int priority, const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeregisterEventSource
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: xcloselog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - DeregisterEventSource
    linkageType: ''
    returnType: void
    signature: 'static void xcloselog(BIO *bp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: xopenlog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void xopenlog(BIO *bp, char *name, int level) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: $DESCRIPTOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:330,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:370,1
    - Dst: OPCDEF_MALLOC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:368,1
    - Dst: lib$sys_fao
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:365,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:372,1
    - Dst: sys$sndopr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:379,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:381,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 382
    functionName: xsyslog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - memcpy
    - $DESCRIPTOR
    - sys$sndopr
    - OPCDEF_MALLOC
    - lib$sys_fao
    linkageType: ''
    returnType: void
    signature: 'static void xsyslog(BIO *bp, int priority, const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: xcloselog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void xcloselog(BIO *bp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: xsyslog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - syslog
    linkageType: ''
    returnType: void
    signature: 'static void xsyslog(BIO *bp, int priority, const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: xcloselog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached:
    - closelog
    linkageType: ''
    returnType: void
    signature: 'static void xcloselog(BIO *bp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: BIO_s_log
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_log(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: BIO_new_fd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_fd(int fd, int close_flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: BIO_s_fd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_fd(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: fd_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fd_new(BIO *bi) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:117,1
    - Dst: UP_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:118,1
    - Dst: BIO_fd_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:121,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:119,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: fd_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - UP_read
    - clear_sys_error
    - BIO_fd_should_retry
    linkageType: ''
    returnType: int
    signature: 'static int fd_read(BIO *b, char *out, int outl) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: UP_lseek
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:153,1
    - Dst: UP_lseek
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:157,1
    - Dst: fd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:160,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 196
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 196
    functionName: fd_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached:
    - fd_free
    - UP_lseek
    linkageType: ''
    returnType: long
    signature: 'static long fd_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fd_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:213,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: fd_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached:
    - fd_read
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fd_gets(BIO *bp, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: BIO_fd_non_fatal_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_fd_non_fatal_error(int err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: BIO_fd_should_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_fd_should_retry(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: BIO_s_fd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_fd(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:82,1
    - Dst: BIO_set_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:85,1
    - Dst: BIO_s_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: BIO_new_fd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached:
    - BIO_set_fd
    - BIO_new
    - BIO_s_fd
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_fd(int fd, int close_flag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: fd_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached:
    - UP_close
    linkageType: ''
    returnType: int
    signature: 'static int fd_free(BIO *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:133,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:138,1
    - Dst: UP_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:134,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:135,1
    - Dst: BIO_fd_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: fd_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - UP_write
    - clear_sys_error
    - BIO_set_retry_write
    - BIO_fd_should_retry
    linkageType: ''
    returnType: int
    signature: 'static int fd_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:202,1
    - Dst: fd_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: fd_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached:
    - fd_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int fd_puts(BIO *bp, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:230,1
    - Dst: BIO_fd_non_fatal_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: BIO_fd_should_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    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: 11
    EdgeCount: 11
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 281
    functionName: BIO_fd_non_fatal_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_fd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_fd_non_fatal_error(int err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: null_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_read(BIO *b, char *out, int outl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 4
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: null_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long null_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: BIO_s_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_null(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: null_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: null_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_gets(BIO *bp, char *buf, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_null.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: null_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_null.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int null_puts(BIO *bp, const char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: sock_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached:
    - BIO_closesocket
    linkageType: ''
    returnType: int
    signature: 'static int sock_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:61,1
    - Dst: ktls_enable
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:73,1
    - Dst: BIO_set_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:64,1
    - Dst: BIO_s_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: BIO_new_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached:
    - BIO_set_fd
    - BIO_new
    - ktls_enable
    - BIO_s_socket
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_socket(int fd, int close_flag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:129,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:136,1
    - Dst: writesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:140,1
    - Dst: BIO_should_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:131,1
    - Dst: ktls_send_ctrl_message
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:133,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:141,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:143,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: sock_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached:
    - ktls_send_ctrl_message
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_should_ktls_ctrl_msg_flag
    - BIO_set_retry_write
    - BIO_clear_ktls_ctrl_msg_flag
    - BIO_sock_should_retry
    - writesocket
    linkageType: ''
    returnType: int
    signature: 'static int sock_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:218,1
    - Dst: sock_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: sock_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached:
    - sock_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int sock_puts(BIO *bp, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: BIO_s_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_socket(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:107,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:109,1
    - Dst: readsocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:113,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:114,1
    - Dst: ktls_read_record
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:110,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:116,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: sock_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - clear_socket_error
    - BIO_get_ktls_recv
    - BIO_set_retry_read
    - ktls_read_record
    - readsocket
    - BIO_sock_should_retry
    linkageType: ''
    returnType: int
    signature: 'static int sock_read(BIO *b, char *out, int outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: sock_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sock_new(BIO *bi) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:159,1
    - Dst: BIO_should_ktls_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:193,1
    - Dst: BIO_set_ktls_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:188,1
    - Dst: BIO_should_ktls_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:191,1
    - Dst: ktls_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:186,1
    - Dst: BIO_set_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:195,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:200,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 212
    functionName: sock_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached:
    - sock_free
    - BIO_set_ktls_flag
    - ktls_start
    - BIO_set_ktls_ctrl_msg_flag
    - BIO_should_ktls_flag
    - BIO_clear_ktls_ctrl_msg_flag
    linkageType: ''
    returnType: long
    signature: 'static long sock_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:228,1
    - Dst: BIO_sock_non_fatal_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: BIO_sock_should_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached:
    - BIO_sock_non_fatal_error
    - get_last_socket_error
    linkageType: ''
    returnType: int
    signature: 'int BIO_sock_should_retry(int i) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 284
    functionName: BIO_sock_non_fatal_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_sock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_sock_non_fatal_error(int err) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:83,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:117,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:100,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:100,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:117,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:117,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:120,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:120,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:134,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:134,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 4
    argNames:
    - b
    - out
    - outl
    - numwritten
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 148
    functionName: prefix_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write_ex
    - BIO_next
    - BIO_get_data
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int prefix_write(BIO *b, const char *out, size_t outl, size_t
      *numwritten) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:68,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:70,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: prefix_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int prefix_destroy(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:195,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: prefix_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long prefix_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: BIO_f_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_prefix(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:77,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - b
    - in
    - size
    - numread
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: prefix_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - BIO_read_ex
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int prefix_read(BIO *b, char *in, size_t size, size_t *numread) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:53,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:62,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: prefix_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int prefix_create(BIO *b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:155,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:186,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:165,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:160,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:187,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:187,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 191
    functionName: prefix_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - BIO_ctrl
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long prefix_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:200,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: prefix_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int prefix_gets(BIO *b, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:205,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: prefix_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_prefix.c
    functionUses: []
    functionsReached:
    - BIO_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int prefix_puts(BIO *b, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_indent_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:24,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - (*cb)
    - u
    - s
    - len
    argTypes:
    - int
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: BIO_dump_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    functionsReached:
    - BIO_dump_indent_cb
    linkageType: ''
    returnType: int
    signature: 'int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u),
      void *u, const void *s, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UP_fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - len
    - fp
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: write_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    functionsReached:
    - UP_fwrite
    linkageType: ''
    returnType: int
    signature: 'static int write_fp(const void *data, size_t len, void *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - s
    - len
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: BIO_dump
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    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_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - s
    - len
    argTypes:
    - FILE*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: BIO_dump_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    functionsReached:
    - BIO_dump_cb
    linkageType: ''
    returnType: int
    signature: 'int BIO_dump_fp(FILE *fp, const void *s, int len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_WIDTH_LESS_INDENT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:42,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:47,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:52,1
    - Dst: SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:50,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:55,1
    - Dst: SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:61,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:62,1
    - Dst: SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:68,1
    - Dst: SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:80,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:88,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 5
    argNames:
    - (*cb)
    - u
    - v
    - len
    - indent
    argTypes:
    - int
    - void*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 94
    functionName: BIO_dump_indent_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    functionsReached:
    - SPACE
    - strcpy
    - cb
    - BIO_snprintf
    - DUMP_WIDTH_LESS_INDENT
    linkageType: ''
    returnType: int
    signature: 'int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void
      *u), void *u, const void *v, int len, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_indent_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - fp
    - s
    - len
    - indent
    argTypes:
    - FILE*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: BIO_dump_indent_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    functionsReached:
    - BIO_dump_indent_cb
    linkageType: ''
    returnType: int
    signature: 'int BIO_dump_indent_fp(FILE *fp, const void *s, int len, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - data
    - len
    - bp
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: write_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: 'static int write_bio(const void *data, size_t len, void *bp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_indent_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - s
    - len
    - indent
    argTypes:
    - BIO*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: BIO_dump_indent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:139,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:145,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:150,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c:141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - out
    - indent
    - width
    - data
    - datalen
    argTypes:
    - BIO*
    - int
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 152
    functionName: BIO_hex_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_dump.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'int BIO_hex_string(BIO *out, int indent, int width, const void *data,
      int datalen) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:122,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:146,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:170,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:172,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:225,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:246,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:131,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:139,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:143,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:161,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:176,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:196,1
    - Dst: ktls_enable
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:219,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:238,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:111,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:141,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:143,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:154,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:160,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:156,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:165,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:176,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:184,1
    - Dst: BIO_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:125,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:139,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:155,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:164,1
    - Dst: BIO_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:156,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:175,1
    - Dst: BIO_sock_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:193,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:191,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:200,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:204,1
    - Dst: BIO_socket_wait
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:207,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 100
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - BIO*
    - BIO_CONNECT*
    constantsTouched: []
    func_position:
      end: 249
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 249
    functionName: conn_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_sock_error
    - ERR_set_mark
    - BIO_ADDRINFO_address
    - ktls_enable
    - BIO_ADDRINFO_next
    - cb
    - BIO_closesocket
    - ERR_raise_data
    - BIO_ADDRINFO_protocol
    - BIO_clear_retry_flags
    - time
    - BIO_connect
    - BIO_ADDRINFO_socktype
    - BIO_lookup
    - BIO_socket
    - get_last_socket_error
    - BIO_set_retry_special
    - ERR_clear_last_mark
    - BIO_sock_should_retry
    - ERR_pop_to_mark
    - ERR_raise
    - BIO_socket_wait
    - BIO_ADDRINFO_family
    linkageType: ''
    returnType: int
    signature: 'static int conn_state(BIO *b, BIO_CONNECT *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_CONNECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: conn_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_CONNECT_new
    linkageType: ''
    returnType: int
    signature: 'static int conn_new(BIO *bi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:268,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:269,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:270,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO_CONNECT*
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: BIO_CONNECT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_ADDRINFO_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void BIO_CONNECT_free(BIO_CONNECT *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conn_close_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:313,1
    - Dst: BIO_CONNECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 320
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 320
    functionName: conn_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_CONNECT_free
    - conn_close_socket
    linkageType: ''
    returnType: int
    signature: 'static int conn_free(BIO *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: conn_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:360,1
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:365,1
    - Dst: ktls_send_ctrl_message
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:368,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:371,1
    - Dst: BIO_should_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:367,1
    - Dst: writesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:375,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:376,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:378,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: conn_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - ktls_send_ctrl_message
    - conn_state
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_should_ktls_ctrl_msg_flag
    - BIO_set_retry_write
    - BIO_clear_ktls_ctrl_msg_flag
    - BIO_sock_should_retry
    - writesocket
    linkageType: ''
    returnType: int
    signature: 'static int conn_write(BIO *b, const char *in, int inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 599
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 599
    functionName: conn_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long conn_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: BIO_s_connect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_connect(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:255,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: BIO_CONNECT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIO_CONNECT*
    signature: 'BIO_CONNECT *BIO_CONNECT_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:298,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: conn_close_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_closesocket
    - shutdown
    linkageType: ''
    returnType: void
    signature: 'static void conn_close_socket(BIO *bio) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: conn_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:329,1
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:335,1
    - Dst: ktls_read_record
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:338,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:337,1
    - Dst: readsocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:341,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:342,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:344,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 351
    functionName: conn_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - conn_state
    - clear_socket_error
    - BIO_get_ktls_recv
    - BIO_set_retry_read
    - ktls_read_record
    - readsocket
    - BIO_sock_should_retry
    linkageType: ''
    returnType: int
    signature: 'static int conn_read(BIO *b, char *out, int outl) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: BIO_parse_hostserv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:458,1
    - Dst: BIO_ADDR_service_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:471,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:483,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:470,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:475,1
    - Dst: ktls_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:556,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:570,1
    - Dst: conn_close_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:401,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:421,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:402,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:456,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:477,1
    - Dst: BIO_set_conn_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:527,1
    - Dst: BIO_set_info_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:536,1
    - Dst: conn_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:409,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:423,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:463,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:466,1
    - Dst: BIO_set_conn_port
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:529,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:484,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:530,1
    - Dst: BIO_set_ktls_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:558,1
    - Dst: BIO_should_ktls_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:563,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:465,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:479,1
    - Dst: BIO_set_conn_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:531,1
    - Dst: BIO_should_ktls_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:561,1
    - Dst: BIO_set_ktls_ctrl_msg_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:565,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 122
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 579
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 579
    functionName: conn_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_set_ktls_ctrl_msg_flag
    - BIO_ADDRINFO_free
    - BIO_ADDRINFO_address
    - BIO_set_info_callback
    - BIO_set_conn_mode
    - OPENSSL_strdup
    - BIO_set_conn_hostname
    - OPENSSL_free
    - BIO_set_conn_port
    - conn_close_socket
    - BIO_ADDR_service_string
    - BIO_set_conn_ip_family
    - BIO_should_ktls_flag
    - conn_state
    - BIO_set_ktls_flag
    - ktls_start
    - BIO_parse_hostserv
    - BIO_ADDR_hostname_string
    - BIO_ADDRINFO_family
    - BIO_clear_ktls_ctrl_msg_flag
    linkageType: ''
    returnType: long
    signature: 'static long conn_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:605,1
    - Dst: conn_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: conn_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - conn_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int conn_puts(BIO *bp, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:614,1
    - Dst: BIO_s_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:614,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:619,1
    - Dst: BIO_set_conn_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 621
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 621
    functionName: BIO_new_connect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_conn.c
    functionUses: []
    functionsReached:
    - BIO_new
    - BIO_free
    - BIO_s_connect
    - BIO_set_conn_hostname
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_connect(const char *str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:50,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:57,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:58,1
    - Dst: BIO_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:53,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:58,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:63,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:64,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:64,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:66,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - str
    - ip
    argTypes:
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 72
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 72
    functionName: BIO_get_host_ip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - BIO_ADDRINFO_free
    - BIO_ADDRINFO_family
    - BIO_ADDRINFO_address
    - BIO_lookup
    - BIO_sock_init
    - ERR_add_error_data
    - BIO_ADDR_rawaddress
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_host_ip(const char *str, unsigned char *ip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: BIO_gethostbyname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - gethostbyname
    linkageType: ''
    returnType: struct hostent*
    signature: 'struct hostent *BIO_gethostbyname(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: bio_sock_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: 'void bio_sock_cleanup_int(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_parse_hostserv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:220,1
    - Dst: BIO_sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:223,1
    - Dst: BIO_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:226,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:229,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:229,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:229,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:230,1
    - Dst: BIO_listen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:235,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:235,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:237,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:243,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:242,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:244,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - host
    - bind_mode
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 247
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 247
    functionName: BIO_get_accept_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - BIO_parse_hostserv
    - BIO_ADDRINFO_free
    - OPENSSL_free
    - BIO_listen
    - BIO_ADDRINFO_family
    - BIO_ADDRINFO_address
    - BIO_closesocket
    - BIO_ADDRINFO_socktype
    - BIO_lookup
    - BIO_socket
    - BIO_sock_init
    - BIO_ADDRINFO_protocol
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_accept_socket(char *host, int bind_mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_socket_ioctl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:320,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:326,1
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:326,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:324,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:342,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:345,1
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:345,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 355
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 355
    functionName: BIO_socket_nbio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - get_last_sys_error
    - fcntl
    - ERR_raise_data
    - BIO_socket_ioctl
    linkageType: ''
    returnType: int
    signature: 'int BIO_socket_nbio(int s, int mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:407,1
    - Dst: openssl_fdset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:412,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:415,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - for_read
    - max_time
    argTypes:
    - int
    - int
    - time_t
    constantsTouched: []
    func_position:
      end: 417
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 417
    functionName: BIO_socket_wait
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - openssl_fdset
    - FD_ZERO
    - time
    - select
    linkageType: ''
    returnType: int
    signature: 'int BIO_socket_wait(int fd, int for_read, time_t max_time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:80,1
    - Dst: BIO_sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:84,1
    - Dst: BIO_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:87,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:88,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:89,1
    - Dst: ntohs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:91,1
    - Dst: BIO_ADDR_rawport
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:91,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:91,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:94,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - str
    - port_ptr
    argTypes:
    - char*
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: BIO_get_port
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ntohs
    - BIO_ADDRINFO_free
    - BIO_ADDRINFO_family
    - BIO_ADDRINFO_address
    - BIO_ADDR_rawport
    - BIO_lookup
    - BIO_sock_init
    - ERR_add_error_data
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_port(const char *str, unsigned short *port_ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:149,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:147,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:147,1
    - Dst: WSAStartup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:146,1
    - Dst: sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: BIO_sock_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ERR_raise_data
    - get_last_socket_error
    - WSAStartup
    - sock_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'int BIO_sock_init(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:114,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: BIO_sock_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - getsockopt
    - get_last_socket_error
    linkageType: ''
    returnType: int
    signature: 'int BIO_sock_error(int sock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:179,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:208,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:208,1
    - Dst: ioctlsocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - type
    - arg
    argTypes:
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 211
    functionName: BIO_socket_ioctl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - get_last_socket_error
    - ERR_raise_data
    - ioctlsocket
    linkageType: ''
    returnType: int
    signature: 'int BIO_socket_ioctl(int fd, long type, void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_accept_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:262,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:260,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:256,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:260,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:267,1
    - Dst: BIO_ADDR_service_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:268,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:270,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:270,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:275,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:284,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:283,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:281,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:279,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:280,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:276,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - sock
    - ip_port
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 289
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 289
    functionName: BIO_accept
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - strcat
    - ERR_raise
    - BIO_ADDR_service_string
    - BIO_accept_ex
    - strcpy
    - BIO_ADDR_hostname_string
    - OPENSSL_free
    - OPENSSL_zalloc
    - BIO_closesocket
    - ERR_raise_data
    - get_last_socket_error
    - BIO_sock_should_retry
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int BIO_accept(int sock, char **ip_port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - 'on'
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: BIO_set_tcp_ndelay
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: 'int BIO_set_tcp_ndelay(int s, int on) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:366,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:371,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:369,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:369,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:366,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:375,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - sock
    - type
    - info
    argTypes:
    - int
    - enum BIO_sock_info_type
    - union BIO_sock_info_u*
    constantsTouched: []
    func_position:
      end: 385
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 385
    functionName: BIO_sock_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_ADDR_sockaddr_noconst
    - ERR_raise_data
    - get_last_socket_error
    - getsockname
    linkageType: ''
    returnType: int
    signature: 'int BIO_sock_info(int sock, enum BIO_sock_info_type type, union BIO_sock_info_u
      *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: BIO_f_buffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_buffer(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:168,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:189,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:192,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:173,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:181,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:213,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:215,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 232
    functionName: buffer_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - memcpy
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int buffer_write(BIO *b, const char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:77,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: buffer_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int buffer_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: buffer_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long buffer_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:98,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:124,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:126,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:142,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:106,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:144,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 155
    functionName: buffer_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - memcpy
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int buffer_read(BIO *b, char *out, int outl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:46,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:53,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:57,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: buffer_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int buffer_new(BIO *bi) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:284,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:330,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:352,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:342,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:354,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:368,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:397,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:322,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:335,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:353,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:366,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:361,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:381,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:386,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:253,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:291,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:258,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:294,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:299,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:370,1
    - Dst: BIO_set_read_buffer_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:385,1
    - Dst: buffer_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:393,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:403,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:408,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:276,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:327,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 134
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 410
    functionName: buffer_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_set_read_buffer_size
    - buffer_read
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - BIO_copy_next_retry
    - BIO_ctrl
    - OPENSSL_malloc
    - BIO_set_write_buffer_size
    linkageType: ''
    returnType: long
    signature: 'static long buffer_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:427,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:451,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:453,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 464
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 464
    functionName: buffer_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int buffer_gets(BIO *b, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:468,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: buffer_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_buff.c
    functionUses: []
    functionsReached:
    - buffer_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int buffer_puts(BIO *b, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: BIO_s_secmem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_secmem(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:110,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:118,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:119,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:115,1
    - Dst: BUF_MEM_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - bi
    - flags
    argTypes:
    - BIO*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: mem_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    - OPENSSL_free
    - BUF_MEM_new_ex
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int mem_init(BIO *bi, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: secmem_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - mem_init
    linkageType: ''
    returnType: int
    signature: 'static int secmem_new(BIO *bi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: mem_buf_sync
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int mem_buf_sync(BIO *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:198,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:208,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 211
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 211
    functionName: mem_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - memcpy
    - BIO_set_retry_read
    linkageType: ''
    returnType: int
    signature: 'static int mem_read(BIO *b, char *out, int outl) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:265,1
    - Dst: mem_buf_sync
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:309,1
    - Dst: mem_buf_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:301,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 66
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 338
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 338
    functionName: mem_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - mem_buf_free
    - mem_buf_sync
    - memset
    linkageType: ''
    returnType: long
    signature: 'static long mem_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: mem_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - mem_init
    linkageType: ''
    returnType: int
    signature: 'static int mem_new(BIO *bi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:89,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:92,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:93,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 106
    functionName: BIO_new_mem_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - BIO_new
    - ERR_raise
    - BIO_s_mem
    - strlen
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_mem_buf(const void *buf, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_buf_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:149,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:151,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: mem_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - mem_buf_free
    linkageType: ''
    returnType: int
    signature: 'static int mem_free(BIO *a) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:220,1
    - Dst: mem_buf_sync
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:227,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:232,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:223,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: mem_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - ERR_raise
    - BUF_MEM_grow_clean
    - memcpy
    - mem_buf_sync
    linkageType: ''
    returnType: int
    signature: 'static int mem_write(BIO *b, const char *in, int inl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:350,1
    - Dst: mem_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:371,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 376
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 376
    functionName: mem_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - mem_read
    linkageType: ''
    returnType: int
    signature: 'static int mem_gets(BIO *bp, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:382,1
    - Dst: mem_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: mem_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - mem_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int mem_puts(BIO *bp, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: BIO_s_mem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_mem(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: mem_buf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_mem.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    linkageType: ''
    returnType: int
    signature: 'static int mem_buf_free(BIO *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:132,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:140,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:141,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:135,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:138,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:149,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:151,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 156
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 156
    functionName: BIO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_call_callback
    - HAS_CALLBACK
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - CRYPTO_free_ex_data
    - REF_PRINT_COUNT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: int
    signature: 'int BIO_free(BIO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: BIO_get_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_init(BIO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: BIO_test_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_test_flags(const BIO *b, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - cb
    argTypes:
    - BIO*
    - BIO_callback_fn_ex
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: BIO_set_callback_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: BIO_get_callback_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *BIO_get_callback_arg(const BIO *b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:273,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:282,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:281,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:287,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:296,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:297,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - readbytes
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 307
    functionName: bio_read_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_call_callback
    - ERR_raise
    - HAS_CALLBACK
    linkageType: ''
    returnType: int
    signature: 'static int bio_read_intern(BIO *b, void *data, size_t dlen, size_t
      *readbytes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:719,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - bio
    - type
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 737
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 737
    functionName: BIO_find_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_find_type(BIO *bio, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 834
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 834
    functionName: BIO_number_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t BIO_number_read(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - ptr
    argTypes:
    - BIO*
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: BIO_set_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_data(BIO *a, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - shut
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: BIO_set_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_shutdown(BIO *a, int shut) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: BIO_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_flags(BIO *b, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: BIO_set_callback_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_callback_arg(BIO *b, char *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: BIO_method_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *BIO_method_name(const BIO *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: BIO_next
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_next(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: BIO_method_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_method_type(const BIO *b) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:925,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:929,1
    - Dst: BIO_do_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:939,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:938,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:935,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:942,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:943,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:944,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:946,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:958,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:966,1
    - Dst: bio_wait
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:968,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:978,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:981,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:974,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:971,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - bio
    - timeout
    - nap_milliseconds
    argTypes:
    - BIO*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 985
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 985
    functionName: BIO_do_connect_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_do_connect
    - ERR_raise
    - ERR_GET_REASON
    - ERR_pop_to_mark
    - time
    - ERR_GET_LIB
    - bio_wait
    - ERR_set_mark
    - BIO_set_nbio
    - BIO_reset
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: 'int BIO_do_connect_retry(BIO *bio, int timeout, int nap_milliseconds) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:871,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:892,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:872,1
    - Dst: BIO_socket_wait
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:872,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - bio
    - max_time
    - nap_milliseconds
    argTypes:
    - BIO*
    - time_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 894
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 894
    functionName: bio_wait
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_socket_wait
    - BIO_get_fd
    - time
    - ossl_sleep
    - BIO_should_read
    linkageType: ''
    returnType: int
    signature: 'static int bio_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: BIO_get_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_shutdown(BIO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: BIO_get_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_callback_fn
    signature: 'BIO_callback_fn BIO_get_callback(const BIO *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bio_read_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - b
    - data
    - dlen
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: BIO_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_read_intern
    linkageType: ''
    returnType: int
    signature: 'int BIO_read(BIO *b, void *data, int dlen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:348,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:353,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:358,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:352,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:367,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:368,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - written
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 374
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 374
    functionName: bio_write_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_call_callback
    - ERR_raise
    - HAS_CALLBACK
    linkageType: ''
    returnType: int
    signature: 'static int bio_write_intern(BIO *b, const void *data, size_t dlen,
      size_t *written) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:455,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:468,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:469,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:459,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:464,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:475,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:486,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:487,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 499
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 499
    functionName: BIO_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_call_callback
    - ERR_raise
    - HAS_CALLBACK
    linkageType: ''
    returnType: int
    signature: 'int BIO_gets(BIO *b, char *buf, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - b
    - cmd
    - larg
    argTypes:
    - BIO*
    - int
    - long
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: BIO_ptr_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: void*
    signature: 'void *BIO_ptr_ctrl(BIO *b, int cmd, long larg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: bio_free_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_free_ex_data
    linkageType: ''
    returnType: void
    signature: 'void bio_free_ex_data(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: BIO_vfree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'void BIO_vfree(BIO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - cb
    argTypes:
    - BIO*
    - BIO_callback_fn
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: BIO_set_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_callback(BIO *b, BIO_callback_fn cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_read_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - readbytes
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: BIO_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_read_intern
    linkageType: ''
    returnType: int
    signature: 'int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bio_write_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - b
    - data
    - dlen
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 392
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 392
    functionName: BIO_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_write_intern
    linkageType: ''
    returnType: int
    signature: 'int BIO_write(BIO *b, const void *data, int dlen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:507,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:511,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:525,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:517,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:521,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:529,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 530
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 530
    functionName: BIO_get_line
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_eof
    - BIO_read
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_line(BIO *bio, char *buf, int size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:569,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:581,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:573,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:574,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:582,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - parg
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 586
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 586
    functionName: BIO_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_call_callback
    - ERR_raise
    - HAS_CALLBACK
    linkageType: ''
    returnType: long
    signature: 'long BIO_ctrl(BIO *b, int cmd, long larg, void *parg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_sock_cleanup_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:851,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:852,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 857
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 857
    functionName: bio_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - bio_sock_cleanup_int
    linkageType: ''
    returnType: void
    signature: 'void bio_cleanup(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 632
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 632
    functionName: BIO_ctrl_pending
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: 'size_t BIO_ctrl_pending(BIO *bio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:197,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:201,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: BIO_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: 'int BIO_up_ref(BIO *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:596,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:609,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:601,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:600,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:610,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 614
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 614
    functionName: BIO_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_call_callback
    - ERR_raise
    - HAS_CALLBACK
    linkageType: ''
    returnType: long
    signature: 'long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: BIO_get_retry_reason
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_retry_reason(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - b
    - next
    argTypes:
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: BIO_set_next
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_next(BIO *b, BIO *next) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: BIO_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_clear_flags(BIO *b, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: BIO_get_callback_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_callback_fn_ex
    signature: 'BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - reason
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: BIO_set_retry_reason
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_retry_reason(BIO *bio, int reason) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 765
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 765
    functionName: BIO_free_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'void BIO_free_all(BIO *bio) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HAS_LEN_OPER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:56,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 8
    argNames:
    - b
    - oper
    - argp
    - len
    - argi
    - argl
    - inret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - long
    - size_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 78
    functionName: bio_call_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - HAS_LEN_OPER
    linkageType: ''
    returnType: long
    signature: 'static long bio_call_callback(BIO *b, int oper, const char *argp,
      size_t len, int argi, long argl, long inret, size_t *processed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - b
    - bio
    argTypes:
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 663
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 663
    functionName: BIO_push
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_push(BIO *b, BIO *bio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bio_wait
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:906,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - bio
    - max_time
    - nap_milliseconds
    argTypes:
    - BIO*
    - time_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 912
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 912
    functionName: BIO_wait
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - bio_wait
    linkageType: ''
    returnType: int
    signature: 'int BIO_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:82,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:99,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:85,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:97,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:105,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:106,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:107,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:116,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - libctx
    - method
    argTypes:
    - OSSL_LIB_CTX*
    - BIO_METHOD*
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: BIO_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_new_ex_data
    - ERR_raise
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_free_ex_data
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_ex(OSSL_LIB_CTX *libctx, const BIO_METHOD *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: BIO_get_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *BIO_get_data(BIO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_write_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - written
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: BIO_write_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_write_intern
    linkageType: ''
    returnType: int
    signature: 'int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - b
    - indent
    - max
    argTypes:
    - BIO*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: BIO_indent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int BIO_indent(BIO *b, int indent, int max) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: BIO_ctrl_wpending
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: 'size_t BIO_ctrl_wpending(BIO *bio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 684
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 684
    functionName: BIO_pop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_pop(BIO *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:772,1
    - Dst: BIO_dup_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:786,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:794,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:792,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:787,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:802,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:808,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 811
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 811
    functionName: BIO_dup_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - BIO_free
    - BIO_dup_state
    - BIO_push
    - BIO_new
    - CRYPTO_dup_ex_data
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_dup_chain(BIO *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - idx
    - data
    argTypes:
    - BIO*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: BIO_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    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: BIO_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - BIO_METHOD*
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: BIO_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_new_ex
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new(const BIO_METHOD *method) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - init
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: BIO_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BIO_set_init(BIO *a, int init) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:406,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:415,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:414,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:421,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:410,1
    - Dst: HAS_CALLBACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:433,1
    - Dst: bio_call_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:434,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - b
    - buf
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 447
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 447
    functionName: BIO_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - bio_call_callback
    - ERR_raise
    - HAS_CALLBACK
    linkageType: ''
    returnType: int
    signature: 'int BIO_puts(BIO *b, const char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - iarg
    argTypes:
    - BIO*
    - int
    - long
    - int
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: BIO_int_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: 'long BIO_int_ctrl(BIO *b, int cmd, long larg, int iarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - bio
    - reason
    argTypes:
    - BIO*
    - int*
    constantsTouched: []
    func_position:
      end: 702
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 702
    functionName: BIO_get_retry_BIO
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_should_retry
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_get_retry_BIO(BIO *bio, int *reason) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:815,1
    - Dst: BIO_get_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: BIO_copy_next_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - BIO_set_flags
    - BIO_get_retry_flags
    linkageType: ''
    returnType: void
    signature: 'void BIO_copy_next_retry(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - idx
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: BIO_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *BIO_get_ex_data(const BIO *bio, int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: BIO_number_written
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t BIO_number_written(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: file_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_new(BIO *bi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: file_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_puts(BIO *bp, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: file_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_free(BIO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: BIO_new_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_file(const char *filename, const char *mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: file_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_new(BIO *bi) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UP_fread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:141,1
    - Dst: UP_ferror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:146,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:147,1
    - Dst: ferror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:146,1
    - Dst: fread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:143,1
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: file_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ferror
    - fread
    - UP_fread
    - get_last_sys_error
    - ERR_raise_data
    - UP_ferror
    linkageType: ''
    returnType: int
    signature: 'static int file_read(BIO *b, char *out, int outl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: openssl_fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:59,1
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:66,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:66,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:76,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:79,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:79,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:80,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:85,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:86,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 88
    functionName: BIO_new_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_clear_flags
    - BIO_set_fp
    - strchr
    - BIO_s_file
    - get_last_sys_error
    - openssl_fopen
    - ERR_raise_data
    - fclose
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_file(const char *filename, const char *mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UP_fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:124,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: file_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - fclose
    - UP_fclose
    linkageType: ''
    returnType: int
    signature: 'static int file_free(BIO *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UP_fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:162,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: file_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - UP_fwrite
    - fwrite
    linkageType: ''
    returnType: int
    signature: 'static int file_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: file_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_gets(BIO *bp, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: file_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long file_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: BIO_s_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_file(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:94,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:94,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:99,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - close_flag
    argTypes:
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: BIO_new_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - BIO_set_flags
    - BIO_new
    - BIO_s_file
    - BIO_set_fp
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_fp(FILE *stream, int close_flag) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:204,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:218,1
    - Dst: UP_fsetmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:227,1
    - Dst: setvbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:245,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:281,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:292,1
    - Dst: openssl_fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:294,1
    - Dst: UP_fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:323,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:325,1
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:325,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:327,1
    - Dst: feof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:197,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:222,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:247,1
    - Dst: _setmode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:257,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:273,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:275,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:277,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:279,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:299,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:323,1
    - Dst: UP_feof
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:195,1
    - Dst: _fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:232,1
    - Dst: _setmode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:250,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:260,1
    - Dst: setmode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:262,1
    - Dst: file_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:267,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:289,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:296,1
    - Dst: UP_fseek
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:189,1
    - Dst: fseek
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:191,1
    - Dst: UP_ftell
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:202,1
    - Dst: file_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:207,1
    - Dst: isatty
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:254,1
    - Dst: _setmode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:236,1
    - Dst: _setmode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:255,1
    - Dst: _setmode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:234,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:271,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:287,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:306,1
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:296,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 123
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 344
    functionName: file_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - setmode
    - UP_feof
    - OPENSSL_strlcat
    - UP_fflush
    - file_free
    - ftell
    - UP_fsetmod
    - ERR_raise_data
    - fileno
    - UP_ftell
    - OPENSSL_strlcpy
    - _fileno
    - isatty
    - fseek
    - BIO_clear_flags
    - ERR_raise
    - UP_fseek
    - fflush
    - setvbuf
    - openssl_fopen
    - get_last_sys_error
    - feof
    - _setmode
    linkageType: ''
    returnType: long
    signature: 'static long file_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: file_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: BIO_s_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_file(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UP_fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:352,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:359,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: file_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - fgets
    - UP_fgets
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int file_gets(BIO *bp, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:368,1
    - Dst: file_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: file_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached:
    - file_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int file_puts(BIO *bp, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: file_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_file.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_read(BIO *b, char *out, int outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: BIO_ADDR_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void BIO_ADDR_free(BIO_ADDR *ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: BIO_ADDR_family
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_ADDR_family(const BIO_ADDR *ap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: BIO_ADDRINFO_next
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_ADDRINFO*
    signature: 'const BIO_ADDRINFO *BIO_ADDRINFO_next(const BIO_ADDRINFO *bai) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: BIO_ADDRINFO_family
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_ADDRINFO_family(const BIO_ADDRINFO *bai) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: BIO_ADDR_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIO_ADDR*
    signature: 'BIO_ADDR *BIO_ADDR_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: BIO_ADDR_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void BIO_ADDR_clear(BIO_ADDR *ap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:161,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - ap
    - p
    - l
    argTypes:
    - BIO_ADDR*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 176
    functionName: BIO_ADDR_rawaddress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: BIO_ADDRINFO_socktype
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_ADDRINFO_socktype(const BIO_ADDRINFO *bai) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: BIO_ADDR_sockaddr_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: 'socklen_t BIO_ADDR_sockaddr_size(const BIO_ADDR *ap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: BIO_ADDRINFO_sockaddr_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: 'socklen_t BIO_ADDRINFO_sockaddr_size(const BIO_ADDRINFO *bai) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:82,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:93,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - ap
    - sa
    argTypes:
    - BIO_ADDR*
    - struct sockaddr*
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: BIO_ADDR_make
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - AF_UNIX
    argTypes:
    - ap
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: else
    signature: 'else if (ap->sa.sa_family == AF_UNIX) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 395
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 395
    functionName: BIO_ADDRINFO_protocol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_ADDRINFO_protocol(const BIO_ADDRINFO *bai) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:580,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:604,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:603,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:581,1
    - Dst: BIO_ADDR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:601,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 6
    argNames:
    - family
    - socktype
    - where
    - wherelen
    - port
    - bai
    argTypes:
    - int
    - int
    - void*
    - size_t
    - unsigned short
    - BIO_ADDRINFO**
    constantsTouched: []
    func_position:
      end: 614
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 614
    functionName: addrinfo_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_ADDR_sockaddr_noconst
    - BIO_ADDRINFO_free
    - BIO_ADDR_new
    - OPENSSL_zalloc
    - BIO_ADDR_rawmake
    linkageType: ''
    returnType: int
    signature: 'static int addrinfo_wrap(int family, int socktype, const void *where,
      size_t wherelen, unsigned short port, BIO_ADDRINFO **bai) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:109,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:128,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:111,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - ap
    - family
    - where
    - wherelen
    - port
    argTypes:
    - BIO_ADDR*
    - int
    - void*
    - size_t
    - unsigned short
    constantsTouched: []
    func_position:
      end: 137
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 137
    functionName: BIO_ADDR_rawmake
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - strncpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, const void *where,
      size_t wherelen, unsigned short port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: (do_bio_lookup_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_bio_lookup_init) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:486,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:500,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:520,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:497,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:501,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:523,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:526,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:530,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:538,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:548,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:562,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:559,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:556,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 73
    argCount: 4
    argNames:
    - hostserv
    - host
    - service
    - hostserv_prio
    argTypes:
    - char*
    - char**
    - char**
    - enum BIO_hostserv_priorities
    constantsTouched: []
    func_position:
      end: 564
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 564
    functionName: BIO_parse_hostserv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strchr
    - OPENSSL_strndup
    - strrchr
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int BIO_parse_hostserv(const char *hostserv, char **host, char **service,
      enum BIO_hostserv_priorities hostserv_prio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addr_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - numeric
    argTypes:
    - BIO_ADDR*
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: BIO_ADDR_hostname_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - addr_strings
    linkageType: ''
    returnType: char*
    signature: 'char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: BIO_ADDRINFO_sockaddr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr*
    signature: 'const struct sockaddr *BIO_ADDRINFO_sockaddr(const BIO_ADDRINFO *bai) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeaddrinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:438,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:448,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 452
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 452
    functionName: BIO_ADDRINFO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - freeaddrinfo
    linkageType: ''
    returnType: void
    signature: 'void BIO_ADDRINFO_free(BIO_ADDRINFO *bai) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: BIO_ADDRINFO_address
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_ADDR*
    signature: 'const BIO_ADDR *BIO_ADDRINFO_address(const BIO_ADDRINFO *bai) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - AF_INET6
    argTypes:
    - ap
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (ap->sa.sa_family == AF_INET6) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addr_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - numeric
    argTypes:
    - BIO_ADDR*
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: BIO_ADDR_service_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - addr_strings
    linkageType: ''
    returnType: char*
    signature: 'char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: BIO_ADDR_sockaddr_noconst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr*
    signature: 'struct sockaddr *BIO_ADDR_sockaddr_noconst(BIO_ADDR *ap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: BIO_ADDR_rawport
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: 'unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: BIO_ADDR_path_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char*
    signature: 'char *BIO_ADDR_path_string(const BIO_ADDR *ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - host
    - service
    - lookup_type
    - family
    - socktype
    - res
    argTypes:
    - char*
    - char*
    - enum BIO_lookup_type
    - int
    - int
    - BIO_ADDRINFO**
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: BIO_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached:
    - BIO_lookup_ex
    linkageType: ''
    returnType: int
    signature: 'int BIO_lookup(const char *host, const char *service, enum BIO_lookup_type
      lookup_type, int family, int socktype, BIO_ADDRINFO **res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: BIO_ADDR_sockaddr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_addr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr*
    signature: 'const struct sockaddr *BIO_ADDR_sockaddr(const BIO_ADDR *ap) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:207,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:209,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:220,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:216,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:218,1
    - Dst: get_current_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:224,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:227,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:252,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:254,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:257,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:259,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 265
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 265
    functionName: dgram_adjust_rcv_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - getsockopt
    - perror
    - OPENSSL_assert
    - memcpy
    - get_current_time
    - setsockopt
    linkageType: ''
    returnType: void
    signature: 'static void dgram_adjust_rcv_timeout(BIO *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:355,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:367,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:368,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - bio_dgram_data*
    constantsTouched: []
    func_position:
      end: 388
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 388
    functionName: dgram_get_mtu_overhead
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_ADDR_family
    - IN6_IS_ADDR_V4MAPPED
    - BIO_ADDR_rawaddress
    linkageType: ''
    returnType: long
    signature: 'static long dgram_get_mtu_overhead(bio_dgram_data *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 1759
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1759
    functionName: BIO_dgram_sctp_msg_waiting
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: 'int BIO_dgram_sctp_msg_waiting(BIO *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1835,1
    - Dst: BIO_dgram_non_fatal_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1848
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1848
    functionName: BIO_dgram_should_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_dgram_non_fatal_error
    - get_last_socket_error
    linkageType: ''
    returnType: int
    signature: 'static int BIO_dgram_should_retry(int i) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:277,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:285,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:282,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 290
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 290
    functionName: dgram_reset_rcv_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - perror
    - setsockopt
    linkageType: ''
    returnType: void
    signature: 'static void dgram_reset_rcv_timeout(BIO *b) '
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_sockaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:444,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:465,1
    - Dst: BIO_ADDR_make
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:561,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:568,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:573,1
    - Dst: BIO_ADDR_make
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:576,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:579,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:589,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:611,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:622,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:762,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:640,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:712,1
    - Dst: dgram_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:415,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:450,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:460,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:538,1
    - Dst: BIO_ADDR_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:529,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:609,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:620,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:647,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:660,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:671,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:714,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:725,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:738,1
    - Dst: BIO_ADDR_make
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:444,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:467,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:528,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:561,1
    - Dst: getsockname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:482,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:564,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:576,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:587,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:596,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:645,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:662,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:638,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:721,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:676,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:746,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:741,1
    - Dst: getsockname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:451,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:458,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:481,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:505,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:490,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:539,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:594,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:625,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:673,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:719,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:748,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:728,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 249
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 781
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 781
    functionName: dgram_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - getsockopt
    - perror
    - BIO_ADDR_family
    - OPENSSL_assert
    - memcpy
    - BIO_ADDR_sockaddr_size
    - IN6_IS_ADDR_V4MAPPED
    - setsockopt
    - dgram_get_mtu_overhead
    - getsockname
    - BIO_ADDR_make
    - dgram_clear
    - BIO_ADDR_sockaddr
    - BIO_ADDR_rawaddress
    - memset
    linkageType: ''
    returnType: long
    signature: 'static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1771,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1782,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1784,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1783,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1785,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1791,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1794,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1804,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1818
    functionName: dgram_sctp_msg_waiting
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - recvmsg
    - dgram_sctp_handle_auth_free_key_event
    - fcntl
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int dgram_sctp_msg_waiting(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1824,1
    - Dst: dgram_sctp_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1827
    functionName: dgram_sctp_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - dgram_sctp_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dgram_sctp_puts(BIO *bp, const char *str) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1896
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1896
    functionName: BIO_dgram_non_fatal_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_dgram_non_fatal_error(int err) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:302,1
    - Dst: dgram_adjust_rcv_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:304,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:303,1
    - Dst: recvfrom
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:307,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:308,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:311,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:313,1
    - Dst: BIO_dgram_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:315,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:316,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:317,1
    - Dst: dgram_reset_rcv_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 324
    functionName: dgram_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - dgram_adjust_rcv_timeout
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - BIO_dgram_should_retry
    - BIO_ADDR_sockaddr_noconst
    - memset
    - dgram_reset_rcv_timeout
    - BIO_ctrl
    - get_last_socket_error
    - recvfrom
    linkageType: ''
    returnType: int
    signature: 'static int dgram_read(BIO *b, char *out, int outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:787,1
    - Dst: dgram_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 790
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 790
    functionName: dgram_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - dgram_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dgram_puts(BIO *bp, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: BIO_s_datagram_sctp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_datagram_sctp(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_method_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: BIO_dgram_is_sctp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_method_type
    linkageType: ''
    returnType: int
    signature: 'int BIO_dgram_is_sctp(BIO *bio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dgram_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:959,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 967
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 967
    functionName: dgram_sctp_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - dgram_clear
    linkageType: ''
    returnType: int
    signature: 'static int dgram_sctp_free(BIO *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1228,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1244,1
    - Dst: BIO_dgram_sctp_wait_for_dry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1253,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1258,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1290,1
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1294,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1301,1
    - Dst: BIO_dgram_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1317,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1318,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1319,1
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1233,1
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1276,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1278,1
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1310,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1257,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1277,1
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1283,1
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1299,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1315,1
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1237,1
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1229,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1300,1
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1289,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1291,1
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1286,1
    - Dst: sendmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1313,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 83
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1323
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1323
    functionName: dgram_sctp_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_dgram_sctp_wait_for_dry
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_dgram_should_retry
    - CMSG_LEN
    - sendmsg
    - CMSG_SPACE
    - CMSG_DATA
    - BIO_set_retry_write
    - get_last_socket_error
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int dgram_sctp_write(BIO *b, const char *in, int inl) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1541,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1375,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1412,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1430,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1486,1
    - Dst: dgram_sctp_msg_waiting
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1553,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1393,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1410,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1437,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1466,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1478,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1502,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1526,1
    - Dst: dgram_sctp_wait_for_dry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1551,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1407,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1386,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1398,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1418,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1510,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1517,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1533,1
    - Dst: dgram_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1559,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 103
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1563
    functionName: dgram_sctp_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - getsockopt
    - OPENSSL_free
    - memcpy
    - setsockopt
    - dgram_sctp_wait_for_dry
    - dgram_sctp_msg_waiting
    - dgram_ctrl
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: long
    signature: 'static long dgram_sctp_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:330,1
    - Dst: writesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:333,1
    - Dst: sendto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:337,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:338,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:335,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:341,1
    - Dst: BIO_dgram_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:343,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:344,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 349
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 349
    functionName: dgram_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - clear_socket_error
    - BIO_dgram_should_retry
    - BIO_ADDR_sockaddr_size
    - BIO_set_retry_write
    - get_last_socket_error
    - writesocket
    - sendto
    - BIO_ADDR_sockaddr
    linkageType: ''
    returnType: int
    signature: 'static int dgram_write(BIO *b, const char *in, int inl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:827,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:833,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:857,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:871,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:898,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:905,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:815,1
    - Dst: BIO_set_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:818,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:823,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:851,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:888,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:919,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:836,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:849,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:874,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:883,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:858,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:854,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:896,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:908,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:826,1
    - Dst: BIO_s_datagram_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:815,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:837,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:875,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:891,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:922,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 927
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 927
    functionName: BIO_new_dgram_sctp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - getsockopt
    - BIO_set_fd
    - OPENSSL_free
    - memset
    - OPENSSL_zalloc
    - BIO_s_datagram_sctp
    - ERR_raise_data
    - BIO_vfree
    - BIO_new
    - setsockopt
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_dgram_sctp(int fd, int close_flag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:940,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 951
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 951
    functionName: dgram_sctp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int dgram_sctp_new(BIO *bi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - b
    - handle_notifications
    - context
    argTypes:
    - BIO*
    - BIO_dgram_sctp_notification_handler_fn
    - void*
    constantsTouched: []
    func_position:
      end: 1578
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1578
    functionName: BIO_dgram_sctp_notification_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_dgram_sctp_notification_cb(BIO *b, BIO_dgram_sctp_notification_handler_fn
      handle_notifications, void *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1905,1
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1916,1
    - Dst: SystemTimeToFileTime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1906,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1917,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 1919
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1919
    functionName: get_current_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - SystemTimeToFileTime
    - GetSystemTime
    - perror
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: 'static void get_current_time(struct timeval *t) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1074,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1091,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1101,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1132,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1142,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1082,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1161,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1020,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1059,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1134,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1145,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1199,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1011,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1028,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1070,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1108,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1156,1
    - Dst: BIO_dgram_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1163,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1164,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1165,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1182,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1196,1
    - Dst: clear_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:998,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1001,1
    - Dst: CMSG_NXTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1021,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1043,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1109,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1150,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1157,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1183,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 152
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1207
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1207
    functionName: dgram_sctp_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - clear_socket_error
    - getsockopt
    - ERR_raise
    - dgram_sctp_handle_auth_free_key_event
    - CMSG_NXTHDR
    - BIO_set_retry_read
    - BIO_dgram_should_retry
    - OPENSSL_assert
    - recvmsg
    - memcpy
    - OPENSSL_free
    - CMSG_FIRSTHDR
    - CMSG_DATA
    - setsockopt
    - get_last_socket_error
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int dgram_sctp_read(BIO *b, char *out, int outl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dgram_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:170,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: dgram_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - dgram_clear
    linkageType: ''
    returnType: int
    signature: 'static int dgram_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:147,1
    - Dst: BIO_s_datagram
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:147,1
    - Dst: BIO_set_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: BIO_new_dgram
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_set_fd
    - BIO_new
    - BIO_s_datagram
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_dgram(int fd, int close_flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 1596
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1596
    functionName: BIO_dgram_sctp_wait_for_dry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: 'int BIO_dgram_sctp_wait_for_dry(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: BIO_s_datagram
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_datagram(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: dgram_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - BIO_closesocket
    linkageType: ''
    returnType: int
    signature: 'static int dgram_clear(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: dgram_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int dgram_new(BIO *bi) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1616,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1621,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1661,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1734,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1740,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1632,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1672,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1675,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1691,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1674,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1737,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1744,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1745,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1639,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1625,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1650,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1652,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1653,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1686,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1720,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1704,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1696,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1712,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:1733,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 107
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 1754
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1754
    functionName: dgram_sctp_wait_for_dry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - getsockopt
    - dgram_sctp_handle_auth_free_key_event
    - recvmsg
    - memset
    - fcntl
    - get_last_socket_error
    - setsockopt
    linkageType: ''
    returnType: int
    signature: 'static int dgram_sctp_wait_for_dry(BIO *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - b
    - snp
    argTypes:
    - BIO*
    - union sctp_notification*
    constantsTouched: []
    func_position:
      end: 984
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 984
    functionName: dgram_sctp_handle_auth_free_key_event
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_dgram.c
    functionUses: []
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: void
    signature: 'void dgram_sctp_handle_auth_free_key_event(BIO *b, union sctp_notification
      *snp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vbcg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: bio_core_globals_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void bio_core_globals_free(void *vbcg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:48,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: bio_core_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_read_ex(BIO *bio, char *data, size_t data_len,
      size_t *bytes_read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:67,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: bio_core_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - get_globals
    linkageType: ''
    returnType: long
    signature: 'static long bio_core_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:85,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: bio_core_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_puts(BIO *bio, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:101,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:106,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: bio_core_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_get_data
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_free(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: BIO_s_core
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_core(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: bio_core_globals_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *bio_core_globals_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: get_globals
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: ossl_inline*
    signature: 'static ossl_inline BIO_CORE_GLOBALS *get_globals(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:58,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: bio_core_write_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_write_ex(BIO *bio, const char *data, size_t data_len,
      size_t *written) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:76,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: bio_core_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_gets(BIO *bio, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: bio_core_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_new(BIO *bio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:135,1
    - Dst: BIO_s_core
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:141,1
    - Dst: BIO_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:141,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:145,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - libctx
    - corebio
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: BIO_new_from_core_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_new_ex
    - BIO_set_data
    - get_globals
    - BIO_s_core
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_from_core_bio(OSSL_LIB_CTX *libctx, OSSL_CORE_BIO *corebio) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:154,1
    - Dst: OSSL_FUNC_BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:167,1
    - Dst: OSSL_FUNC_BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:175,1
    - Dst: OSSL_FUNC_BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:163,1
    - Dst: OSSL_FUNC_BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:171,1
    - Dst: OSSL_FUNC_BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:179,1
    - Dst: OSSL_FUNC_BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:183,1
    - Dst: OSSL_FUNC_BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c:187,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 2
    argNames:
    - libctx
    - fns
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 193
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 193
    functionName: ossl_bio_init_core
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_core.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_BIO_gets
    - OSSL_FUNC_BIO_up_ref
    - OSSL_FUNC_BIO_read_ex
    - OSSL_FUNC_BIO_ctrl
    - OSSL_FUNC_BIO_write_ex
    - get_globals
    - OSSL_FUNC_BIO_free
    - OSSL_FUNC_BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int ossl_bio_init_core(OSSL_LIB_CTX *libctx, const OSSL_DISPATCH *fns) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: BIO_f_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_null(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: nullf_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long nullf_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:66,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:67,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: nullf_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int nullf_write(BIO *b, const char *in, int inl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:80,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:81,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:88,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: nullf_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_ctrl
    - BIO_copy_next_retry
    linkageType: ''
    returnType: long
    signature: 'static long nullf_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:52,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:53,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: nullf_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int nullf_read(BIO *b, char *out, int outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: nullf_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c
    functionUses: []
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: 'static int nullf_gets(BIO *bp, char *buf, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: nullf_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_null.c
    functionUses: []
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int nullf_puts(BIO *bp, const char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:154,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:168,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:164,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:166,1
    - Dst: bind
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:174,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:174,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:174,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:175,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 182
    functionName: BIO_bind
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_ADDR_sockaddr_size
    - bind
    - ERR_raise_data
    - get_last_socket_error
    - BIO_ADDR_sockaddr
    - setsockopt
    linkageType: ''
    returnType: int
    signature: 'int BIO_bind(int sock, const BIO_ADDR *addr, int options) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:237,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:257,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:276,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:286,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:249,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:255,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:257,1
    - Dst: BIO_ADDR_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:266,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:274,1
    - Dst: listen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:285,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:286,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:235,1
    - Dst: getsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:232,1
    - Dst: BIO_socket_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:241,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:247,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:272,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:274,1
    - Dst: BIO_bind
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:282,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:235,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:245,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:247,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:259,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:288,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    constantsTouched: []
    func_position:
      end: 293
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 293
    functionName: BIO_listen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c
    functionUses: []
    functionsReached:
    - getsockopt
    - BIO_ADDR_family
    - ERR_raise
    - BIO_socket_nbio
    - BIO_bind
    - listen
    - ERR_raise_data
    - get_last_socket_error
    - setsockopt
    linkageType: ''
    returnType: int
    signature: 'int BIO_listen(int sock, const BIO_ADDR *addr, int options) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:44,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:49,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:51,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - domain
    - socktype
    - protocol
    - options
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: BIO_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c
    functionUses: []
    functionsReached:
    - socket
    - ERR_raise
    - ERR_raise_data
    - get_last_socket_error
    - BIO_sock_init
    linkageType: ''
    returnType: int
    signature: 'int BIO_socket(int domain, int socktype, int protocol, int options) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:310,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:314,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:311,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:314,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:313,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:316,1
    - Dst: BIO_socket_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:321,1
    - Dst: closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - accept_sock
    - addr_
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    constantsTouched: []
    func_position:
      end: 327
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 327
    functionName: BIO_accept_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - accept
    - BIO_socket_nbio
    - BIO_ADDR_sockaddr_noconst
    - closesocket
    - ERR_raise_data
    - get_last_socket_error
    - BIO_sock_should_retry
    linkageType: ''
    returnType: int
    signature: 'int BIO_accept_ex(int accept_sock, BIO_ADDR *addr_, int options) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:83,1
    - Dst: BIO_socket_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:87,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:91,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:93,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:95,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:101,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:103,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:105,1
    - Dst: ktls_enable
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:126,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:110,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:113,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:113,1
    - Dst: connect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:110,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:112,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: BIO_connect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_socket_nbio
    - BIO_ADDR_sockaddr_size
    - ERR_raise_data
    - connect
    - ktls_enable
    - get_last_socket_error
    - BIO_sock_should_retry
    - BIO_ADDR_sockaddr
    - setsockopt
    linkageType: ''
    returnType: int
    signature: 'int BIO_connect(int sock, const BIO_ADDR *addr, int options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: BIO_closesocket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_sock2.c
    functionUses: []
    functionsReached:
    - closesocket
    linkageType: ''
    returnType: int
    signature: 'int BIO_closesocket(int sock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:350,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:358,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:357,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:356,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:362,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:366,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:369,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:387,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    constantsTouched: []
    func_position:
      end: 390
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 390
    functionName: bio_nwrite0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - ERR_raise
    - BIO_set_retry_write
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t bio_nwrite0(BIO *bio, char **buf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:273,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:281,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:280,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:279,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:286,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:290,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:293,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:305,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:310,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:323,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:327,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 335
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 335
    functionName: bio_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - ERR_raise
    - assert
    - memcpy
    - BIO_set_retry_write
    linkageType: ''
    returnType: int
    signature: 'static int bio_write(BIO *bio, const char *buf, int num_) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:689,1
    - Dst: BIO_s_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:689,1
    - Dst: BIO_set_write_buf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:697,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:692,1
    - Dst: BIO_s_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:692,1
    - Dst: BIO_set_write_buf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:702,1
    - Dst: BIO_make_bio_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:707,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:714,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:716,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 4
    argNames:
    - bio1_p
    - writebuf1
    - bio2_p
    - writebuf2
    argTypes:
    - BIO**
    - size_t
    - BIO**
    - size_t
    constantsTouched: []
    func_position:
      end: 723
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 723
    functionName: BIO_new_bio_pair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_make_bio_pair
    - BIO_free
    - BIO_s_bio
    - BIO_set_write_buf_size
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int BIO_new_bio_pair(BIO **bio1_p, size_t writebuf1, BIO **bio2_p,
      size_t writebuf2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:97,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:102,1
    - Dst: bio_destroy_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: bio_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - bio_destroy_pair
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int bio_free(BIO *bio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:204,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:211,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:210,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:214,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:213,1
    - Dst: bio_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:222,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    constantsTouched: []
    func_position:
      end: 234
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 234
    functionName: bio_nread0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - bio_read
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t bio_nread0(BIO *bio, char **buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:663,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:664,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:674,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:668,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 679
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 679
    functionName: bio_destroy_pair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void bio_destroy_pair(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: BIO_ctrl_get_write_guarantee
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: 'size_t BIO_ctrl_get_write_guarantee(BIO *bio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:766,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - bio
    - buf
    - num
    argTypes:
    - BIO*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: BIO_nread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int BIO_nread(BIO *bio, char **buf, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: BIO_s_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_bio(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:114,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:124,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:123,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:121,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:120,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:135,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:155,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:159,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:165,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:167,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:178,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - bio
    - buf
    - size_
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 186
    functionName: bio_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - memcpy
    - BIO_set_retry_read
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int bio_read(BIO *bio, char *buf, int size_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: bio_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int bio_new(BIO *bio) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bio_nread0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:246,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 265
    functionName: bio_nread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - bio_nread0
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t bio_nread(BIO *bio, char **buf, size_t num_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: BIO_ctrl_get_read_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: 'size_t BIO_ctrl_get_read_request(BIO *bio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:781,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    constantsTouched: []
    func_position:
      end: 790
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 790
    functionName: BIO_nwrite0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int BIO_nwrite0(BIO *bio, char **buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bio_nwrite0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:402,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:410,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: bio_nwrite
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - bio_nwrite0
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t bio_nwrite(BIO *bio, char **buf, size_t num_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:602,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: bio_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - bio_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int bio_puts(BIO *bio, const char *str) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:420,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:430,1
    - Dst: bio_make_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:452,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:436,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:427,1
    - Dst: bio_destroy_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:464,1
    - Dst: bio_nread0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:506,1
    - Dst: bio_nread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:511,1
    - Dst: bio_nwrite0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:516,1
    - Dst: bio_nwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:521,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:565,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:569,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:567,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 78
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 598
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 598
    functionName: bio_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - bio_nwrite0
    - ERR_raise
    - bio_nread
    - assert
    - OPENSSL_free
    - bio_nread0
    - bio_destroy_pair
    - bio_nwrite
    - bio_make_pair
    linkageType: ''
    returnType: long
    signature: 'static long bio_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:609,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:610,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:621,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:623,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:616,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:631,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:633,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - bio1
    - bio2
    argTypes:
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 651
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 651
    functionName: bio_make_pair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int bio_make_pair(BIO *bio1, BIO *bio2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:797,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - bio
    - buf
    - num
    argTypes:
    - BIO*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 805
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 805
    functionName: BIO_nwrite
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int BIO_nwrite(BIO *bio, char **buf, int num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:750,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    constantsTouched: []
    func_position:
      end: 759
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 759
    functionName: BIO_nread0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int BIO_nread0(BIO *bio, char **buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 738
    functionName: BIO_ctrl_reset_read_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_bio.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: 'int BIO_ctrl_reset_read_request(BIO *bio) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:30,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:48,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:44,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:40,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:53,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:57,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:61,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:64,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:68,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:72,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:78,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:87,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:93,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:81,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:84,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:93,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:75,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 99
    functionName: BIO_debug_callback_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: long
    signature: 'long BIO_debug_callback_ex(BIO *bio, int cmd, const char *argp, size_t
      len, int argi, long argl, int ret, size_t *processed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_debug_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 6
    argNames:
    - bio
    - cmd
    - argp
    - argi
    - argl
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - int
    - long
    - long
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: BIO_debug_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_cb.c
    functionUses: []
    functionsReached:
    - BIO_debug_callback_ex
    linkageType: ''
    returnType: long
    signature: 'long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi,
      long argl, long ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - biom
    - (*destroy)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: BIO_meth_set_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - '*'
    - int
    - '*'
    argTypes:
    - BIO
    - int
    - BIO_info_cb
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    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: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - '*'
    - '*'
    - int
    argTypes:
    - BIO
    - char
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: (*BIO_meth_get_read(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - bio
    - data
    - datal
    - readbytes
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: bread_conv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bread_conv(BIO *bio, char *data, size_t datal, size_t *readbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - biom
    - (*bgets)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: BIO_meth_set_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_gets(BIO_METHOD *biom, int (*bgets) (BIO *, char
      *, int)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: (do_bio_type_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_bio_type_init) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - '*'
    - '*'
    - size_t
    - '*'
    argTypes:
    - BIO
    - char
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: (*BIO_meth_get_read_ex(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *,
      size_t, size_t *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - biom
    - (*bread)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: BIO_meth_set_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_read(BIO_METHOD *biom, int (*bread) (BIO *, char
      *, int)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - '*'
    - int
    - long
    - '*'
    argTypes:
    - BIO
    - int
    - long
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: (*BIO_meth_get_ctrl(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long,
      void *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - biom
    - (*callback_ctrl)
    argTypes:
    - BIO_METHOD*
    - long
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: BIO_meth_set_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_callback_ctrl(BIO_METHOD *biom, long (*callback_ctrl)
      (BIO *, int, BIO_info_cb *)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - bio
    - data
    - datal
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: bwrite_conv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int bwrite_conv(BIO *bio, const char *data, size_t datal, size_t *written) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:52,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: BIO_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void BIO_meth_free(BIO_METHOD *biom) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:26,1
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: BIO_get_new_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    - ERR_raise
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'int BIO_get_new_index(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - '*'
    - '*'
    - size_t
    - '*'
    argTypes:
    - BIO
    - char
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: (*BIO_meth_get_write_ex(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_write_ex(const BIO_METHOD *biom)) (BIO *, const
      char *, size_t, size_t *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - biom
    - (*bwrite)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: BIO_meth_set_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_write(BIO_METHOD *biom, int (*bwrite) (BIO *, const
      char *, int)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - biom
    - (*bread)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: BIO_meth_set_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_read_ex(BIO_METHOD *biom, int (*bread) (BIO *, char
      *, size_t, size_t *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - biom
    - (*ctrl)
    argTypes:
    - BIO_METHOD*
    - long
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: BIO_meth_set_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl) (BIO *, int,
      long, void *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - '*'
    - '*'
    - int
    argTypes:
    - BIO
    - char
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: (*BIO_meth_get_write(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_write(const BIO_METHOD *biom)) (BIO *, const char
      *, int) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:37,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:42,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c:40,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - type
    - name
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: BIO_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'BIO_METHOD *BIO_meth_new(int type, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - biom
    - (*bwrite)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: BIO_meth_set_write_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_write_ex(BIO_METHOD *biom, int (*bwrite) (BIO *,
      const char *, size_t, size_t *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - '*'
    - '*'
    argTypes:
    - BIO
    - char
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: (*BIO_meth_get_puts(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char
      *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - BIO
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: (*BIO_meth_get_create(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_create(const BIO_METHOD *biom)) (BIO *) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - biom
    - (*bputs)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: BIO_meth_set_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_puts(BIO_METHOD *biom, int (*bputs) (BIO *, const
      char *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - biom
    - (*create)
    argTypes:
    - BIO_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: BIO_meth_set_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - '*'
    - '*'
    - int
    argTypes:
    - BIO
    - char
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: (*BIO_meth_get_gets(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - '*'
    argTypes:
    - BIO
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: (*BIO_meth_get_destroy(const BIO_METHOD *biom))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - sz
    argTypes:
    - BIO_F_BUFFER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: readbuffer_resize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: 'static int readbuffer_resize(BIO_F_BUFFER_CTX *ctx, int sz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:54,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: readbuffer_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int readbuffer_new(BIO *bi) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: readbuffer_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int readbuffer_write(BIO *b, const char *in, int inl) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:174,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:196,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 24
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 208
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 208
    functionName: readbuffer_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long readbuffer_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: BIO_f_readbuffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_readbuffer(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: readbuffer_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int readbuffer_free(BIO *a) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:116,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:124,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:142,1
    - Dst: readbuffer_resize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:136,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 150
    functionName: readbuffer_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - memcpy
    - BIO_copy_next_retry
    - readbuffer_resize
    linkageType: ''
    returnType: int
    signature: 'static int readbuffer_read(BIO *b, char *out, int outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: readbuffer_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int readbuffer_puts(BIO *b, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: readbuffer_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long readbuffer_callback_ctrl(BIO *b, int cmd, BIO_info_cb
      *fp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:228,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:272,1
    - Dst: readbuffer_resize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:259,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c:274,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 287
    functionName: readbuffer_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_readbuff.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - readbuffer_resize
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int readbuffer_gets(BIO *b, char *buf, int size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:118,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:155,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:158,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:148,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:142,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:166,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:175,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:177,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:195,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 200
    functionName: linebuffer_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - memmove
    - memcpy
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int linebuffer_write(BIO *b, const char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:85,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: linebuffer_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int linebuffer_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: linebuffer_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long linebuffer_callback_ctrl(BIO *b, int cmd, BIO_info_cb
      *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: BIO_f_linebuffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_linebuffer(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:101,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:103,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: linebuffer_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int linebuffer_read(BIO *b, char *out, int outl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:60,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:65,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:66,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: linebuffer_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int linebuffer_new(BIO *bi) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:218,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:246,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:245,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:237,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:228,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:254,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:255,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:256,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:263,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:268,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:270,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:297,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:292,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:282,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:275,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:286,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 299
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 299
    functionName: linebuffer_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - ERR_raise
    - memmove
    - OPENSSL_free
    - memcpy
    - BIO_copy_next_retry
    - BIO_ctrl
    - OPENSSL_malloc
    - BIO_set_write_buffer_size
    linkageType: ''
    returnType: long
    signature: 'static long linebuffer_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: linebuffer_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: 'static int linebuffer_gets(BIO *b, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linebuffer_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:317,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: linebuffer_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_lbuf.c
    functionUses: []
    functionsReached:
    - linebuffer_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int linebuffer_puts(BIO *b, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_err.c:81,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_err.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: ossl_err_load_BIO_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bio_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_BIO_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:107,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:111,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:110,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:108,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:112,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:113,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO_ACCEPT*
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: BIO_ACCEPT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - BIO_ADDRINFO_free
    - OPENSSL_free
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'static void BIO_ACCEPT_free(BIO_ACCEPT *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ACCEPT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: acpt_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - BIO_ACCEPT_new
    linkageType: ''
    returnType: int
    signature: 'static int acpt_new(BIO *bi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acpt_close_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:140,1
    - Dst: BIO_ACCEPT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: acpt_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - BIO_ACCEPT_free
    - acpt_close_socket
    linkageType: ''
    returnType: int
    signature: 'static int acpt_free(BIO *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:369,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:379,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:378,1
    - Dst: acpt_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 381
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 381
    functionName: acpt_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - acpt_state
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int acpt_read(BIO *b, char *out, int outl) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: acpt_close_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:415,1
    - Dst: acpt_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:422,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:432,1
    - Dst: BIO_parse_hostserv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:434,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:416,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:439,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:442,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:443,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:450,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:498,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:543,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 105
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 550
    functionName: acpt_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - BIO_free
    - BIO_parse_hostserv
    - BIO_ADDRINFO_free
    - OPENSSL_free
    - BIO_ADDRINFO_family
    - acpt_state
    - BIO_ctrl
    - acpt_close_socket
    linkageType: ''
    returnType: long
    signature: 'static long acpt_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: BIO_s_accept
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_s_accept(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:124,1
    - Dst: closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: acpt_close_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - closesocket
    - shutdown
    linkageType: ''
    returnType: void
    signature: 'static void acpt_close_socket(BIO *bio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: BIO_ACCEPT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIO_ACCEPT*
    signature: 'static BIO_ACCEPT *BIO_ACCEPT_new(void) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:222,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:237,1
    - Dst: BIO_sock_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:260,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:281,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:284,1
    - Dst: BIO_new_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:309,1
    - Dst: BIO_dup_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:323,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:359,1
    - Dst: BIO_accept_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:289,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:158,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:175,1
    - Dst: BIO_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:208,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:224,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:249,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:262,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:286,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:296,1
    - Dst: BIO_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:315,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:317,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:325,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:205,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:230,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:222,1
    - Dst: BIO_listen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:248,1
    - Dst: BIO_ADDR_service_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:270,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:297,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:313,1
    - Dst: BIO_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:315,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:333,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:329,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:357,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:169,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:213,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:221,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:234,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:226,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:223,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:233,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:251,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:268,1
    - Dst: BIO_get_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:317,1
    - Dst: BIO_get_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:313,1
    - Dst: BIO_ADDR_service_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:335,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 128
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - BIO*
    - BIO_ACCEPT*
    constantsTouched: []
    func_position:
      end: 362
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 362
    functionName: acpt_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - BIO_accept_ex
    - BIO_free
    - BIO_set_callback_arg
    - BIO_get_callback_ex
    - ERR_set_mark
    - BIO_ADDRINFO_address
    - BIO_set_callback_ex
    - BIO_ADDRINFO_next
    - OPENSSL_free
    - BIO_listen
    - BIO_dup_chain
    - BIO_closesocket
    - ERR_raise_data
    - BIO_ADDRINFO_protocol
    - BIO_clear_retry_flags
    - BIO_ADDR_service_string
    - BIO_new_socket
    - BIO_ADDRINFO_socktype
    - BIO_lookup
    - BIO_socket
    - get_last_socket_error
    - BIO_set_retry_special
    - ERR_clear_last_mark
    - BIO_sock_should_retry
    - BIO_set_callback
    - BIO_get_callback_arg
    - ERR_pop_to_mark
    - ERR_raise
    - BIO_sock_info
    - BIO_ADDR_hostname_string
    - BIO_ADDRINFO_family
    - BIO_push
    - BIO_get_callback
    linkageType: ''
    returnType: int
    signature: 'static int acpt_state(BIO *b, BIO_ACCEPT *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:388,1
    - Dst: acpt_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:392,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:397,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 400
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 400
    functionName: acpt_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - acpt_state
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: 'static int acpt_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:556,1
    - Dst: acpt_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: acpt_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - acpt_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int acpt_puts(BIO *bp, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:565,1
    - Dst: BIO_s_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:565,1
    - Dst: BIO_set_accept_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:568,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 572
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 572
    functionName: BIO_new_accept
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bss_acpt.c
    functionUses: []
    functionsReached:
    - BIO_s_accept
    - BIO_new
    - BIO_free
    - BIO_set_accept_name
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_accept(const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: BIO_f_nbio_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_nbio_test(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: nbiof_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int nbiof_free(BIO *a) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:122,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:138,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:140,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:128,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: nbiof_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - BIO_set_retry_write
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: 'static int nbiof_write(BIO *b, const char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: nbiof_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long nbiof_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:90,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:102,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:100,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:104,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: nbiof_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - BIO_read
    - BIO_copy_next_retry
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: 'static int nbiof_read(BIO *b, char *out, int outl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: nbiof_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int nbiof_new(BIO *bi) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:157,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:165,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:158,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: nbiof_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_ctrl
    - BIO_copy_next_retry
    linkageType: ''
    returnType: long
    signature: 'static long nbiof_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: nbiof_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: 'static int nbiof_gets(BIO *bp, char *buf, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: nbiof_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/bf_nbio.c
    functionUses: []
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int nbiof_puts(BIO *bp, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:25,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:27,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: core_bio_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_CORE_BIO*
    signature: 'static OSSL_CORE_BIO *core_bio_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:75,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: core_bio_new_from_new_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - BIO_free
    - core_bio_new
    linkageType: ''
    returnType: OSSL_CORE_BIO*
    signature: 'static OSSL_CORE_BIO *core_bio_new_from_new_bio(BIO *bio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:47,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:49,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:50,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - cb
    argTypes:
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: ossl_core_bio_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - BIO_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_core_bio_free(OSSL_CORE_BIO *cb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new_from_new_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:90,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: ossl_core_bio_new_mem_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - BIO_new_mem_buf
    - core_bio_new_from_new_bio
    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_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cb
    - data
    - dlen
    - written
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ossl_core_bio_write_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - BIO_write_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_core_bio_write_ex(OSSL_CORE_BIO *cb, const void *data, size_t
      dlen, size_t *written) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - buf
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: ossl_core_bio_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int ossl_core_bio_puts(OSSL_CORE_BIO *cb, const char *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ossl_core_bio_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: 'int ossl_core_bio_up_ref(OSSL_CORE_BIO *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:59,1
    - Dst: ossl_core_bio_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:62,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: ossl_core_bio_new_from_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - BIO_up_ref
    - ossl_core_bio_free
    - core_bio_new
    linkageType: ''
    returnType: OSSL_CORE_BIO*
    signature: 'OSSL_CORE_BIO *ossl_core_bio_new_from_bio(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new_from_new_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:85,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ossl_core_bio_new_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - core_bio_new_from_new_bio
    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: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cb
    - data
    - dlen
    - readbytes
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: ossl_core_bio_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    functionsReached:
    - BIO_read_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_core_bio_read_ex(OSSL_CORE_BIO *cb, void *data, size_t dlen,
      size_t *readbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cb
    - buf
    - size
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: ossl_core_bio_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    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_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - cb
    - cmd
    - larg
    - parg
    argTypes:
    - OSSL_CORE_BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ossl_core_bio_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - cb
    - format
    - args
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ossl_core_bio_vprintf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bio/ossl_core_bio.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_err.c:102,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_err.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: ossl_err_load_RAND_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c:16,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - num
    - randomness
    argTypes:
    - void*
    - int
    - double
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: drbg_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c
    functionUses: []
    functionsReached:
    - RAND_get0_primary
    - EVP_RAND_reseed
    linkageType: ''
    returnType: int
    signature: 'static int drbg_add(const void *buf, int num, double randomness) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c:44,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - out
    - count
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: drbg_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c
    functionUses: []
    functionsReached:
    - RAND_get0_public
    - EVP_RAND_generate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_bytes(unsigned char *out, int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c:33,1
    - Dst: EVP_RAND_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: drbg_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c
    functionUses: []
    functionsReached:
    - RAND_get0_primary
    - EVP_RAND_get_state
    linkageType: ''
    returnType: int
    signature: 'static int drbg_status(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: RAND_OpenSSL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD*
    signature: 'RAND_METHOD *RAND_OpenSSL(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: drbg_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_meth.c
    functionUses: []
    functionsReached:
    - drbg_add
    linkageType: ''
    returnType: int
    signature: 'static int drbg_seed(const void *buf, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - path
    - buf
    - bytes
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: RAND_query_egd_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RAND_query_egd_bytes(const char *path, unsigned char *buf, int
      bytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _arg_present
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:80,1
    - Dst: socket_transport_name_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:83,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:85,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:86,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:81,1
    - Dst: socket_transport_name_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:89,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:92,1
    - Dst: socket_transport_name_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - transport
    argTypes:
    - int
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 99
    functionName: hpns_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c
    functionUses: []
    functionsReached:
    - socket
    - socket_transport_name_set
    - strcmp
    - socket_transport_name_get
    - _arg_present
    linkageType: ''
    returnType: _variable
    signature: '_variable int hpns_socket(int family, int type, int protocol, char*
      transport) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:119,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:123,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:121,1
    - Dst: hpns_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:126,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:124,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:128,1
    - Dst: fdopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:130,1
    - Dst: setbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:132,1
    - Dst: connect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:136,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:161,1
    - Dst: fread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:190,1
    - Dst: hpns_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:162,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:178,1
    - Dst: RAND_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:195,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:199,1
    - Dst: fread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:180,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:178,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 54
    argCount: 3
    argNames:
    - path
    - buf
    - bytes
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 201
    functionName: RAND_query_egd_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c
    functionUses: []
    functionsReached:
    - socket
    - fflush
    - close
    - RAND_add
    - strcpy
    - fread
    - memset
    - setbuf
    - hpns_socket
    - fdopen
    - connect
    - fwrite
    - fclose
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int RAND_query_egd_bytes(const char *path, unsigned char *buf, int
      bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: RAND_egd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RAND_egd(const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - path
    - bytes
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: RAND_egd_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RAND_egd_bytes(const char *path, int bytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_query_egd_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:207,1
    - Dst: RAND_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - path
    - bytes
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: RAND_egd_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c
    functionUses: []
    functionsReached:
    - RAND_status
    - RAND_query_egd_bytes
    linkageType: ''
    returnType: int
    signature: 'int RAND_egd_bytes(const char *path, int bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_egd_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: RAND_egd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_egd.c
    functionUses: []
    functionsReached:
    - RAND_egd_bytes
    linkageType: ''
    returnType: int
    signature: 'int RAND_egd(const char *path) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: openssl_fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:104,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:111,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:105,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:112,1
    - Dst: fstat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:111,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:114,1
    - Dst: S_ISREG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:119,1
    - Dst: setbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:141,1
    - Dst: fread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:151,1
    - Dst: ferror
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:153,1
    - Dst: RAND_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:162,1
    - Dst: RAND_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:172,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:170,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:173,1
    - Dst: clearerr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:154,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:171,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - file
    - bytes
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 178
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 178
    functionName: RAND_load_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c
    functionUses: []
    functionsReached:
    - RAND_status
    - ferror
    - RAND_add
    - fread
    - S_ISREG
    - OPENSSL_cleanse
    - openssl_fopen
    - setbuf
    - ERR_raise_data
    - clearerr
    - fclose
    - fstat
    - fileno
    linkageType: ''
    returnType: int
    signature: 'int RAND_load_file(const char *file, long bytes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:268,1
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:273,1
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:270,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:279,1
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:271,1
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:281,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:282,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:284,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:285,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:291,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:293,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:312,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:314,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:316,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:304,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:310,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:308,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 320
    functionName: RAND_file_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c
    functionUses: []
    functionsReached:
    - GetEnvironmentVariableW
    - WideCharToMultiByte
    - strcat
    - strcpy
    - _alloca
    - ossl_safe_getenv
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'const char *RAND_file_name(char *buf, size_t size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:188,1
    - Dst: S_ISREG
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:188,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:196,1
    - Dst: open
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:209,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:189,1
    - Dst: fdopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:211,1
    - Dst: openssl_fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:233,1
    - Dst: openssl_fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:237,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:239,1
    - Dst: chmod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:248,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:253,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:251,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c:252,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 255
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 255
    functionName: RAND_write_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/randfile.c
    functionUses: []
    functionsReached:
    - open
    - S_ISREG
    - OPENSSL_cleanse
    - openssl_fopen
    - stat
    - ERR_raise_data
    - fdopen
    - fwrite
    - RAND_priv_bytes
    - fclose
    - chmod
    linkageType: ''
    returnType: int
    signature: 'int RAND_write_file(const char *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:24,1
    - Dst: RAND_POOL_MIN_ALLOCATION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:25,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:42,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:45,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - entropy_requested
    - secure
    - min_len
    - max_len
    argTypes:
    - int
    - int
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 56
    functionName: ossl_rand_pool_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - RAND_POOL_MIN_ALLOCATION
    - OPENSSL_zalloc
    - OPENSSL_secure_zalloc
    linkageType: ''
    returnType: RAND_POOL*
    signature: 'RAND_POOL *ossl_rand_pool_new(int entropy_requested, int secure, size_t
      min_len, size_t max_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ossl_rand_pool_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_rand_pool_entropy(RAND_POOL *pool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:106,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:111,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 112
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: ossl_rand_pool_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_free(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - buffer
    argTypes:
    - RAND_POOL*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: ossl_rand_pool_reattach
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_reattach(RAND_POOL *pool, unsigned char *buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: ossl_rand_pool_entropy_available
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_rand_pool_entropy_available(RAND_POOL *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: ossl_rand_pool_entropy_needed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_rand_pool_entropy_needed(RAND_POOL *pool) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_entropy_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:248,1
    - Dst: ENTROPY_TO_BYTES
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:255,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:251,1
    - Dst: rand_pool_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pool
    - entropy_factor
    argTypes:
    - RAND_POOL*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 287
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 287
    functionName: ossl_rand_pool_bytes_needed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - rand_pool_grow
    - ossl_rand_pool_entropy_needed
    - ERR_raise
    - ENTROPY_TO_BYTES
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_rand_pool_bytes_needed(RAND_POOL *pool, unsigned int entropy_factor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:365,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:370,1
    - Dst: rand_pool_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - len
    argTypes:
    - RAND_POOL*
    - size_t
    constantsTouched: []
    func_position:
      end: 387
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 387
    functionName: ossl_rand_pool_add_begin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pool
    - len
    - entropy
    argTypes:
    - RAND_POOL*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    functionName: ossl_rand_pool_add_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_add_end(RAND_POOL *pool, size_t len, size_t entropy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ossl_rand_pool_buffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *ossl_rand_pool_buffer(RAND_POOL *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:67,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - len
    - entropy
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: ossl_rand_pool_attach
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: RAND_POOL*
    signature: 'RAND_POOL *ossl_rand_pool_attach(const unsigned char *buffer, size_t
      len, size_t entropy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: ossl_rand_pool_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_rand_pool_length(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: ossl_rand_pool_detach
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *ossl_rand_pool_detach(RAND_POOL *pool) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:212,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:221,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:225,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:223,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:228,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:230,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pool
    - len
    argTypes:
    - RAND_POOL*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: rand_pool_grow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcpy
    - OPENSSL_zalloc
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_zalloc
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int rand_pool_grow(RAND_POOL *pool, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: ossl_rand_pool_bytes_remaining
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:308,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:313,1
    - Dst: rand_pool_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:337,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:339,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pool
    - buffer
    - len
    - entropy
    argTypes:
    - RAND_POOL*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 345
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 345
    functionName: ossl_rand_pool_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_pool.c
    functionUses: []
    functionsReached:
    - rand_pool_grow
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_add(RAND_POOL *pool, const unsigned char *buffer,
      size_t len, size_t entropy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: RAND_priv_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int RAND_priv_bytes(unsigned char *buf, int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: RAND_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int RAND_bytes(unsigned char *buf, int num) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:445,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:458,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:455,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:462,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:465,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:471,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:473,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 476
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 476
    functionName: rand_ossl_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_init_local
    - CRYPTO_THREAD_lock_new
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: void*
    signature: 'static void *rand_ossl_ctx_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:813,1
    - Dst: CONF_module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 815
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 815
    functionName: ossl_random_add_conf_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - CONF_module_add
    - OSSL_TRACE
    linkageType: ''
    returnType: void
    signature: 'void ossl_random_add_conf_module(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:187,1
    - Dst: ENGINE_get_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:198,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:190,1
    - Dst: ENGINE_get_default_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:197,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:202,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: RAND_get_rand_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_finish
    - ENGINE_get_RAND
    - ENGINE_get_default_RAND
    - RUN_ONCE
    linkageType: ''
    returnType: RAND_METHOD*
    signature: 'const RAND_METHOD *RAND_get_rand_method(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:358,1
    - Dst: RAND_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:360,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:368,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:363,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - buf
    - num
    - strength
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: RAND_bytes_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_OpenSSL
    - ERR_raise
    - EVP_RAND_generate
    - RAND_get0_public
    - RAND_get_rand_method
    linkageType: ''
    returnType: int
    signature: 'int RAND_bytes_ex(OSSL_LIB_CTX *ctx, unsigned char *buf, size_t num,
      unsigned int strength) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:485,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:488,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:489,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:487,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:486,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:490,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:491,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:492,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:493,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:494,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:497,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - vdgbl
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 498
    functionName: ossl_rand_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - EVP_RAND_CTX_free
    - CRYPTO_THREAD_cleanup_local
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_ctx_free(void *vdgbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 809
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 809
    functionName: random_conf_deinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE
    linkageType: ''
    returnType: void
    signature: 'static void random_conf_deinit(CONF_IMODULE *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:820,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:829,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:828,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:825,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:830,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:831,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - drbg
    - propq
    - cipher
    - digest
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 832
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 832
    functionName: RAND_set_DRBG_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - random_set_string
    - ERR_raise
    - rand_get_global
    linkageType: ''
    returnType: int
    signature: 'int RAND_set_DRBG_type(OSSL_LIB_CTX *ctx, const char *drbg, const
      char *propq, const char *cipher, const char *digest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:837,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:846,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:845,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:842,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - seed
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 847
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 847
    functionName: RAND_set_seed_source_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - random_set_string
    - ERR_raise
    - rand_get_global
    linkageType: ''
    returnType: int
    signature: 'int RAND_set_seed_source_type(OSSL_LIB_CTX *ctx, const char *seed,
      const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:164,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:174,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:170,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - meth
    - e
    argTypes:
    - RAND_METHOD*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: rand_set_rand_method_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - RUN_ONCE
    - ENGINE_finish
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'static int rand_set_rand_method_internal(const RAND_METHOD *meth,
      ossl_unused ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:248,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:256,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: RAND_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_get0_primary
    - RAND_get_rand_method
    - EVP_RAND_reseed
    linkageType: ''
    returnType: void
    signature: 'void RAND_seed(const void *buf, int num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:265,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:276,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:272,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - num
    - randomness
    argTypes:
    - void*
    - int
    - double
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: RAND_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_get0_primary
    - RAND_get_rand_method
    - EVP_RAND_reseed
    linkageType: ''
    returnType: void
    signature: 'void RAND_add(const void *buf, int num, double randomness) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_set_rand_method_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RAND_METHOD*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: RAND_set_rand_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - rand_set_rand_method_internal
    linkageType: ''
    returnType: int
    signature: 'int RAND_set_rand_method(const RAND_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: RAND_get_rand_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD*
    signature: 'const RAND_METHOD *RAND_get_rand_method(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:219,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:223,1
    - Dst: ENGINE_get_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:225,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:231,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:227,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:232,1
    - Dst: rand_set_rand_method_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:237,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: RAND_set_rand_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_init
    - ENGINE_finish
    - ENGINE_get_RAND
    - rand_set_rand_method_internal
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'int RAND_set_rand_engine(ENGINE *engine) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:759,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:766,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:777,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:787,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:786,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:778,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:792,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:793,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:796,1
    - Dst: NCONF_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:759,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:776,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:768,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:783,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:781,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:790,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:780,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:789,1
    - Dst: random_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:784,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:766,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:762,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:763,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:775,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    constantsTouched: []
    func_position:
      end: 803
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 803
    functionName: random_conf_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - ERR_raise
    - random_set_string
    - sk_CONF_VALUE_num
    - OPENSSL_strcasecmp
    - sk_CONF_VALUE_value
    - ERR_raise_data
    - NCONF_get_section
    - CONF_imodule_get_value
    - rand_get_global
    - NCONF_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int random_conf_init(CONF_IMODULE *md, const CONF *cnf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:125,1
    - Dst: RAND_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:126,1
    - Dst: ossl_rand_pool_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:133,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:140,1
    - Dst: ossl_rand_pool_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:144,1
    - Dst: ossl_rand_pool_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:145,1
    - Dst: ossl_rand_pool_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:146,1
    - Dst: ossl_rand_pool_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:151,1
    - Dst: RAND_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: RAND_poll
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_buffer
    - RAND_OpenSSL
    - ossl_rand_pool_length
    - RAND_get_rand_method
    - ossl_rand_pool_entropy
    - RAND_seed
    - ossl_rand_pool_new
    - ossl_rand_pool_free
    - ossl_pool_acquire_entropy
    linkageType: ''
    returnType: int
    signature: 'int RAND_poll(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:515,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:525,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:521,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:522,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:523,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:526,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 528
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 528
    functionName: rand_delete_thread_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - EVP_RAND_CTX_free
    - CRYPTO_THREAD_set_local
    - CRYPTO_THREAD_get_local
    - rand_get_global
    linkageType: ''
    returnType: void
    signature: 'static void rand_delete_thread_state(void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:741,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:743,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:747,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 750
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 750
    functionName: random_set_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int random_set_string(char **p, const char *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:299,1
    - Dst: EVP_RAND_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:307,1
    - Dst: RAND_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:301,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: RAND_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_OpenSSL
    - RAND_get0_primary
    - RAND_get_rand_method
    - EVP_RAND_get_state
    linkageType: ''
    returnType: int
    signature: 'int RAND_status(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:109,1
    - Dst: ossl_rand_pool_keep_random_devices_open
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: RAND_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_keep_random_devices_open
    - RUN_ONCE
    linkageType: ''
    returnType: void
    signature: 'void RAND_keep_random_devices_open(int keep) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:534,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:541,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:547,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:543,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:546,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:549,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:552,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:553,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:554,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 558
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 558
    functionName: rand_new_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - EVP_RAND_fetch
    - ERR_raise
    - EVP_RAND_instantiate
    - EVP_RAND_CTX_free
    - EVP_RAND_CTX_new
    - EVP_RAND_free
    - rand_get_global
    linkageType: ''
    returnType: EVP_RAND_CTX*
    signature: 'static EVP_RAND_CTX *rand_new_seed(OSSL_LIB_CTX *libctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:620,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:626,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:630,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:635,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:640,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:646,1
    - Dst: rand_new_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:647,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:648,1
    - Dst: rand_new_drbg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:652,1
    - Dst: EVP_RAND_enable_locking
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:659,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:660,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:661,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:664,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 667
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 667
    functionName: RAND_get0_primary
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - EVP_RAND_CTX_free
    - CRYPTO_THREAD_read_lock
    - ERR_set_mark
    - rand_new_seed
    - rand_new_drbg
    - EVP_RAND_enable_locking
    - rand_get_global
    linkageType: ''
    returnType: EVP_RAND_CTX*
    signature: 'EVP_RAND_CTX *RAND_get0_primary(OSSL_LIB_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:329,1
    - Dst: RAND_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:331,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:339,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:334,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:341,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - buf
    - num
    - strength
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: RAND_priv_bytes_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_OpenSSL
    - ERR_raise
    - EVP_RAND_generate
    - 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, unsigned int strength) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:48,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:71,1
    - Dst: ossl_rand_pool_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:59,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: (do_rand_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - ossl_rand_pool_init
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_rand_init) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:566,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:580,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:574,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:576,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:579,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:582,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:591,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:594,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:597,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:599,1
    - Dst: OSSL_PARAM_construct_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:602,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:604,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:606,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:600,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:607,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:605,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - libctx
    - parent
    - reseed_interval
    - reseed_time_interval
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    - unsigned int
    - time_t
    constantsTouched: []
    func_position:
      end: 611
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 611
    functionName: rand_new_drbg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - EVP_RAND_fetch
    - ERR_raise
    - EVP_RAND_instantiate
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    - OSSL_PARAM_construct_time_t
    - EVP_RAND_CTX_new
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_RAND_free
    - rand_get_global
    linkageType: ''
    returnType: EVP_RAND_CTX*
    signature: 'static EVP_RAND_CTX *rand_new_drbg(OSSL_LIB_CTX *libctx, EVP_RAND_CTX
      *parent, unsigned int reseed_interval, time_t reseed_time_interval) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:708,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:714,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:716,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:720,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:725,1
    - Dst: ossl_init_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:726,1
    - Dst: rand_new_drbg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:728,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 733
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 733
    functionName: RAND_get0_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_set_local
    - RAND_get0_primary
    - rand_new_drbg
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local
    - rand_get_global
    linkageType: ''
    returnType: EVP_RAND_CTX*
    signature: 'EVP_RAND_CTX *RAND_get0_private(OSSL_LIB_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:89,1
    - Dst: RAND_set_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:87,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:95,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:91,1
    - Dst: ossl_release_default_drbg_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: ossl_rand_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_cleanup
    - ossl_release_default_drbg_ctx
    - RAND_set_rand_method
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_cleanup_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: rand_get_global
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: RAND_GLOBAL*
    signature: 'static RAND_GLOBAL *rand_get_global(OSSL_LIB_CTX *libctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:675,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:692,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:681,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:687,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:683,1
    - Dst: ossl_init_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:693,1
    - Dst: rand_new_drbg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:695,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:697,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 700
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 700
    functionName: RAND_get0_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_set_local
    - RAND_get0_primary
    - rand_new_drbg
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local
    - rand_get_global
    linkageType: ''
    returnType: EVP_RAND_CTX*
    signature: 'EVP_RAND_CTX *RAND_get0_public(OSSL_LIB_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:286,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: RAND_pseudo_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_lib.c
    functionUses: []
    functionsReached:
    - RAND_get_rand_method
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int RAND_pseudo_bytes(unsigned char *buf, int num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:22,1
    - Dst: ossl_rand_pool_detach
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:33,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:29,1
    - Dst: ossl_rand_pool_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:32,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:24,1
    - Dst: ossl_rand_pool_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - handle
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - ossl_unused*
    - unsigned char**
    - int
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: ossl_rand_get_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_length
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_rand_pool_free
    - ossl_pool_acquire_entropy
    - ossl_rand_pool_detach
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_rand_get_entropy(ossl_unused const OSSL_CORE_HANDLE *handle,
      unsigned char **pout, int entropy, size_t min_len, size_t max_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:53,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:62,1
    - Dst: ossl_rand_pool_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:55,1
    - Dst: ossl_pool_add_nonce_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:59,1
    - Dst: ossl_rand_pool_detach
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:65,1
    - Dst: ossl_rand_pool_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 6
    argNames:
    - handle
    - pout
    - min_len
    - max_len
    - salt
    - salt_len
    argTypes:
    - ossl_unused*
    - unsigned char**
    - size_t
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: ossl_rand_get_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_length
    - ERR_raise
    - ossl_rand_pool_add
    - ossl_pool_add_nonce_data
    - ossl_rand_pool_new
    - ossl_rand_pool_free
    - ossl_rand_pool_detach
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_rand_get_nonce(ossl_unused const OSSL_CORE_HANDLE *handle,
      unsigned char **pout, size_t min_len, size_t max_len, const void *salt, size_t
      salt_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ossl_rand_cleanup_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_cleanup_nonce(ossl_unused const OSSL_CORE_HANDLE *handle,
      unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ossl_rand_cleanup_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/prov_seed.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_cleanup_entropy(ossl_unused const OSSL_CORE_HANDLE
      *handle, unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_poll
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_deprecated.c:21,1
    - Dst: RAND_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_deprecated.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - iMsg
    - wParam
    - lParam
    argTypes:
    - UINT
    - WPARAM
    - LPARAM
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: RAND_event
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_deprecated.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_deprecated.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: RAND_screen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rand/rand_deprecated.c
    functionUses: []
    functionsReached:
    - RAND_poll
    linkageType: ''
    returnType: void
    signature: 'void RAND_screen(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: ERR_load_KDF_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/kdf/kdf_err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ERR_load_KDF_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c:26,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c:29,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - (*scan_cb)
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: ASN1_SCTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_SCTX*
    signature: 'ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ASN1_SCTX_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ASN1_SCTX_get_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_ITEM*
    signature: 'const ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ASN1_SCTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_SCTX_free(ASN1_SCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: ASN1_SCTX_get_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TEMPLATE*
    signature: 'const ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p
    - data
    argTypes:
    - ASN1_SCTX*
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ASN1_SCTX_set_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ASN1_SCTX_get_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_scn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_SCTX_get_app_data(ASN1_SCTX *p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:66,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:69,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:75,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:70,1
    - Dst: BIO_f_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:70,1
    - Dst: BIO_asn1_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:80,1
    - Dst: BIO_asn1_set_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:81,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:82,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:124,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:123,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 3
    argNames:
    - out
    - val
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 126
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 126
    functionName: BIO_new_NDEF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c
    functionUses: []
    functionsReached:
    - BIO_asn1_set_prefix
    - ERR_raise
    - BIO_free
    - OPENSSL_free
    - BIO_f_asn1
    - OPENSSL_zalloc
    - BIO_pop
    - BIO_ctrl
    - BIO_asn1_set_suffix
    - BIO_push
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: ndef_prefix_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int ndef_prefix_free(BIO *b, unsigned char **pbuf, int *plen,
      void *parg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ndef_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:143,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:142,1
    - Dst: ASN1_item_ndef_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 157
    functionName: ndef_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c
    functionUses: []
    functionsReached:
    - ASN1_item_ndef_i2d
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ndef_prefix(BIO *b, unsigned char **pbuf, int *plen, void
      *parg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndef_prefix_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:184,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: ndef_suffix_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ndef_prefix_free
    linkageType: ''
    returnType: int
    signature: 'static int ndef_suffix_free(BIO *b, unsigned char **pbuf, int *plen,
      void *parg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:218,1
    - Dst: ASN1_item_ndef_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:214,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:217,1
    - Dst: ASN1_item_ndef_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c:224,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 232
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 232
    functionName: ndef_suffix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_ndef.c
    functionUses: []
    functionsReached:
    - ASN1_item_ndef_i2d
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ndef_suffix(BIO *b, unsigned char **pbuf, int *plen, void
      *parg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:19,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:24,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:31,1
    - Dst: X509_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:30,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:23,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: X509_PKEY_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c
    functionUses: []
    functionsReached:
    - X509_PKEY_free
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - OPENSSL_zalloc
    - X509_ALGOR_new
    linkageType: ''
    returnType: X509_PKEY*
    signature: 'X509_PKEY *X509_PKEY_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:40,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:42,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:44,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_PKEY*
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: X509_PKEY_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_pkey.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - X509_ALGOR_free
    - EVP_PKEY_free
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: 'void X509_PKEY_free(X509_PKEY *x) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:23,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:32,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:28,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:44,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 4
    argNames:
    - type
    - a
    - pp
    - length
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 46
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 46
    functionName: d2i_KeyParams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    - EVP_PKEY_set_type
    - EVP_PKEY_new
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char
      **pp, long length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:55,1
    - Dst: d2i_KeyParams
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:60,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c:62,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - type
    - a
    - in
    argTypes:
    - int
    - EVP_PKEY**
    - BIO*
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: d2i_KeyParams_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_param.c
    functionUses: []
    functionsReached:
    - d2i_KeyParams
    - asn1_d2i_read_bio
    - 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/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:33,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:38,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:43,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:39,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:35,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:45,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:46,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:49,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - i2d
    - type
    - data
    - md
    - len
    argTypes:
    - i2d_of_void*
    - EVP_MD*
    - char*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: ASN1_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - EVP_Digest
    - i2d
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data,
      unsigned char *md, unsigned int *len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:63,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:69,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:72,1
    - Dst: ENGINE_get_digest_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:69,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:67,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:75,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:75,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:82,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:84,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 7
    argNames:
    - it
    - md
    - asn
    - data
    - len
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - EVP_MD*
    - void*
    - unsigned char*
    - unsigned int*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: ossl_asn1_item_digest_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - OPENSSL_free
    - EVP_MD_get0_name
    - ENGINE_finish
    - EVP_MD_get_type
    - EVP_Digest
    - ASN1_item_i2d
    - EVP_MD_free
    - ENGINE_get_digest_engine
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_item_digest_ex(const ASN1_ITEM *it, const EVP_MD *md,
      void *asn, unsigned char *data, unsigned int *len, OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - it
    - md
    - asn
    - data
    - len
    argTypes:
    - ASN1_ITEM*
    - EVP_MD*
    - void*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: ASN1_item_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_digest.c
    functionUses: []
    functionsReached:
    - ossl_asn1_item_digest_ex
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *md, void *asn,
      unsigned char *data, unsigned int *len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:52,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:58,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:69,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:64,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - a
    - selection
    - output_info
    - pp
    argTypes:
    - EVP_PKEY*
    - int
    - struct type_and_structure_st*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 71
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 71
    functionName: i2d_provided
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_CTX_new_for_pkey
    - ERR_raise
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_to_data
    linkageType: ''
    returnType: int
    signature: 'static int i2d_provided(const EVP_PKEY *a, int selection, const struct
      type_and_structure_st *output_info, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: i2d_KeyParams_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c
    functionUses: []
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: 'int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:75,1
    - Dst: i2d_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:81,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: i2d_KeyParams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - ERR_raise
    - i2d_provided
    linkageType: ''
    returnType: int
    signature: 'int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:124,1
    - Dst: i2d_RSAPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:135,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:133,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:135,1
    - Dst: i2d_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:131,1
    - Dst: i2d_DSAPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:138,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:138,1
    - Dst: i2o_ECPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:142,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: i2d_PublicKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c
    functionUses: []
    functionsReached:
    - i2d_DSAPublicKey
    - EVP_PKEY_get_base_id
    - evp_pkey_is_provided
    - ERR_raise
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get0_RSA
    - i2d_RSAPublicKey
    - i2o_ECPublicKey
    - EVP_PKEY_get0_EC_KEY
    - i2d_provided
    linkageType: ''
    returnType: int
    signature: 'int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:96,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:109,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:113,1
    - Dst: i2d_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:103,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c:118,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: i2d_PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/i2d_evp.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY2PKCS8
    - evp_pkey_is_provided
    - ERR_raise
    - i2d_PKCS8_PRIV_KEY_INFO
    - i2d_provided
    linkageType: ''
    returnType: int
    signature: 'int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: ossl_asn1_get_choice_selector
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM
      *it) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:80,1
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:93,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:86,1
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:81,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:88,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:97,1
    - Dst: REF_PRINT_EX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:99,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:100,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:102,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 3
    argNames:
    - pval
    - op
    - it
    argTypes:
    - ASN1_VALUE**
    - int
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 109
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 109
    functionName: ossl_asn1_do_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_lock_free
    - CRYPTO_UP_REF
    - CRYPTO_DOWN_REF
    - offset2ptr
    - REF_PRINT_EX
    - REF_ASSERT_ISNT
    - CRYPTO_THREAD_lock_new
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: asn1_get_enc_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_ENCODING*
    signature: 'static ASN1_ENCODING *asn1_get_enc_ptr(ASN1_VALUE **pval, const ASN1_ITEM
      *it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_enc_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: ossl_asn1_enc_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - asn1_get_enc_ptr
    linkageType: ''
    returnType: void
    signature: 'void ossl_asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_enc_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:162,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:174,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:167,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:171,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pval
    - in
    - inlen
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: ossl_asn1_enc_save
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - asn1_get_enc_ptr
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in,
      int inlen, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - tt
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: ossl_asn1_get_const_field_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_VALUE**
    signature: 'const ASN1_VALUE **ossl_asn1_get_const_field_ptr(const ASN1_VALUE
      **pval, const ASN1_TEMPLATE *tt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ADB_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:235,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:254,1
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:238,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:252,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:283,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 3
    argNames:
    - val
    - tt
    - nullerr
    argTypes:
    - ASN1_VALUE*
    - ASN1_TEMPLATE*
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 285
    functionName: ossl_asn1_do_adb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - ASN1_ADB_ptr
    - offset2ptr
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: ASN1_TEMPLATE*
    signature: 'const ASN1_TEMPLATE *ossl_asn1_do_adb(const ASN1_VALUE *val, const
      ASN1_TEMPLATE *tt, int nullerr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: ossl_asn1_get_choice_selector_const
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_get_choice_selector_const(const ASN1_VALUE **pval, const
      ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: asn1_get_const_enc_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_ENCODING*
    signature: 'static const ASN1_ENCODING *asn1_get_const_enc_ptr(const ASN1_VALUE
      **pval, const ASN1_ITEM *it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_enc_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:149,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: ossl_asn1_enc_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - asn1_get_enc_ptr
    linkageType: ''
    returnType: void
    signature: 'void ossl_asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_const_enc_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:184,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:189,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 4
    argNames:
    - len
    - out
    - pval
    - it
    argTypes:
    - int*
    - unsigned char**
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: ossl_asn1_enc_restore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    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, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pval
    - value
    - it
    argTypes:
    - ASN1_VALUE**
    - int
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: ossl_asn1_set_choice_selector
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_set_choice_selector(ASN1_VALUE **pval, int value, const
      ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - tt
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: ossl_asn1_get_field_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_utl.c
    functionUses: []
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_VALUE**
    signature: 'ASN1_VALUE **ossl_asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE
      *tt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:37,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:73,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:79,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:98,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:110,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:61,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:68,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:89,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:81,1
    - Dst: EVP_SignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:91,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:95,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:109,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:30,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:57,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:62,1
    - Dst: EVP_SignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:90,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:84,1
    - Dst: EVP_SignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:92,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:111,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:52,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:75,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 77
    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*
    constantsTouched: []
    func_position:
      end: 113
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 113
    functionName: ASN1_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_TYPE_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_SignUpdate
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - ASN1_TYPE_new
    - i2d
    - OPENSSL_clear_free
    - EVP_SignFinal
    - EVP_SignInit_ex
    - OPENSSL_malloc
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, X509_ALGOR *algor2,
      ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey, const EVP_MD *type) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:165,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:177,1
    - Dst: d2i_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:206,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:240,1
    - Dst: d2i_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:197,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:244,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:255,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:261,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:298,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:161,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:176,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:184,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:257,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:268,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:286,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:162,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:170,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:225,1
    - Dst: EVP_MD_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:244,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:245,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:255,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:264,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:283,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:281,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:207,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:198,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:257,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:274,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:297,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 106
    argCount: 6
    argNames:
    - it
    - algor1
    - algor2
    - signature
    - data
    - ctx
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 300
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 300
    functionName: ASN1_item_sign_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c
    functionUses: []
    functionsReached:
    - d2i_X509_ALGOR
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - OPENSSL_free
    - OBJ_nid2obj
    - EVP_DigestSign
    - EVP_MD_CTX_get0_md
    - EVP_PKEY_CTX_get0_pkey
    - OBJ_find_sigid_by_algs
    - EVP_MD_nid
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_MD_CTX_get_pkey_ctx
    - X509_ALGOR_set0
    - ASN1_item_i2d
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR
      *algor2, ASN1_BIT_STRING *signature, const void *data, EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    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*
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: ASN1_item_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c
    functionUses: []
    functionsReached:
    - ASN1_item_sign_ex
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR
      *algor2, ASN1_BIT_STRING *signature, const void *data, EVP_PKEY *pkey, const
      EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:132,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:142,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:135,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:145,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:145,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    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*
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: ASN1_item_sign_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_DigestSignInit
    - EVP_MD_CTX_free
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_PKEY_CTX_free
    - evp_md_ctx_new_ex
    - ASN1_item_sign_ctx
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_sign_ex(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR
      *algor2, ASN1_BIT_STRING *signature, const void *data, const ASN1_OCTET_STRING
      *id, EVP_PKEY *pkey, const EVP_MD *md, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PBEPARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:34,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:50,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:36,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:42,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:52,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:56,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:57,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:60,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:63,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:71,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:63,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:76,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:71,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:64,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:75,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:68,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 0
    argNames:
    - PBEPARAM
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 79
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c
    functionUses: []
    functionsReached:
    - PBEPARAM_new
    - ERR_raise
    - PBEPARAM_free
    - ASN1_item_pack
    - memcpy
    - OBJ_nid2obj
    - OPENSSL_free
    - X509_ALGOR_set0
    - ASN1_INTEGER_set
    - ASN1_STRING_set0
    - ASN1_STRING_free
    - ASN1_ITEM_rptr
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(PBEPARAM)
    signature: 'ASN1_SEQUENCE_END(PBEPARAM) IMPLEMENT_ASN1_FUNCTIONS(PBEPARAM) /*
      Set an algorithm identifier for a PKCS#5 PBE algorithm */ int PKCS5_pbe_set0_algor_ex(X509_ALGOR
      *algor, int alg, int iter, const unsigned char *salt, int saltlen, OSSL_LIB_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe_set0_algor_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - algor
    - alg
    - iter
    - salt
    - saltlen
    argTypes:
    - X509_ALGOR*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: PKCS5_pbe_set0_algor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c
    functionUses: []
    functionsReached:
    - PKCS5_pbe_set0_algor_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, const
      unsigned char *salt, int saltlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:96,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:103,1
    - Dst: PKCS5_pbe_set0_algor_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - alg
    - iter
    - salt
    - saltlen
    - ctx
    argTypes:
    - int
    - int
    - unsigned char*
    - int
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: PKCS5_pbe_set_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - ERR_raise
    - PKCS5_pbe_set0_algor_ex
    - X509_ALGOR_new
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *PKCS5_pbe_set_ex(int alg, int iter, const unsigned char
      *salt, int saltlen, OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe_set_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - alg
    - iter
    - salt
    - saltlen
    argTypes:
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: PKCS5_pbe_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbe.c
    functionUses: []
    functionsReached:
    - PKCS5_pbe_set_ex
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *PKCS5_pbe_set(int alg, int iter, const unsigned char *salt,
      int saltlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:28,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:41,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:42,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:33,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:34,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ASN1_OBJECT*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 50
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 50
    functionName: i2d_ASN1_OBJECT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_put_object
    - memcpy
    - ASN1_object_size
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - a
    argTypes:
    - char*
    - int
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: i2t_ASN1_OBJECT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:224,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:239,1
    - Dst: ossl_c2i_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 241
    functionName: d2i_ASN1_OBJECT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - ASN1_get_object
    - ossl_c2i_ASN1_OBJECT
    - ERR_raise
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char
      **pp, long length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:346,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: ASN1_OBJECT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *ASN1_OBJECT_new(void) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:99,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:86,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:106,1
    - Dst: BN_mul_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:110,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:136,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:138,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:160,1
    - Dst: BN_div_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:143,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:98,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:118,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:171,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:72,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:111,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:134,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:170,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:130,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:175,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 122
    argCount: 4
    argNames:
    - out
    - olen
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 178
    functionName: a2d_ASN1_OBJECT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_mul_word
    - BN_add_word
    - BN_div_word
    - OPENSSL_free
    - BN_new
    - BN_num_bits
    - BN_set_word
    - BN_free
    - ossl_isdigit
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf,
      int num) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:199,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:192,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:198,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:202,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:205,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:206,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:209,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 213
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 213
    functionName: i2a_ASN1_OBJECT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - BIO_write
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_malloc
    - i2t_ASN1_OBJECT
    - BIO_dump
    linkageType: ''
    returnType: int
    signature: 'int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:258,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:288,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:278,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:271,1
    - Dst: ASN1_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:295,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:308,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:309,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:316,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:319,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:336,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:338,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:320,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 340
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 340
    functionName: ossl_c2i_ASN1_OBJECT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - OPENSSL_free
    - memcpy
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - ASN1_OBJECT_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *ossl_c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned
      char **pp, long len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:365,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:366,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:371,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: ASN1_OBJECT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_OBJECT_free(ASN1_OBJECT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - nid
    - data
    - len
    - sn
    - ln
    argTypes:
    - int
    - unsigned char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: ASN1_OBJECT_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_object.c
    functionUses: []
    functionsReached:
    - OBJ_dup
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int
      len, const char *sn, const char *ln) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_type2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:38,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:56,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:48,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:43,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:57,1
    - Dst: evp_keymgmt_util_has
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:60,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:72,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 33
    argCount: 6
    argNames:
    - keytype
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 74
    functionName: d2i_PrivateKey_decoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c
    functionUses: []
    functionsReached:
    - evp_keymgmt_util_has
    - OSSL_DECODER_from_data
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - OSSL_NELEM
    - OSSL_DECODER_CTX_new_for_pkey
    - evp_pkey_type2name
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *d2i_PrivateKey_decoder(int keytype, EVP_PKEY **a,
      const unsigned char **pp, long length, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:148,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 6
    argNames:
    - keytype
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: d2i_PrivateKey_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c
    functionUses: []
    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, long length, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_decoder
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:223,1
    - Dst: d2i_AutoPrivateKey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 5
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: d2i_AutoPrivateKey_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c
    functionUses: []
    functionsReached:
    - d2i_AutoPrivateKey_legacy
    - d2i_PrivateKey_decoder
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_AutoPrivateKey_ex(EVP_PKEY **a, const unsigned char
      **pp, long length, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:97,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:130,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:84,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:85,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:96,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:91,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:121,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:122,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:114,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:119,1
    - Dst: EVP_PKEY_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:122,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:138,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:108,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:110,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:113,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:125,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:116,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 57
    argCount: 6
    argNames:
    - keytype
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 140
    functionName: ossl_d2i_PrivateKey_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c
    functionUses: []
    functionsReached:
    - evp_pkcs82pkey_legacy
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_pop_to_mark
    - ERR_raise
    - EVP_PKEY_get_base_id
    - EVP_PKEY_free
    - EVP_PKEY_set_type
    - ENGINE_finish
    - ERR_set_mark
    - EVP_PKEY_new
    - EVP_PKEY_type
    - ERR_clear_last_mark
    - d2i_PKCS8_PRIV_KEY_INFO
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ossl_d2i_PrivateKey_legacy(int keytype, EVP_PKEY **a, const
      unsigned char **pp, long length, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - type
    - a
    - pp
    - length
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: d2i_PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c
    functionUses: []
    functionsReached:
    - d2i_PrivateKey_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char
      **pp, long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: d2i_AutoPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c
    functionUses: []
    functionsReached:
    - d2i_AutoPrivateKey_ex
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp,
      long length) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_SEQUENCE_ANY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:177,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:187,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:189,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:185,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:183,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:194,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:197,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:198,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:209,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c:210,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 5
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 211
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 211
    functionName: d2i_AutoPrivateKey_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pr.c
    functionUses: []
    functionsReached:
    - evp_pkcs82pkey_legacy
    - PKCS8_PRIV_KEY_INFO_free
    - sk_ASN1_TYPE_pop_free
    - ERR_raise
    - d2i_ASN1_SEQUENCE_ANY
    - ossl_d2i_PrivateKey_legacy
    - sk_ASN1_TYPE_num
    - d2i_PKCS8_PRIV_KEY_INFO
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *d2i_AutoPrivateKey_legacy(EVP_PKEY **a, const unsigned
      char **pp, long length, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leap_year
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: determine_days
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - leap_year
    linkageType: ''
    returnType: void
    signature: 'static void determine_days(struct tm *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - tm
    argTypes:
    - BIO*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: ASN1_TIME_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_print_ex
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_TIME*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 590
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 590
    functionName: ASN1_TIME_compare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_diff
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TIME_compare(const ASN1_TIME *a, const ASN1_TIME *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: leap_year
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int leap_year(const int year) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_TIME*
    - time_t
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: ASN1_TIME_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    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: ASN1_TIME_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:357,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:363,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - t
    - out
    argTypes:
    - ASN1_TIME*
    - ASN1_GENERALIZEDTIME**
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 369
    functionName: ASN1_TIME_to_generalizedtime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    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, ASN1_GENERALIZEDTIME **out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:329,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:331,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:338,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - s
    - t
    - offset_day
    - offset_sec
    argTypes:
    - ASN1_TIME*
    - time_t
    - int
    - long
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: ASN1_TIME_adj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime
    - ERR_raise
    - OPENSSL_gmtime_adj
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long
      offset_sec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:495,1
    - Dst: ossl_ascii_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:514,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:519,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:496,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:526,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:533,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:540,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - bp
    - tm
    - flags
    argTypes:
    - BIO*
    - ASN1_TIME*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 546
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 546
    functionName: ossl_asn1_time_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - ossl_asn1_time_to_tm
    - ossl_ascii_isdigit
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_time_print_ex(BIO *bp, const ASN1_TIME *tm, unsigned
      long flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:344,1
    - Dst: ASN1_UTCTIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: ASN1_TIME_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - ASN1_UTCTIME_check
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TIME_check(const ASN1_TIME *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - bp
    - tm
    - flags
    argTypes:
    - BIO*
    - ASN1_TIME*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: ASN1_TIME_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:445,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:446,1
    - Dst: ossl_asn1_time_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:452,1
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - tm
    argTypes:
    - ASN1_TIME*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 453
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 453
    functionName: ASN1_TIME_to_tm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - OPENSSL_gmtime
    - ossl_asn1_time_to_tm
    - time
    - memset
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:460,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:462,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - pday
    - psec
    - from
    - to
    argTypes:
    - int*
    - int*
    - ASN1_TIME*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 465
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 465
    functionName: ASN1_TIME_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_to_tm
    - OPENSSL_gmtime_diff
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const
      ASN1_TIME *to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames:
    - ASN1_TIME
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: IMPLEMENT_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME) IMPLEMENT_ASN1_DUP_FUNCTION(ASN1_TIME)
      static int is_utc(const int year) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:117,1
    - Dst: ossl_ascii_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:139,1
    - Dst: determine_days
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:175,1
    - Dst: ossl_ascii_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:132,1
    - Dst: leap_year
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:168,1
    - Dst: ossl_ascii_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:200,1
    - Dst: ossl_ascii_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:231,1
    - Dst: ossl_ascii_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:235,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:250,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 139
    argCount: 2
    argNames:
    - tm
    - d
    argTypes:
    - struct tm*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 264
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 264
    functionName: ossl_asn1_time_to_tm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ossl_ascii_isdigit
    - memset
    - leap_year
    - determine_days
    - OPENSSL_gmtime_adj
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTCTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:374,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_TIME*
    - char*
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 377
    functionName: ASN1_TIME_set_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_set_string
    - ASN1_UTCTIME_set_string
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TIME_set_string(ASN1_TIME *s, const char *str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:553,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:559,1
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_TIME*
    - time_t
    constantsTouched: []
    func_position:
      end: 567
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 567
    functionName: ASN1_TIME_cmp_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_utc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:273,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:298,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:291,1
    - Dst: is_utc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:278,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:285,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:303,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:309,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:314,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 3
    argNames:
    - s
    - ts
    - type
    argTypes:
    - ASN1_TIME*
    - struct tm*
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 316
    functionName: ossl_asn1_time_from_tm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_new
    - BIO_snprintf
    - ebcdic2ascii
    - ASN1_STRING_set
    - ASN1_STRING_free
    - is_utc
    linkageType: ''
    returnType: ASN1_TIME*
    signature: 'ASN1_TIME *ossl_asn1_time_from_tm(ASN1_TIME *s, struct tm *ts, int
      type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:385,1
    - Dst: ASN1_TIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:391,1
    - Dst: ASN1_TIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:393,1
    - Dst: is_utc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:414,1
    - Dst: ossl_asn1_time_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:412,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:421,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:423,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:426,1
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:431,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:435,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_TIME*
    - char*
    constantsTouched: []
    func_position:
      end: 438
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 438
    functionName: ASN1_TIME_set_string_X509
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_copy
    - ERR_raise
    - ASN1_TIME_check
    - OPENSSL_free
    - memcpy
    - OPENSSL_zalloc
    - strlen
    - ossl_asn1_time_to_tm
    - is_utc
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:573,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 577
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 577
    functionName: ASN1_TIME_normalize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_time.c
    functionUses: []
    functionsReached:
    - ossl_asn1_time_from_tm
    - ASN1_TIME_to_tm
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TIME_normalize(ASN1_TIME *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:26,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:26,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:30,1
    - Dst: ASN1_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:27,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:32,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 4
    argNames:
    - (*xnew)
    - d2i
    - in
    - x
    argTypes:
    - void*
    - d2i_of_void*
    - FILE*
    - void**
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: ASN1_d2i_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_bio
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in,
      void **x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:90,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:91,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:95,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:94,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:90,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 5
    argNames:
    - it
    - in
    - x
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - FILE*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: ASN1_item_d2i_fp_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - ASN1_item_d2i_bio_ex
    - BIO_new
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_item_d2i_fp_ex(const ASN1_ITEM *it, FILE *in, void *x,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - it
    - in
    - x
    argTypes:
    - ASN1_ITEM*
    - BIO*
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ASN1_item_d2i_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: []
    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: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:44,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:51,1
    - Dst: d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:49,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 4
    argNames:
    - (*xnew)
    - d2i
    - in
    - x
    argTypes:
    - void*
    - d2i_of_void*
    - BIO*
    - void**
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: ASN1_d2i_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    - asn1_d2i_read_bio
    - d2i
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in,
      void **x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:67,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:72,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:74,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 5
    argNames:
    - it
    - in
    - x
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - BIO*
    - void*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: ASN1_item_d2i_bio_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    - asn1_d2i_read_bio
    - ASN1_item_d2i_ex
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_item_d2i_bio_ex(const ASN1_ITEM *it, BIO *in, void *x,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - it
    - in
    - x
    argTypes:
    - ASN1_ITEM*
    - FILE*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ASN1_item_d2i_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_fp_ex
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:123,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:135,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:125,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:207,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:136,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:139,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:242,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:141,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:208,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:213,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:146,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:230,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:174,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c:250,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 113
    argCount: 2
    argNames:
    - in
    - pb
    argTypes:
    - BIO*
    - BUF_MEM**
    constantsTouched: []
    func_position:
      end: 252
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 252
    functionName: asn1_d2i_read_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_raise
    - ERR_pop_to_mark
    - BUF_MEM_grow_clean
    - BIO_read
    - ASN1_get_object
    - ERR_set_mark
    - BUF_MEM_free
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - BUF_MEM_new
    linkageType: ''
    returnType: int
    signature: 'int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:52,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:62,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:58,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:60,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:55,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:64,1
    - Dst: ASN1_STRING_set_default_mask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: ASN1_STRING_set_default_mask_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached:
    - strcmp
    - strncmp
    - ASN1_STRING_set_default_mask
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_set_default_mask_asc(const char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_STRING_TABLE**
    - ASN1_STRING_TABLE**
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: sk_table_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sk_table_cmp(const ASN1_STRING_TABLE *const *a, const ASN1_STRING_TABLE
      *const *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:89,1
    - Dst: ASN1_mbstring_ncopy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:94,1
    - Dst: ASN1_mbstring_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - out
    - in
    - inlen
    - inform
    - nid
    argTypes:
    - ASN1_STRING**
    - unsigned char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: ASN1_STRING_set_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached:
    - ASN1_mbstring_copy
    - ASN1_STRING_TABLE_get
    - ASN1_mbstring_ncopy
    linkageType: ''
    returnType: ASN1_STRING*
    signature: 'ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, const unsigned
      char *in, int inlen, int inform, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_STRING_TABLE*
    - ASN1_STRING_TABLE*
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: table_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int table_cmp(const ASN1_STRING_TABLE *a, const ASN1_STRING_TABLE
      *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_STRING_TABLE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:156,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:164,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:160,1
    - Dst: sk_ASN1_STRING_TABLE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:167,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 184
    functionName: stable_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - sk_ASN1_STRING_TABLE_new
    - ASN1_STRING_TABLE_get
    - sk_ASN1_STRING_TABLE_push
    linkageType: ''
    returnType: ASN1_STRING_TABLE*
    signature: 'static ASN1_STRING_TABLE *stable_get(int nid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stable_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - nid
    - minsize
    - maxsize
    - mask
    - flags
    argTypes:
    - int
    - long
    - long
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: ASN1_STRING_TABLE_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached:
    - stable_get
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_TABLE_add(int nid, long minsize, long maxsize, unsigned
      long mask, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ASN1_STRING_set_default_mask
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_STRING_set_default_mask(unsigned long mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_STRING_TABLE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: ASN1_STRING_TABLE_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached:
    - sk_ASN1_STRING_TABLE_pop_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_STRING_TABLE_cleanup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - ASN1_STRING_TABLE*
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: st_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void st_free(ASN1_STRING_TABLE *tbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ASN1_STRING_get_default_mask
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_STRING_get_default_mask(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:133,1
    - Dst: OBJ_bsearch_table
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:142,1
    - Dst: sk_ASN1_STRING_TABLE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:138,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:142,1
    - Dst: sk_ASN1_STRING_TABLE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: ASN1_STRING_TABLE_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strnid.c
    functionUses: []
    functionsReached:
    - OBJ_bsearch_table
    - OSSL_NELEM
    - sk_ASN1_STRING_TABLE_value
    - OPENSSL_init_crypto
    - sk_ASN1_STRING_TABLE_find
    linkageType: ''
    returnType: ASN1_STRING_TABLE*
    signature: 'ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_tlc_clear_nc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:142,1
    - Dst: asn1_item_ex_d2i_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:143,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 6
    argNames:
    - pval
    - in
    - len
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: ASN1_item_d2i_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - asn1_item_ex_d2i_intern
    - asn1_tlc_clear_nc
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *ASN1_item_d2i_ex(ASN1_VALUE **pval, const unsigned char
      **in, long len, const ASN1_ITEM *it, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:114,1
    - Dst: asn1_item_embed_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:117,1
    - Dst: ASN1_item_ex_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    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*
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: asn1_item_ex_d2i_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - asn1_item_embed_d2i
    - ERR_raise
    - ASN1_item_ex_free
    linkageType: ''
    returnType: int
    signature: 'static int asn1_item_ex_d2i_intern(ASN1_VALUE **pval, const unsigned
      char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC
      *ctx, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:225,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:234,1
    - Dst: ossl_asn1_get_choice_selector
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:279,1
    - Dst: ossl_asn1_do_adb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:378,1
    - Dst: ossl_asn1_do_adb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:390,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:393,1
    - Dst: asn1_check_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:398,1
    - Dst: asn1_check_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:438,1
    - Dst: ossl_asn1_do_adb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:455,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:181,1
    - Dst: asn1_template_ex_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:213,1
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:243,1
    - Dst: asn1_d2i_ex_primitive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:255,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:287,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:293,1
    - Dst: asn1_template_ex_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:297,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:311,1
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:461,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:464,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:483,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:444,1
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:382,1
    - Dst: ossl_asn1_enc_save
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:469,1
    - Dst: asn1_template_ex_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:421,1
    - Dst: asn1_d2i_ex_primitive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:216,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:282,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:275,1
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:283,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:284,1
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:309,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:323,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:348,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:360,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:381,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:480,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:471,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:460,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:209,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:271,1
    - Dst: ASN1_tag2bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:252,1
    - Dst: ossl_asn1_item_ex_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:286,1
    - Dst: ASN1_item_ex_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:320,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:327,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:329,1
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:345,1
    - Dst: ossl_asn1_item_ex_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:365,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:370,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:366,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:400,1
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:430,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:486,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:439,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 203
    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*
    constantsTouched: []
    func_position:
      end: 488
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 488
    functionName: asn1_item_embed_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - ossl_asn1_get_field_ptr
    - ossl_asn1_set_choice_selector
    - ERR_raise
    - ossl_asn1_enc_save
    - asn1_check_eoc
    - ossl_asn1_get_choice_selector
    - ASN1_tag2bit
    - asn1_d2i_ex_primitive
    - asn1_cb
    - ASN1_item_ex_free
    - asn1_check_tlen
    - ossl_asn1_do_adb
    - ossl_asn1_template_free
    - ossl_asn1_item_ex_new_intern
    - ERR_add_error_data
    - asn1_template_ex_d2i
    linkageType: ''
    returnType: int
    signature: 'static int asn1_item_embed_d2i(ASN1_VALUE **pval, const unsigned char
      **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC
      *ctx, int depth, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:624,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:612,1
    - Dst: sk_ASN1_VALUE_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:625,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:655,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:661,1
    - Dst: asn1_item_embed_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:650,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:666,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:681,1
    - Dst: asn1_check_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:640,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:651,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:655,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:660,1
    - Dst: asn1_item_embed_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:671,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:684,1
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:609,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:626,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:642,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:653,1
    - Dst: sk_ASN1_VALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:617,1
    - Dst: ASN1_item_ex_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:626,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:631,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:661,1
    - Dst: sk_ASN1_VALUE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:659,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:672,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:675,1
    - Dst: asn1_item_embed_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:681,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    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*
    constantsTouched: []
    func_position:
      end: 695
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 695
    functionName: asn1_template_noexp_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - sk_ASN1_VALUE_pop
    - ERR_raise
    - sk_ASN1_VALUE_num
    - asn1_check_eoc
    - ASN1_item_ex_free
    - asn1_check_tlen
    - ASN1_item_free
    - asn1_item_embed_d2i
    - sk_ASN1_VALUE_new_null
    - sk_ASN1_VALUE_push
    - ASN1_ITEM_ptr
    linkageType: ''
    returnType: int
    signature: 'static int asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned
      char **in, long len, const ASN1_TEMPLATE *tt, char opt, ASN1_TLC *ctx, int depth,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c2i_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:860,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:866,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:854,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:846,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:874,1
    - Dst: ossl_c2i_ASN1_BIT_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:884,1
    - Dst: ossl_c2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:891,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:916,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:920,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:937,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:943,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:944,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:958,1
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:925,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:927,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:942,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 78
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 963
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 963
    functionName: asn1_ex_c2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_TYPE_set
    - ASN1_TYPE_free
    - OPENSSL_free
    - ossl_c2i_ASN1_INTEGER
    - ASN1_TYPE_new
    - ASN1_STRING_type_new
    - ASN1_STRING_set
    - ASN1_STRING_free
    - ossl_c2i_ASN1_OBJECT
    - ossl_c2i_ASN1_BIT_STRING
    linkageType: ''
    returnType: int
    signature: 'static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont,
      int len, int utype, char *free_cont, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 1125
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1125
    functionName: asn1_check_eoc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int asn1_check_eoc(const unsigned char **in, long len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: ASN1_tag2bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_tag2bit(int tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - pval
    - in
    - len
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: ASN1_item_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_ex
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **pval, const unsigned char **in,
      long len, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_ex_d2i_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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*
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: ASN1_item_ex_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - asn1_item_ex_d2i_intern
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in,
      long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:711,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:729,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:725,1
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:733,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:736,1
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:748,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:751,1
    - Dst: asn1_tlc_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:764,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:768,1
    - Dst: asn1_find_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:775,1
    - Dst: asn1_collect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:798,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:803,1
    - Dst: asn1_ex_c2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:817,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:824,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:786,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:804,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 92
    argCount: 8
    argNames:
    - pval
    - in
    - inlen
    - it
    - tag
    - aclass
    - opt
    - ctx
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    constantsTouched: []
    func_position:
      end: 826
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 826
    functionName: asn1_d2i_ex_primitive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BUF_MEM_grow_clean
    - asn1_find_end
    - OPENSSL_free
    - asn1_tlc_clear
    - asn1_check_tlen
    - asn1_ex_c2i
    - asn1_collect
    linkageType: ''
    returnType: int
    signature: 'static int asn1_d2i_ex_primitive(ASN1_VALUE **pval, const unsigned
      char **in, long inlen, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC
      *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asn1_check_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1058,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1079,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1072,1
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1070,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1063,1
    - Dst: asn1_collect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1082,1
    - Dst: collect_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1084,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1089,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 7
    argNames:
    - buf
    - in
    - len
    - inf
    - tag
    - aclass
    - depth
    argTypes:
    - BUF_MEM*
    - unsigned char**
    - long
    - char
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1094
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1094
    functionName: asn1_collect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - asn1_check_eoc
    - asn1_check_tlen
    - collect_data
    - asn1_collect
    linkageType: ''
    returnType: int
    signature: 'static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long
      len, char inf, int tag, int aclass, int depth) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:536,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:529,1
    - Dst: asn1_template_noexp_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:533,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:524,1
    - Dst: asn1_check_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:543,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:544,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:552,1
    - Dst: asn1_template_noexp_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:557,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    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*
    constantsTouched: []
    func_position:
      end: 565
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 565
    functionName: asn1_template_ex_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - asn1_template_noexp_d2i
    - ERR_raise
    - asn1_check_tlen
    - asn1_check_eoc
    linkageType: ''
    returnType: int
    signature: 'static int asn1_template_ex_d2i(ASN1_VALUE **val, const unsigned char
      **in, long inlen, const ASN1_TEMPLATE *tt, char opt, ASN1_TLC *ctx, int depth,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_check_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:990,1
    - Dst: asn1_check_tlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:999,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1016,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1006,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1001,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - in
    - len
    - inf
    argTypes:
    - unsigned char**
    - long
    - char
    constantsTouched: []
    func_position:
      end: 1021
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1021
    functionName: asn1_find_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - asn1_check_tlen
    - asn1_check_eoc
    linkageType: ''
    returnType: int
    signature: 'static int asn1_find_end(const unsigned char **in, long len, char
      inf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1102,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - p
    - plen
    argTypes:
    - BUF_MEM*
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 1109
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1109
    functionName: collect_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - BUF_MEM_grow_clean
    linkageType: ''
    returnType: int
    signature: 'static int collect_data(BUF_MEM *buf, const unsigned char **p, long
      plen) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1147,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1170,1
    - Dst: asn1_tlc_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1194,1
    - Dst: asn1_tlc_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c:1219,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    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*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1221
    functionName: asn1_check_tlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_dec.c
    functionUses: []
    functionsReached:
    - ASN1_get_object
    - ERR_raise
    - asn1_tlc_clear
    linkageType: ''
    returnType: int
    signature: 'static int asn1_check_tlen(long *olen, int *otag, unsigned char *oclass,
      char *inf, char *cst, const unsigned char **in, long len, int exptag, int expclass,
      char opt, ASN1_TLC *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_item_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - val
    - it
    argTypes:
    - ASN1_VALUE*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ASN1_item_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c
    functionUses: []
    functionsReached:
    - ossl_asn1_item_embed_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:48,1
    - Dst: ossl_asn1_get_choice_selector
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:63,1
    - Dst: ossl_asn1_primitive_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:50,1
    - Dst: ossl_asn1_primitive_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:54,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:59,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:68,1
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:69,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:72,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:74,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:90,1
    - Dst: ossl_asn1_template_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:109,1
    - Dst: ossl_asn1_do_adb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:105,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:114,1
    - Dst: ossl_asn1_enc_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:94,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:112,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:108,1
    - Dst: ossl_asn1_do_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:87,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 58
    argCount: 3
    argNames:
    - pval
    - it
    - embed
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 119
    functionName: ossl_asn1_item_embed_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c
    functionUses: []
    functionsReached:
    - ossl_asn1_do_lock
    - ossl_asn1_get_field_ptr
    - ossl_asn1_get_choice_selector
    - asn1_cb
    - OPENSSL_free
    - ossl_asn1_do_adb
    - ossl_asn1_template_free
    - ossl_asn1_enc_free
    - ossl_asn1_primitive_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_asn1_item_embed_free(ASN1_VALUE **pval, const ASN1_ITEM
      *it, int embed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_item_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ASN1_item_ex_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c
    functionUses: []
    functionsReached:
    - ossl_asn1_item_embed_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:184,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:199,1
    - Dst: ossl_asn1_primitive_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:198,1
    - Dst: ossl_asn1_string_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:203,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 31
    argCount: 3
    argNames:
    - pval
    - it
    - embed
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 207
    functionName: ossl_asn1_primitive_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c
    functionUses: []
    functionsReached:
    - ossl_asn1_primitive_free
    - OPENSSL_free
    - ASN1_OBJECT_free
    - ossl_asn1_string_embed_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_asn1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it,
      int embed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:133,1
    - Dst: sk_ASN1_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:134,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:136,1
    - Dst: sk_ASN1_VALUE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:138,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:136,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:141,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pval
    - tt
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: ossl_asn1_template_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_fre.c
    functionUses: []
    functionsReached:
    - sk_ASN1_VALUE_value
    - sk_ASN1_VALUE_free
    - sk_ASN1_VALUE_num
    - ASN1_ITEM_ptr
    - ossl_asn1_item_embed_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_asn1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE
      *tt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:39,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:49,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:42,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - a
    - data
    - max_len
    argTypes:
    - ASN1_TYPE*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: ASN1_TYPE_get_octetstring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_length
    - memcpy
    - ERR_raise
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data,
      int max_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_type_init_oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:101,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:103,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames:
    - asn1_int_oct
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: DECLARE_ASN1_ITEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached:
    - asn1_type_init_oct
    - ASN1_TYPE_pack_sequence
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(asn1_int_oct)
    signature: 'static_ASN1_SEQUENCE_END(asn1_int_oct) DECLARE_ASN1_ITEM(asn1_int_oct)
      int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data,
      int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:65,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:76,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - oct
    - anum
    - num
    - data
    - max_len
    argTypes:
    - ASN1_OCTET_STRING*
    - int32_t
    - long*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: asn1_type_get_int_oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_length
    - memcpy
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: 'static int asn1_type_get_int_oct(ASN1_OCTET_STRING *oct, int32_t anum,
      long *num, unsigned char *data, int max_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:118,1
    - Dst: asn1_type_get_int_oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:123,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:127,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - a
    - num
    - data
    - max_len
    argTypes:
    - ASN1_TYPE*
    - long*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: ASN1_TYPE_get_int_octetstring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - asn1_type_get_int_oct
    - M_ASN1_free_of
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, unsigned
      char *data, int max_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_type_init_oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:157,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:159,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames:
    - asn1_oct_int
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: DECLARE_ASN1_ITEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached:
    - asn1_type_init_oct
    - ASN1_TYPE_pack_sequence
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(asn1_oct_int)
    signature: 'static_ASN1_SEQUENCE_END(asn1_oct_int) DECLARE_ASN1_ITEM(asn1_oct_int)
      int ossl_asn1_type_set_octetstring_int(ASN1_TYPE *a, long num, unsigned char
      *data, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:19,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:21,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:22,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:25,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - a
    - data
    - len
    argTypes:
    - ASN1_TYPE*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: ASN1_TYPE_set_octetstring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_set
    - ASN1_OCTET_STRING_free
    - ASN1_TYPE_set
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - oct
    - data
    - len
    argTypes:
    - ASN1_OCTET_STRING*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: asn1_type_init_oct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void asn1_type_init_oct(ASN1_OCTET_STRING *oct,
      unsigned char *data, int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:182,1
    - Dst: asn1_type_get_int_oct
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:178,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:173,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - a
    - num
    - data
    - max_len
    argTypes:
    - ASN1_TYPE*
    - long*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: ossl_asn1_type_get_octetstring_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/evp_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - asn1_type_get_int_oct
    - M_ASN1_free_of
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_type_get_octetstring_int(const ASN1_TYPE *a, long *num,
      unsigned char *data, int max_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:25,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:31,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:37,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - bp
    - a
    - type
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 45
    functionName: i2a_ASN1_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c
    functionUses: []
    functionsReached:
    - BIO_write
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:54,1
    - Dst: ossl_isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:76,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:94,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:99,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:101,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:102,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:112,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:113,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c:131,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 4
    argNames:
    - bp
    - bs
    - buf
    - size
    argTypes:
    - BIO*
    - ASN1_STRING*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 134
    functionName: a2i_ASN1_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_string.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - OPENSSL_hexchar2int
    - ERR_raise
    - ossl_isxdigit
    - OPENSSL_realloc
    - OPENSSL_free
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c:19,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: X509_INFO_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_INFO*
    signature: 'X509_INFO *X509_INFO_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c:33,1
    - Dst: X509_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c:35,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c:37,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c:34,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_INFO*
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: X509_INFO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_info.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_PKEY_free
    - OPENSSL_free
    - X509_CRL_free
    linkageType: ''
    returnType: void
    signature: 'void X509_INFO_free(X509_INFO *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_primitive_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:31,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - a
    - type
    - value
    argTypes:
    - ASN1_TYPE*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: ASN1_TYPE_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c
    functionUses: []
    functionsReached:
    - ossl_asn1_primitive_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:71,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:100,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_TYPE*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 106
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 106
    functionName: ASN1_TYPE_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: ASN1_TYPE_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TYPE_get(const ASN1_TYPE *a) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:44,1
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:53,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:50,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:56,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:47,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - a
    - type
    - value
    argTypes:
    - ASN1_TYPE*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: ASN1_TYPE_set1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_dup
    - OBJ_dup
    - ASN1_TYPE_set
    linkageType: ''
    returnType: int
    signature: 'int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:113,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:122,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:120,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:128,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - it
    - s
    - t
    argTypes:
    - ASN1_ITEM*
    - void*
    - ASN1_TYPE**
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: ASN1_TYPE_pack_sequence
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_new
    - ASN1_item_pack
    - 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/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - it
    - t
    argTypes:
    - ASN1_ITEM*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: ASN1_TYPE_unpack_sequence
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_type.c
    functionUses: []
    functionsReached:
    - ASN1_item_unpack
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE
      *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_embed_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pval
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ossl_asn1_item_ex_new_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - asn1_item_embed_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_asn1_item_ex_new_intern(ASN1_VALUE **pval, const ASN1_ITEM
      *it, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_embed_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: ASN1_item_ex_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - asn1_item_embed_new
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: asn1_primitive_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:195,1
    - Dst: asn1_primitive_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:191,1
    - Dst: asn1_template_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 10
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: asn1_item_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - asn1_template_clear
    - asn1_primitive_clear
    linkageType: ''
    returnType: void
    signature: 'static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:252,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pval
    - tt
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: asn1_template_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - asn1_item_clear
    - ASN1_ITEM_ptr
    linkageType: ''
    returnType: void
    signature: 'static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE
      *tt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ex_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ASN1_item_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - ASN1_item_ex_new
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:103,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:125,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:142,1
    - Dst: asn1_template_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:90,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:113,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:117,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:118,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:133,1
    - Dst: ossl_asn1_enc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:147,1
    - Dst: asn1_template_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:150,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:168,1
    - Dst: asn1_primitive_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:97,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:153,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:149,1
    - Dst: asn1_primitive_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:92,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:111,1
    - Dst: ossl_asn1_do_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:140,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:135,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:162,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 74
    argCount: 5
    argNames:
    - pval
    - it
    - embed
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 171
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 171
    functionName: asn1_item_embed_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - ossl_asn1_do_lock
    - ossl_asn1_get_field_ptr
    - ossl_asn1_set_choice_selector
    - ERR_raise
    - asn1_cb
    - OPENSSL_free
    - ossl_asn1_enc_init
    - OPENSSL_zalloc
    - asn1_primitive_new
    - ossl_asn1_item_embed_free
    - asn1_template_new
    - memset
    linkageType: ''
    returnType: int
    signature: 'int asn1_item_embed_new(ASN1_VALUE **pval, const ASN1_ITEM *it, int
      embed, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:209,1
    - Dst: asn1_item_embed_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:241,1
    - Dst: asn1_template_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:218,1
    - Dst: sk_ASN1_VALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:230,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:232,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - pval
    - tt
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 244
    functionName: asn1_template_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - asn1_item_embed_new
    - ERR_raise
    - asn1_template_clear
    - sk_ASN1_VALUE_new_null
    - ASN1_ITEM_ptr
    linkageType: ''
    returnType: int
    signature: 'static int asn1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE
      *tt, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 347
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 347
    functionName: asn1_primitive_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM
      *it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_embed_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: ASN1_item_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - asn1_item_embed_new
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *ASN1_item_new_ex(const ASN1_ITEM *it, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:301,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:300,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:288,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:312,1
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c:316,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 3
    argNames:
    - pval
    - it
    - embed
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 326
    functionName: asn1_primitive_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_new.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_nid2obj
    - ASN1_STRING_type_new
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int asn1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
      int embed) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:27,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:42,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:37,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:48,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:51,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:30,1
    - Dst: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:28,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - X509_ALGOR
    argTypes:
    - X509_ALGOR
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_set
    - ASN1_TYPE_free
    - ASN1_OBJECT_free
    - IMPLEMENT_ASN1_DUP_FUNCTION
    - X509_ALGOR_set0
    - ASN1_TYPE_new
    - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname
    linkageType: ''
    returnType: ASN1_ITEM_TEMPLATE_END(X509_ALGORS)
    signature: 'ASN1_ITEM_TEMPLATE_END(X509_ALGORS) IMPLEMENT_ASN1_FUNCTIONS(X509_ALGOR)IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS,
      X509_ALGORS, X509_ALGORS)IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR)int X509_ALGOR_set0(X509_ALGOR
      *alg, ASN1_OBJECT *aobj, int ptype, void *pval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:82,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:82,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - alg
    - md
    argTypes:
    - X509_ALGOR*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: X509_ALGOR_set_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - OBJ_nid2obj
    - EVP_MD_get_type
    - X509_ALGOR_set0
    linkageType: ''
    returnType: void
    signature: 'void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:134,1
    - Dst: X509_ALGOR_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:139,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - palg
    - md
    argTypes:
    - X509_ALGOR**
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: ossl_x509_algor_new_from_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_set_md
    - 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/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:149,1
    - Dst: EVP_get_digestbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:150,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: ossl_x509_algor_get_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbyobj
    - ERR_raise
    - EVP_sha1
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *ossl_x509_algor_get_md(X509_ALGOR *alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:89,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_ALGOR*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: X509_ALGOR_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_cmp
    - OBJ_cmp
    linkageType: ''
    returnType: int
    signature: 'int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 4
    argNames:
    - paobj
    - pptype
    - ppval
    - algor
    argTypes:
    - ASN1_OBJECT**
    - int*
    - void**
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: X509_ALGOR_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const
      void **ppval, const X509_ALGOR *algor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:158,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:160,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: ossl_x509_algor_mgf1_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *ossl_x509_algor_mgf1_decode(X509_ALGOR *alg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:103,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:107,1
    - Dst: ASN1_TYPE_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:122,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:115,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - X509_ALGOR*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: X509_ALGOR_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_set1
    - ASN1_TYPE_free
    - ASN1_OBJECT_free
    - ASN1_TYPE_new
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:171,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:176,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:174,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:176,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:178,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:181,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:181,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:182,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:188,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c:189,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 2
    argNames:
    - palg
    - mgf1md
    argTypes:
    - X509_ALGOR**
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 193
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 193
    functionName: ossl_x509_algor_md_to_mgf1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_algor.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - ossl_x509_algor_new_from_md
    - ASN1_item_pack
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - EVP_MD_is_a
    - ASN1_STRING_free
    - ASN1_ITEM_rptr
    - X509_ALGOR_new
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:25,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:35,1
    - Dst: d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:31,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:29,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:38,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - i2d
    - d2i
    - x
    argTypes:
    - i2d_of_void*
    - d2i_of_void*
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 40
    functionName: ASN1_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c
    functionUses: []
    functionsReached:
    - d2i
    - ERR_raise
    - OPENSSL_free
    - i2d
    - OPENSSL_malloc
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:72,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:73,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:80,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:74,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:84,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:85,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:88,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c:94,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 2
    argNames:
    - it
    - x
    argTypes:
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 96
    functionName: ASN1_item_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_dup.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - asn1_cb
    - OPENSSL_free
    - ASN1_item_d2i_ex
    - ERR_raise_data
    - ASN1_item_i2d
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_item_dup(const ASN1_ITEM *it, const void *x) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c:24,1
    - Dst: ossl_isasn1print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c:28,1
    - Dst: ossl_isascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c:30,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: ASN1_PRINTABLE_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c
    functionUses: []
    functionsReached:
    - ossl_isasn1print
    - ossl_isascii
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ASN1_PRINTABLE_type(const unsigned char *s, int len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c:86,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c:92,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - bp
    - v
    argTypes:
    - BIO*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: ASN1_STRING_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c
    functionUses: []
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRINTABLE_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - ASN1_UNIVERSALSTRING*
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: ASN1_UNIVERSALSTRING_to_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_print.c
    functionUses: []
    functionsReached:
    - ASN1_PRINTABLE_type
    linkageType: ''
    returnType: int
    signature: 'int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:54,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 0
    argNames:
    - PBKDF2PARAM
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(PBKDF2PARAM)
    signature: 'ASN1_SEQUENCE_END(PBKDF2PARAM) IMPLEMENT_ASN1_FUNCTIONS(PBKDF2PARAM)
      /* * Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: yes I know
      * this is horrible! Extended version to allow application supplied PRF NID *
      and IV. */ X509_ALGOR *PKCS5_pbe2_set_iv_ex(const EVP_CIPHER *cipher, int iter,
      unsigned char *salt, int saltlen, unsigned char *aiv, int prf_nid, OSSL_LIB_CTX
      *libctx){ X509_ALGOR *scheme = NULL, *ret = NULL; int alg_nid, keylen, ivlen;
      EVP_CIPHER_CTX *ctx = NULL; unsigned char iv[EVP_MAX_IV_LENGTH]; PBE2PARAM *pbe2
      = NULL; alg_nid = EVP_CIPHER_get_type(cipher); if (alg_nid == NID_undef) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - cipher
    - iter
    - salt
    - saltlen
    argTypes:
    - EVP_CIPHER*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: PKCS5_pbe2_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c
    functionUses: []
    functionsReached:
    - PKCS5_pbe2_set_iv_ex
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned
      char *salt, int saltlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbkdf2_set_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - iter
    - salt
    - saltlen
    - prf_nid
    - keylen
    argTypes:
    - int
    - unsigned char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: PKCS5_pbkdf2_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c
    functionUses: []
    functionsReached:
    - PKCS5_pbkdf2_set_ex
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen,
      int prf_nid, int keylen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:183,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:190,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:204,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:226,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:236,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:218,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:173,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:189,1
    - Dst: PBKDF2PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:230,1
    - Dst: PBKDF2PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:235,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:213,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:202,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:226,1
    - Dst: PBKDF2PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:171,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:196,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:210,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:213,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:222,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:234,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 51
    argCount: 6
    argNames:
    - iter
    - salt
    - saltlen
    - prf_nid
    - keylen
    - libctx
    argTypes:
    - int
    - unsigned char*
    - int
    - int
    - int
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 238
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 238
    functionName: PKCS5_pbkdf2_set_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - ERR_raise
    - ASN1_ITEM_rptr
    - ASN1_OCTET_STRING_new
    - PBKDF2PARAM_new
    - memcpy
    - OBJ_nid2obj
    - PBKDF2PARAM_free
    - X509_ALGOR_set0
    - ASN1_INTEGER_set
    - ASN1_TYPE_pack_sequence
    - X509_ALGOR_new
    - ASN1_INTEGER_new
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *PKCS5_pbkdf2_set_ex(int iter, unsigned char *salt, int
      saltlen, int prf_nid, int keylen, OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - cipher
    - iter
    - salt
    - saltlen
    - aiv
    - prf_nid
    argTypes:
    - EVP_CIPHER*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: PKCS5_pbe2_set_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_pbev2.c
    functionUses: []
    functionsReached:
    - PKCS5_pbe2_set_iv_ex
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,
      unsigned char *salt, int saltlen, unsigned char *aiv, int prf_nid) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_surrogate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utf8.c:61,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 3
    argNames:
    - str
    - len
    - val
    argTypes:
    - unsigned char*
    - int
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: UTF8_getc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utf8.c
    functionUses: []
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: int
    signature: 'int UTF8_getc(const unsigned char *str, int len, unsigned long *val) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_surrogate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utf8.c:113,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - str
    - len
    - value
    argTypes:
    - unsigned char*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 136
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 136
    functionName: UTF8_putc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utf8.c
    functionUses: []
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: int
    signature: 'int UTF8_putc(unsigned char *str, int len, unsigned long value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: ASN1_PCTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_PCTX*
    signature: 'ASN1_PCTX *ASN1_PCTX_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ASN1_PCTX_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ASN1_PCTX_get_nm_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ASN1_PCTX_get_oid_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ASN1_PCTX_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: ASN1_PCTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_PCTX_free(ASN1_PCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ASN1_PCTX_set_nm_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ASN1_PCTX_set_oid_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: asn1_print_fsname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:443,1
    - Dst: ASN1_tag2str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:465,1
    - Dst: ASN1_tag2str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:468,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:474,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:480,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:482,1
    - Dst: asn1_print_boolean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:492,1
    - Dst: asn1_print_integer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:498,1
    - Dst: ASN1_UTCTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:502,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:506,1
    - Dst: asn1_print_oid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:510,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:522,1
    - Dst: asn1_print_obstring
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:515,1
    - Dst: ASN1_parse_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:524,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:535,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:530,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 69
    argCount: 7
    argNames:
    - out
    - fld
    - it
    - indent
    - fname
    - sname
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - char*
    - char*
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 538
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 538
    functionName: asn1_primitive_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - ASN1_tag2str
    - asn1_print_fsname
    - asn1_print_obstring
    - ASN1_parse_dump
    - ASN1_GENERALIZEDTIME_print
    - ASN1_STRING_print_ex
    - asn1_print_boolean
    - asn1_print_integer
    - ASN1_UTCTIME_print
    - asn1_print_oid
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int asn1_primitive_print(BIO *out, const ASN1_VALUE **fld,
      const ASN1_ITEM *it, int indent, const char *fname, const char *sname, const
      ASN1_PCTX *pctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:271,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:300,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:307,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:291,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:303,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:308,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:311,1
    - Dst: asn1_item_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:312,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:313,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:317,1
    - Dst: asn1_item_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:326,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:326,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:321,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 5
    argNames:
    - out
    - fld
    - indent
    - tt
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - ASN1_TEMPLATE*
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 328
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 328
    functionName: asn1_template_print_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - asn1_item_print_ctx
    - sk_const_ASN1_VALUE_num
    - sk_const_ASN1_VALUE_value
    - ASN1_ITEM_ptr
    - BIO_puts
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int asn1_template_print_ctx(BIO *out, const ASN1_VALUE **fld,
      int indent, const ASN1_TEMPLATE *tt, const ASN1_PCTX *pctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:338,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:342,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:359,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:351,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:356,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:363,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 5
    argNames:
    - out
    - indent
    - fname
    - sname
    - pctx
    argTypes:
    - BIO*
    - int
    - char*
    - char*
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 366
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 366
    functionName: asn1_print_fsname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int asn1_print_fsname(BIO *out, int indent, const char *fname,
      const char *sname, const ASN1_PCTX *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: ASN1_PCTX_get_cert_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ASN1_PCTX_get_str_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - out
    - ifld
    - indent
    - it
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - int
    - ASN1_ITEM*
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: ASN1_item_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - asn1_item_print_ctx
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_print(BIO *out, const ASN1_VALUE *ifld, int indent,
      const ASN1_ITEM *it, const ASN1_PCTX *pctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:409,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:409,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:412,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - out
    - oid
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 416
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: asn1_print_oid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_obj2txt
    - OBJ_obj2nid
    - OBJ_nid2ln
    linkageType: ''
    returnType: int
    signature: 'static int asn1_print_oid(BIO *out, const ASN1_OBJECT *oid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - out
    - boolval
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 390
    functionName: asn1_print_boolean
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int asn1_print_boolean(BIO *out, int boolval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ASN1_PCTX_set_cert_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: ASN1_PCTX_set_str_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: asn1_print_fsname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:179,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:187,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:200,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:219,1
    - Dst: asn1_template_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:206,1
    - Dst: asn1_template_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:239,1
    - Dst: ossl_asn1_get_choice_selector_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:197,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:249,1
    - Dst: asn1_primitive_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:174,1
    - Dst: asn1_template_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:167,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:191,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:205,1
    - Dst: ossl_asn1_do_adb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:235,1
    - Dst: asn1_print_fsname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:156,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:158,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:216,1
    - Dst: asn1_print_fsname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:212,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:238,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:225,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:244,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:256,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 99
    argCount: 8
    argNames:
    - out
    - fld
    - indent
    - it
    - fname
    - sname
    - nohdr
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - ASN1_ITEM*
    - char*
    - char*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 261
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 261
    functionName: asn1_item_print_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - asn1_primitive_print
    - asn1_print_fsname
    - asn1_template_print_ctx
    - asn1_cb
    - ossl_asn1_get_choice_selector_const
    - ossl_asn1_do_adb
    - BIO_puts
    - ossl_asn1_get_const_field_ptr
    linkageType: ''
    returnType: int
    signature: 'static int asn1_item_print_ctx(BIO *out, const ASN1_VALUE **fld, int
      indent, const ASN1_ITEM *it, const char *fname, const char *sname, int nohdr,
      const ASN1_PCTX *pctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2s_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:396,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:401,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - out
    - str
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 403
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 403
    functionName: asn1_print_integer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - i2s_ASN1_INTEGER
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int asn1_print_integer(BIO *out, const ASN1_INTEGER *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:421,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:423,1
    - Dst: BIO_dump_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - out
    - str
    - indent
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: asn1_print_obstring
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int asn1_print_obstring(BIO *out, const ASN1_STRING *str, int
      indent) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:36,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:45,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:46,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:46,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:40,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:47,1
    - Dst: BIO_get_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:51,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:52,1
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:52,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:62,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:64,1
    - Dst: ASN1_tag2str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:70,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:72,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:78,1
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:75,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:77,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:66,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:68,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 9
    argNames:
    - bp
    - offset
    - depth
    - hl
    - len
    - tag
    - xclass
    - constructed
    - indent
    argTypes:
    - BIO*
    - long
    - int
    - int
    - long
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 80
    functionName: asn1_print_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_tag2str
    - BIO_set_indent
    - BIO_free
    - BIO_snprintf
    - BIO_pop
    - BIO_push
    - BIO_get_indent
    - BIO_set_prefix
    - BIO_new
    - BIO_f_prefix
    linkageType: ''
    returnType: int
    signature: 'static int asn1_print_info(BIO *bp, long offset, int depth, int hl,
      long len, int tag, int xclass, int constructed, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - bp
    - pp
    - len
    - indent
    - dump
    argTypes:
    - BIO*
    - unsigned char*
    - long
    - int
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ASN1_parse_dump
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c
    functionUses: []
    functionsReached:
    - asn1_parse2
    linkageType: ''
    returnType: int
    signature: 'int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int
      indent, int dump) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:117,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:137,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:188,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:196,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:201,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:186,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:228,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:258,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:264,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:292,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:351,1
    - Dst: asn1_print_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:127,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:134,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:167,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:208,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:226,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:190,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:302,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:295,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:306,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:314,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:338,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:353,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:298,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:108,1
    - Dst: asn1_parse2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:142,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:238,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:266,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:269,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:272,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:280,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:284,1
    - Dst: d2i_ASN1_ENUMERATED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:290,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:332,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:329,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:119,1
    - Dst: asn1_parse2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:157,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:180,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:185,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:235,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:245,1
    - Dst: BIO_dump_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:248,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:276,1
    - Dst: BIO_dump_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:317,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:326,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:354,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:352,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:310,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 266
    argCount: 7
    argNames:
    - bp
    - pp
    - length
    - offset
    - depth
    - indent
    - dump
    argTypes:
    - BIO*
    - unsigned char**
    - long
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 357
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 357
    functionName: asn1_parse2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - ASN1_INTEGER_free
    - d2i_ASN1_ENUMERATED
    - ASN1_get_object
    - ASN1_OBJECT_free
    - BIO_dump_indent
    - i2a_ASN1_OBJECT
    - ASN1_OCTET_STRING_free
    - ASN1_ENUMERATED_free
    - d2i_ASN1_OBJECT
    - d2i_ASN1_OCTET_STRING
    - asn1_parse2
    - BIO_puts
    - asn1_print_info
    - d2i_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'static int asn1_parse2(BIO *bp, const unsigned char **pp, long length,
      int offset, int depth, int indent, int dump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 386
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 386
    functionName: ASN1_tag2str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ASN1_tag2str(int tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pp
    - len
    - indent
    argTypes:
    - BIO*
    - unsigned char*
    - long
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: ASN1_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_parse.c
    functionUses: []
    functionsReached:
    - asn1_parse2
    linkageType: ''
    returnType: int
    signature: 'int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_item_list.c:30,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_item_list.c:31,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_item_list.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: ASN1_ITEM_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_item_list.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_ptr
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: ASN1_ITEM*
    signature: 'const ASN1_ITEM *ASN1_ITEM_lookup(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_item_list.c:41,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_item_list.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: ASN1_ITEM_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_item_list.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_ptr
    - OSSL_NELEM
    linkageType: ''
    returnType: ASN1_ITEM*
    signature: 'const ASN1_ITEM *ASN1_ITEM_get(size_t i) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: HEX_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:70,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:75,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:82,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:76,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:81,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:96,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:100,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:102,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:109,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:110,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:123,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:119,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 5
    argNames:
    - c
    - flags
    - do_quotes
    - io_ch
    - arg
    argTypes:
    - unsigned long
    - unsigned short
    - char*
    - char_io*
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 126
    functionName: do_esc_char
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - HEX_SIZE
    - io_ch
    - BIO_snprintf
    linkageType: ''
    returnType: int
    signature: 'static int do_esc_char(unsigned long c, unsigned short flags, char
      *do_quotes, char_io *io_ch, void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:270,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:281,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:285,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:284,1
    - Dst: do_hex_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:274,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:289,1
    - Dst: do_hex_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:290,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - lflags
    - io_ch
    - arg
    - str
    argTypes:
    - unsigned long
    - char_io*
    - void*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 295
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 295
    functionName: do_dump
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - do_hex_dump
    - i2d_ASN1_TYPE
    - OPENSSL_free
    - io_ch
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int do_dump(unsigned long lflags, char_io *io_ch, void *arg,
      const ASN1_STRING *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - io_ch
    - arg
    - indent
    argTypes:
    - char_io*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: do_indent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - io_ch
    linkageType: ''
    returnType: int
    signature: 'static int do_indent(char_io *io_ch, void *arg, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:565,1
    - Dst: do_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - out
    - nm
    - indent
    - flags
    argTypes:
    - BIO*
    - X509_NAME*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: X509_NAME_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - X509_NAME_print
    - do_name_ex
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
      unsigned long flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:576,1
    - Dst: X509_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:579,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:580,1
    - Dst: do_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - fp
    - nm
    - indent
    - flags
    argTypes:
    - FILE*
    - X509_NAME*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 584
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 584
    functionName: X509_NAME_print_ex_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - X509_NAME_print
    - do_name_ex
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
      unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - out
    - str
    - flags
    argTypes:
    - BIO*
    - ASN1_STRING*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: ASN1_STRING_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - do_print_ex
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned
      long flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_mbstring_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:621,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char**
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 627
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 627
    functionName: ASN1_STRING_to_UTF8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - ASN1_mbstring_copy
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: do_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:439,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:492,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:520,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:529,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:523,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:494,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:514,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:530,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:487,1
    - Dst: do_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:502,1
    - Dst: do_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:551,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:490,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:495,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:499,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:507,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:508,1
    - Dst: do_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:533,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:537,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:510,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:509,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 121
    argCount: 5
    argNames:
    - io_ch
    - arg
    - n
    - indent
    - flags
    argTypes:
    - char_io*
    - void*
    - X509_NAME*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 557
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 557
    functionName: do_name_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - OBJ_nid2sn
    - do_print_ex
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_object
    - io_ch
    - do_indent
    - X509_NAME_ENTRY_set
    - X509_NAME_entry_count
    - OBJ_nid2ln
    - X509_NAME_ENTRY_get_data
    - OBJ_obj2txt
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int do_name_ex(char_io *io_ch, void *arg, const X509_NAME *n,
      int indent, unsigned long flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: send_bio_chars
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: 'static int send_bio_chars(void *arg, const void *buf, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - io_ch
    - arg
    - buf
    - buflen
    argTypes:
    - char_io*
    - void*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 251
    functionName: do_hex_dump
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - io_ch
    linkageType: ''
    returnType: int
    signature: 'static int do_hex_dump(char_io *io_ch, void *arg, unsigned char *buf,
      int buflen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: send_fp_chars
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: 'static int send_fp_chars(void *arg, const void *buf, int len) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:154,1
    - Dst: UTF8_getc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:160,1
    - Dst: UTF8_putc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:206,1
    - Dst: do_esc_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:214,1
    - Dst: do_esc_char
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:221,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 7
    argNames:
    - buf
    - buflen
    - type
    - flags
    - quotes
    - io_ch
    - arg
    argTypes:
    - unsigned char*
    - int
    - int
    - unsigned short
    - char*
    - char_io*
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 229
    functionName: do_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - UTF8_getc
    - ERR_raise
    - UTF8_putc
    - do_esc_char
    linkageType: ''
    returnType: int
    signature: 'static int do_buf(unsigned char *buf, int buflen, int type, unsigned
      short flags, char *quotes, char_io *io_ch, void *arg) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_tag2str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:347,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:349,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:348,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:349,1
    - Dst: do_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:373,1
    - Dst: do_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:392,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:400,1
    - Dst: do_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:402,1
    - Dst: io_ch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:404,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 4
    argNames:
    - io_ch
    - arg
    - lflags
    - str
    argTypes:
    - char_io*
    - void*
    - unsigned long
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 407
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 407
    functionName: do_print_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - do_dump
    - ASN1_tag2str
    - do_buf
    - io_ch
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int do_print_ex(char_io *io_ch, void *arg, unsigned long lflags,
      const ASN1_STRING *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - str
    - flags
    argTypes:
    - FILE*
    - ASN1_STRING*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: ASN1_STRING_print_ex_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_strex.c
    functionUses: []
    functionsReached:
    - do_print_ex
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned
      long flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:23,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: pkey_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: 'static int pkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:59,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:60,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 5
    argNames:
    - ppkalg
    - pk
    - ppklen
    - pa
    - p8
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - int*
    - X509_ALGOR**
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: PKCS8_pkey_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: 'int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char
      **pk, int *ppklen, const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - p8
    - nid
    - type
    - bytes
    - len
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: PKCS8_pkey_add1_attr_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c
    functionUses: []
    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, const unsigned char *bytes, int len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:42,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:45,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:48,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 7
    argNames:
    - priv
    - aobj
    - version
    - ptype
    - pval
    - penc
    - penclen
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - ASN1_OBJECT*
    - int
    - int
    - void*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: PKCS8_pkey_set0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ASN1_STRING_set0
    - X509_ALGOR_set0
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO
      *priv, ASN1_OBJECT *aobj, int version, int ptype, void *pval, unsigned char
      *penc, int penclen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: PKCS8_pkey_get0_attrs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_ATTRIBUTE)*
    signature: 'const STACK_OF(X509_ATTRIBUTE) *PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO
      *p8) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - p8
    - obj
    - type
    - bytes
    - len
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: PKCS8_pkey_add1_attr_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c
    functionUses: []
    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, const unsigned char *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p8
    - attr
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - X509_ATTRIBUTE*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: PKCS8_pkey_add1_attr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p8_pkey.c
    functionUses: []
    functionsReached:
    - X509at_add1_attr
    linkageType: ''
    returnType: int
    signature: 'int PKCS8_pkey_add1_attr(PKCS8_PRIV_KEY_INFO *p8, X509_ATTRIBUTE *attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:53,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 0
    argNames:
    - SCRYPT_PARAMS
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(SCRYPT_PARAMS)
    signature: 'ASN1_SEQUENCE_END(SCRYPT_PARAMS) IMPLEMENT_ASN1_FUNCTIONS(SCRYPT_PARAMS)
      static X509_ALGOR *pkcs5_scrypt_set(const unsigned char *salt, size_t saltlen,
      size_t keylen, uint64_t N, uint64_t r, uint64_t p); /* * Return an algorithm
      identifier for a PKCS#5 v2.0 PBE algorithm using scrypt */ X509_ALGOR *PKCS5_pbe2_set_scrypt(const
      EVP_CIPHER *cipher, const unsigned char *salt, int saltlen, unsigned char *aiv,
      uint64_t N, uint64_t r, uint64_t p){ X509_ALGOR *scheme = NULL, *ret = NULL;
      int alg_nid; size_t keylen = 0; EVP_CIPHER_CTX *ctx = NULL; unsigned char iv[EVP_MAX_IV_LENGTH];
      PBE2PARAM *pbe2 = NULL; if (!cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_v2_scrypt_keyivgen_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: PKCS5_v2_scrypt_keyivgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c
    functionUses: []
    functionsReached:
    - PKCS5_v2_scrypt_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen, ASN1_TYPE *param, const EVP_CIPHER *c, const EVP_MD *md, int en_de) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SCRYPT_PARAMS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:151,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:169,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:163,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:160,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:166,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:172,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:178,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:181,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:187,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:191,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:199,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:203,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:195,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:195,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:206,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 36
    argCount: 6
    argNames:
    - salt
    - saltlen
    - keylen
    - N
    - r
    - p
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 208
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 208
    functionName: pkcs5_scrypt_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set_uint64
    - SCRYPT_PARAMS_new
    - ERR_raise
    - X509_ALGOR_free
    - ASN1_ITEM_rptr
    - OBJ_nid2obj
    - RAND_bytes
    - ASN1_INTEGER_set_int64
    - SCRYPT_PARAMS_free
    - ASN1_STRING_set
    - ASN1_TYPE_pack_sequence
    - ASN1_INTEGER_new
    - X509_ALGOR_new
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'static X509_ALGOR *pkcs5_scrypt_set(const unsigned char *salt, size_t
      saltlen, size_t keylen, uint64_t N, uint64_t r, uint64_t p) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:222,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:223,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:232,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:229,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:236,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:238,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:247,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:249,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:254,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:270,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:273,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:259,1
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:257,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:274,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:256,1
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:267,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c:255,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 45
    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*
    constantsTouched: []
    func_position:
      end: 276
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 276
    functionName: PKCS5_v2_scrypt_keyivgen_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/p5_scrypt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_get_uint64
    - EVP_PBE_scrypt_ex
    - OPENSSL_cleanse
    - SCRYPT_PARAMS_free
    - EVP_CipherInit_ex
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: int
    signature: 'int PKCS5_v2_scrypt_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen, ASN1_TYPE *param, const EVP_CIPHER *c, const EVP_MD *md, int en_de,
      OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:85,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:90,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:35,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:44,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:50,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:52,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:95,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:94,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:43,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:42,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:51,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:59,1
    - Dst: d2i_DSAPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:65,1
    - Dst: o2i_ECPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:78,1
    - Dst: d2i_RSAPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c:58,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 56
    argCount: 4
    argNames:
    - type
    - a
    - pp
    - length
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 97
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 97
    functionName: d2i_PublicKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/d2i_pu.c
    functionUses: []
    functionsReached:
    - o2i_ECPublicKey
    - EVP_PKEY_get_base_id
    - evp_pkey_is_provided
    - ERR_raise
    - d2i_DSAPublicKey
    - EVP_PKEY_free
    - EVP_PKEY_set_type
    - d2i_RSAPublicKey
    - EVP_PKEY_new
    - evp_pkey_copy_downgraded
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char
      **pp, long length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 0
    argNames:
    - X509_SIG
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(X509_SIG)
    signature: 'ASN1_SEQUENCE_END(X509_SIG) IMPLEMENT_ASN1_FUNCTIONS(X509_SIG) void
      X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, const ASN1_OCTET_STRING
      **pdigest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - sig
    - palg
    - pdigest
    argTypes:
    - X509_SIG*
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: X509_SIG_getm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING
      **pdigest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - tm
    - d
    argTypes:
    - struct tm*
    - ASN1_UTCTIME*
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: ossl_asn1_utctime_to_tm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c
    functionUses: []
    functionsReached:
    - ossl_asn1_time_to_tm
    linkageType: ''
    returnType: IMPLEMENT_ASN1_DUP_FUNCTION(ASN1_UTCTIME)
    signature: 'IMPLEMENT_ASN1_DUP_FUNCTION(ASN1_UTCTIME) /* This is the primary function
      used to parse ASN1_UTCTIME */ int ossl_asn1_utctime_to_tm(struct tm *tm, const
      ASN1_UTCTIME *d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:38,1
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:45,1
    - Dst: ASN1_UTCTIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_UTCTIME*
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: ASN1_UTCTIME_set_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_copy
    - ASN1_UTCTIME_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:62,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:67,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - s
    - t
    - offset_day
    - offset_sec
    argTypes:
    - ASN1_UTCTIME*
    - time_t
    - int
    - long
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: ASN1_UTCTIME_adj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c
    functionUses: []
    functionsReached:
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime
    - OPENSSL_gmtime_adj
    linkageType: ''
    returnType: ASN1_UTCTIME*
    signature: 'ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day,
      long offset_sec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTCTIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_UTCTIME*
    - time_t
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ASN1_UTCTIME_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c
    functionUses: []
    functionsReached:
    - ASN1_UTCTIME_adj
    linkageType: ''
    returnType: ASN1_UTCTIME*
    signature: 'ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_utctime_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - ASN1_UTCTIME*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ASN1_UTCTIME_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c
    functionUses: []
    functionsReached:
    - ossl_asn1_utctime_to_tm
    linkageType: ''
    returnType: int
    signature: 'int ASN1_UTCTIME_check(const ASN1_UTCTIME *d) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_utctime_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:79,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:85,1
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_UTCTIME*
    - time_t
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: ASN1_UTCTIME_cmp_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c
    functionUses: []
    functionsReached:
    - ossl_asn1_utctime_to_tm
    - OPENSSL_gmtime_diff
    - OPENSSL_gmtime
    linkageType: ''
    returnType: int
    signature: 'int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - tm
    argTypes:
    - BIO*
    - ASN1_UTCTIME*
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: ASN1_UTCTIME_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_utctm.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_print
    linkageType: ''
    returnType: int
    signature: 'int ASN1_UTCTIME_print(BIO *bp, const ASN1_UTCTIME *tm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:91,1
    - Dst: num_bits_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:106,1
    - Dst: COPY_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 125
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 125
    functionName: long_i2c
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c
    functionUses: []
    functionsReached:
    - num_bits_ulong
    - COPY_SIZE
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int long_i2c(const ASN1_VALUE **pval, unsigned char *cont,
      int *putype, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: num_bits_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int num_bits_ulong(unsigned long value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:165,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:184,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:181,1
    - Dst: COPY_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 186
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 186
    functionName: long_c2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - COPY_SIZE
    linkageType: ''
    returnType: int
    signature: 'static int long_c2i(ASN1_VALUE **pval, const unsigned char *cont,
      int len, int utype, char *free_cont, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:194,1
    - Dst: COPY_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: long_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - COPY_SIZE
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int long_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM
      *it, int indent, const ASN1_PCTX *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:56,1
    - Dst: COPY_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: long_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_long.c
    functionUses: []
    functionsReached:
    - COPY_SIZE
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void long_free(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:57,1
    - Dst: ossl_i2c_uint64_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:69,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: uint64_i2c
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - ossl_i2c_uint64_int
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int uint64_i2c(const ASN1_VALUE **pval, unsigned char *cont,
      int *putype, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: uint64_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void uint64_free(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: uint32_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int uint32_new(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: uint32_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void uint32_free(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uint64_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:199,1
    - Dst: ossl_c2i_uint64_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:211,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:218,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 220
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 220
    functionName: uint32_c2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - ossl_c2i_uint64_int
    - memcpy
    - ERR_raise
    - uint64_new
    linkageType: ''
    returnType: int
    signature: 'static int uint32_c2i(ASN1_VALUE **pval, const unsigned char *cont,
      int len, int utype, char *free_cont, const ASN1_ITEM *it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: uint64_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int uint64_new(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: uint64_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void uint64_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uint64_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:79,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:96,1
    - Dst: ossl_c2i_uint64_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:93,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: uint64_c2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - ossl_c2i_uint64_int
    - memcpy
    - ERR_raise
    - uint64_new
    linkageType: ''
    returnType: int
    signature: 'static int uint64_c2i(ASN1_VALUE **pval, const unsigned char *cont,
      int len, int utype, char *free_cont, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: uint32_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void uint32_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:226,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: uint32_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'static int uint32_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM
      *it, int indent, const ASN1_PCTX *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:117,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: uint64_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'static int uint64_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM
      *it, int indent, const ASN1_PCTX *pctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:152,1
    - Dst: ossl_i2c_uint64_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: uint32_i2c
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_int64.c
    functionUses: []
    functionsReached:
    - ossl_i2c_uint64_int
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int uint32_i2c(const ASN1_VALUE **pval, unsigned char *cont,
      int *putype, const ASN1_ITEM *it) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkey_asn1_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:85,1
    - Dst: ENGINE_get_pkey_asn1_meth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:97,1
    - Dst: ENGINE_get_pkey_asn1_meth_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pe
    - type
    argTypes:
    - ENGINE**
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: EVP_PKEY_asn1_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - pkey_asn1_find
    - ENGINE_get_pkey_asn1_meth_engine
    - ENGINE_get_pkey_asn1_meth
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:112,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:130,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:123,1
    - Dst: ENGINE_pkey_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:116,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:121,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:131,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:134,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - pe
    - str
    - len
    argTypes:
    - ENGINE**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 139
    functionName: EVP_PKEY_asn1_find_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - EVP_PKEY_asn1_get_count
    - ENGINE_init
    - EVP_PKEY_asn1_get0
    - ENGINE_free
    - ENGINE_pkey_asn1_find_str
    - strlen
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, const
      char *str, int len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:157,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:174,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:162,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:168,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:169,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: EVP_PKEY_asn1_add0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_find
    - ERR_raise
    - sk_EVP_PKEY_ASN1_METHOD_sort
    - sk_EVP_PKEY_ASN1_METHOD_new
    - sk_EVP_PKEY_ASN1_METHOD_push
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_ASN1_METHOD_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:64,1
    - Dst: OBJ_bsearch_ameth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:68,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:66,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: pkey_asn1_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_find
    - sk_EVP_PKEY_ASN1_METHOD_value
    - OSSL_NELEM
    - OBJ_bsearch_ameth
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'static const EVP_PKEY_ASN1_METHOD *pkey_asn1_find(int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - EVP_PKEY_ASN1_METHOD*
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: EVP_PKEY_asn1_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD
      *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*set_pub_key)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: EVP_PKEY_asn1_set_set_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int
      (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:275,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:276,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: EVP_PKEY_asn1_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*get_priv_key)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: EVP_PKEY_asn1_set_get_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int
      (*get_priv_key) (const EVP_PKEY *pk, unsigned char *priv, size_t *len)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*get_pub_key)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: EVP_PKEY_asn1_set_get_pub_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int
      (*get_pub_key) (const EVP_PKEY *pk, unsigned char *pub, size_t *len)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:39,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: EVP_PKEY_asn1_get_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_num
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_asn1_get_count(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:183,1
    - Dst: EVP_PKEY_asn1_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:188,1
    - Dst: EVP_PKEY_asn1_add0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: EVP_PKEY_asn1_add_alias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_new
    - EVP_PKEY_asn1_add0
    - EVP_PKEY_asn1_free
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_asn1_add_alias(int to, int from) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 7
    argCount: 7
    argNames:
    - ameth
    - (*param_decode)
    - (*param_encode)
    - (*param_missing)
    - (*param_copy)
    - (*param_cmp)
    - (*param_print)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 339
    functionName: EVP_PKEY_asn1_set_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, int (*param_decode)
      (EVP_PKEY *pkey, const unsigned char **pder, int derlen), int (*param_encode)
      (const EVP_PKEY *pkey, unsigned char **pder), int (*param_missing) (const EVP_PKEY
      *pk), int (*param_copy) (EVP_PKEY *to, const EVP_PKEY *from), int (*param_cmp)
      (const EVP_PKEY *a, const EVP_PKEY *b), int (*param_print) (BIO *out, const
      EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:47,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: EVP_PKEY_asn1_get0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_value
    - OSSL_NELEM
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 7
    argCount: 6
    argNames:
    - ppkey_id
    - ppkey_base_id
    - ppkey_flags
    - pinfo
    - ppem_str
    - ameth
    argTypes:
    - int*
    - int*
    - int*
    - char**
    - char**
    - EVP_PKEY_ASN1_METHOD*
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: EVP_PKEY_asn1_get0_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int
      *ppkey_flags, const char **pinfo, const char **ppem_str, const EVP_PKEY_ASN1_METHOD
      *ameth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*pkey_free)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: EVP_PKEY_asn1_set_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, void (*pkey_free)
      (EVP_PKEY *pkey)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY_ASN1_METHOD**
    - EVP_PKEY_ASN1_METHOD**
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ameth_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ameth_cmp(const EVP_PKEY_ASN1_METHOD *const *a, const EVP_PKEY_ASN1_METHOD
      *const *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: EVP_PKEY_get0_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 7
    argCount: 7
    argNames:
    - ameth
    - (*pub_decode)
    - (*pub_encode)
    - (*pub_cmp)
    - (*pub_print)
    - (*pkey_size)
    - (*pkey_bits)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: EVP_PKEY_asn1_set_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, int (*pub_decode)
      (EVP_PKEY *pk, const X509_PUBKEY *pub), int (*pub_encode) (X509_PUBKEY *pub,
      const EVP_PKEY *pk), int (*pub_cmp) (const EVP_PKEY *a, const EVP_PKEY *b),
      int (*pub_print) (BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx),
      int (*pkey_size) (const EVP_PKEY *pk), int (*pkey_bits) (const EVP_PKEY *pk)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*pkey_ctrl)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: EVP_PKEY_asn1_set_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_ctrl)
      (EVP_PKEY *pkey, int op, long arg1, void *arg2)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 3
    argCount: 3
    argNames:
    - ameth
    - (*item_verify)
    - (*item_sign)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 377
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 377
    functionName: EVP_PKEY_asn1_set_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, int (*item_verify)
      (EVP_MD_CTX *ctx, const ASN1_ITEM *it, const void *data, const X509_ALGOR *a,
      const ASN1_BIT_STRING *sig, EVP_PKEY *pkey), int (*item_sign) (EVP_MD_CTX *ctx,
      const ASN1_ITEM *it, const void *data, X509_ALGOR *alg1, X509_ALGOR *alg2, ASN1_BIT_STRING
      *sig)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*pkey_check)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: EVP_PKEY_asn1_set_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_check)
      (const EVP_PKEY *pk)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*pkey_param_check)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: EVP_PKEY_asn1_set_param_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, int
      (*pkey_param_check) (const EVP_PKEY *pk)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:222,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:240,1
    - Dst: EVP_PKEY_asn1_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:225,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:234,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - id
    - flags
    - pem_str
    - info
    argTypes:
    - int
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 251
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 251
    functionName: EVP_PKEY_asn1_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - EVP_PKEY_asn1_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, const char
      *pem_str, const char *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 4
    argCount: 4
    argNames:
    - ameth
    - (*priv_decode)
    - (*priv_encode)
    - (*priv_print)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: EVP_PKEY_asn1_set_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, int (*priv_decode)
      (EVP_PKEY *pk, const PKCS8_PRIV_KEY_INFO *p8inf), int (*priv_encode) (PKCS8_PRIV_KEY_INFO
      *p8, const EVP_PKEY *pk), int (*priv_print) (BIO *out, const EVP_PKEY *pkey,
      int indent, ASN1_PCTX *pctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*pkey_security_bits)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: EVP_PKEY_asn1_set_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
      int (*pkey_security_bits) (const EVP_PKEY *pk)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*siginf_set)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: EVP_PKEY_asn1_set_siginf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth, int (*siginf_set)
      (X509_SIG_INFO *siginf, const X509_ALGOR *alg, const ASN1_STRING *sig)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*pkey_pub_check)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: EVP_PKEY_asn1_set_public_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth, int
      (*pkey_pub_check) (const EVP_PKEY *pk)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ameth
    - (*set_priv_key)
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: EVP_PKEY_asn1_set_set_priv_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/ameth_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int
      (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len)) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:25,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:31,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:43,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:37,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 51
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 51
    functionName: i2a_ASN1_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c
    functionUses: []
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: 'int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: a2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - bp
    - bs
    - buf
    - size
    argTypes:
    - BIO*
    - ASN1_ENUMERATED*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: a2i_ASN1_ENUMERATED
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c
    functionUses: []
    functionsReached:
    - a2i_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int
      size) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:102,1
    - Dst: ossl_isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:103,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:110,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:111,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:121,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:138,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:139,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 4
    argNames:
    - bp
    - bs
    - buf
    - size
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 141
    functionName: a2i_ASN1_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - OPENSSL_hexchar2int
    - ERR_raise
    - OPENSSL_clear_realloc
    - ossl_isxdigit
    - OPENSSL_free
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_ENUMERATED*
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: i2a_ASN1_ENUMERATED
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/f_int.c
    functionUses: []
    functionsReached:
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:26,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:28,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:35,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - bp
    - buf
    - buflen
    - indent
    argTypes:
    - BIO*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: ASN1_buf_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - BIO_puts
    - BIO_indent
    linkageType: ''
    returnType: int
    signature: 'int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen,
      int indent) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:54,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:57,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:63,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:55,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:58,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:64,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:65,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:66,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:71,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:72,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:76,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:90,1
    - Dst: ASN1_buf_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:86,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c:79,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 5
    argNames:
    - bp
    - number
    - num
    - ign
    - indent
    argTypes:
    - BIO*
    - char*
    - BIGNUM*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: ASN1_bn_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_pkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - bn_get_words
    - BN_num_bytes
    - ASN1_buf_print
    - BN_is_zero
    - BN_bn2bin
    - BN_is_negative
    - BIO_indent
    - OPENSSL_clear_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num,
      unsigned char *ign, int indent) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: asn1_str2tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:262,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:275,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:286,1
    - Dst: parse_tagging
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:289,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:265,1
    - Dst: parse_tagging
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:295,1
    - Dst: append_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:297,1
    - Dst: append_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:302,1
    - Dst: append_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:307,1
    - Dst: append_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:312,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:326,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:330,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:335,1
    - Dst: append_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:317,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:332,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:328,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:323,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 64
    argCount: 3
    argNames:
    - elem
    - len
    - bitstr
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 344
    functionName: asn1_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - parse_tagging
    - append_exp
    - ERR_raise
    - ERR_raise_data
    - strncmp
    - asn1_str2tag
    linkageType: ''
    returnType: int
    signature: 'static int asn1_cb(const char *elem, int len, void *bitstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_v3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:91,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - str
    - cnf
    argTypes:
    - char*
    - X509V3_CTX*
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: ASN1_generate_v3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - generate_v3
    - ERR_raise
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:404,1
    - Dst: X509V3_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:415,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:405,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:418,1
    - Dst: sk_ASN1_TYPE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:409,1
    - Dst: generate_v3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:420,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:420,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:424,1
    - Dst: i2d_ASN1_SET_ANY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:434,1
    - Dst: i2d_ASN1_SEQUENCE_ANY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:436,1
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:442,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:440,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:453,1
    - Dst: X509V3_section_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:456,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:455,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 5
    argNames:
    - utype
    - section
    - cnf
    - depth
    - perr
    argTypes:
    - int
    - char*
    - X509V3_CTX*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 459
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 459
    functionName: asn1_multi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - i2d_ASN1_SEQUENCE_ANY
    - generate_v3
    - sk_ASN1_TYPE_pop_free
    - i2d_ASN1_SET_ANY
    - X509V3_section_free
    - OPENSSL_free
    - sk_ASN1_TYPE_push
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - ASN1_TYPE_new
    - ASN1_STRING_type_new
    - X509V3_get_section
    - sk_ASN1_TYPE_new_null
    - STACK_OF
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'static ASN1_TYPE *asn1_multi(int utype, const char *section, X509V3_CTX
      *cnf, int depth, int *perr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:501,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:504,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:508,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:512,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:518,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:522,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:526,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:530,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:536,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:547,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:548,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:550,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:567,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:545,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:505,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:509,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:519,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:513,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:515,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:523,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:527,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:531,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:539,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:540,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:557,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:558,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:544,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:506,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:510,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:514,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:516,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:520,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:524,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:528,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:532,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:534,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:541,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:556,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:554,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:565,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:503,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:502,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:507,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:511,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:517,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:521,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:525,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:529,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:533,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:535,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:562,1
    - Dst: ASN1_GEN_STR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 2
    argNames:
    - tagstr
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 572
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 572
    functionName: asn1_str2tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - OSSL_NELEM
    - ASN1_GEN_STR
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int asn1_str2tag(const char *tagstr, int len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:750,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:758,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:757,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:754,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - elem
    - len
    - bitstr
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 762
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 762
    functionName: bitstr_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_set_bit
    - ERR_raise
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'static int bitstr_cb(const char *elem, int len, void *bitstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_generate_v3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:82,1
    - Dst: ASN1_generate_v3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:85,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - str
    - nconf
    argTypes:
    - char*
    - CONF*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: ASN1_generate_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - X509V3_set_nconf
    - ASN1_generate_v3
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:352,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:386,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:357,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 4
    argNames:
    - vstart
    - vlen
    - ptag
    - pclass
    argTypes:
    - char*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 396
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 396
    functionName: parse_tagging
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - ERR_raise
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'static int parse_tagging(const char *vstart, int vlen, int *ptag,
      int *pclass) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:119,1
    - Dst: asn1_multi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:134,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:146,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:147,1
    - Dst: asn1_str2type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:136,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:156,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:177,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:189,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:194,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:206,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:219,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:233,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:232,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:224,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 4
    argNames:
    - str
    - cnf
    - depth
    - perr
    argTypes:
    - char*
    - X509V3_CTX*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 237
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 237
    functionName: generate_v3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - asn1_multi
    - CONF_parse_list
    - ASN1_TYPE_free
    - i2d_ASN1_TYPE
    - ASN1_get_object
    - ASN1_put_object
    - ASN1_object_size
    - memcpy
    - OPENSSL_free
    - d2i_ASN1_TYPE
    - OPENSSL_malloc
    - asn1_str2type
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'static ASN1_TYPE *generate_v3(const char *str, X509V3_CTX *cnf, int
      depth, int *perr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:467,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - arg
    - exp_tag
    - exp_class
    - exp_constructed
    - exp_pad
    - imp_ok
    argTypes:
    - tag_exp_arg*
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 495
    functionName: append_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int append_exp(tag_exp_arg *arg, int exp_tag, int exp_class,
      int exp_constructed, int exp_pad, int imp_ok) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:583,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:608,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:621,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:628,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:632,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:648,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:643,1
    - Dst: ASN1_mbstring_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:677,1
    - Dst: ASN1_tag2bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:678,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:687,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:709,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:594,1
    - Dst: ASN1_TIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:652,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:644,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:693,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:701,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:728,1
    - Dst: X509V3_get_value_bool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:607,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:647,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:673,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:679,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:694,1
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:707,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:715,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:739,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:582,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:601,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:616,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:620,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:631,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:640,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:653,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:688,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:702,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:736,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 109
    argCount: 3
    argNames:
    - str
    - format
    - utype
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 742
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 742
    functionName: asn1_str2type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509V3_get_value_bool
    - ASN1_TIME_check
    - CONF_parse_list
    - ASN1_TYPE_free
    - s2i_ASN1_INTEGER
    - ASN1_tag2bit
    - ASN1_STRING_new
    - OBJ_txt2obj
    - ASN1_TYPE_new
    - ASN1_mbstring_copy
    - ASN1_STRING_set
    - OPENSSL_hexstr2buf
    - ERR_add_error_data
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'static ASN1_TYPE *asn1_str2type(const char *str, int format, int utype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:770,1
    - Dst: ASN1_tag2bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:777,1
    - Dst: asn1_str2tag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:774,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 782
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 782
    functionName: mask_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - ASN1_tag2bit
    - strncmp
    - asn1_str2tag
    linkageType: ''
    returnType: int
    signature: 'static int mask_cb(const char *elem, int len, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - str
    - pmask
    argTypes:
    - char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: ASN1_str2mask
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_gen.c
    functionUses: []
    functionsReached:
    - CONF_parse_list
    linkageType: ''
    returnType: int
    signature: 'int ASN1_str2mask(const char *str, unsigned long *pmask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: bn_secure_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c
    functionUses: []
    functionsReached:
    - BN_secure_new
    linkageType: ''
    returnType: int
    signature: 'static int bn_secure_new(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:87,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: bn_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'static void bn_free(ASN1_VALUE **pval, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:119,1
    - Dst: bn_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:123,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: bn_c2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c
    functionUses: []
    functionsReached:
    - bn_free
    - BN_bin2bn
    - bn_new
    linkageType: ''
    returnType: int
    signature: 'static int bn_c2i(ASN1_VALUE **pval, const unsigned char *cont, int
      len, int utype, char *free_cont, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:135,1
    - Dst: bn_c2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:138,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: bn_secure_c2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c
    functionUses: []
    functionsReached:
    - BN_set_flags
    - bn_secure_new
    - bn_c2i
    linkageType: ''
    returnType: int
    signature: 'static int bn_secure_c2i(ASN1_VALUE **pval, const unsigned char *cont,
      int len, int utype, char *free_cont, const ASN1_ITEM *it) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:102,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:111,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 112
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: bn_i2c
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    - BN_bn2bin
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: 'static int bn_i2c(const ASN1_VALUE **pval, unsigned char *cont, int
      *putype, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:151,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: bn_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/x_bignum.c
    functionUses: []
    functionsReached:
    - BN_print
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int bn_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM
      *it, int indent, const ASN1_PCTX *pctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_valid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: in_utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached:
    - is_unicode_valid
    linkageType: ''
    returnType: int
    signature: 'static int in_utf8(unsigned long value, void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_getc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:225,1
    - Dst: rfunc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - p
    - len
    - inform
    - (*rfunc)
    - arg
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 238
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 238
    functionName: traverse_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached:
    - UTF8_getc
    - rfunc
    linkageType: ''
    returnType: int
    signature: 'static int traverse_string(const unsigned char *p, int len, int inform,
      int (*rfunc) (unsigned long value, void *in), void *arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fromascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:277,1
    - Dst: ossl_isasn1print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:282,1
    - Dst: ossl_isascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:284,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:279,1
    - Dst: is_unicode_valid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:290,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    constantsTouched: []
    func_position:
      end: 296
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: type_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached:
    - ossl_isascii
    - is_unicode_valid
    - ossl_isasn1print
    - ossl_isdigit
    - ossl_fromascii
    linkageType: ''
    returnType: int
    signature: 'static int type_str(unsigned long value, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: cpy_univ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cpy_univ(unsigned long value, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_putc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: cpy_utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached:
    - UTF8_putc
    linkageType: ''
    returnType: int
    signature: 'static int cpy_utf8(unsigned long value, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_mbstring_ncopy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - len
    - inform
    - mask
    argTypes:
    - ASN1_STRING**
    - unsigned char*
    - int
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ASN1_mbstring_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached:
    - ASN1_mbstring_ncopy
    linkageType: ''
    returnType: int
    signature: 'int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in,
      int len, int inform, unsigned long mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_putc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: out_utf8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached:
    - UTF8_putc
    linkageType: ''
    returnType: int
    signature: 'static int out_utf8(unsigned long value, void *arg) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:84,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:73,1
    - Dst: traverse_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:111,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:186,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:141,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:156,1
    - Dst: traverse_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:65,1
    - Dst: traverse_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:94,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:105,1
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:147,1
    - Dst: traverse_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:112,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:157,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:188,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:54,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:99,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c:189,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 105
    argCount: 7
    argNames:
    - out
    - in
    - len
    - inform
    - mask
    - minsize
    - maxsize
    argTypes:
    - ASN1_STRING**
    - unsigned char*
    - int
    - int
    - unsigned long
    - long
    - long
    constantsTouched: []
    func_position:
      end: 197
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 197
    functionName: ASN1_mbstring_ncopy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - traverse_string
    - OPENSSL_free
    - ERR_raise_data
    - ASN1_STRING_type_new
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in,
      int len, int inform, unsigned long mask, long minsize, long maxsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: cpy_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cpy_asc(unsigned long value, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: cpy_bmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_mbstr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cpy_bmp(unsigned long value, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_generalizedtime_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - ASN1_GENERALIZEDTIME*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ASN1_GENERALIZEDTIME_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c
    functionUses: []
    functionsReached:
    - asn1_generalizedtime_to_tm
    linkageType: ''
    returnType: int
    signature: 'int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - time_t
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ASN1_GENERALIZEDTIME_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_adj
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME*
    signature: 'ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME
      *s, time_t t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - tm
    - d
    argTypes:
    - struct tm*
    - ASN1_GENERALIZEDTIME*
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: asn1_generalizedtime_to_tm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c
    functionUses: []
    functionsReached:
    - ossl_asn1_time_to_tm
    linkageType: ''
    returnType: IMPLEMENT_ASN1_DUP_FUNCTION(ASN1_GENERALIZEDTIME)
    signature: 'IMPLEMENT_ASN1_DUP_FUNCTION(ASN1_GENERALIZEDTIME) /* This is the primary
      function used to parse ASN1_GENERALIZEDTIME */ static int asn1_generalizedtime_to_tm(struct
      tm *tm, const ASN1_GENERALIZEDTIME *d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:42,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:46,1
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: ASN1_GENERALIZEDTIME_set_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - ASN1_STRING_copy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const
      char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:68,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:73,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - s
    - t
    - offset_day
    - offset_sec
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - time_t
    - int
    - long
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: ASN1_GENERALIZEDTIME_adj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c
    functionUses: []
    functionsReached:
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime
    - OPENSSL_gmtime_adj
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME*
    signature: 'ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME
      *s, time_t t, int offset_day, long offset_sec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - tm
    argTypes:
    - BIO*
    - ASN1_GENERALIZEDTIME*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: ASN1_GENERALIZEDTIME_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_gentm.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:75,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:76,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:75,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:80,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - it
    - out
    - x
    argTypes:
    - ASN1_ITEM*
    - FILE*
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: ASN1_item_i2d_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: []
    functionsReached:
    - ASN1_item_i2d_bio
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - BIO_new
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:91,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:93,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:108,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - it
    - out
    - x
    argTypes:
    - ASN1_ITEM*
    - BIO*
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: ASN1_item_i2d_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: []
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - ASN1_item_i2d
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, const void *x) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:39,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:53,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:43,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:50,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:45,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:63,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - i2d
    - out
    - x
    argTypes:
    - i2d_of_void*
    - BIO*
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 65
    functionName: ASN1_i2d_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: []
    functionsReached:
    - BIO_write
    - ERR_raise
    - OPENSSL_free
    - i2d
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, const void *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:117,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:121,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:121,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:123,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - ASN1_ITEM*
    - ASN1_VALUE*
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: ASN1_item_i2d_mem_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_item_i2d_bio
    - BIO_free
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *ASN1_item_i2d_mem_bio(const ASN1_ITEM *it, const ASN1_VALUE *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:22,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:26,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:22,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:23,1
    - Dst: ASN1_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:27,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - i2d
    - out
    - x
    argTypes:
    - i2d_of_void*
    - FILE*
    - void*
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: ASN1_i2d_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_s_file
    - ASN1_i2d_bio
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, const void *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:103,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:107,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:110,1
    - Dst: asn1_bio_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:106,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: asn1_bio_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - asn1_bio_init
    - BIO_set_data
    - OPENSSL_free
    - OPENSSL_zalloc
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_new(BIO *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:136,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:146,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:145,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:147,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: asn1_bio_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_free(BIO *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:261,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:269,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - b
    - ctx
    - cleanup
    - next
    argTypes:
    - BIO*
    - BIO_ASN1_BUF_CTX*
    - asn1_ps_func*
    - asn1_bio_state_t
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: asn1_bio_flush_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_write
    - cleanup
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_flush_ex(BIO *b, BIO_ASN1_BUF_CTX *ctx, asn1_ps_func
      *cleanup, asn1_bio_state_t next) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:296,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: asn1_bio_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_read
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_read(BIO *b, char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:309,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - b
    - str
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: asn1_bio_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_gets(BIO *b, char *str, int size) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:330,1
    - Dst: asn1_bio_setup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:374,1
    - Dst: asn1_bio_flush_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:380,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:387,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:333,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:389,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:396,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 37
    argCount: 4
    argNames:
    - b
    - cmd
    - arg1
    - arg2
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 401
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 401
    functionName: asn1_bio_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - asn1_bio_flush_ex
    - asn1_bio_setup_ex
    - BIO_ctrl
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long asn1_bio_ctrl(BIO *b, int cmd, long arg1, void *arg2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - b
    - cmd
    - ex_func
    - ex_free_func
    argTypes:
    - BIO*
    - int
    - asn1_ps_func**
    - asn1_ps_func**
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: asn1_bio_get_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_get_ex(BIO *b, int cmd, asn1_ps_func **ex_func,
      asn1_ps_func **ex_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_get_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - b
    - pprefix
    - pprefix_free
    argTypes:
    - BIO*
    - asn1_ps_func**
    - asn1_ps_func**
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: BIO_asn1_get_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - asn1_bio_get_ex
    linkageType: ''
    returnType: int
    signature: 'int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, asn1_ps_func
      **pprefix_free) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: BIO_f_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_asn1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:118,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - BIO_ASN1_BUF_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: asn1_bio_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_init(BIO_ASN1_BUF_CTX *ctx, int size) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:160,1
    - Dst: asn1_bio_setup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:172,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:161,1
    - Dst: asn1_bio_flush_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:180,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:189,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:190,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:193,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:200,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:220,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:238,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:246,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:247,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 57
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 251
    functionName: asn1_bio_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - ossl_assert
    - ASN1_put_object
    - ASN1_object_size
    - asn1_bio_flush_ex
    - BIO_copy_next_retry
    - asn1_bio_setup_ex
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_write(BIO *b, const char *in, int inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:283,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: asn1_bio_setup_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - setup
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_setup_ex(BIO *b, BIO_ASN1_BUF_CTX *ctx, asn1_ps_func
      *setup, asn1_bio_state_t ex_state, asn1_bio_state_t other_state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:304,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: asn1_bio_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - asn1_bio_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_puts(BIO *b, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:317,1
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: asn1_bio_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long asn1_bio_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - b
    - cmd
    - ex_func
    - ex_free_func
    argTypes:
    - BIO*
    - int
    - asn1_ps_func*
    - asn1_ps_func*
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: asn1_bio_set_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int asn1_bio_set_ex(BIO *b, int cmd, asn1_ps_func *ex_func,
      asn1_ps_func *ex_free_func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_set_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - b
    - prefix
    - prefix_free
    argTypes:
    - BIO*
    - asn1_ps_func*
    - asn1_ps_func*
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: BIO_asn1_set_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - asn1_bio_set_ex
    linkageType: ''
    returnType: int
    signature: 'int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, asn1_ps_func
      *prefix_free) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_set_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - b
    - suffix
    - suffix_free
    argTypes:
    - BIO*
    - asn1_ps_func*
    - asn1_ps_func*
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: BIO_asn1_set_suffix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - asn1_bio_set_ex
    linkageType: ''
    returnType: int
    signature: 'int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, asn1_ps_func
      *suffix_free) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_get_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - b
    - psuffix
    - psuffix_free
    argTypes:
    - BIO*
    - asn1_ps_func**
    - asn1_ps_func**
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: BIO_asn1_get_suffix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/bio_asn1.c
    functionUses: []
    functionsReached:
    - asn1_bio_get_ex
    linkageType: ''
    returnType: int
    signature: 'int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, asn1_ps_func
      **psuffix_free) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:19,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:23,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:28,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:21,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:24,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - out
    - bs
    - tbl
    - indent
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    - BIT_STRING_BITNAME*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: ASN1_BIT_STRING_name_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_puts
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: 'int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, BIT_STRING_BITNAME
      *tbl, int indent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_num_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:36,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - bs
    - name
    - value
    - tbl
    argTypes:
    - ASN1_BIT_STRING*
    - char*
    - int
    - BIT_STRING_BITNAME*
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: ASN1_BIT_STRING_set_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c
    functionUses: []
    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, BIT_STRING_BITNAME *tbl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:50,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - name
    - tbl
    argTypes:
    - char*
    - BIT_STRING_BITNAME*
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: ASN1_BIT_STRING_num_asc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_bitst.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:26,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:27,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:30,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:28,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:29,1
    - Dst: X509_PUBKEY_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:31,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:33,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:35,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:36,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:40,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:43,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:49,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:50,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:41,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:42,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c:53,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - out
    - spki
    argTypes:
    - BIO*
    - NETSCAPE_SPKI*
    constantsTouched: []
    func_position:
      end: 55
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 55
    functionName: NETSCAPE_SPKI_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/t_spki.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - X509_PUBKEY_get
    - OBJ_obj2nid
    - EVP_PKEY_print_public
    - EVP_PKEY_free
    - OBJ_nid2ln
    - X509_PUBKEY_get0_param
    linkageType: ''
    returnType: int
    signature: 'int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:38,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:66,1
    - Dst: EVP_VerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:74,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:39,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:46,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:62,1
    - Dst: EVP_VerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:35,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:76,1
    - Dst: EVP_VerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:63,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:29,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:39,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:41,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:50,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:55,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:57,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:82,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 5
    argNames:
    - i2d
    - a
    - signature
    - data
    - pkey
    argTypes:
    - i2d_of_void*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 84
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 84
    functionName: ASN1_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - ERR_raise
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - OBJ_obj2nid
    - EVP_VerifyFinal
    - EVP_get_digestbyname
    - EVP_MD_CTX_free
    - EVP_VerifyInit_ex
    - i2d
    - EVP_VerifyUpdate
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *a, ASN1_BIT_STRING *signature,
      char *data, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - it
    - alg
    - signature
    - data
    - pkey
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: ASN1_item_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c
    functionUses: []
    functionsReached:
    - ASN1_item_verify_ex
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_verify(const ASN1_ITEM *it, const X509_ALGOR *alg, const
      ASN1_BIT_STRING *signature, const void *data, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:103,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:105,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:106,1
    - Dst: ASN1_item_verify_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:104,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    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*
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: ASN1_item_verify_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_MD_CTX_get_pkey_ctx
    - ASN1_item_verify_ctx
    - EVP_PKEY_CTX_free
    - evp_md_ctx_new_ex
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_verify_ex(const ASN1_ITEM *it, const X509_ALGOR *alg,
      const ASN1_BIT_STRING *signature, const void *data, const ASN1_OCTET_STRING
      *id, EVP_PKEY *pkey, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:135,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:141,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:170,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:184,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:208,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:152,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:165,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:182,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:216,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:121,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:171,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:165,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:202,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:213,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:124,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:129,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:134,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:166,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:195,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c:221,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 81
    argCount: 5
    argNames:
    - it
    - alg
    - signature
    - data
    - ctx
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 223
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 223
    functionName: ASN1_item_verify_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_verify.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerify
    - EVP_get_digestbynid
    - ERR_raise
    - OBJ_obj2nid
    - OBJ_nid2sn
    - EVP_PKEY_is_a
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_DigestVerifyInit
    - ASN1_item_i2d
    - OPENSSL_clear_free
    - ossl_rsa_pss_to_ctx
    - evp_pkey_is_legacy
    - OBJ_find_sigid_algs
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_verify_ctx(const ASN1_ITEM *it, const X509_ALGOR *alg,
      const ASN1_BIT_STRING *signature, const void *data, EVP_MD_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:23,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:31,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:26,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:27,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:28,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:32,1
    - Dst: do_tcreate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:33,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:34,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: stbl_module_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - do_tcreate
    - NCONF_get_section
    - CONF_imodule_get_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int stbl_module_init(CONF_IMODULE *md, const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: ASN1_add_stable_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c
    functionUses: []
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: 'void ASN1_add_stable_module(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_TABLE_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: stbl_module_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_TABLE_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void stbl_module_finish(CONF_IMODULE *md) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:69,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:77,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:81,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:87,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:90,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:73,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:101,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:62,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:76,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:80,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:88,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:84,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:114,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:66,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:72,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:64,1
    - Dst: ASN1_STRING_TABLE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:112,1
    - Dst: ASN1_str2mask
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:85,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c:106,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 2
    argNames:
    - value
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 116
    functionName: do_tcreate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mstbl.c
    functionUses: []
    functionsReached:
    - ASN1_str2mask
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_num
    - OBJ_ln2nid
    - sk_CONF_VALUE_value
    - ERR_raise_data
    - ASN1_STRING_TABLE_add
    - X509V3_parse_list
    - OBJ_sn2nid
    - sk_CONF_VALUE_pop_free
    - strtoul
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int do_tcreate(const char *value, const char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:20,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:21,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:32,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:28,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:36,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:46,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 3
    argNames:
    - obj
    - it
    - oct
    argTypes:
    - void*
    - ASN1_ITEM*
    - ASN1_STRING**
    constantsTouched: []
    func_position:
      end: 48
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 48
    functionName: ASN1_item_pack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - ASN1_STRING_new
    - ASN1_item_i2d
    - ASN1_STRING_free
    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/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:58,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - oct
    - it
    argTypes:
    - ASN1_STRING*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ASN1_item_unpack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_pack.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:26,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:30,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:29,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:31,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:35,1
    - Dst: do_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:36,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:37,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: oid_module_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - NCONF_get_section
    - CONF_imodule_get_value
    - do_create
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int oid_module_init(CONF_IMODULE *md, const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ASN1_add_oid_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c
    functionUses: []
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: 'void ASN1_add_oid_module(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: oid_module_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void oid_module_finish(CONF_IMODULE *md) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:65,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:80,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:78,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:83,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:90,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:93,1
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:98,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c:100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - value
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 103
    functionName: do_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_moid.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - strrchr
    - ossl_isspace
    - OBJ_create
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int do_create(const char *value, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/nsseq.c:21,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: nsseq_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/nsseq.c
    functionUses: []
    functionsReached:
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: 'static int nsseq_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_flags_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - val
    - out
    - it
    argTypes:
    - ASN1_VALUE*
    - unsigned char**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ASN1_item_ndef_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - asn1_item_flags_i2d
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_ndef_i2d(const ASN1_VALUE *val, unsigned char **out,
      const ASN1_ITEM *it) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:61,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:65,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:69,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:74,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - val
    - out
    - it
    - flags
    argTypes:
    - ASN1_VALUE*
    - unsigned char**
    - ASN1_ITEM*
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: asn1_item_flags_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_item_ex_i2d
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int asn1_item_flags_i2d(const ASN1_VALUE *val, unsigned char
      **out, const ASN1_ITEM *it, int flags) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: asn1_i2d_ex_primitive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:116,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:138,1
    - Dst: ossl_asn1_enc_restore
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:154,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:170,1
    - Dst: asn1_i2d_ex_primitive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:124,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:134,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:191,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:187,1
    - Dst: ossl_asn1_do_adb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:177,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:204,1
    - Dst: asn1_template_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:135,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:180,1
    - Dst: asn1_template_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:181,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:198,1
    - Dst: ASN1_put_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:203,1
    - Dst: asn1_template_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:113,1
    - Dst: asn1_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:127,1
    - Dst: ossl_asn1_get_choice_selector_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:129,1
    - Dst: ossl_asn1_do_adb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:195,1
    - Dst: asn1_template_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:200,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 92
    argCount: 5
    argNames:
    - pval
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 213
    functionName: ASN1_item_ex_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_put_object
    - asn1_cb
    - ASN1_object_size
    - ossl_asn1_do_adb
    - asn1_i2d_ex_primitive
    - ossl_asn1_enc_restore
    - asn1_template_ex_i2d
    - ASN1_put_eoc
    - ossl_asn1_get_choice_selector_const
    - ossl_asn1_get_const_field_ptr
    linkageType: ''
    returnType: int
    signature: 'int ASN1_item_ex_i2d(const ASN1_VALUE **pval, unsigned char **out,
      const ASN1_ITEM *it, int tag, int aclass) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:421,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:423,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:450,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:462,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:451,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:415,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:430,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:447,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:447,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:442,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:463,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:412,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:415,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:418,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:440,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:457,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:431,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:432,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:439,1
    - Dst: sk_const_ASN1_VALUE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:458,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 6
    argNames:
    - sk
    - out
    - skcontlen
    - item
    - do_sort
    - iclass
    argTypes:
    - STACK_OF(const_ASN1_VALUE)*
    - unsigned char**
    - int
    - ASN1_ITEM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 465
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 465
    functionName: asn1_set_seq_out
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - ASN1_item_ex_i2d
    - sk_const_ASN1_VALUE_num
    - qsort
    - sk_const_ASN1_VALUE_value
    - sk_const_ASN1_VALUE_set
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int asn1_set_seq_out(STACK_OF(const_ASN1_VALUE) *sk, unsigned
      char **out, int skcontlen, const ASN1_ITEM *item, int do_sort, int iclass) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:306,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:316,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:352,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:358,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:362,1
    - Dst: ASN1_put_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:364,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:373,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:304,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:305,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:321,1
    - Dst: ASN1_put_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:340,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:349,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:361,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:335,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:306,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:362,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:370,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:370,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:311,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:331,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:333,1
    - Dst: asn1_set_seq_out
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:335,1
    - Dst: ASN1_put_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:338,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:349,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 118
    argCount: 5
    argNames:
    - pval
    - out
    - tt
    - tag
    - iclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_TEMPLATE*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 377
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 377
    functionName: asn1_template_ex_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_put_object
    - asn1_set_seq_out
    - ASN1_object_size
    - ASN1_item_ex_i2d
    - sk_const_ASN1_VALUE_num
    - ASN1_put_eoc
    - sk_const_ASN1_VALUE_value
    - ASN1_ITEM_ptr
    linkageType: ''
    returnType: int
    signature: 'static int asn1_template_ex_i2d(const ASN1_VALUE **pval, unsigned
      char **out, const ASN1_TEMPLATE *tt, int tag, int iclass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: der_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int der_cmp(const void *a, const void *b) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: asn1_ex_i2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:481,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:521,1
    - Dst: asn1_ex_i2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:513,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:512,1
    - Dst: ASN1_put_eoc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:515,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 5
    argNames:
    - pval
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 523
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 523
    functionName: asn1_i2d_ex_primitive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - ASN1_object_size
    - ASN1_put_eoc
    - asn1_ex_i2c
    - ASN1_put_object
    linkageType: ''
    returnType: int
    signature: 'static int asn1_i2d_ex_primitive(const ASN1_VALUE **pval, unsigned
      char **out, const ASN1_ITEM *it, int tag, int aclass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_flags_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - val
    - out
    - it
    argTypes:
    - ASN1_VALUE*
    - unsigned char**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ASN1_item_i2d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    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: 37
    BranchProfiles: []
    Callsites:
    - Dst: ossl_i2c_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:605,1
    - Dst: ossl_i2c_ASN1_BIT_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:597,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c:643,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 56
    argCount: 4
    argNames:
    - pval
    - cout
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 645
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 645
    functionName: asn1_ex_i2c
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/tasn_enc.c
    functionUses: []
    functionsReached:
    - memcpy
    - ossl_i2c_ASN1_BIT_STRING
    - ossl_i2c_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'static int asn1_ex_i2c(const ASN1_VALUE **pval, unsigned char *cout,
      int *putype, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_octet.c:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ASN1_OCTET_STRING_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_octet.c
    functionUses: []
    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_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_octet.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - d
    - len
    argTypes:
    - ASN1_OCTET_STRING*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: ASN1_OCTET_STRING_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_octet.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: 'int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *x, const unsigned char
      *d, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_octet.c:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OCTET_STRING*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: ASN1_OCTET_STRING_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_octet.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING
      *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - pp
    - inf
    - rl
    - max
    argTypes:
    - unsigned char**
    - int*
    - long*
    - long
    constantsTouched: []
    func_position:
      end: 154
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 154
    functionName: asn1_get_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int asn1_get_length(const unsigned char **pp, int *inf, long
      *rl, long max) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:269,1
    - Dst: ASN1_STRING_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:272,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: ASN1_STRING_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_new
    - ASN1_STRING_free
    - ASN1_STRING_copy
    linkageType: ''
    returnType: ASN1_STRING*
    signature: 'ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:288,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:305,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:310,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:307,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:298,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - str
    - _data
    - len_in
    argTypes:
    - ASN1_STRING*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 331
    functionName: ASN1_STRING_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    - memcpy
    - ERR_raise
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_set(ASN1_STRING *str, const void *_data, int len_in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: ASN1_STRING_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_type(const ASN1_STRING *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: _asn1_check_infinite_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int _asn1_check_infinite_end(const unsigned char **p, long
      len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - constructed
    - length
    - tag
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 248
    functionName: ASN1_object_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASN1_object_size(int constructed, int length, int tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:349,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: ASN1_STRING_type_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_STRING*
    signature: 'ASN1_STRING *ASN1_STRING_type_new(int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _asn1_check_infinite_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ASN1_check_infinite_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - _asn1_check_infinite_end
    linkageType: ''
    returnType: int
    signature: 'int ASN1_check_infinite_end(unsigned char **p, long len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - str
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: ASN1_STRING_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:363,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - a
    - embed
    argTypes:
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: ossl_asn1_string_embed_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_asn1_string_embed_free(ASN1_STRING *a, int embed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - pp
    - constructed
    - length
    - tag
    - xclass
    argTypes:
    - unsigned char**
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 187
    functionName: ASN1_put_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - asn1_put_length
    linkageType: ''
    returnType: void
    signature: 'void ASN1_put_object(unsigned char **pp, int constructed, int length,
      int tag, int xclass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _asn1_check_infinite_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ASN1_const_check_infinite_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - _asn1_check_infinite_end
    linkageType: ''
    returnType: int
    signature: 'int ASN1_const_check_infinite_end(const unsigned char **p, long len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - str
    - data
    - len
    argTypes:
    - ASN1_STRING*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: ASN1_STRING_set0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: ASN1_STRING_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - len
    argTypes:
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: ASN1_STRING_length_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ASN1_STRING_length_set(ASN1_STRING *x, int len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:55,1
    - Dst: asn1_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:104,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 5
    argNames:
    - pp
    - plength
    - ptag
    - pclass
    - omax
    argTypes:
    - unsigned char**
    - long*
    - int*
    - int*
    - long
    constantsTouched: []
    func_position:
      end: 106
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 106
    functionName: ASN1_get_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - asn1_get_length
    linkageType: ''
    returnType: int
    signature: 'int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,
      int *pclass, long omax) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: ASN1_STRING_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_type_new
    linkageType: ''
    returnType: ASN1_STRING*
    signature: 'ASN1_STRING *ASN1_STRING_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: ASN1_STRING_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASN1_STRING_length(const ASN1_STRING *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: ASN1_put_eoc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASN1_put_eoc(unsigned char **pp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_string_embed_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: ASN1_STRING_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - ossl_asn1_string_embed_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_STRING_free(ASN1_STRING *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:442,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:444,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:448,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:445,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:452,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:456,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:457,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:458,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:460,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:463,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:463,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - text
    - sep
    - max_len
    argTypes:
    - STACK_OF(ASN1_UTF8STRING)*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 469
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 469
    functionName: ossl_sk_ASN1_UTF8STRING2text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_length
    - sk_ASN1_UTF8STRING_num
    - ASN1_STRING_get0_data
    - strncpy
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *ossl_sk_ASN1_UTF8STRING2text(STACK_OF(ASN1_UTF8STRING) *text,
      const char *sep, size_t max_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pp
    - length
    argTypes:
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: asn1_put_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void asn1_put_length(unsigned char **pp, int length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:380,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: ASN1_STRING_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - ASN1_STRING_free
    linkageType: ''
    returnType: void
    signature: 'void ASN1_STRING_clear_free(ASN1_STRING *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: ASN1_STRING_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *ASN1_STRING_data(ASN1_STRING *x) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:887,1
    - Dst: sk_MIME_PARAM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:904,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:899,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:891,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:894,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:908,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:909,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:910,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 3
    argNames:
    - mhdr
    - name
    - value
    argTypes:
    - MIME_HEADER*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 912
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 912
    functionName: mime_hdr_addparam
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - OPENSSL_strdup
    - sk_MIME_PARAM_push
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int mime_hdr_addparam(MIME_HEADER *mhdr, const char *name,
      const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MIME_PARAM**
    - MIME_PARAM**
    constantsTouched: []
    func_position:
      end: 929
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 929
    functionName: mime_param_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int mime_param_cmp(const MIME_PARAM *const *a, const MIME_PARAM
      *const *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:984,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:991,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:986,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:993,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:992,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - line
    - linelen
    - bound
    - blen
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 999
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 999
    functionName: mime_bound_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int mime_bound_check(char *line, int linelen, const char *bound,
      int blen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MIME_HEADER**
    - MIME_HEADER**
    constantsTouched: []
    func_position:
      end: 921
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 921
    functionName: mime_hdr_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int mime_hdr_cmp(const MIME_HEADER *const *a, const MIME_HEADER
      *const *b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - linebuf
    - plen
    - flags
    argTypes:
    - char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1035
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1035
    functionName: strip_eol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int strip_eol(char *linebuf, int *plen, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:970,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:972,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - MIME_PARAM*
    constantsTouched: []
    func_position:
      end: 973
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 973
    functionName: mime_param_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void mime_param_free(MIME_PARAM *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:131,1
    - Dst: B64_write_ASN1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:132,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - out
    - val
    - in
    - flags
    - hdr
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: PEM_write_bio_ASN1_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - B64_write_ASN1
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in,
      int flags, const char *hdr, const ASN1_ITEM *it) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:273,1
    - Dst: asn1_output_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:281,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:290,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:289,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:315,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:320,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:321,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:272,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:293,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:314,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:319,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:259,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:271,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:270,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:291,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:305,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:283,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:316,1
    - Dst: B64_write_ASN1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:323,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:325,1
    - Dst: asn1_write_micalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:274,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:275,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:277,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:280,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:287,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:288,1
    - Dst: B64_write_ASN1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:292,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:317,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    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(X509_ALGOR)*
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 327
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 327
    functionName: SMIME_write_ASN1_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_X509_ALGOR_num
    - asn1_output_data
    - B64_write_ASN1
    - BIO_puts
    - asn1_write_micalg
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int SMIME_write_ASN1_ex(BIO *bio, ASN1_VALUE *val, BIO *data, int
      flags, int ctype_nid, int econt_nid, STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM
      *it, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:832,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 846
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 846
    functionName: strip_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - ossl_isspace
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *strip_end(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_write_ASN1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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(X509_ALGOR)*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: SMIME_write_ASN1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - SMIME_write_ASN1_ex
    linkageType: ''
    returnType: int
    signature: 'int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags,
      int ctype_nid, int econt_nid, STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM
      *it) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:854,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:857,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:860,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:865,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:863,1
    - Dst: sk_MIME_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:870,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:875,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:876,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:877,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 879
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 879
    functionName: mime_hdr_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - OPENSSL_strdup
    - sk_MIME_PARAM_new
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: MIME_HEADER*
    signature: 'static MIME_HEADER *mime_hdr_new(const char *name, const char *value) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:165,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:167,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:169,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:169,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:170,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:176,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:177,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:185,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:189,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:197,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:205,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:220,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:213,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:209,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:201,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:193,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 2
    argNames:
    - out
    - mdalgs
    argTypes:
    - BIO*
    - STACK_OF(X509_ALGOR)*
    constantsTouched: []
    func_position:
      end: 233
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 233
    functionName: asn1_write_micalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - BIO_write
    - EVP_get_digestbynid
    - OBJ_obj2nid
    - sk_X509_ALGOR_num
    - OPENSSL_free
    - BIO_puts
    - sk_X509_ALGOR_value
    linkageType: ''
    returnType: int
    signature: 'static int asn1_write_micalg(BIO *out, STACK_OF(X509_ALGOR) *mdalgs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:109,1
    - Dst: i2d_ASN1_bio_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:118,1
    - Dst: BIO_f_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:111,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:117,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:119,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:120,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - out
    - val
    - in
    - flags
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: B64_write_ASN1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_free
    - BIO_flush
    - BIO_f_base64
    - i2d_ASN1_bio_stream
    - BIO_pop
    - BIO_push
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int B64_write_ASN1(BIO *out, ASN1_VALUE *val, BIO *in, int
      flags, const ASN1_ITEM *it) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:418,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:419,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:425,1
    - Dst: mime_parse_hdr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:444,1
    - Dst: mime_hdr_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:452,1
    - Dst: sk_BIO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:456,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:464,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:471,1
    - Dst: sk_BIO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:472,1
    - Dst: sk_BIO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:477,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:489,1
    - Dst: mime_hdr_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:416,1
    - Dst: mime_param_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:427,1
    - Dst: multi_split
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:433,1
    - Dst: sk_BIO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:442,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:436,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:445,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:434,1
    - Dst: sk_BIO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:446,1
    - Dst: sk_BIO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:465,1
    - Dst: sk_BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:479,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:496,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:488,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:401,1
    - Dst: mime_parse_hdr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:411,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:429,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:430,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:462,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:478,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:499,1
    - Dst: sk_BIO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:481,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:412,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:402,1
    - Dst: sk_BIO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:437,1
    - Dst: sk_BIO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:435,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:454,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:455,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:460,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:461,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:468,1
    - Dst: b64_read_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:470,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:492,1
    - Dst: b64_read_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:498,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 7
    argNames:
    - bio
    - flags
    - bcont
    - it
    - x
    - libctx
    - propq
    argTypes:
    - BIO*
    - int
    - BIO**
    - ASN1_ITEM*
    - ASN1_VALUE**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 503
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 503
    functionName: SMIME_read_ASN1_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - sk_MIME_HEADER_pop_free
    - mime_parse_hdr
    - ERR_raise
    - multi_split
    - BIO_free
    - sk_BIO_num
    - strcmp
    - mime_param_find
    - b64_read_asn1
    - sk_BIO_free
    - mime_hdr_find
    - ERR_raise_data
    - sk_BIO_value
    - sk_BIO_pop_free
    - STACK_OF
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *SMIME_read_ASN1_ex(BIO *bio, int flags, BIO **bcont, const
      ASN1_ITEM *it, ASN1_VALUE **x, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:613,1
    - Dst: mime_bound_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:625,1
    - Dst: BIO_get_line
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:624,1
    - Dst: sk_BIO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:620,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:616,1
    - Dst: sk_BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:630,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:631,1
    - Dst: strip_eol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:637,1
    - Dst: sk_BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:641,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:642,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:645,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:645,1
    - Dst: OPENSSL_NO_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:651,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:657,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:659,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:666,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:648,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:663,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - bio
    - flags
    - bound
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - STACK_OF(BIO)**
    constantsTouched: []
    func_position:
      end: 668
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 668
    functionName: multi_split
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - sk_BIO_new_null
    - mime_bound_check
    - sk_BIO_push
    - BIO_write
    - BIO_free
    - BIO_get_line
    - OPENSSL_NO_CMS
    - strip_eol
    - STACK_OF
    - BIO_set_mem_eof_return
    - BIO_s_mem
    - BIO_new
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int multi_split(BIO *bio, int flags, const char *bound, STACK_OF(BIO)
      **ret) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 823
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 823
    functionName: strip_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - ossl_isspace
    linkageType: ''
    returnType: char*
    signature: 'static char *strip_start(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:143,1
    - Dst: BIO_f_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:143,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:148,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:150,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:151,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:152,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 5
    argNames:
    - bio
    - it
    - x
    - libctx
    - propq
    argTypes:
    - BIO*
    - ASN1_ITEM*
    - ASN1_VALUE**
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: b64_read_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_free
    - BIO_flush
    - BIO_f_base64
    - ASN1_item_d2i_bio_ex
    - BIO_pop
    - BIO_push
    - BIO_new
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'static ASN1_VALUE *b64_read_asn1(BIO *bio, const ASN1_ITEM *it, ASN1_VALUE
      **x, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_crlf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:353,1
    - Dst: SMIME_crlf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:371,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:357,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:381,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:382,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 5
    argNames:
    - out
    - data
    - val
    - flags
    - it
    argTypes:
    - BIO*
    - BIO*
    - ASN1_VALUE*
    - int
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 388
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 388
    functionName: asn1_output_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - SMIME_crlf_copy
    - BIO_pop
    - ERR_raise
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val,
      int flags, const ASN1_ITEM *it) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:575,1
    - Dst: mime_hdr_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:582,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:584,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:579,1
    - Dst: mime_parse_hdr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:578,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:585,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:588,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:589,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:591,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:594,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:596,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:595,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 600
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 600
    functionName: SMIME_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - BIO_write
    - sk_MIME_HEADER_pop_free
    - mime_parse_hdr
    - ERR_raise
    - strcmp
    - BIO_read
    - mime_hdr_find
    - ERR_raise_data
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int SMIME_text(BIO *in, BIO *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strip_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:803,1
    - Dst: strip_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: strip_ends
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - strip_end
    - strip_start
    linkageType: ''
    returnType: char*
    signature: 'static char *strip_ends(char *name) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:694,1
    - Dst: mime_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:720,1
    - Dst: mime_hdr_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:779,1
    - Dst: strip_ends
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:787,1
    - Dst: sk_MIME_HEADER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:782,1
    - Dst: mime_hdr_addparam
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:787,1
    - Dst: mime_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:761,1
    - Dst: mime_hdr_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:796,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:692,1
    - Dst: sk_MIME_HEADER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:725,1
    - Dst: mime_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:771,1
    - Dst: strip_ends
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:779,1
    - Dst: mime_hdr_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:722,1
    - Dst: strip_ends
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:757,1
    - Dst: mime_hdr_addparam
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:757,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:797,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:686,1
    - Dst: strip_ends
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:713,1
    - Dst: sk_MIME_HEADER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:689,1
    - Dst: strip_ends
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:722,1
    - Dst: strip_ends
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:748,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 101
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 799
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 799
    functionName: mime_parse_hdr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - mime_debug
    - sk_MIME_HEADER_pop_free
    - mime_hdr_addparam
    - sk_MIME_HEADER_new
    - mime_hdr_new
    - sk_MIME_HEADER_push
    - mime_hdr_free
    - ossl_isspace
    - strip_ends
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(MIME_HEADER)*
    signature: 'static STACK_OF(MIME_HEADER) *mime_parse_hdr(BIO *bio) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:520,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:533,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:528,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:530,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:528,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:535,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:536,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:540,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:541,1
    - Dst: strip_eol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:542,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:548,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:551,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:553,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:562,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:557,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:563,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:561,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - in
    - out
    - flags
    argTypes:
    - BIO*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 568
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 568
    functionName: SMIME_crlf_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_f_buffer
    - BIO_write
    - ERR_raise
    - BIO_gets
    - BIO_free
    - BIO_read
    - strip_eol
    - BIO_flush
    - BIO_pop
    - BIO_push
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int SMIME_crlf_copy(BIO *in, BIO *out, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_ASN1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - bcont
    - it
    argTypes:
    - BIO*
    - BIO**
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: SMIME_read_ASN1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - SMIME_read_ASN1_ex
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM
      *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_MIME_PARAM_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:953,1
    - Dst: sk_MIME_PARAM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:954,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - name
    argTypes:
    - MIME_HEADER*
    - char*
    constantsTouched: []
    func_position:
      end: 955
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 955
    functionName: mime_param_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - sk_MIME_PARAM_value
    - sk_MIME_PARAM_find
    linkageType: ''
    returnType: MIME_PARAM*
    signature: 'static MIME_PARAM *mime_param_find(MIME_HEADER *hdr, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_NDEF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:78,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:88,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:85,1
    - Dst: SMIME_crlf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:81,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:89,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - out
    - val
    - in
    - flags
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 100
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 100
    functionName: i2d_ASN1_bio_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_item_i2d_bio
    - BIO_free
    - BIO_new_NDEF
    - BIO_flush
    - BIO_pop
    - SMIME_crlf_copy
    linkageType: ''
    returnType: int
    signature: 'int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags,
      const ASN1_ITEM *it) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:961,1
    - Dst: sk_MIME_PARAM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:964,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:965,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - MIME_HEADER*
    constantsTouched: []
    func_position:
      end: 966
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 966
    functionName: mime_hdr_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - sk_MIME_PARAM_pop_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void mime_hdr_free(MIME_HEADER *hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_MIME_HEADER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:942,1
    - Dst: sk_MIME_HEADER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c:943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - hdrs
    - name
    argTypes:
    - STACK_OF(MIME_HEADER)*
    - char*
    constantsTouched: []
    func_position:
      end: 944
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 944
    functionName: mime_hdr_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn_mime.c
    functionUses: []
    functionsReached:
    - sk_MIME_HEADER_find
    - sk_MIME_HEADER_value
    linkageType: ''
    returnType: MIME_HEADER*
    signature: 'static MIME_HEADER *mime_hdr_find(STACK_OF(MIME_HEADER) *hdrs, const
      char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:167,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - a
    - n
    - value
    argTypes:
    - ASN1_BIT_STRING*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 181
    functionName: ASN1_BIT_STRING_set_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_clear_realloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:70,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ASN1_BIT_STRING*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 76
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 76
    functionName: ossl_i2c_ASN1_BIT_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int ossl_i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:17,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - x
    - d
    - len
    argTypes:
    - ASN1_BIT_STRING*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ASN1_BIT_STRING_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: 'int ASN1_BIT_STRING_set(ASN1_BIT_STRING *x, unsigned char *d, int
      len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - ASN1_BIT_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: ASN1_BIT_STRING_get_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:97,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:136,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:128,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:116,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:121,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c:138,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - ASN1_BIT_STRING**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 140
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 140
    functionName: ossl_c2i_ASN1_BIT_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - ASN1_BIT_STRING_free
    - ASN1_BIT_STRING_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_BIT_STRING*
    signature: 'ASN1_BIT_STRING *ossl_c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const
      unsigned char **pp, long len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - a
    - flags
    - flags_len
    argTypes:
    - ASN1_BIT_STRING*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: ASN1_BIT_STRING_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_bitstr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, const unsigned
      char *flags, int flags_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_err.c:207,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_err.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: ossl_err_load_ASN1_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/asn1_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_ASN1_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - unsigned char
    - uint64_t
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: asn1_put_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t asn1_put_uint64(unsigned char b[sizeof(uint64_t)], uint64_t
      r) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:364,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:368,1
    - Dst: asn1_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:375,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pr
    - a
    - itype
    argTypes:
    - uint64_t*
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 376
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 376
    functionName: asn1_string_get_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_get_uint64
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int asn1_string_get_uint64(uint64_t *pr, const ASN1_STRING
      *a, int itype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_INTEGER*
    - int64_t
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: ASN1_INTEGER_set_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_string_set_int64
    linkageType: ''
    returnType: int
    signature: 'int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: ASN1_INTEGER_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_get_int64
    linkageType: ''
    returnType: long
    signature: 'long ASN1_INTEGER_get(const ASN1_INTEGER *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_ENUMERATED*
    - int64_t
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: ASN1_ENUMERATED_set_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_string_set_int64
    linkageType: ''
    returnType: int
    signature: 'int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - dst
    - src
    - len
    - pad
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: twos_complement
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void twos_complement(unsigned char *dst, const unsigned char
      *src, size_t len, unsigned char pad) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:384,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - a
    - r
    - itype
    argTypes:
    - ASN1_STRING*
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: asn1_string_set_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_put_uint64
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: 'static int asn1_string_set_uint64(ASN1_STRING *a, uint64_t r, int
      itype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - uint64_t*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: ASN1_INTEGER_get_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    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: bn_to_asn1_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: BN_to_ASN1_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    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_ENUMERATED_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - v
    argTypes:
    - ASN1_ENUMERATED*
    - long
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: ASN1_ENUMERATED_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ASN1_ENUMERATED_set_int64
    linkageType: ''
    returnType: int
    signature: 'int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:639,1
    - Dst: i2c_ibuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p
    - r
    - neg
    argTypes:
    - unsigned char*
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: ossl_i2c_uint64_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    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: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_INTEGER*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: ASN1_INTEGER_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2c_ibuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ASN1_INTEGER*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: ossl_i2c_ASN1_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - i2c_ibuf
    linkageType: ''
    returnType: int
    signature: 'int ossl_i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - pr
    - b
    - blen
    - neg
    argTypes:
    - int64_t*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: asn1_get_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_get_uint64
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int asn1_get_int64(int64_t *pr, const unsigned char *b, size_t
      blen, int neg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:510,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:516,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - ai
    - bn
    - itype
    argTypes:
    - ASN1_INTEGER*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 522
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 522
    functionName: asn1_string_to_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - BN_set_negative
    - ERR_raise
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *asn1_string_to_bn(const ASN1_INTEGER *ai, BIGNUM *bn,
      int itype) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_ENUMERATED*
    constantsTouched: []
    func_position:
      end: 604
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 604
    functionName: ASN1_ENUMERATED_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ASN1_ENUMERATED_get_int64
    linkageType: ''
    returnType: long
    signature: 'long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_to_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - bn
    argTypes:
    - ASN1_ENUMERATED*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: ASN1_ENUMERATED_to_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_string_to_bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ASN1_INTEGER_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_dup
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - int64_t*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: ASN1_INTEGER_get_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    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: bn_to_asn1_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_ENUMERATED*
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: BN_to_ASN1_ENUMERATED
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - bn_to_asn1_string
    linkageType: ''
    returnType: ASN1_ENUMERATED*
    signature: 'ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED
      *ai) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:405,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:446,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:412,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:431,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:442,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:454,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:456,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ASN1_INTEGER**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 458
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 458
    functionName: d2i_ASN1_UINTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_get_object
    - OPENSSL_free
    - memcpy
    - ASN1_INTEGER_free
    - ASN1_INTEGER_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char
      **pp, long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_INTEGER*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: ASN1_INTEGER_set_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    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_string_to_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - bn
    argTypes:
    - ASN1_INTEGER*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: ASN1_INTEGER_to_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_string_to_bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_type_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:467,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:478,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:481,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:478,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:474,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:486,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:487,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:492,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:495,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:500,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - bn
    - ai
    - atype
    argTypes:
    - BIGNUM*
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 502
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 502
    functionName: bn_to_asn1_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - BN_is_zero
    - BN_bn2bin
    - BN_is_negative
    - ASN1_STRING_type_new
    - ASN1_STRING_set
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: ASN1_STRING*
    signature: 'static ASN1_STRING *bn_to_asn1_string(const BIGNUM *bn, ASN1_STRING
      *ai, int atype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - v
    argTypes:
    - ASN1_INTEGER*
    - long
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: ASN1_INTEGER_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set_int64
    linkageType: ''
    returnType: int
    signature: 'int ASN1_INTEGER_set(ASN1_INTEGER *a, long v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - int64_t*
    - ASN1_ENUMERATED*
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: ASN1_ENUMERATED_get_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_string_get_int64
    linkageType: ''
    returnType: int
    signature: 'int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pr
    - b
    - blen
    argTypes:
    - uint64_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 229
    functionName: asn1_get_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int asn1_get_uint64(uint64_t *pr, const unsigned char *b, size_t
      blen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: c2i_ibuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:292,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:320,1
    - Dst: c2i_ibuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:308,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:298,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:305,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:322,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - ASN1_INTEGER**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 324
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 324
    functionName: ossl_c2i_ASN1_INTEGER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - c2i_ibuf
    - ASN1_STRING_set
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'ASN1_INTEGER *ossl_c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned
      char **pp, long len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2i_ibuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:623,1
    - Dst: asn1_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:631,1
    - Dst: c2i_ibuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:630,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ret
    - neg
    - pp
    - len
    argTypes:
    - uint64_t*
    - int*
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 632
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 632
    functionName: ossl_c2i_uint64_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - c2i_ibuf
    - ERR_raise
    - asn1_get_uint64
    linkageType: ''
    returnType: int
    signature: 'int ossl_c2i_uint64_int(uint64_t *ret, int *neg, const unsigned char
      **pp, long len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:192,1
    - Dst: twos_complement
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:201,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - b
    - pneg
    - p
    - plen
    argTypes:
    - unsigned char*
    - int*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 204
    functionName: c2i_ibuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - twos_complement
    linkageType: ''
    returnType: size_t
    signature: 'static size_t c2i_ibuf(unsigned char *b, int *pneg, const unsigned
      char *p, size_t plen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:329,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:333,1
    - Dst: asn1_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pr
    - a
    - itype
    argTypes:
    - int64_t*
    - ASN1_STRING*
    - int
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: asn1_string_get_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_get_int64
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int asn1_string_get_int64(int64_t *pr, const ASN1_STRING *a,
      int itype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:351,1
    - Dst: asn1_put_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:354,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - a
    - r
    - itype
    argTypes:
    - ASN1_STRING*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 358
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 358
    functionName: asn1_string_set_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - asn1_put_uint64
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: 'static int asn1_string_set_int64(ASN1_STRING *a, int64_t r, int itype) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: twos_complement
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c:141,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - b
    - blen
    - neg
    - pp
    argTypes:
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 145
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 145
    functionName: i2c_ibuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/asn1/a_int.c
    functionUses: []
    functionsReached:
    - twos_complement
    linkageType: ''
    returnType: size_t
    signature: 'static size_t i2c_ibuf(const unsigned char *b, size_t blen, int neg,
      unsigned char **pp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:38,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:47,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:42,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:45,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:40,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:58,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:60,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:62,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:65,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - BF_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 79
    functionName: BF_cfb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_cfb64.c
    functionUses: []
    functionsReached:
    - n2l
    - l2n
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: 'void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, const BF_KEY *schedule, unsigned char *ivec, int *num, int encrypt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: BF_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *BF_options(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c:35,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c:44,1
    - Dst: BF_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c:42,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c:40,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c:37,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - in
    - out
    - key
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - BF_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: BF_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ecb.c
    functionUses: []
    functionsReached:
    - n2l
    - BF_decrypt
    - l2n
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: 'void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, const
      BF_KEY *key, int encrypt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_skey.c:27,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_skey.c:61,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_skey.c:68,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - BF_KEY*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 72
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 72
    functionName: BF_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_skey.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:40,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:46,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:50,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:43,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:41,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:47,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:51,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:57,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:53,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:58,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:42,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:44,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:48,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:54,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:59,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:52,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:45,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:49,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:55,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - BF_LONG*
    - BF_KEY*
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: BF_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c
    functionUses: []
    functionsReached:
    - BF_ENC
    linkageType: ''
    returnType: void
    signature: 'void BF_encrypt(BF_LONG *data, const BF_KEY *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:133,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:142,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:144,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:152,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:151,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:164,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:117,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:145,1
    - Dst: BF_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:168,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:121,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:120,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:129,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:138,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:158,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:165,1
    - Dst: l2nn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:171,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:175,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:116,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:126,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:130,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:141,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:147,1
    - Dst: BF_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:155,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:148,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:159,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - BF_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 180
    functionName: BF_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c
    functionUses: []
    functionsReached:
    - BF_decrypt
    - n2l
    - l2nn
    - l2n
    - n2ln
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: 'void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long
      length, const BF_KEY *schedule, unsigned char *ivec, int encrypt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:83,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:87,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:89,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:93,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:97,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:99,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:90,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:94,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:100,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:80,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:81,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:85,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:95,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:91,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:82,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:86,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:88,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:98,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:92,1
    - Dst: BF_ENC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - BF_LONG*
    - BF_KEY*
    constantsTouched: []
    func_position:
      end: 105
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 105
    functionName: BF_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_enc.c
    functionUses: []
    functionsReached:
    - BF_ENC
    linkageType: ''
    returnType: void
    signature: 'void BF_decrypt(BF_LONG *data, const BF_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:37,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:46,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:38,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:43,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:42,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:49,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:51,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:61,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - BF_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: BF_ofb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/bf/bf_ofb64.c
    functionUses: []
    functionsReached:
    - n2l
    - l2n
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: 'void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, const BF_KEY *schedule, unsigned char *ivec, int *num) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:32,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:40,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:35,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:35,1
    - Dst: X509_get_key_usage
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:39,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:44,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:46,1
    - Dst: ASN1_item_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:53,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:53,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:62,1
    - Dst: ERR_add_error_mem_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:65,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:63,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:70,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - cmp_ctx
    - msg
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - X509*
    constantsTouched: []
    func_position:
      end: 73
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 73
    functionName: verify_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - ERR_add_error_mem_bio
    - ERR_raise
    - X509_get_key_usage
    - ossl_assert
    - ASN1_item_verify_ex
    - BIO_free
    - ossl_x509_print_ex_brief
    - EVP_PKEY_free
    - BIO_s_mem
    - X509_get_pubkey
    - BIO_new
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int verify_signature(const OSSL_CMP_CTX *cmp_ctx, const OSSL_CMP_MSG
      *msg, X509 *cert) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:112,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:122,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:117,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:121,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:129,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:131,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:135,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - trusted_store
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509_STORE*
    - X509*
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: OSSL_CMP_validate_cert_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_raise
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new_ex
    - X509_verify_cert
    - OSSL_CMP_CTX_print_errors
    - X509_STORE_CTX_free
    - ERR_peek_last_error
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_validate_cert_path(const OSSL_CMP_CTX *ctx, X509_STORE
      *trusted_store, X509 *cert) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:185,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:192,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:189,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:188,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:191,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:198,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:199,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:200,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - ckid
    - skid
    argTypes:
    - OSSL_CMP_CTX*
    - ASN1_OCTET_STRING*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 203
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 203
    functionName: check_kid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - ossl_cmp_warn
    - ossl_cmp_log1
    - OPENSSL_free
    - ASN1_OCTET_STRING_cmp
    - OPENSSL_buf2hexstr
    linkageType: ''
    returnType: int
    signature: 'static int check_kid(const OSSL_CMP_CTX *ctx, const ASN1_OCTET_STRING
      *ckid, const ASN1_OCTET_STRING *skid) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:240,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:242,1
    - Dst: already_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:249,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:270,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:233,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:239,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:242,1
    - Dst: already_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:248,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:245,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:279,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:244,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:250,1
    - Dst: check_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:262,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:254,1
    - Dst: check_kid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:267,1
    - Dst: X509_get0_subject_key_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:267,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:275,1
    - Dst: X509_check_issued
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:231,1
    - Dst: ossl_cmp_log3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:236,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:238,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:238,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:255,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:257,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:254,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:263,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:271,1
    - Dst: verify_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:274,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 7
    argNames:
    - ctx
    - desc1
    - desc2
    - cert
    - already_checked1
    - already_checked2
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - char*
    - X509*
    - STACK_OF(X509)*
    - STACK_OF(X509)*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 281
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 281
    functionName: cert_acceptable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - ossl_x509v3_cache_extensions
    - ossl_cmp_warn
    - X509_STORE_get0_param
    - ossl_cmp_info
    - X509_get_issuer_name
    - X509_get0_notAfter
    - X509_check_issued
    - X509_get0_notBefore
    - X509_get_subject_name
    - check_name
    - OPENSSL_free
    - X509_cmp_timeframe
    - check_kid
    - already_checked
    - X509_NAME_oneline
    - X509_get0_subject_key_id
    - ossl_cmp_log1
    - verify_signature
    - ossl_cmp_log3
    linkageType: ''
    returnType: int
    signature: 'static int cert_acceptable(const OSSL_CMP_CTX *ctx, const char *desc1,
      const char *desc2, X509 *cert, const STACK_OF(X509) *already_checked1, const
      STACK_OF(X509) *already_checked2, const OSSL_CMP_MSG *msg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:310,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:311,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:316,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:318,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:326,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:328,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:334,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:335,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:339,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - msg
    - scrt
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - X509*
    constantsTouched: []
    func_position:
      end: 341
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 341
    functionName: check_cert_path_3gpp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - X509_free
    - ossl_cmp_warn
    - ossl_cmp_certrepmessage_get0_certresponse
    - ossl_cmp_certresponse_get1_cert
    - OSSL_CMP_validate_cert_path
    - ossl_cmp_X509_STORE_add1_certs
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: 'static int check_cert_path_3gpp(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg, X509 *scrt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:410,1
    - Dst: check_msg_with_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:419,1
    - Dst: check_msg_with_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:416,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:424,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:413,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:427,1
    - Dst: check_msg_with_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:428,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - msg
    - mode_3gpp
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    constantsTouched: []
    func_position:
      end: 436
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 436
    functionName: check_msg_all_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - ossl_cmp_warn
    - sk_X509_pop_free
    - check_msg_with_certs
    - X509_STORE_get1_all_certs
    - ossl_cmp_info
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int check_msg_all_certs(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg, int mode_3gpp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: no_log_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int no_log_cb(const char *func, const char *file, int line,
      OSSL_CMP_severity level, const char *msg) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:566,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:604,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:612,1
    - Dst: verify_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:630,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:637,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:553,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:562,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:631,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:556,1
    - Dst: verify_PBMAC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:574,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:581,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:600,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:623,1
    - Dst: check_msg_find_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:626,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:622,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:570,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:571,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:592,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:636,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 642
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 642
    functionName: OSSL_CMP_validate_msg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cmp_warn
    - check_msg_find_cert
    - ossl_cmp_hdr_get_protection_nid
    - ossl_cmp_info
    - ossl_cmp_debug
    - verify_PBMAC
    - verify_signature
    - ossl_cmp_X509_STORE_add1_certs
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_validate_msg(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:210,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:211,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - cert
    - already_checked
    argTypes:
    - X509*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: already_checked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - X509_cmp
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int already_checked(const X509 *cert, const STACK_OF(X509)
      *already_checked) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:286,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - store
    - scrt
    argTypes:
    - OSSL_CMP_CTX*
    - X509_STORE*
    - X509*
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: check_cert_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_validate_cert_path
    - ossl_cmp_warn
    linkageType: ''
    returnType: int
    signature: 'static int check_cert_path(const OSSL_CMP_CTX *ctx, X509_STORE *store,
      X509 *scrt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_acceptable
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:346,1
    - Dst: check_cert_path_3gpp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:349,1
    - Dst: check_cert_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - cert
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: check_msg_given_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - check_cert_path_3gpp
    - check_cert_path
    - cert_acceptable
    linkageType: ''
    returnType: int
    signature: 'static int check_msg_given_cert(const OSSL_CMP_CTX *ctx, X509 *cert,
      const OSSL_CMP_MSG *msg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:822,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:832,1
    - Dst: OSSL_CRMF_MSGS_verify_popo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:841,1
    - Dst: X509_REQ_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:829,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:829,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:850,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - msg
    - acceptRAVerified
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    constantsTouched: []
    func_position:
      end: 854
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 854
    functionName: ossl_cmp_verify_popo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - OSSL_CRMF_MSGS_verify_popo
    - ERR_raise
    - ossl_assert
    - X509_REQ_verify_ex
    - X509_REQ_get0_pubkey
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_verify_popo(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg, int acceptRAVerified) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:152,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:155,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:156,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:158,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:160,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:165,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:166,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:167,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:168,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    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*
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: check_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - X509_NAME_oneline
    - ossl_cmp_log2
    - ossl_cmp_log1
    - X509_NAME_cmp
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int check_name(const OSSL_CMP_CTX *ctx, int log_success, const
      char *actual_desc, const X509_NAME *actual_name, const char *expect_desc, const
      X509_NAME *expect_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:82,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:90,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:88,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:92,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: verify_PBMAC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_free
    - CRYPTO_memcmp
    - ERR_raise
    - ossl_cmp_calc_protection
    linkageType: ''
    returnType: int
    signature: 'static int verify_PBMAC(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:367,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:372,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:375,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:368,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:373,1
    - Dst: cert_acceptable
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:377,1
    - Dst: check_cert_path_3gpp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:381,1
    - Dst: check_cert_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:382,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:384,1
    - Dst: ossl_cmp_ctx_set0_validatedSrvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:386,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:387,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:394,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 7
    argNames:
    - ctx
    - certs
    - desc
    - already_checked1
    - already_checked2
    - msg
    - mode_3gpp
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(X509)*
    - char*
    - STACK_OF(X509)*
    - STACK_OF(X509)*
    - OSSL_CMP_MSG*
    - int
    constantsTouched: []
    func_position:
      end: 396
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 396
    functionName: check_msg_with_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - X509_free
    - ossl_assert
    - ossl_cmp_log1
    - cert_acceptable
    - ossl_cmp_warn
    - sk_X509_num
    - check_cert_path_3gpp
    - X509_up_ref
    - check_cert_path
    - ossl_cmp_ctx_set0_validatedSrvCert
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'static int check_msg_with_certs(OSSL_CMP_CTX *ctx, const STACK_OF(X509)
      *certs, const char *desc, const STACK_OF(X509) *already_checked1, const STACK_OF(X509)
      *already_checked2, const OSSL_CMP_MSG *msg, int mode_3gpp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: check_msg_all_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:491,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:499,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:505,1
    - Dst: ERR_add_error_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:519,1
    - Dst: ERR_add_error_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:524,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:529,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:479,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:469,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:503,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:507,1
    - Dst: ERR_add_error_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:520,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:528,1
    - Dst: check_msg_given_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:477,1
    - Dst: check_msg_given_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:487,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:495,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:509,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:517,1
    - Dst: ERR_add_error_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:523,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:461,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:466,1
    - Dst: ossl_cmp_ctx_set0_validatedSrvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:483,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:485,1
    - Dst: check_msg_all_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:490,1
    - Dst: check_msg_all_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:513,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:511,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:501,1
    - Dst: check_msg_all_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:514,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 531
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 531
    functionName: check_msg_find_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - check_msg_given_cert
    - ERR_pop_to_mark
    - ERR_raise
    - X509_NAME_oneline
    - ossl_cmp_log1
    - OPENSSL_free
    - OSSL_CMP_CTX_print_errors
    - ossl_cmp_info
    - ERR_set_mark
    - check_msg_all_certs
    - ossl_cmp_ctx_set0_validatedSrvCert
    - OPENSSL_buf2hexstr
    - ERR_clear_last_mark
    - ERR_add_error_txt
    linkageType: ''
    returnType: int
    signature: 'static int check_msg_find_cert(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:703,1
    - Dst: OSSL_CMP_validate_msg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:712,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:730,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:723,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:768,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:670,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:747,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:739,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:776,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:798,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:676,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:692,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:715,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:750,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:732,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:758,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:785,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:807,1
    - Dst: check_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:687,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:686,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:672,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:693,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:737,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:761,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c:791,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 89
    argCount: 4
    argNames:
    - ctx
    - msg
    - cb
    - cb_arg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - ossl_cmp_allow_unprotected_cb_t
    - int
    constantsTouched: []
    func_position:
      end: 817
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 817
    functionName: ossl_cmp_msg_check_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_vfy.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_validate_msg
    - ERR_raise
    - check_name
    - ossl_assert
    - ossl_cmp_warn
    - sk_X509_num
    - ossl_cmp_ctx_set1_recipNonce
    - ossl_cmp_hdr_get_protection_nid
    - ASN1_OCTET_STRING_cmp
    - OSSL_CMP_CTX_set1_transactionID
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_X509_STORE_add1_certs
    - X509_add_certs
    - ossl_cmp_hdr_get_pvno
    - OSSL_CMP_MSG_get0_header
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_msg_check_update(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg, ossl_cmp_allow_unprotected_cb_t cb, int cb_arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:230,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:232,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:235,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:230,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:237,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:240,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - OSSL_CMP_CTX*
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: set_sig_algor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c
    functionUses: []
    functionsReached:
    - OBJ_find_sigid_by_algs
    - ERR_raise
    - OBJ_nid2obj
    - EVP_MD_get_type
    - X509_ALGOR_set0
    - ASN1_OBJECT_free
    - EVP_PKEY_get_id
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: 'static int set_sig_algor(const OSSL_CMP_CTX *ctx, X509_ALGOR **alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:194,1
    - Dst: OSSL_CRMF_pbmp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:197,1
    - Dst: i2d_OSSL_CRMF_PBMPARAMETER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:204,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:200,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:198,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:207,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:209,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:211,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:213,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:213,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:220,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:221,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:215,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:219,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - OSSL_CMP_CTX*
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 223
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 223
    functionName: set_pbmac_algor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - i2d_OSSL_CRMF_PBMPARAMETER
    - OPENSSL_free
    - ASN1_STRING_new
    - EVP_MD_get_type
    - X509_ALGOR_set0
    - OBJ_nid2obj
    - OSSL_CRMF_PBMPARAMETER_free
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OSSL_CRMF_pbmp_new
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: 'static int set_pbmac_algor(const OSSL_CMP_CTX *ctx, X509_ALGOR **alg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:257,1
    - Dst: set_pbmac_algor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:273,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:265,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:263,1
    - Dst: set_senderKID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:269,1
    - Dst: set_senderKID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:275,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:287,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:288,1
    - Dst: set_sig_algor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:292,1
    - Dst: set_senderKID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:295,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:303,1
    - Dst: ossl_cmp_msg_add_extraCerts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:317,1
    - Dst: ossl_cmp_general_name_is_NULL_DN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:325,1
    - Dst: X509_get0_subject_key_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:295,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:328,1
    - Dst: ossl_cmp_calc_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:308,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:331,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 333
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 333
    functionName: ossl_cmp_msg_protect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - ERR_raise
    - X509_get0_subject_key_id
    - set_senderKID
    - ossl_assert
    - ossl_cmp_general_name_is_NULL_DN
    - ossl_cmp_msg_add_extraCerts
    - set_sig_algor
    - X509_check_private_key
    - ossl_cmp_calc_protection
    - ASN1_BIT_STRING_free
    - set_pbmac_algor
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_msg_protect(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_hdr_set1_senderKID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - msg
    - id
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: set_senderKID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c
    functionUses: []
    functionsReached:
    - ossl_cmp_hdr_set1_senderKID
    linkageType: ''
    returnType: int
    signature: 'static int set_senderKID(const OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg,
      const ASN1_OCTET_STRING *id) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:66,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:91,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:120,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:62,1
    - Dst: i2d_OSSL_CMP_PROTECTEDPART
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:72,1
    - Dst: d2i_OSSL_CRMF_PBMPARAMETER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:81,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:102,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:116,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:101,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:97,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:103,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:126,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:46,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:110,1
    - Dst: OSSL_CRMF_pbm_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:85,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:114,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:115,1
    - Dst: ASN1_item_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:122,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:122,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 129
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 129
    functionName: ossl_cmp_calc_protection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbynid
    - ERR_raise
    - ossl_assert
    - ASN1_BIT_STRING_set
    - OBJ_obj2nid
    - OPENSSL_free
    - d2i_OSSL_CRMF_PBMPARAMETER
    - ASN1_BIT_STRING_new
    - ASN1_BIT_STRING_free
    - X509_ALGOR_get0
    - OSSL_CRMF_pbm_new
    - OSSL_CRMF_PBMPARAMETER_free
    - ASN1_item_sign_ex
    - ASN1_ITEM_rptr
    - i2d_OSSL_CMP_PROTECTEDPART
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: ASN1_BIT_STRING*
    signature: 'ASN1_BIT_STRING *ossl_cmp_calc_protection(const OSSL_CMP_CTX *ctx,
      const OSSL_CMP_MSG *msg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:134,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:154,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:145,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:150,1
    - Dst: X509_build_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:147,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:155,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:160,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:164,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:166,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:171,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:176,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 181
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 181
    functionName: ossl_cmp_msg_add_extraCerts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_protect.c
    functionUses: []
    functionsReached:
    - ossl_x509_add_cert_new
    - ossl_cmp_warn
    - ossl_assert
    - X509_build_chain
    - ossl_x509_add_certs_new
    - sk_X509_num
    - OSSL_CMP_CTX_print_errors
    - ossl_cmp_debug
    - sk_X509_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_msg_add_extraCerts(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 252
    functionName: ossl_cmp_itav_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_MSGS)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_MSGS) /*- * InfoTypeAndValue ::= SEQUENCE
      { * infoType OBJECT IDENTIFIER, * infoValue ANY DEFINED BY infoType OPTIONAL
      * } */ struct ossl_cmp_itav_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionName: ossl_cmp_pkisi_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_CERTIFIEDKEYPAIR)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_CERTIFIEDKEYPAIR) /*- * PKIStatusInfo
      ::= SEQUENCE { * status PKIStatus, * statusString PKIFreeText OPTIONAL, * failInfo
      PKIFailureInfo OPTIONAL * } */ struct ossl_cmp_pkisi_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: ossl_cmp_certrepmessage_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_CERTRESPONSE)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_CERTRESPONSE) /*- * CertRepMessage
      ::= SEQUENCE { * caPubs [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate * OPTIONAL,
      * response SEQUENCE OF CertResponse * } */ struct ossl_cmp_certrepmessage_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_ASN1_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h:444,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h:493,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 0
    argNames:
    - OSSL_CMP_POLLREQ
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 494
    functionName: DEFINE_STACK_OF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached:
    - DECLARE_ASN1_FUNCTIONS
    - STACK_OF
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_POLLREQ)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_POLLREQ) DEFINE_STACK_OF(OSSL_CMP_POLLREQ)
      typedef STACK_OF(OSSL_CMP_POLLREQ) OSSL_CMP_POLLREQCONTENT;DECLARE_ASN1_FUNCTIONS(OSSL_CMP_POLLREQCONTENT)/*-
      * PollRepContent ::= SEQUENCE OF SEQUENCE { * certReqId INTEGER, * checkAfter
      INTEGER, -- time in seconds * reason PKIFreeText OPTIONAL * } */struct ossl_cmp_pollrep_st
      { ASN1_INTEGER *certReqId; ASN1_INTEGER *checkAfter; OSSL_CMP_PKIFREETEXT *reason;
      } /* OSSL_CMP_POLLREP */;DECLARE_ASN1_FUNCTIONS(OSSL_CMP_POLLREP)DEFINE_STACK_OF(OSSL_CMP_POLLREP)DECLARE_ASN1_FUNCTIONS(OSSL_CMP_POLLREPCONTENT)/*-
      * PKIHeader ::= SEQUENCE { * pvno INTEGER { cmp1999(1), cmp2000(2) }, * sender
      GeneralName, * -- identifies the sender * recipient GeneralName, * -- identifies
      the intended recipient * messageTime [0] GeneralizedTime OPTIONAL, * -- time
      of production of this message (used when sender * -- believes that the transport
      will be "suitable"; i.e., * -- that the time will still be meaningful upon receipt)
      * protectionAlg [1] AlgorithmIdentifier OPTIONAL, * -- algorithm used for calculation
      of protection bits * senderKID [2] KeyIdentifier OPTIONAL, * recipKID [3] KeyIdentifier
      OPTIONAL, * -- to identify specific keys used for protection * transactionID
      [4] OCTET STRING OPTIONAL, * -- identifies the transaction; i.e., this will
      be the same in * -- corresponding request, response, certConf, and PKIConf *
      -- messages * senderNonce [5] OCTET STRING OPTIONAL, * recipNonce [6] OCTET
      STRING OPTIONAL, * -- nonces used to provide replay protection, senderNonce
      * -- is inserted by the creator of this message; recipNonce * -- is a nonce
      previously inserted in a related message by * -- the intended recipient of this
      message * freeText [7] PKIFreeText OPTIONAL, * -- this may be used to indicate
      context-specific instructions * -- (this field is intended for human consumption)
      * generalInfo [8] SEQUENCE SIZE (1..MAX) OF * InfoTypeAndValue OPTIONAL * --
      this may be used to convey context-specific information * -- (this field not
      primarily intended for human consumption) * } */struct ossl_cmp_pkiheader_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h:671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 674
    functionName: ossl_cmp_msg_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_PKIBODY)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_PKIBODY) /*- * PKIProtection ::= BIT
      STRING * * PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage * * PKIMessage
      ::= SEQUENCE { * header PKIHeader, * body PKIBody, * protection [0] PKIProtection
      OPTIONAL, * extraCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate * OPTIONAL
      * } */ struct ossl_cmp_msg_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 401
    functionName: ossl_cmp_certresponse_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_CERTCONFIRMCONTENT)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_CERTCONFIRMCONTENT) /*- * CertResponse
      ::= SEQUENCE { * certReqId INTEGER, * -- to match this response with corresponding
      request (a value * -- of -1 is to be used if certReqId is not specified in the
      * -- corresponding request) * status PKIStatusInfo, * certifiedKeyPair CertifiedKeyPair
      OPTIONAL, * rspInfo OCTET STRING OPTIONAL * -- analogous to the id-regInfo-utf8Pairs
      string defined * -- for regInfo in CertReqMsg [CRMF] * } */ struct ossl_cmp_certresponse_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h:323,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - OSSL_CMP_REVDETAILS
    argTypes:
    - OSSL_CMP_REVDETAILS
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: DEFINE_STACK_OF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached:
    - STACK_OF
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_REVDETAILS)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_REVDETAILS) DEFINE_STACK_OF(OSSL_CMP_REVDETAILS)/*-
      * RevRepContent ::= SEQUENCE { * status SEQUENCE SIZE (1..MAX) OF PKIStatusInfo,
      * -- in same order as was sent in RevReqContent * revCerts [0] SEQUENCE SIZE
      (1..MAX) OF CertId * OPTIONAL, * -- IDs for which revocation was requested *
      -- (same order as status) * crls [1] SEQUENCE SIZE (1..MAX) OF CertificateList
      * OPTIONAL * -- the resulting CRLs (there may be more than one) * } */struct
      ossl_cmp_revrepcontent_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: ossl_cmp_certstatus_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(OSSL_CMP_ERRORMSGCONTENT)
    signature: 'DECLARE_ASN1_FUNCTIONS(OSSL_CMP_ERRORMSGCONTENT) /*- * CertConfirmContent
      ::= SEQUENCE OF CertStatus * * CertStatus ::= SEQUENCE { * certHash OCTET STRING,
      * -- the hash of the certificate, using the same hash algorithm * -- as is used
      to create and verify the certificate signature * certReqId INTEGER, * -- to
      match this confirmation with the corresponding req/rep * statusInfo PKIStatusInfo
      OPTIONAL * } */ struct ossl_cmp_certstatus_st '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: ossl_cmp_bodytype_to_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_cmp_bodytype_to_string(int type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:622,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:625,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:632,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:627,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:631,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 634
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 634
    functionName: ossl_cmp_pkiconf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - ossl_cmp_msg_protect
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_create
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_pkiconf_new(OSSL_CMP_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:524,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:536,1
    - Dst: OSSL_CMP_REVDETAILS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:528,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:537,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:533,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:538,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:539,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:540,1
    - Dst: add_crl_reason_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:547,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:551,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:566,1
    - Dst: sk_OSSL_CMP_REVDETAILS_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:554,1
    - Dst: OSSL_CMP_REVDETAILS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:567,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:559,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:565,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 569
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 569
    functionName: ossl_cmp_rr_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_REVDETAILS_free
    - ERR_raise
    - ossl_assert
    - X509_get0_serialNumber
    - X509_REQ_get0_pubkey
    - X509_REQ_get_subject_name
    - ossl_cmp_msg_protect
    - X509_get_issuer_name
    - ossl_cmp_msg_create
    - OSSL_CMP_MSG_free
    - OSSL_CRMF_CERTTEMPLATE_fill
    - OSSL_CMP_REVDETAILS_new
    - add_crl_reason_extension
    - sk_OSSL_CMP_REVDETAILS_push
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_rr_new(OSSL_CMP_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1036,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1050,1
    - Dst: OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1054,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1047,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1043,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1059,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1064,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1066,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - crep
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_CERTRESPONSE*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1068
    functionName: ossl_cmp_certresponse_get1_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_CTX_get0_newPkey
    - X509_dup
    - ossl_assert
    - ossl_x509_set0_libctx
    - OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
    linkageType: ''
    returnType: X509*
    signature: 'X509 *ossl_cmp_certresponse_get1_cert(const OSSL_CMP_CTX *ctx, const
      OSSL_CMP_CERTRESPONSE *crep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1158,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - out
    argTypes:
    - OSSL_CMP_MSG*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 1160
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1160
    functionName: i2d_OSSL_CMP_MSG
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    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: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - type
    argTypes:
    - OSSL_CMP_MSG*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ossl_cmp_msg_set_bodytype
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_msg_set_bodytype(OSSL_CMP_MSG *msg, int type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:579,1
    - Dst: sk_OSSL_CMP_PKISI_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:589,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:590,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:582,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:586,1
    - Dst: sk_OSSL_CRMF_CERTID_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:594,1
    - Dst: OSSL_CRMF_CERTID_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:597,1
    - Dst: sk_OSSL_CRMF_CERTID_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:599,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:600,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:606,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:607,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:614,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:613,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - si
    - cid
    - unprotectedErrors
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKISI*
    - OSSL_CRMF_CERTID*
    - int
    constantsTouched: []
    func_position:
      end: 616
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 616
    functionName: ossl_cmp_rp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - sk_OSSL_CRMF_CERTID_push
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - OSSL_CMP_MSG_free
    - OSSL_CMP_PKISI_free
    - ossl_cmp_pkisi_get_status
    - sk_OSSL_CMP_PKISI_push
    - OSSL_CRMF_CERTID_dup
    - sk_OSSL_CRMF_CERTID_new_null
    - OSSL_CMP_PKISI_dup
    - OSSL_CRMF_CERTID_free
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_rp_new(OSSL_CMP_CTX *ctx, const OSSL_CMP_PKISI
      *si, const OSSL_CRMF_CERTID *cid, int unprotectedErrors) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:640,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:646,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:643,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - itav
    argTypes:
    - OSSL_CMP_MSG*
    - OSSL_CMP_ITAV*
    constantsTouched: []
    func_position:
      end: 652
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 652
    functionName: ossl_cmp_msg_gen_push0_ITAV
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - OSSL_CMP_ITAV_push0_stack_item
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_msg_gen_push0_ITAV(OSSL_CMP_MSG *msg, OSSL_CMP_ITAV *itav) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1073,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1079,1
    - Dst: ossl_cmp_hdr_set_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1076,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 1080
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1080
    functionName: OSSL_CMP_MSG_update_transactionID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cmp_msg_protect
    - ossl_cmp_hdr_set_transactionID
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_MSG_update_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG
      *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1172,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - bio
    - msg
    argTypes:
    - BIO*
    - OSSL_CMP_MSG**
    constantsTouched: []
    func_position:
      end: 1174
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1174
    functionName: d2i_OSSL_CMP_MSG_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i_bio_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *d2i_OSSL_CMP_MSG_bio(BIO *bio, OSSL_CMP_MSG **msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:151,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:156,1
    - Dst: add1_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:155,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pexts
    - reason_code
    argTypes:
    - X509_EXTENSIONS**
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: add_crl_reason_extension
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ASN1_ENUMERATED_free
    - ASN1_ENUMERATED_set
    - add1_extension
    - ASN1_ENUMERATED_new
    linkageType: ''
    returnType: int
    signature: 'static int add_crl_reason_extension(X509_EXTENSIONS **pexts, int reason_code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:924,1
    - Dst: sk_OSSL_CMP_PKISI_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:927,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - rrep
    - rsid
    argTypes:
    - OSSL_CMP_REVREPCONTENT*
    - int
    constantsTouched: []
    func_position:
      end: 932
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 932
    functionName: ossl_cmp_revrepcontent_get_pkisi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - sk_OSSL_CMP_PKISI_value
    linkageType: ''
    returnType: OSSL_CMP_PKISI*
    signature: 'OSSL_CMP_PKISI *ossl_cmp_revrepcontent_get_pkisi(OSSL_CMP_REVREPCONTENT
      *rrep, int rsid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1010,1
    - Dst: suitable_rid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1015,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1014,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1013,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1019,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - crm
    - rid
    argTypes:
    - OSSL_CMP_CERTREPMESSAGE*
    - int
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: ossl_cmp_certrepmessage_get0_certresponse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - sk_OSSL_CMP_CERTRESPONSE_num
    - ERR_raise_data
    - sk_OSSL_CMP_CERTRESPONSE_value
    - suitable_rid
    linkageType: ''
    returnType: OSSL_CMP_CERTRESPONSE*
    signature: 'OSSL_CMP_CERTRESPONSE *ossl_cmp_certrepmessage_get0_certresponse(const
      OSSL_CMP_CERTREPMESSAGE *crm, int rid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:50,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - libctx
    - propq
    argTypes:
    - OSSL_CMP_MSG*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: ossl_cmp_msg_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_msg_set0_libctx(OSSL_CMP_MSG *msg, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:129,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:131,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:132,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:130,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:138,1
    - Dst: sk_X509_EXTENSION_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:138,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:139,1
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - target
    - exts
    argTypes:
    - STACK_OF(X509_EXTENSION)**
    - STACK_OF(X509_EXTENSION)*
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: add_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_delete
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - X509v3_add_ext
    - X509v3_get_ext_by_OBJ
    - X509_EXTENSION_free
    linkageType: ''
    returnType: int
    signature: 'static int add_extensions(STACK_OF(X509_EXTENSION) **target, const
      STACK_OF(X509_EXTENSION) *exts) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:190,1
    - Dst: sk_OSSL_CMP_POLLREQ_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:222,1
    - Dst: ossl_cmp_hdr_generalInfo_push1_items
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:173,1
    - Dst: OSSL_CMP_MSG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:167,1
    - Dst: OSSL_CRMF_MSGS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:187,1
    - Dst: OSSL_CMP_CERTREPMESSAGE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:197,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:212,1
    - Dst: OSSL_CMP_ERRORMSGCONTENT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:237,1
    - Dst: OSSL_CMP_REVREPCONTENT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:206,1
    - Dst: ossl_cmp_msg_set_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:170,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:169,1
    - Dst: sk_OSSL_CMP_POLLREP_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:226,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:218,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:164,1
    - Dst: sk_OSSL_CMP_REVDETAILS_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:242,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:216,1
    - Dst: sk_OSSL_CMP_ITAV_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:232,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:247,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 56
    argCount: 2
    argNames:
    - ctx
    - bodytype
    argTypes:
    - OSSL_CMP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 249
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 249
    functionName: ossl_cmp_msg_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_CERTSTATUS_new_null
    - OSSL_CRMF_MSGS_new
    - OSSL_CMP_MSG_new
    - sk_OSSL_CMP_POLLREQ_new_null
    - sk_OSSL_CMP_ITAV_new_null
    - sk_OSSL_CMP_POLLREP_new_null
    - ASN1_TYPE_new
    - X509_REQ_dup
    - sk_OSSL_CMP_REVDETAILS_new_null
    - ossl_cmp_hdr_generalInfo_push1_items
    - OSSL_CMP_REVREPCONTENT_new
    - ossl_cmp_hdr_init
    - OSSL_CMP_CERTREPMESSAGE_new
    - ERR_raise
    - ossl_assert
    - ASN1_TYPE_set
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_set_bodytype
    - OSSL_CMP_ERRORMSGCONTENT_new
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_msg_create(OSSL_CMP_CTX *ctx, int bodytype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: ossl_cmp_genm_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - gen_new
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_genm_new(OSSL_CMP_CTX *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:888,1
    - Dst: OSSL_CMP_POLLREP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:893,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:897,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:891,1
    - Dst: sk_OSSL_CMP_POLLREP_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:895,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:899,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:902,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:907,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:908,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - crid
    - poll_after
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int64_t
    constantsTouched: []
    func_position:
      end: 910
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 910
    functionName: ossl_cmp_pollRep_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - OSSL_CMP_POLLREP_new
    - sk_OSSL_CMP_POLLREP_push
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - ASN1_INTEGER_set_int64
    - OSSL_CMP_MSG_free
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_pollRep_new(OSSL_CMP_CTX *ctx, int crid, int64_t
      poll_after) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:984,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:993,1
    - Dst: suitable_rid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:989,1
    - Dst: sk_OSSL_CMP_POLLREP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:988,1
    - Dst: sk_OSSL_CMP_POLLREP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - prc
    - rid
    argTypes:
    - OSSL_CMP_POLLREPCONTENT*
    - int
    constantsTouched: []
    func_position:
      end: 996
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 996
    functionName: ossl_cmp_pollrepcontent_get0_pollrep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - ERR_raise_data
    - sk_OSSL_CMP_POLLREP_num
    - suitable_rid
    - sk_OSSL_CMP_POLLREP_value
    linkageType: ''
    returnType: OSSL_CMP_POLLREP*
    signature: 'OSSL_CMP_POLLREP *ossl_cmp_pollrepcontent_get0_pollrep(const OSSL_CMP_POLLREPCONTENT
      *prc, int rid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: OSSL_CMP_MSG_get0_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKIHEADER*
    signature: 'OSSL_CMP_PKIHEADER *OSSL_CMP_MSG_get0_header(const OSSL_CMP_MSG *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - itavs
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(OSSL_CMP_ITAV)*
    constantsTouched: []
    func_position:
      end: 715
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 715
    functionName: ossl_cmp_genp_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - gen_new
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_genp_new(OSSL_CMP_CTX *ctx, const STACK_OF(OSSL_CMP_ITAV)
      *itavs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - msg
    argTypes:
    - BIO*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1179
    functionName: i2d_OSSL_CMP_MSG_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:777,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - certStatus
    - hash
    argTypes:
    - OSSL_CMP_CERTSTATUS*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: ossl_cmp_certstatus_set0_certHash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_certstatus_set0_certHash(OSSL_CMP_CERTSTATUS *certStatus,
      ASN1_OCTET_STRING *hash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:26,1
    - Dst: ossl_cmp_msg_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:28,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:26,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: OSSL_CMP_MSG_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ossl_cmp_msg_set0_libctx
    - ASN1_item_new_ex
    - ASN1_ITEM_rptr
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *OSSL_CMP_MSG_new(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:684,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:693,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:699,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:687,1
    - Dst: ossl_cmp_msg_gen_push1_ITAVs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:690,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:700,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - itavs
    - body_type
    - err_code
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(OSSL_CMP_ITAV)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 702
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 702
    functionName: gen_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - ossl_cmp_msg_gen_push1_ITAVs
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *gen_new(OSSL_CMP_CTX *ctx, const STACK_OF(OSSL_CMP_ITAV)
      *itavs, int body_type, int err_code) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:725,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:728,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:731,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:732,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:735,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:737,1
    - Dst: ERR_lib_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:741,1
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:742,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:745,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:749,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:752,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:765,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:755,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:764,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:759,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 59
    argCount: 5
    argNames:
    - ctx
    - si
    - errorCode
    - details
    - unprotected
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKISI*
    - int64_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 767
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 767
    functionName: ossl_cmp_error_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - sk_ASN1_UTF8STRING_new_null
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - ASN1_INTEGER_set_int64
    - OSSL_CMP_PKISI_free
    - ossl_cmp_sk_ASN1_UTF8STRING_push_str
    - ERR_reason_error_string
    - OSSL_CMP_MSG_free
    - ERR_lib_error_string
    - ASN1_INTEGER_new
    - OSSL_CMP_PKISI_dup
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_error_new(OSSL_CMP_CTX *ctx, const OSSL_CMP_PKISI
      *si, int64_t errorCode, const char *details, int unprotected) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:792,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:798,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:808,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:802,1
    - Dst: OSSL_CMP_CERTSTATUS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:805,1
    - Dst: OSSL_CMP_CERTSTATUS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:809,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:814,1
    - Dst: X509_digest_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:821,1
    - Dst: ossl_cmp_certstatus_set0_certHash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:824,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:835,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:836,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:848,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:849,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:847,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:841,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - certReqId
    - fail_info
    - text
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 851
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 851
    functionName: ossl_cmp_certConf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - X509_digest_sig
    - ERR_raise
    - ossl_assert
    - OSSL_CMP_CERTSTATUS_free
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - OSSL_CMP_MSG_free
    - ASN1_INTEGER_set
    - ossl_cmp_certstatus_set0_certHash
    - sk_OSSL_CMP_CERTSTATUS_push
    - ASN1_OCTET_STRING_free
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_CERTSTATUS_new
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_certConf_new(OSSL_CMP_CTX *ctx, int certReqId,
      int fail_info, const char *text) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:37,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: OSSL_CMP_MSG_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_CMP_MSG_free(OSSL_CMP_MSG *msg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:858,1
    - Dst: OSSL_CMP_POLLREQ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:864,1
    - Dst: sk_OSSL_CMP_POLLREQ_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:866,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:861,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:865,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:870,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:876,1
    - Dst: OSSL_CMP_POLLREQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:877,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:878,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - crid
    argTypes:
    - OSSL_CMP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 880
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 880
    functionName: ossl_cmp_pollReq_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_POLLREQ_free
    - ERR_raise
    - sk_OSSL_CMP_POLLREQ_push
    - ossl_assert
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - OSSL_CMP_MSG_free
    - ASN1_INTEGER_set
    - OSSL_CMP_POLLREQ_new
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_pollReq_new(OSSL_CMP_CTX *ctx, int crid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:660,1
    - Dst: ossl_cmp_msg_gen_push0_ITAV
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:666,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:663,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:664,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:664,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:667,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - msg
    - itavs
    argTypes:
    - OSSL_CMP_MSG*
    - STACK_OF(OSSL_CMP_ITAV)*
    constantsTouched: []
    func_position:
      end: 672
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 672
    functionName: ossl_cmp_msg_gen_push1_ITAVs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_ITAV_num
    - sk_OSSL_CMP_ITAV_value
    - ossl_assert
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_ITAV_dup
    - ossl_cmp_msg_gen_push0_ITAV
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_msg_gen_push1_ITAVs(OSSL_CMP_MSG *msg, const STACK_OF(OSSL_CMP_ITAV)
      *itavs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:109,1
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:115,1
    - Dst: X509V3_EXT_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:112,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - pexts
    - nid
    - crit
    - ex
    argTypes:
    - X509_EXTENSIONS**
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: add1_extension
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - X509_EXTENSION_free
    - X509V3_EXT_i2d
    - X509v3_add_ext
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'static int add1_extension(X509_EXTENSIONS **pexts, int nid, int crit,
      void *ex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_DN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:259,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:261,1
    - Dst: HAS_SAN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - for_KUR
    - ref_subj
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: determine_subj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - IS_NULL_DN
    - HAS_SAN
    - X509_REQ_get_subject_name
    linkageType: ''
    returnType: X509_NAME*
    signature: 'static const X509_NAME *determine_subj(OSSL_CMP_CTX *ctx, int for_KUR,
      const X509_NAME *ref_subj) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:382,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:395,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:399,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:391,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:387,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:405,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:409,1
    - Dst: OSSL_CMP_CTX_setup_CRM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:413,1
    - Dst: OSSL_CRMF_MSG_create_popo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:417,1
    - Dst: OSSL_CRMF_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:422,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:432,1
    - Dst: OSSL_CRMF_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:439,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:438,1
    - Dst: sk_OSSL_CRMF_MSG_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:427,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:440,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 53
    argCount: 3
    argNames:
    - ctx
    - type
    - crm
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    constantsTouched: []
    func_position:
      end: 442
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 442
    functionName: ossl_cmp_certreq_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_CTX_get0_newPkey
    - ossl_assert
    - sk_OSSL_CRMF_MSG_push
    - OSSL_CRMF_MSG_free
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - OSSL_CMP_MSG_free
    - OSSL_CRMF_MSG_create_popo
    - OSSL_CMP_CTX_setup_CRM
    - OSSL_CRMF_MSG_dup
    - ossl_cmp_hdr_set_implicitConfirm
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_certreq_new(OSSL_CMP_CTX *ctx, int type, const
      OSSL_CRMF_MSG *crm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:946,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:952,1
    - Dst: sk_OSSL_CRMF_CERTID_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:949,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - rrep
    - rsid
    argTypes:
    - OSSL_CMP_REVREPCONTENT*
    - int
    constantsTouched: []
    func_position:
      end: 954
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 954
    functionName: ossl_cmp_revrepcontent_get_CertId
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CRMF_CERTID_value
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: OSSL_CRMF_CERTID*
    signature: 'OSSL_CRMF_CERTID *ossl_cmp_revrepcontent_get_CertId(OSSL_CMP_REVREPCONTENT
      *rrep, int rsid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1085,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1093,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1090,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1094
    functionName: OSSL_CMP_MSG_update_recipNonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ERR_raise
    - ossl_cmp_msg_protect
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_MSG_update_recipNonce(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG
      *msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1128,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1132,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1136,1
    - Dst: i2d_OSSL_CMP_MSG_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - file
    - msg
    argTypes:
    - char*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1138
    functionName: OSSL_CMP_MSG_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - i2d_OSSL_CMP_MSG_bio
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_MSG_write(const char *file, const OSSL_CMP_MSG *msg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_ctx_get0_newPubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:276,1
    - Dst: determine_subj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:280,1
    - Dst: IS_NULL_DN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:282,1
    - Dst: OSSL_CRMF_MSG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:298,1
    - Dst: OSSL_CRMF_MSG_set_certReqId
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:300,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:317,1
    - Dst: HAS_SAN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:327,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:336,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:359,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:371,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:279,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:295,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:306,1
    - Dst: X509V3_get_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:328,1
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:328,1
    - Dst: add1_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:331,1
    - Dst: add_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:334,1
    - Dst: OSSL_CRMF_MSG_set1_regCtrl_oldCertID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:358,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:290,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:311,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:318,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:312,1
    - Dst: X509_REQ_get_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:325,1
    - Dst: OSSL_CRMF_MSG_set0_validity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:316,1
    - Dst: add1_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:341,1
    - Dst: OSSL_CRMF_MSG_set0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:344,1
    - Dst: OSSL_CRMF_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:367,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:372,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:277,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:306,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:310,1
    - Dst: add1_extension
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:337,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:352,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:352,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:353,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 98
    argCount: 3
    argNames:
    - ctx
    - for_KUR
    - rid
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 374
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 374
    functionName: OSSL_CMP_CTX_setup_CRM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - OSSL_CRMF_CERTID_gen
    - sk_GENERAL_NAME_num
    - ASN1_TIME_free
    - X509_get0_serialNumber
    - ASN1_TIME_adj
    - OSSL_CRMF_MSG_free
    - X509_get_issuer_name
    - ossl_cmp_ctx_get0_newPubkey
    - sk_GENERAL_NAME_pop_free
    - STACK_OF
    - X509_get_subject_name
    - OSSL_CRMF_MSG_set_certReqId
    - IS_NULL_DN
    - OSSL_CRMF_CERTID_free
    - OSSL_CRMF_MSG_set1_regCtrl_oldCertID
    - time
    - add1_extension
    - OSSL_CRMF_MSG_new
    - OSSL_CRMF_CERTTEMPLATE_fill
    - X509_REQ_get_extensions
    - X509V3_get_d2i
    - OSSL_CRMF_MSG_get0_tmpl
    - HAS_SAN
    - ERR_raise
    - sk_X509_EXTENSION_pop_free
    - determine_subj
    - OSSL_CRMF_MSG_set0_validity
    - add_extensions
    - X509_get0_extensions
    - OSSL_CRMF_MSG_set0_extensions
    linkageType: ''
    returnType: OSSL_CRMF_MSG*
    signature: 'OSSL_CRMF_MSG *OSSL_CMP_CTX_setup_CRM(OSSL_CMP_CTX *ctx, int for_KUR,
      int rid) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:478,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:506,1
    - Dst: OSSL_CMP_CERTIFIEDKEYPAIR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:482,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:497,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:512,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:492,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:487,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:455,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:463,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:474,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:499,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:500,1
    - Dst: OSSL_CMP_CERTRESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:513,1
    - Dst: OSSL_CMP_CERTRESPONSE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:467,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:469,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:458,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:470,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:471,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:505,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:514,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 66
    argCount: 9
    argNames:
    - ctx
    - bodytype
    - certReqId
    - si
    - cert
    - encryption_recip
    - chain
    - caPubs
    - unprotectedErrors
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - OSSL_CMP_PKISI*
    - X509*
    - X509*
    - STACK_OF(X509)*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 516
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 516
    functionName: ossl_cmp_certrep_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - ossl_x509_add_certs_new
    - sk_X509_num
    - X509_up_ref
    - OSSL_CMP_CERTRESPONSE_free
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_create
    - OSSL_CMP_CERTIFIEDKEYPAIR_new
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_MSG_free
    - ASN1_INTEGER_set
    - OSSL_CMP_CERTRESPONSE_new
    - sk_OSSL_CMP_CERTRESPONSE_push
    - ossl_cmp_pkisi_get_status
    - ossl_cmp_hdr_set_implicitConfirm
    - X509_chain_up_ref
    - OSSL_CMP_PKISI_dup
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *ossl_cmp_certrep_new(OSSL_CMP_CTX *ctx, int bodytype,
      int certReqId, const OSSL_CMP_PKISI *si, X509 *cert, const X509 *encryption_recip,
      STACK_OF(X509) *chain, STACK_OF(X509) *caPubs, int unprotectedErrors) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:963,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - certReqId
    - rid
    argTypes:
    - ASN1_INTEGER*
    - int
    constantsTouched: []
    func_position:
      end: 970
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 970
    functionName: suitable_rid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cmp_asn1_get_int
    linkageType: ''
    returnType: int
    signature: 'static int suitable_rid(const ASN1_INTEGER *certReqId, int rid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1103,1
    - Dst: d2i_OSSL_CMP_MSG_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1114,1
    - Dst: OSSL_CMP_MSG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1107,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1109,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1115,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - file
    - libctx
    - propq
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1120
    functionName: OSSL_CMP_MSG_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - BIO_free
    - OSSL_CMP_MSG_free
    - d2i_OSSL_CMP_MSG_bio
    - OSSL_CMP_MSG_new
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *OSSL_CMP_MSG_read(const char *file, OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1151,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:1152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - in
    - len
    argTypes:
    - OSSL_CMP_MSG**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 1154
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1154
    functionName: d2i_OSSL_CMP_MSG
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_ex
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *d2i_OSSL_CMP_MSG(OSSL_CMP_MSG **msg, const unsigned
      char **in, long len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: OSSL_CMP_MSG_get_bodytype
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_msg.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_MSG_get_bodytype(const OSSL_CMP_MSG *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:34,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - si
    argTypes:
    - OSSL_CMP_PKISI*
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: ossl_cmp_pkisi_get_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:58,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: ossl_cmp_PKIStatus_to_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_cmp_PKIStatus_to_string(int status) '
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 149
    functionName: CMP_PKIFAILUREINFO_to_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *CMP_PKIFAILUREINFO_to_string(int number) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:153,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - si
    - bit_index
    argTypes:
    - OSSL_CMP_PKISI*
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: ossl_cmp_pkisi_check_pkifailureinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_pkisi_check_pkifailureinfo(const OSSL_CMP_PKISI *si,
      int bit_index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:246,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:252,1
    - Dst: snprint_PKIStatusInfo_parts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:252,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - statusInfo
    - buf
    - bufsize
    argTypes:
    - OSSL_CMP_PKISI*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: OSSL_CMP_snprint_PKIStatusInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - snprint_PKIStatusInfo_parts
    - ERR_raise
    - ASN1_INTEGER_get
    - ossl_cmp_pkisi_get_pkifailureinfo
    linkageType: ''
    returnType: char*
    signature: 'char *OSSL_CMP_snprint_PKIStatusInfo(const OSSL_CMP_PKISI *statusInfo,
      char *buf, size_t bufsize) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_PKISI_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:280,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:293,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:290,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:291,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:286,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:295,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:304,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:306,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:313,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:314,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 35
    argCount: 3
    argNames:
    - status
    - fail_info
    - text
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 316
    functionName: OSSL_CMP_STATUSINFO_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_new
    - sk_ASN1_UTF8STRING_new_null
    - OSSL_CMP_PKISI_new
    - OSSL_CMP_PKISI_free
    - ASN1_INTEGER_set
    - ASN1_BIT_STRING_new
    - ASN1_BIT_STRING_set_bit
    - ASN1_STRING_set
    - sk_ASN1_UTF8STRING_push
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: OSSL_CMP_PKISI*
    signature: 'OSSL_CMP_PKISI *OSSL_CMP_STATUSINFO_new(int status, int fail_info,
      const char *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - si
    argTypes:
    - OSSL_CMP_PKISI*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ossl_cmp_pkisi_get0_statusString
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: OSSL_CMP_PKIFREETEXT*
    signature: 'OSSL_CMP_PKIFREETEXT *ossl_cmp_pkisi_get0_statusString(const OSSL_CMP_PKISI
      *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:261,1
    - Dst: OSSL_CMP_CTX_get0_statusString
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:267,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:265,1
    - Dst: snprint_PKIStatusInfo_parts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:265,1
    - Dst: OSSL_CMP_CTX_get_failInfoCode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - bufsize
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: OSSL_CMP_CTX_snprint_PKIStatus
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_get0_statusString
    - OSSL_CMP_CTX_get_failInfoCode
    - snprint_PKIStatusInfo_parts
    linkageType: ''
    returnType: char*
    signature: 'char *OSSL_CMP_CTX_snprint_PKIStatus(const OSSL_CMP_CTX *ctx, char
      *buf, size_t bufsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:76,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - si
    argTypes:
    - OSSL_CMP_PKISI*
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: ossl_cmp_pkisi_get_pkifailureinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_pkisi_get_pkifailureinfo(const OSSL_CMP_PKISI *si) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_PKIStatus_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:183,1
    - Dst: CMP_PKIFAILUREINFO_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:204,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:200,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:192,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:206,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:217,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:222,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:224,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:228,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:229,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:230,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c:231,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 5
    argNames:
    - status
    - fail_info
    - status_strings
    - buf
    - bufsize
    argTypes:
    - int
    - int
    - OSSL_CMP_PKIFREETEXT*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: snprint_PKIStatusInfo_parts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_status.c
    functionUses: []
    functionsReached:
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_length
    - BIO_snprintf
    - sk_ASN1_UTF8STRING_num
    - ossl_cmp_PKIStatus_to_string
    - ASN1_STRING_get0_data
    - CMP_PKIFAILUREINFO_to_string
    linkageType: ''
    returnType: char*
    signature: 'static char *snprint_PKIStatusInfo_parts(int status, int fail_info,
      const OSSL_CMP_PKIFREETEXT *status_strings, char *buf, size_t bufsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_err.c:173,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_err.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: ossl_err_load_CMP_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_err.c
    functionUses: []
    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: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - func
    - fallback
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: improve_location_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *improve_location_name(const char *func, const char
      *fallback) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:48,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:55,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:57,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:56,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:61,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:63,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:64,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:65,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:66,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:67,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:70,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:69,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 72
    functionName: parse_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - strchr
    - strcmp
    - OPENSSL_strlcpy
    - strncmp
    - strlen
    linkageType: ''
    returnType: OSSL_CMP_severity
    signature: 'static OSSL_CMP_severity parse_level(const char *level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_trace_set_channel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: OSSL_CMP_log_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - OSSL_trace_set_channel
    linkageType: ''
    returnType: void
    signature: 'void OSSL_CMP_log_close(void) /* is designed to be idempotent */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:141,1
    - Dst: improve_location_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:141,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - bio
    - component
    - file
    - line
    - level
    - msg
    argTypes:
    - BIO*
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: OSSL_CMP_print_to_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - improve_location_name
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_print_to_bio(BIO *bio, const char *component, const char
      *file, int line, OSSL_CMP_severity level, const char *msg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:158,1
    - Dst: ERR_lib_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:160,1
    - Dst: improve_location_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:160,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:166,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:161,1
    - Dst: openssl_strerror_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:167,1
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:170,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:174,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:178,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:180,1
    - Dst: log_fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:195,1
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:187,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:189,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:184,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - log_fn
    argTypes:
    - OSSL_CMP_log_cb_t
    constantsTouched: []
    func_position:
      end: 199
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 199
    functionName: OSSL_CMP_print_errors_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - BIO_free
    - ERR_SYSTEM_ERROR
    - BIO_snprintf
    - log_fn
    - ERR_reason_error_string
    - improve_location_name
    - ERR_lib_error_string
    - openssl_strerror_r
    - OSSL_CMP_print_to_bio
    - ERR_get_error_all
    - BIO_new_fp
    linkageType: ''
    returnType: void
    signature: 'void OSSL_CMP_print_errors_cb(OSSL_CMP_log_cb_t log_fn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:227,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:233,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:229,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:231,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - sk
    - text
    - len
    argTypes:
    - STACK_OF(ASN1_UTF8STRING)*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: ossl_cmp_sk_ASN1_UTF8STRING_push_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_new
    - ossl_assert
    - sk_ASN1_UTF8STRING_push
    - ASN1_STRING_set
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_sk_ASN1_UTF8STRING_push_str(STACK_OF(ASN1_UTF8STRING)
      *sk, const char *text, int len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:79,1
    - Dst: parse_level
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:98,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:94,1
    - Dst: parse_level
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:91,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:89,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:99,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:100,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:103,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 5
    argNames:
    - buf
    - level
    - func
    - file
    - line
    argTypes:
    - char*
    - OSSL_CMP_severity*
    - char**
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: ossl_cmp_log_parse_metadata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - strtol
    - strchr
    - OPENSSL_strndup
    - parse_level
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_cmp_log_parse_metadata(const char *buf, OSSL_CMP_severity
      *level, char **func, char **file, int *line) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:207,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:212,1
    - Dst: X509_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:215,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:216,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - store
    - certs
    - only_self_signed
    argTypes:
    - X509_STORE*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: ossl_cmp_X509_STORE_add1_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_num
    - X509_self_signed
    - X509_STORE_add_cert
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_X509_STORE_add1_certs(X509_STORE *store, STACK_OF(X509)
      *certs, int only_self_signed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:247,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:260,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - tgt
    - src
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: ossl_cmp_asn1_octet_string_set1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - ASN1_OCTET_STRING_dup
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_asn1_octet_string_set1(ASN1_OCTET_STRING **tgt, const
      ASN1_OCTET_STRING *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:271,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:276,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:282,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:277,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - tgt
    - bytes
    - len
    argTypes:
    - ASN1_OCTET_STRING**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: ossl_cmp_asn1_octet_string_set1_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_set
    - ERR_raise
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_asn1_octet_string_set1_bytes(ASN1_OCTET_STRING **tgt,
      const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:28,1
    - Dst: OSSL_trace_set_channel
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:34,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: OSSL_CMP_log_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_util.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - ERR_raise
    - BIO_free
    - OSSL_trace_set_channel
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_log_open(void) /* is designed to be idempotent */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:155,1
    - Dst: OSSL_HTTP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:160,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:161,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:170,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:167,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:171,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:172,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:173,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:174,1
    - Dst: ossl_cmp_ctx_set0_validatedSrvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:175,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:176,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:177,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: OSSL_CMP_CTX_reinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAVs_free
    - ossl_cmp_ctx_set1_newChain
    - OSSL_CMP_CTX_set1_senderNonce
    - ossl_cmp_ctx_set1_caPubs
    - ossl_cmp_ctx_set1_recipNonce
    - ossl_cmp_debug
    - ossl_cmp_ctx_set0_validatedSrvCert
    - OSSL_CMP_CTX_set1_transactionID
    - ossl_cmp_ctx_set0_newCert
    - OSSL_HTTP_close
    - ossl_cmp_ctx_set1_extraCertsIn
    - ossl_cmp_ctx_set0_statusString
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_reinit(OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: OSSL_CMP_CTX_get_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_get_status(const OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:493,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:496,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - newChain
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: ossl_cmp_ctx_set1_newChain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_chain_up_ref
    - ossl_assert
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set1_newChain(OSSL_CMP_CTX *ctx, STACK_OF(X509) *newChain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:615,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:620,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - caPubs
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 621
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 621
    functionName: ossl_cmp_ctx_set1_caPubs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_chain_up_ref
    - ossl_assert
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set1_caPubs(OSSL_CMP_CTX *ctx, STACK_OF(X509) *caPubs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - OSSL_CMP_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 926
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 926
    functionName: OSSL_CMP_CTX_set_http_cb_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_http_cb_arg(OSSL_CMP_CTX *ctx, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_HTTP_bio_cb_t
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: OSSL_CMP_CTX_set_http_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_http_cb(OSSL_CMP_CTX *ctx, OSSL_HTTP_bio_cb_t
      cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:603,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: OSSL_CMP_CTX_get1_caPubs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_chain_up_ref
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *OSSL_CMP_CTX_get1_caPubs(const OSSL_CMP_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:760,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:772,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:768,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:764,1
    - Dst: X509_build_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:769,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - own_trusted
    - candidates
    argTypes:
    - OSSL_CMP_CTX*
    - X509_STORE*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 778
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 778
    functionName: OSSL_CMP_CTX_build_cert_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cmp_debug
    - ossl_x509_add_certs_new
    - X509_build_chain
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_build_cert_chain(OSSL_CMP_CTX *ctx, X509_STORE *own_trusted,
      STACK_OF(X509) *candidates) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - OSSL_CMP_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: OSSL_CMP_CTX_set_transfer_cb_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_transfer_cb_arg(OSSL_CMP_CTX *ctx, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:840,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:847,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - priv
    argTypes:
    - OSSL_CMP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: OSSL_CMP_CTX_get0_newPkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - OSSL_CMP_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: OSSL_CMP_CTX_set_certConf_cb_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_certConf_cb_arg(OSSL_CMP_CTX *ctx, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:396,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:402,1
    - Dst: BIO_vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: (CMP)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - BIO_puts
    - BIO_vsnprintf
    - BIO_snprintf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (CMP) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_log_parse_metadata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:348,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:360,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:359,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 5
    argNames:
    - buf
    - cnt
    - category
    - cmd
    - vdata
    argTypes:
    - char*
    - size_t
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 362
    functionName: ossl_cmp_log_trace_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_cmp_log_parse_metadata
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ossl_cmp_log_trace_cb(const char *buf, size_t cnt, int
      category, int cmd, void *vdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:568,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - itav
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: OSSL_CMP_CTX_push0_geninfo_ITAV
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAV_push0_stack_item
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_push0_geninfo_ITAV(OSSL_CMP_CTX *ctx, OSSL_CMP_ITAV
      *itav) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:708,1
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 715
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 715
    functionName: OSSL_CMP_CTX_reqExtensions_have_SAN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:727,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:732,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:737,1
    - Dst: GENERAL_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:739,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:731,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:741,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:742,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - OSSL_CMP_CTX*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 746
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 746
    functionName: OSSL_CMP_CTX_push1_subjectAltName
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_new_null
    - GENERAL_NAME_free
    - GENERAL_NAME_dup
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_push1_subjectAltName(OSSL_CMP_CTX *ctx, const GENERAL_NAME
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:825,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - priv
    - pkey
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 833
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 833
    functionName: OSSL_CMP_CTX_set0_newPkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:871,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - OSSL_CMP_CTX*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 875
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 875
    functionName: OSSL_CMP_CTX_set1_transactionID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set1_transactionID(OSSL_CMP_CTX *ctx, const ASN1_OCTET_STRING
      *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_transfer_cb_t
    constantsTouched: []
    func_position:
      end: 950
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 950
    functionName: OSSL_CMP_CTX_set_transfer_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_transfer_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_transfer_cb_t
      cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - port
    argTypes:
    - OSSL_CMP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 985
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 985
    functionName: OSSL_CMP_CTX_set_serverPort
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_serverPort(OSSL_CMP_CTX *ctx, int port) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fail_info
    argTypes:
    - OSSL_CMP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: ossl_cmp_ctx_set_failInfoCode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set_failInfoCode(OSSL_CMP_CTX *ctx, int fail_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_certConf_cb_t
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: OSSL_CMP_CTX_set_certConf_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_certConf_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_certConf_cb_t
      cb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:420,1
    - Dst: OSSL_trace_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_log_cb_t
    constantsTouched: []
    func_position:
      end: 433
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 433
    functionName: OSSL_CMP_CTX_set_log_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:553,1
    - Dst: CERTIFICATEPOLICIES_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:558,1
    - Dst: sk_POLICYINFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - pinfo
    argTypes:
    - OSSL_CMP_CTX*
    - POLICYINFO*
    constantsTouched: []
    func_position:
      end: 562
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 562
    functionName: OSSL_CMP_CTX_push0_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - sk_POLICYINFO_push
    - ERR_raise
    - CERTIFICATEPOLICIES_new
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_push0_policy(OSSL_CMP_CTX *ctx, POLICYINFO *pinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:690,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:696,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:694,1
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:695,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - exts
    argTypes:
    - OSSL_CMP_CTX*
    - X509_EXTENSIONS*
    constantsTouched: []
    func_position:
      end: 702
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 702
    functionName: OSSL_CMP_CTX_set0_reqExtensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_by_NID
    - ERR_raise
    - sk_GENERAL_NAME_num
    - sk_X509_EXTENSION_pop_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set0_reqExtensions(OSSL_CMP_CTX *ctx, X509_EXTENSIONS
      *exts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:853,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:862,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:858,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 864
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 864
    functionName: ossl_cmp_ctx_get0_newPubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:891,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - OSSL_CMP_CTX*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 895
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 895
    functionName: OSSL_CMP_CTX_set1_senderNonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set1_senderNonce(OSSL_CMP_CTX *ctx, const ASN1_OCTET_STRING
      *nonce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 974
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 974
    functionName: OSSL_CMP_CTX_get_transfer_cb_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_CMP_CTX_get_transfer_cb_arg(const OSSL_CMP_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:210,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:212,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:213,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:214,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:215,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:216,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:218,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:220,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:221,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:222,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:205,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:204,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:201,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:203,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:208,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:235,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:233,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:237,1
    - Dst: OSSL_HTTP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:188,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:189,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:209,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:217,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:223,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:225,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:226,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:227,1
    - Dst: sk_ASN1_UTF8STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:231,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:232,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:234,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:191,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:193,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:192,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:194,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:195,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:197,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:198,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:199,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:200,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:206,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:224,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 238
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 238
    functionName: OSSL_CMP_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_NAME_free
    - sk_X509_EXTENSION_pop_free
    - sk_X509_pop_free
    - sk_OSSL_CMP_ITAV_pop_free
    - OPENSSL_free
    - sk_POLICYINFO_pop_free
    - EVP_PKEY_free
    - ossl_cmp_debug
    - OPENSSL_cleanse
    - X509_REQ_free
    - ASN1_OCTET_STRING_free
    - OSSL_HTTP_close
    - sk_ASN1_UTF8STRING_pop_free
    - X509_STORE_free
    - EVP_MD_free
    - sk_GENERAL_NAME_pop_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_CMP_CTX_free(OSSL_CMP_CTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:383,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:393,1
    - Dst: BIO_vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:400,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:396,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:402,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:404,1
    - Dst: BIO_vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:408,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:412,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 7
    argNames:
    - level
    - ctx
    - func
    - file
    - line
    - level_str
    - format
    - '...'
    argTypes:
    - OSSL_CMP_severity
    - OSSL_CMP_CTX*
    - char*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 414
    functionName: ossl_cmp_print_log
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - va_start
    - BIO_vsnprintf
    - BIO_snprintf
    - OSSL_TRACE_ENABLED
    - OSSL_TRACE_END
    - BIO_puts
    - va_end
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_print_log(OSSL_CMP_severity level, const OSSL_CMP_CTX
      *ctx, const char *func, const char *file, int line, const char *level_str, const
      char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:481,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: OSSL_CMP_CTX_get1_newChain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_chain_up_ref
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *OSSL_CMP_CTX_get1_newChain(const OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:536,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:540,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - extraCertsOut
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 544
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 544
    functionName: OSSL_CMP_CTX_set1_extraCertsOut
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_chain_up_ref
    - ERR_raise
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set1_extraCertsOut(OSSL_CMP_CTX *ctx, STACK_OF(X509)
      *extraCertsOut) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:881,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - OSSL_CMP_CTX*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 884
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 884
    functionName: ossl_cmp_ctx_set1_recipNonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set1_recipNonce(OSSL_CMP_CTX *ctx, const ASN1_OCTET_STRING
      *nonce) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - OSSL_CMP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: ossl_cmp_ctx_set_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set_status(OSSL_CMP_CTX *ctx, int status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:797,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 803
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 803
    functionName: ossl_cmp_ctx_set0_newCert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_free
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set0_newCert(OSSL_CMP_CTX *ctx, X509 *cert) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:103,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:109,1
    - Dst: cmp_ctx_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:124,1
    - Dst: cmp_ctx_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:129,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:138,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:140,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 142
    functionName: OSSL_CMP_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OSSL_CMP_CTX_free
    - OPENSSL_zalloc
    - sk_X509_new_null
    - cmp_ctx_set_md
    linkageType: ''
    returnType: OSSL_CMP_CTX*
    signature: 'OSSL_CMP_CTX *OSSL_CMP_CTX_new(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:464,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:470,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:467,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - sec
    - len
    argTypes:
    - OSSL_CMP_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 475
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 475
    functionName: OSSL_CMP_CTX_set1_secretValue
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - OPENSSL_cleanse
    - ossl_cmp_asn1_octet_string_set1_bytes
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set1_secretValue(OSSL_CMP_CTX *ctx, const unsigned
      char *sec, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:519,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:522,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - extraCertsIn
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: ossl_cmp_ctx_set1_extraCertsIn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_chain_up_ref
    - ossl_assert
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set1_extraCertsIn(OSSL_CMP_CTX *ctx, STACK_OF(X509)
      *extraCertsIn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:589,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - itav
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: OSSL_CMP_CTX_push0_genm_ITAV
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAV_push0_stack_item
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_push0_genm_ITAV(OSSL_CMP_CTX *ctx, OSSL_CMP_ITAV
      *itav) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1018,1
    - Dst: cmp_ctx_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1081,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1034,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1075,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1041,1
    - Dst: cmp_ctx_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1085,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1111,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - opt
    - val
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1116
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1116
    functionName: OSSL_CMP_CTX_set_option
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - cmp_ctx_set_md
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set_option(OSSL_CMP_CTX *ctx, int opt, int val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:85,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:92,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - pmd
    - nid
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_MD**
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: cmp_ctx_set_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - EVP_MD_fetch
    - OBJ_nid2sn
    linkageType: ''
    returnType: int
    signature: 'static int cmp_ctx_set_md(OSSL_CMP_CTX *ctx, EVP_MD **pmd, int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:69,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:72,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:79,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - certs
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: OSSL_CMP_CTX_set1_untrusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_x509_add_certs_new
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set1_untrusted(OSSL_CMP_CTX *ctx, STACK_OF(X509)
      *certs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:42,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - store
    argTypes:
    - OSSL_CMP_CTX*
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: OSSL_CMP_CTX_set0_trustedStore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_STORE_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set0_trustedStore(OSSL_CMP_CTX *ctx, X509_STORE *store) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:277,1
    - Dst: sk_ASN1_UTF8STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - text
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKIFREETEXT*
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: ossl_cmp_ctx_set0_statusString
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - sk_ASN1_UTF8STRING_pop_free
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set0_statusString(OSSL_CMP_CTX *ctx, OSSL_CMP_PKIFREETEXT
      *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: OSSL_CMP_CTX_get_certConf_cb_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_CMP_CTX_get_certConf_cb_arg(const OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:451,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - ref
    - len
    argTypes:
    - OSSL_CMP_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: OSSL_CMP_CTX_set1_referenceValue
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cmp_asn1_octet_string_set1_bytes
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_set1_referenceValue(OSSL_CMP_CTX *ctx, const unsigned
      char *ref, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:577,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: OSSL_CMP_CTX_reset_geninfo_ITAVs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAVs_free
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_reset_geninfo_ITAVs(OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1010
    functionName: OSSL_CMP_CTX_get_failInfoCode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_get_failInfoCode(const OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:286,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: ossl_cmp_ctx_set0_validatedSrvCert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - X509_free
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_ctx_set0_validatedSrvCert(OSSL_CMP_CTX *ctx, X509 *cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: OSSL_CMP_CTX_get0_trustedStore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: X509_STORE*
    signature: 'X509_STORE *OSSL_CMP_CTX_get0_trustedStore(const OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: OSSL_CMP_CTX_get0_untrusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *OSSL_CMP_CTX_get0_untrusted(const OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: OSSL_CMP_CTX_get0_statusString
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKIFREETEXT*
    signature: 'OSSL_CMP_PKIFREETEXT *OSSL_CMP_CTX_get0_statusString(const OSSL_CMP_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_errors_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: OSSL_CMP_CTX_print_errors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:506,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: OSSL_CMP_CTX_get1_extraCertsIn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_chain_up_ref
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *OSSL_CMP_CTX_get1_extraCertsIn(const OSSL_CMP_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 816
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 816
    functionName: OSSL_CMP_CTX_get0_newCert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: X509*
    signature: 'X509 *OSSL_CMP_CTX_get0_newCert(const OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 939
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 939
    functionName: OSSL_CMP_CTX_get_http_cb_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *OSSL_CMP_CTX_get_http_cb_arg(const OSSL_CMP_CTX *ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1125,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1153,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1155,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c:1169,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - opt
    argTypes:
    - OSSL_CMP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1172
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1172
    functionName: OSSL_CMP_CTX_get_option
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_CTX_get_option(const OSSL_CMP_CTX *ctx, int opt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:36,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:39,1
    - Dst: IS_CREP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:65,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:52,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:57,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:69,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:71,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:75,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:82,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - rep
    - invalid_protection
    - expected_type
    - /* ignored here */
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 85
    functionName: unprotected_exception
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - ossl_cmp_log2
    - IS_CREP
    - ossl_cmp_certrepmessage_get0_certresponse
    - sk_OSSL_CMP_CERTRESPONSE_num
    - ossl_cmp_revrepcontent_get_pkisi
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int unprotected_exception(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *rep, int invalid_protection, int expected_type /* ignored here */) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_certConf_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:367,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:375,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:374,1
    - Dst: send_receive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - certReqId
    - fail_info
    - txt
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 377
    functionName: ossl_cmp_exchange_certConf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - send_receive_check
    - OSSL_CMP_MSG_free
    - ossl_cmp_certConf_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_exchange_certConf(OSSL_CMP_CTX *ctx, int certReqId, int
      fail_info, const char *txt) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:167,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:168,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:181,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:181,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:212,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:216,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:222,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:129,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:145,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:198,1
    - Dst: save_statusInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:209,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:210,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:226,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:130,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:175,1
    - Dst: IS_CREP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:194,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:223,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:150,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:159,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:161,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:185,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:188,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:202,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:203,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:214,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:215,1
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:218,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 91
    argCount: 4
    argNames:
    - ctx
    - req
    - rep
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - OSSL_CMP_MSG**
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 232
    functionName: send_receive_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ossl_sk_ASN1_UTF8STRING2text
    - ERR_raise
    - ossl_assert
    - time
    - ossl_cmp_log1
    - IS_CREP
    - OPENSSL_free
    - OSSL_CMP_CTX_print_errors
    - BIO_snprintf
    - ossl_cmp_bodytype_to_string
    - ERR_raise_data
    - ASN1_INTEGER_get
    - OSSL_CMP_CTX_snprint_PKIStatus
    - ossl_cmp_msg_check_update
    - save_statusInfo
    - ossl_cmp_ctx_set1_extraCertsIn
    - ERR_add_error_data
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int send_receive_check(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *req, OSSL_CMP_MSG **rep, int expected_type) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:415,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:418,1
    - Dst: ossl_cmp_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:420,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:425,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:422,1
    - Dst: ossl_cmp_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:431,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:432,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:435,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:439,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:444,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:452,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:462,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:457,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:455,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:463,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:449,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - bodytype
    - crep
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CMP_CERTRESPONSE*
    constantsTouched: []
    func_position:
      end: 465
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 465
    functionName: get1_cert_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - ossl_cmp_warn
    - ossl_cmp_log1
    - ossl_cmp_certresponse_get1_cert
    - ossl_cmp_err
    - ossl_cmp_pkisi_get_status
    - ERR_add_error_data
    - OSSL_CMP_CTX_snprint_PKIStatus
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *get1_cert_status(OSSL_CMP_CTX *ctx, int bodytype, OSSL_CMP_CERTRESPONSE
      *crep) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:507,1
    - Dst: sk_X509_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:526,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:532,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:515,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:495,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:501,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:522,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:525,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:518,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:536,1
    - Dst: OSSL_CMP_CTX_get1_extraCertsIn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:537,1
    - Dst: X509_build_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:496,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:504,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:512,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:526,1
    - Dst: X509_STORE_CTX_get0_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:515,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:542,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:543,1
    - Dst: OSSL_CMP_CTX_get_certConf_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:487,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:499,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:488,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:507,1
    - Dst: ossl_cmp_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:529,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:539,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 4
    argNames:
    - ctx
    - cert
    - fail_info
    - text
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 546
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 546
    functionName: OSSL_CMP_certConf_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ossl_cmp_warn
    - sk_X509_shift
    - OSSL_CMP_CTX_get_certConf_cb_arg
    - STACK_OF
    - X509_free
    - sk_X509_pop_free
    - sk_X509_num
    - X509_verify_cert
    - X509_STORE_CTX_free
    - ossl_cmp_ctx_set1_newChain
    - ossl_x509_add_certs_new
    - X509_STORE_CTX_get0_chain
    - X509_build_chain
    - X509_STORE_CTX_new_ex
    - X509_STORE_CTX_init
    - ossl_cmp_debug
    - sk_X509_free
    - ossl_cmp_err
    - X509_STORE_CTX_get0_param
    - OSSL_CMP_CTX_get1_extraCertsIn
    - X509_VERIFY_PARAM_clear_flags
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_certConf_cb(OSSL_CMP_CTX *ctx, X509 *cert, int fail_info,
      const char **text) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:674,1
    - Dst: send_receive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:682,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:683,1
    - Dst: ossl_cmp_certreq_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:678,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - req_type
    - crm
    - p_rep
    - rep_type
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    - OSSL_CMP_MSG**
    - int
    constantsTouched: []
    func_position:
      end: 685
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 685
    functionName: initial_certreq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - send_receive_check
    - OSSL_CMP_MSG_free
    - ossl_cmp_ctx_set0_newCert
    - ossl_cmp_certreq_new
    linkageType: ''
    returnType: int
    signature: 'static int initial_certreq(OSSL_CMP_CTX *ctx, int req_type, const
      OSSL_CRMF_MSG *crm, OSSL_CMP_MSG **p_rep, int rep_type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:739,1
    - Dst: initial_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:743,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:752,1
    - Dst: cert_response
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:746,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - req_type
    - crm
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    constantsTouched: []
    func_position:
      end: 754
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 754
    functionName: OSSL_CMP_exec_certreq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - cert_response
    - ERR_raise
    - OSSL_CMP_MSG_free
    - initial_certreq
    linkageType: ''
    returnType: X509*
    signature: 'X509 *OSSL_CMP_exec_certreq(OSSL_CMP_CTX *ctx, int req_type, const
      OSSL_CRMF_MSG *crm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:697,1
    - Dst: cert_response
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:713,1
    - Dst: initial_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:702,1
    - Dst: poll_for_response
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:709,1
    - Dst: ossl_cmp_exchange_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:706,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:717,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - req_type
    - crm
    - checkAfter
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    - int*
    constantsTouched: []
    func_position:
      end: 719
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 719
    functionName: OSSL_CMP_try_certreq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - initial_certreq
    - poll_for_response
    - OSSL_CMP_MSG_free
    - cert_response
    - ossl_cmp_exchange_error
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_try_certreq(OSSL_CMP_CTX *ctx, int req_type, const OSSL_CRMF_MSG
      *crm, int *checkAfter) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:788,1
    - Dst: save_statusInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:800,1
    - Dst: sk_OSSL_CRMF_CERTID_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:834,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:820,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:839,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:842,1
    - Dst: ossl_cmp_revrepcontent_get_CertId
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:846,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:851,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:878,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:882,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:773,1
    - Dst: sk_OSSL_CMP_PKISI_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:792,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:802,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:829,1
    - Dst: sk_OSSL_CMP_REVDETAILS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:837,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:847,1
    - Dst: OSSL_CRMF_CERTID_get0_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:851,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:858,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:877,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:881,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:768,1
    - Dst: send_receive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:782,1
    - Dst: sk_OSSL_CMP_PKISI_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:787,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:838,1
    - Dst: sk_OSSL_CRMF_CERTID_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:841,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:853,1
    - Dst: OSSL_CRMF_CERTID_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:859,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:870,1
    - Dst: ossl_cmp_rr_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:778,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:793,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:799,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:808,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:812,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:815,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:826,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:804,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:861,1
    - Dst: sk_X509_CRL_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:869,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 85
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 884
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 884
    functionName: OSSL_CMP_exec_RR_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CRMF_CERTID_num
    - ossl_cmp_warn
    - ossl_cmp_info
    - ossl_cmp_revrepcontent_get_pkisi
    - ossl_cmp_revrepcontent_get_CertId
    - X509_NAME_cmp
    - OSSL_CRMF_CERTTEMPLATE_get0_issuer
    - send_receive_check
    - save_statusInfo
    - OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    - OSSL_CRMF_CERTID_get0_issuer
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_CTX_snprint_PKIStatus
    - ERR_add_error_data
    - sk_X509_CRL_num
    - ERR_raise
    - ossl_cmp_rr_new
    - ASN1_INTEGER_cmp
    - OSSL_CRMF_CERTID_get0_serialNumber
    - OSSL_CMP_MSG_free
    - sk_OSSL_CMP_REVDETAILS_value
    - sk_OSSL_CMP_PKISI_num
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:890,1
    - Dst: sk_OSSL_CMP_ITAV_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:908,1
    - Dst: send_receive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:902,1
    - Dst: ossl_cmp_genm_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:898,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:893,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:913,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:914,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 917
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 917
    functionName: OSSL_CMP_exec_GENM_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_MSG_free
    - send_receive_check
    - sk_OSSL_CMP_ITAV_new_null
    - ossl_cmp_genm_new
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(OSSL_CMP_ITAV)*
    signature: 'STACK_OF(OSSL_CMP_ITAV) *OSSL_CMP_exec_GENM_ses(OSSL_CMP_CTX *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_pollReq_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:259,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:277,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:281,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:255,1
    - Dst: send_receive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:262,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:274,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:287,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:317,1
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:299,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:325,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:330,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:345,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:266,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:282,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:290,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:295,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:288,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:327,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:351,1
    - Dst: sk_OSSL_CMP_POLLREP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:273,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:308,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:306,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:314,1
    - Dst: ossl_cmp_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:337,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:350,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 79
    argCount: 5
    argNames:
    - ctx
    - sleep
    - rid
    - rep
    - checkAfter
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - OSSL_CMP_MSG**
    - int*
    constantsTouched: []
    func_position:
      end: 353
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 353
    functionName: poll_for_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ossl_sk_ASN1_UTF8STRING2text
    - ERR_raise
    - ASN1_INTEGER_get_int64
    - ossl_cmp_log2
    - time
    - OPENSSL_free
    - ossl_cmp_pollrepcontent_get0_pollrep
    - ossl_cmp_info
    - OSSL_CMP_MSG_free
    - BIO_snprintf
    - ossl_sleep
    - send_receive_check
    - sk_OSSL_CMP_POLLREP_num
    - ERR_add_error_data
    - ossl_cmp_pollReq_new
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int poll_for_response(OSSL_CMP_CTX *ctx, int sleep, int rid,
      OSSL_CMP_MSG **rep, int *checkAfter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:93,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:102,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:102,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:100,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:96,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:107,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:108,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:110,1
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - si
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKISI*
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: save_statusInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_dup
    - ossl_assert
    - sk_ASN1_UTF8STRING_value
    - sk_ASN1_UTF8STRING_new_null
    - sk_ASN1_UTF8STRING_num
    - ossl_cmp_pkisi_get_status
    - sk_ASN1_UTF8STRING_push
    - ossl_cmp_ctx_set0_statusString
    - ossl_cmp_pkisi_get_pkifailureinfo
    linkageType: ''
    returnType: int
    signature: 'static int save_statusInfo(OSSL_CMP_CTX *ctx, OSSL_CMP_PKISI *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:389,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:399,1
    - Dst: send_receive_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:395,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:398,1
    - Dst: ossl_cmp_error_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:392,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - status
    - fail_info
    - txt
    - errorCode
    - details
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 402
    functionName: ossl_cmp_exchange_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_free
    - OSSL_CMP_PKISI_free
    - ossl_cmp_error_new
    - send_receive_check
    - OSSL_CMP_STATUSINFO_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_exchange_error(OSSL_CMP_CTX *ctx, int status, int fail_info,
      const char *txt, int errorCode, const char *details) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:576,1
    - Dst: save_statusInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:582,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:587,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:593,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:618,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:642,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:646,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:649,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:662,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:579,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:575,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:585,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:592,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:610,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:624,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:607,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:656,1
    - Dst: ossl_cmp_ctx_get0_newPubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:560,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:570,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:600,1
    - Dst: get1_cert_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:605,1
    - Dst: poll_for_response
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:595,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:621,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:621,1
    - Dst: ossl_cmp_exchange_certConf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c:650,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 7
    argNames:
    - ctx
    - sleep
    - rid
    - resp
    - checkAfter
    - req_type
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - OSSL_CMP_MSG**
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 664
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 664
    functionName: cert_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_client.c
    functionUses: []
    functionsReached:
    - poll_for_response
    - sk_OSSL_CMP_CERTRESPONSE_num
    - ossl_cmp_ctx_set0_newCert
    - ossl_cmp_ctx_get0_newPubkey
    - ossl_cmp_exchange_certConf
    - X509_get_subject_name
    - ossl_cmp_certrepmessage_get0_certresponse
    - OPENSSL_free
    - cb
    - ERR_raise_data
    - save_statusInfo
    - X509_NAME_oneline
    - ossl_cmp_ctx_set1_caPubs
    - ossl_cmp_pkisi_get_status
    - get1_cert_status
    - ERR_add_error_data
    - ERR_raise
    - ossl_assert
    - ossl_cmp_log1
    - OSSL_CMP_MSG_free
    - ossl_cmp_asn1_get_int
    - X509_check_private_key
    - ossl_cmp_hdr_has_implicitConfirm
    linkageType: ''
    returnType: int
    signature: 'static int cert_response(OSSL_CMP_CTX *ctx, int sleep, int rid, OSSL_CMP_MSG
      **resp, int *checkAfter, int req_type, int expected_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:130,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:132,1
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:136,1
    - Dst: OSSL_CMP_ITAV_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - OSSL_CMP_ITAV
    argTypes:
    - OSSL_CMP_ITAV
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_ITAV_new
    - IMPLEMENT_ASN1_DUP_FUNCTION
    - OSSL_CMP_ITAV_create
    - OSSL_CMP_ITAV_set0
    linkageType: ''
    returnType: ASN1_SEQUENCE_END(OSSL_CMP_ITAV)
    signature: 'ASN1_SEQUENCE_END(OSSL_CMP_ITAV) IMPLEMENT_ASN1_FUNCTIONS(OSSL_CMP_ITAV)IMPLEMENT_ASN1_DUP_FUNCTION(OSSL_CMP_ITAV)OSSL_CMP_ITAV
      *OSSL_CMP_ITAV_create(ASN1_OBJECT *type, ASN1_TYPE *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - itav
    argTypes:
    - OSSL_CMP_ITAV*
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: OSSL_CMP_ITAV_get0_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *OSSL_CMP_ITAV_get0_type(const OSSL_CMP_ITAV *itav) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: ossl_cmp_asn1_get_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_get_int64
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_asn1_get_int(const ASN1_INTEGER *a) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:217,1
    - Dst: ossl_cmp_msg_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 10
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 247
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 247
    functionName: ossl_cmp_msg_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_cmp_msg_set0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cmp_msg_cb(int operation, ASN1_VALUE **pval, const
      ASN1_ITEM *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - itav
    - type
    - value
    argTypes:
    - OSSL_CMP_ITAV*
    - ASN1_OBJECT*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: OSSL_CMP_ITAV_set0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OSSL_CMP_ITAV_set0(OSSL_CMP_ITAV *itav, ASN1_OBJECT *type, ASN1_TYPE
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - itav
    argTypes:
    - OSSL_CMP_ITAV*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: OSSL_CMP_ITAV_get0_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *OSSL_CMP_ITAV_get0_value(const OSSL_CMP_ITAV *itav) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:169,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:184,1
    - Dst: sk_OSSL_CMP_ITAV_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:174,1
    - Dst: sk_OSSL_CMP_ITAV_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - itav_sk_p
    - itav
    argTypes:
    - STACK_OF(OSSL_CMP_ITAV)**
    - OSSL_CMP_ITAV*
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: OSSL_CMP_ITAV_push0_stack_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_asn.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_ITAV_free
    - ERR_raise
    - sk_OSSL_CMP_ITAV_new_null
    - sk_OSSL_CMP_ITAV_push
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_ITAV_push0_stack_item(STACK_OF(OSSL_CMP_ITAV) **itav_sk_p,
      OSSL_CMP_ITAV *itav) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:42,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ossl_cmp_hdr_get_protection_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_get_protection_nid(const OSSL_CMP_PKIHEADER *hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:116,1
    - Dst: set1_general_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - nm
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: ossl_cmp_hdr_set1_sender
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - set1_general_name
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_set1_sender(OSSL_CMP_PKIHEADER *hdr, const X509_NAME
      *nm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:175,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:183,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - hdr
    - text
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_UTF8STRING*
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: ossl_cmp_hdr_push1_freeText
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - ossl_assert
    - ossl_cmp_sk_ASN1_UTF8STRING_push_str
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_push1_freeText(OSSL_CMP_PKIHEADER *hdr, ASN1_UTF8STRING
      *text) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: OSSL_CMP_HDR_get0_transactionID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:123,1
    - Dst: set1_general_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - nm
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: ossl_cmp_hdr_set1_recipient
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - set1_general_name
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_set1_recipient(OSSL_CMP_PKIHEADER *hdr, const X509_NAME
      *nm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:190,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - hdr
    - itav
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - OSSL_CMP_ITAV*
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: ossl_cmp_hdr_generalInfo_push0_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - OSSL_CMP_ITAV_push0_stack_item
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_generalInfo_push0_item(OSSL_CMP_PKIHEADER *hdr, OSSL_CMP_ITAV
      *itav) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:163,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:170,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - hdr
    - text
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_UTF8STRING*
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: ossl_cmp_hdr_push0_freeText
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - ossl_assert
    - sk_ASN1_UTF8STRING_push
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_push0_freeText(OSSL_CMP_PKIHEADER *hdr, ASN1_UTF8STRING
      *text) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:296,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:308,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:307,1
    - Dst: ossl_cmp_hdr_set_pvno
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:300,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:310,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:317,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:321,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:323,1
    - Dst: ossl_cmp_hdr_set1_recipient
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:324,1
    - Dst: ossl_cmp_hdr_update_messageTime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:328,1
    - Dst: ossl_cmp_hdr_set_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:336,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:355,1
    - Dst: ossl_cmp_hdr_push1_freeText
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:364,1
    - Dst: set_random
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:351,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:332,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 368
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 368
    functionName: ossl_cmp_hdr_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - ossl_cmp_hdr_set_transactionID
    - ossl_cmp_hdr_set_pvno
    - ossl_cmp_asn1_octet_string_set1
    - set_random
    - OSSL_CMP_CTX_set1_senderNonce
    - X509_get_issuer_name
    - ossl_cmp_hdr_set1_recipient
    - ossl_cmp_hdr_update_messageTime
    - ossl_cmp_hdr_set1_sender
    - ossl_cmp_hdr_push1_freeText
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_init(OSSL_CMP_CTX *ctx, OSSL_CMP_PKIHEADER *hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:141,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:144,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:145,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - tgt
    - ctx
    - len
    argTypes:
    - ASN1_OCTET_STRING**
    - OSSL_CMP_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: set_random
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - ossl_cmp_asn1_octet_string_set1_bytes
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int set_random(ASN1_OCTET_STRING **tgt, OSSL_CMP_CTX *ctx,
      size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:201,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:209,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:205,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:205,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:204,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - hdr
    - itavs
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - STACK_OF(OSSL_CMP_ITAV)*
    constantsTouched: []
    func_position:
      end: 215
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 215
    functionName: ossl_cmp_hdr_generalInfo_push1_items
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_ITAV_num
    - ossl_assert
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_ITAV_dup
    - ossl_cmp_hdr_generalInfo_push0_item
    - sk_OSSL_CMP_ITAV_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_generalInfo_push1_items(OSSL_CMP_PKIHEADER *hdr,
      const STACK_OF(OSSL_CMP_ITAV) *itavs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:222,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:227,1
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:224,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:227,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:230,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:235,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: ossl_cmp_hdr_set_implicitConfirm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - OSSL_CMP_ITAV_free
    - ASN1_TYPE_free
    - OBJ_nid2obj
    - ASN1_NULL_new
    - OSSL_CMP_ITAV_create
    - ossl_cmp_hdr_generalInfo_push0_item
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_set_implicitConfirm(OSSL_CMP_PKIHEADER *hdr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:130,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:135,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:133,1
    - Dst: ASN1_GENERALIZEDTIME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: ossl_cmp_hdr_update_messageTime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_set
    - ossl_assert
    - time
    - ASN1_GENERALIZEDTIME_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_update_messageTime(OSSL_CMP_PKIHEADER *hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:24,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - pvno
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: ossl_cmp_hdr_set_pvno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_set_pvno(OSSL_CMP_PKIHEADER *hdr, int pvno) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:86,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:88,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:93,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:95,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:99,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:105,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - tgt
    - src
    argTypes:
    - GENERAL_NAME**
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: set1_general_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_new
    - X509_NAME_new
    - ossl_assert
    - GENERAL_NAME_free
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: 'static int set1_general_name(GENERAL_NAME **tgt, const X509_NAME *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:33,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: ossl_cmp_hdr_get_pvno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - ASN1_INTEGER_get_int64
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_get_pvno(const OSSL_CMP_PKIHEADER *hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_DN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ossl_cmp_general_name_is_NULL_DN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: ossl_cmp_hdr_get0_senderNonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    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: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:155,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - senderKID
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: ossl_cmp_hdr_set1_senderKID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_set1_senderKID(OSSL_CMP_PKIHEADER *hdr, const ASN1_OCTET_STRING
      *senderKID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_random
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:275,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:286,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:283,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:281,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 288
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 288
    functionName: ossl_cmp_hdr_set_transactionID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - set_random
    - ossl_cmp_log1
    - ossl_cmp_asn1_octet_string_set1
    - OPENSSL_free
    - OPENSSL_buf2hexstr
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_set_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_PKIHEADER
      *hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: OSSL_CMP_HDR_get0_recipNonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *OSSL_CMP_HDR_get0_recipNonce(const OSSL_CMP_PKIHEADER
      *hdr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:247,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:250,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:252,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: ossl_cmp_hdr_has_implicitConfirm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_hdr.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_ITAV_num
    - ossl_assert
    - OBJ_obj2nid
    - sk_OSSL_CMP_ITAV_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_hdr_has_implicitConfirm(const OSSL_CMP_PKIHEADER *hdr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - keep_alive
    - body_type
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: keep_alive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int keep_alive(int keep_alive, int body_type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:54,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:66,1
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:68,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:62,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:57,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:72,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:73,1
    - Dst: ossl_cmp_log3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:75,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:78,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:82,1
    - Dst: keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:88,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:94,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:101,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:91,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:90,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:103,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c:89,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 105
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 105
    functionName: OSSL_CMP_MSG_http_perform
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_http.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_cmp_log3
    - BIO_free
    - X509V3_add_value
    - keep_alive
    - ASN1_item_i2d_mem_bio
    - ossl_cmp_debug
    - BIO_snprintf
    - OSSL_CMP_CTX_get_http_cb_arg
    - OSSL_HTTP_transfer
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *OSSL_CMP_MSG_http_perform(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *req) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:53,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:58,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: OSSL_CMP_SRV_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_SRV_CTX_free
    - OSSL_CMP_CTX_new
    - OPENSSL_zalloc
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: OSSL_CMP_SRV_CTX_get0_cmp_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_SRV_CTX_set_send_unprotected_errors(OSSL_CMP_SRV_CTX
      *srv_ctx, int val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: OSSL_CMP_SRV_CTX_set_accept_raverified
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_SRV_CTX_set_accept_raverified(OSSL_CMP_SRV_CTX *srv_ctx,
      int val) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:168,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:204,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:238,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:241,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:244,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:194,1
    - Dst: ossl_cmp_verify_popo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:210,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:199,1
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:214,1
    - Dst: ossl_cmp_certrep_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:234,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:212,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:187,1
    - Dst: sk_OSSL_CRMF_MSG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:193,1
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:198,1
    - Dst: OSSL_CRMF_MSG_get_certReqId
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:202,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:218,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:227,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:225,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:243,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 63
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 246
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 246
    functionName: process_cert_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_CMP_STATUSINFO_new
    - ERR_raise
    - ERR_peek_error
    - ossl_assert
    - sk_X509_pop_free
    - sk_OSSL_CRMF_MSG_value
    - ossl_cmp_certrep_new
    - OSSL_CMP_PKISI_free
    - sk_OSSL_CRMF_MSG_num
    - ERR_reason_error_string
    - OSSL_CMP_CTX_set_option
    - ossl_cmp_hdr_has_implicitConfirm
    - ossl_cmp_verify_popo
    - OSSL_CRMF_MSG_get_certReqId
    - OSSL_CMP_MSG_get0_header
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,
      const OSSL_CMP_MSG *req) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:302,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:309,1
    - Dst: ossl_cmp_genp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 311
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 311
    functionName: process_genm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ossl_cmp_genp_new
    - ossl_assert
    - sk_OSSL_CMP_ITAV_pop_free
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *process_genm(OSSL_CMP_SRV_CTX *srv_ctx, const
      OSSL_CMP_MSG *req) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:339,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:346,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:348,1
    - Dst: ossl_cmp_err
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:353,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:344,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:356,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:357,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:366,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:377,1
    - Dst: ossl_cmp_pkiconf_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:383,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:374,1
    - Dst: ossl_cmp_PKIStatus_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:375,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:373,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:384,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 386
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 386
    functionName: process_certConf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_CERTSTATUS_num
    - ossl_cmp_pkiconf_new
    - OSSL_CMP_CTX_get_option
    - ERR_raise
    - sk_OSSL_CMP_CERTSTATUS_value
    - ossl_assert
    - ossl_cmp_warn
    - ossl_cmp_log2
    - ossl_cmp_asn1_get_int
    - ossl_cmp_err
    - ossl_cmp_PKIStatus_to_string
    - ossl_cmp_pkisi_get_status
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *process_certConf(OSSL_CMP_SRV_CTX *srv_ctx, const
      OSSL_CMP_MSG *req) '
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_set1_recipient
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:486,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:500,1
    - Dst: process_rr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:545,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:517,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:543,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:523,1
    - Dst: process_cert_request
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:539,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:537,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:593,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:600,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:604,1
    - Dst: ossl_cmp_error_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:602,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:468,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:475,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:474,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:476,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:483,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:503,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:509,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:526,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:510,1
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:599,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:624,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:607,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:506,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:549,1
    - Dst: process_genm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:555,1
    - Dst: process_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:557,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:561,1
    - Dst: process_certConf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:563,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:567,1
    - Dst: process_pollReq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:569,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:572,1
    - Dst: ossl_cmp_log
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:616,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:611,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:614,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:613,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:469,1
    - Dst: ERR_peek_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:581,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:594,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:632,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:633,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 116
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 640
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 640
    functionName: OSSL_CMP_SRV_process_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ossl_cmp_hdr_get_protection_nid
    - OSSL_CMP_PKISI_free
    - process_cert_request
    - OPENSSL_buf2hexstr
    - process_rr
    - OSSL_CMP_MSG_get0_header
    - process_genm
    - OSSL_CMP_CTX_get_option
    - OSSL_CMP_CTX_set1_senderNonce
    - OPENSSL_free
    - ossl_cmp_ctx_set1_recipNonce
    - OSSL_CMP_CTX_print_errors
    - ERR_peek_error_data
    - OSSL_CMP_CTX_set1_transactionID
    - OSSL_CMP_STATUSINFO_new
    - process_pollReq
    - OSSL_CMP_MSG_get_bodytype
    - process_certConf
    - ossl_cmp_log
    - ossl_cmp_bodytype_to_string
    - ERR_raise
    - ossl_cmp_log1
    - process_error
    - ossl_cmp_error_new
    - ERR_reason_error_string
    - OSSL_CMP_CTX_set1_recipient
    - ossl_cmp_msg_check_update
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *OSSL_CMP_SRV_process_request(OSSL_CMP_SRV_CTX *srv_ctx,
      const OSSL_CMP_MSG *req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    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
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: OSSL_CMP_SRV_CTX_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_SRV_CTX_init(OSSL_CMP_SRV_CTX *srv_ctx, void *custom_ctx,
      OSSL_CMP_SRV_cert_request_cb_t process_cert_request, OSSL_CMP_SRV_rr_cb_t process_rr,
      OSSL_CMP_SRV_genm_cb_t process_genm, OSSL_CMP_SRV_error_cb_t process_error,
      OSSL_CMP_SRV_certConf_cb_t process_certConf, OSSL_CMP_SRV_pollReq_cb_t process_pollReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: OSSL_CMP_SRV_CTX_get0_custom_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: OSSL_CMP_SRV_CTX_set_accept_unprotected
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int OSSL_CMP_SRV_CTX_set_grant_implicit_confirm(OSSL_CMP_SRV_CTX *srv_ctx,
      int val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:259,1
    - Dst: sk_OSSL_CMP_REVDETAILS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:267,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:263,1
    - Dst: sk_OSSL_CMP_REVDETAILS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:262,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:274,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:275,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:277,1
    - Dst: ossl_cmp_rp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:282,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:288,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:284,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:287,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 290
    functionName: process_rr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    - ossl_assert
    - OSSL_CRMF_CERTID_gen
    - sk_OSSL_CMP_REVDETAILS_num
    - ossl_cmp_rp_new
    - OSSL_CMP_PKISI_free
    - OSSL_CRMF_CERTTEMPLATE_get0_issuer
    - sk_OSSL_CMP_REVDETAILS_value
    - OSSL_CRMF_CERTID_free
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *process_rr(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *req) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:319,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:326,1
    - Dst: ossl_cmp_pkiconf_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: process_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ossl_cmp_pkiconf_new
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *process_error(OSSL_CMP_SRV_CTX *srv_ctx, const
      OSSL_CMP_MSG *req) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:398,1
    - Dst: sk_OSSL_CMP_POLLREQ_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:402,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:408,1
    - Dst: sk_OSSL_CMP_POLLREQ_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:407,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:403,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:410,1
    - Dst: process_cert_request
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:418,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:419,1
    - Dst: ossl_cmp_pollRep_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:421,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:423,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 426
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 426
    functionName: process_pollReq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - sk_OSSL_CMP_POLLREQ_value
    - OSSL_CMP_MSG_free
    - ossl_cmp_asn1_get_int
    - ossl_cmp_pollRep_new
    - process_cert_request
    - sk_OSSL_CMP_POLLREQ_num
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *process_pollReq(OSSL_CMP_SRV_CTX *srv_ctx, const
      OSSL_CMP_MSG *req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:47,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: OSSL_CMP_SRV_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void OSSL_CMP_SRV_CTX_free(OSSL_CMP_SRV_CTX *srv_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:437,1
    - Dst: ossl_cmp_log1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:441,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:446,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:447,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - req
    - invalid_protection
    - accept_unprotected_requests
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 451
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 451
    functionName: unprotected_exception
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_get_option
    - ossl_cmp_warn
    - ossl_assert
    - ossl_cmp_log1
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int unprotected_exception(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *req, int invalid_protection, int accept_unprotected_requests) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:654,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:658,1
    - Dst: OSSL_CMP_SRV_process_request
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:663,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c:659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - client_ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 664
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 664
    functionName: OSSL_CMP_CTX_server_perform
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cmp/cmp_server.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_get_transfer_cb_arg
    - ERR_raise
    - OSSL_CMP_SRV_process_request
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'OSSL_CMP_MSG *OSSL_CMP_CTX_server_perform(OSSL_CMP_CTX *client_ctx,
      const OSSL_CMP_MSG *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_all.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: ENGINE_load_builtin_engines
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_all.c
    functionUses: []
    functionsReached:
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_load_builtin_engines(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: ENGINE_setup_bsd_cryptodev
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_all.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_setup_bsd_cryptodev(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:96,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:98,1
    - Dst: RSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:100,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:97,1
    - Dst: ENGINE_set_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:100,1
    - Dst: ENGINE_set_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:102,1
    - Dst: DSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:102,1
    - Dst: ENGINE_set_EC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:105,1
    - Dst: EC_KEY_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:105,1
    - Dst: ENGINE_set_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:108,1
    - Dst: ENGINE_set_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:110,1
    - Dst: ossl_register_hmac_meth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:122,1
    - Dst: ENGINE_set_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:112,1
    - Dst: RAND_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:110,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:119,1
    - Dst: ENGINE_set_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:123,1
    - Dst: DH_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:108,1
    - Dst: ENGINE_set_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - ENGINE_set_ciphers
    - RAND_OpenSSL
    - ENGINE_set_pkey_meths
    - ENGINE_set_DSA
    - ENGINE_set_name
    - EC_KEY_OpenSSL
    - ENGINE_set_digests
    - ENGINE_set_EC
    - ossl_register_hmac_meth
    - ENGINE_set_load_privkey_function
    - RSA_get_default_method
    - DH_get_default_method
    - DSA_get_default_method
    - ENGINE_set_DH
    - ENGINE_set_RAND
    - ENGINE_set_RSA
    - ENGINE_set_id
    - ENGINE_set_destroy_function
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_openssl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:149,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:153,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:154,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:165,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: engine_load_openssl_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - engine_openssl
    - ENGINE_add
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'void engine_load_openssl_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: test_sha_md_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void test_sha_md_destroy(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:532,1
    - Dst: EVP_MD_CTX_set_update_fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - mctx
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: ossl_hmac_signctx_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX_set_update_fn
    linkageType: ''
    returnType: int
    signature: 'static int ossl_hmac_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:137,1
    - Dst: bind_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:140,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: engine_openssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - ENGINE_new
    - bind_helper
    - ENGINE_free
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *engine_openssl(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:302,1
    - Dst: test_r4_40_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:308,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:311,1
    - Dst: test_r4_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: openssl_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - fprintf
    - test_r4_cipher
    - test_r4_40_cipher
    - test_cipher_nids
    linkageType: ''
    returnType: int
    signature: 'static int openssl_ciphers(ENGINE *e, const EVP_CIPHER **cipher, const
      int **nids, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:328,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:330,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: test_sha1_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - fprintf
    - EVP_MD_CTX_get0_md_data
    - SHA1_Init
    linkageType: ''
    returnType: int
    signature: 'static int test_sha1_init(EVP_MD_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_sha_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:384,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    constantsTouched: []
    func_position:
      end: 391
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 391
    functionName: test_digest_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_type
    - test_sha_md
    linkageType: ''
    returnType: int
    signature: 'static int test_digest_nids(const int **nids) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:541,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:550,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - sig
    - siglen
    - mctx
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 554
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 554
    functionName: ossl_hmac_signctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_size
    - EVP_PKEY_CTX_get_data
    - HMAC_Final
    linkageType: ''
    returnType: int
    signature: 'static int ossl_hmac_signctx(EVP_PKEY_CTX *ctx, unsigned char *sig,
      size_t *siglen, EVP_MD_CTX *mctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:617,1
    - Dst: EVP_PKEY_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:622,1
    - Dst: EVP_PKEY_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:620,1
    - Dst: EVP_PKEY_meth_set_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:624,1
    - Dst: EVP_PKEY_meth_set_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:621,1
    - Dst: EVP_PKEY_meth_set_signctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:626,1
    - Dst: EVP_PKEY_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 632
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 632
    functionName: ossl_register_hmac_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_set_signctx
    - EVP_PKEY_meth_new
    - EVP_PKEY_meth_set_cleanup
    - EVP_PKEY_meth_set_ctrl
    - EVP_PKEY_meth_set_copy
    - EVP_PKEY_meth_set_init
    - EVP_PKEY_meth_set_keygen
    linkageType: ''
    returnType: int
    signature: 'static int ossl_register_hmac_meth(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:452,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:459,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:457,1
    - Dst: EVP_PKEY_CTX_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:462,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:453,1
    - Dst: EVP_PKEY_CTX_set0_keygen_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:463,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 468
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 468
    functionName: ossl_hmac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set0_keygen_info
    - EVP_PKEY_CTX_set_data
    - HMAC_CTX_new
    - OPENSSL_free
    - OPENSSL_zalloc
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int ossl_hmac_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - e
    - pmeth
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_PKEY_METHOD**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 654
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 654
    functionName: ossl_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ossl_pkey_meths(ENGINE *e, EVP_PKEY_METHOD **pmeth, const
      int **nids, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sha_md_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:660,1
    - Dst: test_r4_40_cipher_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:663,1
    - Dst: test_r4_cipher_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 666
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 666
    functionName: openssl_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - test_sha_md_destroy
    - test_r4_cipher_destroy
    - test_r4_40_cipher_destroy
    linkageType: ''
    returnType: int
    signature: 'int openssl_destroy(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:175,1
    - Dst: bind_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: bind_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - strcmp
    - bind_helper
    linkageType: ''
    returnType: int
    signature: 'static int bind_fn(ENGINE *e, const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:223,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:225,1
    - Dst: test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: test_rc4_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - fprintf
    - RC4
    - test
    linkageType: ''
    returnType: int
    signature: 'static int test_rc4_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: test_r4_40_cipher_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void test_r4_40_cipher_destroy(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:558,1
    - Dst: EVP_PKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:576,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:566,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:575,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:577,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 586
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 586
    functionName: ossl_hmac_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_data
    - HMAC_Init_ex
    - EVP_PKEY_get0
    - ASN1_OCTET_STRING_set
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'static int ossl_hmac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:207,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:210,1
    - Dst: test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:214,1
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:215,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:214,1
    - Dst: test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:215,1
    - Dst: test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: test_rc4_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - memcpy
    - test
    - fprintf
    - RC4_set_key
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int test_rc4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:260,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:261,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:264,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:263,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:262,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:265,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 272
    functionName: test_r4_40_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_do_cipher
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *test_r4_40_cipher(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_r4_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:286,1
    - Dst: test_r4_40_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:288,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:289,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: test_cipher_nids
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - test_r4_cipher
    - test_r4_40_cipher
    - EVP_CIPHER_get_nid
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher_nids(const int **nids) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:355,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:360,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:357,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:356,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:358,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:361,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:362,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:363,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 370
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 370
    functionName: test_sha_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_new
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_input_blocksize
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_free
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_update
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *test_sha_md(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_digest_nids
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:398,1
    - Dst: test_sha_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:402,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: openssl_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - fprintf
    - test_digest_nids
    - test_sha_md
    linkageType: ''
    returnType: int
    signature: 'static int openssl_digests(ENGINE *e, const EVP_MD **digest, const
      int **nids, int nid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:594,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:598,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:602,1
    - Dst: ossl_hmac_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:605,1
    - Dst: ossl_hmac_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:596,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:606,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 610
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 610
    functionName: ossl_hmac_ctrl_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexstr2buf
    - strcmp
    - OPENSSL_free
    - ossl_hmac_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int ossl_hmac_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
      const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:235,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:238,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:239,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:236,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:237,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:240,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: test_r4_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_do_cipher
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'static const EVP_CIPHER *test_r4_cipher(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:336,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:338,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: test_sha1_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - fprintf
    - EVP_MD_CTX_get0_md_data
    - SHA1_Update
    linkageType: ''
    returnType: int
    signature: 'static int test_sha1_update(EVP_MD_CTX *ctx, const void *data, size_t
      count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:422,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:424,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:428,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:427,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 430
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 430
    functionName: openssl_load_privkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - fprintf
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - BIO_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *openssl_load_privkey(ENGINE *eng, const char *key_id,
      UI_METHOD *ui_method, void *callback_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_hmac_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:477,1
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:479,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:485,1
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:480,1
    - Dst: HMAC_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:482,1
    - Dst: ossl_hmac_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:492,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 494
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 494
    functionName: ossl_hmac_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_data
    - HMAC_CTX_copy
    - ASN1_OCTET_STRING_set
    - ossl_hmac_cleanup
    - ossl_hmac_init
    linkageType: ''
    returnType: int
    signature: 'static int ossl_hmac_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:511,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:517,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 520
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 520
    functionName: ossl_hmac_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - EVP_PKEY_CTX_get_data
    - ASN1_OCTET_STRING_dup
    linkageType: ''
    returnType: int
    signature: 'static int ossl_hmac_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: test_r4_cipher_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void test_r4_cipher_destroy(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:344,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:346,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: test_sha1_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - fprintf
    - EVP_MD_CTX_get0_md_data
    - SHA1_Final
    linkageType: ''
    returnType: int
    signature: 'static int test_sha1_final(EVP_MD_CTX *ctx, unsigned char *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:498,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:502,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:503,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:501,1
    - Dst: EVP_PKEY_CTX_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 506
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 506
    functionName: ossl_hmac_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_data
    - EVP_PKEY_CTX_set_data
    - OPENSSL_free
    - OPENSSL_clear_free
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void ossl_hmac_cleanup(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:524,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:525,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: ossl_int_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_openssl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_data
    - HMAC_Update
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: 'static int ossl_int_update(EVP_MD_CTX *ctx, const void *data, size_t
      count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:61,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:62,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:64,1
    - Dst: ENGINE_set_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:65,1
    - Dst: ENGINE_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: bind_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c
    functionUses: []
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_name
    - ENGINE_set_flags
    - ENGINE_set_RAND
    - ENGINE_set_id
    linkageType: ''
    returnType: int
    signature: 'static int bind_helper(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_ia32_rdrand_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: get_random_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c
    functionUses: []
    functionsReached:
    - OPENSSL_ia32_rdrand_bytes
    linkageType: ''
    returnType: int
    signature: 'static int get_random_bytes(unsigned char *buf, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: rdrand_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rdrand_init(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: random_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int random_status(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:73,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:77,1
    - Dst: bind_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: ENGINE_rdrand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c
    functionUses: []
    functionsReached:
    - ENGINE_new
    - bind_helper
    - ENGINE_free
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *ENGINE_rdrand(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_rdrand
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:86,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:101,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:90,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:89,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: engine_load_rdrand_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c
    functionUses: []
    functionsReached:
    - ENGINE_rdrand
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'void engine_load_rdrand_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: engine_load_rdrand_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_rdrand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void engine_load_rdrand_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:44,1
    - Dst: ENGINE_register_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:45,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ENGINE_register_all_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_register_pkey_meths
    - ENGINE_get_next
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_pkey_meths(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_pkey_meths(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:78,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: ENGINE_get_pkey_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - ENGINE_get_pkey_meths
    - ERR_raise
    - fn
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ENGINE_get_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_PKEY_METHS_PTR
    signature: 'ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_pkey_meths(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: ENGINE_register_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_pkey_meths(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: ENGINE_set_default_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_pkey_meths(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ENGINE_get_pkey_meth_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_pkey_meth_engine(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_PKEY_METHS_PTR
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: ENGINE_set_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: engine_pkey_meths_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_pkmeth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_free
    linkageType: ''
    returnType: void
    signature: 'void engine_pkey_meths_free(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: ENGINE_unregister_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_digests(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: ENGINE_register_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_digests(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ENGINE_get_digest_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_digest_engine(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ENGINE_get_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_DIGESTS_PTR
    signature: 'ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: engine_unregister_all_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_digests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:43,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:43,1
    - Dst: ENGINE_register_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: ENGINE_register_all_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_register_digests
    - ENGINE_get_next
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_digests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: ENGINE_set_default_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_digests(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:75,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:77,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: ENGINE_get_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached:
    - fn
    - ERR_raise
    - ENGINE_get_digests
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_DIGESTS_PTR
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ENGINE_set_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_digest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - ENGINE_CLEANUP_ITEM*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: engine_cleanup_cb_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void engine_cleanup_cb_free(ENGINE_CLEANUP_ITEM *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - idx
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: ENGINE_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *ENGINE_get_ex_data(const ENGINE *e, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - init_f
    argTypes:
    - ENGINE*
    - ENGINE_GEN_INT_FUNC_PTR
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ENGINE_set_init_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_CLEANUP_ITEM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - create
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: int_cleanup_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - sk_ENGINE_CLEANUP_ITEM_new_null
    linkageType: ''
    returnType: int
    signature: 'static int int_cleanup_check(int create) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - finish_f
    argTypes:
    - ENGINE*
    - ENGINE_GEN_INT_FUNC_PTR
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ENGINE_set_finish_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR
      finish_f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: (do_engine_lock_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE
    signature: 'DEFINE_RUN_ONCE (do_engine_lock_init) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_cleanup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:154,1
    - Dst: int_cleanup_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:156,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:160,1
    - Dst: sk_ENGINE_CLEANUP_ITEM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ENGINE_CLEANUP_CB*
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: engine_cleanup_add_last
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - int_cleanup_check
    - OPENSSL_free
    - sk_ENGINE_CLEANUP_ITEM_push
    - int_cleanup_item
    linkageType: ''
    returnType: int
    signature: 'int engine_cleanup_add_last(ENGINE_CLEANUP_CB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:127,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ENGINE_CLEANUP_CB*
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: int_cleanup_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: ENGINE_CLEANUP_ITEM*
    signature: 'static ENGINE_CLEANUP_ITEM *int_cleanup_item(ENGINE_CLEANUP_CB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_cleanup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:174,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:179,1
    - Dst: sk_ENGINE_CLEANUP_ITEM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: engine_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - int_cleanup_check
    - sk_ENGINE_CLEANUP_ITEM_pop_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void engine_cleanup_int(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_cleanup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:139,1
    - Dst: sk_ENGINE_CLEANUP_ITEM_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:143,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:145,1
    - Dst: int_cleanup_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ENGINE_CLEANUP_CB*
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: engine_cleanup_add_first
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - int_cleanup_check
    - OPENSSL_free
    - sk_ENGINE_CLEANUP_ITEM_insert
    - int_cleanup_item
    linkageType: ''
    returnType: int
    signature: 'int engine_cleanup_add_first(ENGINE_CLEANUP_CB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: ENGINE_set_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_id(ENGINE *e, const char *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - e
    - name
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: ENGINE_set_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_name(ENGINE *e, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - ctrl_f
    argTypes:
    - ENGINE*
    - ENGINE_CTRL_FUNC_PTR
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: ENGINE_set_ctrl_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: ENGINE_get_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ENGINE_get_name(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: ENGINE_get_init_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_GEN_INT_FUNC_PTR
    signature: 'ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: ENGINE_get_ctrl_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_CTRL_FUNC_PTR
    signature: 'ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - destroy_f
    argTypes:
    - ENGINE*
    - ENGINE_GEN_INT_FUNC_PTR
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: ENGINE_set_destroy_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR
      destroy_f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - flags
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: ENGINE_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_flags(ENGINE *e, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: ENGINE_get_destroy_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_GEN_INT_FUNC_PTR
    signature: 'ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: ENGINE_get_finish_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_GEN_INT_FUNC_PTR
    signature: 'ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: ENGINE_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_get_flags(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - e
    - idx
    - arg
    argTypes:
    - ENGINE*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: ENGINE_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: engine_set_all_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void engine_set_all_null(ENGINE *e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:77,1
    - Dst: engine_pkey_meths_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:85,1
    - Dst: engine_pkey_asn1_meths_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:86,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:83,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:80,1
    - Dst: engine_remove_dynamic_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:93,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:94,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - e
    - not_locked
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: engine_free_util
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - engine_remove_dynamic_id
    - OPENSSL_free
    - ENGINE_REF_PRINT
    - engine_pkey_asn1_meths_free
    - CRYPTO_DOWN_REF
    - engine_pkey_meths_free
    - CRYPTO_free_ex_data
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: int
    signature: 'int engine_free_util(ENGINE *e, int not_locked) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - defns
    argTypes:
    - ENGINE*
    - ENGINE_CMD_DEFN*
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: ENGINE_set_cmd_defns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_free_util
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ENGINE_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - engine_free_util
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_free(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: ENGINE_get_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ENGINE_get_id(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: ENGINE_get_static_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *ENGINE_get_static_state(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:30,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:31,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:37,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:36,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:32,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: ENGINE_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_new_ex_data
    - ERR_raise
    - OPENSSL_free
    - ENGINE_REF_PRINT
    - OPENSSL_zalloc
    - RUN_ONCE
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: ENGINE_get_cmd_defns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_CMD_DEFN*
    signature: 'const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:40,1
    - Dst: ENGINE_register_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: ENGINE_register_all_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_DSA
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_DSA(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_DSA(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ENGINE_get_default_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_default_DSA(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - dsa_meth
    argTypes:
    - ENGINE*
    - DSA_METHOD*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ENGINE_set_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_DSA(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ENGINE_set_default_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_DSA(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ENGINE_register_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_DSA(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ENGINE_get_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD*
    signature: 'const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - defn
    argTypes:
    - ENGINE_CMD_DEFN*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: int_ctrl_cmd_is_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int int_ctrl_cmd_is_null(const ENGINE_CMD_DEFN *defn) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: int_ctrl_cmd_is_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:72,1
    - Dst: int_ctrl_cmd_by_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:88,1
    - Dst: int_ctrl_cmd_by_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:99,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:81,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:100,1
    - Dst: int_ctrl_cmd_is_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:108,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:110,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:112,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:112,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:117,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:117,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:123,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 43
    argCount: 5
    argNames:
    - e
    - cmd
    - i
    - p
    - (*f)
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 125
    functionName: int_ctrl_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - int_ctrl_cmd_by_num
    - strcpy
    - int_ctrl_cmd_by_name
    - int_ctrl_cmd_is_null
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int int_ctrl_helper(ENGINE *e, int cmd, long i, void *p, void
      (*f) (void)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_ctrl_cmd_is_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:36,1
    - Dst: int_ctrl_cmd_is_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:40,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - defn
    - s
    argTypes:
    - ENGINE_CMD_DEFN*
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: int_ctrl_cmd_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached:
    - strcmp
    - int_ctrl_cmd_is_null
    linkageType: ''
    returnType: int
    signature: 'static int int_ctrl_cmd_by_name(const ENGINE_CMD_DEFN *defn, const
      char *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:184,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - e
    - cmd
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: ENGINE_cmd_is_executable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached:
    - ENGINE_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_cmd_is_executable(ENGINE *e, int cmd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_ctrl_cmd_is_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - defn
    - num
    argTypes:
    - ENGINE_CMD_DEFN*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: int_ctrl_cmd_by_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached:
    - int_ctrl_cmd_is_null
    linkageType: ''
    returnType: int
    signature: 'static int int_ctrl_cmd_by_num(const ENGINE_CMD_DEFN *defn, unsigned
      int num) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:131,1
    - Dst: int_ctrl_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:159,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:137,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:174,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 5
    argNames:
    - e
    - cmd
    - i
    - p
    - (*f)
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: ENGINE_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached:
    - int_ctrl_helper
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:201,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:219,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:216,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 6
    argNames:
    - e
    - cmd_name
    - i
    - p
    - (*f)
    - cmd_optional
    argTypes:
    - ENGINE*
    - char*
    - long
    - void*
    - void
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 229
    functionName: ENGINE_ctrl_cmd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached:
    - ENGINE_ctrl
    - ERR_raise
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, long i, void
      *p, void (*f) (void), int cmd_optional) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:239,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:254,1
    - Dst: ENGINE_cmd_is_executable
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:260,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:243,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:257,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:261,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:265,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:279,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:288,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:300,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:323,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:314,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c:316,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 4
    argNames:
    - e
    - cmd_name
    - arg
    - cmd_optional
    argTypes:
    - ENGINE*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 326
    functionName: ENGINE_ctrl_cmd_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_ctrl.c
    functionUses: []
    functionsReached:
    - strtol
    - ERR_clear_error
    - ERR_raise
    - ENGINE_ctrl
    - ENGINE_cmd_is_executable
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const
      char *arg, int cmd_optional) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:40,1
    - Dst: ENGINE_register_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: ENGINE_register_all_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_RSA
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_RSA(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_RSA(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ENGINE_get_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD*
    signature: 'const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_RSA(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ENGINE_set_default_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_RSA(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ENGINE_register_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_RSA(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ENGINE_get_default_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_default_RSA(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - rsa_meth
    argTypes:
    - ENGINE*
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ENGINE_set_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rsa.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:20,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: skip_dot
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char*
    signature: 'static const char *skip_dot(const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:31,1
    - Dst: sk_ENGINE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:35,1
    - Dst: sk_ENGINE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:34,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: int_engine_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c
    functionUses: []
    functionsReached:
    - sk_ENGINE_new_null
    - ENGINE_init
    - ENGINE_finish
    - sk_ENGINE_push
    linkageType: ''
    returnType: int
    signature: 'static int int_engine_init(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:151,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:154,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:152,1
    - Dst: CONF_imodule_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:152,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:157,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:161,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:162,1
    - Dst: int_engine_configure
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: int_engine_module_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_CONF_VALUE_num
    - NCONF_get_section
    - sk_CONF_VALUE_value
    - int_engine_configure
    - OSSL_TRACE2
    - CONF_imodule_get_value
    - CONF_imodule_get_name
    linkageType: ''
    returnType: int
    signature: 'static int int_engine_module_init(CONF_IMODULE *md, const CONF *cnf) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:47,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:59,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:75,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:79,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:86,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:120,1
    - Dst: ENGINE_set_default_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:121,1
    - Dst: int_engine_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:114,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:136,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:138,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:117,1
    - Dst: skip_dot
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:53,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:56,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:82,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:108,1
    - Dst: NCONF_get_number_e
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:111,1
    - Dst: int_engine_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:128,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:142,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:123,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:54,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:63,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:64,1
    - Dst: skip_dot
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:65,1
    - Dst: OSSL_TRACE2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:67,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:98,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:78,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:96,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:84,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:110,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 85
    argCount: 3
    argNames:
    - name
    - value
    - cnf
    argTypes:
    - char*
    - char*
    - CONF*
    constantsTouched: []
    func_position:
      end: 144
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 144
    functionName: int_engine_configure
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - ERR_clear_error
    - ERR_raise
    - ENGINE_ctrl_cmd_string
    - OSSL_TRACE2
    - strcmp
    - ENGINE_by_id
    - sk_CONF_VALUE_num
    - ENGINE_set_default_string
    - sk_CONF_VALUE_value
    - ERR_raise_data
    - skip_dot
    - ENGINE_free
    - NCONF_get_section
    - int_engine_init
    - NCONF_get_number_e
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int int_engine_configure(const char *name, const char *value,
      const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:174,1
    - Dst: sk_ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:176,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: int_engine_module_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c
    functionUses: []
    functionsReached:
    - sk_ENGINE_free
    - sk_ENGINE_pop
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: 'static void int_engine_module_finish(CONF_IMODULE *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: ENGINE_add_conf_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_cnf.c
    functionUses: []
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_add_conf_module(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:158,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:165,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:167,1
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:175,1
    - Dst: ENGINE_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:179,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:185,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:193,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - e
    - ctx
    argTypes:
    - ENGINE*
    - dynamic_data_ctx**
    constantsTouched: []
    func_position:
      end: 196
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 196
    functionName: dynamic_set_data_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_get_ex_data
    - OPENSSL_free
    - sk_OPENSSL_STRING_free
    - OPENSSL_zalloc
    - ENGINE_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'static int dynamic_set_data_ctx(ENGINE *e, dynamic_data_ctx **ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:211,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:225,1
    - Dst: ENGINE_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:214,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:217,1
    - Dst: dynamic_set_data_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 237
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 237
    functionName: dynamic_get_data_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_get_ex_data
    - dynamic_set_data_ctx
    - ENGINE_get_ex_new_index
    linkageType: ''
    returnType: dynamic_data_ctx*
    signature: 'static dynamic_data_ctx *dynamic_get_data_ctx(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_dynamic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:259,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:275,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:263,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:269,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: engine_load_dynamic_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    - ENGINE_free
    - engine_dynamic
    linkageType: ''
    returnType: void
    signature: 'void engine_load_dynamic_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: dynamic_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dynamic_finish(ENGINE *e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DSO_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:381,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:386,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:389,1
    - Dst: DSO_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:393,1
    - Dst: DSO_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:390,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:395,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dynamic_data_ctx*
    constantsTouched: []
    func_position:
      end: 401
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 401
    functionName: int_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - OPENSSL_free
    - DSO_merge
    - DSO_load
    linkageType: ''
    returnType: int
    signature: 'static int int_load(dynamic_data_ctx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: int_free_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void int_free_str(char *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:241,1
    - Dst: ENGINE_set_finish_function
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:247,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:245,1
    - Dst: ENGINE_set_init_function
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:246,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:244,1
    - Dst: ENGINE_set_ctrl_function
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:248,1
    - Dst: ENGINE_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:249,1
    - Dst: ENGINE_set_cmd_defns
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:250,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: engine_dynamic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_cmd_defns
    - ENGINE_set_name
    - ENGINE_set_ctrl_function
    - ENGINE_set_finish_function
    - ENGINE_free
    - ENGINE_set_flags
    - ENGINE_new
    - ENGINE_set_id
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *engine_dynamic(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: dynamic_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dynamic_init(ENGINE *e) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:308,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:354,1
    - Dst: dynamic_get_data_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:298,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:302,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:337,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:360,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:358,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:346,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:353,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:363,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:365,1
    - Dst: dynamic_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:343,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:316,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:314,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:318,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:327,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:329,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:331,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:364,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:373,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 58
    argCount: 5
    argNames:
    - e
    - cmd
    - i
    - p
    - (*f)
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    - void
    constantsTouched: []
    func_position:
      end: 375
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 375
    functionName: dynamic_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - sk_OPENSSL_STRING_push
    - dynamic_get_data_ctx
    - OPENSSL_free
    - dynamic_load
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dynamic_ctrl(ENGINE *e, int cmd, long i, void *p, void
      (*f) (void)) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: int_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:440,1
    - Dst: engine_set_all_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:503,1
    - Dst: using_libcrypto_11
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:474,1
    - Dst: engine_remove_dynamic_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:508,1
    - Dst: DSO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:435,1
    - Dst: DSO_convert_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:438,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:465,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:480,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:513,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:529,1
    - Dst: DSO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:429,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:441,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:449,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:452,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:454,1
    - Dst: engine_add_dynamic_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:506,1
    - Dst: CRYPTO_get_mem_functions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:497,1
    - Dst: ENGINE_get_static_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:496,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:488,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:533,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:442,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:478,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:511,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:515,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:520,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 2
    argNames:
    - e
    - ctx
    argTypes:
    - ENGINE*
    - dynamic_data_ctx*
    constantsTouched: []
    func_position:
      end: 537
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 537
    functionName: dynamic_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_mem_functions
    - engine_add_dynamic_id
    - int_load
    - ERR_raise
    - DSO_convert_filename
    - engine_remove_dynamic_id
    - ERR_clear_error
    - DSO_bind_func
    - memcpy
    - using_libcrypto_11
    - DSO_free
    - ENGINE_add
    - engine_set_all_null
    - DSO_ctrl
    - DSO_new
    - ENGINE_get_static_state
    linkageType: ''
    returnType: int
    signature: 'static int dynamic_load(ENGINE *e, dynamic_data_ctx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:142,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:145,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:146,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:144,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:143,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*
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: dynamic_data_ctx_free_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_pop_free
    - OPENSSL_free
    - DSO_free
    linkageType: ''
    returnType: void
    signature: 'static void dynamic_data_ctx_free_func(void *parent, void *ptr, CRYPTO_EX_DATA
      *ad, int idx, long argl, void *argp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:416,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:417,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dynamic_data_ctx*
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: using_libcrypto_11
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_dyn.c
    functionUses: []
    functionsReached:
    - DSO_bind_func
    - ERR_pop_to_mark
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: 'static int using_libcrypto_11(dynamic_data_ctx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ENGINE_get_table_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int ENGINE_get_table_flags(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_ENGINE_PILE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - t
    - create
    argTypes:
    - ENGINE_TABLE**
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: int_table_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - lh_ENGINE_PILE_new
    linkageType: ''
    returnType: int
    signature: 'static int int_table_check(ENGINE_TABLE **t, int create) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - ENGINE_PILE*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: engine_pile_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long engine_pile_hash(const ENGINE_PILE *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:154,1
    - Dst: sk_ENGINE_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:155,1
    - Dst: engine_unlocked_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pile
    - e
    argTypes:
    - ENGINE_PILE*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: int_unregister_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - engine_unlocked_finish
    - sk_ENGINE_delete
    - sk_ENGINE_find
    linkageType: ''
    returnType: void
    signature: 'static void int_unregister_cb(ENGINE_PILE *pile, ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:168,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:173,1
    - Dst: int_table_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:171,1
    - Dst: lh_ENGINE_PILE_doall_ENGINE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - table
    - e
    argTypes:
    - ENGINE_TABLE**
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: engine_table_unregister
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - lh_ENGINE_PILE_doall_ENGINE
    - int_table_check
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: void
    signature: 'void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:188,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:195,1
    - Dst: lh_ENGINE_PILE_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:191,1
    - Dst: lh_ENGINE_PILE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - table
    argTypes:
    - ENGINE_TABLE**
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: engine_table_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - lh_ENGINE_PILE_doall
    - lh_ENGINE_PILE_free
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: void
    signature: 'void engine_table_cleanup(ENGINE_TABLE **table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pile
    - dall
    argTypes:
    - ENGINE_PILE*
    - ENGINE_PILE_DOALL*
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: int_dall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void int_dall(const ENGINE_PILE *pile, ENGINE_PILE_DOALL *dall) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ENGINE_PILE*
    - ENGINE_PILE*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: engine_pile_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int engine_pile_cmp(const ENGINE_PILE *a, const ENGINE_PILE
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ENGINE_set_table_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_set_table_flags(unsigned int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:180,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:183,1
    - Dst: engine_unlocked_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - ENGINE_PILE*
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: int_cleanup_cb_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - sk_ENGINE_free
    - OPENSSL_free
    - engine_unlocked_finish
    linkageType: ''
    returnType: void
    signature: 'static void int_cleanup_cb_doall(ENGINE_PILE *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_ENGINE_PILE_doall_ENGINE_PILE_DOALL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - table
    - cb
    - arg
    argTypes:
    - ENGINE_TABLE*
    - engine_table_doall_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: engine_table_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - lh_ENGINE_PILE_doall_ENGINE_PILE_DOALL
    linkageType: ''
    returnType: void
    signature: 'void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb
      *cb, void *arg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:89,1
    - Dst: lh_ENGINE_PILE_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:103,1
    - Dst: int_table_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:93,1
    - Dst: engine_cleanup_add_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:96,1
    - Dst: lh_ENGINE_PILE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:97,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:105,1
    - Dst: sk_ENGINE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:110,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:112,1
    - Dst: lh_ENGINE_PILE_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:116,1
    - Dst: lh_ENGINE_PILE_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:117,1
    - Dst: sk_ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:118,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:119,1
    - Dst: sk_ENGINE_delete_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:124,1
    - Dst: sk_ENGINE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:128,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:134,1
    - Dst: engine_unlocked_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:133,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:146,1
    - Dst: engine_unlocked_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:138,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 6
    argNames:
    - table
    - cleanup
    - e
    - nids
    - num_nids
    - setdefault
    argTypes:
    - ENGINE_TABLE**
    - ENGINE_CLEANUP_CB*
    - ENGINE*
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 148
    functionName: engine_table_register
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - sk_ENGINE_new_null
    - sk_ENGINE_delete_ptr
    - sk_ENGINE_free
    - int_table_check
    - sk_ENGINE_push
    - CRYPTO_THREAD_write_lock
    - lh_ENGINE_PILE_insert
    - engine_cleanup_add_first
    - engine_unlocked_init
    - OPENSSL_free
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - engine_unlocked_finish
    - lh_ENGINE_PILE_retrieve
    - lh_ENGINE_PILE_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int engine_table_register(ENGINE_TABLE **table, ENGINE_CLEANUP_CB
      *cleanup, ENGINE *e, const int *nids, int num_nids, int setdefault) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:217,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:208,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:218,1
    - Dst: OSSL_TRACE3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:212,1
    - Dst: engine_unlocked_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:230,1
    - Dst: OSSL_TRACE3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:244,1
    - Dst: OSSL_TRACE4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:266,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:292,1
    - Dst: engine_unlocked_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:260,1
    - Dst: int_table_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:224,1
    - Dst: lh_ENGINE_PILE_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:227,1
    - Dst: OSSL_TRACE4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:231,1
    - Dst: sk_ENGINE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:242,1
    - Dst: engine_unlocked_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:252,1
    - Dst: OSSL_TRACE4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:280,1
    - Dst: OSSL_TRACE3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:284,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:287,1
    - Dst: OSSL_TRACE4
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:262,1
    - Dst: engine_unlocked_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c:257,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 47
    argCount: 4
    argNames:
    - table
    - nid
    - f
    - l
    argTypes:
    - ENGINE_TABLE**
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 294
    functionName: ossl_engine_table_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_table.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - engine_unlocked_init
    - int_table_check
    - OSSL_TRACE4
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - sk_ENGINE_value
    - engine_unlocked_finish
    - ERR_set_mark
    - OSSL_TRACE3
    - lh_ENGINE_PILE_retrieve
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ossl_engine_table_select(ENGINE_TABLE **table, int nid, const
      char *f, int l) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:198,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - e
    - not_locked
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: engine_remove_dynamic_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: void
    signature: 'void engine_remove_dynamic_id(ENGINE *e, int not_locked) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:62,1
    - Dst: engine_cleanup_add_last
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:77,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:67,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:84,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:92,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 107
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 107
    functionName: engine_list_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - strcmp
    - engine_cleanup_add_last
    - ERR_raise
    - ENGINE_REF_PRINT
    linkageType: ''
    returnType: int
    signature: 'static int engine_list_add(ENGINE *e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:223,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:235,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:233,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: ENGINE_get_first
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_REF_PRINT
    - RUN_ONCE
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_first(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:264,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:267,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:275,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:273,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: ENGINE_get_next
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_REF_PRINT
    - ENGINE_free
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_next(ENGINE *e) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:307,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:317,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:314,1
    - Dst: engine_list_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:316,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:311,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: ENGINE_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - engine_list_add
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_add(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_add_dynamic_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ENGINE*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 370
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 370
    functionName: engine_cpy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - engine_add_dynamic_id
    linkageType: ''
    returnType: void
    signature: 'static void engine_cpy(ENGINE *dest, const ENGINE *src) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:114,1
    - Dst: engine_free_util
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:135,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:122,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 137
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 137
    functionName: engine_list_remove
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - engine_free_util
    linkageType: ''
    returnType: int
    signature: 'static int engine_list_remove(ENGINE *e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:243,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:253,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:255,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: ENGINE_get_last
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_REF_PRINT
    - RUN_ONCE
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_last(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:285,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:294,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:298,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:288,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: ENGINE_get_prev
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_REF_PRINT
    - ENGINE_free
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_prev(ENGINE *e) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:382,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:421,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:420,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:417,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:431,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:399,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:377,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:383,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:390,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:425,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:387,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:380,1
    - Dst: engine_cpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:403,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:408,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:411,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:418,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:422,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:423,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:426,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:432,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 435
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 435
    functionName: ENGINE_by_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ENGINE_ctrl_cmd_string
    - ENGINE_load_builtin_engines
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - strcmp
    - engine_cpy
    - ENGINE_by_id
    - ENGINE_REF_PRINT
    - ERR_raise_data
    - ENGINE_free
    - ENGINE_new
    - RUN_ONCE
    - ossl_safe_getenv
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_by_id(const char *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:441,1
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: ENGINE_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_up_ref(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: engine_list_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ENGINE_remove
    linkageType: ''
    returnType: void
    signature: 'static void engine_list_cleanup(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:152,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:188,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 3
    argNames:
    - e
    - dynamic_id
    - not_locked
    argTypes:
    - ENGINE*
    - ENGINE_DYNAMIC_ID
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 190
    functionName: engine_add_dynamic_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int engine_add_dynamic_id(ENGINE *e, ENGINE_DYNAMIC_ID dynamic_id,
      int not_locked) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:329,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:332,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:338,1
    - Dst: engine_list_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:334,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: ENGINE_remove
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_list.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - engine_list_remove
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_remove(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_err.c:86,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_err.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: ossl_err_load_ENGINE_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_ENGINE_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:40,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:40,1
    - Dst: ENGINE_register_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: ENGINE_register_all_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_register_DH
    - ENGINE_get_next
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_DH(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_DH(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ENGINE_get_default_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_default_DH(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - dh_meth
    argTypes:
    - ENGINE*
    - DH_METHOD*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ENGINE_set_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_DH(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ENGINE_set_default_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_DH(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ENGINE_register_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_DH(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ENGINE_get_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_dh.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD*
    signature: 'const DH_METHOD *ENGINE_get_DH(const ENGINE *e) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_default_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:18,1
    - Dst: ENGINE_set_default_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:22,1
    - Dst: ENGINE_set_default_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:29,1
    - Dst: ENGINE_set_default_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:20,1
    - Dst: ENGINE_set_default_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:25,1
    - Dst: ENGINE_set_default_EC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:33,1
    - Dst: ENGINE_set_default_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:36,1
    - Dst: ENGINE_set_default_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:39,1
    - Dst: ENGINE_set_default_pkey_asn1_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:42,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 2
    argNames:
    - e
    - flags
    argTypes:
    - ENGINE*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 45
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 45
    functionName: ENGINE_set_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c
    functionUses: []
    functionsReached:
    - ENGINE_set_default_RAND
    - ENGINE_set_default_digests
    - ENGINE_set_default_RSA
    - ENGINE_set_default_EC
    - ENGINE_set_default_DH
    - ENGINE_set_default_DSA
    - ENGINE_set_default_pkey_asn1_meths
    - ENGINE_set_default_ciphers
    - ENGINE_set_default_pkey_meths
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default(ENGINE *e, unsigned int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:84,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:85,1
    - Dst: ENGINE_set_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - e
    - def_list
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: ENGINE_set_default_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - CONF_parse_list
    - ENGINE_set_default
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_string(ENGINE *e, const char *def_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:116,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:116,1
    - Dst: ENGINE_register_complete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: ENGINE_register_all_complete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_register_complete
    - ENGINE_get_next
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_all_complete(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_register_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:94,1
    - Dst: ENGINE_register_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:101,1
    - Dst: ENGINE_register_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:95,1
    - Dst: ENGINE_register_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:96,1
    - Dst: ENGINE_register_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:98,1
    - Dst: ENGINE_register_EC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:104,1
    - Dst: ENGINE_register_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:106,1
    - Dst: ENGINE_register_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:107,1
    - Dst: ENGINE_register_pkey_asn1_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: ENGINE_register_complete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c
    functionUses: []
    functionsReached:
    - ENGINE_register_pkey_asn1_meths
    - ENGINE_register_digests
    - ENGINE_register_DH
    - ENGINE_register_RAND
    - ENGINE_register_EC
    - ENGINE_register_pkey_meths
    - ENGINE_register_ciphers
    - ENGINE_register_DSA
    - ENGINE_register_RSA
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_complete(ENGINE *e) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:54,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:56,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:62,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:60,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:58,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:64,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:66,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:68,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:70,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:72,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c:74,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - alg
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: int_def_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_fat.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: 'static int int_def_cb(const char *alg, int len, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_RAND(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:40,1
    - Dst: ENGINE_register_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: ENGINE_register_all_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_RAND
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_RAND(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ENGINE_get_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD*
    signature: 'const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_RAND(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ENGINE_register_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_RAND(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ENGINE_set_default_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_RAND(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ENGINE_get_default_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_default_RAND(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - rand_meth
    argTypes:
    - ENGINE*
    - RAND_METHOD*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ENGINE_set_RAND
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - loadpriv_f
    argTypes:
    - ENGINE*
    - ENGINE_LOAD_KEY_PTR
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: ENGINE_set_load_privkey_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_load_privkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR
      loadpriv_f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ENGINE_get_load_pubkey_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_LOAD_KEY_PTR
    signature: 'ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - loadssl_f
    argTypes:
    - ENGINE*
    - ENGINE_SSL_CLIENT_CERT_PTR
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ENGINE_set_load_ssl_client_cert_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, ENGINE_SSL_CLIENT_CERT_PTR
      loadssl_f) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:61,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:67,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:64,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:68,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:78,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - e
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 82
    functionName: ENGINE_load_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, UI_METHOD
      *ui_method, void *callback_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ENGINE_get_load_privkey_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_LOAD_KEY_PTR
    signature: 'ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE
      *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - loadpub_f
    argTypes:
    - ENGINE*
    - ENGINE_LOAD_KEY_PTR
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: ENGINE_set_load_pubkey_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR
      loadpub_f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ENGINE_get_ssl_client_cert_function
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_SSL_CLIENT_CERT_PTR
    signature: 'ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const
      ENGINE *e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:90,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:97,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:93,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:100,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - e
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 111
    functionName: ENGINE_load_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, UI_METHOD
      *ui_method, void *callback_data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:120,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:123,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:130,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:127,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c:132,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 8
    argNames:
    - e
    - s
    - ca_dn
    - pcert
    - ppkey
    - pother
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - SSL*
    - STACK_OF(X509_NAME)*
    - X509**
    - EVP_PKEY**
    - STACK_OF(X509)**
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: ENGINE_load_ssl_client_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_pkey.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, STACK_OF(X509_NAME)
      *ca_dn, X509 **pcert, EVP_PKEY **ppkey, STACK_OF(X509) **pother, UI_METHOD *ui_method,
      void *callback_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: ENGINE_unregister_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_ciphers(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: ENGINE_set_default_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_ciphers(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: ENGINE_register_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_ciphers(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:75,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: ENGINE_get_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached:
    - fn
    - ERR_raise
    - ENGINE_get_ciphers
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_CIPHERS_PTR
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ENGINE_set_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: engine_unregister_all_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_ciphers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:43,1
    - Dst: ENGINE_register_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:44,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: ENGINE_register_all_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_ciphers
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_ciphers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ENGINE_get_cipher_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_cipher_engine(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ENGINE_get_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_cipher.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_CIPHERS_PTR
    signature: 'ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_EC(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:40,1
    - Dst: ENGINE_register_EC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: ENGINE_register_all_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_register_EC
    - ENGINE_get_next
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_EC(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ENGINE_get_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD*
    signature: 'const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_EC(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ENGINE_register_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_EC(ENGINE *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ENGINE_set_default_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_EC(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ENGINE_get_default_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_default_EC(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - e
    - ec_meth
    argTypes:
    - ENGINE*
    - EC_KEY_METHOD*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ENGINE_set_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_eckey.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ec_meth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:37,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: engine_unlocked_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c
    functionUses: []
    functionsReached:
    - ENGINE_REF_PRINT
    linkageType: ''
    returnType: int
    signature: 'int engine_unlocked_init(ENGINE *e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:84,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:91,1
    - Dst: engine_unlocked_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:88,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:87,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: ENGINE_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c
    functionUses: []
    functionsReached:
    - engine_unlocked_init
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_init(ENGINE *e) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:59,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:65,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:70,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:62,1
    - Dst: engine_free_util
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:72,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - e
    - unlock_for_handlers
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: engine_unlocked_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - engine_free_util
    - ENGINE_REF_PRINT
    - REF_ASSERT_ISNT
    linkageType: ''
    returnType: int
    signature: 'int engine_unlocked_finish(ENGINE *e, int unlock_for_handlers) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:105,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:110,1
    - Dst: engine_unlocked_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: ENGINE_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/eng_init.c
    functionUses: []
    functionsReached:
    - engine_unlocked_finish
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_finish(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: engine_unregister_all_pkey_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void engine_unregister_all_pkey_asn1_meths(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:54,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:54,1
    - Dst: ENGINE_register_pkey_asn1_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ENGINE_register_all_pkey_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - ENGINE_get_first
    - ENGINE_register_pkey_asn1_meths
    - ENGINE_get_next
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_register_all_pkey_asn1_meths(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_pkey_asn1_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:91,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: ENGINE_get_pkey_asn1_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - fn
    - ENGINE_get_pkey_asn1_meths
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int
      nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ENGINE_get_pkey_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_PKEY_ASN1_METHS_PTR
    signature: 'ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE
      *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: engine_pkey_asn1_meths_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_free
    linkageType: ''
    returnType: void
    signature: 'void engine_pkey_asn1_meths_free(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ENGINE_unregister_pkey_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: 'void ENGINE_unregister_pkey_asn1_meths(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: ENGINE_register_pkey_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_register_pkey_asn1_meths(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: ENGINE_set_default_pkey_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_default_pkey_asn1_meths(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:173,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:178,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:179,1
    - Dst: sk_ENGINE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - nid
    - sk
    - def
    - arg
    argTypes:
    - int
    - STACK_OF(ENGINE)*
    - ENGINE*
    - void*
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: look_str_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - sk_ENGINE_num
    - sk_ENGINE_value
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void look_str_cb(int nid, STACK_OF(ENGINE) *sk, ENGINE *def,
      void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:197,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:208,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:198,1
    - Dst: engine_table_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:204,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pe
    - str
    - len
    argTypes:
    - ENGINE**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: ENGINE_pkey_asn1_find_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ENGINE_REF_PRINT
    - engine_table_doall
    - RUN_ONCE
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe,
      const char *str, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: ENGINE_get_pkey_asn1_meth_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_PKEY_ASN1_METHS_PTR
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ENGINE_set_pkey_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR
      f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:148,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:154,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c:153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - e
    - str
    - len
    argTypes:
    - ENGINE*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: ENGINE_get_pkey_asn1_meth_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/engine/tb_asnmth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - strlen
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD*
    signature: 'const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e,
      const char *str, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:515,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:517,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_MODULE*
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: module_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - DSO_free
    linkageType: ''
    returnType: void
    signature: 'static void module_free(CONF_MODULE *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - name
    - ifunc
    - ffunc
    argTypes:
    - char*
    - conf_init_func*
    - conf_finish_func*
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: CONF_module_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - module_add
    linkageType: ''
    returnType: int
    signature: 'int CONF_module_add(const char *name, conf_init_func *ifunc, conf_finish_func
      *ffunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_modules_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:578,1
    - Dst: module_lists_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: ossl_config_modules_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - module_lists_free
    - CONF_modules_unload
    linkageType: ''
    returnType: void
    signature: 'void ossl_config_modules_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: CONF_imodule_get_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *CONF_imodule_get_name(const CONF_IMODULE *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:88,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:91,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: module_lists_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - sk_CONF_IMODULE_free
    - sk_CONF_MODULE_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void module_lists_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: CONF_imodule_get_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *CONF_imodule_get_value(const CONF_IMODULE *md) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:378,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:391,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:388,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:385,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:383,1
    - Dst: sk_CONF_MODULE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:392,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:393,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:394,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:399,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 401
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 401
    functionName: module_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - sk_CONF_MODULE_value
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - sk_CONF_MODULE_num
    - strncmp
    - strrchr
    - RUN_ONCE
    - strlen
    linkageType: ''
    returnType: CONF_MODULE*
    signature: 'static CONF_MODULE *module_find(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:560,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:562,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - imod
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 563
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 563
    functionName: module_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void module_finish(CONF_IMODULE *imod) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:668,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:685,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:675,1
    - Dst: list_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:680,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:678,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:687,1
    - Dst: list_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:690,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 33
    argCount: 5
    argNames:
    - list_
    - sep
    - nospc
    - (*list_cb)
    - arg
    argTypes:
    - char*
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 698
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 698
    functionName: CONF_parse_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - strchr
    - isspace
    - list_cb
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int CONF_parse_list(const char *list_, int sep, int nospc, int (*list_cb)
      (const char *elem, int len, void *usr), void *arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:330,1
    - Dst: sk_CONF_MODULE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:337,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:333,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:340,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:341,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:346,1
    - Dst: sk_CONF_MODULE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:352,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:355,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:359,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:361,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:362,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 4
    argNames:
    - dso
    - name
    - ifunc
    - ffunc
    argTypes:
    - DSO*
    - char*
    - conf_init_func*
    - conf_finish_func*
    constantsTouched: []
    func_position:
      end: 365
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 365
    functionName: module_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - sk_CONF_MODULE_push
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - OPENSSL_zalloc
    - sk_CONF_MODULE_new_null
    - RUN_ONCE
    linkageType: ''
    returnType: CONF_MODULE*
    signature: 'static CONF_MODULE *module_add(DSO *dso, const char *name, conf_init_func
      *ifunc, conf_finish_func *ffunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conf_modules_finish_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: CONF_modules_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - conf_modules_finish_int
    linkageType: ''
    returnType: void
    signature: 'void CONF_modules_finish(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - md
    - flags
    argTypes:
    - CONF_IMODULE*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: CONF_imodule_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pmod
    argTypes:
    - CONF_MODULE*
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: CONF_module_get_usr_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *CONF_module_get_usr_data(CONF_MODULE *pmod) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: (do_init_module_list_lock)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_init_module_list_lock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: conf_diagnostics
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:127,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:135,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:138,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:133,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:141,1
    - Dst: OSSL_TRACE1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:145,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:146,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:150,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:151,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:155,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:163,1
    - Dst: module_run
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:164,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:172,1
    - Dst: OSSL_TRACE3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:165,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:161,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:162,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:159,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:169,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - cnf
    - appname
    - flags
    argTypes:
    - CONF*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 177
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 177
    functionName: CONF_modules_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE1
    - ERR_pop_to_mark
    - NCONF_get_string
    - conf_diagnostics
    - sk_CONF_VALUE_num
    - module_run
    - ERR_set_mark
    - OSSL_TRACE3
    - ERR_raise_data
    - sk_CONF_VALUE_value
    - NCONF_get_section
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'int CONF_modules_load(const CONF *cnf, const char *appname, unsigned
      long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_modules_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - appname
    - flags
    argTypes:
    - char*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: CONF_modules_load_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - CONF_modules_load_file_ex
    linkageType: ''
    returnType: int
    signature: 'int CONF_modules_load_file(const char *filename, const char *appname,
      unsigned long flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:295,1
    - Dst: module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:311,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:304,1
    - Dst: DSO_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:299,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:309,1
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:319,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:320,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 3
    argNames:
    - cnf
    - name
    - value
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 322
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 322
    functionName: module_load_dso
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - module_add
    - DSO_bind_func
    - DSO_free
    - ERR_raise_data
    - DSO_load
    - _CONF_get_string
    linkageType: ''
    returnType: CONF_MODULE*
    signature: 'static CONF_MODULE *module_load_dso(const CONF *cnf, const char *name,
      const char *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: conf_modules_finish_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:487,1
    - Dst: sk_CONF_MODULE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:495,1
    - Dst: sk_CONF_MODULE_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:500,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:490,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:494,1
    - Dst: module_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:501,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:504,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:505,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:509,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - all
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 510
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 510
    functionName: CONF_modules_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - sk_CONF_MODULE_value
    - sk_CONF_MODULE_free
    - sk_CONF_MODULE_delete
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_CONF_MODULE_num
    - conf_modules_finish_int
    - module_free
    linkageType: ''
    returnType: void
    signature: 'void CONF_modules_unload(int all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: CONF_imodule_get_usr_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *CONF_imodule_get_usr_data(const CONF_IMODULE *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: CONF_imodule_get_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CONF_MODULE*
    signature: 'CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:636,1
    - Dst: X509_get_default_cert_area
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:639,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:643,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:637,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:643,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:643,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:644,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 651
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 651
    functionName: CONF_get1_default_config_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ossl_safe_getenv
    - X509_get_default_cert_area
    - BIO_snprintf
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *CONF_get1_default_config_file(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:186,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:207,1
    - Dst: CONF_get1_default_config_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:189,1
    - Dst: NCONF_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:201,1
    - Dst: NCONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:205,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:207,1
    - Dst: CONF_modules_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:213,1
    - Dst: conf_diagnostics
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:214,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:218,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:219,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:227,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:225,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 4
    argNames:
    - libctx
    - filename
    - appname
    - flags
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 230
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 230
    functionName: CONF_modules_load_file_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - ERR_GET_REASON
    - ERR_pop_to_mark
    - conf_diagnostics
    - OPENSSL_free
    - NCONF_load
    - CONF_modules_load
    - ERR_set_mark
    - NCONF_new_ex
    - ERR_peek_last_error
    - ERR_clear_last_mark
    - CONF_get1_default_config_file
    linkageType: ''
    returnType: int
    signature: 'int CONF_modules_load_file_ex(OSSL_LIB_CTX *libctx, const char *filename,
      const char *appname, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cnf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: conf_diagnostics
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - _CONF_get_number
    linkageType: ''
    returnType: int
    signature: 'static int conf_diagnostics(const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_load_builtin_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:240,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: (do_load_builtin_modules)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - ENGINE_load_builtin_engines
    - OPENSSL_load_builtin_modules
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_load_builtin_modules) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - md
    - usr_data
    argTypes:
    - CONF_IMODULE*
    - void*
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: CONF_imodule_set_usr_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: CONF_imodule_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:254,1
    - Dst: module_load_dso
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:261,1
    - Dst: module_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:271,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:265,1
    - Dst: module_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:257,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:275,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - cnf
    - name
    - value
    - flags
    argTypes:
    - CONF*
    - char*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 281
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 281
    functionName: module_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - module_find
    - module_load_dso
    - RUN_ONCE
    - module_init
    linkageType: ''
    returnType: int
    signature: 'static int module_run(const CONF *cnf, const char *name, const char
      *value, unsigned long flags) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:412,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:433,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:418,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:417,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:436,1
    - Dst: sk_CONF_IMODULE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:440,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:442,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:443,1
    - Dst: sk_CONF_IMODULE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:448,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:450,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:469,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:456,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:467,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:449,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:468,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 42
    argCount: 4
    argNames:
    - pmod
    - name
    - value
    - cnf
    argTypes:
    - CONF_MODULE*
    - char*
    - char*
    - CONF*
    constantsTouched: []
    func_position:
      end: 474
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 474
    functionName: module_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_CONF_IMODULE_push
    - sk_CONF_IMODULE_new_null
    - OPENSSL_free
    - RUN_ONCE
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int module_init(CONF_MODULE *pmod, const char *name, const
      char *value, const CONF *cnf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:526,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:531,1
    - Dst: sk_CONF_IMODULE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:534,1
    - Dst: module_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:536,1
    - Dst: sk_CONF_IMODULE_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:535,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:538,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 544
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 544
    functionName: conf_modules_finish_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached:
    - sk_CONF_IMODULE_pop
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_CONF_IMODULE_free
    - sk_CONF_IMODULE_num
    - RUN_ONCE
    - module_finish
    linkageType: ''
    returnType: int
    signature: 'static int conf_modules_finish_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pmod
    - usr_data
    argTypes:
    - CONF_MODULE*
    - void*
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: CONF_module_set_usr_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mod.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: conf_ssl_name_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int conf_ssl_name_find(const char *name, size_t *idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - idx
    - name
    - cnt
    argTypes:
    - size_t
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: conf_ssl_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSL_CONF_CMD*
    signature: 'const SSL_CONF_CMD *conf_ssl_get(size_t idx, const char **name, size_t
      *cnt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:48,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:50,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:53,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: ssl_module_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_module_free(CONF_IMODULE *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: ossl_config_add_ssl_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c
    functionUses: []
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: 'void ossl_config_add_ssl_module(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - cmd
    - idx
    - cmdstr
    - arg
    argTypes:
    - SSL_CONF_CMD*
    - size_t
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: conf_ssl_get_cmd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void conf_ssl_get_cmd(const SSL_CONF_CMD *cmd, size_t idx, char **cmdstr,
      char **arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:65,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:68,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:69,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:87,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:75,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:78,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:80,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:102,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:87,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:99,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:119,1
    - Dst: ssl_module_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:128,1
    - Dst: CONF_imodule_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:67,1
    - Dst: ssl_module_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:79,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:109,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:89,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:113,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:86,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:118,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:103,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c:95,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    constantsTouched: []
    func_position:
      end: 130
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 130
    functionName: ssl_module_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_ssl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - strchr
    - sk_CONF_VALUE_num
    - OPENSSL_zalloc
    - ssl_module_free
    - ERR_raise_data
    - sk_CONF_VALUE_value
    - NCONF_get_section
    - CONF_imodule_get_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int ssl_module_init(CONF_IMODULE *md, const CONF *cnf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:114,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:119,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - group
    - name
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: CONF_get_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - NCONF_get_string
    linkageType: ''
    returnType: char*
    signature: 'char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:145,1
    - Dst: NCONF_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: CONF_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - NCONF_free_data
    linkageType: ''
    returnType: void
    signature: 'void CONF_free(LHASH_OF(CONF_VALUE) *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: NCONF_free_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void NCONF_free_data(CONF *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:264,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:269,1
    - Dst: NCONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:268,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - conf
    - fp
    - eline
    argTypes:
    - CONF*
    - FILE*
    - long*
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: NCONF_load_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - NCONF_load_bio
    - BIO_new_fp
    - ERR_raise
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int NCONF_load_fp(CONF *conf, FILE *fp, long *eline) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:287,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:292,1
    - Dst: _CONF_get_section_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: NCONF_get_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - _CONF_get_section_values
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, const char
      *section) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:129,1
    - Dst: NCONF_get_number_e
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:136,1
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:135,1
    - Dst: NCONF_get_number_e
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:131,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - conf
    - group
    - name
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: CONF_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - ERR_pop_to_mark
    - NCONF_get_number_e
    - ERR_set_mark
    linkageType: ''
    returnType: long
    signature: 'long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: NCONF_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *NCONF_get0_libctx(const CONF *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - bp
    - eline
    argTypes:
    - CONF*
    - BIO*
    - long*
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: NCONF_load_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int NCONF_load_bio(CONF *conf, BIO *bp, long *eline) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:301,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:314,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - conf
    - group
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 317
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 317
    functionName: NCONF_get_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - ERR_raise
    - _CONF_get_string
    linkageType: ''
    returnType: char*
    signature: 'char *NCONF_get_string(const CONF *conf, const char *group, const
      char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:52,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:57,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:62,1
    - Dst: CONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - conf
    - file
    - eline
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - char*
    - long*
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: CONF_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - BIO_free
    - CONF_load_bio
    linkageType: ''
    returnType: LHASH_OF(CONF_VALUE)*
    signature: 'LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const
      char *file, long *eline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - v
    - names
    argTypes:
    - CONF_VALUE*
    - SECTION_NAMES*
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: collect_section_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_section_name(const CONF_VALUE *v, SECTION_NAMES
      *names) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: section_name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int section_name_cmp(OPENSSL_CSTRING const *a, OPENSSL_CSTRING
      const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - CONF*
    - BIO*
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: NCONF_dump_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int NCONF_dump_bio(const CONF *conf, BIO *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:452,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - settings
    - appname
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - char*
    constantsTouched: []
    func_position:
      end: 461
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 461
    functionName: OPENSSL_INIT_set_config_appname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings,
      const char *appname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:466,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:467,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - settings
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: OPENSSL_INIT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:72,1
    - Dst: CONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:77,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:73,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - conf
    - fp
    - eline
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - FILE*
    - long*
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: CONF_load_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_free
    - BIO_new_fp
    - LHASH_OF
    - CONF_load_bio
    linkageType: ''
    returnType: LHASH_OF(CONF_VALUE)*
    signature: 'LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE
      *fp, long *eline) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - CONF_METHOD*
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: NCONF_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - NCONF_default
    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/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - CONF_METHOD*
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: NCONF_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - NCONF_new_ex
    linkageType: ''
    returnType: CONF*
    signature: 'CONF *NCONF_new(CONF_METHOD *meth) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:338,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:342,1
    - Dst: to_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:354,1
    - Dst: is_number
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:353,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:357,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 4
    argNames:
    - conf
    - group
    - name
    - result
    argTypes:
    - CONF*
    - char*
    - char*
    - long*
    constantsTouched: []
    func_position:
      end: 365
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 365
    functionName: NCONF_get_number_e
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - NCONF_get_string
    - is_number
    - to_int
    linkageType: ''
    returnType: int
    signature: 'int NCONF_get_number_e(const CONF *conf, const char *group, const
      char *name, long *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:384,1
    - Dst: NCONF_dump_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:388,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:385,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - CONF*
    - FILE*
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: NCONF_dump_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - NCONF_dump_bio
    - BIO_new_fp
    - ERR_raise
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int NCONF_dump_fp(const CONF *conf, FILE *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:410,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: OPENSSL_INIT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: OPENSSL_INIT_SETTINGS*
    signature: 'OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: NCONF_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void NCONF_free(CONF *conf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:373,1
    - Dst: NCONF_get_number_e
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:374,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - conf
    - section
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: _CONF_get_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - NCONF_get_number_e
    - ERR_set_mark
    linkageType: ''
    returnType: long
    signature: 'long _CONF_get_number(const CONF *conf, const char *section, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - CONF_METHOD*
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: CONF_set_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int CONF_set_default_method(CONF_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:169,1
    - Dst: NCONF_dump_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - BIO*
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: CONF_dump_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - NCONF_dump_bio
    linkageType: ''
    returnType: int
    signature: 'int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - hash
    argTypes:
    - CONF*
    - LHASH_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: CONF_set_nconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - NCONF_default
    linkageType: ''
    returnType: void
    signature: 'void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:89,1
    - Dst: NCONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - bp
    - eline
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - BIO*
    - long*
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: CONF_load_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - NCONF_load_bio
    linkageType: ''
    returnType: LHASH_OF(CONF_VALUE)*
    signature: 'LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO
      *bp, long *eline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:242,1
    - Dst: sk_OPENSSL_CSTRING_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:245,1
    - Dst: lh_CONF_VALUE_doall_SECTION_NAMES
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - cnf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: NCONF_get_section_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_sort
    - lh_CONF_VALUE_doall_SECTION_NAMES
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: STACK_OF(OPENSSL_CSTRING)*
    signature: 'STACK_OF(OPENSSL_CSTRING) *NCONF_get_section_names(const CONF *cnf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: default_is_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ossl_isdigit
    linkageType: ''
    returnType: int
    signature: 'static int default_is_number(const CONF *conf, char c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:429,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - settings
    - filename
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - char*
    constantsTouched: []
    func_position:
      end: 438
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 438
    functionName: OPENSSL_INIT_set_config_filename
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings,
      const char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONF_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:105,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - char*
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: CONF_get_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - CONF_set_nconf
    - NCONF_get_section
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf,
      const char *section) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - file
    - eline
    argTypes:
    - CONF*
    - char*
    - long*
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: NCONF_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int NCONF_load(CONF *conf, const char *file, long *eline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: default_to_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int default_to_int(const CONF *conf, char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - settings
    - flags
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: OPENSSL_INIT_set_config_file_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_INIT_set_config_file_flags(OPENSSL_INIT_SETTINGS *settings,
      unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:155,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:160,1
    - Dst: CONF_dump_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - LHASH_OF(CONF_VALUE)*
    - FILE*
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: CONF_dump_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_lib.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - ERR_raise
    - CONF_dump_bio
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c:35,1
    - Dst: strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c:37,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - appname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: OPENSSL_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c
    functionUses: []
    functionsReached:
    - strdup
    - OPENSSL_init_crypto
    - memset
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_config(const char *appname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ossl_no_config_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_no_config_int(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c:62,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c:67,1
    - Dst: CONF_modules_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - settings
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: ossl_config_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_sap.c
    functionUses: []
    functionsReached:
    - fprintf
    - CONF_modules_load_file_ex
    - OSSL_LIB_CTX_get0_global_default
    linkageType: ''
    returnType: int
    signature: 'int ossl_config_int(const OPENSSL_INIT_SETTINGS *settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_add_oid_module
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c:28,1
    - Dst: ASN1_add_stable_module
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c:29,1
    - Dst: EVP_add_alg_module
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c:33,1
    - Dst: ENGINE_add_conf_module
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c:31,1
    - Dst: ossl_config_add_ssl_module
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c:34,1
    - Dst: ossl_provider_add_conf_module
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c:35,1
    - Dst: ossl_random_add_conf_module
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: OPENSSL_load_builtin_modules
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_mall.c
    functionUses: []
    functionsReached:
    - ossl_provider_add_conf_module
    - ASN1_add_stable_module
    - ossl_random_add_conf_module
    - ENGINE_add_conf_module
    - EVP_add_alg_module
    - ASN1_add_oid_module
    - ossl_config_add_ssl_module
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_load_builtin_modules(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:820,1
    - Dst: get_next_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:833,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:821,1
    - Dst: S_ISDIR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:826,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:828,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:838,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - include
    - dirctx
    - dirpath
    argTypes:
    - char*
    - OPENSSL_DIR_CTX**
    - char**
    constantsTouched: []
    func_position:
      end: 840
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 840
    functionName: process_include
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - get_next_file
    - stat
    - ERR_raise_data
    - S_ISDIR
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *process_include(char *include, OPENSSL_DIR_CTX **dirctx,
      char **dirpath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: def_init_WIN32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int def_init_WIN32(CONF *conf) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:670,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:770,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:776,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:656,1
    - Dst: IS_DQUOTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:677,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:680,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:747,1
    - Dst: IS_DOLLAR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:739,1
    - Dst: IS_ALNUM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:728,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:659,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:667,1
    - Dst: IS_QUOTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:664,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:660,1
    - Dst: IS_ESC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:692,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:706,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:775,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:804,1
    - Dst: IS_ESC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:668,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:695,1
    - Dst: _CONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:762,1
    - Dst: IS_ALNUM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:738,1
    - Dst: IS_DOLLAR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:729,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:767,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:772,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:799,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:801,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 125
    argCount: 4
    argNames:
    - conf
    - section
    - pto
    - from
    argTypes:
    - CONF*
    - char*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 806
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 806
    functionName: str_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - IS_ALNUM
    - ERR_raise
    - BUF_MEM_grow_clean
    - IS_DOLLAR
    - IS_QUOTE
    - BUF_MEM_grow
    - OPENSSL_free
    - IS_ESC
    - BUF_MEM_free
    - BUF_MEM_new
    - IS_DQUOTE
    - IS_EOF
    - _CONF_get_string
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int str_copy(CONF *conf, char *section, char **pto, char *from) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - meth
    argTypes:
    - CONF_METHOD*
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: def_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: CONF*
    signature: 'static CONF *def_create(CONF_METHOD *meth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: def_init_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int def_init_default(CONF *conf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - conf
    - c
    - type
    argTypes:
    - CONF*
    - char
    - unsigned short
    constantsTouched: []
    func_position:
      end: 925
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 925
    functionName: is_keytype
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int is_keytype(const CONF *conf, char c, unsigned short type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: NCONF_WIN32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CONF_METHOD*
    signature: 'CONF_METHOD *NCONF_WIN32(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_WS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:929,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: eat_ws
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - IS_EOF
    - IS_WS
    linkageType: ''
    returnType: char*
    signature: 'static char *eat_ws(CONF *conf, char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: def_to_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int def_to_int(const CONF *conf, char c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: def_destroy_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:151,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: def_destroy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - def_destroy_data
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int def_destroy(CONF *conf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:194,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:195,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:197,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pval
    - flag
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: parsebool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int parsebool(const char *pval, int *flag) '
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:233,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:258,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:506,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:514,1
    - Dst: trim_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:536,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:579,1
    - Dst: eat_alpha_numeric
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:383,1
    - Dst: sk_BIO_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:513,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:430,1
    - Dst: sk_BIO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:586,1
    - Dst: sk_BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:587,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:588,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:600,1
    - Dst: _CONF_add_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:562,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:440,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:425,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:239,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:257,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:393,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:529,1
    - Dst: sk_BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:591,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:477,1
    - Dst: ossl_ends_with_dirsep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:483,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:515,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:545,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:570,1
    - Dst: OPENSSL_DIR_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:595,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:599,1
    - Dst: DECIMAL_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:217,1
    - Dst: _CONF_new_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:248,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:273,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:274,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:305,1
    - Dst: clear_comments
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:350,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:400,1
    - Dst: eat_alpha_numeric
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:361,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:503,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:473,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:606,1
    - Dst: _CONF_new_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:375,1
    - Dst: eat_alpha_numeric
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:389,1
    - Dst: str_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:469,1
    - Dst: ossl_is_absolute_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:492,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:444,1
    - Dst: CONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:602,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:608,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:486,1
    - Dst: _CONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:374,1
    - Dst: _CONF_new_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:554,1
    - Dst: sk_BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:575,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:484,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:368,1
    - Dst: str_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:372,1
    - Dst: parsebool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:426,1
    - Dst: process_include
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:500,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:542,1
    - Dst: _CONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:552,1
    - Dst: IS_ESC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:340,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:394,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:493,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:485,1
    - Dst: trim_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:468,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:473,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:482,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:413,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:535,1
    - Dst: str_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:548,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:244,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:267,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:358,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:466,1
    - Dst: trim_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:412,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:539,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:569,1
    - Dst: sk_BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:301,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:405,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:556,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:563,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:593,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:428,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:494,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:232,1
    - Dst: _CONF_new_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:243,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:295,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:351,1
    - Dst: eat_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:362,1
    - Dst: trim_ws
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:402,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:407,1
    - Dst: sk_BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:519,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:580,1
    - Dst: IS_ESC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:340,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:538,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:264,1
    - Dst: get_next_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:290,1
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:291,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:521,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:478,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:429,1
    - Dst: ossl_is_absolute_path
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:472,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:431,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:507,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:237,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:223,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:250,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:377,1
    - Dst: parsebool
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:423,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:422,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:475,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:352,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:551,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:607,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 342
    argCount: 3
    argNames:
    - conf
    - in
    - line
    argTypes:
    - CONF*
    - BIO*
    - long*
    constantsTouched: []
    func_position:
      end: 611
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 611
    functionName: def_load_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - _CONF_new_data
    - memcmp
    - memmove
    - str_copy
    - strchr
    - DECIMAL_SIZE
    - BIO_free
    - OPENSSL_strlcat
    - BIO_snprintf
    - sk_BIO_free
    - BUF_MEM_free
    - eat_alpha_numeric
    - ossl_safe_getenv
    - OPENSSL_malloc
    - STACK_OF
    - sk_BIO_new_null
    - OPENSSL_strdup
    - BUF_MEM_grow
    - strcmp
    - OPENSSL_free
    - CONF_free
    - parsebool
    - eat_ws
    - ERR_raise_data
    - BUF_MEM_new
    - ossl_ends_with_dirsep
    - BIO_new_file
    - sk_BIO_pop
    - _CONF_add_string
    - sk_BIO_num
    - OPENSSL_strlcpy
    - IS_ESC
    - strncmp
    - trim_ws
    - IS_EOF
    - process_include
    - ERR_add_error_data
    - strlen
    - sk_BIO_push
    - ERR_raise
    - OPENSSL_DIR_end
    - _CONF_new_section
    - _CONF_get_section
    - get_next_file
    - BIO_vfree
    - ossl_is_absolute_path
    - clear_comments
    linkageType: ''
    returnType: int
    signature: 'static int def_load_bio(CONF *conf, BIO *in, long *line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:966,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:969,1
    - Dst: IS_ESC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:967,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 977
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 977
    functionName: scan_quote
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - IS_ESC
    - IS_EOF
    linkageType: ''
    returnType: char*
    signature: 'static char *scan_quote(CONF *conf, char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:938,1
    - Dst: IS_WS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - start
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 945
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 945
    functionName: trim_ws
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - IS_EOF
    - IS_WS
    linkageType: ''
    returnType: void
    signature: 'static void trim_ws(CONF *conf, char *start) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:1002,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:1004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - CONF_VALUE*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1005
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1005
    functionName: dump_value_doall_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: 'static void dump_value_doall_arg(const CONF_VALUE *a, BIO *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_doall_BIO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:1011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - CONF*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    functionName: def_dump
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - lh_CONF_VALUE_doall_BIO
    linkageType: ''
    returnType: int
    signature: 'static int def_dump(const CONF *conf, BIO *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: NCONF_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CONF_METHOD*
    signature: 'CONF_METHOD *NCONF_default(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: def_destroy_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - _CONF_free_data
    linkageType: ''
    returnType: int
    signature: 'static int def_destroy_data(CONF *conf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_FCOMMENT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:616,1
    - Dst: IS_COMMENT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:627,1
    - Dst: scan_dquote
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:632,1
    - Dst: IS_DQUOTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:631,1
    - Dst: IS_WS
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:620,1
    - Dst: IS_QUOTE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:635,1
    - Dst: scan_quote
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:636,1
    - Dst: IS_ESC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:639,1
    - Dst: scan_esc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:640,1
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:643,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 648
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 648
    functionName: clear_comments
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - scan_esc
    - scan_dquote
    - IS_QUOTE
    - IS_ESC
    - scan_quote
    - IS_FCOMMENT
    - IS_COMMENT
    - IS_DQUOTE
    - IS_EOF
    - IS_WS
    linkageType: ''
    returnType: void
    signature: 'static void clear_comments(CONF *conf, char *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_ESC
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:950,1
    - Dst: IS_DOLLAR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:955,1
    - Dst: IS_ALNUM_PUNCT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:954,1
    - Dst: scan_esc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 959
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 959
    functionName: eat_alpha_numeric
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - IS_ESC
    - scan_esc
    - IS_DOLLAR
    - IS_ALNUM_PUNCT
    linkageType: ''
    returnType: char*
    signature: 'static char *eat_alpha_numeric(CONF *conf, char *p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_EOF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:984,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 997
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 997
    functionName: scan_dquote
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - IS_EOF
    linkageType: ''
    returnType: char*
    signature: 'static char *scan_dquote(CONF *conf, char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMBER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:1017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: def_is_number
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - IS_NUMBER
    linkageType: ''
    returnType: int
    signature: 'static int def_is_number(const CONF *conf, char c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:178,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:177,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:177,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:180,1
    - Dst: def_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:184,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - conf
    - name
    - line
    argTypes:
    - CONF*
    - char*
    - long*
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: def_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_GET_REASON
    - ERR_raise
    - BIO_free
    - def_load_bio
    - ERR_peek_last_error
    linkageType: ''
    returnType: int
    signature: 'static int def_load(CONF *conf, const char *name, long *line) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:851,1
    - Dst: OPENSSL_DIR_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:852,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:861,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:855,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:859,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:867,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:869,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:881,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:885,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:886,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:888,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:890,1
    - Dst: OPENSSL_DIR_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:897,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c:891,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - path
    - dirctx
    argTypes:
    - char*
    - OPENSSL_DIR_CTX**
    constantsTouched: []
    func_position:
      end: 900
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 900
    functionName: get_next_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_def.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - OPENSSL_DIR_end
    - OPENSSL_free
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - OPENSSL_zalloc
    - OPENSSL_strcasecmp
    - OPENSSL_DIR_read
    - strlen
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *get_next_file(const char *path, OPENSSL_DIR_CTX **dirctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: _CONF_get_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:47,1
    - Dst: sk_CONF_VALUE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:52,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:58,1
    - Dst: sk_CONF_VALUE_delete_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:57,1
    - Dst: lh_CONF_VALUE_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:55,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - conf
    - section
    - value
    argTypes:
    - CONF*
    - CONF_VALUE*
    - CONF_VALUE*
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: _CONF_add_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - sk_CONF_VALUE_push
    - sk_CONF_VALUE_delete_ptr
    - OPENSSL_free
    - lh_CONF_VALUE_insert
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:99,1
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - CONF_VALUE*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: conf_value_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long conf_value_hash(const CONF_VALUE *v) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: _CONF_new_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - lh_CONF_VALUE_new
    linkageType: ''
    returnType: int
    signature: 'int _CONF_new_data(CONF *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - conf
    argTypes:
    - CONF_VALUE*
    - LHASH_OF(CONF_VALUE)*
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: value_free_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - lh_CONF_VALUE_delete
    linkageType: ''
    returnType: void
    signature: 'static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE)
      *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: _CONF_get_section_values
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - _CONF_get_section
    linkageType: ''
    returnType: STACK_OF(CONF_VALUE)*
    signature: 'STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, const
      char *section) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:74,1
    - Dst: lh_CONF_VALUE_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:80,1
    - Dst: lh_CONF_VALUE_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:91,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:83,1
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:84,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - conf
    - section
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: _CONF_get_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - lh_CONF_VALUE_retrieve
    - strcmp
    - ossl_safe_getenv
    linkageType: ''
    returnType: char*
    signature: 'char *_CONF_get_string(const CONF *conf, const char *section, const
      char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:107,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CONF_VALUE*
    - CONF_VALUE*
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: conf_value_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int conf_value_cmp(const CONF_VALUE *a, const CONF_VALUE *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:140,1
    - Dst: lh_CONF_VALUE_set_down_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:145,1
    - Dst: lh_CONF_VALUE_doall_LH_CONF_VALUE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:146,1
    - Dst: lh_CONF_VALUE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:154,1
    - Dst: lh_CONF_VALUE_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: _CONF_free_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - lh_CONF_VALUE_free
    - OPENSSL_free
    - lh_CONF_VALUE_doall
    - lh_CONF_VALUE_doall_LH_CONF_VALUE
    - lh_CONF_VALUE_set_down_load
    linkageType: ''
    returnType: void
    signature: 'void _CONF_free_data(CONF *conf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:166,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:173,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:175,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:176,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:174,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:177,1
    - Dst: sk_CONF_VALUE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:179,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:180,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - CONF_VALUE*
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: value_free_stack_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_CONF_VALUE_free
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: 'static void value_free_stack_doall(CONF_VALUE *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:190,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:194,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:195,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:198,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:192,1
    - Dst: lh_CONF_VALUE_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:202,1
    - Dst: lh_CONF_VALUE_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:203,1
    - Dst: sk_CONF_VALUE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:208,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:210,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c:211,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: _CONF_new_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_api.c
    functionUses: []
    functionsReached:
    - sk_CONF_VALUE_free
    - memcpy
    - OPENSSL_free
    - lh_CONF_VALUE_error
    - lh_CONF_VALUE_insert
    - sk_CONF_VALUE_new_null
    - OPENSSL_malloc
    - strlen
    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/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_err.c:69,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_err.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ossl_err_load_CONF_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/conf/conf_err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_one.c:31,1
    - Dst: MD2_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_one.c:49,1
    - Dst: MD2_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_one.c:34,1
    - Dst: MD2_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_one.c:43,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_one.c:42,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_one.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 52
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 52
    functionName: MD2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_one.c
    functionUses: []
    functionsReached:
    - MD2_Update
    - MD2_Final
    - OPENSSL_cleanse
    - ebcdic2ascii
    - MD2_Init
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *MD2(const unsigned char *d, size_t n, unsigned char
      *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: MD2_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *MD2_options(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:95,1
    - Dst: md2_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:96,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:117,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:102,1
    - Dst: md2_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - MD2_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 120
    functionName: MD2_Update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:151,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - MD2_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 153
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 153
    functionName: md2_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'static void md2_block(MD2_CTX *c, const unsigned char *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:79,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:81,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - MD2_CTX*
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: MD2_Init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int MD2_Init(MD2_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md2_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:168,1
    - Dst: md2_block
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:172,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - MD2_CTX*
    constantsTouched: []
    func_position:
      end: 178
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 178
    functionName: MD2_Final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/md2/md2_dgst.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - md2_block
    linkageType: ''
    returnType: int
    signature: 'int MD2_Final(unsigned char *md, MD2_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - SM3_CTX*
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: ossl_sm3_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_sm3_init(SM3_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:51,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:68,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:120,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:109,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:112,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:153,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:161,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:164,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:179,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:63,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:98,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:87,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:139,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:142,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:150,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:117,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:73,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:76,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:84,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:125,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:128,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:169,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:172,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:178,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:103,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:106,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:95,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:114,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:55,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:59,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:147,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:155,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:158,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:81,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:92,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:133,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:136,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:144,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:177,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:66,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:70,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:62,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:78,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:119,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:122,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:111,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:163,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:166,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:100,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:108,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:89,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:97,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:141,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:149,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:152,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:183,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:127,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:75,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:54,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:58,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:86,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:130,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:138,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:171,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:72,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:105,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:113,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:116,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:157,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:160,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:168,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:176,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:182,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:102,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:65,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:83,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:91,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:94,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:135,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:143,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:146,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:124,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:69,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:80,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:121,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:132,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:165,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:175,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:110,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:99,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:53,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:57,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:61,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:107,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:151,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:154,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:162,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:77,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:85,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:88,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:96,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:129,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:137,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:140,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:174,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:181,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:64,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:74,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:126,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:115,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:118,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:159,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:167,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:170,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:93,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:101,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:104,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:145,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:148,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:156,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:173,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:180,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:79,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:123,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:82,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:71,1
    - Dst: R1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:90,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:52,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:56,1
    - Dst: HOST_c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:60,1
    - Dst: EXPAND
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:131,1
    - Dst: R2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 266
    argCount: 3
    argNames:
    - ctx
    - p
    - num
    argTypes:
    - SM3_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 194
    functionName: ossl_sm3_block_data_order
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/sm3.c
    functionUses: []
    functionsReached:
    - R2
    - HOST_c2l
    - EXPAND
    - R1
    linkageType: ''
    returnType: void
    signature: 'void ossl_sm3_block_data_order(SM3_CTX *ctx, const void *p, size_t
      num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: EVP_sm3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/sm3/legacy_sm3.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *EVP_sm3(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:25,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:43,1
    - Dst: EVP_DecodeBlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:41,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:35,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:58,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 60
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 60
    functionName: ct_base64_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - EVP_DecodeBlock
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int ct_base64_decode(const char *in, unsigned char **out) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:67,1
    - Dst: SCT_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:81,1
    - Dst: ct_base64_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:88,1
    - Dst: SCT_set0_log_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:91,1
    - Dst: ct_base64_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:97,1
    - Dst: SCT_set0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:100,1
    - Dst: ct_base64_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:105,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:112,1
    - Dst: SCT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:124,1
    - Dst: SCT_set_log_entry_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:117,1
    - Dst: o2i_SCT_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:110,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:123,1
    - Dst: SCT_set_timestamp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:115,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    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*
    constantsTouched: []
    func_position:
      end: 126
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 126
    functionName: SCT_new_from_base64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c
    functionUses: []
    functionsReached:
    - o2i_SCT_signature
    - SCT_new
    - ERR_raise
    - SCT_set_log_entry_type
    - SCT_set0_extensions
    - OPENSSL_free
    - SCT_set_version
    - SCT_free
    - SCT_set_timestamp
    - SCT_set0_log_id
    - ct_base64_decode
    linkageType: ''
    returnType: SCT*
    signature: 'SCT *SCT_new_from_base64(unsigned char version, const char *logid_base64,
      ct_log_entry_type_t entry_type, uint64_t timestamp, const char *extensions_base64,
      const char *signature_base64) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:144,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:155,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:150,1
    - Dst: ct_base64_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:158,1
    - Dst: CTLOG_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:162,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 5
    argNames:
    - ct_log
    - pkey_base64
    - name
    - libctx
    - propq
    argTypes:
    - CTLOG**
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 169
    functionName: CTLOG_new_from_base64_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - d2i_PUBKEY_ex
    - CTLOG_new_ex
    - OPENSSL_free
    - EVP_PKEY_free
    - ct_base64_decode
    linkageType: ''
    returnType: int
    signature: 'int CTLOG_new_from_base64_ex(CTLOG **ct_log, const char *pkey_base64,
      const char *name, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_new_from_base64_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ct_log
    - pkey_base64
    - name
    argTypes:
    - CTLOG**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: CTLOG_new_from_base64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_b64.c
    functionUses: []
    functionsReached:
    - CTLOG_new_from_base64_ex
    linkageType: ''
    returnType: int
    signature: 'int CTLOG_new_from_base64(CTLOG **ct_log, const char *pkey_base64,
      const char *name) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ct_x509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:85,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:102,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:106,1
    - Dst: X509_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:102,1
    - Dst: ct_x509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:87,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:107,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:113,1
    - Dst: X509_EXTENSION_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:115,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 2
    argNames:
    - cert
    - presigner
    argTypes:
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 119
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 119
    functionName: ct_x509_cert_fixup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - ct_x509_get_ext
    - X509_EXTENSION_set_data
    - X509_get_ext
    - X509_get_issuer_name
    - X509_set_issuer_name
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ct_x509_cert_fixup(X509 *cert, X509 *presigner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:48,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:49,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:52,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:50,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:53,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sctx
    argTypes:
    - SCT_CTX*
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: SCT_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: 'void SCT_CTX_free(SCT_CTX *sctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:210,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:225,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:229,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:219,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:233,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:241,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:242,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:243,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 4
    argNames:
    - sctx
    - pkey
    - hash
    - hash_len
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 245
    functionName: ct_public_key_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - i2d_X509_PUBKEY
    - OPENSSL_free
    - EVP_Digest
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ct_public_key_hash(SCT_CTX *sctx, X509_PUBKEY *pkey,
      unsigned char **hash, size_t *hash_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_public_key_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - sctx
    - pubkey
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: SCT_CTX_set1_issuer_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - ct_public_key_hash
    linkageType: ''
    returnType: int
    signature: 'int SCT_CTX_set1_issuer_pubkey(SCT_CTX *sctx, X509_PUBKEY *pubkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:24,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:35,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:36,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:27,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:33,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: SCT_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SCT_CTX*
    signature: 'SCT_CTX *SCT_CTX_new(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ct_x509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:128,1
    - Dst: i2d_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:140,1
    - Dst: ct_x509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:146,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:171,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:175,1
    - Dst: X509_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:175,1
    - Dst: ct_x509_cert_fixup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:177,1
    - Dst: i2d_re_X509_tbs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:180,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:185,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:187,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:198,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:191,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:199,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 39
    argCount: 3
    argNames:
    - sctx
    - cert
    - presigner
    argTypes:
    - SCT_CTX*
    - X509*
    - X509*
    constantsTouched: []
    func_position:
      end: 201
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 201
    functionName: SCT_CTX_set1_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - X509_free
    - ct_x509_get_ext
    - X509_dup
    - X509_delete_ext
    - OPENSSL_free
    - X509_EXTENSION_free
    - ct_x509_cert_fixup
    - i2d_X509
    - i2d_re_X509_tbs
    linkageType: ''
    returnType: int
    signature: 'int SCT_CTX_set1_cert(SCT_CTX *sctx, X509 *cert, X509 *presigner) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCT_CTX_set1_issuer_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:249,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - sctx
    - issuer
    argTypes:
    - SCT_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: SCT_CTX_set1_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - SCT_CTX_set1_issuer_pubkey
    - X509_get_X509_PUBKEY
    linkageType: ''
    returnType: int
    signature: 'int SCT_CTX_set1_issuer(SCT_CTX *sctx, const X509 *issuer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:259,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:265,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:269,1
    - Dst: ct_public_key_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sctx
    - pubkey
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: SCT_CTX_set1_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_get
    - EVP_PKEY_free
    - ct_public_key_hash
    linkageType: ''
    returnType: int
    signature: 'int SCT_CTX_set1_pubkey(SCT_CTX *sctx, X509_PUBKEY *pubkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sctx
    - time_in_ms
    argTypes:
    - SCT_CTX*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: SCT_CTX_set_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SCT_CTX_set_time(SCT_CTX *sctx, uint64_t time_in_ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:64,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - cert
    - nid
    - is_duplicated
    argTypes:
    - X509*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: ct_x509_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: []
    functionsReached:
    - X509_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: 'static int ct_x509_get_ext(X509 *cert, int nid, int *is_duplicated) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:42,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:33,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:39,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: CT_POLICY_EVAL_CTX_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - time
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CT_POLICY_EVAL_CTX*
    signature: 'CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new_ex(OSSL_LIB_CTX *libctx,
      const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - issuer
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: CT_POLICY_EVAL_CTX_set1_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached:
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: 'int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:63,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:65,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:64,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: CT_POLICY_EVAL_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached:
    - X509_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - time_in_ms
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: CT_POLICY_EVAL_CTX_set_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: CT_POLICY_EVAL_CTX_get0_issuer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 * CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: CT_POLICY_EVAL_CTX_set1_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached:
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: 'int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CT_POLICY_EVAL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: CT_POLICY_EVAL_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - log_store
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - CTLOG_STORE*
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX
      *ctx, CTLOG_STORE *log_store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: CT_POLICY_EVAL_CTX_get0_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509*
    signature: 'X509 * CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: CT_POLICY_EVAL_CTX_get0_log_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CTLOG_STORE*
    signature: 'const CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: CT_POLICY_EVAL_CTX_get_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_policy.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:54,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:57,1
    - Dst: l2n3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:76,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:55,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:64,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:78,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:80,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:85,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:86,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:89,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - sctx
    - sct
    argTypes:
    - EVP_MD_CTX*
    - SCT_CTX*
    - SCT*
    constantsTouched: []
    func_position:
      end: 93
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 93
    functionName: sct_ctx_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c
    functionUses: []
    functionsReached:
    - l2n3
    - EVP_DigestUpdate
    - s2n
    - l2n8
    linkageType: ''
    returnType: int
    signature: 'static 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/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:112,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:103,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:116,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:120,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:124,1
    - Dst: sct_ctx_update
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:128,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:132,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:138,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c:135,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 2
    argNames:
    - sctx
    - sct
    argTypes:
    - SCT_CTX*
    - SCT*
    constantsTouched: []
    func_position:
      end: 140
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 140
    functionName: SCT_CTX_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_vfy.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - ERR_raise
    - memcmp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestVerifyFinal
    - SCT_is_complete
    - sct_ctx_update
    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/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:20,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:23,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:25,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sct
    - out
    argTypes:
    - SCT*
    - BIO*
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: SCT_signature_algorithms_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SCT_get_signature_nid
    - OBJ_nid2ln
    linkageType: ''
    returnType: void
    signature: 'static void SCT_signature_algorithms_print(const SCT *sct, BIO *out) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCT_get_validation_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:52,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: SCT_validation_status_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c
    functionUses: []
    functionsReached:
    - SCT_get_validation_status
    linkageType: ''
    returnType: char*
    signature: 'const char *SCT_validation_status_string(const SCT *sct) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:96,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:107,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:110,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:101,1
    - Dst: CTLOG_STORE_get0_log_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:75,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:83,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:98,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:79,1
    - Dst: BIO_hex_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:84,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:88,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:95,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:103,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:109,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:80,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:91,1
    - Dst: CTLOG_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:92,1
    - Dst: SCT_signature_algorithms_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:108,1
    - Dst: timestamp_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - sct
    - out
    - indent
    - log_store
    argTypes:
    - SCT*
    - BIO*
    - int
    - CTLOG_STORE*
    constantsTouched: []
    func_position:
      end: 111
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 111
    functionName: SCT_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - timestamp_print
    - BIO_hex_string
    - SCT_signature_algorithms_print
    - CTLOG_get0_name
    - CTLOG_STORE_get0_log_by_id
    linkageType: ''
    returnType: void
    signature: 'void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE
      *log_store) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:30,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:43,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:42,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:44,1
    - Dst: ASN1_GENERALIZEDTIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:35,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:45,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - timestamp
    - out
    argTypes:
    - uint64_t
    - BIO*
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: timestamp_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c
    functionUses: []
    functionsReached:
    - ASN1_GENERALIZEDTIME_free
    - ASN1_GENERALIZEDTIME_print
    - ASN1_GENERALIZEDTIME_set_string
    - BIO_snprintf
    - ASN1_GENERALIZEDTIME_adj
    - ASN1_STRING_get0_data
    - ASN1_GENERALIZEDTIME_new
    linkageType: ''
    returnType: void
    signature: 'static void timestamp_print(uint64_t timestamp, BIO *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:116,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:120,1
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:123,1
    - Dst: SCT_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:122,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - sct_list
    - out
    - indent
    - separator
    - log_store
    argTypes:
    - STACK_OF(SCT)*
    - BIO*
    - int
    - char*
    - CTLOG_STORE*
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: SCT_LIST_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_prn.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SCT_print
    - sk_SCT_value
    - sk_SCT_num
    linkageType: ''
    returnType: void
    signature: 'void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent,
      const char *separator, const CTLOG_STORE *log_store) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_err.c:53,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_err.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: ossl_err_load_CT_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_CT_strings(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:186,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - sct
    - sig
    - sig_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: SCT_set1_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'int SCT_set1_signature(SCT *sct, const unsigned char *sig, size_t
      sig_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: SCT_get_log_entry_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: SCT_get_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: sct_version_t
    signature: 'sct_version_t SCT_get_version(const SCT *sct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sct
    - log_id
    argTypes:
    - SCT*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: SCT_get0_log_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:378,1
    - Dst: SCT_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:388,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - scts
    - ctx
    argTypes:
    - STACK_OF(SCT)*
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: SCT_LIST_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - SCT_validate
    - sk_SCT_value
    - 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: sk_SCT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - STACK_OF(SCT)*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: SCT_LIST_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - sk_SCT_pop_free
    linkageType: ''
    returnType: void
    signature: 'void SCT_LIST_free(STACK_OF(SCT) *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - sct
    - entry_type
    argTypes:
    - SCT*
    - ct_log_entry_type_t
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: SCT_set_log_entry_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sct
    - ext
    argTypes:
    - SCT*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: SCT_get0_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: SCT_get_timestamp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t SCT_get_timestamp(const SCT *sct) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCT_signature_is_complete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: SCT_is_complete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - SCT_signature_is_complete
    linkageType: ''
    returnType: int
    signature: 'int SCT_is_complete(const SCT *sct) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sct
    - version
    argTypes:
    - SCT*
    - sct_version_t
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: SCT_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int SCT_set_version(SCT *sct, sct_version_t version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:82,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - sct
    - log_id
    - log_id_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: SCT_set0_log_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 230
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 230
    functionName: SCT_get_signature_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int SCT_get_signature_nid(const SCT *sct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sct
    - sig
    argTypes:
    - SCT*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: SCT_get0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t SCT_get0_signature(const SCT *sct, unsigned char **sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCT_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: SCT_signature_is_complete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - SCT_get_signature_nid
    linkageType: ''
    returnType: int
    signature: 'int SCT_signature_is_complete(const SCT *sct) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:23,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: SCT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SCT*
    signature: 'SCT *SCT_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:152,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:160,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - sct
    - ext
    - ext_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: SCT_set1_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'int SCT_set1_extensions(SCT *sct, const unsigned char *ext, size_t
      ext_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: SCT_get_source
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: sct_source_t
    signature: 'sct_source_t SCT_get_source(const SCT *sct) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:40,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:43,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:44,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: SCT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void SCT_free(SCT *sct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - sct
    - sig
    - sig_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: SCT_set0_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCT_set_log_entry_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:274,1
    - Dst: SCT_set_log_entry_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - sct
    - source
    argTypes:
    - SCT*
    - sct_source_t
    constantsTouched: []
    func_position:
      end: 282
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 282
    functionName: SCT_set_source
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - SCT_set_log_entry_type
    linkageType: ''
    returnType: int
    signature: 'int SCT_set_source(SCT *sct, sct_source_t source) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:96,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:108,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - sct
    - log_id
    - log_id_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: SCT_set1_log_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, size_t
      log_id_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sct
    - nid
    argTypes:
    - SCT*
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: SCT_set_signature_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int SCT_set_signature_nid(SCT *sct, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: SCT_get_validation_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: sct_validation_status_t
    signature: 'sct_validation_status_t SCT_get_validation_status(const SCT *sct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sct
    - timestamp
    argTypes:
    - SCT*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: SCT_set_timestamp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SCT_set_timestamp(SCT *sct, uint64_t timestamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - sct
    - ext
    - ext_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: SCT_set0_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_get0_log_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:305,1
    - Dst: SCT_CTX_set1_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:320,1
    - Dst: CTLOG_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:318,1
    - Dst: SCT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:314,1
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:318,1
    - Dst: SCT_get_log_entry_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:323,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:331,1
    - Dst: X509_PUBKEY_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:333,1
    - Dst: SCT_CTX_set1_issuer_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:335,1
    - Dst: SCT_CTX_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:339,1
    - Dst: SCT_CTX_set1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:359,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:368,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:369,1
    - Dst: SCT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:370,1
    - Dst: SCT_CTX_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c:362,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 2
    argNames:
    - sct
    - ctx
    argTypes:
    - SCT*
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 373
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 373
    functionName: SCT_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_sct.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_set
    - SCT_get_log_entry_type
    - X509_get0_pubkey
    - SCT_CTX_set1_pubkey
    - SCT_CTX_free
    - SCT_CTX_set_time
    - X509_PUBKEY_free
    - SCT_CTX_set1_issuer_pubkey
    - SCT_CTX_set1_cert
    - SCT_CTX_new
    - CTLOG_get0_public_key
    - CTLOG_STORE_get0_log_by_id
    - SCT_CTX_verify
    linkageType: ''
    returnType: int
    signature: 'int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:62,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ctlog_store_load_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CTLOG_STORE_LOAD_CTX*
    signature: 'static CTLOG_STORE_LOAD_CTX *ctlog_store_load_ctx_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: CTLOG_STORE_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - CTLOG_STORE_new_ex
    linkageType: ''
    returnType: CTLOG_STORE*
    signature: 'CTLOG_STORE *CTLOG_STORE_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:90,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:85,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:94,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:88,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:97,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - log
    - pkey
    argTypes:
    - CTLOG*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 100
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 100
    functionName: ct_v1_log_id_from_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - i2d_PUBKEY
    - ERR_raise
    - OPENSSL_free
    - EVP_Digest
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int ct_v1_log_id_from_pkey(CTLOG *log, EVP_PKEY *pkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:149,1
    - Dst: CTLOG_new_from_base64_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:163,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:159,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - store
    - ct_log
    - conf
    - section
    argTypes:
    - CTLOG_STORE*
    - CTLOG**
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: ctlog_new_from_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - ERR_raise
    - CTLOG_new_from_base64_ex
    linkageType: ''
    returnType: int
    signature: 'static int ctlog_new_from_conf(CTLOG_STORE *store, CTLOG **ct_log,
      const CONF *conf, const char *section) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:196,1
    - Dst: CTLOG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:219,1
    - Dst: ctlog_new_from_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:200,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:201,1
    - Dst: sk_CTLOG_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:213,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - log_name
    - log_name_len
    - arg
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: ctlog_store_load_log
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_CTLOG_push
    - OPENSSL_free
    - CTLOG_free
    - OPENSSL_strndup
    - ctlog_new_from_conf
    linkageType: ''
    returnType: int
    signature: 'static int ctlog_store_load_log(const char *log_name, int log_name_len,
      void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:272,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:278,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:285,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:287,1
    - Dst: ct_v1_log_id_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:291,1
    - Dst: CTLOG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:297,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 4
    argNames:
    - public_key
    - name
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 299
    functionName: CTLOG_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - ct_v1_log_id_from_pkey
    - OPENSSL_strdup
    - ERR_raise
    - CTLOG_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CTLOG*
    signature: 'CTLOG *CTLOG_new_ex(EVP_PKEY *public_key, const char *name, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:310,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:313,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:312,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - log
    argTypes:
    - CTLOG*
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: CTLOG_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: 'void CTLOG_free(CTLOG *log) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - log
    - log_id
    - log_id_len
    argTypes:
    - CTLOG*
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: CTLOG_get0_log_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id, size_t
      *log_id_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CTLOG_STORE_LOAD_CTX*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ctlog_store_load_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ctlog_store_load_ctx_free(CTLOG_STORE_LOAD_CTX* ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:104,1
    - Dst: sk_CTLOG_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:120,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:122,1
    - Dst: CTLOG_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: CTLOG_STORE_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_zalloc
    - sk_CTLOG_new_null
    - CTLOG_STORE_free
    linkageType: ''
    returnType: CTLOG_STORE*
    signature: 'CTLOG_STORE *CTLOG_STORE_new_ex(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:140,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:142,1
    - Dst: sk_CTLOG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - store
    argTypes:
    - CTLOG_STORE*
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: CTLOG_STORE_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_CTLOG_pop_free
    linkageType: ''
    returnType: void
    signature: 'void CTLOG_STORE_free(CTLOG_STORE *store) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:169,1
    - Dst: CTLOG_STORE_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - store
    argTypes:
    - CTLOG_STORE*
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: CTLOG_STORE_load_default_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    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: ctlog_store_load_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:238,1
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:233,1
    - Dst: NCONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:237,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:244,1
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:248,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:250,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:256,1
    - Dst: ctlog_store_load_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - store
    - file
    argTypes:
    - CTLOG_STORE*
    - char*
    constantsTouched: []
    func_position:
      end: 259
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 259
    functionName: CTLOG_STORE_load_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - NCONF_get_string
    - ERR_raise
    - CONF_parse_list
    - NCONF_load
    - ctlog_store_load_ctx_new
    - NCONF_new
    - ctlog_store_load_ctx_free
    linkageType: ''
    returnType: int
    signature: 'int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - public_key
    - name
    argTypes:
    - EVP_PKEY*
    - char*
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: CTLOG_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - CTLOG_new_ex
    linkageType: ''
    returnType: CTLOG*
    signature: 'CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - log
    argTypes:
    - CTLOG*
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: CTLOG_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *CTLOG_get0_name(const CTLOG *log) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - log
    argTypes:
    - CTLOG*
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: CTLOG_get0_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_CTLOG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:344,1
    - Dst: sk_CTLOG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:345,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c:346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - store
    - log_id
    - log_id_len
    argTypes:
    - CTLOG_STORE*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: CTLOG_STORE_get0_log_by_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_log.c
    functionUses: []
    functionsReached:
    - sk_CTLOG_num
    - sk_CTLOG_value
    - memcmp
    linkageType: ''
    returnType: CTLOG*
    signature: 'const CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store,
      const uint8_t *log_id, size_t log_id_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCT_is_complete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:204,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:226,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:236,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:205,1
    - Dst: l2n8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:238,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:239,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:241,1
    - Dst: i2o_SCT_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:244,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:247,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:252,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - sct
    - out
    argTypes:
    - SCT*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 254
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 254
    functionName: i2o_SCT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - i2o_SCT_signature
    - SCT_is_complete
    - s2n
    - OPENSSL_malloc
    - l2n8
    linkageType: ''
    returnType: int
    signature: 'int i2o_SCT(const SCT *sct, unsigned char **out) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:75,1
    - Dst: SCT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:79,1
    - Dst: n2l8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:98,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:103,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:113,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:117,1
    - Dst: o2i_SCT_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:127,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:134,1
    - Dst: SCT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:148,1
    - Dst: SCT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:142,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 3
    argNames:
    - psct
    - in
    - len
    argTypes:
    - SCT**
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 150
    functionName: o2i_SCT
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - o2i_SCT_signature
    - SCT_new
    - ERR_raise
    - SCT_free
    - n2l8
    - OPENSSL_memdup
    - n2s
    linkageType: ''
    returnType: SCT*
    signature: 'SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: i2o_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:328,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:332,1
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:342,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:329,1
    - Dst: i2o_SCT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:346,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:346,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:348,1
    - Dst: i2o_SCT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:350,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:350,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:369,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:361,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - STACK_OF(SCT)*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 373
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 373
    functionName: i2o_SCT_LIST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - i2o_SCT
    - ERR_raise
    - sk_SCT_num
    - OPENSSL_free
    - sk_SCT_value
    - i2o_SCT_LIST
    - s2n
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:30,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:50,1
    - Dst: SCT_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:49,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:57,1
    - Dst: SCT_set1_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:61,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - sct
    - in
    - len
    argTypes:
    - SCT*
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 67
    functionName: o2i_SCT_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - n2s
    - SCT_set1_signature
    - SCT_get_signature_nid
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int o2i_SCT_signature(SCT *sct, const unsigned char **in, size_t len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:263,1
    - Dst: sk_SCT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:274,1
    - Dst: sk_SCT_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:282,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:267,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:269,1
    - Dst: SCT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:290,1
    - Dst: n2s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:293,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:297,1
    - Dst: o2i_SCT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:302,1
    - Dst: SCT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:305,1
    - Dst: sk_SCT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:304,1
    - Dst: SCT_LIST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:316,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - STACK_OF(SCT)**
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 318
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 318
    functionName: o2i_SCT_LIST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - sk_SCT_pop
    - ERR_raise
    - sk_SCT_push
    - SCT_free
    - SCT_LIST_free
    - o2i_SCT
    - n2s
    - sk_SCT_new_null
    linkageType: ''
    returnType: STACK_OF(SCT)*
    signature: 'STACK_OF(SCT) *o2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char
      **pp, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCT_signature_is_complete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:158,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:179,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:189,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:190,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:195,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - sct
    - out
    argTypes:
    - SCT*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 197
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 197
    functionName: i2o_SCT_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - SCT_signature_is_complete
    - s2n
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int i2o_SCT_signature(const SCT *sct, unsigned char **out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:379,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:390,1
    - Dst: o2i_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:387,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - STACK_OF(SCT)**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 392
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 392
    functionName: d2i_SCT_LIST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_free
    - o2i_SCT_LIST
    - d2i_ASN1_OCTET_STRING
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(SCT)*
    signature: 'STACK_OF(SCT) *d2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char
      **pp, long len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2o_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:400,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:404,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - STACK_OF(SCT)*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: i2d_SCT_LIST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_oct.c
    functionUses: []
    functionsReached:
    - i2o_SCT_LIST
    - i2d_ASN1_OCTET_STRING
    - OPENSSL_free
    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/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:17,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: i2s_poison
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *i2s_poison(const X509V3_EXT_METHOD *method, void *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCT_LIST_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - method
    - sct_list
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - STACK_OF(SCT)*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: i2r_SCT_LIST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c
    functionUses: []
    functionsReached:
    - SCT_LIST_print
    linkageType: ''
    returnType: int
    signature: 'static int i2r_SCT_LIST(X509V3_EXT_METHOD *method, STACK_OF(SCT) *sct_list,
      BIO *out, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:52,1
    - Dst: set_sct_list_source
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:54,1
    - Dst: SCT_LIST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:55,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - STACK_OF(SCT)**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: x509_ext_d2i_SCT_LIST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c
    functionUses: []
    functionsReached:
    - set_sct_list_source
    - SCT_LIST_free
    - d2i_SCT_LIST
    linkageType: ''
    returnType: STACK_OF(SCT)*
    signature: 'static STACK_OF(SCT) *x509_ext_d2i_SCT_LIST(STACK_OF(SCT) **a, const
      unsigned char **pp, long len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: s2i_poison
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c
    functionUses: []
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void*
    signature: 'static void *s2i_poison(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:37,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:38,1
    - Dst: SCT_set_source
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - s
    - source
    argTypes:
    - STACK_OF(SCT)*
    - sct_source_t
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: set_sct_list_source
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c
    functionUses: []
    functionsReached:
    - SCT_set_source
    - sk_SCT_value
    - sk_SCT_num
    linkageType: ''
    returnType: int
    signature: 'static int set_sct_list_source(STACK_OF(SCT) *s, sct_source_t source) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:66,1
    - Dst: set_sct_list_source
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:68,1
    - Dst: SCT_LIST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - STACK_OF(SCT)**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: ocsp_ext_d2i_SCT_LIST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ct/ct_x509v3.c
    functionUses: []
    functionsReached:
    - set_sct_list_source
    - SCT_LIST_free
    - d2i_SCT_LIST
    linkageType: ''
    returnType: STACK_OF(SCT)*
    signature: 'static STACK_OF(SCT) *ocsp_ext_d2i_SCT_LIST(STACK_OF(SCT) **a, const
      unsigned char **pp, long len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_load_BUF_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:58,1
    - Dst: ossl_err_load_BIO_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:75,1
    - Dst: ossl_err_load_CONF_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:66,1
    - Dst: ossl_err_load_X509V3_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:77,1
    - Dst: ossl_err_load_TS_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:82,1
    - Dst: ossl_err_load_CMP_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:97,1
    - Dst: ossl_err_load_ESS_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:102,1
    - Dst: ossl_err_load_PROP_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:105,1
    - Dst: ossl_err_load_EVP_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:57,1
    - Dst: ossl_err_load_BN_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:52,1
    - Dst: ossl_err_load_OBJ_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:59,1
    - Dst: ossl_err_load_PKCS7_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:76,1
    - Dst: ossl_err_load_PKCS12_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:78,1
    - Dst: ossl_err_load_CRYPTO_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:67,1
    - Dst: ossl_err_load_EC_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:72,1
    - Dst: ossl_err_load_PROV_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:106,1
    - Dst: ossl_err_load_PEM_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:60,1
    - Dst: ossl_err_load_X509_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:64,1
    - Dst: ossl_err_load_COMP_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:69,1
    - Dst: ossl_err_load_RAND_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:79,1
    - Dst: ossl_err_load_HTTP_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:87,1
    - Dst: ossl_err_load_UI_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:91,1
    - Dst: ossl_err_load_CRMF_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:96,1
    - Dst: ossl_err_load_CT_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:100,1
    - Dst: ossl_err_load_ASYNC_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:103,1
    - Dst: ossl_err_load_ERR_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:51,1
    - Dst: ossl_err_load_RSA_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:53,1
    - Dst: ossl_err_load_DH_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:55,1
    - Dst: ossl_err_load_DSA_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:62,1
    - Dst: ossl_err_load_ASN1_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:65,1
    - Dst: ossl_err_load_DSO_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:80,1
    - Dst: ossl_err_load_ENGINE_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:85,1
    - Dst: ossl_err_load_OCSP_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:89,1
    - Dst: ossl_err_load_CMS_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:93,1
    - Dst: ossl_err_load_OSSL_STORE_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c:104,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 106
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 112
    functionName: ossl_err_load_crypto_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_all.c
    functionUses: []
    functionsReached:
    - ossl_err_load_CONF_strings
    - ossl_err_load_X509_strings
    - ossl_err_load_EC_strings
    - ossl_err_load_TS_strings
    - ossl_err_load_HTTP_strings
    - ossl_err_load_CRMF_strings
    - ossl_err_load_PKCS7_strings
    - ossl_err_load_DSA_strings
    - ossl_err_load_OCSP_strings
    - ossl_err_load_ERR_strings
    - ossl_err_load_ASYNC_strings
    - ossl_err_load_BIO_strings
    - ossl_err_load_ESS_strings
    - ossl_err_load_PEM_strings
    - ossl_err_load_PROP_strings
    - ossl_err_load_ENGINE_strings
    - ossl_err_load_CT_strings
    - ossl_err_load_DSO_strings
    - ossl_err_load_BN_strings
    - ossl_err_load_EVP_strings
    - ossl_err_load_PKCS12_strings
    - ossl_err_load_CRYPTO_strings
    - ossl_err_load_COMP_strings
    - ossl_err_load_PROV_strings
    - ossl_err_load_CMP_strings
    - ossl_err_load_ASN1_strings
    - ossl_err_load_DH_strings
    - ossl_err_load_X509V3_strings
    - ossl_err_load_OSSL_STORE_strings
    - ossl_err_load_RSA_strings
    - ossl_err_load_BUF_strings
    - ossl_err_load_CMS_strings
    - ossl_err_load_OBJ_strings
    - ossl_err_load_RAND_strings
    - ossl_err_load_UI_strings
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_crypto_strings(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:19,1
    - Dst: err_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:25,1
    - Dst: err_get_slot
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: ERR_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c
    functionUses: []
    functionsReached:
    - err_clear
    - ossl_err_get_state_int
    - err_get_slot
    linkageType: ''
    returnType: void
    signature: 'void ERR_new(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:56,1
    - Dst: err_clear_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:112,1
    - Dst: BIO_vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:89,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:102,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:83,1
    - Dst: err_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:113,1
    - Dst: err_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - lib
    - reason
    - fmt
    - args
    argTypes:
    - int
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 116
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 116
    functionName: ERR_vset_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c
    functionUses: []
    functionsReached:
    - ossl_err_get_state_int
    - err_set_error
    - OPENSSL_realloc
    - err_clear_data
    - BIO_vsnprintf
    - err_set_data
    linkageType: ''
    returnType: void
    signature: 'void ERR_vset_error(int lib, int reason, const char *fmt, va_list
      args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:43,1
    - Dst: ERR_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:44,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    - '...'
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ERR_set_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c
    functionUses: []
    functionsReached:
    - ERR_vset_error
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void ERR_set_error(int lib, int reason, const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:32,1
    - Dst: err_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: ERR_set_debug
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_blocks.c
    functionUses: []
    functionsReached:
    - ossl_err_get_state_int
    - err_set_debug
    linkageType: ''
    returnType: void
    signature: 'void ERR_set_debug(const char *file, int line, const char *func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: ERR_peek_last_error_line
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: ERR_peek_last_error_line_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_peek_last_error_line_data(const char **file, int
      *line, const char **data, int *flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:531,1
    - Dst: ERR_lib_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:532,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:546,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:544,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:534,1
    - Dst: openssl_strerror_r
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:547,1
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:550,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:554,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:558,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:559,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:561,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - e
    - func
    - buf
    - len
    argTypes:
    - unsigned long
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 563
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 563
    functionName: ossl_err_string_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_GET_LIB
    - ERR_SYSTEM_ERROR
    - BIO_snprintf
    - ERR_reason_error_string
    - ERR_lib_error_string
    - openssl_strerror_r
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void ossl_err_string_int(unsigned long e, const char *func, char *buf,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_error_string_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - e
    - ret
    argTypes:
    - unsigned long
    - char*
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: ERR_error_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ERR_error_string_n
    linkageType: ''
    returnType: char*
    signature: 'char *ERR_error_string(unsigned long e, char *ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: ERR_remove_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ERR_remove_state(unsigned long pid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: err_set_error_data_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:807,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 808
    functionName: ERR_set_error_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_set_error_data_int
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void ERR_set_error_data(char *data, int flags) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:826,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:853,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:859,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:856,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:848,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:864,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:866,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:871,1
    - Dst: err_set_error_data_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:873,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:874,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - num
    - args
    argTypes:
    - int
    - va_list
    constantsTouched: []
    func_position:
      end: 875
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 875
    functionName: ERR_add_error_vdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ossl_err_get_state_int
    - OPENSSL_realloc
    - OPENSSL_free
    - va_arg
    - OPENSSL_strlcat
    - err_set_error_data_int
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void ERR_add_error_vdata(int num, va_list args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:895,1
    - Dst: err_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 909
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 909
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_clear
    - ossl_err_get_state_int
    linkageType: ''
    returnType: int
    signature: 'int ERR_pop_to_mark(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: ERR_peek_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: ERR_peek_last_error_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_peek_last_error_func(const char **func) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_string_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - e
    - buf
    - len
    argTypes:
    - unsigned long
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: ERR_error_string_n
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    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: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:591,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:596,1
    - Dst: int_err_get_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:597,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: ERR_lib_error_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ERR_GET_LIB
    - int_err_get_item
    - RUN_ONCE
    - ERR_PACK
    linkageType: ''
    returnType: char*
    signature: 'const char *ERR_lib_error_string(unsigned long e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:813,1
    - Dst: ERR_add_error_vdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:814,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - num
    - '...'
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: ERR_add_error_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ERR_add_error_vdata
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void ERR_add_error_data(int num, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 889
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 889
    functionName: ERR_set_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ossl_err_get_state_int
    linkageType: ''
    returnType: int
    signature: 'int ERR_set_mark(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 930
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 930
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ossl_err_get_state_int
    linkageType: ''
    returnType: int
    signature: 'int ERR_clear_last_mark(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: ERR_peek_error_line_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_peek_error_line_data(const char **file, int *line,
      const char **data, int *flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: err_unshelve_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_set_local
    linkageType: ''
    returnType: void
    signature: 'void err_unshelve_state(void* state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:208,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - ERR_STATE*
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: ERR_STATE_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_clear
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ERR_STATE_free(ERR_STATE *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:235,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:236,1
    - Dst: lh_ERR_STRING_DATA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: err_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - lh_ERR_STRING_DATA_free
    - CRYPTO_THREAD_cleanup_local
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void err_cleanup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:274,1
    - Dst: err_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:277,1
    - Dst: err_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: ossl_err_load_ERR_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_load_strings
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_ERR_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: ERR_get_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: ERR_peek_error_line
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: ERR_peek_last_error_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_peek_last_error_data(const char **data, int *flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:724,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:745,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:741,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:744,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:738,1
    - Dst: set_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 750
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 750
    functionName: err_shelve_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_set_local
    - get_last_sys_error
    - set_sys_error
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_get_local
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'int err_shelve_state(void **state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:766,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:772,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 774
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 774
    functionName: ERR_get_next_error_library
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - RUN_ONCE
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ERR_get_next_error_library(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:215,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:224,1
    - Dst: lh_ERR_STRING_DATA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:221,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: (do_err_strings_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - lh_ERR_STRING_DATA_new
    - CRYPTO_THREAD_lock_new
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_err_strings_init) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_load_ERR_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:286,1
    - Dst: err_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:290,1
    - Dst: err_patch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: ERR_load_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_load_strings
    - ossl_err_load_ERR_strings
    - err_patch
    linkageType: ''
    returnType: int
    signature: 'int ERR_load_strings(int lib, ERR_STRING_DATA *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:358,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: ERR_get_error_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_get_error_all(const char **file, int *line, const
      char **func, const char **data, int *flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: ERR_peek_error_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: ERR_peek_last_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: ERR_peek_last_error_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_peek_last_error_all(const char **file, int *line,
      const char **func, const char **data, int *flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:781,1
    - Dst: err_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:786,1
    - Dst: err_clear_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - data
    - size
    - flags
    - deallocate
    argTypes:
    - char*
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 789
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 789
    functionName: err_set_error_data_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_set_data
    - err_clear_data
    - ossl_err_get_state_int
    linkageType: ''
    returnType: int
    signature: 'static int err_set_error_data_int(char *data, size_t size, int flags,
      int deallocate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_load_ERR_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:299,1
    - Dst: err_load_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: ERR_load_strings_const
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_load_strings
    - ossl_err_load_ERR_strings
    linkageType: ''
    returnType: int
    signature: 'int ERR_load_strings_const(const ERR_STRING_DATA *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: ERR_peek_error_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_peek_error_data(const char **data, int *flags) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:674,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:682,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:679,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:676,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:687,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:690,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:691,1
    - Dst: ossl_init_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:695,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:696,1
    - Dst: ERR_STATE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:697,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:698,1
    - Dst: set_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:706,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:703,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 708
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 708
    functionName: ossl_err_get_state_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_set_local
    - ERR_STATE_free
    - get_last_sys_error
    - OPENSSL_zalloc
    - set_sys_error
    - OPENSSL_init_crypto
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local
    - RUN_ONCE
    linkageType: ''
    returnType: ERR_STATE*
    signature: 'ERR_STATE *ossl_err_get_state_int(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:310,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:321,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:313,1
    - Dst: lh_ERR_STRING_DATA_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 325
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 325
    functionName: ERR_unload_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - lh_ERR_STRING_DATA_delete
    - RUN_ONCE
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ERR_unload_strings(int lib, ERR_STRING_DATA *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: ERR_peek_error_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_peek_error_all(const char **file, int *line, const
      char **func, const char **data, int *flags) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:453,1
    - Dst: err_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:470,1
    - Dst: err_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:463,1
    - Dst: err_clear_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:508,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 6
    argNames:
    - g
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - ERR_GET_ACTION
    - char**
    - int*
    - char**
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 519
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 519
    functionName: get_error_values
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_clear
    - err_clear_data
    - ossl_err_get_state_int
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long get_error_values(ERR_GET_ACTION g, const char
      **file, int *line, const char **func, const char **data, int *flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: (err_do_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (err_do_init) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:937,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:947,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - clear
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 950
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 950
    functionName: err_clear_last_constant_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - constant_time_eq_int
    - constant_time_select_int
    - ossl_err_get_state_int
    linkageType: ''
    returnType: void
    signature: 'void err_clear_last_constant_time(int clear) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:261,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:266,1
    - Dst: lh_ERR_STRING_DATA_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: err_load_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - lh_ERR_STRING_DATA_insert
    linkageType: ''
    returnType: int
    signature: 'static int err_load_strings(const ERR_STRING_DATA *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:339,1
    - Dst: err_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: ERR_clear_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - err_clear
    - ossl_err_get_state_int
    linkageType: ''
    returnType: void
    signature: 'void ERR_clear_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 656
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 656
    functionName: ERR_remove_thread_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ERR_remove_thread_state(void *dummy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: err_string_data_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ERR_GET_LIB
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long err_string_data_hash(const ERR_STRING_DATA *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: err_patch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ERR_PACK
    linkageType: ''
    returnType: void
    signature: 'static void err_patch(int lib, ERR_STRING_DATA *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: err_free_strings_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void err_free_strings_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: ERR_get_error_line
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_get_error_line(const char **file, int *line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:645,1
    - Dst: ERR_STATE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:650,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 651
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 651
    functionName: err_delete_thread_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_set_local
    - CRYPTO_THREAD_get_local
    - ERR_STATE_free
    linkageType: ''
    returnType: void
    signature: 'static void err_delete_thread_state(void *unused) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ERR_STRING_DATA*
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: err_string_data_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int err_string_data_cmp(const ERR_STRING_DATA *a, const ERR_STRING_DATA
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:192,1
    - Dst: lh_ERR_STRING_DATA_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:194,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - ERR_STRING_DATA*
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: int_err_get_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - lh_ERR_STRING_DATA_retrieve
    linkageType: ''
    returnType: ERR_STRING_DATA*
    signature: 'static ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: ERR_get_error_line_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long ERR_get_error_line_data(const char **file, int *line,
      const char **data, int *flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:617,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:631,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:626,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:630,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:629,1
    - Dst: int_err_get_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:632,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:634,1
    - Dst: int_err_get_item
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:635,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 641
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 641
    functionName: ERR_reason_error_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_PACK
    - ERR_GET_LIB
    - ERR_SYSTEM_ERROR
    - int_err_get_item
    - RUN_ONCE
    linkageType: ''
    returnType: char*
    signature: 'const char *ERR_reason_error_string(unsigned long e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: ERR_func_error_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ERR_func_error_string(unsigned long e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: ERR_get_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err.c
    functionUses: []
    functionsReached:
    - ossl_err_get_state_int
    linkageType: ''
    returnType: ERR_STATE*
    signature: 'ERR_STATE *ERR_get_state(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:22,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:37,1
    - Dst: ossl_buf2hexstr_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:35,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:36,1
    - Dst: ERR_get_error_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:27,1
    - Dst: ossl_err_string_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:38,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:39,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:40,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:42,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:43,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:43,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - (*cb)
    - u
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: ERR_print_errors_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c
    functionUses: []
    functionsReached:
    - ossl_err_string_int
    - OPENSSL_free
    - cb
    - BIO_snprintf
    - CRYPTO_THREAD_get_current_id
    - ossl_buf2hexstr_sep
    - ERR_get_error_all
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void
      *u), void *u) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:66,1
    - Dst: ERR_peek_last_error_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:80,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:108,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:110,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:122,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:125,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:136,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:132,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:89,1
    - Dst: put_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:71,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:92,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:113,1
    - Dst: put_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:128,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:126,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:137,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:85,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:96,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:132,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:128,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:139,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 2
    argNames:
    - separator
    - txt
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 144
    functionName: ERR_add_error_txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c
    functionUses: []
    functionsReached:
    - put_error
    - OPENSSL_free
    - ERR_GET_LIB
    - OPENSSL_strndup
    - ERR_peek_last_error
    - ERR_peek_last_error_all
    - ERR_add_error_data
    - strstr
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void ERR_add_error_txt(const char *separator, const char *txt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - bp
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c
    functionUses: []
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: 'static int print_bio(const char *str, size_t len, void *bp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:150,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:157,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:154,1
    - Dst: ERR_add_error_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - separator
    - bio
    argTypes:
    - char*
    - BIO*
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: ERR_add_error_mem_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_get_mem_data
    - ERR_add_error_txt
    linkageType: ''
    returnType: void
    signature: 'void ERR_add_error_mem_bio(const char *separator, BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: ERR_print_errors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c
    functionUses: []
    functionsReached:
    - ERR_print_errors_cb
    linkageType: ''
    returnType: void
    signature: 'void ERR_print_errors(BIO *bp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:52,1
    - Dst: ERR_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:54,1
    - Dst: ERR_set_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - lib
    - func
    - reason
    - file
    - line
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: put_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c
    functionUses: []
    functionsReached:
    - ERR_set_error
    - ERR_set_debug
    - ERR_new
    linkageType: ''
    returnType: void
    signature: 'static void put_error(int lib, const char *func, int reason, const
      char *file, int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:178,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:183,1
    - Dst: ERR_print_errors_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: ERR_print_errors_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_prn.c
    functionUses: []
    functionsReached:
    - ERR_print_errors_cb
    - BIO_new_fp
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'void ERR_print_errors_fp(FILE *fp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:55,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:61,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:59,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - es
    - i
    - file
    - line
    - fn
    argTypes:
    - ERR_STATE*
    - size_t
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: err_set_debug
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void err_set_debug(ERR_STATE *es, size_t i, const
      char *file, int line, const char *fn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - es
    - i
    - deall
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: err_clear_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void err_clear_data(ERR_STATE *es, size_t i, int
      deall) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: err_clear_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:87,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - es
    - i
    - deall
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: err_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - err_clear_data
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void err_clear(ERR_STATE *es, size_t i, int deall) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: err_get_slot
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void err_get_slot(ERR_STATE *es) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - es
    - i
    - lib
    - reason
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: err_set_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h
    functionUses: []
    functionsReached:
    - ERR_PACK
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void err_set_error(ERR_STATE *es, size_t i, int
      lib, int reason) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - es
    - i
    - data
    - datasz
    - flags
    argTypes:
    - ERR_STATE*
    - size_t
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: err_set_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/err/err_local.h
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void err_set_data(ERR_STATE *es, size_t i, void
      *data, size_t datasz, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:29,1
    - Dst: TS_STATUS_INFO_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:30,1
    - Dst: TS_TST_INFO_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:34,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:36,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: TS_RESP_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - TS_STATUS_INFO_print_bio
    - TS_TST_INFO_print_bio
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_print_bio(BIO *bio, TS_RESP *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:107,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:109,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - bio
    - a
    - v
    argTypes:
    - BIO*
    - struct status_map_st*
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: ts_status_map_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: 'static int ts_status_map_print(BIO *bio, const struct status_map_st
      *a, const ASN1_BIT_STRING *v) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:134,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:137,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:139,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:150,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:152,1
    - Dst: X509V3_EXT_val_prn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:165,1
    - Dst: TS_OBJ_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:128,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:132,1
    - Dst: i2v_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:164,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:166,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:168,1
    - Dst: TS_ext_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:170,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:124,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:145,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:140,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:156,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:161,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:127,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:125,1
    - Dst: TS_MSG_IMPRINT_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:130,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:136,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:143,1
    - Dst: ts_ACCURACY_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:147,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:154,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:141,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 173
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 173
    functionName: TS_TST_INFO_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - sk_CONF_VALUE_pop_free
    - TS_ext_print_bio
    - TS_OBJ_print_bio
    - ASN1_GENERALIZEDTIME_print
    - TS_MSG_IMPRINT_print_bio
    - ts_ACCURACY_print_bio
    - i2v_GENERAL_NAME
    - ASN1_INTEGER_get
    - X509V3_EXT_val_prn
    - TS_ASN1_INTEGER_print_bio
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:74,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:75,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:77,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:79,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:81,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:82,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:84,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:85,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:85,1
    - Dst: ts_status_map_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:93,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:91,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:96,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:89,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:95,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_STATUS_INFO*
    constantsTouched: []
    func_position:
      end: 99
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 99
    functionName: TS_STATUS_INFO_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ts_status_map_print
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_print_ex
    - sk_ASN1_UTF8STRING_num
    - OSSL_NELEM
    - BIO_puts
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: 'int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:185,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:180,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:183,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:181,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:186,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:188,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:190,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_ACCURACY*
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: ts_ACCURACY_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_print.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - TS_ASN1_INTEGER_print_bio
    linkageType: ''
    returnType: int
    signature: 'static int ts_ACCURACY_print_bio(BIO *bio, const TS_ACCURACY *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:24,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:27,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:29,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:28,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:29,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:30,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - bio
    - num
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: TS_ASN1_INTEGER_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c
    functionUses: []
    functionsReached:
    - BIO_write
    - ASN1_INTEGER_to_BN
    - OPENSSL_free
    - BN_free
    - BN_bn2hex
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:53,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:57,1
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:54,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:58,1
    - Dst: X509v3_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:56,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:60,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:61,1
    - Dst: X509V3_EXT_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:62,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:63,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:64,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:66,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - bio
    - extensions
    argTypes:
    - BIO*
    - STACK_OF(X509_EXTENSION)*
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: TS_ext_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - X509V3_EXT_print
    - X509_EXTENSION_get_object
    - i2a_ASN1_OBJECT
    - X509v3_get_ext
    - X509_EXTENSION_get_critical
    - X509v3_get_ext_count
    - ASN1_STRING_print
    - X509_EXTENSION_get_data
    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/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:74,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - alg
    argTypes:
    - BIO*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: TS_X509_ALGOR_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_nid2ln
    - OBJ_obj2nid
    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/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:83,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:88,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:85,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:87,1
    - Dst: BIO_dump_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_MSG_IMPRINT*
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: TS_MSG_IMPRINT_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_STRING_length
    - TS_X509_ALGOR_print_bio
    - BIO_dump_indent
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: 'int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:41,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - obj
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: TS_OBJ_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_MSG_IMPRINT**
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: d2i_TS_MSG_IMPRINT_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_MSG_IMPRINT*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: i2d_TS_MSG_IMPRINT_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: i2d_TS_REQ_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_REQ**
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: d2i_TS_REQ_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:99,1
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:102,1
    - Dst: d2i_TS_TST_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - TS_TST_INFO
    argTypes:
    - TS_TST_INFO
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    functionsReached:
    - d2i_TS_TST_INFO_bio
    - IMPLEMENT_ASN1_DUP_FUNCTION
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(TS_TST_INFO)
    signature: 'static_ASN1_SEQUENCE_END(TS_TST_INFO) IMPLEMENT_ASN1_FUNCTIONS(TS_TST_INFO)IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO)TS_TST_INFO
      *d2i_TS_TST_INFO_bio(BIO *bp, TS_TST_INFO **a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_TST_INFO**
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: d2i_TS_TST_INFO_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:140,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:136,1
    - Dst: TS_TST_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:143,1
    - Dst: PKCS7_to_TS_TST_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:146,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:150,1
    - Dst: ts_resp_set_tst_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - TS_STATUS_INFO
    argTypes:
    - TS_STATUS_INFO
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    functionsReached:
    - TS_TST_INFO_free
    - ERR_raise
    - PKCS7_to_TS_TST_INFO
    - ts_resp_set_tst_info
    - IMPLEMENT_ASN1_DUP_FUNCTION
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(TS_STATUS_INFO)
    signature: 'static_ASN1_SEQUENCE_END(TS_STATUS_INFO) IMPLEMENT_ASN1_FUNCTIONS(TS_STATUS_INFO)IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO)static
      int ts_resp_set_tst_info(TS_RESP *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: i2d_TS_RESP_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:20,1
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:23,1
    - Dst: d2i_TS_MSG_IMPRINT_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - TS_MSG_IMPRINT
    argTypes:
    - TS_MSG_IMPRINT
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    functionsReached:
    - d2i_TS_MSG_IMPRINT_bio
    - ASN1_d2i_bio_of
    - IMPLEMENT_ASN1_DUP_FUNCTION
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(TS_MSG_IMPRINT)
    signature: 'static_ASN1_SEQUENCE_END(TS_MSG_IMPRINT) IMPLEMENT_ASN1_FUNCTIONS(TS_MSG_IMPRINT)IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT)TS_MSG_IMPRINT
      *d2i_TS_MSG_IMPRINT_bio(BIO *bp, TS_MSG_IMPRINT **a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_MSG_IMPRINT*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: i2d_TS_MSG_IMPRINT_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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: IMPLEMENT_ASN1_DUP_FUNCTION
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:54,1
    - Dst: ASN1_d2i_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_REQ**
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: d2i_TS_REQ_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_d2i_bio_of
    - IMPLEMENT_ASN1_DUP_FUNCTION
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(TS_REQ)*
    signature: 'static_ASN1_SEQUENCE_END(TS_REQ) IMPLEMENT_ASN1_FUNCTIONS(TS_REQ)IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ)TS_REQ
      *d2i_TS_REQ_bio(BIO *bp, TS_REQ **a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: i2d_TS_REQ_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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_i2d_bio_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: i2d_TS_TST_INFO_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: i2d_TS_TST_INFO_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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: TS_TST_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:164,1
    - Dst: ts_resp_set_tst_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - op
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: ts_resp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    functionsReached:
    - TS_TST_INFO_free
    - ts_resp_set_tst_info
    linkageType: ''
    returnType: int
    signature: 'static int ts_resp_cb(int op, ASN1_VALUE **pval, const ASN1_ITEM *it,
      void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: i2d_TS_RESP_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:216,1
    - Dst: PKCS7_get_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:215,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:221,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:222,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:227,1
    - Dst: d2i_TS_TST_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:232,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - token
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 233
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 233
    functionName: PKCS7_to_TS_TST_INFO
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - PKCS7_get_detached
    - d2i_TS_TST_INFO
    - PKCS7_type_is_signed
    linkageType: ''
    returnType: TS_TST_INFO*
    signature: 'TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_RESP**
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: d2i_TS_RESP_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_asn1.c
    functionUses: []
    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: ts_CONF_add_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: TS_CONF_set_tsa_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: TS_CONF_set_ess_cert_id_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ts_CONF_add_flag
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section,
      TS_RESP_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:221,1
    - Dst: TS_RESP_CTX_set_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:230,1
    - Dst: TS_CONF_load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:228,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:235,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - conf
    - section
    - certs
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: TS_CONF_set_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - sk_X509_pop_free
    - TS_CONF_load_certs
    - TS_RESP_CTX_set_certs
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_certs(CONF *conf, const char *section, const char
      *certs, TS_RESP_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:246,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:248,1
    - Dst: TS_RESP_CTX_set_signer_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:253,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:258,1
    - Dst: TS_CONF_load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 5
    argNames:
    - conf
    - section
    - key
    - pass
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: TS_CONF_set_signer_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - TS_CONF_load_key
    - EVP_PKEY_free
    - ts_CONF_lookup_fail
    - TS_RESP_CTX_set_signer_key
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_signer_key(CONF *conf, const char *section, const
      char *key, const char *pass, TS_RESP_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:480,1
    - Dst: TS_RESP_CTX_set_ess_cert_id_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:491,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:485,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:487,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 497
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 497
    functionName: TS_CONF_set_ess_cert_id_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ts_CONF_invalid
    - EVP_get_digestbyname
    - TS_RESP_CTX_set_ess_cert_id_digest
    - NCONF_get_string
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_ess_cert_id_digest(CONF *conf, const char *section,
      TS_RESP_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:57,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:58,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: TS_CONF_load_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_X509_AUX
    - ERR_raise
    - BIO_free
    linkageType: ''
    returnType: X509*
    signature: 'X509 *TS_CONF_load_cert(const char *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - name
    - tag
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ts_CONF_lookup_fail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: void
    signature: 'static void ts_CONF_lookup_fail(const char *name, const char *tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:125,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: TS_CONF_get_tsa_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - ts_CONF_lookup_fail
    linkageType: ''
    returnType: char*
    signature: 'const char *TS_CONF_get_tsa_section(CONF *conf, const char *section) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:268,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:275,1
    - Dst: TS_RESP_CTX_set_signer_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:278,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:270,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:273,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 4
    argNames:
    - conf
    - section
    - md
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: TS_CONF_set_signer_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - EVP_get_digestbyname
    - TS_RESP_CTX_set_signer_digest
    - ts_CONF_lookup_fail
    - ts_CONF_invalid
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_signer_digest(CONF *conf, const char *section, const
      char *md, TS_RESP_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:444,1
    - Dst: TS_RESP_CTX_add_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:448,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:449,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:450,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - conf
    - section
    - field
    - flag
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - int
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 456
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 456
    functionName: ts_CONF_add_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ts_CONF_invalid
    - strcmp
    - TS_RESP_CTX_add_flags
    - NCONF_get_string
    linkageType: ''
    returnType: int
    signature: 'static int ts_CONF_add_flag(CONF *conf, const char *section, const
      char *field, int flag, TS_RESP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - name
    - tag
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ts_CONF_invalid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: void
    signature: 'static void ts_CONF_invalid(const char *name, const char *tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:136,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:138,1
    - Dst: TS_RESP_CTX_set_serial_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - conf
    - section
    - cb
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_serial_cb
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: TS_CONF_set_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_serial_cb
    - NCONF_get_string
    - ts_CONF_lookup_fail
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb
      cb, TS_RESP_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:200,1
    - Dst: TS_CONF_load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:206,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:202,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:213,1
    - Dst: TS_RESP_CTX_set_signer_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:208,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 4
    argNames:
    - conf
    - section
    - cert
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: TS_CONF_set_signer_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - X509_free
    - NCONF_get_string
    - TS_CONF_load_cert
    - ts_CONF_lookup_fail
    - TS_RESP_CTX_set_signer_cert
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_signer_cert(CONF *conf, const char *section, const
      char *cert, TS_RESP_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:293,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:295,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:298,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:299,1
    - Dst: TS_RESP_CTX_set_def_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:302,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:307,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - conf
    - section
    - policy
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 309
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 309
    functionName: TS_CONF_set_def_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - ASN1_OBJECT_free
    - OBJ_txt2obj
    - ts_CONF_lookup_fail
    - ts_CONF_invalid
    - TS_RESP_CTX_set_def_policy
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_def_policy(CONF *conf, const char *section, const
      char *policy, TS_RESP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_CONF_add_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: TS_CONF_set_ordering
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ts_CONF_add_flag
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX
      *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:65,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:66,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:71,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:74,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:69,1
    - Dst: sk_X509_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:75,1
    - Dst: sk_X509_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:76,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:79,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:89,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:90,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:91,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 93
    functionName: TS_CONF_load_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - sk_X509_INFO_num
    - ERR_raise
    - sk_X509_pop_free
    - BIO_free
    - sk_X509_INFO_value
    - sk_X509_new_null
    - X509_add_cert
    - PEM_X509_INFO_read_bio
    - sk_X509_INFO_pop_free
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *TS_CONF_load_certs(const char *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:156,1
    - Dst: TS_CONF_set_default_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:158,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - conf
    - section
    - device
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: TS_CONF_set_crypto_device
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ts_CONF_invalid
    - NCONF_get_string
    - TS_CONF_set_default_engine
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_crypto_device(CONF *conf, const char *section, const
      char *device) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:315,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:323,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:320,1
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:319,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:316,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:324,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:328,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:329,1
    - Dst: TS_RESP_CTX_add_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:332,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:334,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:339,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 341
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 341
    functionName: TS_CONF_set_policies
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_add_policy
    - NCONF_get_string
    - ASN1_OBJECT_free
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - OBJ_txt2obj
    - X509V3_parse_list
    - ts_CONF_invalid
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX
      *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:386,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:393,1
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:389,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:387,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:390,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:394,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:395,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:397,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:398,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:400,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:403,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:414,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:401,1
    - Dst: TS_RESP_CTX_set_accuracy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:409,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:405,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 416
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 416
    functionName: TS_CONF_set_accuracy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - TS_RESP_CTX_set_accuracy
    - strcmp
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - atoi
    - X509V3_parse_list
    - ts_CONF_invalid
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:100,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:102,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - file
    - pass
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: TS_CONF_load_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - PEM_read_bio_PrivateKey
    - BIO_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:172,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:175,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:178,1
    - Dst: ENGINE_set_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:179,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:177,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:185,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: TS_CONF_set_default_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ENGINE_set_default
    - strcmp
    - ENGINE_ctrl
    - ENGINE_by_id
    - ERR_raise_data
    - ENGINE_free
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_default_engine(const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:347,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:348,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:355,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:351,1
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:354,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:358,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:359,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:362,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:363,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:367,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:368,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:377,1
    - Dst: TS_RESP_CTX_add_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:371,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 379
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 379
    functionName: TS_CONF_set_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - NCONF_get_string
    - EVP_get_digestbyname
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - TS_RESP_CTX_add_md
    - ts_CONF_lookup_fail
    - X509V3_parse_list
    - ts_CONF_invalid
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX
      *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:427,1
    - Dst: TS_RESP_CTX_set_clock_precision_digits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:433,1
    - Dst: ts_CONF_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 439
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 439
    functionName: TS_CONF_set_clock_precision_digits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_conf.c
    functionUses: []
    functionsReached:
    - ts_CONF_invalid
    - TS_RESP_CTX_set_clock_precision_digits
    - _CONF_get_number
    linkageType: ''
    returnType: int
    signature: 'int TS_CONF_set_clock_precision_digits(const CONF *conf, const char
      *section, TS_RESP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:16,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:19,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: TS_VERIFY_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: TS_VERIFY_CTX*
    signature: 'TS_VERIFY_CTX *TS_VERIFY_CTX_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_VERIFY_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:34,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_VERIFY_CTX*
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: TS_VERIFY_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - TS_VERIFY_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: 'void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - TS_VERIFY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: TS_VERIFY_CTX_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_VERIFY_CTX_set_flags(TS_VERIFY_CTX *ctx, int f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - TS_VERIFY_CTX*
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: TS_VERIFY_CTX_set_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    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: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - hexstr
    - len
    argTypes:
    - TS_VERIFY_CTX*
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: TS_VERIFY_CTX_set_imprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx, unsigned
      char *hexstr, long len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - TS_VERIFY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: TS_VERIFY_CTX_add_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_VERIFY_CTX_add_flags(TS_VERIFY_CTX *ctx, int f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:25,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_VERIFY_CTX*
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: TS_VERIFY_CTX_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - memset
    linkageType: ''
    returnType: void
    signature: 'void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - b
    argTypes:
    - TS_VERIFY_CTX*
    - BIO*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: TS_VERIFY_CTX_set_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *TS_VERIFY_CTX_set_data(TS_VERIFY_CTX *ctx, BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - certs
    argTypes:
    - TS_VERIFY_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: TS_VERIFY_CTX_set_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *TS_VERIFY_CTX_set_certs(TS_VERIFY_CTX *ctx, STACK_OF(X509)
      *certs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:83,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:84,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:86,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:88,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:89,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:91,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:93,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:95,1
    - Dst: TS_VERIFY_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_VERIFY_CTX*
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: TS_VERIFY_CTX_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - BIO_free_all
    - TS_VERIFY_CTX_init
    - sk_X509_pop_free
    - OPENSSL_free
    - GENERAL_NAME_free
    - ASN1_OBJECT_free
    - X509_STORE_free
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: void
    signature: 'void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:109,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:118,1
    - Dst: TS_VERIFY_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:111,1
    - Dst: X509_ALGOR_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:125,1
    - Dst: TS_VERIFY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:112,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:128,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:131,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:133,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:133,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:136,1
    - Dst: TS_VERIFY_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:144,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c:146,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 2
    argNames:
    - req
    - ctx
    argTypes:
    - TS_REQ*
    - TS_VERIFY_CTX*
    constantsTouched: []
    func_position:
      end: 148
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 148
    functionName: TS_REQ_to_TS_VERIFY_CTX
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: []
    functionsReached:
    - TS_VERIFY_CTX_cleanup
    - ASN1_STRING_length
    - OPENSSL_assert
    - memcpy
    - TS_VERIFY_CTX_new
    - OPENSSL_malloc
    - ASN1_INTEGER_dup
    - X509_ALGOR_dup
    - ASN1_STRING_get0_data
    - TS_VERIFY_CTX_free
    - OBJ_dup
    linkageType: ''
    returnType: TS_VERIFY_CTX*
    signature: 'TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX
      *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:146,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:147,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:149,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:148,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:150,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:151,1
    - Dst: sk_EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:152,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:153,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:154,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:155,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: TS_RESP_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - X509_free
    - sk_X509_pop_free
    - sk_ASN1_OBJECT_pop_free
    - OPENSSL_free
    - EVP_PKEY_free
    - ASN1_OBJECT_free
    - sk_EVP_MD_free
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: void
    signature: 'void TS_RESP_CTX_free(TS_RESP_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:210,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:220,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:214,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: TS_RESP_CTX_add_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_ASN1_OBJECT_push
    - ASN1_OBJECT_free
    - sk_ASN1_OBJECT_new_null
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *policy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: TS_RESP_CTX_get_tst_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TS_TST_INFO*
    signature: 'TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:504,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:513,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:512,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:507,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:511,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:517,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:518,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:520,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 523
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 523
    functionName: ts_RESP_get_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - OBJ_cmp
    - ERR_raise
    - sk_ASN1_OBJECT_value
    - TS_RESP_CTX_add_failure_info
    - sk_ASN1_OBJECT_num
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'static ASN1_OBJECT *ts_RESP_get_policy(TS_RESP_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:655,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:663,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:656,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:663,1
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:662,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:664,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:665,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:669,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:670,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ESS_SIGNING_CERT_V2*
    constantsTouched: []
    func_position:
      end: 672
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 672
    functionName: ossl_ess_add1_signing_cert_v2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - i2d_ESS_SIGNING_CERT_V2
    - OPENSSL_free
    - PKCS7_add_signed_attribute
    - ASN1_STRING_new
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ossl_ess_add1_signing_cert_v2(PKCS7_SIGNER_INFO *si, const
      ESS_SIGNING_CERT_V2 *sc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:85,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:86,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - data
    - sec
    - usec
    argTypes:
    - struct TS_resp_ctx*
    - void*
    - long*
    - long*
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: def_time_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - ERR_raise
    - TS_RESP_CTX_add_failure_info
    - time
    linkageType: ''
    returnType: int
    signature: 'static int def_time_cb(struct TS_resp_ctx *ctx, void *data, long *sec,
      long *usec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:103,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - ext
    - data
    argTypes:
    - struct TS_resp_ctx*
    - X509_EXTENSION*
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: def_extension_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - TS_RESP_CTX_add_failure_info
    linkageType: ''
    returnType: int
    signature: 'static int def_extension_cb(struct TS_resp_ctx *ctx, X509_EXTENSION
      *ext, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:161,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:162,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - signer
    argTypes:
    - TS_RESP_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: TS_RESP_CTX_set_signer_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - X509_check_purpose
    - X509_up_ref
    - ERR_raise
    - X509_free
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_MD_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:227,1
    - Dst: sk_EVP_MD_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TS_RESP_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: TS_RESP_CTX_add_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_EVP_MD_new_null
    - sk_EVP_MD_push
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - precision
    argTypes:
    - TS_RESP_CTX*
    - unsigned
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: TS_RESP_CTX_set_clock_precision_digits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, unsigned
      precision) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:692,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:698,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:721,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:714,1
    - Dst: ts_TST_INFO_content_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:755,1
    - Dst: PKCS7_dataFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:765,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:784,1
    - Dst: i2d_TS_TST_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:761,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:785,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:687,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:693,1
    - Dst: PKCS7_add_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:702,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:712,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:713,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:728,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:740,1
    - Dst: OSSL_ESS_signing_cert_v2_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:744,1
    - Dst: ossl_ess_add1_signing_cert_v2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:749,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:762,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:679,1
    - Dst: PKCS7_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:696,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:705,1
    - Dst: OSSL_ESS_signing_cert_new_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:735,1
    - Dst: PKCS7_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:757,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:766,1
    - Dst: TS_RESP_set_tst_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:769,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:782,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:758,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:688,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:704,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:714,1
    - Dst: PKCS7_add_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:719,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:725,1
    - Dst: PKCS7_add_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:706,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:726,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:734,1
    - Dst: ossl_ess_add1_signing_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:739,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:750,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:776,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:783,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:779,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 93
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 787
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 787
    functionName: ts_RESP_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - OSSL_ESS_signing_cert_new_init
    - PKCS7_set_type
    - PKCS7_dataFinal
    - sk_X509_value
    - PKCS7_add_signed_attribute
    - STACK_OF
    - BIO_free_all
    - sk_X509_num
    - TS_RESP_set_tst_info
    - EVP_MD_get0_name
    - OBJ_nid2obj
    - PKCS7_free
    - ASN1_INTEGER_set
    - OSSL_ESS_signing_cert_v2_new_init
    - EVP_MD_free
    - EVP_MD_get0_provider
    - ossl_ess_add1_signing_cert_v2
    - ossl_ess_add1_signing_cert
    - PKCS7_add_signature
    - PKCS7_new_ex
    - EVP_MD_fetch
    - ESS_SIGNING_CERT_V2_free
    - PKCS7_add_certificate
    - PKCS7_dataInit
    - ERR_raise
    - ts_TST_INFO_content_new
    - ESS_SIGNING_CERT_free
    - i2d_TS_TST_INFO_bio
    - X509_check_private_key
    - TS_RESP_CTX_set_status_info_cond
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: 'static int ts_RESP_sign(TS_RESP_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:44,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:53,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:54,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:48,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - struct TS_resp_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: def_serial_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - ERR_raise
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'static ASN1_INTEGER *def_serial_cb(struct TS_resp_ctx *ctx, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - TS_RESP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: TS_RESP_CTX_add_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - data
    argTypes:
    - TS_RESP_CTX*
    - TS_time_cb
    - void*
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: TS_RESP_CTX_set_time_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void
      *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:632,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:640,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:633,1
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:639,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:640,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:641,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:642,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:646,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ESS_SIGNING_CERT*
    constantsTouched: []
    func_position:
      end: 649
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 649
    functionName: ossl_ess_add1_signing_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - PKCS7_add_signed_attribute
    - i2d_ESS_SIGNING_CERT
    - ASN1_STRING_new
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ossl_ess_add1_signing_cert(PKCS7_SIGNER_INFO *si, const
      ESS_SIGNING_CERT *sc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:795,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:797,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:799,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:802,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:800,1
    - Dst: PKCS7_set_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:806,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:811,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:812,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 814
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 814
    functionName: ts_TST_INFO_content_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - PKCS7_set_content
    - PKCS7_new
    - ASN1_TYPE_set
    - ASN1_OCTET_STRING_new
    - OBJ_nid2obj
    - PKCS7_free
    - ASN1_TYPE_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: 'static int ts_TST_INFO_content_new(PKCS7 *p7) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TS_RESP_CTX_accuracy_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:250,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:256,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:253,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:257,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:252,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:260,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:261,1
    - Dst: TS_RESP_CTX_accuracy_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:266,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - secs
    - millis
    - micros
    argTypes:
    - TS_RESP_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: TS_RESP_CTX_set_accuracy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    - ERR_raise
    - ASN1_INTEGER_new
    - TS_RESP_CTX_accuracy_free
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, int secs, int millis,
      int micros) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - data
    argTypes:
    - TS_RESP_CTX*
    - TS_serial_cb
    - void*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: TS_RESP_CTX_set_serial_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - data
    argTypes:
    - TS_RESP_CTX*
    - TS_extension_cb
    - void*
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: TS_RESP_CTX_set_extension_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, TS_extension_cb
      cb, void *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:829,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:844,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:871,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:839,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:845,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:873,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:874,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:880,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 4
    argNames:
    - asn1_time
    - sec
    - usec
    - precision
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - long
    - long
    - unsigned
    constantsTouched: []
    func_position:
      end: 882
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 882
    functionName: TS_RESP_set_genTime_with_precision
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_gmtime
    - ASN1_GENERALIZEDTIME_set_string
    - BIO_snprintf
    - strlen
    - ASN1_GENERALIZEDTIME_free
    - ASN1_GENERALIZEDTIME_new
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME*
    signature: 'static ASN1_GENERALIZEDTIME *TS_RESP_set_genTime_with_precision( ASN1_GENERALIZEDTIME
      *asn1_time, long sec, long usec, unsigned precision) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TS_RESP_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: TS_RESP_CTX_set_ess_cert_id_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_ess_cert_id_digest(TS_RESP_CTX *ctx, const EVP_MD
      *md) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TS_REQ_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:455,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:464,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:458,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:456,1
    - Dst: sk_EVP_MD_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:465,1
    - Dst: sk_EVP_MD_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:466,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:467,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:471,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:474,1
    - Dst: ASN1_TYPE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:478,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:489,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:479,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:487,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:482,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:486,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 494
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 494
    functionName: ts_RESP_check_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - ASN1_TYPE_get
    - sk_EVP_MD_value
    - TS_REQ_get_version
    - TS_RESP_CTX_add_failure_info
    - sk_EVP_MD_num
    - EVP_MD_get_size
    - EVP_MD_is_a
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int ts_RESP_check_request(TS_RESP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:613,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 625
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 625
    functionName: ts_RESP_process_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_value
    linkageType: ''
    returnType: int
    signature: 'static int ts_RESP_process_extensions(TS_RESP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:66,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:68,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - data
    - sec
    - usec
    argTypes:
    - struct TS_resp_ctx*
    - void*
    - long*
    - long*
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: def_time_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - gettimeofday
    - ERR_raise
    - TS_RESP_CTX_add_failure_info
    linkageType: ''
    returnType: int
    signature: 'static int def_time_cb(struct TS_resp_ctx *ctx, void *data, long *sec,
      long *usec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:116,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:123,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: TS_RESP_CTX_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: TS_RESP_CTX*
    signature: 'TS_RESP_CTX *TS_RESP_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TS_STATUS_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:302,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:308,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:304,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:307,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:308,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:311,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:313,1
    - Dst: TS_RESP_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:317,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:322,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:323,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:324,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - status
    - text
    argTypes:
    - TS_RESP_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 326
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 326
    functionName: TS_RESP_CTX_set_status_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_new
    - ERR_raise
    - sk_ASN1_UTF8STRING_new_null
    - TS_STATUS_INFO_free
    - ASN1_INTEGER_set
    - TS_STATUS_INFO_new
    - ASN1_STRING_set
    - sk_ASN1_UTF8STRING_push
    - ASN1_UTF8STRING_free
    - TS_RESP_set_status_info
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, int status, const
      char *text) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:344,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:350,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - failure
    argTypes:
    - TS_RESP_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: TS_RESP_CTX_add_failure_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    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:
    - Dst: TS_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:436,1
    - Dst: TS_TST_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:440,1
    - Dst: TS_RESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: ts_RESP_CTX_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_free
    - TS_REQ_free
    - TS_TST_INFO_free
    linkageType: ''
    returnType: void
    signature: 'static void ts_RESP_CTX_cleanup(TS_RESP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_RESP_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: TS_RESP_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    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: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:334,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - status
    - text
    argTypes:
    - TS_RESP_CTX*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: TS_RESP_CTX_set_status_info_cond
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    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, int status,
      const char *text) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: TS_RESP_CTX_get_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TS_REQ*
    signature: 'TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: ts_RESP_CTX_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ts_RESP_CTX_init(TS_RESP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:173,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - TS_RESP_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: TS_RESP_CTX_set_signer_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:193,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - def_policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: TS_RESP_CTX_set_def_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_OBJECT_free
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT
      *def_policy) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ts_RESP_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:380,1
    - Dst: TS_RESP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:382,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:386,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:387,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:383,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:389,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:392,1
    - Dst: ts_RESP_check_request
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:394,1
    - Dst: ts_RESP_get_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:396,1
    - Dst: ts_RESP_create_tst_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:408,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:410,1
    - Dst: TS_RESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:414,1
    - Dst: ts_RESP_process_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:400,1
    - Dst: ts_RESP_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:402,1
    - Dst: ts_RESP_CTX_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:421,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 2
    argNames:
    - ctx
    - req_bio
    argTypes:
    - TS_RESP_CTX*
    - BIO*
    constantsTouched: []
    func_position:
      end: 423
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 423
    functionName: TS_RESP_create_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - ts_RESP_create_tst_info
    - ERR_raise
    - ts_RESP_CTX_cleanup
    - TS_RESP_new
    - d2i_TS_REQ_bio
    - TS_RESP_CTX_add_failure_info
    - TS_RESP_CTX_set_status_info_cond
    - ts_RESP_get_policy
    - ts_RESP_sign
    - ts_RESP_check_request
    - ts_RESP_CTX_init
    - ts_RESP_process_extensions
    - TS_RESP_free
    linkageType: ''
    returnType: TS_RESP*
    signature: 'TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TS_RESP_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: TS_RESP_CTX_set_signer_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_signer_digest(TS_RESP_CTX *ctx, const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:199,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - certs
    argTypes:
    - TS_RESP_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: TS_RESP_CTX_set_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - X509_chain_up_ref
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:581,1
    - Dst: TS_TST_INFO_set_accuracy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:565,1
    - Dst: TS_TST_INFO_set_tsa
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:584,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:601,1
    - Dst: TS_TST_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:538,1
    - Dst: TS_TST_INFO_set_policy_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:542,1
    - Dst: TS_ACCURACY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:557,1
    - Dst: TS_TST_INFO_set_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:573,1
    - Dst: TS_TST_INFO_set_ordering
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:569,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:600,1
    - Dst: TS_TST_INFO_set_msg_imprint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:544,1
    - Dst: TS_TST_INFO_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:540,1
    - Dst: TS_TST_INFO_set_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:547,1
    - Dst: TS_RESP_set_genTime_with_precision
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:551,1
    - Dst: TS_TST_INFO_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:553,1
    - Dst: TS_ACCURACY_set_millis
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:561,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:581,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:593,1
    - Dst: TS_ACCURACY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:599,1
    - Dst: TS_ACCURACY_set_micros
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:563,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:577,1
    - Dst: TS_ACCURACY_set_seconds
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:559,1
    - Dst: TS_TST_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:591,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:594,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c:598,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 75
    argCount: 2
    argNames:
    - ctx
    - policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 604
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 604
    functionName: ts_RESP_create_tst_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: []
    functionsReached:
    - TS_ACCURACY_set_micros
    - TS_TST_INFO_set_tsa
    - TS_TST_INFO_set_version
    - TS_ACCURACY_new
    - TS_TST_INFO_set_accuracy
    - X509_get_subject_name
    - TS_TST_INFO_set_msg_imprint
    - TS_TST_INFO_set_policy_id
    - ASN1_GENERALIZEDTIME_free
    - TS_TST_INFO_set_nonce
    - TS_TST_INFO_new
    - GENERAL_NAME_free
    - X509_NAME_dup
    - TS_ACCURACY_set_seconds
    - TS_ACCURACY_set_millis
    - TS_ACCURACY_free
    - GENERAL_NAME_new
    - TS_TST_INFO_free
    - TS_RESP_set_genTime_with_precision
    - TS_TST_INFO_set_time
    - ERR_raise
    - TS_TST_INFO_set_ordering
    - TS_TST_INFO_set_serial
    - TS_RESP_CTX_set_status_info_cond
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: TS_TST_INFO*
    signature: 'static TS_TST_INFO *ts_RESP_create_tst_info(TS_RESP_CTX *ctx, ASN1_OBJECT
      *policy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: TS_REQ_get_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - nid
    - lastpos
    argTypes:
    - TS_REQ*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: TS_REQ_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - cert_req
    argTypes:
    - TS_REQ*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: TS_REQ_set_cert_req
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_set_cert_req(TS_REQ *a, int cert_req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - a
    - obj
    - lastpos
    argTypes:
    - TS_REQ*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: TS_REQ_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    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_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - a
    - nid
    - crit
    - idx
    argTypes:
    - TS_REQ*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: TS_REQ_get_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void*
    signature: 'void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: TS_REQ_get_msg_imprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TS_MSG_IMPRINT*
    signature: 'TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: TS_REQ_get_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: 'long TS_REQ_get_version(const TS_REQ *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_MSG_IMPRINT*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: TS_MSG_IMPRINT_get_algo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: TS_REQ_get_policy_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - crit
    - lastpos
    argTypes:
    - TS_REQ*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: TS_REQ_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_MSG_IMPRINT_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:32,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:34,1
    - Dst: TS_MSG_IMPRINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - msg_imprint
    argTypes:
    - TS_REQ*
    - TS_MSG_IMPRINT*
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: TS_REQ_set_msg_imprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - TS_MSG_IMPRINT_free
    - TS_MSG_IMPRINT_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:53,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:58,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - alg
    argTypes:
    - TS_MSG_IMPRINT*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: TS_MSG_IMPRINT_set_algo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - ERR_raise
    - X509_ALGOR_dup
    linkageType: ''
    returnType: int
    signature: 'int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - a
    - d
    - len
    argTypes:
    - TS_MSG_IMPRINT*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: TS_MSG_IMPRINT_set_msg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:107,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - nonce
    argTypes:
    - TS_REQ*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: TS_REQ_set_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_dup
    - ERR_raise
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_REQ*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: TS_REQ_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_MSG_IMPRINT*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: TS_MSG_IMPRINT_get_msg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: TS_REQ_get_cert_req
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_get_cert_req(const TS_REQ *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:84,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - policy
    argTypes:
    - TS_REQ*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: TS_REQ_set_policy_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_OBJECT_free
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_set_policy_id(TS_REQ *a, const ASN1_OBJECT *policy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: TS_REQ_get_exts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_EXTENSION)*
    signature: 'STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: TS_REQ_ext_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_pop_free
    linkageType: ''
    returnType: void
    signature: 'void TS_REQ_ext_free(TS_REQ *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_REQ*
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: TS_REQ_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - version
    argTypes:
    - TS_REQ*
    - long
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: TS_REQ_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_set_version(TS_REQ *a, long version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: TS_REQ_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_get_ext_count(TS_REQ *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - a
    - ex
    - loc
    argTypes:
    - TS_REQ*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: TS_REQ_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_utils.c
    functionUses: []
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: TS_TST_INFO_get_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: TS_TST_INFO_get_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME*
    signature: 'const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO
      *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: TS_TST_INFO_ext_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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_by_critical
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - crit
    - lastpos
    argTypes:
    - TS_TST_INFO*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: TS_TST_INFO_get_ext_by_critical
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - a
    - nid
    - crit
    - idx
    argTypes:
    - TS_TST_INFO*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: TS_TST_INFO_get_ext_d2i
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_STATUS_INFO*
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: TS_STATUS_INFO_get0_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *TS_STATUS_INFO_get0_status(const TS_STATUS_INFO
      *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:136,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - gtime
    argTypes:
    - TS_TST_INFO*
    - ASN1_GENERALIZEDTIME*
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: TS_TST_INFO_set_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_dup
    - ERR_raise
    - ASN1_GENERALIZEDTIME_free
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME
      *gtime) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_ACCURACY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:159,1
    - Dst: TS_ACCURACY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - accuracy
    argTypes:
    - TS_TST_INFO*
    - TS_ACCURACY*
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: TS_TST_INFO_set_accuracy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - TS_ACCURACY_dup
    - ERR_raise
    - TS_ACCURACY_free
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: TS_TST_INFO_get_ext_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_TST_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: TS_TST_INFO_get_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - i
    argTypes:
    - TS_STATUS_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: TS_STATUS_INFO_set_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_STATUS_INFO*
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: TS_STATUS_INFO_get0_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(ASN1_UTF8STRING)*
    signature: 'const STACK_OF(ASN1_UTF8STRING) *TS_STATUS_INFO_get0_text(const TS_STATUS_INFO
      *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_ACCURACY*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: TS_ACCURACY_get_millis
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - nid
    - lastpos
    argTypes:
    - TS_TST_INFO*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: TS_TST_INFO_get_ext_by_NID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:223,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:225,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - micros
    argTypes:
    - TS_ACCURACY*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: TS_ACCURACY_set_micros
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_dup
    - ERR_raise
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - a
    - obj
    - lastpos
    argTypes:
    - TS_TST_INFO*
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: TS_TST_INFO_get_ext_by_OBJ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_STATUS_INFO_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:22,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:27,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:24,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - status_info
    argTypes:
    - TS_RESP*
    - TS_STATUS_INFO*
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: TS_RESP_set_status_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - TS_STATUS_INFO_dup
    - ERR_raise
    - TS_STATUS_INFO_free
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *status_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:41,1
    - Dst: TS_TST_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - p7
    - tst_info
    argTypes:
    - TS_RESP*
    - PKCS7*
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: TS_RESP_set_tst_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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:
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: TS_TST_INFO_get_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: 'long TS_TST_INFO_get_version(const TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: TS_TST_INFO_get_policy_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_ACCURACY*
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: TS_ACCURACY_get_seconds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_ACCURACY*
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: TS_ACCURACY_get_micros
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_TST_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: TS_TST_INFO_delete_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION*
    signature: 'X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: TS_RESP_get_status_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TS_STATUS_INFO*
    signature: 'TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: TS_RESP_get_token
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *TS_RESP_get_token(TS_RESP *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:75,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - policy
    argTypes:
    - TS_TST_INFO*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: TS_TST_INFO_set_policy_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_OBJECT_free
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_MSG_IMPRINT_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:94,1
    - Dst: TS_MSG_IMPRINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:99,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - msg_imprint
    argTypes:
    - TS_TST_INFO*
    - TS_MSG_IMPRINT*
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: TS_TST_INFO_set_msg_imprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - TS_MSG_IMPRINT_free
    - TS_MSG_IMPRINT_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:200,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - millis
    argTypes:
    - TS_ACCURACY*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: TS_ACCURACY_set_millis
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_dup
    - ERR_raise
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - ordering
    argTypes:
    - TS_TST_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: TS_TST_INFO_set_ordering
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - a
    - ex
    - loc
    argTypes:
    - TS_TST_INFO*
    - X509_EXTENSION*
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: TS_TST_INFO_add_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: TS_RESP_get_tst_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TS_TST_INFO*
    signature: 'TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: TS_TST_INFO_get_msg_imprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TS_MSG_IMPRINT*
    signature: 'TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: TS_TST_INFO_get_accuracy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TS_ACCURACY*
    signature: 'TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: TS_TST_INFO_get_ordering
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_get_ordering(const TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: TS_TST_INFO_get_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: TS_TST_INFO_get_tsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAME*
    signature: 'GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - version
    argTypes:
    - TS_TST_INFO*
    - long
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: TS_TST_INFO_set_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_version(TS_TST_INFO *a, long version) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:115,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - serial
    argTypes:
    - TS_TST_INFO*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: TS_TST_INFO_set_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_dup
    - ERR_raise
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:180,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - seconds
    argTypes:
    - TS_ACCURACY*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: TS_ACCURACY_set_seconds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_dup
    - ERR_raise
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:258,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - nonce
    argTypes:
    - TS_TST_INFO*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: TS_TST_INFO_set_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_dup
    - ERR_raise
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:277,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:282,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - a
    - tsa
    argTypes:
    - TS_TST_INFO*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: TS_TST_INFO_set_tsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_dup
    - ERR_raise
    - GENERAL_NAME_free
    linkageType: ''
    returnType: int
    signature: 'int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: TS_TST_INFO_get_exts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(X509_EXTENSION)*
    signature: 'STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_STATUS_INFO*
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: TS_STATUS_INFO_get0_failure_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ASN1_BIT_STRING*
    signature: 'const 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/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:25,1
    - Dst: TS_MSG_IMPRINT_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:28,1
    - Dst: TS_REQ_get_policy_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:31,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:30,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:26,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:33,1
    - Dst: TS_OBJ_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:35,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:37,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:39,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:41,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:42,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:44,1
    - Dst: TS_ext_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_REQ*
    constantsTouched: []
    func_position:
      end: 50
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 50
    functionName: TS_REQ_print_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_req_print.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - TS_REQ_get_policy_id
    - TS_ext_print_bio
    - TS_REQ_get_version
    - TS_OBJ_print_bio
    - TS_MSG_IMPRINT_print_bio
    - TS_ASN1_INTEGER_print_bio
    linkageType: ''
    returnType: int
    signature: 'int TS_REQ_print_bio(BIO *bio, TS_REQ *a) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:178,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:180,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:183,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:186,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:188,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:189,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:190,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:193,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:201,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - store
    - untrusted
    - signer
    - chain
    argTypes:
    - X509_STORE*
    - STACK_OF(X509)*
    - X509*
    - STACK_OF(X509)**
    constantsTouched: []
    func_position:
      end: 203
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 203
    functionName: ts_verify_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_set_purpose
    - ERR_raise
    - X509_STORE_CTX_init
    - X509_STORE_CTX_get1_chain
    - X509_STORE_CTX_get_error
    - X509_verify_cert
    - X509_verify_cert_error_string
    - X509_STORE_CTX_free
    - ERR_raise_data
    - X509_STORE_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int ts_verify_cert(X509_STORE *store, STACK_OF(X509) *untrusted,
      X509 *signer, STACK_OF(X509) **chain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:223,1
    - Dst: d2i_ESS_SIGNING_CERT_V2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: ossl_ess_get_signing_cert_v2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - d2i_ESS_SIGNING_CERT_V2
    - PKCS7_get_signed_attribute
    linkageType: ''
    returnType: ESS_SIGNING_CERT_V2*
    signature: 'static ESS_SIGNING_CERT_V2 *ossl_ess_get_signing_cert_v2(const PKCS7_SIGNER_INFO
      *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_to_TS_TST_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:270,1
    - Dst: TS_TST_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:274,1
    - Dst: int_ts_RESP_verify_token
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - token
    argTypes:
    - TS_VERIFY_CTX*
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: TS_RESP_verify_token
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:309,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:313,1
    - Dst: ts_check_imprints
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:320,1
    - Dst: TS_TST_INFO_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:312,1
    - Dst: ts_check_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:317,1
    - Dst: ts_compute_imprint
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:324,1
    - Dst: ts_check_imprints
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:326,1
    - Dst: ts_check_nonces
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:329,1
    - Dst: ts_check_signer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:332,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:333,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:345,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:338,1
    - Dst: ts_check_signer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:337,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:346,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:344,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 54
    argCount: 3
    argNames:
    - ctx
    - token
    - tst_info
    argTypes:
    - TS_VERIFY_CTX*
    - PKCS7*
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 348
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 348
    functionName: int_ts_RESP_verify_token
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_ALGOR_free
    - ERR_raise
    - ts_check_policy
    - ts_check_imprints
    - ts_check_nonces
    - OPENSSL_free
    - TS_TST_INFO_get_version
    - TS_RESP_verify_signature
    - ts_check_signer_name
    - ts_compute_imprint
    linkageType: ''
    returnType: int
    signature: 'static int int_ts_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token,
      TS_TST_INFO *tst_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - STACK_OF(ASN1_UTF8STRING)*
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: ts_get_status_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - ossl_sk_ASN1_UTF8STRING2text
    linkageType: ''
    returnType: char*
    signature: 'static char *ts_get_status_text(STACK_OF(ASN1_UTF8STRING) *text) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:432,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:438,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:441,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:435,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:444,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:447,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:449,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:473,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:471,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:478,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:479,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:437,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:453,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:477,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:468,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:481,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:454,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:465,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:463,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:458,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:467,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:460,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 51
    argCount: 5
    argNames:
    - data
    - tst_info
    - md_alg
    - imprint
    - imprint_len
    argTypes:
    - BIO*
    - TS_TST_INFO*
    - X509_ALGOR**
    - unsigned char**
    - unsigned*
    constantsTouched: []
    func_position:
      end: 485
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 485
    functionName: ts_compute_imprint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - ERR_set_mark
    - EVP_DigestInit
    - OPENSSL_malloc
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - OPENSSL_free
    - X509_ALGOR_dup
    - EVP_MD_free
    - X509_ALGOR_free
    - EVP_DigestFinal
    - EVP_MD_get_size
    - ERR_clear_last_mark
    - EVP_MD_fetch
    - ERR_pop_to_mark
    - ERR_raise
    - EVP_MD_CTX_free
    - BIO_read
    - EVP_get_digestbyname
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int ts_compute_imprint(BIO *data, TS_TST_INFO *tst_info, X509_ALGOR
      **md_alg, unsigned char **imprint, unsigned *imprint_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:526,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - tst_info
    argTypes:
    - ASN1_INTEGER*
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: ts_check_nonces
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ts_check_nonces(const ASN1_INTEGER *a, TS_TST_INFO *tst_info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:567,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:569,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - gen_names
    - name
    argTypes:
    - STACK_OF(GENERAL_NAME)*
    - GENERAL_NAME*
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: ts_find_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - GENERAL_NAME_cmp
    linkageType: ''
    returnType: int
    signature: 'static int ts_find_name(STACK_OF(GENERAL_NAME) *gen_names, GENERAL_NAME
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:210,1
    - Dst: d2i_ESS_SIGNING_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: ossl_ess_get_signing_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - d2i_ESS_SIGNING_CERT
    - PKCS7_get_signed_attribute
    linkageType: ''
    returnType: ESS_SIGNING_CERT*
    signature: 'static ESS_SIGNING_CERT *ossl_ess_get_signing_cert(const PKCS7_SIGNER_INFO
      *si) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ess_get_signing_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:233,1
    - Dst: ossl_ess_get_signing_cert_v2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:234,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:238,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:237,1
    - Dst: OSSL_ESS_check_signing_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - PKCS7_SIGNER_INFO*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: ts_check_signing_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - ossl_ess_get_signing_cert
    - ESS_SIGNING_CERT_free
    - ossl_ess_get_signing_cert_v2
    - ESS_SIGNING_CERT_V2_free
    - OSSL_ESS_check_signing_certs
    linkageType: ''
    returnType: int
    signature: 'static int ts_check_signing_certs(const PKCS7_SIGNER_INFO *si, const
      STACK_OF(X509) *chain) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:353,1
    - Dst: ts_get_status_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:368,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:375,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:362,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:367,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:376,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:379,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:382,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:387,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:389,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:394,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - response
    argTypes:
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 397
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 397
    functionName: ts_check_status_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - strcat
    - strcpy
    - ts_get_status_text
    - OPENSSL_free
    - ASN1_BIT_STRING_get_bit
    - sk_ASN1_UTF8STRING_num
    - ERR_raise_data
    - OSSL_NELEM
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: 'static int ts_check_status_info(TS_RESP *response) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:409,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - req_oid
    - tst_info
    argTypes:
    - ASN1_OBJECT*
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: ts_check_policy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ts_check_policy(const ASN1_OBJECT *req_oid, const TS_TST_INFO
      *tst_info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:496,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:507,1
    - Dst: ASN1_TYPE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:503,1
    - Dst: ASN1_TYPE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:501,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:508,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:508,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:511,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 4
    argNames:
    - algor_a
    - imprint_a
    - len_a
    - tst_info
    argTypes:
    - X509_ALGOR*
    - unsigned char*
    - unsigned
    - TS_TST_INFO*
    constantsTouched: []
    func_position:
      end: 513
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 513
    functionName: ts_check_imprints
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - ASN1_TYPE_get
    - OBJ_cmp
    - ERR_raise
    - memcmp
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: 'static int ts_check_imprints(X509_ALGOR *algor_a, const unsigned char
      *imprint_a, unsigned len_a, TS_TST_INFO *tst_info) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:95,1
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:102,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:110,1
    - Dst: sk_X509_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:129,1
    - Dst: PKCS7_get0_signers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:124,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:130,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:133,1
    - Dst: ts_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:135,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:142,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:92,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:129,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:132,1
    - Dst: PKCS7_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:139,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:159,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:106,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:116,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:127,1
    - Dst: PKCS7_get_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:115,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:125,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:153,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:158,1
    - Dst: PKCS7_signatureVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:145,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:93,1
    - Dst: PKCS7_get_signer_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:111,1
    - Dst: ts_check_signing_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:147,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:160,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 4
    argNames:
    - token
    - certs
    - store
    - signer_out
    argTypes:
    - PKCS7*
    - STACK_OF(X509)*
    - X509_STORE*
    - X509**
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: TS_RESP_verify_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - PKCS7_get_detached
    - PKCS7_get_signer_info
    - sk_X509_value
    - STACK_OF
    - BIO_free_all
    - sk_X509_pop_free
    - sk_X509_num
    - X509_up_ref
    - sk_PKCS7_SIGNER_INFO_num
    - ts_verify_cert
    - sk_X509_new_reserve
    - X509_add_certs
    - PKCS7_get0_signers
    - PKCS7_dataInit
    - ERR_raise
    - ts_check_signing_certs
    - BIO_read
    - PKCS7_signatureVerify
    - sk_X509_free
    - PKCS7_type_is_signed
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs,
      X509_STORE *store, X509 **signer_out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts_check_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:254,1
    - Dst: int_ts_RESP_verify_token
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - response
    argTypes:
    - TS_VERIFY_CTX*
    - TS_RESP*
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: TS_RESP_verify_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - int_ts_RESP_verify_token
    - ts_check_status_info
    linkageType: ''
    returnType: int
    signature: 'int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_name_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:544,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:555,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:546,1
    - Dst: ts_find_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:548,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:544,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:556,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - tsa_name
    - signer
    argTypes:
    - GENERAL_NAME*
    - X509*
    constantsTouched: []
    func_position:
      end: 561
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 561
    functionName: ts_check_signer_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: []
    functionsReached:
    - X509_name_cmp
    - ts_find_name
    - X509_get_ext_d2i
    - GENERAL_NAMES_free
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int ts_check_signer_name(GENERAL_NAME *tsa_name, X509 *signer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_err.c:83,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_err.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: ossl_err_load_TS_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/ts/ts_err.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sk
    - c
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_compfunc
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: OPENSSL_sk_set_cmp_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_sk_compfunc
    signature: 'OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk, OPENSSL_sk_compfunc
      c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - OPENSSL_sk_compfunc
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: OPENSSL_sk_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_new_reserve
    linkageType: ''
    returnType: OPENSSL_STACK*
    signature: 'OPENSSL_STACK *OPENSSL_sk_new(OPENSSL_sk_compfunc c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:425,1
    - Dst: OPENSSL_sk_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - st
    - func
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_freefunc
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: OPENSSL_sk_pop_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_free
    - func
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_sk_pop_free(OPENSSL_STACK *st, OPENSSL_sk_freefunc func) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:47,1
    - Dst: OPENSSL_sk_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:75,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:67,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - sk
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: OPENSSL_sk_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_free
    - memcpy
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: OPENSSL_STACK*
    signature: 'OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *sk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:433,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: OPENSSL_sk_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_sk_free(OPENSSL_STACK *st) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:195,1
    - Dst: compute_growth
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:207,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:194,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - st
    - n
    - exact
    argTypes:
    - OPENSSL_STACK*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 223
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 223
    functionName: sk_reserve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - compute_growth
    - OPENSSL_realloc
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int sk_reserve(OPENSSL_STACK *st, int n, int exact) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: OPENSSL_sk_unshift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_insert
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: OPENSSL_sk_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_num(const OPENSSL_STACK *st) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:452,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - st
    - i
    - data
    argTypes:
    - OPENSSL_STACK*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: OPENSSL_sk_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - ERR_raise
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:227,1
    - Dst: sk_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:239,1
    - Dst: OPENSSL_sk_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - OPENSSL_sk_compfunc
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: OPENSSL_sk_new_reserve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_free
    - ERR_raise
    - sk_reserve
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OPENSSL_STACK*
    signature: 'OPENSSL_STACK *OPENSSL_sk_new_reserve(OPENSSL_sk_compfunc c, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: OPENSSL_sk_shift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_sk_shift(OPENSSL_STACK *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - st
    - i
    argTypes:
    - OPENSSL_STACK*
    - int
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: OPENSSL_sk_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_sk_value(const OPENSSL_STACK *st, int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: OPENSSL_sk_sort
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_sk_sort(OPENSSL_STACK *st) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:123,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:106,1
    - Dst: copy_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:113,1
    - Dst: free_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:116,1
    - Dst: OPENSSL_sk_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:124,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - sk
    - copy_func
    - free_func
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_copyfunc
    - OPENSSL_sk_freefunc
    constantsTouched: []
    func_position:
      end: 126
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 126
    functionName: OPENSSL_sk_deep_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_free
    - ERR_raise
    - copy_func
    - OPENSSL_zalloc
    - free_func
    - OPENSSL_malloc
    linkageType: ''
    returnType: OPENSSL_STACK*
    signature: 'OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *sk, OPENSSL_sk_copyfunc
      copy_func, OPENSSL_sk_freefunc free_func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - st
    - loc
    argTypes:
    - OPENSSL_STACK*
    - int
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: internal_delete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: ossl_inline*
    signature: 'static ossl_inline void *internal_delete(OPENSSL_STACK *st, int loc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - st
    - loc
    argTypes:
    - OPENSSL_STACK*
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: OPENSSL_sk_delete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: OPENSSL_sk_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - internal_find
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - st
    - data
    - pnum
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: OPENSSL_sk_find_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - internal_find
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_find_all(OPENSSL_STACK *st, const void *data, int *pnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: OPENSSL_sk_new_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_new_reserve
    linkageType: ''
    returnType: OPENSSL_STACK*
    signature: 'OPENSSL_STACK *OPENSSL_sk_new_null(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - st
    - p
    argTypes:
    - OPENSSL_STACK*
    - void*
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: OPENSSL_sk_delete_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:341,1
    - Dst: ossl_bsearch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:348,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 4
    argNames:
    - st
    - data
    - ret_val_options
    - pnum
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 366
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 366
    functionName: internal_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - qsort
    - ossl_bsearch
    linkageType: ''
    returnType: int
    signature: 'static int internal_find(OPENSSL_STACK *st, const void *data, int
      ret_val_options, int *pnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: OPENSSL_sk_find_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - internal_find
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: OPENSSL_sk_push
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - OPENSSL_sk_insert
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:250,1
    - Dst: sk_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - st
    - n
    argTypes:
    - OPENSSL_STACK*
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: OPENSSL_sk_reserve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_reserve
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_reserve(OPENSSL_STACK *st, int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: OPENSSL_sk_pop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void*
    signature: 'void *OPENSSL_sk_pop(OPENSSL_STACK *st) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:262,1
    - Dst: sk_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:266,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - st
    - data
    - loc
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 283
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 283
    functionName: OPENSSL_sk_insert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_reserve
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_insert(OPENSSL_STACK *st, const void *data, int loc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: OPENSSL_sk_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_sk_zero(OPENSSL_STACK *st) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: OPENSSL_sk_is_sorted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - target
    - current
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: compute_growth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/stack/stack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int compute_growth(int target, int current) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_err.c:33,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_err.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: ossl_err_load_COMP_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_err.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - 'no'
    - size
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: zlib_zalloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *zlib_zalloc(void *opaque, unsigned int no, unsigned int
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:159,1
    - Dst: deflateEnd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:160,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: zlib_stateful_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - deflateEnd
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: 'static void zlib_stateful_finish(COMP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - address
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: zlib_zfree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void zlib_zfree(void *opaque, void *address) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: zlib_stateful_expand_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - inflate
    linkageType: ''
    returnType: int
    signature: 'static int zlib_stateful_expand_block(COMP_CTX *ctx, unsigned char
      *out, unsigned int olen, unsigned char *in, unsigned int ilen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: ossl_comp_zlib_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - DSO_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_comp_zlib_cleanup(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:317,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:322,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:324,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:334,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:318,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 338
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 338
    functionName: bio_zlib_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_data
    - OPENSSL_zalloc
    - BIO_set_init
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'static int bio_zlib_new(BIO *bi) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:369,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:375,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:377,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:373,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:379,1
    - Dst: inflateInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:382,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:383,1
    - Dst: zError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:384,1
    - Dst: inflate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:397,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:399,1
    - Dst: zError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:400,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:416,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:412,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 424
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 424
    functionName: bio_zlib_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - zError
    - ERR_raise
    - inflateInit
    - BIO_read
    - BIO_copy_next_retry
    - inflate
    - ERR_raise_data
    - BIO_next
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int bio_zlib_read(BIO *b, char *out, int outl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:502,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:509,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:504,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:516,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:518,1
    - Dst: deflate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:534,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:538,1
    - Dst: zError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:539,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 544
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 544
    functionName: bio_zlib_flush
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - zError
    - deflate
    - BIO_copy_next_retry
    - ERR_raise_data
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int bio_zlib_flush(BIO *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:125,1
    - Dst: inflateInit_
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:135,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:152,1
    - Dst: deflateInit_
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    constantsTouched: []
    func_position:
      end: 154
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 154
    functionName: zlib_stateful_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - inflateInit_
    - deflateInit_
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int zlib_stateful_init(COMP_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: zlib_stateful_compress_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - deflate
    linkageType: ''
    returnType: int
    signature: 'static int zlib_stateful_compress_block(COMP_CTX *ctx, unsigned char
      *out, unsigned int olen, unsigned char *in, unsigned int ilen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSO_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:221,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:226,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:223,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:224,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:225,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:227,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:228,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:229,1
    - Dst: DSO_bind_func
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:230,1
    - Dst: ossl_comp_zlib_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 242
    functionName: (ossl_comp_zlib_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - DSO_load
    - ossl_comp_zlib_cleanup
    - DSO_bind_func
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_comp_zlib_init) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: BIO_f_zlib
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_zlib(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:346,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:350,1
    - Dst: deflateEnd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:354,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:355,1
    - Dst: inflateEnd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:349,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:357,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:358,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 362
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 362
    functionName: bio_zlib_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - BIO_set_data
    - OPENSSL_free
    - inflateEnd
    - BIO_set_init
    - deflateEnd
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int bio_zlib_free(BIO *bi) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:431,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:439,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:441,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:444,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:435,1
    - Dst: deflateInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:449,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:450,1
    - Dst: zError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:451,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:463,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:467,1
    - Dst: zError
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:490,1
    - Dst: deflate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:487,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:489,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 495
    functionName: bio_zlib_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - zError
    - BIO_write
    - ERR_raise
    - deflateInit
    - deflate
    - BIO_copy_next_retry
    - ERR_raise_data
    - BIO_next
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int bio_zlib_write(BIO *b, const char *in, int inl) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:551,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:567,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:585,1
    - Dst: bio_zlib_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:565,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:555,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:591,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:599,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:600,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:601,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:617,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:623,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:627,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 633
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 633
    functionName: bio_zlib_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - bio_zlib_flush
    - OPENSSL_free
    - BIO_copy_next_retry
    - BIO_flush
    - BIO_ctrl
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long bio_zlib_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:637,1
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 642
    functionName: bio_zlib_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long bio_zlib_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: COMP_zlib
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/c_zlib.c
    functionUses: []
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: COMP_METHOD*
    signature: 'COMP_METHOD *COMP_zlib(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: COMP_CTX_get_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: COMP_METHOD*
    signature: 'const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - meth
    argTypes:
    - COMP_METHOD*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: COMP_get_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *COMP_get_name(const COMP_METHOD *meth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: COMP_compress_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
      unsigned char *in, int ilen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c:21,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c:27,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c:22,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - meth
    argTypes:
    - COMP_METHOD*
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: COMP_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: COMP_CTX*
    signature: 'COMP_CTX *COMP_CTX_new(COMP_METHOD *meth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: COMP_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void COMP_CTX_free(COMP_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - meth
    argTypes:
    - COMP_METHOD*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: COMP_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int COMP_get_type(const COMP_METHOD *meth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: COMP_expand_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
      unsigned char *in, int ilen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - comp
    argTypes:
    - COMP_CTX*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: COMP_CTX_get_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/comp/comp_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int COMP_CTX_get_type(const COMP_CTX* comp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:37,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:38,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:43,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:42,1
    - Dst: CAST_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:46,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:49,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:51,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:61,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - CAST_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: CAST_ofb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ofb64.c
    functionUses: []
    functionsReached:
    - n2l
    - CAST_encrypt
    - l2n
    linkageType: ''
    returnType: void
    signature: 'void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, const CAST_KEY *schedule, unsigned char *ivec, int *num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:38,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:47,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:40,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:45,1
    - Dst: CAST_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:42,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:58,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:60,1
    - Dst: CAST_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:62,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:65,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - CAST_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 79
    functionName: CAST_cfb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_cfb64.c
    functionUses: []
    functionsReached:
    - n2l
    - CAST_encrypt
    - l2n
    linkageType: ''
    returnType: void
    signature: 'void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, const CAST_KEY *schedule, unsigned char *ivec, int *num, int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:60,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:74,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:62,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:66,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:64,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:76,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:78,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:80,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:88,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:90,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:102,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:106,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:108,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:94,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:104,1
    - Dst: CAST_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 251
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - CAST_KEY*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 123
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 123
    functionName: CAST_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_skey.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ecb.c:24,1
    - Dst: CAST_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ecb.c:31,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ecb.c:33,1
    - Dst: n2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ecb.c:26,1
    - Dst: CAST_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ecb.c:29,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ecb.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAST_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: CAST_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/cast/c_ecb.c
    functionUses: []
    functionsReached:
    - n2l
    - CAST_encrypt
    - l2n
    - CAST_decrypt
    linkageType: ''
    returnType: void
    signature: 'void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out,
      const CAST_KEY *ks, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_bio_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:19,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - p7
    - in
    - flags
    argTypes:
    - BIO*
    - PKCS7*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: i2d_PKCS7_bio_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:32,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:33,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:47,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:46,1
    - Dst: SMIME_write_ASN1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:45,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - bio
    - p7
    - data
    - flags
    argTypes:
    - BIO*
    - PKCS7*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: SMIME_write_PKCS7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    - ossl_pkcs7_ctx_get0_libctx
    - ossl_pkcs7_get0_ctx
    - SMIME_write_ASN1_ex
    - ASN1_ITEM_rptr
    - ossl_pkcs7_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: 'int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_PKCS7_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - bcont
    argTypes:
    - BIO*
    - BIO**
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: SMIME_read_PKCS7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: []
    functionsReached:
    - SMIME_read_PKCS7_ex
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_ASN1_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:25,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - p7
    - in
    - flags
    argTypes:
    - BIO*
    - PKCS7*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: PEM_write_bio_PKCS7_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - PEM_write_bio_ASN1_stream
    linkageType: ''
    returnType: int
    signature: 'int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_ASN1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:62,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:65,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c:62,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - bio
    - bcont
    - p7
    argTypes:
    - BIO*
    - BIO**
    - PKCS7**
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: SMIME_read_PKCS7_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: []
    functionsReached:
    - ossl_pkcs7_resolve_libctx
    - SMIME_read_ASN1_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *SMIME_read_PKCS7_ex(BIO *bio, BIO **bcont, PKCS7 **p7) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:85,1
    - Dst: PKCS7_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - PKCS7*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: i2d_PKCS7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - PKCS7_it
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: 'int i2d_PKCS7(const PKCS7 *a, unsigned char **out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:106,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:104,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:95,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: PKCS7_new_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - ASN1_item_new_ex
    - PKCS7_free
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS7_new_ex(OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 0
    argNames:
    - PKCS7_SIGNED
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: ASN1_NDEF_SEQUENCE_END(PKCS7_SIGNED)
    signature: 'ASN1_NDEF_SEQUENCE_END(PKCS7_SIGNED) IMPLEMENT_ASN1_FUNCTIONS(PKCS7_SIGNED)
      /* Minor tweak to operation: free up EVP_PKEY */ static int si_cb(int operation,
      ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 0
    argNames:
    - PKCS7_ENVELOPE
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: IMPLEMENT_ASN1_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: ASN1_NDEF_SEQUENCE_END(PKCS7_ENVELOPE)
    signature: 'ASN1_NDEF_SEQUENCE_END(PKCS7_ENVELOPE) IMPLEMENT_ASN1_FUNCTIONS(PKCS7_ENVELOPE)
      /* Minor tweak to operation: free up X509 */ static int ri_cb(int operation,
      ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:76,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:79,1
    - Dst: PKCS7_it
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:76,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - PKCS7**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: d2i_PKCS7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - PKCS7_it
    - ossl_pkcs7_resolve_libctx
    - ASN1_item_d2i_ex
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *d2i_PKCS7(PKCS7 **a, const unsigned char **in, long len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:90,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: PKCS7_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_item_new
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS7_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:116,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:117,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: PKCS7_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: 'void PKCS7_free(PKCS7 *p7) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:41,1
    - Dst: PKCS7_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:45,1
    - Dst: PKCS7_dataFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c:52,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 9
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: pk7_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: []
    functionsReached:
    - PKCS7_dataFinal
    - PKCS7_stream
    - PKCS7_dataInit
    linkageType: ''
    returnType: int
    signature: 'static int pk7_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:224,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:215,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:284,1
    - Dst: pkcs7_bio_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:285,1
    - Dst: PKCS7_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:275,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:297,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:306,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:311,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:313,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:319,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:364,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:376,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:322,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:370,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:298,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:302,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:303,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:304,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:327,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:346,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:357,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:357,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:378,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:361,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:359,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:246,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:285,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:297,1
    - Dst: pkcs7_bio_add_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:288,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:269,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:301,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:309,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:310,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:342,1
    - Dst: pkcs7_encode_rinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:343,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:377,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:228,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:227,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:229,1
    - Dst: PKCS7_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:252,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:260,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:280,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:304,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:325,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:332,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:336,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:351,1
    - Dst: PKCS7_is_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:356,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:341,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:361,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 133
    argCount: 2
    argNames:
    - p7
    - bio
    argTypes:
    - PKCS7*
    - BIO*
    constantsTouched: []
    func_position:
      end: 380
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 380
    functionName: PKCS7_dataInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - PKCS7_is_detached
    - BIO_s_null
    - sk_PKCS7_RECIP_INFO_num
    - EVP_CIPHER_param_to_asn1
    - ERR_set_mark
    - PKCS7_get_octet_string
    - EVP_CIPHER_get_type
    - sk_PKCS7_RECIP_INFO_value
    - BIO_set_mem_eof_return
    - BIO_s_mem
    - EVP_CipherInit_ex
    - BIO_new
    - sk_X509_ALGOR_value
    - STACK_OF
    - BIO_free_all
    - EVP_CIPHER_free
    - sk_X509_ALGOR_num
    - OBJ_nid2obj
    - ASN1_TYPE_new
    - EVP_CIPHER_CTX_rand_key
    - BIO_new_mem_buf
    - EVP_CIPHER_get_iv_length
    - RAND_bytes_ex
    - BIO_get_cipher_ctx
    - OBJ_obj2nid
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_CIPHER_get_key_length
    - OPENSSL_cleanse
    - BIO_f_cipher
    - ossl_pkcs7_ctx_get0_propq
    - pkcs7_encode_rinfo
    - ERR_pop_to_mark
    - ERR_raise
    - EVP_CIPHER_fetch
    - ossl_pkcs7_get0_ctx
    - BIO_push
    - pkcs7_bio_add_digest
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:702,1
    - Dst: PKCS7_add0_attrib_signing_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:703,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:704,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:710,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:711,1
    - Dst: PKCS7_add1_attrib_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:714,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:715,1
    - Dst: PKCS7_SIGNER_INFO_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - si
    - mctx
    argTypes:
    - PKCS7_SIGNER_INFO*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 724
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 724
    functionName: do_pkcs7_signed_attrib
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - PKCS7_get_signed_attribute
    - PKCS7_add0_attrib_signing_time
    - ERR_raise
    - EVP_DigestFinal_ex
    - PKCS7_SIGNER_INFO_sign
    - PKCS7_add1_attrib_digest
    linkageType: ''
    returnType: int
    signature: 'static int do_pkcs7_signed_attrib(PKCS7_SIGNER_INFO *si, EVP_MD_CTX
      *mctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - si
    - nid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 1163
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1163
    functionName: PKCS7_get_signed_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - get_attribute
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *PKCS7_get_signed_attribute(const PKCS7_SIGNER_INFO *si,
      int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:385,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:389,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:389,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ri
    - pcert
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509*
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: pkcs7_cmp_ri
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    - X509_get_issuer_name
    - X509_get0_serialNumber
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_cmp_ri(PKCS7_RECIP_INFO *ri, X509 *pcert) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:733,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:746,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:739,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:752,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:793,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:782,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:803,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:815,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:820,1
    - Dst: PKCS7_find_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:824,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:853,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:895,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:734,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:770,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:780,1
    - Dst: PKCS7_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:800,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:810,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:841,1
    - Dst: do_pkcs7_signed_attrib
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:842,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:868,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:894,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:743,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:750,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:768,1
    - Dst: PKCS7_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:790,1
    - Dst: PKCS7_type_is_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:792,1
    - Dst: PKCS7_type_is_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:802,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:816,1
    - Dst: EVP_SignFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:852,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:854,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:856,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:889,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:859,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:901,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:896,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:848,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:756,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:832,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:847,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:855,1
    - Dst: PKCS7_find_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:865,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:866,1
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:884,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:886,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:870,1
    - Dst: PKCS7_is_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:874,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 126
    argCount: 2
    argNames:
    - p7
    - bio
    argTypes:
    - PKCS7*
    - BIO*
    constantsTouched: []
    func_position:
      end: 903
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 903
    functionName: PKCS7_dataFinal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - PKCS7_is_detached
    - PKCS7_get_octet_string
    - BIO_set_mem_eof_return
    - EVP_SignFinal_ex
    - BIO_get_mem_data
    - OPENSSL_malloc
    - STACK_OF
    - EVP_MD_CTX_new
    - BIO_find_type
    - OPENSSL_free
    - BIO_set_flags
    - sk_PKCS7_SIGNER_INFO_num
    - PKCS7_find_digest
    - PKCS7_type_is_data
    - sk_X509_ATTRIBUTE_num
    - OBJ_obj2nid
    - ossl_pkcs7_ctx_get0_libctx
    - ASN1_OCTET_STRING_free
    - EVP_MD_CTX_copy_ex
    - ASN1_OCTET_STRING_set
    - ossl_pkcs7_ctx_get0_propq
    - ERR_raise
    - EVP_MD_CTX_free
    - ASN1_OCTET_STRING_new
    - do_pkcs7_signed_attrib
    - ASN1_STRING_set0
    - EVP_DigestFinal_ex
    - ossl_pkcs7_get0_ctx
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_dataFinal(PKCS7 *p7, BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - si
    - nid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 1168
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1168
    functionName: PKCS7_get_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - get_attribute
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'ASN1_TYPE *PKCS7_get_attribute(const PKCS7_SIGNER_INFO *si, int nid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1243,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1246,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1249,1
    - Dst: sk_X509_ATTRIBUTE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1248,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1255,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1256,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1257,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1257,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1258,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1259,1
    - Dst: sk_X509_ATTRIBUTE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1262,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1263,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - sk
    - nid
    - atrtype
    - value
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)**
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1273
    functionName: add_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_new_null
    - X509_ATTRIBUTE_create
    - sk_X509_ATTRIBUTE_num
    - OBJ_obj2nid
    - sk_X509_ATTRIBUTE_push
    - X509_ATTRIBUTE_free
    - X509_ATTRIBUTE_get0_object
    - sk_X509_ATTRIBUTE_value
    - sk_X509_ATTRIBUTE_set
    linkageType: ''
    returnType: int
    signature: 'static int add_attribute(STACK_OF(X509_ATTRIBUTE) **sk, int nid, int
      atrtype, void *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1174,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1176,1
    - Dst: X509at_get_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sk
    - nid
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - int
    constantsTouched: []
    func_position:
      end: 1177
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1177
    functionName: get_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - X509_ATTRIBUTE_get0_type
    - X509at_get_attr_by_NID
    - X509at_get_attr
    linkageType: ''
    returnType: ASN1_TYPE*
    signature: 'static ASN1_TYPE *get_attribute(const STACK_OF(X509_ATTRIBUTE) *sk,
      int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - p7si
    - nid
    - atrtype
    - value
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1229
    functionName: PKCS7_add_signed_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - add_attribute
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int
      atrtype, void *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - sk
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1185
    functionName: PKCS7_digest_from_attributes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - p7si
    - nid
    - atrtype
    - value
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1235
    functionName: PKCS7_add_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - add_attribute
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype,
      void *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:48,1
    - Dst: PKCS7_type_is_other
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: PKCS7_get_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - PKCS7_type_is_data
    - PKCS7_type_is_other
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'ASN1_OCTET_STRING *PKCS7_get_octet_string(PKCS7 *p7) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1035,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1062,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1073,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1079,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1083,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1102,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1110,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1129,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1108,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1022,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1025,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1031,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1069,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1060,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1051,1
    - Dst: PKCS7_digest_from_attributes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1081,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1088,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1093,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1094,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1136,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1027,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1026,1
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1035,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1040,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1046,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1049,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1054,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1105,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1099,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1029,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1036,1
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1045,1
    - Dst: EVP_MD_get_pkey_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1060,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1087,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1094,1
    - Dst: EVP_VerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1101,1
    - Dst: EVP_VerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1117,1
    - Dst: EVP_VerifyFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1127,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1135,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 101
    argCount: 4
    argNames:
    - bio
    - p7
    - si
    - x509
    argTypes:
    - BIO*
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    - X509*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1138
    functionName: PKCS7_signatureVerify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - memcmp
    - X509_get0_pubkey
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - STACK_OF
    - BIO_get_md_ctx
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - BIO_find_type
    - OPENSSL_free
    - BIO_next
    - EVP_MD_CTX_get0_md
    - EVP_MD_free
    - PKCS7_digest_from_attributes
    - sk_X509_ATTRIBUTE_num
    - OBJ_obj2nid
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_MD_CTX_get_type
    - EVP_VerifyInit_ex
    - EVP_MD_CTX_copy_ex
    - EVP_MD_get_pkey_type
    - ERR_clear_last_mark
    - EVP_MD_fetch
    - ossl_pkcs7_ctx_get0_propq
    - EVP_VerifyFinal_ex
    - EVP_get_digestbynid
    - ERR_raise
    - ERR_pop_to_mark
    - EVP_MD_CTX_free
    - ASN1_item_i2d
    - EVP_DigestFinal_ex
    - PKCS7_type_is_signed
    - ossl_pkcs7_get0_ctx
    - EVP_VerifyUpdate
    - PKCS7_type_is_signedAndEnveloped
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,
      X509 *x509) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:64,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:72,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:77,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:95,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:65,1
    - Dst: BIO_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:86,1
    - Dst: BIO_f_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:64,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:69,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:72,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:73,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:88,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:91,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:94,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:71,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:84,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:81,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:87,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - pbio
    - alg
    - ctx
    argTypes:
    - BIO**
    - X509_ALGOR*
    - PKCS7_CTX*
    constantsTouched: []
    func_position:
      end: 105
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 105
    functionName: pkcs7_bio_add_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - BIO_free
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_get_digestbyname
    - ERR_set_mark
    - BIO_f_md
    - BIO_push
    - EVP_MD_free
    - ERR_clear_last_mark
    - BIO_new
    - EVP_MD_fetch
    - OBJ_obj2txt
    - ossl_pkcs7_ctx_get0_propq
    - BIO_set_md
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_bio_add_digest(BIO **pbio, X509_ALGOR *alg, const
      PKCS7_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1146,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1154,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - p7
    - idx
    argTypes:
    - PKCS7*
    - int
    constantsTouched: []
    func_position:
      end: 1158
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1158
    functionName: PKCS7_get_issuer_and_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_RECIP_INFO_num
    - sk_PKCS7_RECIP_INFO_value
    - OBJ_obj2nid
    linkageType: ''
    returnType: PKCS7_ISSUER_AND_SERIAL*
    signature: 'PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int
      idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:117,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:121,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:126,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:121,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:122,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:129,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:135,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:139,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:142,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:149,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - ri
    - key
    - keylen
    argTypes:
    - PKCS7_RECIP_INFO*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 152
    functionName: pkcs7_encode_rinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_encrypt_init
    - X509_get0_pubkey
    - ossl_pkcs7_ctx_get0_libctx
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - ASN1_STRING_set0
    - EVP_PKEY_CTX_free
    - EVP_PKEY_encrypt
    - OPENSSL_malloc
    - ossl_pkcs7_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_encode_rinfo(PKCS7_RECIP_INFO *ri, unsigned char
      *key, int keylen) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:406,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:469,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:483,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:493,1
    - Dst: BIO_f_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:507,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:622,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:595,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:530,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:462,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:478,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:499,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:543,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:624,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:458,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:487,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:584,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:643,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:407,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:421,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:423,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:508,1
    - Dst: BIO_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:528,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:671,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:417,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:537,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:655,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:591,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:652,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:466,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:479,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:523,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:526,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:533,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:605,1
    - Dst: pkcs7_cmp_ri
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:561,1
    - Dst: PKCS7_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:441,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:455,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:507,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:637,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:667,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:672,1
    - Dst: PKCS7_is_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:442,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:506,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:529,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:566,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:579,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:596,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:476,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:514,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:601,1
    - Dst: pkcs7_decrypt_rinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:581,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:668,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:669,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:578,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:652,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:505,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:631,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:635,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:660,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:422,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:443,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:608,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:465,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:512,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:598,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:543,1
    - Dst: pkcs7_decrypt_rinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:589,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:650,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:666,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:670,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:582,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:560,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:616,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:662,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:632,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:457,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:515,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:519,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:522,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:544,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:559,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:430,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:486,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 212
    argCount: 4
    argNames:
    - p7
    - pkey
    - in_bio
    - pcert
    argTypes:
    - PKCS7*
    - EVP_PKEY*
    - BIO*
    - X509*
    constantsTouched: []
    func_position:
      end: 674
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 674
    functionName: PKCS7_dataDecode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - PKCS7_is_detached
    - EVP_get_cipherbyname
    - sk_PKCS7_RECIP_INFO_num
    - ERR_set_mark
    - PKCS7_get_octet_string
    - BIO_set_mem_eof_return
    - BIO_f_md
    - sk_PKCS7_RECIP_INFO_value
    - BIO_s_mem
    - pkcs7_decrypt_rinfo
    - EVP_CipherInit_ex
    - OPENSSL_clear_free
    - BIO_new
    - sk_X509_ALGOR_value
    - EVP_CIPHER_CTX_get_key_length
    - OPENSSL_malloc
    - STACK_OF
    - BIO_free_all
    - EVP_CIPHER_free
    - sk_X509_ALGOR_num
    - EVP_CIPHER_asn1_to_param
    - EVP_CIPHER_CTX_rand_key
    - EVP_MD_free
    - BIO_new_mem_buf
    - BIO_get_cipher_ctx
    - ERR_clear_error
    - OBJ_obj2nid
    - ossl_pkcs7_ctx_get0_libctx
    - pkcs7_cmp_ri
    - EVP_CIPHER_get_key_length
    - BIO_f_cipher
    - EVP_CIPHER_CTX_set_key_length
    - ERR_clear_last_mark
    - EVP_MD_fetch
    - ossl_pkcs7_ctx_get0_propq
    - BIO_set_md
    - ERR_pop_to_mark
    - ERR_raise
    - EVP_get_digestbyname
    - EVP_CIPHER_fetch
    - ossl_pkcs7_get0_ctx
    - BIO_push
    - OBJ_obj2txt
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509
      *pcert) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:915,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:919,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:925,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:921,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:925,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:926,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:927,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:931,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:932,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:935,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:955,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:947,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:937,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:954,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:949,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:941,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:944,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:939,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 33
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 957
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 957
    functionName: PKCS7_SIGNER_INFO_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_pkcs7_ctx_get0_libctx
    - OPENSSL_free
    - EVP_MD_get0_name
    - EVP_DigestSignUpdate
    - ASN1_item_i2d
    - EVP_DigestSignFinal
    - ASN1_STRING_set0
    - EVP_get_digestbyobj
    - ASN1_ITEM_rptr
    - OPENSSL_malloc
    - ossl_pkcs7_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1192,1
    - Dst: sk_X509_ATTRIBUTE_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1193,1
    - Dst: X509_ATTRIBUTE_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1198,1
    - Dst: sk_X509_ATTRIBUTE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1197,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1196,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - p7si
    - sk
    argTypes:
    - PKCS7_SIGNER_INFO*
    - STACK_OF(X509_ATTRIBUTE)*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1204
    functionName: PKCS7_set_signed_attributes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_pop_free
    - sk_X509_ATTRIBUTE_num
    - sk_X509_ATTRIBUTE_dup
    - X509_ATTRIBUTE_dup
    - sk_X509_ATTRIBUTE_value
    - sk_X509_ATTRIBUTE_set
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE)
      *sk) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:27,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 44
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 44
    functionName: PKCS7_type_is_other
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_type_is_other(PKCS7 *p7) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:164,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:172,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:164,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:165,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:169,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:179,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:188,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:194,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:199,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:201,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 33
    argCount: 5
    argNames:
    - pek
    - peklen
    - ri
    - pkey
    - fixlen
    argTypes:
    - unsigned char**
    - int*
    - PKCS7_RECIP_INFO*
    - EVP_PKEY*
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 204
    functionName: pkcs7_decrypt_rinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_decrypt
    - ossl_pkcs7_ctx_get0_libctx
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - ossl_pkcs7_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_decrypt_rinfo(unsigned char **pek, int *peklen, PKCS7_RECIP_INFO
      *ri, EVP_PKEY *pkey, size_t fixlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:679,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:686,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:684,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:681,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:689,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:691,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pmd
    - bio
    - nid
    argTypes:
    - EVP_MD_CTX**
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 694
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 694
    functionName: PKCS7_find_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - BIO_get_md_ctx
    - ERR_raise
    - BIO_find_type
    - EVP_MD_CTX_get_type
    - BIO_next
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *PKCS7_find_digest(EVP_MD_CTX **pmd, BIO *bio, int nid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:964,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:968,1
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:977,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:979,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:973,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:982,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:988,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:992,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:997,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:998,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1001,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1002,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1004,1
    - Dst: PKCS7_signatureVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1008,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 5
    argNames:
    - cert_store
    - ctx
    - bio
    - p7
    - si
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX*
    - BIO*
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 1011
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 1011
    functionName: PKCS7_dataVerify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_set_purpose
    - ERR_raise
    - X509_STORE_CTX_init
    - X509_verify_cert
    - PKCS7_signatureVerify
    - PKCS7_type_is_signed
    - X509_find_by_issuer_and_serial
    - PKCS7_type_is_signedAndEnveloped
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx,
      BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1211,1
    - Dst: sk_X509_ATTRIBUTE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1216,1
    - Dst: sk_X509_ATTRIBUTE_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1212,1
    - Dst: X509_ATTRIBUTE_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1217,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1215,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c:1217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - p7si
    - sk
    argTypes:
    - PKCS7_SIGNER_INFO*
    - STACK_OF(X509_ATTRIBUTE)*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1223
    functionName: PKCS7_set_attributes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_pop_free
    - sk_X509_ATTRIBUTE_num
    - sk_X509_ATTRIBUTE_dup
    - X509_ATTRIBUTE_dup
    - sk_X509_ATTRIBUTE_value
    - sk_X509_ATTRIBUTE_set
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE)
      *sk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:91,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:95,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - si
    - coid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: PKCS7_add_attrib_content_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: []
    functionsReached:
    - PKCS7_get_signed_attribute
    - OBJ_nid2obj
    - PKCS7_add_signed_attribute
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT
      *coid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:58,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:63,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:65,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:59,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:62,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:68,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:71,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:83,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:84,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:85,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - sk
    - nid
    - arg
    argTypes:
    - STACK_OF(X509_ALGOR)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: PKCS7_simple_smimecap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - ERR_raise
    - sk_X509_ALGOR_push
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - ASN1_INTEGER_set
    - ASN1_TYPE_new
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:24,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:28,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:30,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:29,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:25,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - si
    - cap
    argTypes:
    - PKCS7_SIGNER_INFO*
    - STACK_OF(X509_ALGOR)*
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: PKCS7_add_attrib_smimecap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_STRING_new
    - ASN1_item_i2d
    - ASN1_STRING_free
    - ASN1_ITEM_rptr
    - PKCS7_add_signed_attribute
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, STACK_OF(X509_ALGOR)
      *cap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:103,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:109,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - si
    - t
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: PKCS7_add0_attrib_signing_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: []
    functionsReached:
    - X509_gmtime_adj
    - ERR_raise
    - PKCS7_add_signed_attribute
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME
      *t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:119,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:123,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:122,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - si
    - md
    - mdlen
    argTypes:
    - PKCS7_SIGNER_INFO*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: PKCS7_add1_attrib_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - PKCS7_add_signed_attribute
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned
      char *md, int mdlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:43,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:48,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: PKCS7_get_smimecap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: []
    functionsReached:
    - ASN1_item_d2i
    - PKCS7_get_signed_attribute
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: STACK_OF(X509_ALGOR)*
    signature: 'STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_cipherbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:104,1
    - Dst: PKCS7_simple_smimecap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - sk
    - nid
    - arg
    argTypes:
    - STACK_OF(X509_ALGOR)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: add_cipher_smcap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - EVP_get_cipherbynid
    - PKCS7_simple_smimecap
    linkageType: ''
    returnType: int
    signature: 'static int add_cipher_smcap(STACK_OF(X509_ALGOR) *sk, int nid, int
      arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF(X509)*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: PKCS7_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - PKCS7_sign_ex
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
      BIO *data, int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:188,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:193,1
    - Dst: PKCS7_get_signer_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:191,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:196,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:192,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:198,1
    - Dst: PKCS7_digest_from_attributes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:199,1
    - Dst: PKCS7_add1_attrib_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - p7
    - si
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 210
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 210
    functionName: pkcs7_copy_existing_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - OBJ_cmp
    - PKCS7_digest_from_attributes
    - ERR_raise
    - sk_X509_ATTRIBUTE_num
    - PKCS7_get_signer_info
    - sk_PKCS7_SIGNER_INFO_num
    - PKCS7_add1_attrib_digest
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_copy_existing_digest(PKCS7 *p7, PKCS7_SIGNER_INFO
      *si) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:269,1
    - Dst: PKCS7_get0_signers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:263,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:270,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:268,1
    - Dst: BIO_method_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:309,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:312,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:315,1
    - Dst: PKCS7_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:321,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:325,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:334,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:343,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:348,1
    - Dst: PKCS7_signatureVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:360,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:374,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:377,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:352,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:217,1
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:231,1
    - Dst: PKCS7_get_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:237,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:238,1
    - Dst: PKCS7_get_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:250,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:259,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:275,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:285,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:313,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:370,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:258,1
    - Dst: X509_STORE_CTX_set_default
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:282,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:292,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:294,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:296,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:325,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:339,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:329,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:362,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:358,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:349,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:335,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:359,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:376,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:227,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:232,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:251,1
    - Dst: PKCS7_get_signer_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:256,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:274,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:279,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:284,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:289,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:290,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:326,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:357,1
    - Dst: SMIME_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:347,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:371,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 140
    argCount: 6
    argNames:
    - p7
    - certs
    - store
    - indata
    - out
    - flags
    argTypes:
    - PKCS7*
    - STACK_OF(X509)*
    - X509_STORE*
    - BIO*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 379
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 379
    functionName: PKCS7_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - BIO_free
    - PKCS7_get_detached
    - PKCS7_get_signer_info
    - BIO_set_mem_eof_return
    - BIO_s_mem
    - X509_STORE_CTX_set_default
    - SMIME_text
    - sk_X509_value
    - X509_STORE_CTX_get_error
    - BIO_get_mem_data
    - BIO_new
    - STACK_OF
    - OPENSSL_malloc
    - BIO_write
    - BIO_free_all
    - X509_STORE_CTX_set0_crls
    - sk_X509_num
    - X509_verify_cert
    - OPENSSL_free
    - X509_verify_cert_error_string
    - X509_STORE_CTX_free
    - sk_PKCS7_SIGNER_INFO_num
    - ERR_raise_data
    - BIO_new_mem_buf
    - BIO_method_type
    - PKCS7_get0_signers
    - ossl_pkcs7_ctx_get0_libctx
    - BIO_pop
    - ossl_pkcs7_ctx_get0_propq
    - PKCS7_dataInit
    - ERR_raise
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new_ex
    - BIO_read
    - PKCS7_signatureVerify
    - sk_X509_free
    - PKCS7_type_is_signed
    - ossl_pkcs7_get0_ctx
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
      BIO *indata, BIO *out, int flags) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:453,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:454,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:461,1
    - Dst: PKCS7_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:460,1
    - Dst: PKCS7_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:458,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:465,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:466,1
    - Dst: PKCS7_add_recipient
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:467,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:468,1
    - Dst: PKCS7_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:476,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:482,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:481,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 6
    argNames:
    - certs
    - in
    - cipher
    - flags
    - libctx
    - propq
    argTypes:
    - STACK_OF(X509)*
    - BIO*
    - EVP_CIPHER*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 485
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 485
    functionName: PKCS7_encrypt_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - PKCS7_final
    - BIO_free_all
    - ERR_raise
    - sk_X509_num
    - PKCS7_add_recipient
    - PKCS7_free
    - PKCS7_set_type
    - PKCS7_new_ex
    - PKCS7_set_cipher
    - sk_X509_value
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS7_encrypt_ex(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER
      *cipher, int flags, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:29,1
    - Dst: PKCS7_content_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:30,1
    - Dst: PKCS7_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:34,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:41,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:46,1
    - Dst: PKCS7_add_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:47,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:47,1
    - Dst: PKCS7_set_detached
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:53,1
    - Dst: PKCS7_final
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:58,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:62,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 7
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    - libctx
    - propq
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF(X509)*
    - BIO*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 64
    functionName: PKCS7_sign_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - PKCS7_final
    - ERR_raise
    - PKCS7_content_new
    - sk_X509_num
    - PKCS7_free
    - PKCS7_set_detached
    - PKCS7_set_type
    - PKCS7_new_ex
    - PKCS7_sign_add_signer
    - sk_X509_value
    - PKCS7_add_certificate
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS7_sign_ex(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509)
      *certs, BIO *data, int flags, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_dataInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:78,1
    - Dst: PKCS7_dataFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:88,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:86,1
    - Dst: SMIME_crlf_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:79,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:89,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - p7
    - data
    - flags
    argTypes:
    - PKCS7*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: PKCS7_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - ERR_raise
    - BIO_flush
    - PKCS7_dataFinal
    - SMIME_crlf_copy
    - PKCS7_dataInit
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_final(PKCS7 *p7, BIO *data, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:111,1
    - Dst: PKCS7_simple_smimecap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - sk
    - nid
    - arg
    argTypes:
    - STACK_OF(X509_ALGOR)*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: add_digest_smcap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbynid
    - PKCS7_simple_smimecap
    linkageType: ''
    returnType: int
    signature: 'static int add_digest_smcap(STACK_OF(X509_ALGOR) *sk, int nid, int
      arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:385,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:392,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:397,1
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:396,1
    - Dst: PKCS7_get_signer_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:403,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:405,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:406,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:410,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:411,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:415,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:421,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:430,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:435,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:416,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:434,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:429,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - p7
    - certs
    - flags
    argTypes:
    - PKCS7*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 440
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 440
    functionName: PKCS7_get0_signers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - ERR_raise
    - PKCS7_get_signer_info
    - sk_X509_free
    - sk_PKCS7_SIGNER_INFO_num
    - sk_X509_push
    - sk_X509_new_null
    - PKCS7_type_is_signed
    - X509_find_by_issuer_and_serial
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs,
      int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - certs
    - in
    - cipher
    - flags
    argTypes:
    - STACK_OF(X509)*
    - BIO*
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: PKCS7_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - PKCS7_encrypt_ex
    linkageType: ''
    returnType: PKCS7*
    signature: 'PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER
      *cipher, int flags) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_dataDecode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:516,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:524,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:526,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:540,1
    - Dst: BIO_method_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:536,1
    - Dst: BIO_method_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:501,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:506,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:511,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:517,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:525,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:532,1
    - Dst: SMIME_text
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:535,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:543,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:558,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:510,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:524,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:531,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:529,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:548,1
    - Dst: BIO_get_cipher_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:552,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:564,1
    - Dst: PKCS7_type_is_enveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:505,1
    - Dst: BIO_get_cipher_status
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:537,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:530,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:544,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:563,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 5
    argNames:
    - p7
    - pkey
    - cert
    - data
    - flags
    argTypes:
    - PKCS7*
    - EVP_PKEY*
    - X509*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 566
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 566
    functionName: PKCS7_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - BIO_f_buffer
    - BIO_free_all
    - ERR_raise
    - BIO_write
    - BIO_method_type
    - BIO_read
    - OPENSSL_free
    - X509_check_private_key
    - PKCS7_dataDecode
    - OPENSSL_malloc
    - BIO_push
    - SMIME_text
    - BIO_new
    - BIO_get_cipher_status
    - PKCS7_type_is_enveloped
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data,
      int flags) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ALGOR_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:145,1
    - Dst: PKCS7_add_attrib_smimecap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:161,1
    - Dst: pkcs7_copy_existing_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:167,1
    - Dst: PKCS7_add_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:146,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:153,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:154,1
    - Dst: add_digest_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:152,1
    - Dst: add_digest_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:151,1
    - Dst: add_digest_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:150,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:124,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:134,1
    - Dst: PKCS7_add_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:136,1
    - Dst: PKCS7_add_attrib_content_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:141,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:149,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:163,1
    - Dst: PKCS7_SIGNER_INFO_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:170,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:121,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:123,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:155,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:157,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:156,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:158,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:159,1
    - Dst: add_cipher_smcap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c:160,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 83
    argCount: 5
    argNames:
    - p7
    - signcert
    - pkey
    - md
    - flags
    argTypes:
    - PKCS7*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 178
    functionName: PKCS7_sign_add_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: []
    functionsReached:
    - PKCS7_add_attrib_content_type
    - ERR_raise
    - sk_X509_ALGOR_pop_free
    - PKCS7_add_certificate
    - pkcs7_copy_existing_digest
    - X509_check_private_key
    - sk_X509_ALGOR_new_null
    - PKCS7_add_signature
    - add_digest_smcap
    - add_cipher_smcap
    - ossl_pkcs7_get0_ctx
    - PKCS7_add_attrib_smimecap
    - PKCS7_SIGNER_INFO_sign
    - STACK_OF
    linkageType: ''
    returnType: PKCS7_SIGNER_INFO*
    signature: 'PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert,
      EVP_PKEY *pkey, const EVP_MD *md, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_SIGNER_INFO_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:330,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:332,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: pkcs7_rsa_sign_verify_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - PKCS7_SIGNER_INFO_get0_algs
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_rsa_sign_verify_setup(PKCS7_SIGNER_INFO *si, int
      verify) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:393,1
    - Dst: PKCS7_SIGNER_INFO_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:404,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:395,1
    - Dst: PKCS7_SIGNER_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:402,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:397,1
    - Dst: PKCS7_add_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:406,1
    - Dst: PKCS7_SIGNER_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:410,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 4
    argNames:
    - p7
    - x509
    - pkey
    - dgst
    argTypes:
    - PKCS7*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 412
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 412
    functionName: PKCS7_add_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbynid
    - ERR_raise
    - PKCS7_SIGNER_INFO_free
    - PKCS7_add_signer
    - PKCS7_SIGNER_INFO_set
    - EVP_PKEY_get_default_digest_nid
    - PKCS7_SIGNER_INFO_new
    linkageType: ''
    returnType: PKCS7_SIGNER_INFO*
    signature: 'PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY
      *pkey, const EVP_MD *dgst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PKCS7_CTX*
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: ossl_pkcs7_ctx_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_pkcs7_ctx_get0_libctx(const PKCS7_CTX *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:343,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:355,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:346,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:353,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:345,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:355,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:359,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:364,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:364,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:364,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:367,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:367,1
    - Dst: pkcs7_rsa_sign_verify_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:370,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:381,1
    - Dst: pkcs7_ecdsa_or_dsa_sign_verify_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:368,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:369,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:377,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 4
    argNames:
    - p7i
    - x509
    - pkey
    - dgst
    argTypes:
    - PKCS7_SIGNER_INFO*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 384
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 384
    functionName: PKCS7_SIGNER_INFO_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_get0_serialNumber
    - X509_NAME_set
    - X509_get_issuer_name
    - X509_ALGOR_set0
    - OBJ_nid2obj
    - EVP_MD_get_type
    - ASN1_INTEGER_set
    - EVP_PKEY_is_a
    - ASN1_INTEGER_dup
    - pkcs7_rsa_sign_verify_setup
    - EVP_PKEY_up_ref
    - ASN1_INTEGER_free
    - pkcs7_ecdsa_or_dsa_sign_verify_setup
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY
      *pkey, const EVP_MD *dgst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:418,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: pkcs7_get_signer_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - PKCS7_type_is_signedAndEnveloped
    - PKCS7_type_is_signed
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'static STACK_OF(X509) *pkcs7_get_signer_certs(const PKCS7 *p7) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PKCS7_CTX*
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: ossl_pkcs7_ctx_get0_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_pkcs7_ctx_get0_propq(const PKCS7_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:443,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:445,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:444,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:446,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:447,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:448,1
    - Dst: pkcs7_get_recipient_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:453,1
    - Dst: PKCS7_get_signer_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:454,1
    - Dst: pkcs7_get_signer_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:455,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:457,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:458,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:463,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:467,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:460,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:458,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:461,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:466,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 472
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 472
    functionName: ossl_pkcs7_resolve_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - pkcs7_get_signer_certs
    - sk_X509_num
    - ossl_pkcs7_ctx_get0_libctx
    - sk_PKCS7_RECIP_INFO_num
    - PKCS7_get_signer_info
    - ossl_x509_set0_libctx
    - sk_PKCS7_SIGNER_INFO_num
    - ossl_pkcs7_ctx_get0_propq
    - sk_PKCS7_RECIP_INFO_value
    - ossl_pkcs7_get0_ctx
    - sk_X509_value
    - pkcs7_get_recipient_info
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: 'void ossl_pkcs7_resolve_libctx(PKCS7 *p7) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:521,1
    - Dst: EVP_MD_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:527,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:522,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:523,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:527,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - p7
    - md
    argTypes:
    - PKCS7*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 533
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 533
    functionName: PKCS7_set_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - PKCS7_type_is_digest
    - ERR_raise
    - EVP_MD_nid
    - OBJ_nid2obj
    - ASN1_TYPE_new
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_RECIP_INFO_get0_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:609,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:611,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - PKCS7_RECIP_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: pkcs7_rsa_encrypt_decrypt_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_set0
    - OBJ_nid2obj
    - PKCS7_RECIP_INFO_get0_alg
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_rsa_encrypt_decrypt_setup(PKCS7_RECIP_INFO *ri, int
      decrypt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:715,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:731,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:723,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - boundary
    - p7
    argTypes:
    - unsigned char***
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 752
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 752
    functionName: PKCS7_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - ASN1_OCTET_STRING_new
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:539,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:541,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: PKCS7_get_signer_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - PKCS7_type_is_signedAndEnveloped
    - PKCS7_type_is_signed
    linkageType: ''
    returnType: STACK_OF(PKCS7_SIGNER_INFO)*
    signature: 'STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:620,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:626,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:623,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:628,1
    - Dst: X509_NAME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:622,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:628,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:631,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:635,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:637,1
    - Dst: pkcs7_rsa_encrypt_decrypt_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:638,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:656,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:660,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:644,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:651,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 2
    argNames:
    - p7i
    - x509
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509*
    constantsTouched: []
    func_position:
      end: 667
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 667
    functionName: PKCS7_RECIP_INFO_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - pkcs7_rsa_encrypt_decrypt_setup
    - X509_get0_serialNumber
    - X509_get0_pubkey
    - X509_up_ref
    - X509_NAME_set
    - X509_get_issuer_name
    - EVP_PKEY_is_a
    - ASN1_INTEGER_set
    - ASN1_INTEGER_dup
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:429,1
    - Dst: PKCS7_type_is_enveloped
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: pkcs7_get_recipient_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - PKCS7_type_is_signedAndEnveloped
    - PKCS7_type_is_enveloped
    linkageType: ''
    returnType: STACK_OF(PKCS7_RECIP_INFO)*
    signature: 'static STACK_OF(PKCS7_RECIP_INFO) *pkcs7_get_recipient_info(const
      PKCS7 *p7) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:69,1
    - Dst: PKCS7_set_content
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:73,1
    - Dst: PKCS7_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:71,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - p7
    - type
    argTypes:
    - PKCS7*
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: PKCS7_content_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - PKCS7_set_content
    - PKCS7_new
    - PKCS7_free
    - PKCS7_set_type
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_content_new(PKCS7 *p7, int type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:206,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:213,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:195,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:193,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:214,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:215,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:223,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:224,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:225,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:239,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:238,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:234,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:233,1
    - Dst: sk_PKCS7_SIGNER_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:245,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:236,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:244,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:226,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - p7
    - psi
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 248
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 248
    functionName: PKCS7_add_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - OBJ_cmp
    - X509_ALGOR_free
    - ERR_raise
    - sk_X509_ALGOR_num
    - OBJ_obj2nid
    - sk_X509_ALGOR_push
    - OBJ_nid2obj
    - sk_PKCS7_SIGNER_INFO_push
    - ASN1_TYPE_new
    - ossl_pkcs7_get0_ctx
    - X509_ALGOR_new
    - sk_X509_ALGOR_value
    - OBJ_dup
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:276,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:292,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:296,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:285,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:290,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:297,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - p7
    - crl
    argTypes:
    - PKCS7*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 302
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 302
    functionName: PKCS7_add_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - X509_CRL_free
    - X509_CRL_up_ref
    - sk_X509_CRL_push
    - sk_X509_CRL_new_null
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: ossl_pkcs7_get0_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PKCS7_CTX*
    signature: 'const PKCS7_CTX *ossl_pkcs7_get0_ctx(const PKCS7 *p7) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:671,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - p7
    - si
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: PKCS7_cert_from_signer_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:24,1
    - Dst: PKCS7_type_is_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:31,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:52,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:59,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - p7
    - cmd
    - larg
    - parg
    argTypes:
    - PKCS7*
    - int
    - long
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 63
    functionName: PKCS7_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - PKCS7_type_is_data
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: long
    signature: 'long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:101,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:89,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:93,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 2
    argNames:
    - p7
    - p7_data
    argTypes:
    - PKCS7*
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: PKCS7_set_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - PKCS7_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:255,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:268,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - p7
    - x509
    argTypes:
    - PKCS7*
    - X509*
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: PKCS7_add_certificate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - ossl_x509_add_cert_new
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_certificate(PKCS7 *p7, X509 *x509) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_SIGNER_INFO_get0_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:312,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:318,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:315,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:318,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:320,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 323
    functionName: pkcs7_ecdsa_or_dsa_sign_verify_setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - OBJ_find_sigid_by_algs
    - OBJ_obj2nid
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - PKCS7_SIGNER_INFO_get0_algs
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_ecdsa_or_dsa_sign_verify_setup(PKCS7_SIGNER_INFO
      *si, int verify) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p7
    - ctx
    argTypes:
    - PKCS7*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: ossl_pkcs7_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_pkcs7_set0_libctx(PKCS7 *p7, OSSL_LIB_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:685,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:701,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:694,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:699,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:706,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - p7
    - cipher
    argTypes:
    - PKCS7*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 708
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 708
    functionName: PKCS7_set_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_type
    - ERR_raise
    - ossl_pkcs7_get0_ctx
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:116,1
    - Dst: PKCS7_SIGNED_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:121,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:123,1
    - Dst: PKCS7_SIGNED_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:124,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:131,1
    - Dst: PKCS7_SIGN_ENVELOPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:136,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:139,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:142,1
    - Dst: PKCS7_ENVELOPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:146,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:149,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:160,1
    - Dst: PKCS7_DIGEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:165,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:158,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:151,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:168,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:172,1
    - Dst: PKCS7_ENCRYPT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:155,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 48
    argCount: 2
    argNames:
    - p7
    - type
    argTypes:
    - PKCS7*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 178
    functionName: PKCS7_set_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - PKCS7_SIGN_ENVELOPE_new
    - PKCS7_ENVELOPE_new
    - OBJ_nid2obj
    - PKCS7_DIGEST_new
    - ASN1_INTEGER_set
    - PKCS7_SIGNED_new
    - PKCS7_SIGNED_free
    - PKCS7_ENCRYPT_new
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_set_type(PKCS7 *p7, int type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:487,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:493,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - p7
    - propq
    argTypes:
    - PKCS7*
    - char*
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: ossl_pkcs7_set1_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_pkcs7_set1_propq(PKCS7 *p7, const char *propq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 4
    argNames:
    - si
    - pk
    - pdig
    - psig
    argTypes:
    - PKCS7_SIGNER_INFO*
    - EVP_PKEY**
    - X509_ALGOR**
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 556
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 556
    functionName: PKCS7_SIGNER_INFO_get0_algs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk,
      X509_ALGOR **pdig, X509_ALGOR **psig) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_RECIP_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:568,1
    - Dst: PKCS7_RECIP_INFO_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:570,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:574,1
    - Dst: PKCS7_add_recipient_info
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:572,1
    - Dst: PKCS7_RECIP_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:577,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - p7
    - x509
    argTypes:
    - PKCS7*
    - X509*
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: PKCS7_add_recipient
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - PKCS7_add_recipient_info
    - PKCS7_RECIP_INFO_set
    - PKCS7_RECIP_INFO_new
    - ossl_pkcs7_get0_ctx
    - PKCS7_RECIP_INFO_free
    linkageType: ''
    returnType: PKCS7_RECIP_INFO*
    signature: 'PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - p7
    - type
    - other
    argTypes:
    - PKCS7*
    - int
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: PKCS7_set0_type_other
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs7_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:502,1
    - Dst: ossl_pkcs7_set1_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:503,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - PKCS7*
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: ossl_pkcs7_ctx_propagate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - ri
    - penc
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509_ALGOR**
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: PKCS7_RECIP_INFO_get0_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:584,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:595,1
    - Dst: sk_PKCS7_RECIP_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:599,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - p7
    - ri
    argTypes:
    - PKCS7*
    - PKCS7_RECIP_INFO*
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: PKCS7_add_recipient_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_RECIP_INFO_push
    - ERR_raise
    - OBJ_obj2nid
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_NDEF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/bio_pk7.c:22,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/bio_pk7.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - out
    - p7
    argTypes:
    - BIO*
    - PKCS7*
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: BIO_new_PKCS7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/bio_pk7.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pkcs7err.c:93,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pkcs7err.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: ossl_err_load_PKCS7_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/pkcs7/pkcs7err.c
    functionUses: []
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_err_load_PKCS7_strings(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:102,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:109,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:116,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    argCount: 2
    argNames:
    - ca
    - cb
    argTypes:
    - ADDED_OBJ*
    - ADDED_OBJ*
    constantsTouched: []
    func_position:
      end: 123
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 123
    functionName: added_obj_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - strcmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int added_obj_cmp(const ADDED_OBJ *ca, const ADDED_OBJ *cb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:717,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:729,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:718,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:724,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:719,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:730,1
    - Dst: OBJ_new_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:734,1
    - Dst: OBJ_add_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:741,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:747,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - oid
    - sn
    - ln
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 749
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 749
    functionName: OBJ_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - OBJ_new_nid
    - ERR_raise
    - OBJ_obj2nid
    - OBJ_add_object
    - ASN1_OBJECT_free
    - OBJ_txt2obj
    - OBJ_ln2nid
    - OBJ_sn2nid
    linkageType: ''
    returnType: int
    signature: 'int OBJ_create(const char *oid, const char *sn, const char *ln) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ln_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int ln_cmp(const ASN1_OBJECT *const *a, const unsigned int
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_ADDED_OBJ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: init_added
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - lh_ADDED_OBJ_new
    linkageType: ''
    returnType: int
    signature: 'static int init_added(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:339,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:344,1
    - Dst: OBJ_bsearch_obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 352
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 352
    functionName: OBJ_obj2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - lh_ADDED_OBJ_retrieve
    - OPENSSL_init_crypto
    - OBJ_bsearch_obj
    linkageType: ''
    returnType: int
    signature: 'int OBJ_obj2nid(const ASN1_OBJECT *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: OBJ_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t OBJ_length(const ASN1_OBJECT *obj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:226,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:233,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:241,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: OBJ_nid2obj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - lh_ADDED_OBJ_retrieve
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *OBJ_nid2obj(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:286,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:305,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:301,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: OBJ_nid2ln
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - lh_ADDED_OBJ_retrieve
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: char*
    signature: 'const char *OBJ_nid2ln(int n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:371,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:375,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:373,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:372,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:374,1
    - Dst: a2d_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:381,1
    - Dst: ASN1_object_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:390,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:394,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:395,1
    - Dst: ASN1_put_object
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:401,1
    - Dst: a2d_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:403,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:406,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:407,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - s
    - no_name
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 409
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 409
    functionName: OBJ_txt2obj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_put_object
    - OPENSSL_free
    - ASN1_object_size
    - OBJ_nid2obj
    - OBJ_ln2nid
    - d2i_ASN1_OBJECT
    - OBJ_sn2nid
    - ossl_isdigit
    - a2d_ASN1_OBJECT
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:568,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:569,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: OBJ_txt2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'int OBJ_txt2nid(const char *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:70,1
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:73,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - ca
    argTypes:
    - ADDED_OBJ*
    constantsTouched: []
    func_position:
      end: 85
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 85
    functionName: added_obj_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long added_obj_hash(const ADDED_OBJ *ca) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:256,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:275,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 277
    functionName: OBJ_nid2sn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - lh_ADDED_OBJ_retrieve
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: char*
    signature: 'const char *OBJ_nid2sn(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: obj_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int obj_cmp(const ASN1_OBJECT *const *ap, const unsigned int
      *bp) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:430,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:428,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:482,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:539,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:473,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:537,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:498,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:519,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:433,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:480,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:540,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:556,1
    - Dst: DECIMAL_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:417,1
    - Dst: DECIMAL_SIZE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:417,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:426,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:434,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:526,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:487,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:516,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:542,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:560,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 124
    argCount: 4
    argNames:
    - buf
    - buf_len
    - a
    - no_name
    argTypes:
    - char*
    - int
    - ASN1_OBJECT*
    - int
    constantsTouched: []
    func_position:
      end: 562
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 562
    functionName: OBJ_obj2txt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - BN_sub_word
    - BN_add_word
    - OBJ_nid2sn
    - OBJ_obj2nid
    - DECIMAL_SIZE
    - OPENSSL_strlcpy
    - BN_new
    - OPENSSL_free
    - BIO_snprintf
    - BN_bn2dec
    - BN_set_word
    - BN_free
    - OBJ_nid2ln
    - BN_lshift
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int
      no_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:582,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:588,1
    - Dst: OBJ_bsearch_ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 596
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 596
    functionName: OBJ_ln2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - lh_ADDED_OBJ_retrieve
    - OPENSSL_init_crypto
    - OBJ_bsearch_ln
    linkageType: ''
    returnType: int
    signature: 'int OBJ_ln2nid(const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADDED_OBJ*
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: cleanup1_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cleanup1_doall(ADDED_OBJ *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:148,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADDED_OBJ*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: cleanup3_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup3_doall(ADDED_OBJ *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: OBJ_new_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OBJ_new_nid(int num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:606,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:612,1
    - Dst: OBJ_bsearch_sn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 620
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 620
    functionName: OBJ_sn2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - OBJ_bsearch_sn
    - lh_ADDED_OBJ_retrieve
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int OBJ_sn2nid(const char *s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:670,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:687,1
    - Dst: ossl_isalnum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:674,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:677,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:681,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:691,1
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:705,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 709
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 709
    functionName: OBJ_create_objects
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - ossl_isalnum
    - ossl_isspace
    - OBJ_create
    - ossl_isdigit
    linkageType: ''
    returnType: int
    signature: 'int OBJ_create_objects(BIO *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADDED_OBJ*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: cleanup2_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cleanup2_doall(ADDED_OBJ *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_ADDED_OBJ_set_down_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:156,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:159,1
    - Dst: lh_ADDED_OBJ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:160,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:157,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: ossl_obj_cleanup_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - lh_ADDED_OBJ_free
    - lh_ADDED_OBJ_set_down_load
    - lh_ADDED_OBJ_doall
    linkageType: ''
    returnType: void
    signature: 'void ossl_obj_cleanup_int(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: init_added
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:180,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:190,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:184,1
    - Dst: OBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:182,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:187,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:193,1
    - Dst: lh_ADDED_OBJ_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:200,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:211,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:214,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:215,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 217
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 217
    functionName: OBJ_add_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - init_added
    - OPENSSL_free
    - lh_ADDED_OBJ_insert
    - ASN1_OBJECT_free
    - OBJ_dup
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int OBJ_add_object(const ASN1_OBJECT *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ex_
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - key
    - base
    - num
    - size
    - (*cmp)
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: OBJ_bsearch_
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - OBJ_bsearch_ex_
    linkageType: ''
    returnType: void*
    signature: 'const void *OBJ_bsearch_(const void *key, const void *base, int num,
      int size, int (*cmp) (const void *, const void *)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bsearch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:633,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 6
    argNames:
    - key
    - base
    - num
    - size
    - (*cmp)
    - flags
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 656
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 656
    functionName: OBJ_bsearch_ex_
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - ossl_bsearch
    linkageType: ''
    returnType: void*
    signature: 'const void *OBJ_bsearch_ex_(const void *key, const void *base, int
      num, int size, int (*cmp) (const void *, const void *), int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sn_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int sn_cmp(const ASN1_OBJECT *const *a, const unsigned int
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: OBJ_get0_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_dat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_err.c:29,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_err.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: ossl_err_load_OBJ_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_err.c
    functionUses: []
    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: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - nid_triple**
    - nid_triple**
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: sig_sk_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sig_sk_cmp(const nid_triple *const *a, const nid_triple
      *const *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_nid_triple_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:49,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:54,1
    - Dst: OBJ_bsearch_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:54,1
    - Dst: sk_nid_triple_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - signid
    - pdig_nid
    - ppkey_nid
    argTypes:
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: OBJ_find_sigid_algs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached:
    - OBJ_bsearch_sig
    - sk_nid_triple_find
    - OSSL_NELEM
    - sk_nid_triple_value
    linkageType: ''
    returnType: int
    signature: 'int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - nid_triple**
    - nid_triple**
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sigx_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sigx_cmp(const nid_triple *const *a, const nid_triple *const
      *b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_nid_triple_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:98,1
    - Dst: sk_nid_triple_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:102,1
    - Dst: sk_nid_triple_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:106,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:105,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:114,1
    - Dst: sk_nid_triple_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:118,1
    - Dst: sk_nid_triple_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:121,1
    - Dst: sk_nid_triple_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - signid
    - dig_id
    - pkey_id
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: OBJ_add_sigid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached:
    - sk_nid_triple_sort
    - sk_nid_triple_new
    - ERR_raise
    - sk_nid_triple_push
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int OBJ_add_sigid(int signid, int dig_id, int pkey_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - nid_triple*
    - nid_triple*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: sig_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sig_cmp(const nid_triple *a, const nid_triple *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_nid_triple_find
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:76,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:84,1
    - Dst: sk_nid_triple_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:78,1
    - Dst: OBJ_bsearch_sigx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - psignid
    - dig_nid
    - pkey_nid
    argTypes:
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: OBJ_find_sigid_by_algs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached:
    - sk_nid_triple_find
    - OSSL_NELEM
    - sk_nid_triple_value
    - OBJ_bsearch_sigx
    linkageType: ''
    returnType: int
    signature: 'int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tt
    argTypes:
    - nid_triple*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: sid_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void sid_free(nid_triple *tt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_nid_triple_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:134,1
    - Dst: sk_nid_triple_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: OBJ_sigid_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_xref.c
    functionUses: []
    functionsReached:
    - sk_nid_triple_free
    - sk_nid_triple_pop_free
    linkageType: ''
    returnType: void
    signature: 'void OBJ_sigid_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: OBJ_NAME_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'int OBJ_NAME_init(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_NAME_FUNCS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:126,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:130,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OBJ_NAME*
    - OBJ_NAME*
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: obj_name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - sk_NAME_FUNCS_num
    - OPENSSL_strcasecmp
    - sk_NAME_FUNCS_value
    linkageType: ''
    returnType: int
    signature: 'static int obj_name_cmp(const OBJ_NAME *a, const OBJ_NAME *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:159,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:184,1
    - Dst: lh_OBJ_NAME_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:171,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 186
    functionName: OBJ_NAME_get
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - lh_OBJ_NAME_retrieve
    - CRYPTO_THREAD_read_lock
    - OBJ_NAME_init
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: char*
    signature: 'const char *OBJ_NAME_get(const char *name, int type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:247,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:260,1
    - Dst: lh_OBJ_NAME_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:256,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:250,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:265,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:269,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 275
    functionName: OBJ_NAME_remove
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_NAME_FUNCS_value
    - OPENSSL_free
    - OBJ_NAME_init
    - lh_OBJ_NAME_delete
    - sk_NAME_FUNCS_num
    linkageType: ''
    returnType: int
    signature: 'int OBJ_NAME_remove(const char *name, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - name
    - d
    argTypes:
    - OBJ_NAME*
    - OBJ_DOALL*
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: do_all_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_all_fn(const OBJ_NAME *name, OBJ_DOALL *d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_OBJ_NAME_doall_OBJ_DOALL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - type
    - (*fn)
    - arg
    argTypes:
    - int
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: OBJ_NAME_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    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), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - name
    - d_
    argTypes:
    - OBJ_NAME*
    - void*
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: do_all_sorted_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_all_sorted_fn(const OBJ_NAME *name, void *d_) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:336,1
    - Dst: OBJ_NAME_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:340,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:342,1
    - Dst: lh_OBJ_NAME_num_items
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:336,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:345,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - type
    - (*fn)
    - arg
    argTypes:
    - int
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 349
    functionName: OBJ_NAME_do_all_sorted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - fn
    - lh_OBJ_NAME_num_items
    - OPENSSL_free
    - qsort
    - OBJ_NAME_do_all
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: 'void OBJ_NAME_do_all_sorted(int type, void (*fn) (const OBJ_NAME *,
      void *arg), void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:52,1
    - Dst: lh_OBJ_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:54,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: (o_names_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - CRYPTO_THREAD_lock_free
    - lh_OBJ_NAME_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (o_names_init) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_NAME_FUNCS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:140,1
    - Dst: ossl_lh_strcasehash
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:145,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - OBJ_NAME*
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: obj_name_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - sk_NAME_FUNCS_num
    - ossl_lh_strcasehash
    - sk_NAME_FUNCS_value
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long obj_name_hash(const OBJ_NAME *a) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:74,1
    - Dst: sk_NAME_FUNCS_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:81,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:89,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:77,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:88,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:91,1
    - Dst: sk_NAME_FUNCS_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:97,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:101,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:106,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:115,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 3
    argNames:
    - (*hash_func)
    - (*cmp_func)
    - (*free_func)
    argTypes:
    - unsigned long
    - int
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 117
    functionName: OBJ_NAME_new_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_NAME_FUNCS_value
    - OPENSSL_free
    - OBJ_NAME_init
    - OPENSSL_zalloc
    - sk_NAME_FUNCS_push
    - sk_NAME_FUNCS_new_null
    - sk_NAME_FUNCS_num
    linkageType: ''
    returnType: int
    signature: 'int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *),
      int (*cmp_func) (const char *, const char *), void (*free_func) (const char
      *, int, const char *)) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:193,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:199,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:208,1
    - Dst: lh_OBJ_NAME_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:213,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:209,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:217,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:222,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:226,1
    - Dst: lh_OBJ_NAME_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:228,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:230,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - name
    - type
    - data
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 240
    functionName: OBJ_NAME_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - sk_NAME_FUNCS_value
    - OPENSSL_free
    - OBJ_NAME_init
    - lh_OBJ_NAME_error
    - sk_NAME_FUNCS_num
    - lh_OBJ_NAME_insert
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int OBJ_NAME_add(const char *name, int type, const char *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - n1_
    - n2_
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: do_all_sorted_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int do_all_sorted_cmp(const void *n1_, const void *n2_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - NAME_FUNCS*
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: name_funcs_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void name_funcs_free(NAME_FUNCS *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lh_OBJ_NAME_get_down_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:375,1
    - Dst: sk_NAME_FUNCS_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:381,1
    - Dst: lh_OBJ_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:380,1
    - Dst: lh_OBJ_NAME_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:378,1
    - Dst: lh_OBJ_NAME_set_down_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:376,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:382,1
    - Dst: lh_OBJ_NAME_set_down_load
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 388
    functionName: OBJ_NAME_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - lh_OBJ_NAME_free
    - lh_OBJ_NAME_get_down_load
    - CRYPTO_THREAD_lock_free
    - lh_OBJ_NAME_doall
    - lh_OBJ_NAME_set_down_load
    - sk_NAME_FUNCS_pop_free
    linkageType: ''
    returnType: void
    signature: 'void OBJ_NAME_cleanup(int type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - onp
    argTypes:
    - OBJ_NAME*
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: names_lh_free_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/o_names.c
    functionUses: []
    functionsReached:
    - OBJ_NAME_remove
    linkageType: ''
    returnType: void
    signature: 'static void names_lh_free_doall(OBJ_NAME *onp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:25,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:46,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:37,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:27,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:43,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:52,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - o
    argTypes:
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 54
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 54
    functionName: OBJ_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - ASN1_OBJECT_free
    - OPENSSL_memdup
    - ASN1_OBJECT_new
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT*
    - ASN1_OBJECT*
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: OBJ_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/objects/obj_lib.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: RSA_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - rsa_new_intern
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *RSA_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 293
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 293
    functionName: ilog_e
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - mul2
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t ilog_e(uint64_t v) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:931,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:939,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:944,1
    - Dst: evp_pkey_type2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:944,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:940,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:950,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:951,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:953,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 6
    argNames:
    - ctx
    - /* For checks */
    - keytype
    - optype
    - /* For EVP_PKEY_CTX_get_params() */
    - mdkey
    - mdname
    - mdnamesize
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 954
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 954
    functionName: int_get_rsa_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_utf8_string
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_end
    - evp_pkey_type2name
    linkageType: ''
    returnType: int
    signature: 'static int int_get_rsa_md_name(EVP_PKEY_CTX *ctx, /* For checks */
      int keytype, int optype, /* For EVP_PKEY_CTX_get_params() */ const char *mdkey,
      char *mdname, size_t mdnamesize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - mdname
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1083
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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,
      const char *mdname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1033,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 1038
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1038
    functionName: EVP_PKEY_CTX_get_rsa_oaep_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: RSA_new_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - rsa_new_intern
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *RSA_new_method(ENGINE *engine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: RSA_get_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD*
    signature: 'const RSA_METHOD *RSA_get_method(const RSA *rsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 4
    argNames:
    - r
    - dmp1
    - dmq1
    - iqmp
    argTypes:
    - RSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 605
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 605
    functionName: RSA_get0_crt_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const
      BIGNUM **dmq1, const BIGNUM **iqmp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: icbrt64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t icbrt64(uint64_t x) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:891,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:899,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:904,1
    - Dst: evp_pkey_type2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:904,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:900,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:910,1
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:911,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:913,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:915,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:917,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 7
    argNames:
    - ctx
    - /* For checks */
    - keytype
    - optype
    - /* For EVP_PKEY_CTX_set_params() */
    - mdkey
    - mdname
    - propkey
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 918
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 918
    functionName: int_set_rsa_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_is_a
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_utf8_string
    - evp_pkey_ctx_is_provided
    - OSSL_PARAM_construct_end
    - evp_pkey_type2name
    linkageType: ''
    returnType: int
    signature: 'static int int_set_rsa_md_name(EVP_PKEY_CTX *ctx, /* For checks */
      int keytype, int optype, /* For EVP_PKEY_CTX_set_params() */ const char *mdkey,
      const char *mdname, const char *propkey, const char *mdprops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: RSA_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RSA_set_flags(RSA *r, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:172,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:140,1
    - Dst: BN_BLINDING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:174,1
    - Dst: BN_BLINDING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:175,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:176,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:152,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:155,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:157,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:158,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:159,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:161,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:160,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:164,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:163,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:162,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:139,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:148,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:143,1
    - Dst: ossl_rsa_acvp_test_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:167,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 177
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 177
    functionName: RSA_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - ossl_rsa_acvp_test_free
    - RSA_PSS_PARAMS_free
    - OPENSSL_free
    - ENGINE_finish
    - CRYPTO_free_ex_data
    - CRYPTO_DOWN_REF
    - BN_free
    - sk_RSA_PRIME_INFO_pop_free
    - REF_PRINT_COUNT
    - BN_clear_free
    - REF_ASSERT_ISNT
    - BN_BLINDING_free
    linkageType: ''
    returnType: void
    signature: 'void RSA_free(RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: RSA_get0_p
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_p(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: RSA_get0_iqmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_iqmp(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: RSA_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RSA_clear_flags(RSA *r, int flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1002,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 1007
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1007
    functionName: EVP_PKEY_CTX_set_rsa_oaep_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: RSA_pkey_ctx_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: EVP_PKEY_CTX_set_rsa_mgf1_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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_get_rsa_md_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - name
    - namesize
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1065
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1065
    functionName: EVP_PKEY_CTX_get_rsa_mgf1_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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,
      size_t namesize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1107,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1113,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1121,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1123,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1125,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - label
    - llen
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1132
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1132
    functionName: EVP_PKEY_CTX_set0_rsa_oaep_label
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - EVP_PKEY_CTX_is_a
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, void *label,
      int llen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:183,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:187,1
    - Dst: REF_PRINT_COUNT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: RSA_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: mul2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t mul2(uint64_t a, uint64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: RSA_get0_n
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_n(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: RSA_get0_q
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_q(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: RSA_get0_pss_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RSA_PSS_PARAMS*
    signature: 'const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: RSA_test_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_test_flags(const RSA *r, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1016
    functionName: EVP_PKEY_CTX_set_rsa_oaep_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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, const char *mdprops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: EVP_PKEY_CTX_set_rsa_mgf1_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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, const char *mdprops) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: ossl_rsa_get0_pss_params_30
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RSA_PSS_PARAMS_30*
    signature: 'RSA_PSS_PARAMS_30 *ossl_rsa_get0_pss_params_30(RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1200
    functionName: EVP_PKEY_CTX_get_rsa_pss_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:488,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:501,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:502,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:500,1
    - Dst: ossl_rsa_multip_info_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:496,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:506,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:507,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:508,1
    - Dst: ossl_rsa_multip_info_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:510,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:513,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:518,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:530,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:539,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 5
    argNames:
    - r
    - primes
    - exps
    - coeffs
    - pnum
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 541
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 541
    functionName: RSA_set0_multi_prime_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ossl_rsa_multip_info_free
    - ossl_rsa_multip_calc_product
    - ossl_rsa_multip_info_new
    - sk_RSA_PRIME_INFO_new_reserve
    - sk_RSA_PRIME_INFO_pop_free
    - BN_clear_free
    - BN_set_flags
    - sk_RSA_PRIME_INFO_push
    linkageType: ''
    returnType: int
    signature: 'int RSA_set0_multi_prime_params(RSA *r, BIGNUM *primes[], BIGNUM *exps[],
      BIGNUM *coeffs[], int pnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_new_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ossl_rsa_new_with_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - rsa_new_intern
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *ossl_rsa_new_with_ctx(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: ossl_rsa_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_rsa_get0_libctx(RSA *r) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ilog_e
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:364,1
    - Dst: icbrt64
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:365,1
    - Dst: mul2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:365,1
    - Dst: mul2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:365,1
    - Dst: mul2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 371
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 371
    functionName: ossl_ifc_ffc_compute_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - icbrt64
    - mul2
    - ilog_e
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t ossl_ifc_ffc_compute_security_bits(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:402,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:412,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:406,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - r
    - n
    - e
    - d
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 417
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 417
    functionName: RSA_set0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_set_flags
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:454,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:464,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:456,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:459,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:461,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:466,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - r
    - dmp1
    - dmq1
    - iqmp
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 471
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 471
    functionName: RSA_set0_crt_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM
      *iqmp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 4
    argNames:
    - r
    - n
    - e
    - d
    argTypes:
    - RSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: RSA_get0_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e,
      const BIGNUM **d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: RSA_get_multi_prime_extra_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - sk_RSA_PRIME_INFO_num
    linkageType: ''
    returnType: int
    signature: 'int RSA_get_multi_prime_extra_count(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - r
    - pss
    argTypes:
    - RSA*
    - RSA_PSS_PARAMS*
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: ossl_rsa_set0_pss_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - RSA_PSS_PARAMS_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_set0_pss_params(RSA *r, RSA_PSS_PARAMS *pss) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - rsa
    - meth
    argTypes:
    - RSA*
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: RSA_set_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: 'int RSA_set_method(RSA *rsa, const RSA_METHOD *meth) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:79,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:87,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:84,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:86,1
    - Dst: RSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:92,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:97,1
    - Dst: ENGINE_get_default_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:102,1
    - Dst: ENGINE_get_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:105,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:128,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:121,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - engine
    - libctx
    argTypes:
    - ENGINE*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 130
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 130
    functionName: rsa_new_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - RSA_free
    - CRYPTO_new_ex_data
    - ERR_raise
    - ENGINE_get_RSA
    - OPENSSL_free
    - ENGINE_init
    - OPENSSL_zalloc
    - RSA_get_default_method
    - ENGINE_get_default_RSA
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: RSA*
    signature: 'static RSA *rsa_new_intern(ENGINE *engine, OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - libctx
    argTypes:
    - RSA*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ossl_rsa_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rsa_set0_libctx(RSA *r, OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:377,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:388,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:382,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: RSA_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ossl_ifc_ffc_compute_security_bits
    - sk_RSA_PRIME_INFO_num
    - BN_num_bits
    - ossl_rsa_multip_cap
    linkageType: ''
    returnType: int
    signature: 'int RSA_security_bits(const RSA *rsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:429,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:431,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:434,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 441
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 441
    functionName: RSA_set0_factors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - RSA*
    - BIGNUM**
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: RSA_get0_factors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM
      **q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:579,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - r
    - primes
    argTypes:
    - RSA*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: RSA_get0_multi_prime_factors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - sk_RSA_PRIME_INFO_value
    - RSA_get_multi_prime_extra_count
    linkageType: ''
    returnType: int
    signature: 'int RSA_get0_multi_prime_factors(const RSA *r, const BIGNUM *primes[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 721
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 721
    functionName: RSA_get_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_get_version(RSA *r) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:613,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:623,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - r
    - exps
    - coeffs
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 632
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 632
    functionName: RSA_get0_multi_prime_crt_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - sk_RSA_PRIME_INFO_value
    - RSA_get_multi_prime_extra_count
    linkageType: ''
    returnType: int
    signature: 'int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[],
      const BIGNUM *coeffs[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_BIGNUM_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:762,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:779,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:801,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:803,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:809,1
    - Dst: sk_BIGNUM_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:754,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:759,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:758,1
    - Dst: RSA_set0_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:765,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:766,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:767,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:785,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:758,1
    - Dst: sk_BIGNUM_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:763,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:765,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:793,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:784,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:802,1
    - Dst: sk_BIGNUM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:786,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:789,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:826,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:837,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:794,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:804,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 4
    argNames:
    - r
    - primes
    - exps
    - coeffs
    argTypes:
    - RSA*
    - STACK_OF(BIGNUM)*
    - STACK_OF(BIGNUM)*
    - STACK_OF(BIGNUM)*
    constantsTouched: []
    func_position:
      end: 840
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 840
    functionName: ossl_rsa_set0_all_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_BIGNUM_num
    - ossl_assert
    - ossl_rsa_multip_calc_product
    - BN_set_flags
    - sk_RSA_PRIME_INFO_new_reserve
    - OPENSSL_zalloc
    - sk_BIGNUM_value
    - sk_RSA_PRIME_INFO_pop_free
    - RSA_set0_crt_params
    - RSA_set0_factors
    - sk_RSA_PRIME_INFO_push
    linkageType: ''
    returnType: DEFINE_STACK_OF(BIGNUM)
    signature: 'DEFINE_STACK_OF(BIGNUM) int ossl_rsa_set0_all_params(RSA *r, const
      STACK_OF(BIGNUM) *primes, const STACK_OF(BIGNUM) *exps, const STACK_OF(BIGNUM)
      *coeffs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pad_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: EVP_PKEY_CTX_set_rsa_padding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: int_get_rsa_md_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - name
    - namesize
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1024
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1024
    functionName: EVP_PKEY_CTX_get_rsa_oaep_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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,
      size_t namesize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1139,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1151,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1140,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1146,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - label
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 1161
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1161
    functionName: EVP_PKEY_CTX_get0_rsa_oaep_label
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_is_a
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_octet_ptr
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char
      **label) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1206,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1215,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1212,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1217,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1207,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1220
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1220
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - ERR_raise
    - EVP_PKEY_CTX_is_a
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_IS_GEN_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(EVP_PKEY_CTX *ctx, int
      saltlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pad_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    constantsTouched: []
    func_position:
      end: 974
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 974
    functionName: EVP_PKEY_CTX_get_rsa_padding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - RSA*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: RSA_set_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: 'int RSA_set_ex_data(RSA *r, int idx, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: RSA_get0_e
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_e(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: RSA_get0_dmp1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_dmp1(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: RSA_get0_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *RSA_get0_engine(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1246,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1255,1
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pubexp
    argTypes:
    - EVP_PKEY_CTX*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1260
    functionName: EVP_PKEY_CTX_set_rsa_keygen_pubexp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - BN_free
    - evp_pkey_ctx_is_provided
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: RSA_get_ex_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void*
    signature: 'void *RSA_get_ex_data(const RSA *r, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: RSA_get0_d
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_d(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: RSA_get0_dmq1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM*
    signature: 'const BIGNUM *RSA_get0_dmq1(const RSA *r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 737
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 737
    functionName: RSA_pkey_ctx_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:857,1
    - Dst: RSA_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:861,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:860,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:861,1
    - Dst: RSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:860,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:862,1
    - Dst: RSA_get0_dmp1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:862,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:863,1
    - Dst: RSA_get0_dmq1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:863,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:864,1
    - Dst: RSA_get0_iqmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:864,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:867,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:870,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:871,1
    - Dst: sk_BIGNUM_const_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:872,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:869,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - r
    - primes
    - exps
    - coeffs
    argTypes:
    - RSA*
    - STACK_OF(BIGNUM_const)*
    - STACK_OF(BIGNUM_const)*
    - STACK_OF(BIGNUM_const)*
    constantsTouched: []
    func_position:
      end: 877
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 877
    functionName: ossl_rsa_get0_all_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - sk_BIGNUM_const_push
    - sk_RSA_PRIME_INFO_value
    - RSA_get0_iqmp
    - RSA_get0_dmq1
    - RSA_get0_q
    - RSA_get0_dmp1
    - RSA_get0_p
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_get0_all_params(RSA *r, STACK_OF(BIGNUM_const) *primes,
      STACK_OF(BIGNUM_const) *exps, STACK_OF(BIGNUM_const) *coeffs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 993
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 993
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_md_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - int_set_rsa_md_name
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_rsa_pss_keygen_md_name(EVP_PKEY_CTX *ctx, const
      char *mdname, const char *mdprops) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1270,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1278,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1277,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1271,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - pubexp
    argTypes:
    - EVP_PKEY_CTX*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1280
    functionName: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - BN_free
    - evp_pkey_ctx_is_legacy
    - BN_dup
    - EVP_PKEY_CTX_ctrl
    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/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1287,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1295,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1298,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1294,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1288,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1299,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - primes
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1302
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1302
    functionName: EVP_PKEY_CTX_set_rsa_keygen_primes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - EVP_PKEY_CTX_is_a
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_IS_GEN_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_rsa_keygen_primes(EVP_PKEY_CTX *ctx, int primes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 1093
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1093
    functionName: EVP_PKEY_CTX_get_rsa_mgf1_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1181
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1181
    functionName: EVP_PKEY_CTX_set_rsa_pss_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1227,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1235,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1228,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1238,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1234,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1239,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c:1241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - bits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1242
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1242
    functionName: EVP_PKEY_CTX_set_rsa_keygen_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_lib.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - EVP_PKEY_CTX_is_a
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_IS_GEN_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int bits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:35,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:37,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:38,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:53,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:55,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:58,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:64,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:68,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:71,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:72,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:42,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:49,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:55,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:59,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:67,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:70,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:73,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:36,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:40,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:41,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:52,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:61,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:56,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:74,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:50,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:58,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:61,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:62,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:65,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:75,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 77
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 77
    functionName: ossl_rsa_check_crt_components
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_sub_word
    - BN_CTX_end
    - BN_copy
    - BN_value_one
    - BN_is_one
    - BN_clear
    - BN_mod_mul
    - BN_CTX_start
    - BN_set_flags
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_check_crt_components(const RSA *rsa, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:229,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:230,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:233,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:233,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: ossl_rsa_check_public_exponent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_value_one
    - BN_num_bits
    - BN_is_odd
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_check_public_exponent(const BIGNUM *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:141,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:148,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:143,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:146,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:147,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:150,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:151,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:158,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:159,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:160,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:163,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:164,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - p
    - e
    - nbits
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: ossl_rsa_check_prime_factor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_sub_word
    - BN_CTX_end
    - BN_copy
    - BN_is_one
    - BN_clear
    - BN_CTX_start
    - BN_gcd
    - ossl_rsa_check_prime_factor_range
    - BN_check_prime
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_check_prime_factor(BIGNUM *p, BIGNUM *e, int nbits, BN_CTX
      *ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:94,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:97,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:100,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:106,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:101,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:115,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:117,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:120,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:124,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - p
    - nbits
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 126
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 126
    functionName: ossl_rsa_check_prime_factor_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_copy
    - BN_num_bits
    - BN_rshift
    - BN_CTX_start
    - BN_lshift
    - BN_cmp
    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_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:193,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:209,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:212,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:213,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:216,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:183,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:185,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:186,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:187,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:188,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:189,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:191,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:192,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:208,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:196,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:206,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:195,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:214,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:180,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:184,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:211,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:194,1
    - Dst: ossl_rsa_get_lcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:203,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:215,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - rsa
    - nbits
    - ctx
    argTypes:
    - RSA*
    - int
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 218
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 218
    functionName: ossl_rsa_check_private_exponent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - ossl_rsa_get_lcm
    - BN_num_bits
    - BN_is_one
    - BN_clear
    - BN_mod_mul
    - BN_CTX_start
    - BN_set_flags
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_check_private_exponent(const RSA *rsa, int nbits, BN_CTX
      *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:246,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:250,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:248,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:253,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - diff
    - p
    - q
    - nbits
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: ossl_rsa_check_pminusq_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_sub_word
    - BN_is_zero
    - BN_set_negative
    - BN_num_bits
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_check_pminusq_diff(BIGNUM *diff, const BIGNUM *p, const
      BIGNUM *q, int nbits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:268,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:268,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:269,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:270,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:269,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:271,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 8
    argNames:
    - ctx
    - p
    - q
    - lcm
    - gcd
    - p1
    - q1
    - p1q1
    argTypes:
    - BN_CTX*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: ossl_rsa_get_lcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_value_one
    - BN_div
    - BN_mul
    - BN_gcd
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_get_lcm(BN_CTX *ctx, const BIGNUM *p, const BIGNUM *q,
      BIGNUM *lcm, BIGNUM *gcd, BIGNUM *p1, BIGNUM *q1, BIGNUM *p1q1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:359,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:359,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: ossl_rsa_sp800_56b_check_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_value_one
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_sp800_56b_check_private(const RSA *rsa) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:396,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:403,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:408,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:421,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:431,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:427,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:435,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:438,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:407,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:433,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:418,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:417,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:439,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:385,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:401,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:395,1
    - Dst: ossl_rsa_sp800_56b_validate_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:389,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:412,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:428,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:422,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:440,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:416,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c:429,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 4
    argNames:
    - rsa
    - efixed
    - strength
    - nbits
    argTypes:
    - RSA*
    - BIGNUM*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 442
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 442
    functionName: ossl_rsa_sp800_56b_check_keypair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - ossl_rsa_check_private_exponent
    - BN_CTX_end
    - ossl_rsa_sp800_56b_validate_strength
    - ossl_rsa_check_pminusq_diff
    - BN_num_bits
    - BN_CTX_free
    - BN_clear
    - ossl_rsa_check_prime_factor
    - ossl_rsa_check_public_exponent
    - BN_CTX_start
    - BN_mul
    - ossl_rsa_check_crt_components
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_sp800_56b_check_keypair(const RSA *rsa, const BIGNUM
      *efixed, int strength, int nbits) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:338,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:344,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:350,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:377,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:417,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:373,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:393,1
    - Dst: digest_sz_from_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:411,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:435,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:339,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:369,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:378,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:389,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:429,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:397,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:444,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:346,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:364,1
    - Dst: encode_pkcs1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:424,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:428,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:443,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 82
    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*
    constantsTouched: []
    func_position:
      end: 446
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 446
    functionName: ossl_rsa_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcmp
    - RSA_size
    - memcpy
    - encode_pkcs1
    - OPENSSL_clear_free
    - digest_sz_from_nid
    - RSA_public_decrypt
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_verify(int type, const unsigned char *m, unsigned int
      m_len, unsigned char *rm, size_t *prm_len, const unsigned char *sigbuf, size_t
      siglen, RSA *rsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:261,1
    - Dst: ossl_rsa_digestinfo_encoding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:252,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:259,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:254,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:264,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:265,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - out
    - out_len
    - type
    - m
    - m_len
    argTypes:
    - unsigned char**
    - size_t*
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: encode_pkcs1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    - ERR_raise
    - ossl_rsa_digestinfo_encoding
    linkageType: ''
    returnType: int
    signature: 'static int encode_pkcs1(unsigned char **out, size_t *out_len, int
      type, const unsigned char *m, size_t m_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:174,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:177,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:179,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:181,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:175,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:178,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:176,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:180,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - md_nid
    - len
    argTypes:
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: ossl_rsa_digestinfo_encoding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c
    functionUses: []
    functionsReached:
    - MD_CASE
    linkageType: ''
    returnType: unsigned char*
    signature: 'const unsigned char *ossl_rsa_digestinfo_encoding(int md_nid, size_t
      *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:197,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:206,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:200,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:209,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:203,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:212,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:213,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:214,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:215,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:216,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:220,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:221,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:222,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:217,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:218,1
    - Dst: MD_NID_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: digest_sz_from_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c
    functionUses: []
    functionsReached:
    - MD_NID_CASE
    linkageType: ''
    returnType: int
    signature: 'static int digest_sz_from_nid(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - type
    - m
    - m_len
    - sigbuf
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - RSA*
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: RSA_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c
    functionUses: []
    functionsReached:
    - ossl_rsa_verify
    linkageType: ''
    returnType: int
    signature: 'int RSA_verify(int type, const unsigned char *m, unsigned int m_len,
      const unsigned char *sigbuf, unsigned int siglen, RSA *rsa) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:293,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:304,1
    - Dst: encode_pkcs1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:299,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:305,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:308,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c:317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 6
    argNames:
    - type
    - m
    - m_len
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    constantsTouched: []
    func_position:
      end: 319
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 319
    functionName: RSA_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sign.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - RSA_size
    - RSA_private_encrypt
    - encode_pkcs1
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'int RSA_sign(int type, const unsigned char *m, unsigned int m_len,
      unsigned char *sigret, unsigned int *siglen, RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:17,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pinfo
    argTypes:
    - RSA_PRIME_INFO*
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: ossl_rsa_multip_info_free_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rsa_multip_info_free_ex(RSA_PRIME_INFO *pinfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:67,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:72,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:80,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:82,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:86,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:95,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 97
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 97
    functionName: ossl_rsa_multip_calc_product
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c
    functionUses: []
    functionsReached:
    - BN_secure_new
    - sk_RSA_PRIME_INFO_num
    - BN_CTX_free
    - BN_CTX_new
    - BN_mul
    - sk_RSA_PRIME_INFO_value
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_multip_calc_product(RSA *rsa) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: ossl_rsa_multip_cap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_multip_cap(int bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:24,1
    - Dst: ossl_rsa_multip_info_free_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:27,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:25,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pinfo
    argTypes:
    - RSA_PRIME_INFO*
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: ossl_rsa_multip_info_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c
    functionUses: []
    functionsReached:
    - BN_clear_free
    - ossl_rsa_multip_info_free_ex
    linkageType: ''
    returnType: void
    signature: 'void ossl_rsa_multip_info_free(RSA_PRIME_INFO *pinfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:35,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:39,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:36,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:41,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:43,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:45,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:51,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:52,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:53,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:54,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c:55,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: ossl_rsa_multip_info_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_mp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - BN_secure_new
    - OPENSSL_zalloc
    - BN_free
    linkageType: ''
    returnType: RSA_PRIME_INFO*
    signature: 'RSA_PRIME_INFO *ossl_rsa_multip_info_new(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:35,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:47,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 56
    functionName: RSA_padding_add_X931
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - memset
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned
      char *from, int flen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: RSA_X931_hash_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_X931_hash_id(int nid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:94,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:98,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 101
    functionName: RSA_padding_check_X931
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_check_X931(unsigned char *to, int tlen, const unsigned
      char *from, int flen, int num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:21,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:26,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:33,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: RSA_meth_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: RSA_METHOD*
    signature: 'RSA_METHOD *RSA_meth_new(const char *name, int flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:47,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:50,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:56,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:59,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: RSA_meth_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: RSA_METHOD*
    signature: 'RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:70,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - meth
    - name
    argTypes:
    - RSA_METHOD*
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: RSA_meth_set1_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set1_name(RSA_METHOD *meth, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*priv_dec)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: RSA_meth_set_priv_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec) (int flen,
      const unsigned char *from, unsigned char *to, RSA *rsa, int padding)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*mod_exp)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: RSA_meth_set_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_mod_exp(RSA_METHOD *meth, int (*mod_exp) (BIGNUM
      *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*bn_mod_exp)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: RSA_meth_set_bn_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_bn_mod_exp(RSA_METHOD *meth, int (*bn_mod_exp) (BIGNUM
      *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX
      *m_ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*init)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: RSA_meth_set_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_init(RSA_METHOD *meth, int (*init) (RSA *rsa)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*sign)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: RSA_meth_set_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_sign(RSA_METHOD *meth, int (*sign) (int type, const
      unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int
      *siglen, const RSA *rsa)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:40,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: RSA_meth_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void RSA_meth_free(RSA_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: RSA_meth_get0_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *RSA_meth_get0_name(const RSA_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: RSA_meth_get_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_get_flags(const RSA_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 6
    argNames:
    - dtype
    - m
    - m_length
    - sigbuf
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - RSA*
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: (*RSA_meth_get_verify(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_verify(const RSA_METHOD *meth)) (int dtype, const
      unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, unsigned
      int siglen, const RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - flags
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: RSA_meth_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_flags(RSA_METHOD *meth, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - app_data
    argTypes:
    - RSA_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: RSA_meth_set0_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*keygen)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: RSA_meth_set_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_keygen(RSA_METHOD *meth, int (*keygen) (RSA *rsa,
      int bits, BIGNUM *e, BN_GENCB *cb)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: RSA_meth_get0_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *RSA_meth_get0_app_data(const RSA_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: (*RSA_meth_get_pub_enc(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) (int flen, const
      unsigned char *from, unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 5
    argNames:
    - rsa
    - bits
    - primes
    - e
    - cb
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    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: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*pub_enc)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: RSA_meth_set_pub_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_pub_enc(RSA_METHOD *meth, int (*pub_enc) (int flen,
      const unsigned char *from, unsigned char *to, RSA *rsa, int padding)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*priv_enc)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: RSA_meth_set_priv_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc) (int flen,
      const unsigned char *from, unsigned char *to, RSA *rsa, int padding)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*finish)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: RSA_meth_set_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish) (RSA *rsa)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*verify)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: RSA_meth_set_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_verify(RSA_METHOD *meth, int (*verify) (int dtype,
      const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf,
      unsigned int siglen, const RSA *rsa)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: (*RSA_meth_get_pub_dec(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) (int flen, const
      unsigned char *from, unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: (*RSA_meth_get_priv_dec(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) (int flen, const
      unsigned char *from, unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 6
    argNames:
    - type
    - m
    - m_length
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: (*RSA_meth_get_sign(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_sign(const RSA_METHOD *meth)) (int type, const
      unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int
      *siglen, const RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 4
    argNames:
    - rsa
    - bits
    - e
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: (*RSA_meth_get_keygen(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    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: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*keygen)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: RSA_meth_set_multi_prime_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth, int (*keygen)
      (RSA *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - meth
    - (*pub_dec)
    argTypes:
    - RSA_METHOD*
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: RSA_meth_set_pub_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_meth_set_pub_dec(RSA_METHOD *meth, int (*pub_dec) (int flen,
      const unsigned char *from, unsigned char *to, RSA *rsa, int padding)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: (*RSA_meth_get_priv_enc(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) (int flen, const
      unsigned char *from, unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 4
    argNames:
    - r0
    - i
    - rsa
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - RSA*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    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: 10
    EdgeCount: 10
    ICount: 1
    argCount: 6
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    - m_ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) (BIGNUM *r,
      const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX
      *m_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: (*RSA_meth_get_init(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: (*RSA_meth_get_finish(const RSA_METHOD *meth))
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_meth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: RSA_null_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD*
    signature: 'const RSA_METHOD *RSA_null_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: RSA_get_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD*
    signature: 'const RSA_METHOD *RSA_get_default_method(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:165,1
    - Dst: RSA_setup_blinding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:191,1
    - Dst: BN_BLINDING_is_current_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:176,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:197,1
    - Dst: RSA_setup_blinding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - rsa
    - local
    - ctx
    argTypes:
    - RSA*
    - int*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 199
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: rsa_get_blinding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - BN_BLINDING_is_current_thread
    - CRYPTO_THREAD_write_lock
    - RSA_setup_blinding
    linkageType: ''
    returnType: BN_BLINDING*
    signature: 'static BN_BLINDING *rsa_get_blinding(RSA *rsa, int *local, BN_CTX
      *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:236,1
    - Dst: BN_BLINDING_invert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - b
    - f
    - unblind
    - ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: rsa_blinding_invert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_set_flags
    - BN_BLINDING_invert_ex
    linkageType: ''
    returnType: int
    signature: 'static int rsa_blinding_invert(BN_BLINDING *b, BIGNUM *f, BIGNUM *unblind,
      BN_CTX *ctx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:389,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:391,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:393,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:411,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:414,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:420,1
    - Dst: rsa_get_blinding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:425,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:463,1
    - Dst: rsa_blinding_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:471,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:503,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:427,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:452,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:456,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:457,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:467,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:474,1
    - Dst: constant_time_msb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:499,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:504,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:392,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:397,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:406,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:433,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:450,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:415,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:460,1
    - Dst: RSA_padding_check_PKCS1_type_2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:480,1
    - Dst: RSA_padding_check_PKCS1_OAEP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:483,1
    - Dst: err_clear_last_constant_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:499,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:394,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:395,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:434,1
    - Dst: rsa_blinding_convert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:437,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:489,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:498,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:505,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:486,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 101
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 507
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 507
    functionName: rsa_ossl_private_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - BN_CTX_free
    - BN_CTX_start
    - BN_with_flags
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - BN_CTX_end
    - constant_time_msb
    - err_clear_last_constant_time
    - rsa_blinding_convert
    - BN_bn2binpad
    - BN_bin2bn
    - rsa_get_blinding
    - BN_ucmp
    - memcpy
    - BN_MONT_CTX_set_locked
    - RSA_padding_check_PKCS1_type_2
    - rsa_blinding_invert
    - RSA_padding_check_PKCS1_OAEP
    - BN_CTX_get
    - ERR_raise
    - BN_new
    - BN_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int rsa_ossl_private_decrypt(int flen, const unsigned char
      *from, unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:666,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:899,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:819,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:644,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:645,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:733,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:784,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:814,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:834,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:824,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:749,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:844,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:903,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:848,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:807,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:676,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:758,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:767,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:881,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:616,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:622,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:796,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:754,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:744,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:859,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:863,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:948,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:650,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:788,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:869,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:876,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:886,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:888,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:970,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:907,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:658,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:656,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:841,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:894,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:914,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:918,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:794,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:813,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:672,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:838,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:898,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:931,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:941,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:629,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:635,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:647,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:648,1
    - Dst: bn_mul_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:719,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:734,1
    - Dst: bn_mod_add_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:720,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:763,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:803,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:716,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:800,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:938,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:939,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:973,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:779,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:820,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:672,1
    - Dst: BN_mod_exp_mont_consttime_x2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:700,1
    - Dst: bn_mod_sub_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:712,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:715,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:759,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:770,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:861,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:882,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:843,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:787,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:741,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:831,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:875,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:902,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:951,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:877,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:623,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:620,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:690,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:692,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:731,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:804,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:750,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:775,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:693,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:806,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:830,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:728,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:795,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:808,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:893,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:895,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:955,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:889,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:618,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:784,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:936,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:959,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:655,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:657,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:689,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:739,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:929,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:858,1
    - Dst: bn_correct_top
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:932,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 246
    argCount: 4
    argNames:
    - r0
    - I
    - rsa
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - RSA*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 975
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 975
    functionName: rsa_ossl_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    - BN_is_zero
    - BN_CTX_start
    - BN_with_flags
    - bn_mod_sub_fixed_top
    - BN_add
    - bn_to_mont_fixed_top
    - bn_mod_add_fixed_top
    - bn_mul_fixed_top
    - BN_CTX_end
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_num
    - BN_num_bits
    - BN_MONT_CTX_set_locked
    - BN_mod
    - BN_CTX_get
    - bn_mul_mont_fixed_top
    - BN_new
    - bn_correct_top
    - BN_mod_exp_mont_consttime_x2
    - BN_is_negative
    - BN_mul
    - BN_free
    - BN_sub
    - bn_from_mont_fixed_top
    linkageType: ''
    returnType: int
    signature: 'static int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa,
      BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: RSA_set_default_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RSA_set_default_method(const RSA_METHOD *meth) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: RSA_PKCS1_OpenSSL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD*
    signature: 'const RSA_METHOD *RSA_PKCS1_OpenSSL(void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:82,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:94,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:99,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:105,1
    - Dst: ossl_rsa_padding_add_PKCS1_type_2_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:113,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:125,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:134,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:141,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:81,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:92,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:101,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:103,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:131,1
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:117,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:153,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:156,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:86,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:93,1
    - Dst: RSA_padding_add_none
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:136,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:107,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:157,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:155,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 58
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 159
    functionName: rsa_ossl_public_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_ucmp
    - ossl_rsa_padding_add_PKCS1_type_2_ex
    - BN_num_bytes
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    - RSA_padding_add_none
    - BN_CTX_end
    - BN_num_bits
    - BN_bn2binpad
    - BN_CTX_free
    - BN_MONT_CTX_set_locked
    - OPENSSL_malloc
    - BN_CTX_start
    - BN_bin2bn
    - OPENSSL_clear_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int rsa_ossl_public_encrypt(int flen, const unsigned char *from,
      unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_convert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:208,1
    - Dst: BN_BLINDING_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:219,1
    - Dst: BN_BLINDING_convert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:218,1
    - Dst: BN_BLINDING_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - b
    - f
    - unblind
    - ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: rsa_blinding_convert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_BLINDING_lock
    - BN_BLINDING_convert_ex
    - BN_BLINDING_unlock
    linkageType: ''
    returnType: int
    signature: 'static int rsa_blinding_convert(BN_BLINDING *b, BIGNUM *f, BIGNUM
      *unblind, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: rsa_ossl_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rsa_ossl_init(RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:989,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:990,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:995,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:996,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:991,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 999
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 999
    functionName: rsa_ossl_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_num
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int rsa_ossl_finish(RSA *rsa) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:260,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:265,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:280,1
    - Dst: rsa_get_blinding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:301,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:309,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:289,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:296,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:335,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:351,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:368,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:262,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:263,1
    - Dst: RSA_padding_add_X931
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:274,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:286,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:310,1
    - Dst: rsa_blinding_convert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:313,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:327,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:331,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:332,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:257,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:259,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:261,1
    - Dst: RSA_padding_add_none
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:291,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:325,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:339,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:353,1
    - Dst: RSA_padding_add_PKCS1_type_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:271,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:343,1
    - Dst: rsa_blinding_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:347,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:365,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:369,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:367,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 103
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 371
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 371
    functionName: rsa_ossl_private_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - RSA_padding_add_PKCS1_type_1
    - BN_num_bytes
    - BN_CTX_free
    - BN_CTX_start
    - BN_with_flags
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - BN_CTX_end
    - RSA_padding_add_none
    - rsa_blinding_convert
    - BN_bn2binpad
    - BN_bin2bn
    - rsa_get_blinding
    - BN_ucmp
    - BN_MONT_CTX_set_locked
    - rsa_blinding_invert
    - BN_CTX_get
    - ERR_raise
    - RSA_padding_add_X931
    - BN_new
    - BN_free
    - BN_sub
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int rsa_ossl_private_encrypt(int flen, const unsigned char
      *from, unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:519,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:524,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:531,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:536,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:539,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:557,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:574,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:575,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:602,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:529,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:553,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:561,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:544,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:578,1
    - Dst: RSA_padding_check_X931
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:587,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:597,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:600,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:523,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:530,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:542,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:541,1
    - Dst: RSA_padding_check_PKCS1_type_1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:584,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:593,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:601,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:518,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:538,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:566,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:540,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:560,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c:590,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 70
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 604
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 604
    functionName: rsa_ossl_public_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ossl.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - BN_CTX_free
    - BN_CTX_start
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - bn_get_words
    - BN_CTX_end
    - BN_bn2binpad
    - RSA_padding_check_X931
    - BN_bin2bn
    - BN_ucmp
    - memcpy
    - BN_num_bits
    - BN_MONT_CTX_set_locked
    - BN_CTX_get
    - ERR_raise
    - RSA_padding_check_PKCS1_type_1
    - BN_sub
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int rsa_ossl_public_decrypt(int flen, const unsigned char *from,
      unsigned char *to, RSA *rsa, int padding) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:32,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:45,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:33,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:34,1
    - Dst: BN_GENCB_set_old
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:49,1
    - Dst: RSA_generate_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:51,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:52,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:53,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:57,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:58,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c:59,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - bits
    - e_value
    - (*callback)
    - cb_arg
    argTypes:
    - int
    - unsigned long
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: RSA_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_depr.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_generate_key_ex
    - BN_GENCB_new
    - BN_GENCB_set_old
    - BN_set_bit
    - BN_new
    - BN_free
    - RSA_new
    - BN_GENCB_free
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *RSA_generate_key(int bits, unsigned long e_value, void (*callback)
      (int, int, void *), void *cb_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_padding_add_PKCS1_type_2_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: RSA_padding_add_PKCS1_type_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c
    functionUses: []
    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, const
      unsigned char *from, int flen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:81,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:101,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:106,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:112,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 118
    functionName: RSA_padding_check_PKCS1_type_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, const
      unsigned char *from, int flen, int num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:321,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:325,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:319,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:326,1
    - Dst: constant_time_is_zero_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:330,1
    - Dst: constant_time_is_zero_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:331,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:343,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:346,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:363,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:380,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    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
    constantsTouched: []
    func_position:
      end: 395
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 395
    functionName: ossl_rsa_padding_check_PKCS1_type_2_TLS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - constant_time_is_zero
    - constant_time_eq
    - RAND_priv_bytes_ex
    - 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,
      unsigned char *to, size_t tlen, const unsigned char *from, size_t flen, int
      client_version, int alt_version) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:34,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:48,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: RSA_padding_add_PKCS1_type_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - memset
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, const
      unsigned char *from, int flen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:207,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:201,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:208,1
    - Dst: constant_time_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:257,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:185,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:215,1
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:225,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:252,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:254,1
    - Dst: err_clear_last_constant_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:191,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:189,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:213,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:261,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:272,1
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:237,1
    - Dst: constant_time_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:268,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:258,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 87
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 273
    functionName: RSA_padding_check_PKCS1_type_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c
    functionUses: []
    functionsReached:
    - constant_time_select_int
    - ERR_raise
    - constant_time_is_zero
    - constant_time_eq
    - err_clear_last_constant_time
    - constant_time_lt
    - constant_time_select_8
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - constant_time_ge
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, const
      unsigned char *from, int flen, int num) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:128,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:143,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:131,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:156,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c:148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 5
    argNames:
    - libctx
    - to
    - tlen
    - from
    - flen
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: ossl_rsa_padding_add_PKCS1_type_2_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pk1.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_padding_add_PKCS1_type_2_ex(OSSL_LIB_CTX *libctx, unsigned
      char *to, int tlen, const unsigned char *from, int flen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:26,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:30,1
    - Dst: RSA_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:31,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:27,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:26,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: RSA_print_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_set_fp
    - BIO_free
    - BIO_new
    - BIO_s_file
    - RSA_print
    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/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:41,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:46,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:44,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: RSA_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_prn.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_set1_RSA
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: 'int RSA_print(BIO *bp, const RSA *x, int off) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_padding_check_PKCS1_OAEP_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 7
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    - param
    - plen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: RSA_padding_check_PKCS1_OAEP
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c
    functionUses: []
    functionsReached:
    - RSA_padding_check_PKCS1_OAEP_mgf1
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, const
      unsigned char *from, int flen, int num, const unsigned char *param, int plen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:71,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:80,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:86,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:91,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:101,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:104,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:107,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:115,1
    - Dst: PKCS1_MGF1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:120,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:136,1
    - Dst: PKCS1_MGF1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:127,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:135,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:113,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    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*
    constantsTouched: []
    func_position:
      end: 138
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 138
    functionName: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - ERR_raise
    - RAND_bytes_ex
    - memcpy
    - EVP_Digest
    - OPENSSL_cleanse
    - EVP_sha1
    - EVP_MD_get_size
    - PKCS1_MGF1
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex(OSSL_LIB_CTX *libctx,
      unsigned char *to, int tlen, const unsigned char *from, int flen, const unsigned
      char *param, int plen, const EVP_MD *md, const EVP_MD *mgf1md) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:336,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:354,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:356,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:355,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:343,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:359,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:363,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:365,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:371,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:372,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 5
    argNames:
    - mask
    - len
    - seed
    - seedlen
    - dgst
    argTypes:
    - unsigned char*
    - long
    - unsigned char*
    - long
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 374
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 374
    functionName: PKCS1_MGF1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcpy
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char
      *seed, long seedlen, const EVP_MD *dgst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - to
    - tlen
    - from
    - flen
    - param
    - plen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: RSA_padding_add_PKCS1_OAEP
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c
    functionUses: []
    functionsReached:
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, const
      unsigned char *from, int flen, const unsigned char *param, int plen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:176,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:186,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:223,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:234,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:261,1
    - Dst: PKCS1_MGF1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:244,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:259,1
    - Dst: constant_time_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:292,1
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:295,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:301,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:178,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:210,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:212,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:252,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:292,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:313,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:321,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:206,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:249,1
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:280,1
    - Dst: PKCS1_MGF1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:239,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:260,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:297,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:252,1
    - Dst: constant_time_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:300,1
    - Dst: err_clear_last_constant_time
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:314,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:317,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:319,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:318,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 131
    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*
    constantsTouched: []
    func_position:
      end: 322
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 322
    functionName: RSA_padding_check_PKCS1_OAEP_mgf1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - ERR_raise
    - constant_time_select_int
    - constant_time_is_zero
    - constant_time_eq
    - err_clear_last_constant_time
    - EVP_Digest
    - OPENSSL_cleanse
    - EVP_sha1
    - EVP_MD_get_size
    - constant_time_lt
    - constant_time_select_8
    - PKCS1_MGF1
    - CRYPTO_memcmp
    - OPENSSL_malloc
    - constant_time_ge
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,
      const unsigned char *from, int flen, int num, const unsigned char *param, int
      plen, const EVP_MD *md, const EVP_MD *mgf1md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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*
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: RSA_padding_add_PKCS1_OAEP_mgf1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_oaep.c
    functionUses: []
    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, const
      unsigned char *from, int flen, const unsigned char *param, int plen, const EVP_MD
      *md, const EVP_MD *mgf1md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_verify_PKCS1_PSS_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - rsa
    - mHash
    - Hash
    - EM
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - EVP_MD*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: RSA_verify_PKCS1_PSS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached:
    - RSA_verify_PKCS1_PSS_mgf1
    linkageType: ''
    returnType: int
    signature: 'int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, const
      EVP_MD *Hash, const unsigned char *EM, int sLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_padding_add_PKCS1_PSS_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - rsa
    - EM
    - mHash
    - Hash
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - unsigned char*
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: RSA_padding_add_PKCS1_PSS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached:
    - RSA_padding_add_PKCS1_PSS_mgf1
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, const unsigned
      char *mHash, const EVP_MD *Hash, int sLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: ossl_rsa_pss_params_30_is_unrestricted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_is_unrestricted(const RSA_PSS_PARAMS_30
      *rsa_pss_params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rsa_pss_params
    - hashalg_nid
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: ossl_rsa_pss_params_30_set_hashalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_set_hashalg(RSA_PSS_PARAMS_30 *rsa_pss_params,
      int hashalg_nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rsa_pss_params
    - maskgenhashalg_nid
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: ossl_rsa_pss_params_30_set_maskgenhashalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_set_maskgenhashalg(RSA_PSS_PARAMS_30 *rsa_pss_params,
      int maskgenhashalg_nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rsa_pss_params
    - trailerfield
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: ossl_rsa_pss_params_30_set_trailerfield
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_set_trailerfield(RSA_PSS_PARAMS_30 *rsa_pss_params,
      int trailerfield) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: ossl_rsa_pss_params_30_maskgenalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: ossl_rsa_pss_params_30_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_saltlen(const RSA_PSS_PARAMS_30 *rsa_pss_params) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:166,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:185,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:198,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:204,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:207,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:212,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:215,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:219,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:221,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:250,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:216,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:251,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:217,1
    - Dst: PKCS1_MGF1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:225,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 88
    argCount: 6
    argNames:
    - rsa
    - EM
    - mHash
    - Hash
    - mgf1Hash
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - unsigned char*
    - EVP_MD*
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 255
    functionName: RSA_padding_add_PKCS1_PSS_mgf1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - EVP_DigestUpdate
    - ERR_raise
    - EVP_MD_CTX_new
    - RSA_size
    - EVP_MD_CTX_free
    - BN_num_bits
    - EVP_MD_get_size
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - PKCS1_MGF1
    - OPENSSL_malloc
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, const
      unsigned char *mHash, const EVP_MD *Hash, const EVP_MD *mgf1Hash, int sLen) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:89,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:125,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:68,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:75,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:98,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:100,1
    - Dst: PKCS1_MGF1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:103,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:115,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:131,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:138,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:55,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:72,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:93,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:111,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:139,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:46,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:128,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:121,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 101
    argCount: 6
    argNames:
    - rsa
    - mHash
    - Hash
    - mgf1Hash
    - EM
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - EVP_MD*
    - EVP_MD*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 143
    functionName: RSA_verify_PKCS1_PSS_mgf1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - memcmp
    - EVP_MD_CTX_new
    - RSA_size
    - OPENSSL_free
    - EVP_MD_CTX_free
    - BN_num_bits
    - EVP_MD_get_size
    - ERR_raise_data
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - PKCS1_MGF1
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,
      const EVP_MD *Hash, const EVP_MD *mgf1Hash, const unsigned char *EM, int sLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: ossl_rsa_pss_params_30_set_defaults
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    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: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - RSA_PSS_PARAMS_30*
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: ossl_rsa_pss_params_30_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_copy(RSA_PSS_PARAMS_30 *to, const RSA_PSS_PARAMS_30
      *from) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rsa_pss_params
    - maskgenalg_nid
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: ossl_rsa_pss_params_30_set_maskgenalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_set_maskgenalg(RSA_PSS_PARAMS_30 *rsa_pss_params,
      int maskgenalg_nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - rsa_pss_params
    - saltlen
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: ossl_rsa_pss_params_30_set_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_set_saltlen(RSA_PSS_PARAMS_30 *rsa_pss_params,
      int saltlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: ossl_rsa_pss_params_30_hashalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: ossl_rsa_pss_params_30_maskgenhashalg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    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: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: ossl_rsa_pss_params_30_trailerfield
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pss.c
    functionUses: []
    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_generate_multi_prime_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - rsa
    - bits
    - e_value
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: RSA_generate_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c
    functionUses: []
    functionsReached:
    - 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: ossl_rsa_sp800_56b_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:429,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:438,1
    - Dst: rsa_multiprime_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:441,1
    - Dst: ossl_rsa_sp800_56b_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:439,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:448,1
    - Dst: rsa_keygen_pairwise_test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:449,1
    - Dst: ossl_set_error_state
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:451,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:453,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:454,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:455,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:458,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:457,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:456,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 7
    argNames:
    - libctx
    - rsa
    - bits
    - primes
    - e_value
    - cb
    - pairwise_test
    argTypes:
    - OSSL_LIB_CTX*
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    - int
    constantsTouched: []
    func_position:
      end: 468
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 468
    functionName: rsa_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - rsa_multiprime_keygen
    - BN_num_bits
    - rsa_keygen_pairwise_test
    - ossl_rsa_sp800_56b_generate_key
    - BN_clear_free
    - ossl_set_error_state
    linkageType: ''
    returnType: int
    signature: 'static int rsa_keygen(OSSL_LIB_CTX *libctx, RSA *rsa, int bits, int
      primes, BIGNUM *e_value, BN_GENCB *cb, int pairwise_test) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:489,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:500,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:505,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:495,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:492,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:510,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:513,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:515,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:518,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:523,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:524,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:525,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 3
    argNames:
    - rsa
    - cb
    - cbarg
    argTypes:
    - RSA*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 528
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 528
    functionName: rsa_keygen_pairwise_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_onend
    - memcmp
    - RSA_size
    - OPENSSL_free
    - RSA_private_decrypt
    - OPENSSL_zalloc
    - OSSL_SELF_TEST_oncorrupt_byte
    - RSA_public_encrypt
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_free
    linkageType: ''
    returnType: int
    signature: 'static int rsa_keygen_pairwise_test(RSA *rsa, OSSL_CALLBACK *cb, void
      *cbarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - rsa
    - bits
    - primes
    - e_value
    - cb
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: RSA_generate_multi_prime_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c
    functionUses: []
    functionsReached:
    - rsa_keygen
    linkageType: ''
    returnType: int
    signature: 'int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes, BIGNUM
      *e_value, BN_GENCB *cb) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:89,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:129,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:140,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:216,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:219,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:208,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:372,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:109,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:156,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:366,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:400,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:267,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:134,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:225,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:232,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:332,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:408,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:374,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:322,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:356,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:245,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:94,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:389,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:166,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:183,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:385,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:418,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:127,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:138,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:307,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:249,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:347,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:393,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:146,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:211,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:284,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:381,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:110,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:414,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:95,1
    - Dst: BN_generate_prime_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:101,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:137,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:170,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:228,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:334,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:336,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:269,1
    - Dst: BN_GENCB_call
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:309,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:151,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:224,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:364,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:361,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:375,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:325,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:399,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:218,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:99,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:144,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:402,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:81,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:130,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:141,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:216,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:348,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:241,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:226,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:401,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:352,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:105,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:186,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:334,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:346,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:305,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:328,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:135,1
    - Dst: ossl_rsa_multip_info_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:163,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:220,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:341,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:325,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:392,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:313,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:365,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:322,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:108,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:111,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:125,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:143,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c:417,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 284
    argCount: 5
    argNames:
    - rsa
    - bits
    - primes
    - e_value
    - cb
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 420
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 420
    functionName: rsa_multiprime_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_gen.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ossl_rsa_multip_info_new
    - sk_RSA_PRIME_INFO_new_reserve
    - BN_CTX_free
    - ERR_set_mark
    - BN_CTX_start
    - BN_with_flags
    - sk_RSA_PRIME_INFO_push
    - ossl_rsa_multip_cap
    - BN_generate_prime_ex2
    - STACK_OF
    - BN_CTX_end
    - BN_secure_new
    - BN_copy
    - sk_RSA_PRIME_INFO_pop_free
    - sk_RSA_PRIME_INFO_value
    - BN_GENCB_call
    - BN_mod
    - BN_mod_inverse
    - BN_rshift
    - ERR_peek_last_error
    - BN_CTX_get
    - ERR_raise
    - ERR_pop_to_mark
    - BN_value_one
    - BN_new
    - ERR_GET_LIB
    - ossl_rsa_check_public_exponent
    - BN_mul
    - BN_get_word
    - BN_free
    - BN_sub
    - BN_set_flags
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int rsa_multiprime_keygen(RSA *rsa, int bits, int primes, BIGNUM
      *e_value, BN_GENCB *cb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:117,1
    - Dst: RSA_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:118,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:123,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: rsa_pub_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_flags
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: old_rsa_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - i2d_RSAPrivateKey
    linkageType: ''
    returnType: int
    signature: 'static int old_rsa_priv_encode(const EVP_PKEY *pkey, unsigned char
      **pder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: rsa_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'static int rsa_bits(const EVP_PKEY *pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_get_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:428,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:430,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 443
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 443
    functionName: rsa_pkey_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_MD_get_type
    - ossl_rsa_pss_get_param
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:604,1
    - Dst: rsa_pss_verify_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - pss
    - pmd
    - pmgf1md
    - psaltlen
    argTypes:
    - RSA_PSS_PARAMS*
    - EVP_MD**
    - EVP_MD**
    - int*
    constantsTouched: []
    func_position:
      end: 607
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 607
    functionName: ossl_rsa_pss_get_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - ossl_rsa_pss_get_param_unverified
    - rsa_pss_verify_param
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_get_param(const RSA_PSS_PARAMS *pss, const EVP_MD
      **pmd, const EVP_MD **pmgf1md, int *psaltlen) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:635,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:637,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:646,1
    - Dst: ASN1_STRING_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:655,1
    - Dst: ossl_rsa_ctx_to_pss_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:650,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:658,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:661,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:661,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:663,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:664,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:676,1
    - Dst: d2i_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:694,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:678,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:680,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:670,1
    - Dst: d2i_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:688,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:668,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:668,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 45
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - alg1
    - alg2
    - sig
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 701
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 701
    functionName: rsa_item_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_dup
    - d2i_X509_ALGOR
    - ossl_rsa_ctx_to_pss_string
    - OBJ_nid2obj
    - EVP_PKEY_CTX_get_params
    - EVP_MD_CTX_get_pkey_ctx
    - X509_ALGOR_set0
    - ASN1_STRING_free
    - EVP_PKEY_CTX_get_rsa_padding
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_is_legacy
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int rsa_item_sign(EVP_MD_CTX *ctx, const ASN1_ITEM *it, const
      void *asn, X509_ALGOR *alg1, X509_ALGOR *alg2, ASN1_BIT_STRING *sig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:133,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: old_rsa_priv_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - d2i_RSAPrivateKey
    linkageType: ''
    returnType: int
    signature: 'static int old_rsa_priv_decode(EVP_PKEY *pkey, const unsigned char
      **pder, int derlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_param_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:151,1
    - Dst: PKCS8_pkey_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:156,1
    - Dst: i2d_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:153,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:157,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:163,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:164,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 170
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 170
    functionName: rsa_priv_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - i2d_RSAPrivateKey
    - rsa_param_encode
    - ERR_raise
    - PKCS8_pkey_set0
    - OBJ_nid2obj
    - ASN1_STRING_free
    linkageType: ''
    returnType: int
    signature: 'static int rsa_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY
      *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: rsa_security_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_security_bits
    linkageType: ''
    returnType: int
    signature: 'static int rsa_security_bits(const EVP_PKEY *pkey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:714,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:720,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:726,1
    - Dst: ossl_rsa_pss_get_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:718,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:717,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:727,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:732,1
    - Dst: X509_SIG_INFO_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:749,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:753,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 3
    argNames:
    - siginf
    - sigalg
    - sig
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 755
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 755
    functionName: rsa_sig_info_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_PSS_PARAMS_free
    - ossl_rsa_pss_decode
    - OBJ_obj2nid
    - EVP_MD_get_type
    - EVP_MD_get_size
    - X509_SIG_INFO_set
    - ossl_rsa_pss_get_param
    linkageType: ''
    returnType: int
    signature: 'static int rsa_sig_info_set(X509_SIG_INFO *siginf, const X509_ALGOR
      *sigalg, const ASN1_STRING *sig) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_key_from_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:175,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - p8
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: rsa_priv_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_rsa_key_from_pkcs8
    linkageType: ''
    returnType: int
    signature: 'static int rsa_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO
      *p8) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PSS_PARAMS_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:478,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:489,1
    - Dst: ossl_x509_algor_md_to_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:493,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:486,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:483,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:495,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 19
    argCount: 3
    argNames:
    - sigmd
    - mgf1md
    - saltlen
    argTypes:
    - EVP_MD*
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 501
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 501
    functionName: ossl_rsa_pss_params_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - ossl_x509_algor_new_from_md
    - RSA_PSS_PARAMS_new
    - RSA_PSS_PARAMS_free
    - ossl_x509_algor_md_to_mgf1
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    linkageType: ''
    returnType: RSA_PSS_PARAMS*
    signature: 'RSA_PSS_PARAMS *ossl_rsa_pss_params_create(const EVP_MD *sigmd, const
      EVP_MD *mgf1md, int saltlen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:777,1
    - Dst: RSA_get0_n
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:785,1
    - Dst: ossl_rsa_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:788,1
    - Dst: RSA_get0_e
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:785,1
    - Dst: RSA_get0_d
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:792,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:800,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:803,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:804,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:805,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:806,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:810,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:815,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:809,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:822,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:823,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:807,1
    - Dst: importer
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:819,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 44
    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*
    constantsTouched: []
    func_position:
      end: 825
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 825
    functionName: rsa_int_export_to
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - ossl_rsa_pss_params_30_todata
    - OSSL_PARAM_free
    - ossl_rsa_todata
    - RSA_get0_e
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - EVP_MD_get_type
    - RSA_get0_n
    - ossl_rsa_pss_params_30_set_hashalg
    - OSSL_PARAM_BLD_to_param
    - ossl_rsa_pss_get_param_unverified
    - OSSL_PARAM_BLD_new
    - RSA_get0_d
    - importer
    - ossl_rsa_pss_params_30_set_saltlen
    - ossl_rsa_pss_params_30_set_defaults
    linkageType: ''
    returnType: int
    signature: 'static int rsa_int_export_to(const EVP_PKEY *from, int rsa_type, void
      *to_keydata, OSSL_FUNC_keymgmt_import_fn *importer, OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_export_to
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: rsa_pkey_export_to
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - rsa_int_export_to
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pkey_export_to(const EVP_PKEY *from, void *to_keydata,
      OSSL_FUNC_keymgmt_import_fn *importer, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_import_from
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: rsa_pkey_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - rsa_int_import_from
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pkey_import_from(const OSSL_PARAM params[], void *vpctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: int_rsa_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_size
    linkageType: ''
    returnType: int
    signature: 'static int int_rsa_size(const EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsa_ctx_to_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:505,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:511,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:512,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pkctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 514
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 514
    functionName: ossl_rsa_ctx_to_pss_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_PSS_PARAMS_free
    - ASN1_item_pack
    - 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: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:831,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:838,1
    - Dst: RSA_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:842,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:832,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:843,1
    - Dst: ossl_rsa_pss_params_30_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:845,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:855,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:863,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:865,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:866,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:867,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:868,1
    - Dst: ossl_rsa_pss_params_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:871,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:886,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:889,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:869,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:895,1
    - Dst: ossl_rsa_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:881,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 33
    argCount: 3
    argNames:
    - params
    - vpctx
    - rsa_type
    argTypes:
    - OSSL_PARAM
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 897
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 897
    functionName: rsa_int_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_free
    - EVP_get_digestbynid
    - RSA_clear_flags
    - ERR_raise
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_create
    - RSA_set_flags
    - ossl_rsa_pss_params_30_fromdata
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_rsa_new_with_ctx
    - ossl_rsa_pss_params_30_hashalg
    - EVP_PKEY_assign
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_fromdata
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: int
    signature: 'static int rsa_int_import_from(const OSSL_PARAM params[], void *vpctx,
      int rsa_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_export_to
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:911,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: rsa_pss_pkey_export_to
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - rsa_int_export_to
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pss_pkey_export_to(const EVP_PKEY *from, void *to_keydata,
      OSSL_FUNC_keymgmt_import_fn *importer, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_import_from
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: rsa_pss_pkey_import_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - rsa_int_import_from
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pss_pkey_import_from(const OSSL_PARAM params[], void
      *vpctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: int_rsa_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_free
    linkageType: ''
    returnType: void
    signature: 'static void int_rsa_free(EVP_PKEY *pkey) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:531,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:539,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:532,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:536,1
    - Dst: ossl_rsa_pss_get_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:538,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:545,1
    - Dst: EVP_PKEY_CTX_get_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:549,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:551,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:552,1
    - Dst: EVP_PKEY_CTX_set_rsa_mgf1_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:563,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:560,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:557,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:569,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - pkctx
    - sigalg
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 571
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 571
    functionName: ossl_rsa_pss_to_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_get_signature_md
    - RSA_PSS_PARAMS_free
    - ossl_rsa_pss_decode
    - OBJ_obj2nid
    - EVP_MD_get_type
    - EVP_DigestVerifyInit
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - ossl_rsa_pss_get_param
    - EVP_PKEY_CTX_set_rsa_mgf1_md
    - EVP_PKEY_CTX_set_rsa_padding
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_to_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pkctx, const
      X509_ALGOR *sigalg, EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:932,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:939,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:937,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 941
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 941
    functionName: rsa_pkey_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign
    - ossl_rsa_dup
    - RSA_free
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pkey_copy(EVP_PKEY *to, EVP_PKEY *from) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:257,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:259,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:262,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:251,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:269,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:274,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:294,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:218,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:214,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:242,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:248,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:245,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:265,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:255,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:277,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:284,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:286,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:226,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:222,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:236,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:238,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:272,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:289,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:210,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:230,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:232,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:253,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:267,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:279,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:281,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 76
    argCount: 4
    argNames:
    - bp
    - pss_key
    - pss
    - indent
    argTypes:
    - BIO*
    - int
    - RSA_PSS_PARAMS*
    - int
    constantsTouched: []
    func_position:
      end: 297
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 297
    functionName: rsa_pss_param_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_ALGOR_free
    - ossl_x509_algor_mgf1_decode
    - BIO_indent
    - i2a_ASN1_OBJECT
    - i2a_ASN1_INTEGER
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pss_param_print(BIO *bp, int pss_key, RSA_PSS_PARAMS
      *pss, int indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:577,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:585,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 4
    argNames:
    - pmd
    - pmgf1md
    - psaltlen
    - ptrailerField
    argTypes:
    - EVP_MD**
    - EVP_MD**
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 589
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 589
    functionName: rsa_pss_verify_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pss_verify_param(const EVP_MD **pmd, const EVP_MD **pmgf1md,
      int *psaltlen, int *ptrailerField) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:35,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:45,1
    - Dst: ASN1_item_pack
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:45,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pkey
    - pstr
    - pstrtype
    argTypes:
    - EVP_PKEY*
    - ASN1_STRING**
    - int*
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: rsa_param_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_test_flags
    - ASN1_ITEM_rptr
    - ASN1_item_pack
    linkageType: ''
    returnType: int
    signature: 'static int rsa_param_encode(const EVP_PKEY *pkey, ASN1_STRING **pstr,
      int *pstrtype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_param_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:59,1
    - Dst: i2d_RSAPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:61,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:63,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:66,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:66,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:70,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: rsa_pub_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - rsa_param_encode
    - OPENSSL_free
    - i2d_RSAPublicKey
    - OBJ_nid2obj
    - X509_PUBKEY_set0_param
    - ASN1_STRING_free
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:310,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:337,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:345,1
    - Dst: BIO_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:355,1
    - Dst: pkey_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:381,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:307,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:317,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:323,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:335,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:347,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:343,1
    - Dst: rsa_pss_param_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:381,1
    - Dst: pkey_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:313,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:328,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:330,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:359,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:341,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:364,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:376,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:308,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:313,1
    - Dst: ASN1_bn_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:339,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:353,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:369,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 72
    argCount: 4
    argNames:
    - bp
    - pkey
    - 'off'
    - priv
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 386
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 386
    functionName: pkey_rsa_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - rsa_pss_param_print
    - sk_RSA_PRIME_INFO_num
    - BN_num_bits
    - pkey_is_pss
    - BIO_indent
    - ASN1_bn_print
    - sk_RSA_PRIME_INFO_value
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_print(BIO *bp, const EVP_PKEY *pkey, int off,
      int priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_rsa_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: rsa_priv_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - pkey_rsa_print
    linkageType: ''
    returnType: int
    signature: 'static int rsa_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_check_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: rsa_pkey_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_check_key_ex
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pkey_check(const EVP_PKEY *pkey) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:82,1
    - Dst: d2i_RSAPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:84,1
    - Dst: ossl_rsa_param_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:86,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:87,1
    - Dst: RSA_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:91,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:94,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:97,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:104,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    constantsTouched: []
    func_position:
      end: 109
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 109
    functionName: rsa_pub_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_clear_flags
    - RSA_set_flags
    - d2i_RSAPublicKey
    - X509_PUBKEY_get0_param
    - EVP_PKEY_assign
    - ossl_rsa_param_decode
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_rsa_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: rsa_pub_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - pkey_rsa_print
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,
      ASN1_PCTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:403,1
    - Dst: rsa_pss_param_print
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:407,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:411,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:408,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:405,1
    - Dst: X509_signature_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:415,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - bp
    - sigalg
    - sig
    - indent
    - pctx
    argTypes:
    - BIO*
    - X509_ALGOR*
    - ASN1_STRING*
    - int
    - ASN1_PCTX*
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: rsa_sig_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - RSA_PSS_PARAMS_free
    - ossl_rsa_pss_decode
    - OBJ_obj2nid
    - X509_signature_dump
    - rsa_pss_param_print
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int rsa_sig_print(BIO *bp, const X509_ALGOR *sigalg, const
      ASN1_STRING *sig, int indent, ASN1_PCTX *pctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 765
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 765
    functionName: rsa_pkey_dirty_cnt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t rsa_pkey_dirty_cnt(const EVP_PKEY *pkey) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:453,1
    - Dst: EVP_PKEY_CTX_get_rsa_pss_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:460,1
    - Dst: EVP_PKEY_CTX_get_rsa_mgf1_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:458,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:463,1
    - Dst: EVP_PKEY_CTX_get_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:456,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:465,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:465,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:466,1
    - Dst: ossl_rsa_pss_params_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:472,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - pkctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 473
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 473
    functionName: rsa_ctx_to_pss
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_rsa_mgf1_md
    - ossl_rsa_pss_params_create
    - EVP_MD_get_size
    - EVP_PKEY_CTX_get_rsa_pss_saltlen
    - EVP_PKEY_get_bits
    - EVP_PKEY_CTX_get_signature_md
    - EVP_PKEY_get_size
    - EVP_PKEY_CTX_get0_pkey
    linkageType: ''
    returnType: RSA_PSS_PARAMS*
    signature: 'static RSA_PSS_PARAMS *rsa_ctx_to_pss(EVP_PKEY_CTX *pkctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:619,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:623,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c:620,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - sigalg
    - sig
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 628
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: rsa_item_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_ameth.c
    functionUses: []
    functionsReached:
    - ossl_rsa_pss_to_ctx
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: 'static int rsa_item_verify(EVP_MD_CTX *ctx, const ASN1_ITEM *it, const
      void *asn, const X509_ALGOR *sigalg, const ASN1_BIT_STRING *sig, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 0
    argNames:
    - RSA_PSS_PARAMS
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: IMPLEMENT_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(RSA_PSS_PARAMS) IMPLEMENT_ASN1_DUP_FUNCTION(RSA_PSS_PARAMS)
      /* Free up maskHash */ static int rsa_oaep_cb(int operation, ASN1_VALUE **pval,
      const ASN1_ITEM *it, void *exarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:126,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: RSAPrivateKey_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_dup
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *RSAPrivateKey_dup(const RSA *rsa) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:117,1
    - Dst: ASN1_item_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:121,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: RSAPublicKey_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c
    functionUses: []
    functionsReached:
    - ASN1_item_dup
    - ASN1_ITEM_rptr
    - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname
    linkageType: ''
    returnType: IMPLEMENT_ASN1_FUNCTIONS(RSA_OAEP_PARAMS)*
    signature: 'IMPLEMENT_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(RSA,
      RSAPrivateKey, RSAPrivateKey)IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(RSA, RSAPublicKey,
      RSAPublicKey)RSA *RSAPublicKey_dup(const RSA *rsa) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: rsa_pss_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pss_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:31,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:36,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c:44,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: rsa_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_asn1.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_new
    - ossl_rsa_multip_calc_product
    linkageType: ''
    returnType: int
    signature: 'static int rsa_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it, void *exarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c:23,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c:28,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: RSA_padding_add_none
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned
      char *from, int flen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c:41,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c:45,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: RSA_padding_check_none
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_none.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - memset
    linkageType: ''
    returnType: int
    signature: 'int RSA_padding_check_none(unsigned char *to, int tlen, const unsigned
      char *from, int flen, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: RSA_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: 'int RSA_bits(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: RSA_private_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_private_decrypt(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: RSA_public_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_public_encrypt(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: RSA_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_flags(const RSA *r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_blinding_off
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:74,1
    - Dst: RSA_setup_blinding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: RSA_blinding_on
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached:
    - RSA_blinding_off
    - RSA_setup_blinding
    linkageType: ''
    returnType: int
    signature: 'int RSA_blinding_on(RSA *rsa, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: RSA_private_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_private_encrypt(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: RSA_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: 'int RSA_size(const RSA *r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: RSA_public_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int RSA_public_decrypt(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: RSA_blinding_off
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached:
    - BN_BLINDING_free
    linkageType: ''
    returnType: void
    signature: 'void RSA_blinding_off(RSA *rsa) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:95,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:96,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:98,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:97,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:102,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:102,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:104,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:104,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:106,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:109,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:111,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 4
    argNames:
    - d
    - p
    - q
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: rsa_get_public_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_value_one
    - BN_mod_inverse
    - BN_mul
    - BN_CTX_start
    - BN_sub
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *rsa_get_public_exp(const BIGNUM *d, const BIGNUM *p,
      const BIGNUM *q, BN_CTX *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:122,1
    - Dst: rsa_get_public_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:136,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:128,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:138,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:146,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:149,1
    - Dst: BN_with_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:152,1
    - Dst: BN_BLINDING_create_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:160,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:167,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:169,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:171,1
    - Dst: BN_BLINDING_set_current_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:164,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c:157,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 2
    argNames:
    - rsa
    - in_ctx
    argTypes:
    - RSA*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 174
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 174
    functionName: RSA_setup_blinding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_crpt.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_new
    - BN_CTX_free
    - BN_BLINDING_set_current_thread
    - BN_CTX_start
    - BN_free
    - BN_with_flags
    - rsa_get_public_exp
    - BN_BLINDING_create_param
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BN_BLINDING*
    signature: 'BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *in_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: ossl_rsa_validate_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c
    functionUses: []
    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_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:249,1
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:249,1
    - Dst: rsa_validate_keypair_multiprime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: ossl_rsa_validate_pairwise
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c
    functionUses: []
    functionsReached:
    - ossl_rsa_sp800_56b_check_keypair
    - RSA_bits
    - rsa_validate_keypair_multiprime
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_validate_pairwise(const RSA *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_check_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: RSA_check_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c
    functionUses: []
    functionsReached:
    - RSA_check_key_ex
    linkageType: ''
    returnType: int
    signature: 'int RSA_check_key(const RSA *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: ossl_rsa_validate_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c
    functionUses: []
    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_validate_public
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:263,1
    - Dst: rsa_validate_keypair_multiprime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:267,1
    - Dst: ossl_rsa_validate_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:264,1
    - Dst: ossl_rsa_validate_pairwise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - key
    - cb
    argTypes:
    - RSA*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: RSA_check_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c
    functionUses: []
    functionsReached:
    - ossl_rsa_validate_private
    - ossl_rsa_validate_pairwise
    - ossl_rsa_validate_public
    - rsa_validate_keypair_multiprime
    linkageType: ''
    returnType: int
    signature: 'int RSA_check_key_ex(const RSA *key, BN_GENCB *cb) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:36,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:69,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:61,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:83,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:88,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:99,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:118,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:136,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:156,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:227,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:202,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:161,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:131,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:219,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:229,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:30,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:73,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:80,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:93,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:104,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:112,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:112,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:126,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:161,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:108,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:206,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:165,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:193,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:149,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:144,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:108,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:231,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:39,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:38,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:44,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:45,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:46,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:47,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:48,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:67,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:63,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:81,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:200,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:175,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:195,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:228,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:212,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:171,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:59,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:49,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:75,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:140,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:154,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:169,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:183,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:189,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:210,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:221,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:230,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c:132,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 228
    argCount: 2
    argNames:
    - key
    - cb
    argTypes:
    - RSA*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 233
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 233
    functionName: rsa_validate_keypair_multiprime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_chk.c
    functionUses: []
    functionsReached:
    - BN_div
    - BN_CTX_free
    - BN_is_odd
    - ossl_rsa_multip_cap
    - BN_is_one
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_num
    - BN_num_bits
    - BN_mod
    - BN_mod_inverse
    - BN_check_prime
    - ERR_raise
    - BN_value_one
    - BN_new
    - BN_mod_mul
    - BN_mul
    - BN_free
    - BN_gcd
    - BN_sub
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int rsa_validate_keypair_multiprime(const RSA *key, BN_GENCB
      *cb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:35,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:41,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:36,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:38,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:43,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:47,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:48,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:54,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - type
    - m
    - m_len
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    constantsTouched: []
    func_position:
      end: 56
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 56
    functionName: RSA_sign_ASN1_OCTET_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c
    functionUses: []
    functionsReached:
    - i2d_ASN1_OCTET_STRING
    - ERR_raise
    - RSA_size
    - RSA_private_encrypt
    - OPENSSL_clear_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int RSA_sign_ASN1_OCTET_STRING(int type, const unsigned char *m, unsigned
      int m_len, unsigned char *sigret, unsigned int *siglen, RSA *rsa) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:68,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:73,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:69,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:75,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:84,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:90,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:95,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c:96,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 6
    argNames:
    - dtype
    - m
    - m_len
    - sigbuf
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - RSA*
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: RSA_verify_ASN1_OCTET_STRING
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_saos.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcmp
    - RSA_size
    - ASN1_OCTET_STRING_free
    - d2i_ASN1_OCTET_STRING
    - OPENSSL_clear_free
    - RSA_public_decrypt
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int RSA_verify_ASN1_OCTET_STRING(int dtype, const unsigned char *m,
      unsigned int m_len, unsigned char *sigbuf, unsigned int siglen, RSA *rsa) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:96,1
    - Dst: ossl_bn_rsa_fips186_4_gen_prob_primes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:129,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:121,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:117,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:141,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:156,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:106,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:158,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:95,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:107,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:112,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:120,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:134,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:91,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:105,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:108,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:111,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:115,1
    - Dst: ossl_bn_rsa_fips186_4_gen_prob_primes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:124,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:153,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:155,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 69
    argCount: 6
    argNames:
    - rsa
    - test
    - nbits
    - e
    - ctx
    - cb
    argTypes:
    - RSA*
    - RSA_ACVP_TEST*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 160
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 160
    functionName: ossl_rsa_fips186_4_gen_prob_primes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - ossl_rsa_check_pminusq_diff
    - BN_secure_new
    - BN_clear
    - ossl_rsa_check_public_exponent
    - BN_CTX_start
    - BN_set_flags
    - ossl_bn_rsa_fips186_4_gen_prob_primes
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_fips186_4_gen_prob_primes(RSA *rsa, RSA_ACVP_TEST *test,
      int nbits, const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_validate_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:370,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:377,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:374,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:383,1
    - Dst: rsa_validate_rng_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:374,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:384,1
    - Dst: ossl_rsa_fips186_4_gen_prob_primes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:393,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:397,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:404,1
    - Dst: ossl_rsa_sp800_56b_pairwise_test
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:413,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:416,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:417,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 4
    argNames:
    - rsa
    - nbits
    - efixed
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 419
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 419
    functionName: ossl_rsa_sp800_56b_generate_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: []
    functionsReached:
    - ossl_rsa_sp800_56b_derive_params_from_pq
    - ossl_rsa_sp800_56b_validate_strength
    - ossl_rsa_fips186_4_gen_prob_primes
    - RAND_get0_private
    - ossl_rsa_sp800_56b_pairwise_test
    - BN_new
    - BN_CTX_free
    - BN_set_word
    - BN_free
    - rsa_validate_rng_strength
    - BN_CTX_new_ex
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_sp800_56b_generate_key(RSA *rsa, int nbits, const BIGNUM
      *efixed, BN_GENCB *cb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - nbits
    - strength
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: ossl_rsa_sp800_56b_validate_strength
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: []
    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: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:432,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:433,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:437,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:439,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:434,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:440,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:441,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:442,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:444,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:446,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 448
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 448
    functionName: ossl_rsa_sp800_56b_pairwise_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_end
    - BN_set_word
    - BN_CTX_start
    - BN_mod_exp
    - BN_set_flags
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_sp800_56b_pairwise_test(RSA *rsa, BN_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_get_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:203,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rng
    - nbits
    argTypes:
    - EVP_RAND_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: rsa_validate_rng_strength
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: []
    functionsReached:
    - ossl_ifc_ffc_compute_security_bits
    - EVP_RAND_get_strength
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int rsa_validate_rng_strength(EVP_RAND_CTX *rng, int nbits) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:239,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:241,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:240,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:242,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:249,1
    - Dst: ossl_rsa_get_lcm
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:253,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:258,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:302,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:306,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:314,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:320,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:328,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:238,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:248,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:268,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:267,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:279,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:280,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:285,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:289,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:303,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:322,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:333,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:237,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:247,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:272,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:288,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:294,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:298,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:307,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:316,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:324,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:327,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:246,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:257,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:264,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:250,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:262,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:297,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:318,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:329,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:330,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c:331,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 85
    argCount: 4
    argNames:
    - rsa
    - nbits
    - e
    - ctx
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 335
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 335
    functionName: ossl_rsa_sp800_56b_derive_params_from_pq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - ossl_rsa_get_lcm
    - BN_secure_new
    - BN_num_bits
    - BN_new
    - BN_clear
    - BN_mod
    - BN_mod_inverse
    - BN_mul
    - BN_CTX_start
    - BN_free
    - BN_dup
    - BN_clear_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_sp800_56b_derive_params_from_pq(RSA *rsa, int nbits,
      const BIGNUM *e, BN_CTX *ctx) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:36,1
    - Dst: BN_X931_derive_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:66,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:81,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:101,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:101,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:82,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:103,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:106,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:109,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:121,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:41,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:49,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:62,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:95,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:112,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:124,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:135,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:131,1
    - Dst: BN_X931_derive_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:75,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:116,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:144,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:142,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:43,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:39,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:42,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:44,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:72,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:92,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:99,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:99,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:128,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:143,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 84
    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*
    constantsTouched: []
    func_position:
      end: 148
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 148
    functionName: RSA_X931_derive_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_X931_derive_prime_ex
    - BN_CTX_end
    - BN_value_one
    - BN_new
    - BN_CTX_free
    - BN_div
    - BN_mod
    - BN_mod_inverse
    - BN_CTX_new
    - BN_mul
    - BN_CTX_start
    - BN_dup
    - BN_gcd
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1,
      BIGNUM *q2, const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM
      *Xq1, const BIGNUM *Xq2, const BIGNUM *Xq, const BIGNUM *e, BN_GENCB *cb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:157,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:163,1
    - Dst: BN_X931_generate_Xpq
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:166,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:161,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:162,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:169,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:170,1
    - Dst: BN_X931_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:176,1
    - Dst: BN_X931_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:180,1
    - Dst: RSA_X931_derive_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:189,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:198,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c:197,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 28
    argCount: 4
    argNames:
    - rsa
    - bits
    - e
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 205
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 205
    functionName: RSA_X931_generate_key_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_x931g.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_X931_generate_prime_ex
    - BN_new
    - BN_CTX_free
    - BN_CTX_new
    - BN_CTX_start
    - RSA_X931_derive_ex
    - BN_X931_generate_Xpq
    linkageType: ''
    returnType: int
    signature: 'int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e,
      BN_GENCB *cb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: meth_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c:24,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 4
    argNames:
    - meth
    - (*meth_is_a)
    - items
    - items_n
    argTypes:
    - void*
    - int
    - OSSL_ITEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: meth2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c
    functionUses: []
    functionsReached:
    - meth_is_a
    linkageType: ''
    returnType: int
    signature: 'static int meth2nid(const void *meth, int (*meth_is_a)(const void
      *meth, const char *name), const OSSL_ITEM *items, size_t items_n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: meth2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c:71,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ossl_rsa_oaeppss_md2nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c
    functionUses: []
    functionsReached:
    - meth2nid
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_oaeppss_md2nid(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - md
    - name
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: md_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c
    functionUses: []
    functionsReached:
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: 'static int md_is_a(const void *md, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c:77,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: ossl_rsa_oaeppss_nid2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - nid2name
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_rsa_oaeppss_nid2name(int md) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - meth
    - items
    - items_n
    argTypes:
    - int
    - OSSL_ITEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: nid2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *nid2name(int meth, const OSSL_ITEM *items, size_t
      items_n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - mgf
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: ossl_rsa_mgf_nid2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_schemes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_rsa_mgf_nid2name(int mgf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:47,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:51,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:54,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:53,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - numbers
    - params
    - names
    argTypes:
    - STACK_OF(BIGNUM)*
    - OSSL_PARAM
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: collect_numbers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - sk_BIGNUM_push
    - OSSL_PARAM_locate_const
    - BN_clear_free
    - OSSL_PARAM_get_BN
    linkageType: ''
    returnType: DEFINE_STACK_OF(BIGNUM)
    signature: 'DEFINE_STACK_OF(BIGNUM) static int collect_numbers(STACK_OF(BIGNUM)
      *numbers, const OSSL_PARAM params[], const char *names[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:76,1
    - Dst: sk_BIGNUM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:106,1
    - Dst: sk_BIGNUM_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:99,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:113,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:73,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:85,1
    - Dst: collect_numbers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:92,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:94,1
    - Dst: sk_BIGNUM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:107,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:92,1
    - Dst: collect_numbers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:94,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:80,1
    - Dst: collect_numbers
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:90,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:90,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:111,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:100,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:116,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:74,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:78,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:79,1
    - Dst: sk_BIGNUM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:105,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:112,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:114,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:115,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 58
    argCount: 3
    argNames:
    - rsa
    - params
    - include_private
    argTypes:
    - RSA*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 118
    functionName: ossl_rsa_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - RSA_set0_key
    - sk_BIGNUM_num
    - ossl_rsa_set0_all_params
    - sk_BIGNUM_new_null
    - sk_BIGNUM_pop_free
    - OSSL_PARAM_locate_const
    - BN_free
    - OSSL_PARAM_get_BN
    - sk_BIGNUM_free
    - collect_numbers
    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/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:127,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:128,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:127,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:129,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:128,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:129,1
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:134,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:135,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:137,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:138,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:146,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:165,1
    - Dst: ossl_rsa_acvp_test_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:160,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:149,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:164,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:166,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:151,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:144,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - rsa
    - bld
    - params
    - include_private
    argTypes:
    - RSA*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 168
    functionName: ossl_rsa_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - ossl_param_build_set_multi_key_bn
    - ossl_rsa_acvp_test_get_params
    - RSA_get0_key
    - sk_BIGNUM_const_new_null
    - ossl_param_build_set_bn
    - sk_BIGNUM_const_free
    - ossl_rsa_get0_all_params
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_todata(RSA *rsa, OSSL_PARAM_BLD *bld, OSSL_PARAM params[],
      int include_private) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:258,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:266,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:284,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:232,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:236,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:238,1
    - Dst: ossl_rsa_oaeppss_md2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:286,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:298,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:295,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:313,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:252,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:263,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:281,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:285,1
    - Dst: ossl_rsa_oaeppss_md2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:300,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:305,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:306,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:314,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:230,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:234,1
    - Dst: ossl_rsa_mgf_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:267,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:299,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 75
    argCount: 4
    argNames:
    - pss_params
    - defaults_set
    - params
    - libctx
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int*
    - OSSL_PARAM
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 316
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 316
    functionName: ossl_rsa_pss_params_30_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - ossl_rsa_pss_params_30_set_hashalg
    - OSSL_PARAM_get_utf8_ptr
    - ossl_rsa_oaeppss_md2nid
    - OPENSSL_strcasecmp
    - ossl_rsa_pss_params_30_maskgenalg
    - OSSL_PARAM_locate_const
    - ossl_rsa_mgf_nid2name
    - OSSL_PARAM_get_int
    - EVP_MD_free
    - EVP_MD_fetch
    - ossl_rsa_pss_params_30_set_saltlen
    - ossl_rsa_pss_params_30_set_defaults
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_fromdata(RSA_PSS_PARAMS_30 *pss_params,
      int *defaults_set, const OSSL_PARAM params[], OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: rsa_bn_dup_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - BN_dup
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int rsa_bn_dup_check(BIGNUM **out, const BIGNUM
      *f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:436,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:436,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:445,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 451
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 451
    functionName: ossl_rsa_pss_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - RSA_PSS_PARAMS_free
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - ossl_x509_algor_mgf1_decode
    linkageType: ''
    returnType: RSA_PSS_PARAMS*
    signature: 'RSA_PSS_PARAMS *ossl_rsa_pss_decode(const X509_ALGOR *alg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:499,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:510,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:512,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:506,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:503,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:514,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:516,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - pss
    - pmd
    - pmgf1md
    - psaltlen
    - ptrailerField
    argTypes:
    - RSA_PSS_PARAMS*
    - EVP_MD**
    - EVP_MD**
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 519
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 519
    functionName: ossl_rsa_pss_get_param_unverified
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_trailerfield
    - ASN1_INTEGER_get
    - ossl_x509_algor_get_md
    - ossl_rsa_pss_params_30_set_defaults
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_get_param_unverified(const RSA_PSS_PARAMS *pss, const
      EVP_MD **pmd, const EVP_MD **pmgf1md, int *psaltlen, int *ptrailerField) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:173,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:176,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:177,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:175,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:174,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:178,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:179,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:181,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:184,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:187,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:190,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:209,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:204,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:202,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:207,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 3
    argNames:
    - pss
    - bld
    - params
    argTypes:
    - RSA_PSS_PARAMS_30*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: ossl_rsa_pss_params_30_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - ossl_rsa_pss_params_30_saltlen
    - ossl_param_build_set_utf8_string
    - ossl_rsa_oaeppss_nid2name
    - ossl_rsa_pss_params_30_maskgenalg
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_param_build_set_int
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_pss_params_30_todata(const RSA_PSS_PARAMS_30 *pss, OSSL_PARAM_BLD
      *bld, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_method
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:321,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: ossl_rsa_is_foreign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - RSA_PKCS1_OpenSSL
    - RSA_get_method
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_is_foreign(const RSA *rsa) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:350,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:371,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:391,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:401,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:384,1
    - Dst: ossl_rsa_is_foreign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:342,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:365,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:383,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:403,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:392,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:406,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:345,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:352,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:367,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:419,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:359,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:363,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:369,1
    - Dst: rsa_bn_dup_check
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:399,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:396,1
    - Dst: RSA_PSS_PARAMS_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:411,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:414,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:427,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 73
    argCount: 2
    argNames:
    - rsa
    - selection
    argTypes:
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 429
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 429
    functionName: ossl_rsa_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - rsa_bn_dup_check
    - RSA_free
    - ERR_raise
    - RSA_PSS_PARAMS_dup
    - ossl_rsa_multip_calc_product
    - sk_RSA_PRIME_INFO_num
    - ossl_rsa_is_foreign
    - sk_RSA_PRIME_INFO_new_reserve
    - ossl_x509_algor_mgf1_decode
    - OPENSSL_zalloc
    - ossl_rsa_new_with_ctx
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_push
    - CRYPTO_dup_ex_data
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *ossl_rsa_dup(const RSA *rsa, int selection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get0_pss_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:459,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:478,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:477,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:460,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:474,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:479,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:480,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:481,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:483,1
    - Dst: ossl_rsa_pss_params_30_set_trailerfield
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:484,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 490
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 490
    functionName: ossl_rsa_sync_to_pss_params_30
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - ossl_rsa_pss_params_30_set_trailerfield
    - EVP_MD_get_type
    - ossl_rsa_pss_params_30_set_hashalg
    - ossl_rsa_pss_get_param_unverified
    - RSA_get0_pss_params
    - ossl_rsa_pss_params_30_set_saltlen
    - ossl_rsa_pss_params_30_set_defaults
    linkageType: ''
    returnType: int
    signature: 'static int ossl_rsa_sync_to_pss_params_30(RSA *rsa) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:528,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:537,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:529,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:534,1
    - Dst: ossl_rsa_set0_pss_params
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:538,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:539,1
    - Dst: ossl_rsa_sync_to_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:542,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - rsa
    - alg
    argTypes:
    - RSA*
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 545
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 545
    functionName: ossl_rsa_param_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - RSA_PSS_PARAMS_free
    - ossl_rsa_pss_decode
    - OBJ_obj2nid
    - ossl_rsa_set0_pss_params
    - ossl_rsa_sync_to_pss_params_30
    - X509_ALGOR_get0
    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/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:555,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:563,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:559,1
    - Dst: ossl_rsa_param_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:562,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:557,1
    - Dst: RSA_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:567,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:568,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:570,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c:573,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 581
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 581
    functionName: ossl_rsa_key_from_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_backend.c
    functionUses: []
    functionsReached:
    - RSA_free
    - ERR_raise
    - RSA_clear_flags
    - OBJ_obj2nid
    - PKCS8_pkey_get0
    - RSA_set_flags
    - d2i_RSAPrivateKey
    - ossl_rsa_param_decode
    linkageType: ''
    returnType: RSA*
    signature: 'RSA *ossl_rsa_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf, OSSL_LIB_CTX
      *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:22,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:23,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:25,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:26,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:24,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:27,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:32,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:37,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:44,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:48,1
    - Dst: ossl_rsa_acvp_test_gen_params_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:55,1
    - Dst: ossl_rsa_acvp_test_gen_params_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:59,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - OSSL_PARAM**
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 62
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 62
    functionName: ossl_rsa_acvp_test_gen_params_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BN
    - ossl_rsa_acvp_test_gen_params_free
    - OPENSSL_memdup
    - OPENSSL_zalloc
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_acvp_test_gen_params_new(OSSL_PARAM **dst, const OSSL_PARAM
      src[]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_acvp_test_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:84,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:97,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:99,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:103,1
    - Dst: ossl_rsa_acvp_test_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:120,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:105,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:94,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:88,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:116,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:96,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:100,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:102,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:108,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:115,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:106,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:109,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:93,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:114,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:113,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 2
    argNames:
    - r
    - params
    argTypes:
    - RSA*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 122
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 122
    functionName: ossl_rsa_acvp_test_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: []
    functionsReached:
    - ossl_rsa_acvp_test_free
    - BN_new
    - OPENSSL_zalloc
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_BN
    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/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:134,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:137,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:140,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:135,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:138,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:141,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:143,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - r
    - params
    argTypes:
    - RSA*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: ossl_rsa_acvp_test_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_acvp_test_get_params(RSA *r, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:72,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - dst
    argTypes:
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: ossl_rsa_acvp_test_gen_params_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rsa_acvp_test_gen_params_free(OSSL_PARAM *dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:153,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:157,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:156,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:154,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:155,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:158,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:159,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:160,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:161,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:162,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - RSA_ACVP_TEST*
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: ossl_rsa_acvp_test_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rsa_acvp_test_free(RSA_ACVP_TEST *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_err.c:161,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_err.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: ossl_err_load_RSA_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_err.c
    functionUses: []
    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_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:61,1
    - Dst: pkey_ctx_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: pkey_rsa_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - pkey_ctx_is_pss
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:147,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:155,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:162,1
    - Dst: RSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:166,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:169,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:170,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:188,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:194,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:143,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:151,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:146,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:175,1
    - Dst: RSA_padding_add_PKCS1_PSS_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:183,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:161,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:165,1
    - Dst: RSA_X931_hash_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:170,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:188,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:171,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:181,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 200
    functionName: pkey_rsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - RSA_sign
    - RSA_padding_add_PKCS1_PSS_mgf1
    - ERR_raise
    - EVP_PKEY_get0_RSA
    - RSA_sign_ASN1_OCTET_STRING
    - RSA_size
    - memcpy
    - RSA_private_encrypt
    - EVP_MD_get_type
    - setup_tbuf
    - EVP_MD_get_size
    - RSA_X931_hash_id
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t
      *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:115,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:114,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pk
    argTypes:
    - RSA_PKEY_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: setup_tbuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_RSA
    - RSA_size
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int setup_tbuf(RSA_PKEY_CTX *ctx, EVP_PKEY_CTX *pk) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:264,1
    - Dst: RSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:269,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:269,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:272,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:271,1
    - Dst: pkey_rsa_verifyrecover
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:276,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:280,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:282,1
    - Dst: RSA_verify_PKCS1_PSS_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:286,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:296,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:304,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:298,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 309
    functionName: pkey_rsa_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - RSA_verify
    - ERR_raise
    - memcmp
    - EVP_PKEY_get0_RSA
    - RSA_verify_PKCS1_PSS_mgf1
    - EVP_MD_get_type
    - setup_tbuf
    - EVP_MD_get_size
    - RSA_public_decrypt
    - pkey_rsa_verifyrecover
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_verify(EVP_PKEY_CTX *ctx, const unsigned char
      *sig, size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:355,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:369,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:358,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:360,1
    - Dst: RSA_padding_check_PKCS1_OAEP_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:363,1
    - Dst: constant_time_select_s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:371,1
    - Dst: constant_time_msb_s
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:371,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:372,1
    - Dst: constant_time_msb
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 374
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 374
    functionName: pkey_rsa_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - constant_time_select_int
    - EVP_PKEY_get0_RSA
    - constant_time_msb
    - setup_tbuf
    - RSA_padding_check_PKCS1_OAEP_mgf1
    - constant_time_msb_s
    - RSA_private_decrypt
    - constant_time_select_s
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:441,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:499,1
    - Dst: rsa_pss_restricted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:530,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:499,1
    - Dst: check_padding_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:528,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:518,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:610,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:449,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:492,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:500,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:531,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:531,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:533,1
    - Dst: rsa_pss_restricted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:556,1
    - Dst: pkey_ctx_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:606,1
    - Dst: pkey_ctx_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:442,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:480,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:503,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:557,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:557,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:559,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:568,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:583,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:587,1
    - Dst: check_padding_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:434,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:455,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:465,1
    - Dst: rsa_pss_restricted
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:473,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:476,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:482,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:509,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:547,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:571,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 129
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 617
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 617
    functionName: pkey_rsa_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - pkey_ctx_is_pss
    - ERR_raise
    - rsa_pss_restricted
    - OPENSSL_free
    - BN_is_one
    - EVP_MD_get_type
    - EVP_sha1
    - EVP_MD_get_size
    - check_padding_md
    - BN_free
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void
      *p2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ctx_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:733,1
    - Dst: ossl_rsa_pss_params_create
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 744
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 744
    functionName: rsa_set_pss_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - pkey_ctx_is_pss
    - ossl_rsa_pss_params_create
    linkageType: ''
    returnType: int
    signature: 'static int rsa_set_pss_param(RSA *rsa, EVP_PKEY_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ctx_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:839,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:850,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:850,1
    - Dst: ossl_rsa_pss_get_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:846,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:841,1
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:851,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:854,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 870
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 870
    functionName: pkey_pss_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - pkey_ctx_is_pss
    - ERR_raise
    - EVP_PKEY_get0_RSA
    - RSA_size
    - EVP_MD_get_size
    - ossl_rsa_pss_get_param
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: 'static int pkey_pss_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:125,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:126,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:128,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: pkey_rsa_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'static void pkey_rsa_cleanup(EVP_PKEY_CTX *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pkey_rsa_init
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:85,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:101,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:100,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: pkey_rsa_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_dup
    - OPENSSL_memdup
    - pkey_rsa_init
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:213,1
    - Dst: RSA_X931_hash_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:224,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:217,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:219,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:224,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:225,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:229,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:233,1
    - Dst: ossl_rsa_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:236,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:236,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - rout
    - routlen
    - sig
    - siglen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 252
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 252
    functionName: pkey_rsa_verifyrecover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_PKEY_get0_RSA
    - memcpy
    - setup_tbuf
    - EVP_MD_get_type
    - EVP_MD_get_size
    - RSA_X931_hash_id
    - RSA_public_decrypt
    - ossl_rsa_verify
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_verifyrecover(EVP_PKEY_CTX *ctx, unsigned char
      *rout, size_t *routlen, const unsigned char *sig, size_t siglen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:322,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:334,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:326,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:325,1
    - Dst: RSA_padding_add_PKCS1_OAEP_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:328,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:336,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 342
    functionName: pkey_rsa_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_RSA
    - RSA_size
    - setup_tbuf
    - RSA_padding_add_PKCS1_OAEP_mgf1
    - RSA_public_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:383,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:392,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:418,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:386,1
    - Dst: RSA_X931_hash_id
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:391,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 16
    argCount: 2
    argNames:
    - md
    - padding
    argTypes:
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 425
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 425
    functionName: check_padding_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - RSA_X931_hash_id
    - ERR_raise
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: 'static int check_padding_md(const EVP_MD *md, int padding) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:631,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:637,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:645,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:651,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:658,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:662,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:659,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:648,1
    - Dst: pkey_ctx_is_pss
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:690,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:697,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:721,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:707,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:642,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:653,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:665,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:663,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:668,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:675,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_primes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:682,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:685,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:686,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:693,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:696,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:701,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:708,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:700,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:623,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:633,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:626,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:629,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:635,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:639,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:655,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:672,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:674,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:679,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:711,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:680,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:692,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:703,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:716,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:719,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 726
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 726
    functionName: pkey_rsa_ctrl_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    - EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen
    - ERR_raise
    - pkey_ctx_is_pss
    - BN_asc2bn
    - strcmp
    - OPENSSL_free
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - atoi
    - BN_free
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - OPENSSL_hexstr2buf
    - EVP_PKEY_CTX_md
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - EVP_PKEY_CTX_set_rsa_padding
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
      const char *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:754,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:755,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:764,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:758,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:762,1
    - Dst: evp_pkey_set_cb_translate
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:767,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:771,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:773,1
    - Dst: rsa_set_pss_param
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:774,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:775,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:779,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c:781,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 783
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 783
    functionName: pkey_rsa_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached:
    - RSA_free
    - BN_GENCB_new
    - rsa_set_pss_param
    - BN_new
    - evp_pkey_set_cb_translate
    - BN_set_word
    - EVP_PKEY_assign
    - RSA_new
    - BN_GENCB_free
    - RSA_generate_multi_prime_key
    linkageType: ''
    returnType: int
    signature: 'static int pkey_rsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: ossl_rsa_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_rsa_pkey_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 899
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 899
    functionName: ossl_rsa_pss_pkey_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD*
    signature: 'const EVP_PKEY_METHOD *ossl_rsa_pss_pkey_method(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c:27,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: DES_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    linkageType: ''
    returnType: char*
    signature: 'const char *DES_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c:43,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c:47,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c:45,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c:51,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - input
    - output
    - ks
    - enc
    argTypes:
    - const_DES_cblock*
    - DES_cblock*
    - DES_key_schedule*
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: DES_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb_enc.c
    functionUses: []
    functionsReached:
    - DES_encrypt1
    - c2l
    - l2c
    linkageType: ''
    returnType: void
    signature: 'void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
      DES_key_schedule *ks, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb3_enc.c:26,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb3_enc.c:36,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb3_enc.c:31,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb3_enc.c:27,1
    - Dst: DES_decrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb3_enc.c:33,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb3_enc.c:37,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    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
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: DES_ecb3_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ecb3_enc.c
    functionUses: []
    functionsReached:
    - DES_decrypt3
    - DES_encrypt3
    - c2l
    - l2c
    linkageType: ''
    returnType: void
    signature: 'void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output,
      DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:37,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:39,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:46,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:41,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:44,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:57,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:59,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:61,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:64,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 78
    functionName: DES_cfb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64enc.c
    functionUses: []
    functionsReached:
    - DES_encrypt1
    - c2l
    - l2c
    linkageType: ''
    returnType: void
    signature: 'void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, DES_key_schedule *schedule, DES_cblock *ivec, int *num, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:36,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:47,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:51,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:57,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:53,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:63,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:67,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:69,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:73,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:77,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:37,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:48,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:58,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:54,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:64,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:70,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:74,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:81,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:76,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:45,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:49,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:55,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:59,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:65,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:71,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:75,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:82,1
    - Dst: FP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:84,1
    - Dst: IP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:27,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:46,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:50,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:56,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:60,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:52,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:62,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:66,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:68,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 3
    argNames:
    - data
    - ks
    - enc
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 88
    functionName: DES_encrypt1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c
    functionUses: []
    functionsReached:
    - D_ENCRYPT
    - FP
    - ROTATE
    - IP
    linkageType: ''
    returnType: void
    signature: 'void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:161,1
    - Dst: DES_encrypt2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:165,1
    - Dst: DES_encrypt2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:166,1
    - Dst: DES_encrypt2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:164,1
    - Dst: FP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - data
    - ks1
    - ks2
    - ks3
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: DES_encrypt3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c
    functionUses: []
    functionsReached:
    - DES_encrypt2
    - FP
    - IP
    linkageType: ''
    returnType: void
    signature: 'void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, DES_key_schedule
      *ks2, DES_key_schedule *ks3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:181,1
    - Dst: DES_encrypt2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:184,1
    - Dst: FP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:189,1
    - Dst: DES_encrypt2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:186,1
    - Dst: DES_encrypt2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - data
    - ks1
    - ks2
    - ks3
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: DES_decrypt3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c
    functionUses: []
    functionsReached:
    - DES_encrypt2
    - FP
    - IP
    linkageType: ''
    returnType: void
    signature: 'void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, DES_key_schedule
      *ks2, DES_key_schedule *ks3) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:232,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:241,1
    - Dst: DES_decrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:265,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:272,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:291,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:231,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:271,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:298,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:217,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:221,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:218,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:220,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:227,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:258,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:246,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:257,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:249,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:255,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:235,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:245,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:254,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:250,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:277,1
    - Dst: DES_decrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:285,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:278,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:297,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 88
    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
    constantsTouched: []
    func_position:
      end: 302
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 302
    functionName: DES_ede3_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c
    functionUses: []
    functionsReached:
    - DES_decrypt3
    - l2cn
    - DES_encrypt3
    - c2ln
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char
      *output, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule
      *ks3, DES_cblock *ivec, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:106,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:117,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:121,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:127,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:123,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:133,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:137,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:139,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:143,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:114,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:118,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:128,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:124,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:134,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:140,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:144,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:150,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:115,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:119,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:125,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:129,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:131,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:135,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:141,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:145,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:149,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:105,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:116,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:120,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:126,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:122,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:132,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:136,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:138,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:142,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 3
    argNames:
    - data
    - ks
    - enc
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 152
    functionName: DES_encrypt2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/des_enc.c
    functionUses: []
    functionsReached:
    - D_ENCRYPT
    - ROTATE
    linkageType: ''
    returnType: void
    signature: 'void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:27,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:28,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:32,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:31,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:34,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:40,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:45,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c:46,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - in
    - output
    - length
    - schedule
    - ivec
    argTypes:
    - unsigned char*
    - DES_cblock*
    - long
    - DES_key_schedule*
    - const_DES_cblock*
    constantsTouched: []
    func_position:
      end: 58
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 58
    functionName: DES_cbc_cksum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cbc_cksm.c
    functionUses: []
    functionsReached:
    - DES_encrypt1
    - c2l
    - l2c
    - c2ln
    linkageType: ''
    returnType: DES_LONG
    signature: 'DES_LONG DES_cbc_cksum(const unsigned char *in, DES_cblock *output,
      long length, DES_key_schedule *schedule, const_DES_cblock *ivec) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c:51,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c:61,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c:58,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c:65,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c:52,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c:84,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c:85,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 90
    argCount: 6
    argNames:
    - in
    - out
    - numbits
    - length
    - schedule
    - ivec
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - long
    - DES_key_schedule*
    - DES_cblock*
    constantsTouched: []
    func_position:
      end: 87
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 87
    functionName: DES_ofb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb_enc.c
    functionUses: []
    functionsReached:
    - l2cn
    - c2ln
    - DES_encrypt1
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_ofb_encrypt(const unsigned char *in, unsigned char *out,
      int numbits, long length, DES_key_schedule *schedule, DES_cblock *ivec) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:33,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:58,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:71,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:84,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:91,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:37,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:65,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:67,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:70,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:63,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:55,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:78,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:83,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:89,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:93,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:103,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:36,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:74,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:73,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:76,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:80,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:96,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:102,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:34,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:42,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:43,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:45,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:46,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:51,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c:53,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 108
    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
    constantsTouched: []
    func_position:
      end: 108
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 108
    functionName: DES_xcbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/xcbc_enc.c
    functionUses: []
    functionsReached:
    - l2cn
    - c2ln
    - DES_encrypt1
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_xcbc_encrypt(const unsigned char *in, unsigned char *out,
      long length, DES_key_schedule *schedule, DES_cblock *ivec, const_DES_cblock
      *inw, const_DES_cblock *outw, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq_8
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - const_DES_cblock*
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: DES_check_key_parity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c
    functionUses: []
    functionsReached:
    - constant_time_eq_8
    linkageType: ''
    returnType: int
    signature: 'int DES_check_key_parity(const_DES_cblock *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_check_key_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:316,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:320,1
    - Dst: DES_is_weak_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: DES_set_key_checked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c
    functionUses: []
    functionsReached:
    - DES_check_key_parity
    - DES_is_weak_key
    - DES_set_key_unchecked
    linkageType: ''
    returnType: int
    signature: 'int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - DES_cblock*
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: DES_set_odd_parity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void DES_set_odd_parity(DES_cblock *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:334,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:340,1
    - Dst: HPERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:348,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:341,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:347,1
    - Dst: HPERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:349,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:350,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:351,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:352,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:383,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 103
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    constantsTouched: []
    func_position:
      end: 388
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 388
    functionName: DES_set_key_unchecked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c
    functionUses: []
    functionsReached:
    - HPERM_OP
    - memcpy
    - ROTATE
    - 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/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: DES_key_sched
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c
    functionUses: []
    functionsReached:
    - DES_set_key
    linkageType: ''
    returnType: int
    signature: 'int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:123,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:125,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - const_DES_cblock*
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: DES_is_weak_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - OSSL_NELEM
    - constant_time_is_zero
    linkageType: ''
    returnType: int
    signature: 'int DES_is_weak_key(const_DES_cblock *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_check_key_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:301,1
    - Dst: DES_is_weak_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:303,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: DES_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/set_key.c
    functionUses: []
    functionsReached:
    - DES_check_key_parity
    - DES_is_weak_key
    - 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: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:36,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:37,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:42,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:41,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:45,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:48,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:50,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:60,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int*
    constantsTouched: []
    func_position:
      end: 65
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 65
    functionName: DES_ofb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64enc.c
    functionUses: []
    functionsReached:
    - l2c
    - c2l
    - DES_encrypt1
    linkageType: ''
    returnType: void
    signature: 'void DES_ofb64_encrypt(register const unsigned char *in, register
      unsigned char *out, long length, DES_key_schedule *schedule, DES_cblock *ivec,
      int *num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:47,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:51,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:55,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:59,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:70,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:72,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:46,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:48,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:52,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:60,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:56,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:49,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:53,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:61,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:57,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:69,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:71,1
    - Dst: PERM_OP
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:73,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:50,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:54,1
    - Dst: D_ENCRYPT
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:58,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:67,1
    - Dst: ROTATE
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 4
    argNames:
    - out
    - ks
    - Eswap0
    - Eswap1
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - DES_LONG
    - DES_LONG
    constantsTouched: []
    func_position:
      end: 77
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 77
    functionName: fcrypt_body
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt_b.c
    functionUses: []
    functionsReached:
    - D_ENCRYPT
    - PERM_OP
    - ROTATE
    linkageType: ''
    returnType: void
    signature: 'void fcrypt_body(DES_LONG *out, DES_key_schedule *ks, DES_LONG Eswap0,
      DES_LONG Eswap1) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:37,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:38,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:48,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:42,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:43,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:53,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:54,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:62,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c:63,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    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*
    constantsTouched: []
    func_position:
      end: 67
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 67
    functionName: DES_ede3_ofb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ofb64ede.c
    functionUses: []
    functionsReached:
    - l2c
    - DES_encrypt3
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_ede3_ofb64_encrypt(register const unsigned char *in, register
      unsigned char *out, long length, DES_key_schedule *k1, DES_key_schedule *k2,
      DES_key_schedule *k3, DES_cblock *ivec, int *num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:65,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:84,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:99,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:60,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:86,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:88,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:100,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:91,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:35,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:36,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:38,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:46,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:48,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:58,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:68,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:64,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:78,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:75,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:39,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:44,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:51,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:56,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:69,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:71,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:73,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c:79,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 82
    argCount: 6
    argNames:
    - in
    - out
    - length
    - _schedule
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 105
    functionName: DES_ncbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/ncbc_enc.c
    functionUses: []
    functionsReached:
    - l2cn
    - c2ln
    - DES_encrypt1
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_ncbc_encrypt(const unsigned char *in, unsigned char *out,
      long length, DES_key_schedule *_schedule, DES_cblock *ivec, int enc) #endif '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/rand_key.c:21,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/rand_key.c:24,1
    - Dst: DES_is_weak_key
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/rand_key.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ret
    argTypes:
    - DES_cblock*
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: DES_random_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/rand_key.c
    functionUses: []
    functionsReached:
    - DES_set_odd_parity
    - DES_is_weak_key
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: 'int DES_random_key(DES_cblock *ret) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:31,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:38,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:36,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:35,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:32,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:41,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:46,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:47,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:50,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:51,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:54,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:53,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:57,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:64,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:62,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c:61,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 6
    argNames:
    - input
    - output
    - length
    - schedule
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 71
    functionName: DES_pcbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/pcbc_enc.c
    functionUses: []
    functionsReached:
    - l2cn
    - c2ln
    - DES_encrypt1
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output,
      long length, DES_key_schedule *schedule, DES_cblock *ivec, int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:38,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:43,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:48,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:39,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:49,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:60,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:61,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:65,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:70,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:71,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    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
    constantsTouched: []
    func_position:
      end: 83
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 83
    functionName: DES_ede3_cfb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c
    functionUses: []
    functionsReached:
    - l2c
    - DES_encrypt3
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char
      *out, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule
      *ks3, DES_cblock *ivec, int *num, int enc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:105,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:134,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:173,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:169,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:153,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:113,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:106,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:131,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:170,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:168,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:144,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:181,1
    - Dst: DES_encrypt3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:112,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:132,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:136,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:145,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:171,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:182,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:186,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:191,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:117,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:133,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:154,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c:192,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 110
    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
    constantsTouched: []
    func_position:
      end: 194
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 194
    functionName: DES_ede3_cfb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb64ede.c
    functionUses: []
    functionsReached:
    - l2cn
    - memmove
    - DES_encrypt3
    - c2ln
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out,
      int numbits, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule
      *ks3, DES_cblock *ivec, int enc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:46,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:54,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:66,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:81,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:108,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:127,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:132,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:147,1
    - Dst: DES_encrypt1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:61,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:84,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:109,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:126,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:153,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:62,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:83,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:98,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:125,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:142,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:152,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:55,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:82,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:89,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:124,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:99,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c:141,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 120
    argCount: 7
    argNames:
    - in
    - out
    - numbits
    - length
    - schedule
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 155
    functionName: DES_cfb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/cfb_enc.c
    functionUses: []
    functionsReached:
    - assert
    - l2cn
    - memmove
    - c2ln
    - DES_encrypt1
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void DES_cfb_encrypt(const unsigned char *in, unsigned char *out,
      int numbits, long length, DES_key_schedule *schedule, DES_cblock *ivec, int
      enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_B0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:46,1
    - Dst: Q_B1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:46,1
    - Dst: Q_B2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:46,1
    - Dst: Q_B3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:47,1
    - Dst: Q_B0
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B2
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B3
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:49,1
    - Dst: Q_B1
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 5
    argNames:
    - input
    - output
    - length
    - out_count
    - seed
    argTypes:
    - unsigned char*
    - DES_cblock
    - long
    - int
    - DES_cblock*
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: DES_quad_cksum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/qud_cksm.c
    functionUses: []
    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[],
      long length, int out_count, DES_cblock *seed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:23,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:39,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:38,1
    - Dst: DES_cbc_cksum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:40,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:24,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:41,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - char*
    - DES_cblock*
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: DES_string_to_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c
    functionUses: []
    functionsReached:
    - memset
    - DES_cbc_cksum
    - OPENSSL_cleanse
    - DES_set_key_unchecked
    - DES_set_odd_parity
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void DES_string_to_key(const char *str, DES_cblock *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:50,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:72,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:51,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:73,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:52,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:74,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:75,1
    - Dst: DES_cbc_cksum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:76,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:77,1
    - Dst: DES_cbc_cksum
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:78,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:79,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:80,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 3
    argNames:
    - str
    - key1
    - key2
    argTypes:
    - char*
    - DES_cblock*
    - DES_cblock*
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: DES_string_to_2keys
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/str2key.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    - DES_cbc_cksum
    - OPENSSL_cleanse
    - DES_set_key_unchecked
    - DES_set_odd_parity
    - strlen
    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/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:68,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:85,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:81,1
    - Dst: DES_fcrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:88,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:84,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:90,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - salt
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 94
    functionName: DES_crypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c
    functionUses: []
    functionsReached:
    - ascii2ebcdic
    - OPENSSL_strlcpy
    - DES_fcrypt
    - ebcdic2ascii
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *DES_crypt(const char *buf, const char *salt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:128,1
    - Dst: fcrypt_body
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:129,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:132,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c:134,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - salt
    - ret
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 154
    functionName: DES_fcrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/des/fcrypt.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_skey.c:35,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_skey.c:37,1
    - Dst: ROTATE_l32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_skey.c:60,1
    - Dst: ROTATE_l32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_skey.c:63,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_skey.c:43,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 73
    argCount: 4
    argNames:
    - key
    - len
    - data
    - rounds
    argTypes:
    - RC5_32_KEY*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 71
    functionName: RC5_32_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_skey.c
    functionUses: []
    functionsReached:
    - c2l
    - c2ln
    - ROTATE_l32
    linkageType: ''
    returnType: int
    signature: 'int RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data,
      int rounds) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:33,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:34,1
    - Dst: c2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:46,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:77,1
    - Dst: l2cn
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:84,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:88,1
    - Dst: RC5_32_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:39,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:41,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:66,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:60,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:61,1
    - Dst: RC5_32_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:51,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:53,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:55,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:57,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:71,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:64,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:29,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:30,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:43,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:58,1
    - Dst: RC5_32_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:68,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:72,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:79,1
    - Dst: RC5_32_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:81,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 6
    argNames:
    - in
    - out
    - length
    - ks
    - iv
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC5_32_KEY*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 93
    functionName: RC5_32_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c
    functionUses: []
    functionsReached:
    - RC5_32_decrypt
    - RC5_32_encrypt
    - l2cn
    - c2ln
    - l2c
    - c2l
    linkageType: ''
    returnType: void
    signature: 'void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out,
      long length, RC5_32_KEY *ks, unsigned char *iv, int encrypt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:140,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:158,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:162,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:145,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:148,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:150,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:157,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:155,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:153,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:161,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:143,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:141,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:147,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:152,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:160,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:156,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:142,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:146,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:151,1
    - Dst: D_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC5_32_KEY*
    constantsTouched: []
    func_position:
      end: 165
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 165
    functionName: RC5_32_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c
    functionUses: []
    functionsReached:
    - D_RC5_32
    linkageType: ''
    returnType: void
    signature: 'void RC5_32_decrypt(unsigned long *d, RC5_32_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:106,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:108,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:124,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:105,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:112,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:121,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:118,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:123,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:115,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:104,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:110,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:122,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:114,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:120,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:103,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:107,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:109,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:113,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:119,1
    - Dst: E_RC5_32
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC5_32_KEY*
    constantsTouched: []
    func_position:
      end: 129
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: RC5_32_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_enc.c
    functionUses: []
    functionsReached:
    - E_RC5_32
    linkageType: ''
    returnType: void
    signature: 'void RC5_32_encrypt(unsigned long *d, RC5_32_KEY *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:37,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:43,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:38,1
    - Dst: RC5_32_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:46,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:42,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:49,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:51,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:61,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC5_32_KEY*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: RC5_32_ofb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5ofb64.c
    functionUses: []
    functionsReached:
    - l2c
    - c2l
    - RC5_32_encrypt
    linkageType: ''
    returnType: void
    signature: 'void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, RC5_32_KEY *schedule, unsigned char *ivec, int *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_ecb.c:24,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_ecb.c:26,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_ecb.c:33,1
    - Dst: RC5_32_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_ecb.c:29,1
    - Dst: RC5_32_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_ecb.c:31,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_ecb.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - RC5_32_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: RC5_32_ecb_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5_ecb.c
    functionUses: []
    functionsReached:
    - l2c
    - c2l
    - RC5_32_encrypt
    - RC5_32_decrypt
    linkageType: ''
    returnType: void
    signature: 'void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out,
      RC5_32_KEY *ks, int encrypt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:38,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:47,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:40,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:45,1
    - Dst: RC5_32_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:42,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:58,1
    - Dst: c2l
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:60,1
    - Dst: RC5_32_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:62,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:65,1
    - Dst: l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC5_32_KEY*
    - unsigned char*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 79
    functionName: RC5_32_cfb64_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/crypto/rc5/rc5cfb64.c
    functionUses: []
    functionsReached:
    - l2c
    - c2l
    - RC5_32_encrypt
    linkageType: ''
    returnType: void
    signature: 'void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out,
      long length, RC5_32_KEY *schedule, unsigned char *ivec, int *num, int encrypt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_showfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:29,1
    - Dst: TerminateProcess
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:30,1
    - Dst: GetCurrentProcess
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: unimplemented
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c
    functionUses: []
    functionsReached:
    - OPENSSL_showfatal
    - GetCurrentProcess
    - TerminateProcess
    linkageType: ''
    returnType: void
    signature: 'static void unimplemented(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _sntprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:57,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:59,1
    - Dst: _tcscpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:59,1
    - Dst: GetModuleHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:62,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:58,1
    - Dst: _tcscpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:64,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:64,1
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:75,1
    - Dst: _tcscpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:78,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:78,1
    - Dst: _tcscpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:84,1
    - Dst: _T
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c:84,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: OPENSSL_Uplink
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/uplink.c
    functionUses: []
    functionsReached:
    - _tcscpy
    - GetProcAddress
    - GetModuleHandle
    - _sntprintf
    - _T
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_Uplink(volatile void **table, int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: app_stdin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *app_stdin(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: app_ferror
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached:
    - ferror
    linkageType: ''
    returnType: int
    signature: 'static int app_ferror(FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: app_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *app_stderr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: app_fileno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached:
    - _fileno
    linkageType: ''
    returnType: int
    signature: 'static int app_fileno(FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: app_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *app_stdout(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: app_feof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached:
    - feof
    linkageType: ''
    returnType: int
    signature: 'static int app_feof(FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearerr
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: app_clearerr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached:
    - clearerr
    linkageType: ''
    returnType: void
    signature: 'static void app_clearerr(FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c:83,1
    - Dst: _fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - mod
    argTypes:
    - FILE*
    - char
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: app_fsetmod
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached:
    - _setmode
    - _fileno
    linkageType: ''
    returnType: int
    signature: 'static int app_fsetmod(FILE *fp, char mod) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: (void)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ms/applink.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_Applink
    signature: 'OPENSSL_Applink (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:28,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:34,1
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:31,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:34,1
    - Dst: OPENSSL_gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:32,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:35,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:36,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:37,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:38,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:39,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:41,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:41,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:40,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:44,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - offset
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: check_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c
    functionUses: []
    functionsReached:
    - time
    - TEST_int_eq
    - OPENSSL_gmtime
    - TEST_true
    - OPENSSL_gmtime_diff
    - TEST_long_eq
    - OPENSSL_gmtime_adj
    linkageType: ''
    returnType: int
    signature: 'static int check_time(long offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:51,1
    - Dst: check_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:52,1
    - Dst: check_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:55,1
    - Dst: check_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:53,1
    - Dst: check_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:54,1
    - Dst: check_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: test_gmtime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c
    functionUses: []
    functionsReached:
    - check_time
    linkageType: ''
    returnType: int
    signature: 'static int test_gmtime(int offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:62,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/gmdifftest.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS_NOSUBTEST
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:230,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:232,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:234,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:236,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:228,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:229,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:231,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:235,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:233,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:230,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:232,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:236,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:234,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:227,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:231,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:233,1
    - Dst: dofptest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:235,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:237,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:239,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: test_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - dofptest
    - TEST_true
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int test_fp(int i) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:276,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:289,1
    - Dst: nelem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:289,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:288,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:290,1
    - Dst: nelem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:290,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:291,1
    - Dst: nelem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - opt_next
    - ADD_TEST
    - ADD_ALL_TESTS
    - nelem
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: test_open_streams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void test_open_streams(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:324,1
    - Dst: vfprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: test_vprintf_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_stdout(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:329,1
    - Dst: vfprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: test_vprintf_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_stderr(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: test_flush_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_stderr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:349,1
    - Dst: vfprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: test_vprintf_taperr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_taperr(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: test_flush_taperr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_taperr(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:135,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: test_zu
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_zu(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:248,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: test_big
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - BIO_snprintf
    linkageType: ''
    returnType: int
    signature: 'static int test_big(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nelem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:194,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:202,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:201,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:198,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:206,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:208,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:209,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:210,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - test
    - sub
    - val
    - width
    - prec
    argTypes:
    - int
    - int
    - double
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 218
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: dofptest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - BIO_snprintf
    - TEST_info
    - printf
    - nelem
    linkageType: ''
    returnType: int
    signature: 'static int dofptest(int test, int sub, double val, const char *width,
      int prec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: test_adjust_streams_tap_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void test_adjust_streams_tap_level(int level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: test_flush_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_stdout(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:344,1
    - Dst: vfprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: test_vprintf_tapout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_tapout(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: test_flush_tapout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_tapout(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:163,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: test_j
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_j(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: test_close_streams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bioprinttest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void test_close_streams(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:63,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:73,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:87,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:80,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:84,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:81,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:123,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:124,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:122,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:117,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:151,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:134,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:123,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:63,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:61,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:89,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:83,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:97,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:106,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:115,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:116,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:131,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:154,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:46,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:61,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:80,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:84,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:92,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:98,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:98,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:127,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:134,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:90,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:91,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:106,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:107,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:118,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:125,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:142,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:131,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:124,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:118,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:149,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 110
    argCount: 3
    argNames:
    - libctx
    - name
    - legacy
    argTypes:
    - OSSL_LIB_CTX**
    - char*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 157
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 157
    functionName: test_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - TEST_str_eq
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - EVP_set_default_properties
    - OSSL_PROVIDER_get_params
    - TEST_true
    - TEST_int_eq
    - BIO_snprintf
    - OSSL_PROVIDER_unload
    - TEST_int_gt
    - ERR_print_errors_fp
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_load
    - TEST_size_t_gt
    - ERR_peek_last_error
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_provider(OSSL_LIB_CTX **libctx, const char *name,
      OSSL_PROVIDER *legacy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:180,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:187,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:184,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:197,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:197,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:199,1
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 205
    functionName: test_builtin_provider_with_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - test_provider
    - TEST_true
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: int
    signature: 'static int test_builtin_provider_with_child(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:161,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:167,1
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:169,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:167,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:166,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: test_builtin_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - test_provider
    - TEST_true
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: int
    signature: 'static int test_builtin_provider(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:244,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:264,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:259,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c
    functionUses: []
    functionsReached:
    - opt_next
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:211,1
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:218,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: test_loaded_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - test_provider
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int test_loaded_provider(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:22,1
    - Dst: EVP_PBE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:34,1
    - Dst: EVP_PBE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:23,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:23,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:24,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:37,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: test_pbelu
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c
    functionUses: []
    functionsReached:
    - OBJ_nid2sn
    - EVP_PBE_get
    - TEST_true
    - EVP_PBE_find
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_pbelu(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pbelutest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:31,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:37,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:63,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:89,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:84,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:96,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:110,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:117,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:131,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:137,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:152,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:33,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:50,1
    - Dst: d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:54,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:57,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:88,1
    - Dst: d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:94,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:118,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:129,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:136,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:148,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:149,1
    - Dst: PEM_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:36,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:31,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:48,1
    - Dst: TEST_perror
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:71,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:75,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:77,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:106,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:151,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:156,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:156,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:49,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:70,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:65,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:102,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:112,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:125,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:147,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:150,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:154,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:159,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 115
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 166
    functionName: test_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_cmp
    - X509_free
    - d2i
    - ERR_GET_REASON
    - ERR_clear_error
    - memcmp
    - BIO_free
    - TEST_ptr
    - strcmp
    - OPENSSL_free
    - test_get_argument
    - TEST_perror
    - i2d
    - TEST_error
    - ERR_peek_last_error
    - PEM_read_bio
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int test_certs(int num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:174,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:179,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:183,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509aux.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - test_get_argument_count
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:91,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:95,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - vobj
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: cleanup_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_object(void *vobj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:213,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:217,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:235,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:231,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:229,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:238,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:214,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:216,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:220,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:222,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:226,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:236,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:217,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:219,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:231,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:233,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:214,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:220,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:223,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:226,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:236,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 242
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 242
    functionName: api_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - TEST_true
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_utf8_ptr
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_double
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int api_set_params(void *vobj, const OSSL_PARAM *params) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:134,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:138,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:139,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:140,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:136,1
    - Dst: BN_native2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:140,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:143,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:145,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:145,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:148,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:149,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:161,1
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:155,1
    - Dst: TEST_size_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:157,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:159,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 168
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 168
    functionName: raw_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strcmp
    - OPENSSL_free
    - TEST_size_t_lt
    - BN_native2bn
    - BN_free
    - OPENSSL_strndup
    - OPENSSL_strnlen
    - strncpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int raw_set_params(void *vobj, const OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: cleanup_app_variables
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int cleanup_app_variables(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:385,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:392,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:389,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:387,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:386,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:394,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: construct_api_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_BN
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *construct_api_params(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:621,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:624,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:631,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:636,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:632,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:637,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:640,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:645,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct int_from_text_test_st
    constantsTouched: []
    func_position:
      end: 657
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 657
    functionName: check_int_from_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_PARAM_allocate_from_text
    - OSSL_PARAM_get_long
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int check_int_from_text(const struct int_from_text_test_st
      a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_int_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 698
    functionName: test_allocate_from_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - check_int_from_text
    linkageType: ''
    returnType: int
    signature: 'static int test_allocate_from_text(int i) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:175,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:178,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:182,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:181,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:183,1
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:185,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:186,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:187,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:188,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:190,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:195,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:196,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:197,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:192,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:191,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 202
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 202
    functionName: raw_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - strcpy
    - strcmp
    - TEST_size_t_gt
    - BN_bn2nativepad
    - TEST_size_t_ge
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int raw_get_params(void *vobj, OSSL_PARAM *params) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:102,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:107,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:109,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:102,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:107,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:109,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:111,1
    - Dst: cleanup_object
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: init_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - BN_hex2bn
    - strcpy
    - TEST_ptr
    - cleanup_object
    - TEST_true
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *init_object(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:249,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:252,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:250,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:250,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:253,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:255,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:256,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:256,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:258,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:259,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:264,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:261,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:265,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:265,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:262,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:262,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:259,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 269
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 269
    functionName: api_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_set_double
    - TEST_true
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int api_get_params(void *vobj, OSSL_PARAM *params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_app_variables
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:332,1
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:337,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:340,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:339,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: init_app_variables
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - BN_bn2nativepad
    - BN_hex2bn
    - strcpy
    - cleanup_app_variables
    linkageType: ''
    returnType: int
    signature: 'static int init_app_variables(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:668,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:672,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:675,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:671,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:675,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:681,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:681,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:686,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 693
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 693
    functionName: check_octetstr_from_hexstr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - OPENSSL_free
    - TEST_true
    - strlen
    - OSSL_PARAM_allocate_from_text
    - TEST_error
    - TEST_false
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int check_octetstr_from_hexstr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_octetstr_from_hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 703
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 703
    functionName: test_more_allocate_from_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - check_octetstr_from_hexstr
    linkageType: ''
    returnType: int
    signature: 'static int test_more_allocate_from_text(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:707,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:709,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:707,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:708,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_double_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:460,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:464,1
    - Dst: BN_native2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:462,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:474,1
    - Dst: TEST_double_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:489,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:491,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:493,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:512,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:513,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:516,1
    - Dst: cleanup_app_variables
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:531,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:512,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:521,1
    - Dst: init_object
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:446,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:447,1
    - Dst: init_app_variables
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:456,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:458,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:459,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:461,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:465,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:463,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:474,1
    - Dst: BN_native2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:513,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:514,1
    - Dst: cleanup_object
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:532,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:519,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:520,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:446,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:461,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:468,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:465,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:462,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:469,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:472,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:490,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:492,1
    - Dst: TEST_double_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:511,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:523,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:524,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:525,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:488,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:529,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:504,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:520,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:447,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:466,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:470,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:473,1
    - Dst: init_app_variables
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:481,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:483,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:504,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:509,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:510,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:525,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:501,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:517,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:515,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:516,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 157
    argCount: 2
    argNames:
    - params
    - prov
    argTypes:
    - OSSL_PARAM*
    - struct provider_dispatch_st*
    constantsTouched: []
    func_position:
      end: 535
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 535
    functionName: test_case_variant
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - cleanup_app_variables
    - init_app_variables
    - TEST_str_eq
    - TEST_ptr
    - TEST_int_eq
    - cleanup_object
    - TEST_true
    - TEST_char_eq
    - BN_native2bn
    - OSSL_PARAM_locate
    - BN_free
    - TEST_BN_eq
    - TEST_size_t_eq
    - TEST_double_eq
    - init_object
    linkageType: ''
    returnType: int
    signature: 'static int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_st
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:539,1
    - Dst: test_case_variant
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:544,1
    - Dst: test_case_variant
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: test_case
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_test.c
    functionUses: []
    functionsReached:
    - test_case_variant
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int test_case(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - vpxorctx
    - vkey
    - OSSL_PARAM
    argTypes:
    - void*
    - void*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: xor_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int xor_init(void *vpxorctx, void *vkey, ossl_unused const
      OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - vpxorctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 288
    functionName: xor_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int xor_derive(void *vpxorctx, unsigned char *secret, size_t
      *secretlen, size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: xor_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *xor_settable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - select
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: xor_export_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *xor_export_types(int select) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:179,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:187,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:181,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:189,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:190,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:199,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:202,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:206,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:209,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:214,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - provctx
    - capability
    - cb
    - arg
    argTypes:
    - void*
    - char*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: tls_prov_get_capabilities
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - strcmp
    - OPENSSL_assert
    - memcpy
    - cb
    - BIO_snprintf
    - OPENSSL_zalloc
    - OSSL_NELEM
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int tls_prov_get_capabilities(void *provctx, const char *capability,
      OSSL_CALLBACK *cb, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - vpxorctx
    - vpeerkey
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: xor_set_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int xor_set_peer(void *vpxorctx, void *vpeerkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pxorctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: xor_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void xor_freectx(void *pxorctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: xor_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *xor_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: xor_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void xor_gen_cleanup(void *genctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xor_newdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:416,1
    - Dst: xor_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:425,1
    - Dst: xor_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:422,1
    - Dst: xor_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:424,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:419,1
    - Dst: xor_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:426,1
    - Dst: xor_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:432,1
    - Dst: xor_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:433,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - vpxorctx
    - ss
    - sslen
    - ct
    - ctlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 435
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 435
    functionName: xor_decapsulate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - xor_freectx
    - xor_newctx
    - xor_init
    - memcpy
    - xor_freedata
    - xor_derive
    - xor_newdata
    - xor_set_peer
    linkageType: ''
    returnType: int
    signature: 'static int xor_decapsulate(void *vpxorctx, unsigned char *ss, size_t
      *sslen, const unsigned char *ct, size_t ctlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: xor_freedata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void xor_freedata(void *keydata) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xor_newdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:487,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:504,1
    - Dst: xor_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:512,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - vfromkey
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 516
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 516
    functionName: xor_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - xor_newdata
    - memcpy
    - xor_freedata
    linkageType: ''
    returnType: void*
    signature: 'static void *xor_dup(const void *vfromkey, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: xor_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *xor_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 786
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 786
    functionName: tls_prov_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *tls_prov_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - vkey
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: xor_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int xor_has(const void *vkey, int selection) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:523,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:531,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:528,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:524,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:527,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 541
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 541
    functionName: xor_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - memcpy
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int xor_get_params(void *vkey, OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:641,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:649,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:648,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 659
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 659
    functionName: xor_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - RAND_bytes_ex
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *xor_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:792,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 798
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 798
    functionName: tls_prov_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void tls_prov_teardown(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:821,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 840
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 840
    functionName: randomize_tls_group_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - RAND_bytes_ex
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int randomize_tls_group_id(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: xor_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *xor_newdata(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - vpxorctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: xor_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *xor_dupctx(void *vpxorctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:676,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:678,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:679,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:682,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:677,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:685,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:690,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:694,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - vkey
    - select
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 700
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 700
    functionName: xor_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - memcpy
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_string
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int xor_import(void *vkey, int select, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:711,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:714,1
    - Dst: param_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:718,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - vkey
    - select
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: xor_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - param_cb
    linkageType: ''
    returnType: int
    signature: 'static int xor_export(void *vkey, int select, OSSL_CALLBACK *param_cb,
      void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - select
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: xor_import_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *xor_import_types(int select) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:847,1
    - Dst: randomize_tls_group_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:858,1
    - Dst: randomize_tls_group_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 863
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 863
    functionName: tls_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - randomize_tls_group_id
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: 'int tls_provider_init(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH
      *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:560,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 570
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 570
    functionName: xor_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int xor_set_params(void *vkey, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:596,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:603,1
    - Dst: xor_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 607
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 607
    functionName: xor_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - xor_gen_set_params
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *xor_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: xor_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *xor_newctx(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:617,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:621,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:620,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 626
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 626
    functionName: xor_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int xor_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xor_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:363,1
    - Dst: xor_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:366,1
    - Dst: xor_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:375,1
    - Dst: xor_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:377,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:371,1
    - Dst: xor_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:378,1
    - Dst: xor_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:379,1
    - Dst: xor_gen_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:385,1
    - Dst: xor_freedata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:386,1
    - Dst: xor_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c:387,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 5
    argNames:
    - vpxorctx
    - ct
    - ctlen
    - ss
    - sslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 389
    functionName: xor_encapsulate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls-provider.c
    functionUses: []
    functionsReached:
    - xor_freectx
    - xor_newctx
    - xor_init
    - memcpy
    - xor_freedata
    - xor_derive
    - xor_gen
    - xor_gen_cleanup
    - xor_set_peer
    - xor_gen_init
    linkageType: ''
    returnType: int
    signature: 'static int xor_encapsulate(void *vpxorctx, unsigned char *ct, size_t
      *ctlen, unsigned char *ss, size_t *sslen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:316,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:320,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:333,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:335,1
    - Dst: pem_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:325,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:342,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:346,1
    - Dst: evp_pkey_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:346,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:358,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:316,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:317,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:321,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:324,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:340,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:357,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:361,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:316,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:325,1
    - Dst: pem_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:341,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:342,1
    - Dst: evp_pkey_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:349,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:350,1
    - Dst: evp_pkey_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:351,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:356,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:360,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:324,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:333,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:334,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:339,1
    - Dst: test_membio_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:327,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:348,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:359,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    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*
    constantsTouched: []
    func_position:
      end: 363
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 363
    functionName: test_protected_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - EVP_PKEY_free
    - OSSL_ENCODER_CTX_free
    - BIO_s_mem
    - OSSL_ENCODER_CTX_new_for_pkey
    - EVP_PKEY_assign
    - BIO_new
    - pem_read_bio
    - TEST_true
    - TEST_info
    - pem_write_bio
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_bio
    - EVP_PKEY_new
    - evp_pkey_print
    - test_membio_str_eq
    - TEST_ptr
    - TEST_int_gt
    - OSSL_DECODER_CTX_free
    - evp_pkey_eq
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: int
    signature: 'static int test_protected_PEM(const char *keytype, int evp_type, const
      void *legacy_key, PEM_write_bio_of_void_protected *pem_write_bio, PEM_read_bio_of_void
      *pem_read_bio, EVP_PKEY_eq_fn *evp_pkey_eq, EVP_PKEY_print_fn *evp_pkey_print,
      EVP_PKEY *provided_pkey, int selection, const char *structure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:278,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: lookup_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: struct key_st*
    signature: 'static struct key_st *lookup_key(const char *type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:457,1
    - Dst: i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:459,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:460,1
    - Dst: d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:478,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:477,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:486,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:495,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:499,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:459,1
    - Dst: evp_pkey_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:484,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:480,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:484,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:494,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:498,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:453,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:457,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:467,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:468,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:473,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:497,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:454,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:467,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:480,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:469,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:475,1
    - Dst: evp_pkey_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:487,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:488,1
    - Dst: evp_pkey_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:489,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:496,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    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*
    constantsTouched: []
    func_position:
      end: 501
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 501
    functionName: test_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - d2i
    - EVP_PKEY_free
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - EVP_PKEY_assign
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - OSSL_DECODER_CTX_new_for_pkey
    - TEST_size_t_gt
    - EVP_PKEY_new
    - i2d
    - OSSL_ENCODER_to_data
    - evp_pkey_print
    - TEST_ptr
    - OSSL_DECODER_from_data
    - TEST_int_gt
    - OSSL_DECODER_CTX_free
    - evp_pkey_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_DER(const char *keytype, int evp_type, const void
      *legacy_key, i2d_of_void *i2d, d2i_of_void *d2i, EVP_PKEY_eq_fn *evp_pkey_eq,
      EVP_PKEY_print_fn *evp_pkey_print, EVP_PKEY *provided_pkey, int selection, const
      char *structure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:247,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:253,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:250,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:251,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:248,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:261,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:262,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:265,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:266,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:269,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:270,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - type
    - gen_template_params
    argTypes:
    - char*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 272
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 272
    functionName: make_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_generate
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *make_key(const char *type, const OSSL_PARAM *gen_template_params) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:384,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:385,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:389,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:392,1
    - Dst: pem_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:393,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:409,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:413,1
    - Dst: evp_pkey_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:413,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:423,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:427,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:385,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:384,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:400,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:401,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:406,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:407,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:426,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:385,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:392,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:400,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:402,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:393,1
    - Dst: pem_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:408,1
    - Dst: EVP_PKEY_assign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:409,1
    - Dst: evp_pkey_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:416,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:417,1
    - Dst: evp_pkey_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:418,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:425,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:384,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:388,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:406,1
    - Dst: test_membio_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:394,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:415,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:424,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:428,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    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*
    constantsTouched: []
    func_position:
      end: 430
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 430
    functionName: test_unprotected_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - EVP_PKEY_free
    - OSSL_ENCODER_CTX_free
    - BIO_s_mem
    - OSSL_ENCODER_CTX_new_for_pkey
    - EVP_PKEY_assign
    - BIO_new
    - pem_read_bio
    - TEST_true
    - TEST_info
    - pem_write_bio
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_bio
    - EVP_PKEY_new
    - evp_pkey_print
    - test_membio_str_eq
    - TEST_ptr
    - TEST_int_gt
    - OSSL_DECODER_CTX_free
    - evp_pkey_eq
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: int
    signature: 'static int test_unprotected_PEM(const char *keytype, int evp_type,
      const void *legacy_key, PEM_write_bio_of_void_unprotected *pem_write_bio, PEM_read_bio_of_void
      *pem_read_bio, EVP_PKEY_eq_fn *evp_pkey_eq, EVP_PKEY_print_fn *evp_pkey_print,
      EVP_PKEY *provided_pkey, int selection, const char *structure) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:288,1
    - Dst: TEST_strn2_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:293,1
    - Dst: TEST_long_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:291,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:289,1
    - Dst: TEST_long_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - bio_provided
    - bio_legacy
    argTypes:
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: test_membio_str_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - TEST_long_ge
    - TEST_strn2_eq
    - BIO_get_mem_data
    linkageType: ''
    returnType: int
    signature: 'static int test_membio_str_eq(BIO *bio_provided, BIO *bio_legacy) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:518,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:520,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:521,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:522,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:534,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:572,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:554,1
    - Dst: test_unprotected_PEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:593,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:609,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:629,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:514,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:519,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:521,1
    - Dst: test_unprotected_PEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:556,1
    - Dst: EVP_PKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:522,1
    - Dst: test_DER
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:631,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:644,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:513,1
    - Dst: lookup_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:514,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:647,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:673,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:519,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:569,1
    - Dst: test_protected_PEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:536,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:551,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:531,1
    - Dst: test_unprotected_PEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:574,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:591,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:606,1
    - Dst: test_DER
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:611,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:626,1
    - Dst: test_DER
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:666,1
    - Dst: test_DER
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:649,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:664,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 106
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 675
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 675
    functionName: test_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - test_unprotected_PEM
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - test_protected_PEM
    - EVP_PKEY_free
    - TEST_info
    - lookup_key
    - test_DER
    - EVP_PKEY_get0
    - OSSL_NELEM
    - evp_pkey_copy_downgraded
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'static int test_key(int idx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:712,1
    - Dst: make_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:714,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:689,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:699,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:699,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:707,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:713,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:720,1
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:684,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:688,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:693,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:685,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:695,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:697,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:698,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:705,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:718,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:720,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:706,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:707,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 722
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 722
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - strcmp
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_info
    - make_key
    - load_pkey_pem
    - test_get_argument_count
    - OSSL_NELEM
    - TEST_error
    linkageType: ''
    returnType: OPT_TEST_DECLARE_USAGE(USAGE)
    signature: 'OPT_TEST_DECLARE_USAGE(USAGE) int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:728,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 730
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecoder_legacy_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:114,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:120,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:114,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:119,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:118,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:121,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:121,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:122,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:137,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:137,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:132,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 140
    functionName: test_thread_local
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_true
    - wait_for_thread
    - run_thread
    - TEST_ptr_null
    - CRYPTO_THREAD_init_local
    - CRYPTO_THREAD_get_local
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: int
    signature: 'static int test_thread_local(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:377,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: thread_multi_simple_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: void
    signature: 'static void thread_multi_simple_fetch(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: test_lib_ctx_load_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: 'static int test_lib_ctx_load_config(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:38,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:42,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:42,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:41,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:41,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:43,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:43,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:44,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:44,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: test_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_read_lock
    - TEST_true
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: 'static int test_lock(void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:146,1
    - Dst: CRYPTO_atomic_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:151,1
    - Dst: CRYPTO_atomic_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:163,1
    - Dst: CRYPTO_atomic_or
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:168,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:182,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:192,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:193,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:197,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:198,1
    - Dst: CRYPTO_atomic_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:203,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:212,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:165,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:165,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:185,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:186,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:206,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:207,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:153,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:153,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:157,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:163,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:170,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:175,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:176,1
    - Dst: CRYPTO_atomic_or
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:182,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:171,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:203,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:148,1
    - Dst: CRYPTO_atomic_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:190,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 75
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 214
    functionName: test_atomic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - CRYPTO_atomic_or
    - CRYPTO_THREAD_lock_free
    - CRYPTO_atomic_add
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - TEST_uint_eq
    - CRYPTO_atomic_load
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: 'static int test_atomic(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:265,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: teardown_threads
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_true
    - wait_for_thread
    linkageType: ''
    returnType: int
    signature: 'static int teardown_threads(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multi_intialise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:290,1
    - Dst: start_threads
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:292,1
    - Dst: main_func
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:296,1
    - Dst: thread_setup_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:291,1
    - Dst: teardown_threads
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:298,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:299,1
    - Dst: thead_teardown_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - (*main_func)
    - num_threads
    - (*thread_func)
    - libctx
    - providers
    argTypes:
    - void
    - size_t
    - void
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 305
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 305
    functionName: thread_run_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - thread_setup_libctx
    - multi_intialise
    - thead_teardown_libctx
    - teardown_threads
    - TEST_true
    - start_threads
    - main_func
    linkageType: ''
    returnType: int
    signature: 'static int thread_run_test(void (*main_func)(void), size_t num_threads,
      void (*thread_func)(void), int libctx, const char *providers[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:274,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:278,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - n
    - (*thread_func)
    argTypes:
    - size_t
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: start_threads
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - TEST_true
    - run_thread
    linkageType: ''
    returnType: int
    signature: 'static int start_threads(size_t n, void (*thread_func)(void)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:335,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:342,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:341,1
    - Dst: EVP_EncryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:351,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:366,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:370,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:309,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:310,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:314,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:334,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:343,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:347,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:348,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:369,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:341,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:342,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:351,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:361,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:368,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:312,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:331,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:333,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:336,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:347,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:343,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:348,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:360,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:367,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 373
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 373
    functionName: thread_general_worker
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_EncryptFinal
    - EVP_CIPHER_CTX_new
    - EVP_DigestInit_ex
    - EVP_EncryptInit_ex
    - EVP_DigestUpdate
    - EVP_CIPHER_free
    - EVP_MD_CTX_new
    - TEST_true
    - EVP_MD_free
    - EVP_DigestFinal
    - EVP_PKEY_Q_keygen
    - EVP_CIPHER_CTX_free
    - EVP_MD_fetch
    - strlen
    - EVP_MD_CTX_free
    - TEST_ptr
    - OSSL_PROVIDER_available
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: void
    signature: 'static void thread_general_worker(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:483,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:512,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:536,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:546,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:548,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:550,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:554,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:558,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:479,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:487,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:491,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:492,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:512,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:537,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:524,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:537,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:557,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:514,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:546,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:536,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:548,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:556,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:487,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:514,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:530,1
    - Dst: worker
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:540,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:525,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:555,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 65
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 562
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 562
    functionName: test_multi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - OSSL_PROVIDER_unload
    - TEST_error
    - run_thread
    - worker
    - load_pkey_pem
    - wait_for_thread
    - EVP_PKEY_free
    - OSSL_PROVIDER_load
    - test_get_libctx
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_multi(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: once_do_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void once_do_run(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: thread_local_destructor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void thread_local_destructor(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:68,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:69,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:68,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:69,1
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:70,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: test_once
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_run_once
    - TEST_int_eq
    - TEST_true
    - wait_for_thread
    - run_thread
    linkageType: ''
    returnType: int
    signature: 'static int test_once(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:451,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:454,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:453,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:457,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: thread_provider_load_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: void
    signature: 'static void thread_provider_load_unload(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: once_run_thread_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_run_once
    linkageType: ''
    returnType: void
    signature: 'static void once_run_thread_cb(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:96,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:98,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:102,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:98,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:97,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: thread_local_thread_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_set_local
    - TEST_true
    - TEST_ptr_null
    - TEST_ptr_eq
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: void
    signature: 'static void thread_local_thread_cb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:227,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: multi_intialise
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void multi_intialise(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:236,1
    - Dst: multi_intialise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:238,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: thead_teardown_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - multi_intialise
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void thead_teardown_libctx(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:399,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:406,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:406,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:400,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:403,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:407,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:407,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:408,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:412,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:413,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:420,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:419,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:422,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:420,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:429,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:415,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:419,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:422,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 432
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 432
    functionName: thread_shared_evp_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_decrypt
    - TEST_mem_eq
    - TEST_ptr
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_int_ge
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_encrypt
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void thread_shared_evp_pkey(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:575,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:576,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:576,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 578
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 578
    functionName: test_multi_load_worker
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: 'static void test_multi_load_worker(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:625,1
    - Dst: test_multi_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:626,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:635,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:640,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:637,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:644,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:644,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:647,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 650
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 650
    functionName: test_multi_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - test_multi_default
    - OSSL_PROVIDER_unload
    - TEST_true
    - run_thread
    - TEST_info
    - wait_for_thread
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: 'static int test_multi_load(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:245,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:245,1
    - Dst: TEST_size_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:251,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:252,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:252,1
    - Dst: thead_teardown_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - libctx
    - providers
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: thread_setup_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - thead_teardown_libctx
    - TEST_true
    - TEST_size_t_lt
    - OSSL_PROVIDER_load
    - test_get_libctx
    linkageType: ''
    returnType: int
    signature: 'static int thread_setup_libctx(int libctx, const char *providers[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 447
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 447
    functionName: thread_downgrade_shared_evp_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get0_RSA
    linkageType: ''
    returnType: void
    signature: 'static void thread_downgrade_shared_evp_pkey(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:588,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:596,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:599,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:599,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:600,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:600,1
    - Dst: thread_multi_simple_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:603,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:605,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:605,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:606,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:613,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:607,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:606,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 615
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 615
    functionName: test_multi_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - thread_multi_simple_fetch
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - wait_for_thread
    - run_thread
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: 'static int test_multi_default(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:654,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: test_lib_ctx_load_config_worker
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - OSSL_LIB_CTX_load_config
    linkageType: ''
    returnType: void
    signature: 'static void test_lib_ctx_load_config_worker(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:689,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:695,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:704,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:704,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:707,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:708,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:712,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:714,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:715,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:716,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:717,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:718,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:720,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c:719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 722
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 722
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - opt_arg
    - ADD_TEST
    - test_get_argument
    - ADD_ALL_TESTS
    - opt_next
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:100,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sz
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: bn_load_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - BN_new
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *bn_load_new(const unsigned char *data, int sz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:229,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:232,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:233,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:243,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:244,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:245,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:246,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:247,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:251,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:260,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:268,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:265,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:256,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:228,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:230,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:241,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:242,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:242,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:249,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:255,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:258,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:262,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:266,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:230,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:232,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:233,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:236,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:244,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:245,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:246,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:247,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:256,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:260,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:269,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:227,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:229,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:241,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:234,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:243,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:250,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:255,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:258,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:262,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:265,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:266,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 271
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 271
    functionName: test_check_private_exponent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_set0_key
    - ossl_rsa_check_private_exponent
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_CTX_free
    - BN_CTX_new
    - BN_set_word
    - BN_free
    - TEST_false
    - RSA_new
    - RSA_set0_factors
    linkageType: ''
    returnType: int
    signature: 'static int test_check_private_exponent(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:154,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:158,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:161,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:162,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:165,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:167,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:169,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:174,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:176,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:169,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:171,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:151,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:156,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:159,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:160,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:163,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:164,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:166,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:168,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:175,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:150,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:153,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:157,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:155,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:158,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:161,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:162,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:165,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:167,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:172,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:150,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:152,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:154,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:159,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:155,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:160,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:163,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:164,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:166,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:168,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:173,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 178
    functionName: test_check_prime_factor_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - bn_load_new
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_CTX_free
    - BN_CTX_new
    - BN_set_word
    - BN_free
    - ossl_rsa_check_prime_factor_range
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_check_prime_factor_range(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:352,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:366,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:353,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:356,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:357,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:361,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:362,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:358,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:360,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:363,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:364,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:367,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:353,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:354,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:365,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:352,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:354,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:356,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:357,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:358,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:362,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:363,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:360,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:361,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 369
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 369
    functionName: test_pq_diff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - ossl_rsa_check_pminusq_diff
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_set_word
    - BN_free
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_pq_diff(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:467,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:472,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:484,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:476,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:482,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:485,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:487,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:488,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:467,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:472,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:474,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:471,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:473,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:484,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:482,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:477,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:485,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:487,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:488,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:490,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:471,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:473,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:478,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:474,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 492
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 492
    functionName: test_check_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_set0_key
    - ossl_rsa_sp800_56b_check_private
    - bn_load_new
    - TEST_ptr
    - BN_copy
    - TEST_true
    - BN_set_word
    - BN_free
    - TEST_false
    - RSA_new
    linkageType: ''
    returnType: int
    signature: 'static int test_check_private_key(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:192,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:195,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:196,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:215,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:214,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:195,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:202,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:204,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:205,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:207,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:208,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:210,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:193,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:194,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:197,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:211,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:213,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:212,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:193,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:194,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:196,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:199,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:202,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:197,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:205,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:208,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 217
    functionName: test_check_prime_factor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - bn_load_new
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_CTX_free
    - ossl_rsa_check_prime_factor
    - BN_CTX_new
    - BN_set_word
    - BN_free
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_check_prime_factor(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:304,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:306,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:311,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:315,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:327,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:332,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:333,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:295,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:298,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:329,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:288,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:292,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:307,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:312,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:316,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:335,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:341,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:313,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:289,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:293,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:309,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:310,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:289,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:319,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:316,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:312,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:323,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:293,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:313,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:317,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:321,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:339,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:296,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:324,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:331,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:325,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:322,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:318,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:291,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:294,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:342,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:296,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:303,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:305,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:307,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:335,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:324,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:331,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:328,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:343,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:318,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:288,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:309,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:325,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:322,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:332,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:311,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:315,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:336,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:337,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:310,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:333,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:292,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:291,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:336,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:294,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:302,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:337,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:327,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:323,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:319,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:329,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:321,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:339,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:295,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:299,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:302,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 135
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 345
    functionName: test_check_crt_components
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - ossl_rsa_sp800_56b_derive_params_from_pq
    - TEST_BN_eq_word
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_CTX_free
    - BN_CTX_new
    - BN_set_word
    - BN_free
    - ossl_rsa_check_crt_components
    - TEST_false
    - RSA_new
    - RSA_set0_factors
    linkageType: ''
    returnType: int
    signature: 'static int test_check_crt_components(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:379,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:381,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:383,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:392,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:388,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:393,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:398,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:403,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:404,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:406,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:426,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:430,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:421,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:417,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:427,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:413,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:432,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:384,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:393,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:385,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:392,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:394,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:395,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:399,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:405,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:408,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:411,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:423,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:420,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:433,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:425,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:436,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:412,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:424,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:429,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:431,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:381,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:384,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:387,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:394,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:397,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:403,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:404,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:406,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:408,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:416,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:421,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:426,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:430,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:432,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:413,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:427,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:379,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:383,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:385,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:395,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:405,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:408,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:411,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:416,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:417,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:423,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:420,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:425,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:433,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:429,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:424,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:419,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:412,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:431,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:435,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 119
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 438
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 438
    functionName: test_invalid_keypair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_set0_key
    - bn_load_new
    - BN_sub_word
    - BN_add_word
    - ossl_rsa_sp800_56b_check_keypair
    - TEST_ptr
    - BN_value_one
    - TEST_true
    - BN_CTX_free
    - BN_CTX_new
    - BN_mul
    - BN_free
    - TEST_false
    - RSA_new
    - RSA_set0_factors
    linkageType: ''
    returnType: int
    signature: 'static int test_invalid_keypair(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:451,1
    - Dst: ossl_rsa_sp800_56b_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:452,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:452,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:453,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:451,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:453,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:454,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:454,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:455,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:455,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 459
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 459
    functionName: test_sp80056b_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - ossl_rsa_sp800_56b_check_public
    - RSA_free
    - ossl_rsa_sp800_56b_check_private
    - TEST_ptr
    - TEST_true
    - ossl_rsa_sp800_56b_generate_key
    - ossl_rsa_sp800_56b_check_keypair
    - RSA_new
    linkageType: ''
    returnType: int
    signature: 'static int test_sp80056b_keygen(int id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:502,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:505,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:508,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:515,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:504,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:506,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:516,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:517,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:519,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:520,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:521,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:523,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:524,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:525,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:524,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:530,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:523,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:527,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:504,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:502,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:513,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:509,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:525,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:528,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:500,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:500,1
    - Dst: bn_load_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:505,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:506,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:515,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:516,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:513,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:519,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:520,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:527,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:521,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:528,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 532
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 532
    functionName: test_check_public_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - ossl_rsa_sp800_56b_check_public
    - RSA_free
    - RSA_set0_key
    - bn_load_new
    - BN_sub_word
    - BN_add_word
    - TEST_ptr
    - BN_lshift1
    - TEST_true
    - BN_rshift1
    - BN_free
    - TEST_false
    - RSA_new
    linkageType: ''
    returnType: int
    signature: 'static int test_check_public_key(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:536,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:537,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:538,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:540,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:539,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:541,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:542,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:543,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:544,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:545,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 547
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 547
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:114,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:115,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:117,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:121,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:120,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:123,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:124,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:125,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:127,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:129,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:128,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:128,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:127,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:115,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:114,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:117,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:118,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:118,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:122,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:123,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:124,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:129,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:128,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:112,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:112,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: test_check_public_exponent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_sp800_56b_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - BN_value_one
    - TEST_true
    - BN_new
    - ossl_rsa_check_public_exponent
    - BN_set_word
    - BN_free
    - TEST_false
    - BN_add
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: 'static int test_check_public_exponent(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:316,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:318,1
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: get_custom_oid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - OBJ_create
    - OBJ_txt2nid
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int get_custom_oid(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: test_single_key_enc_pass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - test_single_key
    linkageType: ''
    returnType: int
    signature: 'static int test_single_key_enc_pass(int z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: test_single_key_enc_iter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - test_single_key
    linkageType: ''
    returnType: int
    signature: 'static int test_single_key_enc_iter(int z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_cert_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: test_single_cert_mac_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - test_single_cert_mac
    linkageType: ''
    returnType: int
    signature: 'static int test_single_cert_mac_alg(int z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_cert_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 519
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 519
    functionName: test_single_cert_mac_iter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - test_single_cert_mac
    linkageType: ''
    returnType: int
    signature: 'static int test_single_cert_mac_iter(int z) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:809,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:812,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:818,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:818,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:821,1
    - Dst: i2d_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:824,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:822,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:824,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:842,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:842,1
    - Dst: PKCS12_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:832,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:832,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:848,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:852,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:854,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:849,1
    - Dst: PKCS12_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:814,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:816,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:821,1
    - Dst: d2i_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:829,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:830,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:840,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:847,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:851,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:808,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:811,1
    - Dst: PKCS12_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:826,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:827,1
    - Dst: PKCS12_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:837,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:850,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:853,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 856
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 856
    functionName: pkcs12_recreate_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - PKCS12_create
    - ERR_peek_error
    - d2i_PKCS12_bio
    - BIO_free
    - PKCS12_free
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey
    - PKCS12_parse
    - BIO_s_mem
    - d2i_X509
    - BIO_new
    - PKCS12_init_ex
    - i2d_PKCS12_bio
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_recreate_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_cert_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 508
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 508
    functionName: test_single_cert_mac_pass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - test_single_cert_mac
    linkageType: ''
    returnType: int
    signature: 'static int test_single_cert_mac_pass(int z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:523,1
    - Dst: add_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:530,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:528,1
    - Dst: add_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:531,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:526,1
    - Dst: end_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:533,1
    - Dst: end_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:535,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:538,1
    - Dst: start_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:540,1
    - Dst: check_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:542,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:545,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:547,1
    - Dst: check_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:543,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 550
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 550
    functionName: test_cert_key_with_attrs_and_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - check_keybag
    - start_check_contentinfo
    - new_pkcs12_builder
    - start_contentinfo
    - start_pkcs12
    - end_check_pkcs12
    - check_certbag
    - add_certbag
    - end_pkcs12_builder
    - add_keybag
    - end_contentinfo
    - end_pkcs12_with_mac
    - end_check_contentinfo
    - start_check_pkcs12_with_mac
    linkageType: ''
    returnType: int
    signature: 'static int test_cert_key_with_attrs_and_mac(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:956,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:959,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:958,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:360,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:365,1
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:362,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:360,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:367,1
    - Dst: add_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:369,1
    - Dst: end_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:371,1
    - Dst: end_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:373,1
    - Dst: start_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:376,1
    - Dst: start_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:378,1
    - Dst: check_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:380,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:384,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:386,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 387
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 387
    functionName: test_single_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - check_keybag
    - start_check_contentinfo
    - end_check_contentinfo
    - new_pkcs12_builder
    - start_contentinfo
    - OBJ_nid2sn
    - start_pkcs12
    - start_check_pkcs12
    - end_pkcs12_builder
    - add_keybag
    - end_contentinfo
    - end_check_pkcs12
    - end_pkcs12
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int test_single_key(PKCS12_ENC *enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:675,1
    - Dst: end_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:685,1
    - Dst: start_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:690,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:699,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:705,1
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:664,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:668,1
    - Dst: get_custom_oid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:665,1
    - Dst: add_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:674,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:679,1
    - Dst: end_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:683,1
    - Dst: check_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:693,1
    - Dst: check_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:695,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:703,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:707,1
    - Dst: add_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:672,1
    - Dst: add_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:673,1
    - Dst: end_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:677,1
    - Dst: check_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:694,1
    - Dst: add_secretbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:681,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:670,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:688,1
    - Dst: check_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:692,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:697,1
    - Dst: check_secretbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 708
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 708
    functionName: test_multiple_contents
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - check_keybag
    - add_secretbag
    - start_check_contentinfo_encrypted
    - end_contentinfo_encrypted
    - new_pkcs12_builder
    - start_contentinfo
    - get_custom_oid
    - add_certbag
    - add_keybag
    - end_check_contentinfo
    - start_pkcs12
    - check_secretbag
    - check_certbag
    - end_check_pkcs12
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - start_check_contentinfo
    - end_pkcs12_builder
    - end_contentinfo
    linkageType: ''
    returnType: int
    signature: 'static int test_multiple_contents(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_single_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 401
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 401
    functionName: test_single_key_enc_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - test_single_key
    linkageType: ''
    returnType: int
    signature: 'static int test_single_key_enc_alg(int z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:427,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:432,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:430,1
    - Dst: add_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:434,1
    - Dst: end_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:436,1
    - Dst: end_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:438,1
    - Dst: start_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:441,1
    - Dst: start_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:443,1
    - Dst: check_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:445,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:447,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:449,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 452
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 452
    functionName: test_single_key_with_attrs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - check_keybag
    - start_check_contentinfo
    - end_check_contentinfo
    - new_pkcs12_builder
    - start_contentinfo
    - start_pkcs12
    - start_check_pkcs12
    - end_pkcs12_builder
    - add_keybag
    - end_contentinfo
    - end_check_pkcs12
    - end_pkcs12
    linkageType: ''
    returnType: int
    signature: 'static int test_single_key_with_attrs(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:554,1
    - Dst: add_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:561,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:559,1
    - Dst: add_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:562,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:557,1
    - Dst: end_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:564,1
    - Dst: end_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:566,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:569,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:571,1
    - Dst: check_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:573,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:580,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:576,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:578,1
    - Dst: check_keybag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 581
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 581
    functionName: test_cert_key_encrypted_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - check_keybag
    - new_pkcs12_builder
    - start_check_contentinfo_encrypted
    - start_contentinfo
    - start_pkcs12
    - end_check_pkcs12
    - check_certbag
    - add_certbag
    - end_pkcs12_builder
    - add_keybag
    - end_contentinfo_encrypted
    - end_pkcs12_with_mac
    - end_check_contentinfo
    - start_check_pkcs12_with_mac
    linkageType: ''
    returnType: int
    signature: 'static int test_cert_key_encrypted_content(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:619,1
    - Dst: get_custom_oid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:621,1
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:620,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:619,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:624,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:626,1
    - Dst: add_secretbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:628,1
    - Dst: end_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:630,1
    - Dst: end_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:632,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:635,1
    - Dst: check_secretbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:639,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:643,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:645,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:641,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 646
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 646
    functionName: test_single_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - add_secretbag
    - new_pkcs12_builder
    - start_check_contentinfo_encrypted
    - start_contentinfo
    - OBJ_nid2sn
    - start_pkcs12
    - check_secretbag
    - end_check_pkcs12
    - get_custom_oid
    - end_pkcs12_builder
    - end_contentinfo_encrypted
    - end_pkcs12_with_mac
    - end_check_contentinfo
    - start_check_pkcs12_with_mac
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int test_single_secret(PKCS12_ENC *enc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:773,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:776,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:773,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:776,1
    - Dst: PKCS12_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:778,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:781,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:784,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:784,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:788,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:789,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 791
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 791
    functionName: pkcs12_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - ERR_peek_error
    - PKCS12_free
    - TEST_int_eq
    - TEST_ptr
    - EVP_PKEY_free
    - d2i_PrivateKey_ex
    - PKCS12_create
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_create_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 877
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 877
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:459,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:464,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:459,1
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:461,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:466,1
    - Dst: add_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:468,1
    - Dst: end_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:470,1
    - Dst: end_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:472,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:475,1
    - Dst: start_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:477,1
    - Dst: check_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:479,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:483,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:485,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - mac
    argTypes:
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 486
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 486
    functionName: test_single_cert_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - start_check_contentinfo
    - new_pkcs12_builder
    - start_contentinfo
    - OBJ_nid2sn
    - start_pkcs12
    - end_check_pkcs12
    - check_certbag
    - add_certbag
    - end_pkcs12_builder
    - end_contentinfo
    - end_pkcs12_with_mac
    - end_check_contentinfo
    - start_check_pkcs12_with_mac
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int test_single_cert_mac(PKCS12_ENC *mac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:585,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:589,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:591,1
    - Dst: add_secretbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:593,1
    - Dst: get_custom_oid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:586,1
    - Dst: end_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:595,1
    - Dst: end_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:597,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:600,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:602,1
    - Dst: check_secretbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:604,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:608,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:610,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 611
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 611
    functionName: test_single_secret_encrypted_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - add_secretbag
    - new_pkcs12_builder
    - start_check_contentinfo_encrypted
    - start_contentinfo
    - start_pkcs12
    - check_secretbag
    - end_check_pkcs12
    - get_custom_oid
    - end_pkcs12_builder
    - end_contentinfo_encrypted
    - end_pkcs12_with_mac
    - end_check_contentinfo
    - start_check_pkcs12_with_mac
    linkageType: ''
    returnType: int
    signature: 'static int test_single_secret_encrypted_content(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_single_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: test_single_secret_enc_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - test_single_secret
    linkageType: ''
    returnType: int
    signature: 'static int test_single_secret_enc_alg(int z) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_helper_set_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:889,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:927,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:930,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:922,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:932,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:933,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:937,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:941,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:942,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:944,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:948,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:949,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:946,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:883,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:929,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:923,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:929,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:932,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:947,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:946,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:903,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:905,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:906,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:910,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:911,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:922,1
    - Dst: PKCS12_helper_set_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:915,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:943,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:944,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:945,1
    - Dst: PKCS12_helper_set_write_files
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:886,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:902,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:913,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:923,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:930,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:933,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:940,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:941,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:942,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:945,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:950,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 952
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 952
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - PKCS12_helper_set_write_files
    - PKCS12_helper_set_libctx
    - ADD_TEST
    - ADD_ALL_TESTS
    - PKCS12_helper_set_legacy
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_available
    - OSSL_NELEM
    - opt_next
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:328,1
    - Dst: start_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:333,1
    - Dst: end_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:337,1
    - Dst: add_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:335,1
    - Dst: start_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:331,1
    - Dst: end_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:339,1
    - Dst: start_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:342,1
    - Dst: start_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:344,1
    - Dst: check_certbag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:346,1
    - Dst: end_check_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:348,1
    - Dst: end_pkcs12_builder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:352,1
    - Dst: end_check_pkcs12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 353
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 353
    functionName: test_single_cert_no_attrs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs12_format_test.c
    functionUses: []
    functionsReached:
    - end_check_contentinfo
    - start_check_contentinfo
    - new_pkcs12_builder
    - start_contentinfo
    - start_pkcs12
    - check_certbag
    - add_certbag
    - start_check_pkcs12
    - end_pkcs12_builder
    - end_contentinfo
    - end_check_pkcs12
    - end_pkcs12
    linkageType: ''
    returnType: int
    signature: 'static int test_single_cert_no_attrs(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:233,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:235,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:239,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:236,1
    - Dst: OSSL_PARAM_set_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:239,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:241,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:242,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:245,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:245,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:251,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:247,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 252
    functionName: test_param_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_ulong
    - OSSL_PARAM_ulong
    - test_param_type_extra
    - TEST_mem_eq
    - memcpy
    - TEST_true
    - OSSL_PARAM_set_ulong
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_ulong(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:450,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:453,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:453,1
    - Dst: TEST_double_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: test_param_real
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_double
    - OSSL_PARAM_set_double
    - TEST_true
    - TEST_double_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_param_real(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - len
    argTypes:
    - unsigned char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: swap_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swap_copy(unsigned char *out, const void *in, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:260,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:266,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:262,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:264,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:266,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:268,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:269,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:272,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:272,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:274,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:275,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: test_param_int32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - test_param_type_extra
    - TEST_mem_eq
    - OSSL_PARAM_get_int32
    - memcpy
    - TEST_true
    - OSSL_PARAM_int32
    - OSSL_PARAM_set_int32
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_int32(int n) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:490,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:505,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:519,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:569,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:562,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:570,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:579,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:591,1
    - Dst: BN_lebin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:616,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:622,1
    - Dst: OSSL_PARAM_construct_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:495,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:530,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:583,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:567,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:575,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:552,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:597,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:544,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:564,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:603,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:618,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:628,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:629,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:559,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:500,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:576,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:617,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:632,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:533,1
    - Dst: TEST_double_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:554,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:563,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:540,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:543,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:559,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:580,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:539,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:491,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:524,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:529,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:531,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:576,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:577,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:630,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:584,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:496,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:504,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:578,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:586,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:604,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:605,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:550,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:561,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:541,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:542,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:545,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:560,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:610,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:498,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:518,1
    - Dst: TEST_double_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:555,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:584,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:592,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:606,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:623,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:631,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:534,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:541,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:604,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:610,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:617,1
    - Dst: OSSL_PARAM_construct_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:492,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:503,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:562,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:575,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:583,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:590,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:552,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:497,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:569,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:551,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:596,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:603,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:615,1
    - Dst: OSSL_PARAM_construct_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:494,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:501,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:528,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:529,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:578,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:590,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:611,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:612,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:615,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:542,1
    - Dst: OSSL_PARAM_construct_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:499,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:502,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:560,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:551,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:540,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:596,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:515,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:532,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:550,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:622,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:553,1
    - Dst: OSSL_PARAM_construct_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:493,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:512,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:524,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:530,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:531,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:598,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:616,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 268
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 634
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 634
    functionName: test_param_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_dup
    - OSSL_PARAM_construct_octet_ptr
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_utf8_string
    - BN_lebin2bn
    - OSSL_PARAM_construct_uint64
    - OSSL_PARAM_construct_long
    - OSSL_PARAM_get_octet_ptr
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_construct_uint
    - TEST_str_eq
    - TEST_mem_eq
    - OPENSSL_free
    - OSSL_PARAM_set_uint32
    - TEST_true
    - OSSL_PARAM_construct_uint32
    - OSSL_PARAM_construct_int64
    - OSSL_PARAM_construct_int32
    - TEST_ptr_null
    - OSSL_PARAM_get_double
    - TEST_BN_eq
    - TEST_double_eq
    - OSSL_PARAM_construct_double
    - OSSL_PARAM_set_double
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_construct_ulong
    - TEST_ptr_eq
    - OSSL_PARAM_construct_octet_string
    - TEST_note
    - OSSL_PARAM_get_octet_string
    - TEST_size_t_eq
    - OSSL_PARAM_merge
    - TEST_ptr
    - OSSL_PARAM_get_utf8_ptr
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_get_utf8_string
    - BN_free
    - OSSL_PARAM_locate
    - OSSL_NELEM
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_construct_BN
    linkageType: ''
    returnType: int
    signature: 'static int test_param_construct(int tstid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:41,1
    - Dst: swap_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in
    - len
    argTypes:
    - unsigned char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: le_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - memcpy
    - swap_copy
    linkageType: ''
    returnType: void
    signature: 'static void le_copy(unsigned char *out, const void *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:698,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:699,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:700,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:701,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:711,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:698,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:699,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:697,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:700,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:708,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:710,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:697,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:704,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:705,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:702,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:703,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:706,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:707,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:701,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:702,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:703,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:704,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:705,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:706,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:707,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 713
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 713
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:153,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:156,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:159,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:155,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:157,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:159,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:161,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:162,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:165,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:165,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:167,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:168,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: test_param_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - test_param_type_extra
    - TEST_mem_eq
    - OSSL_PARAM_int
    - memcpy
    - TEST_true
    - OSSL_PARAM_get_int
    - OSSL_PARAM_set_int
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_int(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:186,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:184,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:182,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:183,1
    - Dst: OSSL_PARAM_set_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:186,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:188,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:189,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:192,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:192,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:198,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:194,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 199
    functionName: test_param_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_long
    - test_param_type_extra
    - TEST_mem_eq
    - OSSL_PARAM_get_long
    - memcpy
    - TEST_true
    - OSSL_PARAM_set_long
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_long(int n) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:90,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:91,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:105,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:100,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:110,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:107,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:95,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:120,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:124,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:129,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:92,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:119,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:112,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:86,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:90,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:91,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:95,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:120,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:124,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:125,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:129,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:126,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:85,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:92,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:102,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:119,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:125,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 3
    argNames:
    - param
    - cmp
    - width
    argTypes:
    - OSSL_PARAM*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 133
    functionName: test_param_type_extra
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_get_int32
    - TEST_mem_eq
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_set_uint32
    - TEST_true
    - OSSL_PARAM_modified
    - TEST_false
    - OSSL_PARAM_set_int32
    - TEST_size_t_eq
    - le_copy
    linkageType: ''
    returnType: int
    signature: 'static int test_param_type_extra(OSSL_PARAM *param, const unsigned
      char *cmp, size_t width) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:287,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:289,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:291,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:293,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:290,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:293,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:295,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:296,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:299,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:299,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:301,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:302,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 306
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 306
    functionName: test_param_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - test_param_type_extra
    - OSSL_PARAM_get_uint32
    - TEST_mem_eq
    - OSSL_PARAM_uint32
    - memcpy
    - TEST_true
    - OSSL_PARAM_set_uint32
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_uint32(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:341,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:344,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:347,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:343,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:345,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:347,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:349,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:350,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:353,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:353,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:355,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:356,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: test_param_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_uint64
    - test_param_type_extra
    - TEST_mem_eq
    - OSSL_PARAM_get_uint64
    - memcpy
    - TEST_true
    - OSSL_PARAM_set_uint64
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_uint64(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:645,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:658,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:655,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:638,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:639,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:646,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:647,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:648,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:649,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:650,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:654,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:653,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:653,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:657,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:645,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:658,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:646,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:647,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:648,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:649,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:652,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:650,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:654,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:655,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:656,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:657,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:656,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 661
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 661
    functionName: test_param_modified
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - TEST_true
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PARAM_modified
    - TEST_false
    - OSSL_PARAM_set_int32
    linkageType: ''
    returnType: int
    signature: 'static int test_param_modified(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:206,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:208,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:210,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:209,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:212,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:212,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:214,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:218,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:218,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:224,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:220,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: test_param_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - test_param_type_extra
    - OSSL_PARAM_set_uint
    - TEST_mem_eq
    - memcpy
    - TEST_true
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_uint
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_uint(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:314,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:317,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:316,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:320,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:318,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:320,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:322,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:323,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:326,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:326,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:332,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:328,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 333
    functionName: test_param_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int64
    - OSSL_PARAM_int64
    - TEST_mem_eq
    - test_param_type_extra
    - OSSL_PARAM_get_int64
    - memcpy
    - TEST_true
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_int64(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:368,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:370,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:372,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:374,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:371,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:374,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:376,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:377,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:380,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:380,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:386,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:382,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 387
    functionName: test_param_size_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - test_param_type_extra
    - OSSL_PARAM_set_size_t
    - TEST_mem_eq
    - memcpy
    - TEST_true
    - OSSL_PARAM_size_t
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_size_t(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:675,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:676,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:677,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:679,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:682,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:683,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:684,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:686,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:689,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:672,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:674,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:675,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:676,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:682,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:680,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:683,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:687,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:691,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:670,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:677,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:681,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:684,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:688,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:689,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:690,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:671,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:674,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:679,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:680,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:678,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:685,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:686,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:687,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 693
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 693
    functionName: test_param_copy_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_free
    - TEST_ptr
    - OSSL_PARAM_merge
    - TEST_int_eq
    - TEST_true
    - OSSL_PARAM_dup
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate
    - TEST_ptr_null
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int test_param_copy_null(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:395,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:399,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:397,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:398,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:401,1
    - Dst: OSSL_PARAM_set_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:401,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:403,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:404,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:407,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:407,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:410,1
    - Dst: test_param_type_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:413,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: test_param_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - test_param_type_extra
    - TEST_mem_eq
    - OSSL_PARAM_set_time_t
    - OSSL_PARAM_get_time_t
    - memcpy
    - TEST_true
    - OSSL_PARAM_time_t
    - le_copy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_param_time_t(int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_DEFN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:421,1
    - Dst: BN_lebin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:432,1
    - Dst: le_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:428,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:429,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:432,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:433,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:436,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:436,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:437,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:443,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 445
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 445
    functionName: test_param_bignum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_api_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_DEFN
    - OSSL_PARAM_set_BN
    - TEST_mem_eq
    - TEST_ptr
    - TEST_true
    - BN_free
    - BN_lebin2bn
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - le_copy
    linkageType: ''
    returnType: int
    signature: 'static int test_param_bignum(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:97,1
    - Dst: DSA_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:102,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:102,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:104,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:103,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:105,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:106,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:107,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 112
    functionName: load_dsa_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - DSA_set0_pqg
    - DSA_new
    - BN_free
    - BN_bin2bn
    - DSA_free
    linkageType: ''
    returnType: DSA*
    signature: 'static DSA *load_dsa_params(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:143,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:144,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:144,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:162,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:167,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:170,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:176,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:180,1
    - Dst: DSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:192,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:207,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:133,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:142,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:159,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:159,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:163,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:167,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:171,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:176,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:205,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:153,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:181,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:193,1
    - Dst: DSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:197,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:204,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:187,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:209,1
    - Dst: DSA_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:133,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:147,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:157,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:155,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:153,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:186,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:208,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:198,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 212
    functionName: sign_and_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - EVP_PKEY_free
    - RAND_bytes
    - EVP_PKEY_CTX_free
    - TEST_error
    - EVP_PKEY_sign_init
    - OPENSSL_malloc
    - EVP_PKEY_set1_DSA
    - DSA_get0_q
    - OPENSSL_free
    - EVP_PKEY_verify
    - EVP_PKEY_sign
    - TEST_int_eq
    - memcpy
    - EVP_PKEY_CTX_new
    - EVP_PKEY_new
    - EVP_PKEY_verify_init
    - TEST_ptr
    - DSA_verify
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int sign_and_verify(int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sign_and_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:224,1
    - Dst: sign_and_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: dsa_small_digest_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - sign_and_verify
    linkageType: ''
    returnType: int
    signature: 'static int dsa_small_digest_test(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genkeys
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:241,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:245,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:246,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - genkeys
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:116,1
    - Dst: DSA_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:119,1
    - Dst: load_dsa_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: genkeys
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - DSA_generate_key
    - load_dsa_params
    linkageType: ''
    returnType: int
    signature: 'static int genkeys(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sign_and_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:220,1
    - Dst: sign_and_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: dsa_exact_size_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - sign_and_verify
    linkageType: ''
    returnType: int
    signature: 'static int dsa_exact_size_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sign_and_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:228,1
    - Dst: sign_and_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: dsa_large_digest_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - sign_and_verify
    linkageType: ''
    returnType: int
    signature: 'static int dsa_large_digest_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsa_no_digest_size_test.c
    functionUses: []
    functionsReached:
    - DSA_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:61,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:63,1
    - Dst: ossl_sm3_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:61,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:62,1
    - Dst: ossl_sm3_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:62,1
    - Dst: ossl_sm3_final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:63,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:67,1
    - Dst: ossl_sm3_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:68,1
    - Dst: ossl_sm3_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:68,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:69,1
    - Dst: ossl_sm3_final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:69,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 74
    functionName: test_sm3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_sm3_update
    - TEST_mem_eq
    - TEST_true
    - ossl_sm3_init
    - ossl_sm3_final
    linkageType: ''
    returnType: int
    signature: 'static int test_sm3(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm3_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: test_table_pos_64bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: 'static int test_table_pos_64bit(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: test_table_pos
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: 'static int test_table_pos(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:319,1
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: test_table_compare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ASN1_TIME_compare
    linkageType: ''
    returnType: int
    signature: 'static int test_table_compare(int idx) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:130,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:174,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:188,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:212,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:221,1
    - Dst: ASN1_TIME_normalize
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:188,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:135,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:159,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:197,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:185,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:235,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:146,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:202,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:179,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:236,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:184,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:222,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:138,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:153,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:154,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:164,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:153,1
    - Dst: ASN1_TIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:184,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:237,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:201,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:239,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:193,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:201,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:118,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:147,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:149,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:221,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:165,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:226,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:221,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:240,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:207,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:164,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:192,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:197,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:247,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:170,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:180,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:225,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:244,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:143,1
    - Dst: ASN1_TIME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:158,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:225,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:217,1
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:178,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:123,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:129,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:197,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:206,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:211,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:216,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:231,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:243,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:138,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:148,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:122,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:139,1
    - Dst: ASN1_TIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:216,1
    - Dst: ASN1_TIME_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:122,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:134,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:144,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:221,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:175,1
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:210,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:129,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:169,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:189,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:230,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:198,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:197,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:243,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:143,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:252,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 212
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - struct testdata*
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 255
    functionName: test_table
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_check
    - ASN1_TIME_free
    - ASN1_TIME_set
    - TEST_int_eq
    - ASN1_TIME_cmp_time_t
    - TEST_ptr
    - TEST_true
    - ASN1_TIME_new
    - ASN1_TIME_set_string
    - TEST_info
    - ASN1_TIME_to_generalizedtime
    - TEST_ptr_null
    - TEST_error
    - ASN1_TIME_normalize
    - ASN1_TIME_diff
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_table(struct testdata *tbl, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: test_table_neg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: 'static int test_table_neg(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: test_table_neg_64bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: 'static int test_table_neg_64bit(int idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:331,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:343,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:346,1
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:346,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:353,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:358,1
    - Dst: ASN1_GENERALIZEDTIME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:363,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:365,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:329,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:337,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:347,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:354,1
    - Dst: ASN1_UTCTIME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:352,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:375,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:329,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:335,1
    - Dst: ASN1_TIME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:341,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:361,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:368,1
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:368,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:376,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:342,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:350,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:357,1
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:357,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:364,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:369,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:377,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 379
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 379
    functionName: test_time_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - time
    - ASN1_TIME_adj
    - ASN1_TIME_to_generalizedtime
    - ASN1_TIME_dup
    - TEST_int_eq
    - ASN1_UTCTIME_dup
    - TEST_info
    - ASN1_GENERALIZEDTIME_dup
    - ASN1_TIME_compare
    - ASN1_STRING_free
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_time_dup(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:397,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:402,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:399,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:401,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:399,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:402,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:405,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:406,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:406,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:409,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:414,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:415,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:410,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:414,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 417
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 417
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_time_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - TEST_info
    - OSSL_NELEM
    - localtime
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - p
    - n
    - arg
    argTypes:
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cb(int p, int n, BN_GENCB *arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:597,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:606,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:607,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:612,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:613,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:631,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:646,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:653,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:657,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:628,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:627,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:596,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:602,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:608,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:613,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:633,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:645,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:648,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:656,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:643,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:655,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:623,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:649,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:654,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:592,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:596,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:597,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:601,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:600,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:609,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:619,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:620,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:620,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:624,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:647,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:588,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:591,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:595,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:600,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:606,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:601,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:602,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:607,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:612,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:624,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:635,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:637,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:644,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 103
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 659
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 659
    functionName: rfc5114_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - DH_size
    - DH_get0_key
    - TEST_true
    - OPENSSL_free
    - TEST_int_ne
    - TEST_error
    - TEST_int_gt
    - DH_set0_key
    - BN_free
    - OSSL_NELEM
    - BN_bin2bn
    - DH_free
    - TEST_size_t_eq
    - DH_compute_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int rfc5114_test(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:761,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:762,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:764,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:767,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:764,1
    - Dst: EVP_PKEY_CTX_set_dhx_rfc5114
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:767,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:770,1
    - Dst: EVP_PKEY_CTX_set_dhx_rfc5114
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:770,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:775,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 777
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 777
    functionName: dh_rfc5114_fix_nid_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_set_dhx_rfc5114
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_rfc5114_fix_nid_test(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:817,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:820,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:828,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:821,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:836,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:845,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:858,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:861,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:808,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:819,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:820,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:824,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:832,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:832,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:836,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:845,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:847,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:849,1
    - Dst: DH_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:816,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:812,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:811,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:818,1
    - Dst: DH_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:828,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:846,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:847,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:860,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:857,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:852,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:848,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:809,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:821,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:824,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:836,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:838,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:838,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:841,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:841,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:846,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:848,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:852,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:859,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:849,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 84
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 863
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 863
    functionName: dh_get_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - DH_get0_pqg
    - BN_add_word
    - TEST_ptr
    - TEST_int_eq
    - BN_value_one
    - TEST_true
    - BN_dup
    - DH_get0_q
    - BN_free
    - DH_new
    - DH_free
    - DH_set0_pqg
    - DH_get_nid
    linkageType: ''
    returnType: int
    signature: 'static int dh_get_nid(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:925,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:927,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:927,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:929,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:925,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 933
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 933
    functionName: dh_load_pkcs3_namedgroup_privlen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - d2i_PUBKEY_ex
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    linkageType: ''
    returnType: int
    signature: 'static int dh_load_pkcs3_namedgroup_privlen_test(void) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:91,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:105,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:157,1
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:115,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:210,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:220,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:224,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:243,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:246,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:111,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:154,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:69,1
    - Dst: DH_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:99,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:126,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:100,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:165,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:180,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:193,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:195,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:60,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:68,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:78,1
    - Dst: DH_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:98,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:171,1
    - Dst: DH_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:177,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:210,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:213,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:116,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:126,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:56,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:59,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:84,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:94,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:168,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:225,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:234,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:58,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:81,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:109,1
    - Dst: DH_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:143,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:115,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:137,1
    - Dst: DH_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:129,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:158,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:219,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:251,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:57,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:71,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:70,1
    - Dst: DH_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:75,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:99,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:120,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:132,1
    - Dst: DH_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:163,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:202,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:245,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:248,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:126,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:98,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:147,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:183,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:185,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:199,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:209,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:215,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:238,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:242,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:124,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:104,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:157,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:126,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:172,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:204,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:214,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:233,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:85,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:87,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:92,1
    - Dst: BN_GENCB_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:156,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:154,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:136,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:169,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:184,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:215,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:218,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:60,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:82,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:110,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:166,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:105,1
    - Dst: DH_generate_parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:158,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:56,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:59,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:79,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:180,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:208,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:223,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:58,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:69,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:247,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:57,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:68,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:126,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:173,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:185,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:197,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:244,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:249,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:250,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:86,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:104,1
    - Dst: DH_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:100,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:131,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:170,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:183,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:204,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:219,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:137,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:129,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:143,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:136,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:83,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:93,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:167,1
    - Dst: DHparams_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:202,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:214,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:220,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:241,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:116,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:71,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:75,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:80,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:163,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:184,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:209,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:235,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 310
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 254
    functionName: dh_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - DH_get0_pqg
    - BN_set_word
    - DH_get0_g
    - BN_add
    - BN_lshift
    - OPENSSL_malloc
    - BN_GENCB_new
    - DH_generate_parameters_ex
    - TEST_mem_eq
    - BN_copy
    - DH_size
    - TEST_true
    - OPENSSL_free
    - BN_GENCB_set
    - TEST_false
    - DH_get0_pub_key
    - ERR_clear_error
    - DHparams_dup
    - DH_get0_key
    - DH_check
    - DH_set0_key
    - BN_dup
    - DH_free
    - DH_get0_q
    - TEST_ptr_eq
    - DH_compute_key
    - TEST_ptr
    - BN_value_one
    - BN_new
    - DH_get0_p
    - BN_GENCB_free
    - DH_get0_priv_key
    - BN_free
    - DH_new
    - DH_set0_pqg
    - DH_generate_key
    linkageType: ''
    returnType: int
    signature: 'static int dh_test(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:268,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:271,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:272,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:278,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:277,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:283,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:292,1
    - Dst: ossl_dh_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:292,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:295,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:299,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:303,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:309,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:304,1
    - Dst: ossl_dh_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:304,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:270,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:271,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:276,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:277,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:286,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:311,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:312,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:300,1
    - Dst: ossl_dh_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:300,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:303,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:269,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:270,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:272,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:279,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:276,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:283,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:295,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:296,1
    - Dst: ossl_dh_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:296,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:299,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:315,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:268,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:269,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:278,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:279,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:282,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:286,1
    - Dst: DH_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:295,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:310,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:314,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 317
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 317
    functionName: dh_computekey_range_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - BN_set_word
    - OPENSSL_malloc
    - TEST_int_le
    - OPENSSL_free
    - DH_size
    - BN_copy
    - TEST_true
    - ossl_dh_compute_key
    - TEST_int_eq
    - DH_set0_key
    - BN_dup
    - DH_free
    - BN_sub_word
    - TEST_ptr
    - BN_new
    - DH_get0_p
    - TEST_int_gt
    - BN_free
    - DH_new
    - DH_set0_pqg
    linkageType: ''
    returnType: int
    signature: 'static int dh_computekey_range_test(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:677,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:679,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:695,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:700,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:701,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:704,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:712,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:670,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:676,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:675,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:678,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:696,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:700,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:711,1
    - Dst: DH_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:673,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:670,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:682,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:694,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:687,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:695,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:690,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:701,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:705,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:714,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:684,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:695,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:692,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:687,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:696,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:699,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:700,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:713,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 76
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 716
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 716
    functionName: rfc7919_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - TEST_mem_eq
    - TEST_ptr
    - DH_size
    - DH_get0_key
    - TEST_true
    - DH_compute_key
    - OPENSSL_free
    - DH_check
    - TEST_int_gt
    - DH_free
    - TEST_false
    - DH_generate_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int rfc7919_test(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:736,1
    - Dst: DH_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:738,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:736,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:739,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:739,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:739,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:742,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:742,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:746,1
    - Dst: DH_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:746,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:751,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 753
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 753
    functionName: dh_test_prime_groups
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - DH_get_length
    - DH_get0_pqg
    - TEST_ptr
    - TEST_int_eq
    - DH_free
    - DH_get_nid
    linkageType: ''
    returnType: int
    signature: 'static int dh_test_prime_groups(int index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:785,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:788,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:786,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:791,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:788,1
    - Dst: EVP_PKEY_CTX_set_dh_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:791,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:794,1
    - Dst: EVP_PKEY_CTX_set_dh_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:794,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:799,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 801
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 801
    functionName: dh_set_dh_nid_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_dh_nid
    - TEST_int_eq
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_set_dh_nid_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:940,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:945,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:943,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:944,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:942,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:946,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:946,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:947,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:948,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:949,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 953
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 953
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dhtest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - 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/libspdm/os_stub/openssllib/openssl/test/evp_pkey_ctx_new_from_name.c:9,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_ctx_new_from_name.c:10,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 13
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 13
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_ctx_new_from_name.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:152,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:153,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:171,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:250,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:137,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:154,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:163,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:167,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:169,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:173,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:192,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:193,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:198,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:199,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:135,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:155,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:179,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:244,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:128,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:144,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:147,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:180,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:188,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:204,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:221,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:241,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:245,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 98
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 254
    functionName: async_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - PACKET_get_length_prefixed_2
    - PACKET_forward
    - BIO_should_write
    - PACKET_get_net_2
    - PACKET_get_1
    - BIO_set_retry_write
    - BIO_next
    - PACKET_buf_init
    - BIO_get_data
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int async_write(BIO *bio, const char *in, int inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:65,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:70,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: async_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int async_new(BIO *bio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:92,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:99,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:105,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:101,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:104,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:106,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: async_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - BIO_read
    - BIO_next
    - BIO_get_data
    - BIO_should_read
    linkageType: ''
    returnType: int
    signature: 'static int async_read(BIO *bio, char *out, int outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: async_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int async_gets(BIO *bio, char *buf, int size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:47,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:51,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:52,1
    - Dst: BIO_meth_set_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:49,1
    - Dst: BIO_meth_set_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:50,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:53,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:54,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:55,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: bio_f_async_filter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_read
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'static const BIO_METHOD *bio_f_async_filter(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:80,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:83,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:81,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: async_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int async_free(BIO *bio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:259,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: async_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long async_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:283,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: async_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - async_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int async_puts(BIO *bio, const char *str) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bio_f_async_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:315,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:317,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:318,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:324,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:326,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:389,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:298,1
    - Dst: bio_f_async_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:314,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:343,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:348,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:365,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:369,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:376,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:382,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:388,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:298,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:315,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:316,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:319,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:326,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:324,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:391,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:298,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:299,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:314,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:350,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:355,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:371,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:381,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:390,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 87
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 394
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 394
    functionName: test_asyncio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - SSL_write
    - TEST_size_t_eq
    - SSL_free
    - BIO_free
    - SSL_read
    - create_ssl_connection
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - bio_f_async_filter
    - create_ssl_ctx_pair
    - SSL_get_error
    - TEST_false
    - BIO_new
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_asyncio(int test) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:400,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:401,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:405,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:406,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:405,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:406,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynciotest.c
    functionUses: []
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:603,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:608,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:609,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:616,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:621,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:627,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:628,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:630,1
    - Dst: ossl_ed448ph_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:631,1
    - Dst: dohash
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:632,1
    - Dst: dohash
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:637,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:600,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:605,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:606,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:615,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:613,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:619,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:625,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:631,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:636,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:641,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:602,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:605,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:603,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:616,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:612,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:609,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:615,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:618,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:622,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:622,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:624,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:646,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:642,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:606,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:608,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:613,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:612,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:618,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:619,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:621,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:624,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:625,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:627,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:635,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:628,1
    - Dst: ossl_ed448ph_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:636,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:641,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:635,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 97
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 648
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 648
    functionName: test_ed448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c
    functionUses: []
    functionsReached:
    - memcmp
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_int_eq
    - EVP_MD_CTX_free
    - TEST_true
    - ossl_ed448_sign
    - ossl_ed448ph_sign
    - dohash
    linkageType: ''
    returnType: int
    signature: 'static int test_ed448(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:589,1
    - Dst: EVP_shake256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:589,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:590,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - hashctx
    - msg
    - msglen
    argTypes:
    - EVP_MD_CTX*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 595
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 595
    functionName: dohash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c
    functionUses: []
    functionsReached:
    - EVP_shake256
    - EVP_DigestUpdate
    - EVP_DigestInit_ex
    - EVP_DigestFinalXOF
    linkageType: ''
    returnType: uint8_t*
    signature: 'static const uint8_t *dohash(EVP_MD_CTX *hashctx, const uint8_t *msg,
      size_t msglen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 707
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 707
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:659,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:660,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:661,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:668,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:661,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:664,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:678,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:682,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:672,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:677,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:658,1
    - Dst: ossl_x448
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:658,1
    - Dst: ossl_x448
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:660,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:665,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:683,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:677,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:659,1
    - Dst: ossl_x448
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:672,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:669,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 687
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 687
    functionName: test_x448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c
    functionUses: []
    functionsReached:
    - fflush
    - memcmp
    - TEST_int_eq
    - memcpy
    - ossl_x448
    - TEST_true
    - TEST_info
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int test_x448(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:713,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:733,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c:734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 736
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 736
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/curve448_internal_test.c
    functionUses: []
    functionsReached:
    - opt_next
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:44,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:45,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_VFY_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:158,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:156,1
    - Dst: OSSL_CMP_CTX_set0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:155,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:155,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:158,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:159,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - miss
    - wrong
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: test_validate_msg_mac_alg_protection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set0_trustedStore
    - OSSL_CMP_CTX_set1_secretValue
    - TEST_ptr
    - load_pkimsg
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_mac_alg_protection(int miss, int wrong) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:402,1
    - Dst: setup_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:403,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: test_validate_cert_path_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_path
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_cert_path_ok(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:527,1
    - Dst: setup_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:528,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: test_msg_check_transaction_id_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_check_update
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_msg_check_transaction_id_bad(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_mac_alg_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: test_validate_msg_mac_alg_protection_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_mac_alg_protection
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_mac_alg_protection_ok(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:205,1
    - Dst: OSSL_CMP_CTX_get0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: add_trusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_get0_trustedStore
    - X509_STORE_add_cert
    linkageType: ''
    returnType: int
    signature: 'static int add_trusted(OSSL_CMP_CTX *ctx, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:410,1
    - Dst: setup_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:411,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: test_validate_cert_path_wrong_anchor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_path
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_cert_path_wrong_anchor(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:560,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:563,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:564,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:561,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:562,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:565,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:566,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:567,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:568,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:569,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:571,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:570,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 574
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 574
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_PROVIDER_unload
    - OSSL_CMP_MSG_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:116,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: test_verify_popo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_verify_popo(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:94,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bitstr
    argTypes:
    - ASN1_BIT_STRING*
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: flip_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_set_bit
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: 'static int flip_bit(ASN1_BIT_STRING *bitstr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:134,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: execute_validate_msg_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_msg_check_update
    linkageType: ''
    returnType: int
    signature: 'static int execute_validate_msg_test(CMP_VFY_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - msg
    - invalid_protection
    - allow
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: allow_unprotected
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int allow_unprotected(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg, int invalid_protection, int allow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:101,1
    - Dst: ossl_cmp_verify_popo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:110,1
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:109,1
    - Dst: flip_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: execute_verify_popo_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CRMF_MSG_value
    - TEST_int_eq
    - load_pkimsg
    - ossl_cmp_verify_popo
    - flip_bit
    linkageType: ''
    returnType: int
    signature: 'static int execute_verify_popo_test(CMP_VFY_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:141,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:146,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:143,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: execute_validate_cert_path_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - OSSL_CMP_CTX_get0_trustedStore
    - OSSL_CMP_validate_cert_path
    - OSSL_CMP_CTX_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int execute_validate_cert_path_test(CMP_VFY_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:347,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:349,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:349,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:350,1
    - Dst: OSSL_CMP_CTX_set1_expected_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:350,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:351,1
    - Dst: OSSL_CMP_CTX_set1_srvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:351,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:352,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - name
    - expected
    argTypes:
    - X509_NAME*
    - int
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: test_validate_with_sender
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_pkimsg
    - OSSL_CMP_CTX_set1_expected_sender
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_srvCert
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_with_sender(const X509_NAME *name, int expected) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:388,1
    - Dst: add_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:392,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:389,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:390,1
    - Dst: add_untrusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:393,1
    - Dst: add_untrusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:394,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - fixture
    - wrong
    - expired
    argTypes:
    - CMP_VFY_TEST_FIXTURE**
    - X509*
    - int
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: setup_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_get0_param
    - OSSL_CMP_CTX_get0_trustedStore
    - add_trusted
    - add_untrusted
    - tear_down
    - X509_VERIFY_PARAM_set_time
    linkageType: ''
    returnType: void
    signature: 'static void setup_path(CMP_VFY_TEST_FIXTURE **fixture, X509 *wrong,
      int expired) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:464,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:474,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:472,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:467,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:469,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:476,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:477,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:480,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    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*
    constantsTouched: []
    func_position:
      end: 482
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 482
    functionName: setup_check_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - ASN1_OCTET_STRING_new
    - ossl_cmp_asn1_octet_string_set1_bytes
    - OSSL_CMP_CTX_set1_transactionID
    - ASN1_OCTET_STRING_free
    - tear_down
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: void
    signature: 'static void setup_check_update(CMP_VFY_TEST_FIXTURE **fixture, int
      expected, ossl_cmp_allow_unprotected_cb_t cb, int arg, const unsigned char *trid_data,
      const unsigned char *nonce_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:504,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:506,1
    - Dst: setup_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: test_msg_check_no_protection_permissive_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_check_update
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_msg_check_no_protection_permissive_cb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:551,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:553,1
    - Dst: setup_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: test_msg_check_recipient_nonce_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_check_update
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_msg_check_recipient_nonce_bad(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_mac_alg_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: test_validate_msg_mac_alg_protection_missing
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_mac_alg_protection
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_mac_alg_protection_missing(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:251,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:254,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:254,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:255,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:255,1
    - Dst: OSSL_CMP_CTX_set1_srvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:257,1
    - Dst: flip_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:259,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:260,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - bad_sig
    - miss
    - wrong
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: test_validate_msg_signature_srvcert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_secretValue
    - TEST_ptr
    - load_pkimsg
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_srvCert
    - SETUP_TEST_FIXTURE
    - tear_down
    - flip_bit
    linkageType: ''
    returnType: int
    signature: 'static 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/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: test_validate_msg_signature_srvcert_wrong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_srvcert_wrong(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_srvcert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: test_validate_msg_signature_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_bad(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_srvcert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: test_validate_msg_signature_sender_cert_srvcert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_sender_cert_srvcert(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:305,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:307,1
    - Dst: add_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:309,1
    - Dst: add_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:308,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:310,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: test_validate_msg_signature_sender_cert_trusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - add_trusted
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_sender_cert_trusted(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:418,1
    - Dst: setup_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:419,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: test_validate_cert_path_expired
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_path
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_cert_path_expired(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:518,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:520,1
    - Dst: setup_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: test_msg_check_transaction_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_check_update
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_msg_check_transaction_id(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_mac_alg_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: test_validate_msg_mac_alg_protection_wrong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_mac_alg_protection
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_mac_alg_protection_wrong(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_srvcert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: test_validate_msg_signature_srvcert_missing
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_srvcert_missing(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:291,1
    - Dst: add_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:294,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:293,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:293,1
    - Dst: add_untrusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:295,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:296,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: test_validate_msg_signature_sender_cert_untrusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - add_trusted
    - add_untrusted
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_sender_cert_untrusted(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:319,1
    - Dst: add_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:322,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:323,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:321,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:321,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: test_validate_msg_signature_sender_cert_extracert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - add_trusted
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_sender_cert_extracert(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:426,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:430,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:429,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:439,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:427,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:440,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:440,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:442,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 445
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 445
    functionName: execute_msg_check_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - OSSL_CMP_HDR_get0_transactionID
    - ASN1_OCTET_STRING_cmp
    - ossl_cmp_hdr_get0_senderNonce
    - ossl_cmp_msg_check_update
    - OSSL_CMP_MSG_get0_header
    linkageType: ''
    returnType: int
    signature: 'static int execute_msg_check_test(CMP_VFY_TEST_FIXTURE *fixture) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mktime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:597,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:605,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:607,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:608,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:644,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:628,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:652,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:618,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:613,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:629,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:630,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:673,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:696,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:634,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:668,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:676,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:608,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:609,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:638,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:657,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:677,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:604,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:613,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:627,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:663,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:686,1
    - Dst: mktime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:595,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:606,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:607,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:643,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:671,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:627,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:648,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:616,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:694,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:611,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:639,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:666,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:687,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:650,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:605,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:612,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:662,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:633,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:683,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:655,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:610,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:612,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:641,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:615,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:617,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:664,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:618,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:641,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:630,1
    - Dst: cleanup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:702,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:661,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:638,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:610,1
    - Dst: test_arg_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:623,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:634,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:644,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:682,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:689,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:629,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:681,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:600,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:606,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:616,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:611,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:609,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:615,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:614,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:633,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:643,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:654,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:690,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:614,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:617,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:619,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:639,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:675,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:659,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:669,1
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:599,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:628,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:692,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 167
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 705
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 705
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - load_cert_pem
    - test_skip_common_options
    - cleanup_tests
    - TEST_ptr
    - TEST_int_eq
    - load_pkimsg
    - test_get_argument
    - RAND_bytes
    - ADD_TEST
    - mktime
    - test_arg_libctx
    - TEST_error
    linkageType: ''
    returnType: OPT_TEST_DECLARE_USAGE(USAGE)
    signature: 'OPT_TEST_DECLARE_USAGE(USAGE) int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:334,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:340,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:337,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:336,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: test_validate_msg_signature_sender_cert_absent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_sender_cert_absent(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:56,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:62,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:56,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:62,1
    - Dst: OSSL_CMP_CTX_set0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:63,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:64,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:65,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:66,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:69,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:70,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - OSSL_CMP_CTX_set0_trustedStore
    - OSSL_CMP_CTX_new
    - X509_STORE_get0_param
    - OSSL_CMP_CTX_set_log_cb
    - TEST_ptr
    - X509_STORE_set_verify_cb
    - OPENSSL_zalloc
    - tear_down
    - X509_STORE_free
    - X509_VERIFY_PARAM_set_time
    linkageType: ''
    returnType: CMP_VFY_TEST_FIXTURE*
    signature: 'static CMP_VFY_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:189,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:192,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:194,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:194,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:195,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: test_validate_msg_mac_alg_protection_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_secretValue
    - TEST_ptr
    - load_pkimsg
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_mac_alg_protection_bad(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:210,1
    - Dst: OSSL_CMP_CTX_get0_untrusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: add_untrusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - X509_add_cert
    - OSSL_CMP_CTX_get0_untrusted
    linkageType: ''
    returnType: int
    signature: 'static int add_untrusted(OSSL_CMP_CTX *ctx, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_partial_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: test_validate_msg_signature_trusted_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_signature_partial_chain
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_trusted_ok(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_partial_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: test_validate_msg_signature_trusted_expired
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_msg_signature_partial_chain
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_trusted_expired(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_with_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:361,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: test_validate_msg_signature_expected_sender
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_with_sender
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_expected_sender(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:487,1
    - Dst: setup_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:488,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: test_msg_check_no_protection_no_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_check_update
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_msg_check_no_protection_no_cb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:542,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:544,1
    - Dst: setup_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: test_msg_check_recipient_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_check_update
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_msg_check_recipient_nonce(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:218,1
    - Dst: add_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:224,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:223,1
    - Dst: OSSL_CMP_CTX_get0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:220,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:223,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:225,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:228,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:229,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:231,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - expired
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 235
    functionName: test_validate_msg_signature_partial_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_get0_param
    - X509_VERIFY_PARAM_set_flags
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - OSSL_CMP_CTX_get0_trustedStore
    - add_trusted
    - SETUP_TEST_FIXTURE
    - tear_down
    - X509_VERIFY_PARAM_set_time
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_partial_chain(int expired) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_with_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:366,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: test_validate_msg_signature_unexpected_sender
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - test_validate_with_sender
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_signature_unexpected_sender(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:495,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:497,1
    - Dst: setup_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: test_msg_check_no_protection_restrictive_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - setup_check_update
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_msg_check_no_protection_restrictive_cb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:125,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: test_verify_popo_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_verify_popo_bad(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:372,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:374,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:374,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:378,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: test_validate_msg_unprotected_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_vfy_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_validate_msg_unprotected_request(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:150,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:153,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:156,1
    - Dst: ossl_punycode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:153,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: test_punycode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - ossl_punycode_decode
    - TEST_true
    - OSSL_NELEM
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_punycode(int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:175,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:177,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:176,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:177,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:175,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:181,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:181,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:182,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:183,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:183,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:188,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:189,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:190,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:191,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:188,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:184,1
    - Dst: ossl_a2ulabel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 194
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 194
    functionName: test_a2ulabel
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c
    functionUses: []
    functionsReached:
    - ossl_a2ulabel
    - TEST_int_eq
    - TEST_size_t_eq
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_a2ulabel(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:202,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:205,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:205,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:203,1
    - Dst: ossl_punycode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:205,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:206,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: test_puny_overrun
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - ossl_punycode_decode
    - OSSL_NELEM
    - TEST_error
    - TEST_false
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_puny_overrun(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:215,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:217,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:215,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/punycode_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RC2_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c:52,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c:59,1
    - Dst: RC2_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c:58,1
    - Dst: RC2_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c:54,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: test_rc2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c
    functionUses: []
    functionsReached:
    - RC2_set_key
    - RC2_ecb_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_rc2(const int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c:70,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc2test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:725,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:726,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:726,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:727,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:725,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:727,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:730,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:730,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:731,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - params
    - expected
    - type
    argTypes:
    - OSSL_PARAM
    - EVP_PKEY*
    - char*
    constantsTouched: []
    func_position:
      end: 734
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 734
    functionName: do_fromdata_key_is_equal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_eq
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    linkageType: ''
    returnType: int
    signature: 'static int do_fromdata_key_is_equal(const OSSL_PARAM params[], const
      EVP_PKEY *expected, const char *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:914,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:914,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:915,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:915,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:916,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:916,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:917,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:918,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - params
    - key
    - expected
    - expected_len
    argTypes:
    - OSSL_PARAM
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 920
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 920
    functionName: do_check_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - TEST_true
    - BN_bn2binpad
    - TEST_int_gt
    - BN_free
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_BN
    linkageType: ''
    returnType: int
    signature: 'static int do_check_bn(OSSL_PARAM params[], const char *key, const
      unsigned char *expected, size_t expected_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1048,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1048,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1061,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1043,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1041,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1052,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1062,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1040,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1045,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1047,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1049,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1049,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1052,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1059,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1047,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1054,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1060,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1054,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1053,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1053,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1064
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1064
    functionName: test_dsa_fromdata_digest_prop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_uint
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: int
    signature: 'static int test_dsa_fromdata_digest_prop(int tstid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1074,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1077,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1076,1
    - Dst: EVP_PKEY_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1076,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1074,1
    - Dst: EVP_PKEY_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1077,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1080
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1080
    functionName: test_pkey_todata_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_todata
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_todata_null(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1116,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1118,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1116,1
    - Dst: EVP_PKEY_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1118,1
    - Dst: EVP_PKEY_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1120,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1123,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1129,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1129,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1130,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1131,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1132,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1131,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1137,1
    - Dst: EVP_PKEY_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1132,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1134,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1130,1
    - Dst: EVP_PKEY_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1140
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1140
    functionName: test_pkey_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_export
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - EVP_PKEY_new
    - TEST_false
    - d2i_RSAPrivateKey
    - EVP_PKEY_assign_RSA
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_export(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:927,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:929,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:927,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:928,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - params
    - key
    - expected
    argTypes:
    - OSSL_PARAM
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 930
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 930
    functionName: do_check_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int do_check_int(OSSL_PARAM params[], const char *key, int
      expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1155,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1157,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1163,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1164,1
    - Dst: EVP_PKEY_sign_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1164,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1173,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1169,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1168,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1161,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1165,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1168,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1159,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1161,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1167,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1165,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1163,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1169,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1177
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1177
    functionName: test_rsa_pss_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_PKEY_sign
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_free
    - TEST_int_gt
    - d2i_AutoPrivateKey_ex
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init_ex
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int test_rsa_pss_sign(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:292,1
    - Dst: EVP_PKEY_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:292,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:299,1
    - Dst: EVP_PKEY_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:299,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:311,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:317,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:307,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:317,1
    - Dst: pkey_has_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:319,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:323,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:293,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:300,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:308,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:308,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:324,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:327,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:285,1
    - Dst: pkey_has_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:311,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:319,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:325,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:286,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:293,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:300,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:307,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:309,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:309,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:326,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 2
    argNames:
    - key
    - keytype
    argTypes:
    - EVP_PKEY*
    - char*
    constantsTouched: []
    func_position:
      end: 329
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 329
    functionName: do_pkey_tofrom_data_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_todata
    - OSSL_PARAM_free
    - TEST_int_eq
    - strcmp
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_locate
    - TEST_ptr_null
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - TEST_false
    - pkey_has_private
    linkageType: ''
    returnType: int
    signature: 'static int do_pkey_tofrom_data_select(EVP_PKEY *key, const char *keytype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:437,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:439,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:437,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:439,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 442
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 442
    functionName: test_rsa_tofrom_data_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_rsa_tofrom_data_select(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:938,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:938,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:940,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:942,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 944
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 944
    functionName: test_dsa_tofrom_data_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_dsa_tofrom_data_select(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:893,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:894,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:893,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:894,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:895,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:895,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:897,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:897,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:899,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:899,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:900,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:901,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:902,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - key_params
    - expected
    argTypes:
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 904
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 904
    functionName: do_check_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_param_check
    linkageType: ''
    returnType: int
    signature: 'static int do_check_params(OSSL_PARAM key_params[], int expected) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:962,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:971,1
    - Dst: do_check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:975,1
    - Dst: do_check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:977,1
    - Dst: do_check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:979,1
    - Dst: do_fromdata_key_is_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:990,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:993,1
    - Dst: do_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:994,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:996,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1019,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:967,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:971,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:987,1
    - Dst: do_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1006,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1020,1
    - Dst: do_check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:974,1
    - Dst: do_check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:976,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:998,1
    - Dst: do_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1010,1
    - Dst: do_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1014,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1021,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:987,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:969,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:965,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:973,1
    - Dst: EVP_PKEY_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:973,1
    - Dst: do_check_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:983,1
    - Dst: do_check_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:981,1
    - Dst: do_check_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:984,1
    - Dst: do_check_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:986,1
    - Dst: do_check_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:982,1
    - Dst: do_check_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:985,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:993,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1023
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 1023
    functionName: test_dsa_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_todata
    - do_check_bn
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_free
    - TEST_ptr
    - TEST_int_eq
    - OSSL_PARAM_merge
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - do_check_int
    - OSSL_PARAM_locate
    - TEST_ptr_null
    - do_fromdata_key_is_equal
    - OSSL_PARAM_construct_end
    - do_check_params
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_dsa_todata(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:423,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:424,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:423,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:424,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: test_sm2_tofrom_data_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int test_sm2_tofrom_data_select(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:345,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:349,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:352,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:343,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:347,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:351,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:352,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:351,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:349,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:356,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:346,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:344,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:345,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:346,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:347,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:348,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:348,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:353,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:353,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:355,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 358
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 358
    functionName: test_dh_tofrom_data_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_int_le
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_params
    - TEST_ptr
    - EVP_PKEY_generate
    - TEST_true
    - EVP_PKEY_get0_DH
    - BN_num_bits
    - EVP_PKEY_free
    - TEST_int_gt
    - DH_get0_priv_key
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int test_dh_tofrom_data_select(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:577,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:578,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:578,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:577,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:582,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:584,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:587,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:589,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:597,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:597,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:603,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 605
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 605
    functionName: test_provider_unload_effective
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_load
    - TEST_ptr_null
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_provider_unload_effective(int testid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1188,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1187,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1187,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1186,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1188,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1190,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1193
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1193
    functionName: test_evp_md_ctx_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_md_ctx_copy(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:371,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:373,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:374,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:374,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:375,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:383,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:383,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:376,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:382,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:368,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:373,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:377,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:379,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:369,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:375,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:376,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:384,1
    - Dst: EVP_PKEY_param_check_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:384,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:386,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:382,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 389
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 389
    functionName: test_dh_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_set_params
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_param_check_quick
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    - EVP_PKEY_param_check
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: int
    signature: 'static int test_dh_paramgen(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:615,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:619,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:617,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:615,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:617,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:619,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:622,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:623,1
    - Dst: BIO_seek
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:623,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:625,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:626,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:632,1
    - Dst: test_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:627,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:630,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:631,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:625,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:626,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 635
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 635
    functionName: test_d2i_PrivateKey_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - BIO_seek
    - ERR_peek_error
    - BIO_free
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - PEM_read_bio_PrivateKey
    - test_openssl_errors
    - TEST_int_ge
    - OSSL_PROVIDER_load
    - TEST_ptr_null
    - d2i_PrivateKey_bio
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: 'static int test_d2i_PrivateKey_ex(int testid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1292,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1294
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1294
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:459,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:495,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:459,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:466,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:473,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:479,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:486,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:485,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:496,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:493,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:462,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:462,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:461,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:466,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:473,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:479,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:485,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:494,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:486,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 498
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 498
    functionName: test_d2i_AutoPrivateKey_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - d2i_AutoPrivateKey_ex
    - BN_free
    - TEST_ptr_eq
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'static int test_d2i_AutoPrivateKey_ex(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:513,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:514,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:516,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:521,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:520,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:523,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:525,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:529,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:512,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:514,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:516,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:526,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:520,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:512,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:513,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:523,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:527,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:513,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:517,1
    - Dst: i2d_PKCS8PrivateKey_nid_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:517,1
    - Dst: d2i_PKCS8PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:521,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:528,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 531
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 531
    functionName: test_pkcs8key_nid_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - BIO_free
    - BIO_new
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_free
    - d2i_PrivateKey_ex_bio
    - EVP_PKEY_eq
    - TEST_int_gt
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_load
    - BIO_s_mem
    - d2i_PKCS8PrivateKey_bio
    - i2d_PKCS8PrivateKey_nid_bio
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: 'static int test_pkcs8key_nid_bio(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1203,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1203,1
    - Dst: EVP_des_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1207,1
    - Dst: EVP_PBE_alg_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1203,1
    - Dst: EVP_PBE_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1211,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1220
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1220
    functionName: test_evp_pbe_alg_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_PBE_find_ex
    - TEST_true
    - EVP_md5
    - EVP_PBE_alg_add
    - EVP_des_cbc
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_pbe_alg_add(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:399,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:401,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:400,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:399,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: test_ec_tofrom_data_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int test_ec_tofrom_data_select(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:544,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:544,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:552,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:551,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:551,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:552,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:554,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:561,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:561,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:562,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:562,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:567,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 569
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 569
    functionName: test_alternative_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_set0_default
    - TEST_ptr
    - TEST_ptr_null
    - EVP_MD_free
    - EVP_MD_fetch
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_alternative_default(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:644,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:646,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:649,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:649,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:658,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:658,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:666,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:644,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:647,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:656,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:667,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:647,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:651,1
    - Dst: test_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:664,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:656,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:655,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:651,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:653,1
    - Dst: BIO_seek
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:653,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:665,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 670
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 670
    functionName: test_PEM_read_bio_negative
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - BIO_seek
    - ERR_peek_error
    - BIO_free
    - TEST_ptr
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - TEST_int_ne
    - PEM_read_bio_PrivateKey
    - test_openssl_errors
    - TEST_int_ge
    - OSSL_PROVIDER_load
    - TEST_ptr_null
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: 'static int test_PEM_read_bio_negative(int testid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_fromdata_key_is_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: test_pkey_export_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - do_fromdata_key_is_equal
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_export_cb(const OSSL_PARAM params[], void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1233,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1234,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1239
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1239
    functionName: evp_test_name_parsing
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: 'static int evp_test_name_parsing(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:268,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:273,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - key
    - privtag
    - use_octstring
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: pkey_has_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_bn_param
    - BN_free
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: 'static int pkey_has_private(EVP_PKEY *key, const char *privtag, int
      use_octstring) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:410,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:411,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:412,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:411,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: test_ecx_tofrom_data_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int test_ecx_tofrom_data_select(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:678,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:684,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:688,1
    - Dst: UI_set_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:691,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:694,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:694,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:703,1
    - Dst: test_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:708,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:712,1
    - Dst: UI_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:682,1
    - Dst: EVP_RSA_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:677,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:686,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:698,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:709,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:694,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:703,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:703,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:710,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:675,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:678,1
    - Dst: UI_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:690,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:699,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:700,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:711,1
    - Dst: UI_set_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:713,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 716
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 716
    functionName: test_PEM_read_bio_negative_wrong_password
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - BIO_free
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - PEM_read_bio_PrivateKey
    - BIO_s_mem
    - BIO_new
    - PEM_write_bio_PrivateKey
    - ERR_get_error
    - UI_set_default_method
    - TEST_true
    - test_openssl_errors
    - TEST_ptr_null
    - EVP_RSA_gen
    - ERR_clear_error
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - EVP_aes_256_cbc
    - UI_null
    - TEST_ptr
    - UI_get_default_method
    linkageType: ''
    returnType: int
    signature: 'static int test_PEM_read_bio_negative_wrong_password(int testid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1097,1
    - Dst: EVP_PKEY_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1099,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1097,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1099,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1101,1
    - Dst: EVP_PKEY_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1101,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1104
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1104
    functionName: test_pkey_export_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_export
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_export_null(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1249,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1251,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1273,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1271,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1260,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1269,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1277,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1279,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1280,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1281,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1251,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1250,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1244,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1253,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1263,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1282,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1283,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1285,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1243,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1254,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1257,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1268,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1274,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1255,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1264,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1265,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1275,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c:1279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1288
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1288
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test2.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    - test_get_libctx
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:191,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:196,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:211,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:200,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:197,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:179,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:210,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:206,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:209,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:261,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:182,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:183,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:185,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:205,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:208,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:277,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:189,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:221,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:216,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:198,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:222,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:274,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:190,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:200,1
    - Dst: RSA_set0_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:201,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:235,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:230,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:179,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:180,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:184,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:247,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:207,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:209,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:197,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:181,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:195,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:223,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:251,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:265,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:278,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:261,1
    - Dst: RSA_set0_multi_prime_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:211,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:208,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:176,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:191,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:196,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:215,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:264,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:275,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:210,1
    - Dst: evp_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:237,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:248,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:183,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:198,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:205,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:206,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:216,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:272,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:221,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:256,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:201,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:182,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:190,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:222,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:184,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:188,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:185,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:230,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:264,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:279,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:220,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:189,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:235,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:276,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 192
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - FIXTURE*
    constantsTouched: []
    func_position:
      end: 282
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 282
    functionName: test_pass_rsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_KEYMGMT_free
    - BN_set_word
    - RSA_set0_crt_params
    - TEST_ptr_ne
    - TEST_true
    - EVP_PKEY_eq
    - TEST_info
    - TEST_ptr_null
    - RSA_set0_factors
    - TEST_int_eq
    - EVP_PKEY_dup
    - evp_keymgmt_export
    - RSA_set0_multi_prime_params
    - EVP_PKEY_new
    - RSA_new
    - EVP_PKEY_assign_RSA
    - RSA_free
    - RSA_set0_key
    - TEST_ptr
    - BN_new
    - BN_free
    - OSSL_NELEM
    - EVP_KEYMGMT_fetch
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: 'static int test_pass_rsa(FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:93,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:96,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:94,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:93,1
    - Dst: BN_bn2nativepad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - p
    - goal
    argTypes:
    - OSSL_PARAM*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: get_ulong_via_BN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - TEST_int_ge
    - BN_free
    - OSSL_PARAM_get_BN
    - BN_bn2nativepad
    linkageType: ''
    returnType: int
    signature: 'static int get_ulong_via_BN(const OSSL_PARAM *p, unsigned long *goal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:290,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: test_pass_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_pass_key(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:42,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:46,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:45,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:43,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - FIXTURE*
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(FIXTURE *fixture) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:110,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:111,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:119,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:120,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:127,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:128,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:132,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:134,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:135,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:133,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:128,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:109,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:113,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:117,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:118,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:120,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:121,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:124,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:125,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:126,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:134,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:111,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:118,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:124,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:126,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:127,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:133,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:135,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:109,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:108,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:110,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:112,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:113,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:117,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:125,1
    - Dst: get_ulong_via_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:129,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:129,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM*
    - void*
    constantsTouched: []
    func_position:
      end: 139
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 139
    functionName: export_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OSSL_PARAM_locate_const
    - get_ulong_via_BN
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int export_cb(const OSSL_PARAM *params, void *arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:307,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:317,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:328,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:332,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:347,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:312,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:320,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:324,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:328,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:338,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:336,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:325,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:332,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:348,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:311,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:308,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:338,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:345,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:349,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:308,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:307,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:313,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:318,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:346,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 351
    functionName: test_evp_pkey_export_to_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - OSSL_PROVIDER_unload
    - EVP_KEYMGMT_free
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - X509_get_X509_PUBKEY
    - EVP_KEYMGMT_fetch
    - TEST_error
    - X509_PUBKEY_get0
    - evp_pkey_export_to_provider
    - TEST_openssl_errors
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_pkey_export_to_provider(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:355,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:359,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:355,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:54,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:55,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:54,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:55,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:58,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:59,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:59,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - testcase_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/keymgmt_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - tear_down
    linkageType: ''
    returnType: FIXTURE*
    signature: 'static FIXTURE *set_up(const char *testcase_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:24,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:48,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:22,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:23,1
    - Dst: ASN1_STRING_TABLE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:34,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:35,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:40,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:41,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:56,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:61,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:62,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:29,1
    - Dst: ASN1_STRING_TABLE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:28,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:36,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:42,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:55,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:57,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:63,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:30,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:46,1
    - Dst: ASN1_STRING_TABLE_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:52,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:47,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 70
    functionName: test_string_tbl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - TEST_info
    - TEST_ptr_null
    - ASN1_STRING_TABLE_add
    - ASN1_STRING_TABLE_cleanup
    - ASN1_STRING_TABLE_get
    linkageType: ''
    returnType: int
    signature: 'static int test_string_tbl(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_string_table_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:188,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:194,1
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:196,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:197,1
    - Dst: X509v3_addr_add_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:204,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:207,1
    - Dst: check_addr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:210,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:181,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:199,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:213,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:222,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:224,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:180,1
    - Dst: X509v3_addr_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:204,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:216,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:223,1
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:191,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:192,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:201,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:215,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 226
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 226
    functionName: test_addr_ranges
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - check_addr
    - a2i_IPADDRESS
    - memcmp
    - X509v3_addr_add_range
    - TEST_ptr
    - sk_IPAddressFamily_new_null
    - TEST_int_eq
    - TEST_true
    - ASN1_OCTET_STRING_free
    - OSSL_NELEM
    - X509v3_addr_is_canonical
    - sk_IPAddressFamily_pop_free
    - X509v3_addr_canonize
    linkageType: ''
    returnType: int
    signature: 'static int test_addr_ranges(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifiers_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:46,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:50,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:51,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:54,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:62,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:55,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:63,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:66,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:70,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:91,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:99,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:89,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:92,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:80,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:100,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:87,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:104,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:94,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:85,1
    - Dst: ASIdentifiers_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:45,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:73,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:88,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:98,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:102,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:105,1
    - Dst: ASIdentifiers_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:113,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:71,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:90,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:110,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:93,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:91,1
    - Dst: ASIdentifiers_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:112,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:86,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:103,1
    - Dst: ASIdentifiers_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:45,1
    - Dst: ASIdentifiers_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:46,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:49,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:55,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:63,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:66,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:71,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:80,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:87,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:99,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:104,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:103,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:85,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:102,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:92,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:89,1
    - Dst: ASIdentifiers_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:114,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:94,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:54,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:62,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:70,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:73,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:98,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:88,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:105,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:111,1
    - Dst: ASIdentifiers_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:115,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:90,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:100,1
    - Dst: X509v3_asid_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:93,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 136
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 117
    functionName: test_asid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - X509v3_asid_subset
    - ASIdentifiers_free
    - TEST_ptr
    - X509v3_asid_add_id_or_range
    - TEST_true
    - ASIdentifiers_new
    - ASN1_INTEGER_set_int64
    - TEST_false
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'static int test_asid(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:28,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:28,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:29,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:30,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:29,1
    - Dst: X509_get_pathlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:30,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:36,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: test_pathlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - TEST_ptr
    - TEST_int_eq
    - X509_get_pathlen
    linkageType: ''
    returnType: int
    signature: 'static int test_pathlen(void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:248,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:250,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:269,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:278,1
    - Dst: IPAddressFamily_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:289,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:309,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:319,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:267,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:295,1
    - Dst: IPAddressFamily_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:315,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:318,1
    - Dst: X509v3_addr_add_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:248,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:250,1
    - Dst: IPAddressFamily_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:261,1
    - Dst: IPAddressFamily_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:282,1
    - Dst: X509v3_addr_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:278,1
    - Dst: IPAddressChoice_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:264,1
    - Dst: IPAddressChoice_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:292,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:297,1
    - Dst: X509v3_addr_canonize
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:309,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:243,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:240,1
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:242,1
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:245,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:246,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:273,1
    - Dst: sk_IPAddressFamily_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:282,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:304,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:316,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 321
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 321
    functionName: test_addr_fam_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - a2i_IPADDRESS
    - X509v3_addr_add_range
    - TEST_ptr
    - sk_IPAddressFamily_new_null
    - IPAddressFamily_new
    - TEST_true
    - ASN1_OCTET_STRING_new
    - sk_IPAddressFamily_push
    - ASN1_OCTET_STRING_free
    - IPAddressFamily_free
    - X509v3_addr_is_canonical
    - sk_IPAddressFamily_pop
    - TEST_false
    - IPAddressChoice_new
    - ASN1_OCTET_STRING_set
    - X509v3_addr_canonize
    - sk_IPAddressFamily_pop_free
    linkageType: ''
    returnType: int
    signature: 'static int test_addr_fam_len(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:150,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:150,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:153,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:157,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:154,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:160,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:160,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:163,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:164,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - addr
    - type
    argTypes:
    - IPAddrBlocks*
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: check_addr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - sk_IPAddressOrRange_value
    - sk_IPAddressFamily_value
    - sk_IPAddressFamily_num
    - sk_IPAddressOrRange_num
    linkageType: ''
    returnType: int
    signature: 'static int check_addr(IPAddrBlocks *addr, int type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:375,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:387,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:394,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:397,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:403,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:382,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:390,1
    - Dst: NCONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:390,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:407,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:404,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:377,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:378,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:393,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:397,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:408,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:399,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:410,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:415,1
    - Dst: NCONF_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:385,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:386,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:404,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 419
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 419
    functionName: test_ext_syntax
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - NCONF_load_bio
    - NCONF_free
    - ERR_pop_to_mark
    - BIO_free
    - X509V3_set_ctx_test
    - TEST_ptr
    - X509V3_set_nconf
    - TEST_true
    - TEST_info
    - ERR_set_mark
    - TEST_long_gt
    - OSSL_NELEM
    - NCONF_new_ex
    - TEST_false
    - ERR_clear_last_mark
    - BIO_new_mem_buf
    - X509V3_EXT_add_nconf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_ext_syntax(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:429,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:433,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:442,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:449,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:450,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:451,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:452,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:436,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:441,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:443,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:445,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:444,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:446,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:447,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:448,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:454,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:456,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:434,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:442,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:441,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:449,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:450,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:451,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:452,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:457,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:433,1
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:434,1
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:435,1
    - Dst: X509v3_addr_add_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:436,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:443,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:445,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:444,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:446,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:447,1
    - Dst: X509v3_addr_subset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:448,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:458,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 461
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 461
    functionName: test_addr_subset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - a2i_IPADDRESS
    - X509v3_addr_add_range
    - sk_IPAddressFamily_new_null
    - TEST_ptr
    - TEST_true
    - X509v3_addr_subset
    - ASN1_OCTET_STRING_free
    - OSSL_NELEM
    - sk_IPAddressFamily_pop_free
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_addr_subset(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:469,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:474,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:474,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:470,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:477,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:479,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:480,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:481,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:482,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 486
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 486
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3ext.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - TEST_ptr
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:431,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:437,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:440,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:443,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:454,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:461,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:433,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:452,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:455,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:447,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:453,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:462,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:463,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:436,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:433,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:446,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:454,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:466,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:472,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:437,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:445,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:453,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:455,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:452,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:458,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:462,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:463,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:471,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 1
    argNames:
    - test_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 474
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 474
    functionName: test_cipher_reinit_partialupdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - TEST_mem_eq
    - EVP_CIPHER_free
    - TEST_ptr
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_get_mode
    - TEST_true
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CIPHER_get_block_size
    - EVP_EncryptUpdate
    - EVP_EncryptInit_ex
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher_reinit_partialupdate(int test_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:534,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:535,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:535,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:540,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:545,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:545,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:549,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:549,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:553,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:556,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:551,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:533,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:536,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:536,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:538,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:538,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:541,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:546,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:546,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:547,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:547,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:537,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:542,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:544,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:542,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:555,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:534,1
    - Dst: rsa_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:533,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:537,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:544,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:554,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:552,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 558
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 558
    functionName: kem_rsa_gen_recover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_encapsulate_init
    - TEST_mem_eq
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_CTX_free
    - rsa_keygen
    linkageType: ''
    returnType: int
    signature: 'static int kem_rsa_gen_recover(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'static int name_cmp(const char * const *a, const char * const *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:605,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:609,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:625,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:620,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:630,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:622,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:601,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:612,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:617,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:649,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:641,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:648,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:598,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:613,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:623,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:654,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:597,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:605,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:609,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:620,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:626,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:630,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:606,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:632,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:633,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:647,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:627,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:599,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:601,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:612,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:617,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:639,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:635,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:634,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:618,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:623,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:603,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:608,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:613,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:629,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:626,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:642,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:653,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:606,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:611,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:621,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:632,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:645,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:633,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:644,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:650,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:627,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:598,1
    - Dst: rsa_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:597,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:604,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:639,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:635,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:647,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:637,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:634,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:618,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:621,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:603,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:608,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:625,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:643,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:629,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:642,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:655,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:599,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:611,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:615,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:622,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:649,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:650,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:652,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:604,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:644,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:637,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:641,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:643,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:648,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 125
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 657
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 657
    functionName: kem_rsa_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_encapsulate_init
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - TEST_uchar_eq
    - EVP_PKEY_free
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_CTX_free
    - rsa_keygen
    linkageType: ''
    returnType: int
    signature: 'static int kem_rsa_params(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:686,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:691,1
    - Dst: gen_dh_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:686,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:689,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:689,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:691,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:696,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 699
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 699
    functionName: kem_invalid_keytype
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_encapsulate_init
    - TEST_int_eq
    - TEST_ptr
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - gen_dh_key
    linkageType: ''
    returnType: int
    signature: 'static int kem_invalid_keytype(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: string_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void string_free(char *m) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:572,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:572,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:574,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:573,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:573,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:574,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:575,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:575,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:576,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:576,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:578,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:581,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:577,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:582,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:577,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:578,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:580,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 584
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 584
    functionName: test_cipher_tdes_randkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - TEST_int_eq
    - TEST_ptr
    - EVP_CIPHER_get_flags
    - TEST_true
    - EVP_CIPHER_CTX_free
    - TEST_int_ne
    - TEST_int_gt
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_rand_key
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher_tdes_randkey(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:113,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:116,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:121,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:126,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:126,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:127,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:127,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:141,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:145,1
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:114,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:117,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:125,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:131,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:140,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:112,1
    - Dst: getname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:109,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:115,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:121,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:125,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:131,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:132,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:132,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:139,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:143,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:109,1
    - Dst: getname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:110,1
    - Dst: getname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:110,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:112,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:115,1
    - Dst: DSA_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:117,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:116,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:138,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:142,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 147
    functionName: test_dsa_param_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - DSA_new
    - TEST_true
    - EVP_PKEY_eq
    - DSA_free
    - TEST_int_eq
    - EVP_PKEY_dup
    - EVP_PKEY_new
    - getname
    - BN_dup
    - TEST_note
    - EVP_PKEY_assign_DSA
    - DSA_set0_pqg
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_int_gt
    - BN_free
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'static int test_dsa_param_keygen(int tstid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:485,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:491,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:490,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:492,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - cipher
    - cipher_names_list
    argTypes:
    - EVP_CIPHER*
    - void*
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: collect_cipher_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_push
    - assert
    - OPENSSL_free
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: void
    signature: 'static void collect_cipher_names(EVP_CIPHER *cipher, void *cipher_names_list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:666,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:669,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:669,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:667,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:670,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:670,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:671,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:671,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:672,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:672,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 677
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 677
    functionName: gen_dh_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_params
    - TEST_ptr
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *gen_dh_key(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:708,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:724,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:714,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:711,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:728,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:731,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:732,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:735,1
    - Dst: sk_OPENSSL_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:735,1
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:737,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:741,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:739,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:745,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:742,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:748,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:740,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:743,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:739,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 751
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 751
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_num
    - EVP_CIPHER_do_all_provided
    - ADD_TEST
    - opt_arg
    - ADD_ALL_TESTS
    - TEST_ptr
    - sk_OPENSSL_STRING_new
    - test_get_libctx
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:503,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:504,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:503,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:509,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:505,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:509,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:512,1
    - Dst: d2i_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:512,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:516,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:517,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - bits
    - pub
    - priv
    argTypes:
    - int
    - EVP_PKEY**
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 519
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 519
    functionName: rsa_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_new_for_pkey
    - d2i_PublicKey
    linkageType: ''
    returnType: int
    signature: 'static int rsa_keygen(int bits, EVP_PKEY **pub, EVP_PKEY **priv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_param_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: test_dh_safeprime_param_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - do_dh_param_keygen
    linkageType: ''
    returnType: int
    signature: 'static int test_dh_safeprime_param_keygen(int tstid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: getname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *getname(int id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:173,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:177,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:180,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:194,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:203,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:175,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:177,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:184,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:178,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:189,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:189,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:190,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:190,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:194,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:195,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:195,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:202,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:172,1
    - Dst: getname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:173,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:175,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:179,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:180,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:178,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:188,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:201,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:205,1
    - Dst: getname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:172,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:176,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:179,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:184,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:188,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:204,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:206,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:208,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 2
    argNames:
    - tstid
    - bn
    argTypes:
    - int
    - BIGNUM**
    constantsTouched: []
    func_position:
      end: 210
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 210
    functionName: do_dh_param_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_assign_DH
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - TEST_true
    - EVP_PKEY_eq
    - TEST_int_eq
    - EVP_PKEY_dup
    - EVP_PKEY_new
    - getname
    - BN_dup
    - DH_free
    - TEST_note
    - EVP_PKEY_keygen
    - TEST_ptr
    - DH_set0_pqg
    - TEST_int_gt
    - BN_free
    - DH_new
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'static int do_dh_param_keygen(int tstid, const BIGNUM **bn) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:346,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:359,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:372,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:373,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:380,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:385,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:340,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:346,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:353,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:369,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:369,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:381,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:392,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:342,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:366,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:367,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:368,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:364,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:372,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:373,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:379,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:391,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:345,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:342,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:350,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:360,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:361,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:367,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:384,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 1
    argNames:
    - test_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 394
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 394
    functionName: test_cipher_reinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - TEST_mem_eq
    - TEST_mem_ne
    - TEST_ptr
    - TEST_int_eq
    - EVP_CIPHER_free
    - EVP_CIPHER_get_mode
    - TEST_true
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_is_a
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    - EVP_EncryptInit_ex
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher_reinit(int test_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:300,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:301,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:301,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:302,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:300,1
    - Dst: d2i_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:302,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:306,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 309
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 309
    functionName: dhx_cert_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - d2i_X509_bio
    - BIO_free
    - X509_new_ex
    - TEST_ptr
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: 'static int dhx_cert_load(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:761,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:763,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:764,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_libctx_test.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_pop_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:75,1
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:79,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: run_pipe
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c
    functionUses: []
    functionsReached:
    - BIO_read_ex
    - BIO_eof
    - BIO_write_ex
    linkageType: ''
    returnType: int
    signature: 'static int run_pipe(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:128,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:132,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:134,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:129,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: 'static void cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:65,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:67,1
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: opt_printf_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int opt_printf_stderr(const char *fmt, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:98,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:104,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:111,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:107,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:107,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: setup_bio_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - BIO_up_ref
    - OPENSSL_free
    - OPENSSL_zalloc
    - BIO_push
    - BIO_new
    - BIO_f_prefix
    linkageType: ''
    returnType: int
    signature: 'static int setup_bio_chain(const char *progname) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:146,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:148,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:147,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:150,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:150,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:162,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:183,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:203,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:214,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:224,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:144,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:151,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:151,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:154,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:156,1
    - Dst: setup_bio_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:175,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:176,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:187,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:201,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:228,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:245,1
    - Dst: BIO_f_linebuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:150,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:165,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:159,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:192,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:221,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:244,1
    - Dst: BIO_f_linebuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:151,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:155,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:163,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:190,1
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:213,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:225,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:240,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 256
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 256
    functionName: setup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_f_linebuffer
    - BIO_set_indent
    - BIO_set_prefix
    - strchr
    - OPENSSL_assert
    - opt_arg
    - setup_bio_chain
    - BIO_push
    - opt_next
    - BIO_new_fp
    - BIO_new
    - opt_getprog
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'static int setup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:262,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:264,1
    - Dst: setup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:263,1
    - Dst: run_pipe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_prefix_text.c
    functionUses: []
    functionsReached:
    - setup
    - opt_init
    - cleanup
    - run_pipe
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:70,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:72,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:73,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:78,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:78,1
    - Dst: SMIME_read_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:81,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:88,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:70,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:70,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:75,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:80,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:82,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:82,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:83,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:87,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:91,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:75,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:76,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:77,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:79,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:86,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:90,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:75,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:76,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:81,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:80,1
    - Dst: d2i_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:77,1
    - Dst: PKCS7_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:84,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:84,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:89,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 93
    functionName: pkcs7_verify_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c
    functionUses: []
    functionsReached:
    - d2i_X509_bio
    - BIO_free
    - PKCS7_verify
    - BIO_s_mem
    - SMIME_read_PKCS7
    - BIO_new
    - X509_free
    - ERR_peek_error
    - TEST_true
    - PKCS7_free
    - X509_STORE_add_cert
    - BIO_new_mem_buf
    - X509_STORE_new
    - TEST_int_eq
    - X509_STORE_free
    - strlen
    - TEST_ptr
    - OSSL_NELEM
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int pkcs7_verify_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkcs7_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:34,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:44,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:69,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:76,1
    - Dst: BIO_seek
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:76,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:88,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:92,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:34,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:35,1
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:35,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:43,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:44,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:61,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:62,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:81,1
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:81,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:93,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:43,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:58,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:47,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:56,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:67,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:80,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:83,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:94,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:37,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:39,1
    - Dst: BIO_f_readbuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:43,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:55,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:50,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 89
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: test_readbuffer_file_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_gets
    - BIO_seek
    - TEST_int_le
    - BIO_free_all
    - BIO_free
    - TEST_mem_eq
    - TEST_ptr
    - TEST_int_eq
    - BIO_tell
    - TEST_true
    - TEST_int_gt
    - BIO_f_readbuffer
    - BIO_push
    - BIO_read_ex
    - BIO_eof
    - BIO_new
    - TEST_int_lt
    linkageType: ''
    returnType: int
    signature: 'static int test_readbuffer_file_bio(int tstid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:118,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:126,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c
    functionUses: []
    functionsReached:
    - opt_next
    - ADD_ALL_TESTS
    - test_get_argument
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_readbuffer_test.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_exec_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:127,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:133,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:130,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:128,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:131,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:138,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:138,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:138,1
    - Dst: OSSL_CMP_CTX_get1_caPubs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:141,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:142,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:144,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: execute_exec_certrequest_ses_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - X509_cmp
    - OSSL_CMP_CTX_get1_caPubs
    - OSSL_CMP_exec_certreq
    - sk_X509_pop_free
    - TEST_int_eq
    - TEST_ptr
    - OSSL_CMP_CTX_print_errors
    - OSSL_CMP_CTX_get_status
    - TEST_ptr_null
    - STACK_OF_X509_cmp
    linkageType: ''
    returnType: int
    signature: 'static int execute_exec_certrequest_ses_test(CMP_SES_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_RR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: test_exec_RR_ses_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_RR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_RR_ses_ok(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_IR_ses_poll
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: test_exec_IR_ses_poll_total_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_IR_ses_poll
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_IR_ses_poll_total_timeout(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:258,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:263,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:267,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:268,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:269,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:272,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - transfer_error
    - pubkey
    - raverified
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 278
    functionName: test_exec_KUR_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set0_newPkey
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - EXECUTE_TEST
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - OSSL_CMP_CTX_set_option
    - SETUP_TEST_FIXTURE
    - EVP_PKEY_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_KUR_ses(int transfer_error, int pubkey, int raverified) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_certConf_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - cert
    - fail_info
    - txt
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: test_certConf_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_get_certConf_cb_arg
    linkageType: ''
    returnType: int
    signature: 'static int test_certConf_cb(OSSL_CMP_CTX *ctx, X509 *cert, int fail_info,
      const char **txt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:389,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:391,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:393,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:390,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:391,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:393,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:394,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:395,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:396,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 397
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 397
    functionName: execute_try_certreq_poll_abort_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_try_certreq
    - TEST_int_eq
    - OSSL_CMP_CTX_get0_newCert
    - ossl_cmp_mock_srv_set_pollCount
    - TEST_ptr_eq
    - ossl_cmp_mock_srv_set_checkAfterTime
    linkageType: ''
    returnType: int
    signature: 'static int execute_try_certreq_poll_abort_test(CMP_SES_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_exchange_certConf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:440,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: execute_exchange_certConf_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_exchange_certConf
    linkageType: ''
    returnType: int
    signature: 'static int execute_exchange_certConf_test(CMP_SES_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:152,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:157,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - request_error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: test_exec_RR_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_oldCert
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_RR_ses(int request_error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_RR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: test_exec_RR_ses_request_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_RR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_RR_ses_request_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:231,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:236,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:240,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:233,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - implicit_confirm
    - granted
    - reject
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: test_exec_CR_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - EXECUTE_TEST
    - ossl_cmp_mock_srv_set_sendError
    - OSSL_CMP_CTX_set_option
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_CR_ses(int implicit_confirm, int granted, int
      reject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: test_exec_KUR_ses_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_KUR_ses_ok(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:326,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:332,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:332,1
    - Dst: load_csr_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:331,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:333,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:334,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:334,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:335,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:338,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: test_exec_P10CR_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - load_csr_der
    - OSSL_CMP_CTX_set_certConf_cb
    - OSSL_CMP_CTX_set_certConf_cb_arg
    - TEST_ptr
    - X509_REQ_free
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_p10CSR
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_P10CR_ses(int reject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:401,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: test_try_certreq_poll_abort
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_try_certreq_poll_abort(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_exchange_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:449,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: execute_exchange_error_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_exchange_error
    linkageType: ''
    returnType: int
    signature: 'static int execute_exchange_error_test(CMP_SES_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:104,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:106,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:105,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:108,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:109,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:112,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:114,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: execute_exec_GENM_ses_test_single
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_exec_GENM_ses
    - sk_OSSL_CMP_ITAV_pop_free
    - TEST_int_eq
    - TEST_ptr
    - OSSL_CMP_ITAV_create
    - OSSL_CMP_CTX_get_status
    - OBJ_txt2obj
    - TEST_ptr_null
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int execute_exec_GENM_ses_test_single(CMP_SES_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:246,1
    - Dst: test_exec_CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: test_exec_CR_ses_explicit_confirm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_CR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_CR_ses_explicit_confirm(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: test_exec_KUR_ses_transfer_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_KUR_ses_transfer_error(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:459,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:465,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:462,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:461,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: test_exchange_certConf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - X509_dup
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_exchange_certConf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_exec_GENM_ses_test_single
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:119,1
    - Dst: execute_exec_GENM_ses_test_single
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:121,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: execute_exec_GENM_ses_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - execute_exec_GENM_ses_test_single
    - OSSL_CMP_CTX_reinit
    linkageType: ''
    returnType: int
    signature: 'static int execute_exec_GENM_ses_test(CMP_SES_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:252,1
    - Dst: test_exec_CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: test_exec_CR_ses_implicit_confirm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_CR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_CR_ses_implicit_confirm(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: test_exec_KUR_ses_wrong_popo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_KUR_ses_wrong_popo(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:471,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: test_exchange_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_exchange_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:200,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:207,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:203,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:205,1
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - check_after
    - poll_count
    - total_timeout
    - expect
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: test_exec_IR_ses_poll
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_mock_srv_set_pollCount
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set_option
    - SETUP_TEST_FIXTURE
    - ossl_cmp_mock_srv_set_checkAfterTime
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_IR_ses_poll(int check_after, int poll_count,
      int total_timeout, int expect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_P10CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: test_exec_P10CR_ses_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_P10CR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_P10CR_ses_ok(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_P10CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: test_exec_P10CR_ses_reject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_P10CR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_P10CR_ses_reject(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:499,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:500,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:501,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:502,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:503,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:511,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:512,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:515,1
    - Dst: cleanup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:516,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:526,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:530,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:528,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:538,1
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:494,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:514,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:515,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:513,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:522,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:523,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:524,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:525,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:527,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:533,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:534,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:536,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:542,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:529,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:520,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:495,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:499,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:500,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:501,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:502,1
    - Dst: test_arg_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:508,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:511,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:512,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:504,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:503,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:537,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:532,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:513,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:514,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:521,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:531,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:535,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:539,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:540,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:541,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 544
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 544
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - load_cert_pem
    - test_skip_common_options
    - cleanup_tests
    - TEST_ptr
    - TEST_int_eq
    - ADD_TEST
    - test_get_argument
    - load_pkey_pem
    - test_arg_libctx
    - TEST_error
    - RAND_bytes_ex
    linkageType: ''
    returnType: OPT_TEST_DECLARE_USAGE(USAGE)
    signature: 'OPT_TEST_DECLARE_USAGE(USAGE) int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:61,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:64,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:70,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:73,1
    - Dst: OSSL_CMP_CTX_set1_srvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:81,1
    - Dst: ossl_cmp_mock_srv_set1_certOut
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:66,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:68,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:69,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:72,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:79,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:76,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:75,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:72,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:78,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:82,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:88,1
    - Dst: ossl_cmp_mock_srv_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:64,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:61,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:65,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:74,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:77,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 90
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_mock_srv_set1_certOut
    - ossl_cmp_mock_srv_new
    - OSSL_CMP_CTX_set1_cert
    - OSSL_CMP_CTX_set1_pkey
    - OSSL_CMP_CTX_new
    - OSSL_CMP_CTX_set_log_cb
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - TEST_ptr
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    - OSSL_CMP_CTX_set_transfer_cb
    - OPENSSL_zalloc
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OSSL_CMP_CTX_set_option
    - OSSL_CMP_CTX_set1_oldCert
    - OSSL_CMP_CTX_set1_srvCert
    - tear_down
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: CMP_SES_TEST_FIXTURE*
    signature: 'static CMP_SES_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:173,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:178,1
    - Dst: ossl_cmp_mock_srv_set_statusInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:174,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: test_exec_RR_ses_receive_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - ossl_cmp_mock_srv_set_sendError
    - SETUP_TEST_FIXTURE
    - ossl_cmp_mock_srv_set_statusInfo
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_RR_ses_receive_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_IR_ses_poll
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: test_exec_IR_ses_poll_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_IR_ses_poll
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_IR_ses_poll_ok(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: test_exec_KUR_ses_pub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_KUR_ses_pub(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:360,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:362,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:361,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:364,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:362,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:364,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:365,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:365,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:367,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:367,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:369,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:370,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:371,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:368,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: execute_try_certreq_poll_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_try_certreq
    - X509_cmp
    - TEST_int_eq
    - OSSL_CMP_CTX_get0_newCert
    - ossl_cmp_mock_srv_set_pollCount
    - TEST_ptr_eq
    - ossl_cmp_mock_srv_set_checkAfterTime
    linkageType: ''
    returnType: int
    signature: 'static int execute_try_certreq_poll_test(CMP_SES_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:409,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:411,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - transfer_error
    - total_timeout
    - expect
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 420
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 420
    functionName: test_exec_GENM_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set_transfer_cb_arg
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_GENM_ses(int transfer_error, int total_timeout,
      int expect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_GENM_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: test_exec_GENM_ses_transfer_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_GENM_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_GENM_ses_transfer_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:479,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:480,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:481,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:483,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:482,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:484,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_PROVIDER_unload
    - EVP_PKEY_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:94,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:98,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:94,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:96,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fixt
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: execute_exec_RR_ses_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - OSSL_CMP_exec_RR_ses
    - OSSL_CMP_CTX_get_status
    linkageType: ''
    returnType: int
    signature: 'static int execute_exec_RR_ses_test(CMP_SES_TEST_FIXTURE *fixt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:186,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:189,1
    - Dst: ossl_cmp_mock_srv_set1_caPubsOut
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:192,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:190,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:191,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: test_exec_IR_ses
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_mock_srv_set1_caPubsOut
    - EXECUTE_TEST
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_IR_ses(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_IR_ses_poll
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: test_exec_IR_ses_poll_no_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_IR_ses_poll
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_IR_ses_poll_no_timeout(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: test_exec_KUR_ses_wrong_pub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_KUR_ses_wrong_pub(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:376,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: test_try_certreq_poll
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_try_certreq_poll(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_GENM_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: test_exec_GENM_ses_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_GENM_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_GENM_ses_ok(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_GENM_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: test_exec_GENM_ses_total_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - test_exec_GENM_ses
    linkageType: ''
    returnType: int
    signature: 'static int test_exec_GENM_ses_total_timeout(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:49,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:52,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_client_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_mock_srv_free
    - OSSL_CMP_CTX_free
    - OPENSSL_free
    - sk_X509_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_SES_TEST_FIXTURE *fixture) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:35,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:37,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:44,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:40,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:54,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:55,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:62,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:62,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:61,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:61,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:33,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:37,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:38,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:40,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:42,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:46,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:49,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:50,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:57,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:57,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:47,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:56,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:56,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:60,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:62,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:66,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:69,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:57,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:61,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:32,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:35,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:34,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:38,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:40,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:50,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 90
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 71
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 71
    functionName: group_field_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - BN_rand
    - ERR_clear_error
    - BN_CTX_get
    - ERR_GET_REASON
    - BN_CTX_end
    - TEST_ptr
    - BN_value_one
    - TEST_true
    - BN_is_one
    - BN_num_bits
    - ERR_GET_LIB
    - BN_zero
    - BN_CTX_start
    - ERR_peek_last_error
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int group_field_tests(const EC_GROUP *group, BN_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:151,1
    - Dst: field_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:152,1
    - Dst: EC_GFp_mont_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: field_tests_ecp_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - EC_GFp_mont_method
    - field_tests
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int field_tests_ecp_mont(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:174,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:176,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:177,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:176,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:177,1
    - Dst: group_field_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:178,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:184,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: field_tests_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - OBJ_nid2sn
    - TEST_ptr
    - BN_CTX_free
    - EC_GROUP_free
    - TEST_info
    - group_field_tests
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int field_tests_default(int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:269,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:271,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:272,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:273,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:274,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:274,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:278,1
    - Dst: EC_KEY_set_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:278,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:290,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:289,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:283,1
    - Dst: EC_KEY_set_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:282,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 292
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 292
    functionName: set_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - EC_KEY_generate_key
    - TEST_int_eq
    - TEST_ptr
    - EC_KEY_set_private_key
    - TEST_ptr_null
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: 'static int set_private_key(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:403,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:407,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:407,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:408,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:403,1
    - Dst: i2d_ECPKParameters_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:408,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:412,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:412,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:419,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:419,1
    - Dst: d2i_ECPKParameters_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:420,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:427,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:420,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:430,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:429,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 433
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 433
    functionName: ecpkparams_i2d2i_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - i2d_ECPKParameters_fp
    - EC_GROUP_free
    - fopen
    - d2i_ECPKParameters_fp
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int ecpkparams_i2d2i_test(int n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:228,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:232,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:232,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:233,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:233,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:240,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:250,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:253,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:243,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:238,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:215,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:216,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:217,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:218,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:219,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:221,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:231,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:231,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:235,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:239,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:255,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:243,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:210,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:211,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:228,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:226,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:228,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:225,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:224,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:237,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:240,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:252,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:251,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:214,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:228,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:234,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:234,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:235,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:238,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:239,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:244,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:254,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:244,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 258
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 258
    functionName: underflow_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_GROUP_new_by_curve_name
    - EC_POINT_free
    - BN_CTX_free
    - BN_CTX_start
    - BN_hex2bn
    - BN_CTX_end
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - BN_CTX_new
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - TEST_int_eq
    - EC_POINT_new
    - EC_GROUP_free
    - BN_CTX_get
    - TEST_ptr
    - EC_POINT_mul
    - TEST_int_gt
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int underflow_test(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:437,1
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:439,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:439,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:438,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:438,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:442,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:443,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:445,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:447,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:449,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:453,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:452,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 456
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 456
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ADD_TEST
    - ADD_ALL_TESTS
    - TEST_true
    - EC_get_builtin_curves
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:143,1
    - Dst: EC_GFp_simple_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:144,1
    - Dst: field_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: field_tests_ecp_simple
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - field_tests
    - EC_GFp_simple_method
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int field_tests_ecp_simple(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:82,1
    - Dst: EC_GROUP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:89,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:90,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:92,1
    - Dst: group_field_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:94,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:82,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:87,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:85,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:88,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:99,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:93,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:91,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:102,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:88,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:90,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:92,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:89,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:91,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:93,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 3
    argNames:
    - meth
    - params
    - len
    argTypes:
    - EC_METHOD*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: field_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - EC_GROUP_new
    - EC_GROUP_set_curve
    - TEST_ptr
    - TEST_true
    - BN_CTX_free
    - EC_GROUP_free
    - group_field_tests
    - BN_CTX_new
    - BN_CTX_start
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: 'static int field_tests(const EC_METHOD *meth, const unsigned char
      *params, int len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:311,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:317,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:323,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:340,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:340,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:342,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:342,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:344,1
    - Dst: i2d_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:350,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:357,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:371,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:364,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:363,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:365,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:363,1
    - Dst: d2i_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:352,1
    - Dst: EC_GROUP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:310,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:312,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:318,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:333,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:327,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:333,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:324,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:325,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:335,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:346,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:364,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:362,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:388,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:389,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:376,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:362,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:314,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:319,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:334,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:324,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:335,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:337,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:339,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:351,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:386,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:378,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:375,1
    - Dst: i2d_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:371,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:367,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:373,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:376,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:387,1
    - Dst: EC_GFp_simple_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:310,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:323,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:334,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:336,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:337,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:350,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:352,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:353,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:355,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:361,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:372,1
    - Dst: d2i_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:373,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:374,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:374,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:385,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:378,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 144
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 392
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 392
    functionName: decoded_flag_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - ECPARAMETERS_free
    - EC_KEY_set_group
    - i2d_ECPKParameters
    - EC_KEY_free
    - EC_GROUP_get_ecparameters
    - EC_GROUP_new_from_ecpkparameters
    - EC_GFp_simple_method
    - EC_GROUP_new
    - OPENSSL_free
    - EC_GROUP_get_asn1_flag
    - ECPKPARAMETERS_free
    - TEST_int_eq
    - EC_GROUP_free
    - EC_GROUP_new_from_ecparameters
    - d2i_ECPKParameters
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_get_ecpkparameters
    - EC_KEY_new
    - TEST_ptr
    - TEST_int_gt
    - EC_KEY_decoded_from_explicit_params
    linkageType: ''
    returnType: int
    signature: 'static int decoded_flag_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:160,1
    - Dst: EC_GF2m_simple_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:161,1
    - Dst: field_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: field_tests_ec2_simple
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ec_internal_test.c
    functionUses: []
    functionsReached:
    - EC_GF2m_simple_method
    - field_tests
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int field_tests_ec2_simple(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: obj_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *obj_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_obj_add_sigid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:50,1
    - Dst: OSSL_FUNC_core_obj_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:53,1
    - Dst: c_obj_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:62,1
    - Dst: c_obj_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:63,1
    - Dst: c_obj_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:64,1
    - Dst: c_obj_add_sigid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:67,1
    - Dst: c_obj_add_sigid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:71,1
    - Dst: c_obj_add_sigid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:73,1
    - Dst: c_obj_add_sigid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:76,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 80
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 80
    functionName: obj_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_core_obj_create
    - c_obj_create
    - OSSL_FUNC_core_obj_add_sigid
    - c_obj_add_sigid
    linkageType: ''
    returnType: int
    signature: 'static int obj_provider_init(const OSSL_CORE_HANDLE *handle, const
      OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:84,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:94,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:92,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:89,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:92,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:94,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:98,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:99,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:100,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:100,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:109,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:103,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:104,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:102,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:110,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:104,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:103,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:101,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: obj_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - OBJ_txt2nid
    - TEST_int_eq
    - TEST_true
    - OSSL_PROVIDER_unload
    - TEST_int_ne
    - OBJ_ln2nid
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_add_builtin
    - OBJ_sn2nid
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: int
    signature: 'static int obj_create_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/upcallstest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:56,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:64,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:59,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:69,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:74,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:75,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:76,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:77,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:78,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:83,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 34
    argCount: 4
    argNames:
    - params
    - arg
    - title
    - corrupt
    argTypes:
    - OSSL_PARAM
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 88
    functionName: self_test_events
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - strcmp
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int self_test_events(const OSSL_PARAM params[], void *arg,
      const char *title, int corrupt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_test_events
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: self_test_on_demand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - self_test_events
    linkageType: ''
    returnType: int
    signature: 'static int self_test_on_demand(const OSSL_PARAM params[], void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:116,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:128,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:123,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:131,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:133,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:115,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:117,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:126,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:130,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:115,1
    - Dst: OSSL_PROVIDER_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:113,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:117,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:128,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:127,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:131,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:132,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:133,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:116,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:130,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:124,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:120,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 140
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 140
    functionName: get_provider_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - OSSL_PROVIDER_get_params
    - TEST_true
    - OSSL_PARAM_locate_const
    - OSSL_PROVIDER_gettable_params
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_ptr
    linkageType: ''
    returnType: int
    signature: 'static int get_provider_params(const OSSL_PROVIDER *prov) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:195,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:198,1
    - Dst: get_provider_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:197,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: test_provider_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - get_provider_params
    - TEST_ptr
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: 'static int test_provider_gettable_params(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_test_events
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: self_test_on_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - self_test_events
    linkageType: ''
    returnType: int
    signature: 'static int self_test_on_load(const OSSL_PARAM params[], void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_test_events
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: self_test_on_demand_fail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - self_test_events
    linkageType: ''
    returnType: int
    signature: 'static int self_test_on_demand_fail(const OSSL_PARAM params[], void
      *arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:159,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:174,1
    - Dst: OSSL_PROVIDER_self_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:177,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:178,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:150,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:157,1
    - Dst: get_provider_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:152,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:169,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:185,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:150,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:156,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:158,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:161,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:177,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:175,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:180,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:161,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:163,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:168,1
    - Dst: OSSL_PROVIDER_self_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:169,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:180,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 188
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 188
    functionName: test_provider_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - get_provider_params
    - OSSL_SELF_TEST_set_callback
    - OSSL_PARAM_construct_uint
    - TEST_ptr
    - OSSL_PROVIDER_get_params
    - TEST_true
    - TEST_uint_eq
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_self_test
    - OSSL_PROVIDER_load
    - TEST_ptr_null
    - TEST_false
    - OSSL_PARAM_construct_end
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_provider_status(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:207,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:227,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:213,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:210,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:223,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:229,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:230,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:231,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:234,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 239
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_set_callback
    - strcmp
    - opt_arg
    - ADD_TEST
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - opt_next
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_status_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:197,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:205,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:201,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:202,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:204,1
    - Dst: AES_bi_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:208,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:211,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:212,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:213,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:214,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: test_bi_ige_vectors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - TEST_int_le
    - TEST_mem_eq
    - AES_set_decrypt_key
    - AES_bi_ige_encrypt
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bi_ige_vectors(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:247,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:255,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:249,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:248,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:251,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:256,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:257,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: test_ige_enc_chaining
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_ige_enc_chaining(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:299,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:307,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:300,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:306,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:301,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:308,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:317,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 324
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 324
    functionName: test_ige_garble_forwards
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    - TEST_size_t_gt
    linkageType: ''
    returnType: int
    signature: 'static int test_ige_garble_forwards(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:356,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:364,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:358,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:357,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:359,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:365,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:366,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 376
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 376
    functionName: test_bi_ige_garble1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bi_ige_garble1(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:156,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:164,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:160,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:163,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:162,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:166,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:167,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:168,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:169,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:170,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:181,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:183,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:177,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:175,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:182,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:179,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:176,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: test_ige_vectors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - TEST_int_le
    - TEST_mem_eq
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int test_ige_vectors(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:229,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:233,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:231,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:230,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:234,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:235,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: test_ige_enc_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_ige_enc_dec(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:269,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:271,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:270,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:273,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:277,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:278,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:279,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:281,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 286
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 286
    functionName: test_ige_dec_chaining
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_ige_dec_chaining(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:333,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:339,1
    - Dst: AES_bi_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:336,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:334,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:335,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:340,1
    - Dst: AES_bi_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:341,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: test_bi_ige_enc_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - AES_set_decrypt_key
    - AES_bi_ige_encrypt
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bi_ige_enc_dec(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:387,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:389,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:395,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:390,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:388,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:396,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:397,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 407
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 407
    functionName: test_bi_ige_garble2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bi_ige_garble2(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:418,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:419,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:421,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:420,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:426,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:427,1
    - Dst: AES_ige_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:428,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 438
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 438
    functionName: test_bi_ige_garble3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - AES_ige_encrypt
    - memcpy
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bi_ige_garble3(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:444,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:446,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:447,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:445,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:449,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:450,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:451,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:452,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:453,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:454,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:458,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:455,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:457,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:457,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:458,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/igetest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - RAND_bytes
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:74,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:78,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:93,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:79,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:78,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:94,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:98,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:100,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 106
    functionName: test_offset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ASN1_TIME_cmp_time_t
    - TEST_true
    - TEST_info
    - ASN1_TIME_diff
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_offset(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:110,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/time_offset_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:260,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:263,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:266,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:267,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: test_x509_cmp_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - memset
    - TEST_info
    - X509_cmp_time
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_cmp_time(int idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:358,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:365,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:367,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:368,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:360,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:375,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:376,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:384,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:386,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:387,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:397,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 399
    functionName: test_x509_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - ASN1_TIME_free
    - TEST_int_eq
    - TEST_info
    - ASN1_TIME_set_string_X509
    - strlen
    - ASN1_TIME_new
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_time(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:305,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:309,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:309,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:310,1
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:306,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:310,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:311,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:312,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:312,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:315,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:317,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:317,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:313,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:315,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:313,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - vpm
    - asn1_before
    - asn1_mid
    - asn1_after
    argTypes:
    - X509_VERIFY_PARAM*
    - ASN1_TIME*
    - ASN1_TIME*
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 319
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 319
    functionName: test_X509_cmp_timeframe_vpm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - X509_cmp_timeframe
    - X509_VERIFY_PARAM_get_flags
    linkageType: ''
    returnType: int
    signature: 'static int test_X509_cmp_timeframe_vpm(const X509_VERIFY_PARAM *vpm,
      ASN1_TIME *asn1_before, ASN1_TIME *asn1_mid, ASN1_TIME *asn1_after) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:464,1
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:468,1
    - Dst: ASN1_TIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:471,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:471,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:468,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:472,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:472,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:473,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:474,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 478
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 478
    functionName: test_days
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_free
    - TEST_ptr
    - TEST_int_eq
    - ASN1_TIME_set_string
    - TEST_true
    - BIO_snprintf
    - ASN1_TIME_to_tm
    - ASN1_TIME_new
    linkageType: ''
    returnType: int
    signature: 'static int test_days(int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:544,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:547,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:544,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:550,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:544,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:554,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:554,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:555,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:555,1
    - Dst: TEST_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:556,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 563
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 563
    functionName: test_x509_time_print_rfc_822
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - TEST_strn_eq
    - BIO_free
    - TEST_str_eq
    - TEST_ptr
    - TEST_int_eq
    - TEST_int_ne
    - ASN1_TIME_print_ex
    - BIO_s_mem
    - BIO_new
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_time_print_rfc_822(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:323,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:326,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:324,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:328,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:327,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:333,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:334,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:336,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:338,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:339,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:344,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:340,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:345,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:342,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 349
    functionName: test_X509_cmp_timeframe
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - time
    - ASN1_TIME_free
    - X509_VERIFY_PARAM_set_flags
    - ASN1_TIME_adj
    - X509_VERIFY_PARAM_free
    - test_X509_cmp_timeframe_vpm
    - X509_VERIFY_PARAM_set_time
    - X509_VERIFY_PARAM_new
    linkageType: ''
    returnType: int
    signature: 'static int test_X509_cmp_timeframe(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:277,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:286,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:285,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:283,1
    - Dst: ASN1_TIME_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:282,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:289,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:290,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:293,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: test_x509_cmp_time_current
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_free
    - time
    - TEST_int_eq
    - ASN1_TIME_adj
    - X509_cmp_time
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_cmp_time_current(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:572,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:572,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:575,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:572,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:578,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:582,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:582,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:583,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:583,1
    - Dst: TEST_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:584,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:589,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 591
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 591
    functionName: test_x509_time_print_iso_8601
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - TEST_strn_eq
    - BIO_free
    - TEST_str_eq
    - TEST_ptr
    - TEST_int_eq
    - TEST_int_ne
    - ASN1_TIME_print_ex
    - BIO_s_mem
    - BIO_new
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_time_print_iso_8601(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:595,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:597,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:597,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:596,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:598,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:598,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:599,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:599,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:600,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:600,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:601,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_time_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:193,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - pem
    - out
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: glue2bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - BIO_new_mem_buf
    - glue_strings
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *glue2bio(const char **pem, char **out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glue2bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:225,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:234,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:232,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:228,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: X509_from_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - glue2bio
    - OPENSSL_free
    - PEM_read_bio_X509
    - BIO_free
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *X509_from_strings(const char **pem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:295,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:300,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:301,1
    - Dst: X509_CRL_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:298,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - X509_CRL*
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: make_CRL_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - sk_X509_CRL_push
    - sk_X509_CRL_new_null
    - X509_CRL_up_ref
    linkageType: ''
    returnType: STACK_OF(X509_CRL)*
    signature: 'static STACK_OF(X509_CRL) *make_CRL_stack(X509_CRL *x1, X509_CRL *x2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:327,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: test_no_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - verify
    linkageType: ''
    returnType: int
    signature: 'static int test_no_crl(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:348,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:351,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:352,1
    - Dst: make_CRL_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:353,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:352,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: test_known_critical_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - X509_CRL_free
    - CRL_from_strings
    - make_CRL_stack
    - verify
    linkageType: ''
    returnType: int
    signature: 'static int test_known_critical_crl(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:375,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:381,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:380,1
    - Dst: glue2bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:377,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:385,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:387,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:388,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: test_reuse_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - glue2bio
    - BIO_free
    - OPENSSL_free
    - X509_CRL_free
    - CRL_from_strings
    - PEM_read_bio_X509_CRL
    linkageType: ''
    returnType: int
    signature: 'static int test_reuse_crl(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:308,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:314,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:312,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:313,1
    - Dst: CRL_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:309,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:314,1
    - Dst: make_CRL_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:315,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:317,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:317,1
    - Dst: make_CRL_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:318,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:321,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: test_basic_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - X509_CRL_free
    - CRL_from_strings
    - make_CRL_stack
    - verify
    linkageType: ''
    returnType: int
    signature: 'static int test_basic_crl(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:334,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:338,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:337,1
    - Dst: make_CRL_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:339,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:338,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: test_bad_issuer_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - X509_CRL_free
    - CRL_from_strings
    - make_CRL_stack
    - verify
    linkageType: ''
    returnType: int
    signature: 'static int test_bad_issuer_crl(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:361,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:365,1
    - Dst: make_CRL_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:366,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:364,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:365,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: test_unknown_critical_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - X509_CRL_free
    - CRL_from_strings
    - make_CRL_stack
    - verify
    linkageType: ''
    returnType: int
    signature: 'static int test_unknown_critical_crl(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:395,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:396,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:399,1
    - Dst: X509_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:395,1
    - Dst: X509_from_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:396,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:400,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:401,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:402,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:403,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:403,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 406
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 406
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    - X509_from_strings
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:410,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:248,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:255,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:262,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:266,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:270,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:277,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:280,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:284,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:251,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:254,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:256,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:262,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:268,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:265,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:263,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:278,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:251,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:249,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:257,1
    - Dst: X509_VERIFY_PARAM_get_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:268,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:272,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:273,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:281,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:282,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:250,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:267,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:263,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:276,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:283,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 4
    argNames:
    - leaf
    - root
    - crls
    - flags
    argTypes:
    - X509*
    - X509*
    - STACK_OF(X509_CRL)*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 286
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 286
    functionName: verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_set_flags
    - sk_X509_push
    - X509_VERIFY_PARAM_get_time
    - X509_VERIFY_PARAM_set_time
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_set0_param
    - STACK_OF
    - X509_STORE_CTX_set0_crls
    - sk_X509_CRL_pop_free
    - sk_X509_pop_free
    - X509_up_ref
    - X509_verify_cert
    - TEST_true
    - X509_VERIFY_PARAM_free
    - X509_STORE_CTX_free
    - X509_STORE_CTX_new
    - X509_STORE_new
    - ERR_clear_error
    - X509_STORE_free
    - X509_VERIFY_PARAM_set_depth
    - X509_VERIFY_PARAM_new
    - X509_STORE_CTX_init
    - TEST_ptr
    - sk_X509_new_null
    - TEST_long_eq
    - X509_STORE_CTX_set0_trusted_stack
    linkageType: ''
    returnType: int
    signature: 'static int verify(X509 *leaf, X509 *root, STACK_OF(X509_CRL) *crls,
      unsigned long flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glue2bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:204,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:213,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:214,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:207,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: CRL_from_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/crltest.c
    functionUses: []
    functionsReached:
    - glue2bio
    - PEM_read_bio_X509_CRL
    - OPENSSL_free
    - BIO_free
    linkageType: ''
    returnType: X509_CRL*
    signature: 'static X509_CRL *CRL_from_strings(const char **pem) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1519,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1532,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1548,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1554,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1535,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1543,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1531,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1549,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1546,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1555,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1559,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1516,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1520,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1523,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1529,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1544,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1545,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1557,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1560,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1521,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1524,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1530,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1534,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1556,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1568
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1568
    functionName: test_poly1305
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - Poly1305_Init
    - Poly1305_Final
    - TEST_info
    - TEST_size_t_eq
    - Poly1305_Update
    linkageType: ''
    returnType: int
    signature: 'static int test_poly1305(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1572,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c:1572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1574
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1574
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/poly1305_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:89,1
    - Dst: ossl_cmp_certreq_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: execute_certreq_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_certreq_new
    linkageType: ''
    returnType: int
    signature: 'static int execute_certreq_create_test(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:540,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:543,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:541,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:542,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_PROVIDER_unload
    - EVP_PKEY_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:166,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:170,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:171,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:171,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:170,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:173,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:173,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:174,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: test_cmp_create_ir_protection_fails
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_pkey
    - OSSL_CMP_CTX_set1_cert
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_ir_protection_fails(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:193,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:198,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:197,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: test_cmp_create_cr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - set1_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_cr(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:256,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:260,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:261,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:260,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:262,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: test_cmp_create_kur
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_oldCert
    - SETUP_TEST_FIXTURE
    - tear_down
    - set1_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_kur(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:285,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:289,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:288,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:288,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: test_cmp_create_certconf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - X509_dup
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_certconf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:344,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: test_cmp_create_pollreq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_pollreq(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:370,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:369,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:368,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:368,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:370,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:371,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:372,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: test_cmp_create_genm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_ITAV_free
    - TEST_ptr
    - TEST_true
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_create
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_genm(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:463,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: test_cmp_create_rp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_rp(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:39,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:40,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:42,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    - OSSL_CMP_MSG_free
    - OSSL_CMP_PKISI_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:183,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: test_cmp_create_cr_without_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_cr_without_key(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:211,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:215,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:211,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: test_cmp_create_certreq_with_invalid_bodytype
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - set1_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_certreq_with_invalid_bodytype(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:271,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:275,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:279,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:275,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: test_cmp_create_kur_without_oldcert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - set1_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_kur_without_oldcert(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:299,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:302,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:303,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:302,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:304,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: test_cmp_create_certconf_badAlg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - X509_dup
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_certconf_badAlg(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:352,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:354,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:355,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:354,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: test_cmp_create_rr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_oldCert
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_rr(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CERTREPMESSAGE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:383,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:397,1
    - Dst: OSSL_CMP_CERTIFIEDKEYPAIR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:392,1
    - Dst: OSSL_CMP_CERTRESPONSE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:384,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:390,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:398,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:401,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:402,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:404,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:404,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:407,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:412,1
    - Dst: OSSL_CMP_CERTRESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:413,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:407,1
    - Dst: OSSL_CMP_CERTREPMESSAGE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:414,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:406,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 416
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 416
    functionName: execute_certrep_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_cmp
    - OSSL_CMP_CERTREPMESSAGE_new
    - X509_dup
    - ossl_cmp_certrepmessage_get0_certresponse
    - TEST_ptr
    - TEST_int_eq
    - OSSL_CMP_CERTRESPONSE_free
    - ossl_cmp_certresponse_get1_cert
    - ASN1_INTEGER_set
    - OSSL_CMP_CERTRESPONSE_new
    - sk_OSSL_CMP_CERTRESPONSE_push
    - OSSL_CMP_CERTREPMESSAGE_free
    - TEST_ptr_null
    - OSSL_CMP_CERTIFIEDKEYPAIR_new
    linkageType: ''
    returnType: int
    signature: 'static int execute_certrep_create(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_pollRep_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:473,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:476,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:474,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:479,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:476,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:479,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: execute_pollrep_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ossl_cmp_pollrepcontent_get0_pollrep
    - OSSL_CMP_MSG_free
    - ossl_cmp_pollRep_new
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: 'static int execute_pollrep_create(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:96,1
    - Dst: ossl_cmp_error_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: execute_errormsg_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_error_new
    - EXECUTE_MSG_CREATION_TEST
    linkageType: ''
    returnType: int
    signature: 'static int execute_errormsg_create_test(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:108,1
    - Dst: ossl_cmp_certConf_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: execute_certconf_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_certConf_new
    linkageType: ''
    returnType: int
    signature: 'static int execute_certconf_create_test(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:131,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:135,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: set1_newPkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_up_ref
    - EVP_PKEY_free
    - OSSL_CMP_CTX_set0_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int set1_newPkey(OSSL_CMP_CTX *ctx, EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:224,1
    - Dst: load_csr_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:230,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:230,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:231,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:231,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:232,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:235,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: test_cmp_create_p10cr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - load_csr_der
    - TEST_ptr
    - X509_REQ_free
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_p10CSR
    - SETUP_TEST_FIXTURE
    - tear_down
    - set1_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_p10cr(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:316,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:317,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:316,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:318,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: test_cmp_create_certconf_fail_info_max
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - X509_dup
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_certconf_fail_info_max(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:103,1
    - Dst: ossl_cmp_rr_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: execute_rr_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_rr_new
    - EXECUTE_MSG_CREATION_TEST
    linkageType: ''
    returnType: int
    signature: 'static int execute_rr_create_test(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:115,1
    - Dst: ossl_cmp_genm_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: execute_genm_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_genm_new
    linkageType: ''
    returnType: int
    signature: 'static int execute_genm_create_test(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:146,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:152,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:153,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:152,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:154,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:154,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:155,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:155,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:157,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: test_cmp_create_ir_protection_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_secretValue
    - TEST_int_eq
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - set1_newPkey
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_ir_protection_set(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:242,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:246,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:250,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:247,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: test_cmp_create_p10cr_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - set1_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_p10cr_null(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:327,1
    - Dst: set1_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:333,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:328,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:334,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:333,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: test_cmp_create_error_msg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_STATUSINFO_new
    - tear_down
    - set1_newPkey
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_error_msg(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:120,1
    - Dst: ossl_cmp_pollReq_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: execute_pollreq_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_pollReq_new
    - EXECUTE_MSG_CREATION_TEST
    linkageType: ''
    returnType: int
    signature: 'static int execute_pollreq_create_test(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:420,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: test_cmp_create_certrep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_certrep(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:491,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: test_cmp_create_pollrep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_create_pollrep(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:51,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:56,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:51,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:55,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:55,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:57,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:57,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_new
    - TEST_ptr
    - TEST_true
    - OPENSSL_zalloc
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: CMP_MSG_TEST_FIXTURE*
    signature: 'static CMP_MSG_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:125,1
    - Dst: ossl_cmp_msg_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: execute_pkimessage_create_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_msg_create
    - EXECUTE_MSG_CREATION_TEST
    linkageType: ''
    returnType: int
    signature: 'static int execute_pkimessage_create_test(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:428,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:430,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:438,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:440,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:429,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:441,1
    - Dst: ossl_cmp_rp_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:442,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:445,1
    - Dst: ossl_cmp_revrepcontent_get_CertId
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:445,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:448,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:448,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:454,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:456,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:457,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:455,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:453,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 459
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 459
    functionName: execute_rp_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - X509_NAME_new
    - X509_NAME_add_entry_by_txt
    - OSSL_CRMF_CERTID_gen
    - ossl_cmp_revrepcontent_get_CertId
    - X509_NAME_free
    - TEST_ptr
    - OSSL_CMP_MSG_free
    - ossl_cmp_rp_new
    - OSSL_CMP_PKISI_free
    - ASN1_INTEGER_set
    - ossl_cmp_revrepcontent_get_pkisi
    - OSSL_CMP_STATUSINFO_new
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - OSSL_CRMF_CERTID_free
    linkageType: ''
    returnType: int
    signature: 'static int execute_rp_create(CMP_MSG_TEST_FIXTURE *fixture) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:500,1
    - Dst: load_csr_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:505,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:507,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:506,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:506,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:510,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:534,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 17
    argCount: 1
    argNames:
    - bodytype
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 536
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 536
    functionName: test_cmp_pkimessage_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - load_csr_der
    - X509_REQ_free
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_p10CSR
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_pkimessage_create(int bodytype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:580,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:579,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:582,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:584,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:590,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:585,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:592,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:591,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:553,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:557,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:558,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:559,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:560,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:567,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:576,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:569,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:568,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:578,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:581,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:587,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:593,1
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:552,1
    - Dst: cleanup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:570,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:577,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:586,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:558,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:557,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:559,1
    - Dst: test_arg_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:564,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:568,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:569,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:567,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:583,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:588,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:589,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c:594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 597
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 597
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_msg_test.c
    functionUses: []
    functionsReached:
    - load_cert_pem
    - test_skip_common_options
    - cleanup_tests
    - TEST_ptr
    - TEST_int_eq
    - ADD_TEST
    - test_get_argument
    - ADD_ALL_TESTS_NOSUBTEST
    - load_pkey_pem
    - test_arg_libctx
    - TEST_error
    - RAND_bytes_ex
    linkageType: ''
    returnType: OPT_TEST_DECLARE_USAGE(USAGE)
    signature: 'OPT_TEST_DECLARE_USAGE(USAGE) int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:21,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:24,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:25,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:29,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:30,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:31,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 4
    argNames:
    - input
    - length
    - out
    - (*md)
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 34
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 34
    functionName: test_static_sha_common
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - TEST_ptr_eq
    - TEST_ptr_ne
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_static_sha_common(const char *input, size_t length,
      const unsigned char *out, unsigned char *(*md)(const unsigned char *d, size_t
      n, unsigned char *md)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: test_static_sha384
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c
    functionUses: []
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: 'static int test_static_sha384(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: test_static_sha224
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c
    functionUses: []
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: 'static int test_static_sha224(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: test_static_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c
    functionUses: []
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: 'static int test_static_sha1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: test_static_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c
    functionUses: []
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: 'static int test_static_sha256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: test_static_sha512
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c
    functionUses: []
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: 'static int test_static_sha512(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:103,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:106,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:105,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:104,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sha_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:69,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:70,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - out
    - bn_strings
    argTypes:
    - BIGNUM**
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: parse_bigBN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_hex2bn
    - glue_strings
    linkageType: ''
    returnType: int
    signature: 'static int parse_bigBN(BIGNUM **out, const char *bn_strings[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM**
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: parseBN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    linkageType: ''
    returnType: int
    signature: 'static int parseBN(BIGNUM **out, const char *in) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:262,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:265,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:266,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:272,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:274,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:275,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:281,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:283,1
    - Dst: BN_RECP_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:283,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:294,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:263,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:263,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:266,1
    - Dst: BN_RECP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:267,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:273,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:278,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:281,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:282,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:285,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:287,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:288,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:262,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:264,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:272,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:275,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:274,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:267,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:284,1
    - Dst: BN_div_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:284,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:286,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:296,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:295,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:264,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:265,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:273,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:278,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:285,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:286,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:287,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:293,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:297,1
    - Dst: BN_RECP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:298,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 300
    functionName: test_div_recip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_RECP_CTX_free
    - rand_neg
    - BN_bntest_rand
    - BN_add_word
    - TEST_ptr
    - BN_copy
    - BN_set_negative
    - TEST_true
    - BN_new
    - BN_RECP_CTX_set
    - BN_mul
    - TEST_BN_eq_zero
    - BN_free
    - BN_sub
    - BN_RECP_CTX_new
    - BN_div_recp
    - BN_add
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: 'static int test_div_recip(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:799,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:803,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:800,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:807,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:811,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:817,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:818,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:820,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:820,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:823,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:819,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:797,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:800,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:801,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:812,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:813,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:819,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:821,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:832,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:836,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:834,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:795,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:797,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:796,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:798,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:801,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:802,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:811,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:816,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:816,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:818,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:821,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:835,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:837,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:830,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:831,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:795,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:796,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:798,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:799,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:802,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:806,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:803,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:806,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:807,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:812,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:817,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:838,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:813,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:833,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 96
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 840
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 840
    functionName: test_gf2m_mul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - BN_GF2m_mod_mul
    - TEST_BN_eq_zero
    - BN_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_mul(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:888,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:889,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:890,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:894,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:906,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:910,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:912,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:920,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:921,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:886,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:888,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:887,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:889,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:890,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:896,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:898,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:909,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:909,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:910,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:886,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:887,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:894,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:902,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:902,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:906,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:919,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:901,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:898,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:901,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:896,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:918,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:922,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 924
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 924
    functionName: test_gf2m_modinv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_BN_eq_one
    - BN_bntest_rand
    - TEST_ptr
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - BN_GF2m_mod_mul
    - BN_free
    - BN_GF2m_mod_inv
    - TEST_false
    - BN_one
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_modinv(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1989,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2006,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2000,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1999,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2009,1
    - Dst: TEST_BN_lt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2016,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2019,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2020,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2026,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1986,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1986,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1994,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1995,1
    - Dst: TEST_BN_lt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2001,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2004,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2011,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2014,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2021,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2024,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1989,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1990,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1996,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2009,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1999,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2010,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2019,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2031,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1991,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1994,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2005,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2004,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2014,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2015,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2024,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2025,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2033
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2033
    functionName: test_asc2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_BN_lt_zero
    - BN_asc2bn
    - TEST_BN_eq_word
    - TEST_ptr
    - TEST_true
    - BN_new
    - TEST_BN_eq_zero
    - BN_free
    - TEST_BN_abs_eq_word
    - TEST_BN_ge_zero
    linkageType: ''
    returnType: int
    signature: 'static int test_asc2bn(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2194,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2202,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2209,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2217,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2229,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2246,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2238,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2247,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2250,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2230,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2192,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2198,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2200,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2201,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2209,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2213,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2214,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2218,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2239,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2245,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2228,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2240,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2191,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2202,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2210,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2217,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2220,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2223,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2233,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2248,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2221,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2232,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2191,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2193,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2194,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2198,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2205,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2210,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2218,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2221,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2222,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2227,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2249,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2228,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2252
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2252
    functionName: test_negzero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - BN_set_negative
    - BN_set_flags
    - TEST_true
    - BN_new
    - BN_div
    - BN_zero
    - BN_mul
    - BN_set_word
    - TEST_BN_eq_zero
    - BN_free
    - BN_is_negative
    - TEST_BN_ge_zero
    linkageType: ''
    returnType: int
    signature: 'static int test_negzero(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2327,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2333,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2333,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2336,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2337,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2340,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2349,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2331,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2342,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2325,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2336,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2333,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2340,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2341,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2347,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2348,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2325,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2326,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2326,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2327,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2329,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2331,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2331,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2335,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2339,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2332,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2351
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2351
    functionName: test_expmodzero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont_word
    - BN_mod_exp_mont
    - TEST_ptr
    - BN_value_one
    - BN_new
    - TEST_true
    - BN_zero
    - TEST_BN_eq_zero
    - BN_free
    - BN_mod_exp_mont_consttime
    - BN_mod_exp
    linkageType: ''
    returnType: int
    signature: 'static int test_expmodzero(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM**
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: parsedecBN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_dec2bn
    linkageType: ''
    returnType: int
    signature: 'static int parsedecBN(BIGNUM **out, const char *in) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:849,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:854,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:862,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:862,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:854,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:874,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:848,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:849,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:847,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:850,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:859,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:863,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:864,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:865,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:873,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:877,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:847,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:848,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:850,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:851,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:867,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:876,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:851,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:855,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:859,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:863,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:855,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:864,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:865,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:875,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 879
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 879
    functionName: test_gf2m_sqr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - BN_copy
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - BN_GF2m_mod_mul
    - TEST_BN_eq_zero
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_sqr(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:934,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:935,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:936,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:941,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:941,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:947,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:951,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:954,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:963,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:965,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:966,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:932,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:934,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:933,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:936,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:937,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:946,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:950,1
    - Dst: BN_GF2m_mod_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:950,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:952,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:962,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:932,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:933,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:937,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:938,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:947,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:961,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:935,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:938,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:942,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:946,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:942,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:951,1
    - Dst: BN_GF2m_mod_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:952,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:960,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:964,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 968
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 968
    functionName: test_gf2m_moddiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - BN_GF2m_mod_div
    - BN_GF2m_mod_mul
    - BN_free
    - TEST_BN_eq_one
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_moddiv(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2261,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2262,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2267,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2271,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2275,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2279,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2284,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2289,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2301,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2306,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2313,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2306,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2315,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2262,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2263,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2265,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2273,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2267,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2277,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2282,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2287,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2291,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2294,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2301,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2316,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2301,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2306,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2297,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2263,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2271,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2271,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2267,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2275,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2275,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2279,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2279,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2284,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2284,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2289,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2306,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2309,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2260,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2261,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2260,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2269,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2271,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2275,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2279,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2284,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2294,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2297,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2314,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2301,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2304,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2299,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2318
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2318
    functionName: test_badmod
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - BN_mod_exp_mont
    - BN_MONT_CTX_free
    - TEST_ptr
    - BN_div
    - BN_new
    - BN_value_one
    - BN_MONT_CTX_set
    - TEST_true
    - BN_zero
    - BN_MONT_CTX_new
    - BN_mod_mul
    - BN_set_word
    - BN_mod_exp_mont_consttime
    - BN_free
    - TEST_false
    - BN_mod_exp
    linkageType: ''
    returnType: int
    signature: 'static int test_badmod(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2356,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2358,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2363,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2367,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2368,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2376,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2377,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2381,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2388,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2364,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2373,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2374,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2375,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2379,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2383,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2396,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2357,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2359,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2365,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2366,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2368,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2367,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2377,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2380,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2381,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2384,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2395,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2361,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2362,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2373,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2375,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2378,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2379,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2382,1
    - Dst: BN_mod_exp_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2383,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2394,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2393,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2398
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2398
    functionName: test_expmodone
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont_word
    - BN_mod_exp_mont
    - TEST_ptr
    - BN_set_negative
    - TEST_true
    - BN_new
    - BN_set_word
    - TEST_BN_eq_zero
    - BN_mod_exp_mont_consttime
    - BN_mod_exp_simple
    - BN_mod_exp_recp
    - BN_mod_exp
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int test_expmodone(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2588,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2589,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2589,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2588,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2590,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2590,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2593,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2593,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2596,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2596,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2605,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2607,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2606,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2598,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2599,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2599,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2598,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2609
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2609
    functionName: test_gcd_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_is_one
    - BN_free
    - BN_gcd
    - BN_generate_prime_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_gcd_prime(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3055,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3061,1
    - Dst: findattr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3059,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3068,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 3070
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3070
    functionName: file_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - findattr
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int file_test_run(STANZA *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - s
    - key
    argTypes:
    - STANZA*
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: findattr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: char*
    signature: 'static const char *findattr(STANZA *s, const char *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3075,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3081,1
    - Dst: test_start_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3080,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3078,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3078,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3086,1
    - Dst: test_readstanza
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3086,1
    - Dst: file_test_run
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3089,1
    - Dst: test_clearstanza
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3092,1
    - Dst: test_end_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3094,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3096,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3099
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3099
    functionName: run_file_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - test_readstanza
    - file_test_run
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - test_start_file
    - OPENSSL_zalloc
    - test_end_file
    - BIO_eof
    - test_clearstanza
    linkageType: ''
    returnType: int
    signature: 'static int run_file_tests(int i) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:154,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:158,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:160,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:159,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:173,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:174,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:190,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:191,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:198,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:206,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:151,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:157,1
    - Dst: BN_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:165,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:172,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:180,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:181,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:185,1
    - Dst: BN_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:187,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:207,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:212,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:215,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:191,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:196,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:151,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:152,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:153,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:160,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:159,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:158,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:179,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:188,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:189,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:190,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:199,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:204,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:206,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:197,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:213,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:153,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:152,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:154,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:157,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:162,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:166,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:167,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:198,1
    - Dst: BN_consttime_swap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:203,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:214,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:205,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:207,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 217
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 217
    functionName: test_swap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - BN_swap
    - equalBN
    - TEST_ptr
    - BN_copy
    - BN_get_flags
    - TEST_true
    - BN_new
    - BN_num_bits
    - BN_consttime_swap
    - BN_free
    - TEST_false
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'static int test_swap(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:353,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:355,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:354,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:353,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:354,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:355,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:356,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:356,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:359,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:359,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:360,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:365,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:364,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:367,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:366,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:361,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 369
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 369
    functionName: test_signed_mod_replace_ba
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - set_signed_bn
    - TEST_ptr
    - BN_div
    - TEST_true
    - BN_free
    - TEST_BN_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_signed_mod_replace_ba(int n) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:464,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:551,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:588,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:618,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:622,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:683,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:686,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:566,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:465,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:502,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:561,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:552,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:556,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:595,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:709,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:694,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:466,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:510,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:512,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:608,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:619,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:665,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:706,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:467,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:471,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:477,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:613,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:664,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:666,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:684,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:703,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:461,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:467,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:493,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:573,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:562,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:556,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:512,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:608,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:619,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:675,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:460,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:471,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:475,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:477,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:500,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:593,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:661,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:683,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:688,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:705,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:514,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:462,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:479,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:507,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:603,1
    - Dst: parse_bigBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:662,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:663,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:687,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:695,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:702,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:560,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:570,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:574,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:463,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:508,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:583,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:594,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:671,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:708,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:460,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:463,1
    - Dst: parse_bigBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:507,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:603,1
    - Dst: parse_bigBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:663,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:665,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:687,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:689,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:704,1
    - Dst: parse_bigBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:508,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:515,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:459,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:464,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:511,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:583,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:594,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:613,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:664,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:696,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:555,1
    - Dst: parse_bigBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:551,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:465,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:473,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:557,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:618,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:674,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:561,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:501,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:566,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:461,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:466,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:513,1
    - Dst: parse_bigBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:552,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:578,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:502,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:694,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:595,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:459,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:473,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:511,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:557,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:514,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:662,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:673,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:674,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:684,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:695,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:574,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:488,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:513,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:578,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:570,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:500,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:560,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:621,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:671,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:693,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:493,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:503,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:573,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:588,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:596,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:686,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:710,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:462,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:501,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:593,1
    - Dst: parse_bigBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:661,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:688,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:693,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:707,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 248
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 712
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 712
    functionName: test_modexp_mont5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    - BN_bntest_rand
    - BN_from_montgomery
    - BN_zero
    - BN_hex2bn
    - BN_mod_mul_montgomery
    - TEST_true
    - BN_mod_exp_mont_consttime
    - TEST_false
    - TEST_BN_eq
    - BN_one
    - BN_dup
    - BN_mod_exp_simple
    - TEST_BN_eq_one
    - BN_MONT_CTX_free
    - TEST_ptr
    - BN_new
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - TEST_BN_eq_zero
    - BN_free
    - parse_bigBN
    linkageType: ''
    returnType: int
    signature: 'static int test_modexp_mont5(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:722,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:731,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:730,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:729,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:731,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:727,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:721,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:726,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:727,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:729,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:730,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:733,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:734,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:736,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:736,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:743,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:720,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:733,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:734,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:744,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:720,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:721,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:722,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:726,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:727,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:733,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:738,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:745,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 747
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 747
    functionName: test_gf2m_add
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_rand
    - rand_neg
    - TEST_ptr
    - BN_copy
    - BN_value_one
    - TEST_true
    - BN_new
    - BN_set_negative
    - TEST_BN_eq_zero
    - BN_free
    - TEST_false
    - BN_is_odd
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_add(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1477,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1479,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1487,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1482,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1490,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1492,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1494,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1502,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1477,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1479,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1480,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1489,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1493,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1499,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1503,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1478,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1480,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1481,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1487,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1492,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1500,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1504,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1478,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1481,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1485,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1482,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1489,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1491,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1501,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1506
    functionName: file_product
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - equalBN
    - TEST_ptr
    - BN_div
    - BN_new
    - TEST_true
    - BN_zero
    - getBN
    - BN_mul
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int file_product(STANZA *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2053,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2053,1
    - Dst: BN_bn2mpi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2056,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2054,1
    - Dst: BN_asc2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2054,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2057,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2060,1
    - Dst: BN_bn2mpi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2060,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2061,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2064,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2067,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2068,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2075,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2071,1
    - Dst: BN_mpi2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2064,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2077
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2077
    functionName: test_mpi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - TEST_mem_eq
    - BN_asc2bn
    - TEST_ptr
    - BN_bn2mpi
    - TEST_true
    - BN_new
    - BN_mpi2bn
    - BN_free
    - TEST_BN_eq
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_mpi(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2565,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2571,1
    - Dst: BN_CTX_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2566,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2566,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2565,1
    - Dst: test_ctx_set_ct_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2571,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2572,1
    - Dst: test_ctx_check_ct_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2572,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2578,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2579,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2581
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2581
    functionName: test_ctx_consttime_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - test_ctx_set_ct_flag
    - BN_CTX_secure_new
    - TEST_ptr
    - TEST_true
    - BN_CTX_free
    - BN_CTX_new
    - test_ctx_check_ct_flag
    linkageType: ''
    returnType: int
    signature: 'static int test_ctx_consttime_flag(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3118
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3118
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:224,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:225,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:237,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:243,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:231,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:232,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:239,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:240,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:234,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:244,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:244,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:245,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:251,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:225,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:226,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:237,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:240,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:242,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:242,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:250,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:252,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:226,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:224,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:231,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:232,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:234,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:233,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:233,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:243,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 254
    functionName: test_sub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_set_bit
    - rand_neg
    - BN_bntest_rand
    - BN_add_word
    - TEST_ptr
    - BN_copy
    - BN_set_negative
    - TEST_true
    - BN_new
    - TEST_int_ne
    - TEST_BN_eq_zero
    - BN_free
    - BN_sub
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'static int test_sub(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:377,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:378,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:379,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:386,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:389,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:390,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:388,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:390,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:391,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:394,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:402,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:379,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:380,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:383,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:388,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:389,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:392,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:393,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:395,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:403,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:376,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:378,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:380,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:386,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:391,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:394,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:400,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:404,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:376,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:377,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:383,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:393,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:401,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 406
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 406
    functionName: test_mod
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - rand_neg
    - BN_bntest_rand
    - TEST_ptr
    - BN_set_negative
    - BN_div
    - TEST_true
    - BN_new
    - BN_mod
    - BN_mul
    - BN_free
    - TEST_BN_eq
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'static int test_mod(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:756,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:759,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:763,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:763,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:767,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:781,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:754,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:756,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:755,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:757,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:762,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:771,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:780,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:784,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:754,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:755,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:757,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:758,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:767,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:771,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:772,1
    - Dst: BN_GF2m_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:772,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:774,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:783,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:785,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:758,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:759,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:762,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:770,1
    - Dst: BN_GF2m_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:770,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:782,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 787
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 787
    functionName: test_gf2m_mod
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - BN_GF2m_mod
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - TEST_BN_eq_zero
    - BN_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_mod(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1516,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1515,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1518,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1521,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1524,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1525,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1528,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1554,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1576,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1582,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1585,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1587,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1516,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1518,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1519,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1527,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1536,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1540,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1541,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1546,1
    - Dst: BN_mod_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1557,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1564,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1572,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1583,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1571,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1588,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1575,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1574,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1515,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1517,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1519,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1520,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1524,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1528,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1537,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1538,1
    - Dst: BN_div_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1543,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1550,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1586,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1517,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1521,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1520,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1527,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1526,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1529,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1541,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1560,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1572,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1573,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1574,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1584,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1575,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 111
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1590
    functionName: file_quotient
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_mod_word
    - equalBN
    - assert
    - BN_div_word
    - TEST_ptr
    - BN_copy
    - BN_div
    - BN_new
    - TEST_true
    - BN_is_negative
    - getBN
    - BN_mul
    - BN_get_word
    - BN_free
    - TEST_error
    - BN_nnmod
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'static int file_quotient(STANZA *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2084,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2088,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2084,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2089,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2088,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2089,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2090,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2090,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2091,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2092,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2093,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2095,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2096,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2101,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2092,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2095,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2094,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2093,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2103
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2103
    functionName: test_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_rand
    - TEST_BN_eq_one
    - TEST_BN_eq_word
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_free
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_rand(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2458,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2458,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2462,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2462,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2463,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2463,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2472
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2472
    functionName: test_is_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_set_word
    - BN_free
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: 'static int test_is_prime(int i) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3125,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3139,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3147,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3155,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3149,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3159,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3171,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3175,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3179,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3180,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3172,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3181,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3169,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3164,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3181,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3137,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3143,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3139,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3145,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3146,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3148,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3150,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3152,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3156,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3157,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3162,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3178,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3160,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3145,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3146,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3151,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3153,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3157,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3161,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3165,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3170,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3173,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3177,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3163,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3184,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3186,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3178,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3144,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3154,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3158,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3167,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3174,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3180,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3182,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3177,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3189
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3189
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ADD_TEST
    - ADD_ALL_TESTS
    - BN_CTX_new
    - test_get_argument_count
    - OSSL_NELEM
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1124,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1125,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1140,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1143,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1156,1
    - Dst: BN_mod_exp_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1158,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1160,1
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1162,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1164,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1169,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1189,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1122,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1125,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1138,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1145,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1148,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1140,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1151,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1153,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1167,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1169,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1182,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1122,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1123,1
    - Dst: rand_neg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1145,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1143,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1158,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1190,1
    - Dst: BN_kronecker
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1176,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1188,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1123,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1124,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1138,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1148,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1151,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1167,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1179,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1179,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1191,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1170,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1193
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1193
    functionName: test_kronecker
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - BN_is_zero
    - BN_is_word
    - BN_mod_exp_recp
    - rand_neg
    - BN_set_negative
    - BN_copy
    - TEST_true
    - BN_rshift1
    - TEST_info
    - TEST_int_ge
    - BN_generate_prime_ex
    - BN_ucmp
    - TEST_int_eq
    - BN_sub_word
    - BN_add_word
    - TEST_ptr
    - BN_new
    - BN_kronecker
    - BN_is_negative
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kronecker(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1386,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1387,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1388,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1387,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1386,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1388,1
    - Dst: getint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1389,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1392,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1392,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1393,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1398,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1399,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1406,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1405,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1398,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1407,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1409
    functionName: file_rshift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - getint
    - equalBN
    - TEST_ptr
    - BN_new
    - TEST_true
    - BN_rshift1
    - BN_rshift
    - getBN
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int file_rshift(STANZA *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1598,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1600,1
    - Dst: BN_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1604,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1608,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1620,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1622,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1627,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1636,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1640,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1597,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1597,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1598,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1600,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1601,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1611,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1615,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1616,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1617,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1618,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1599,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1601,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1605,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1604,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1620,1
    - Dst: BN_from_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1622,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1629,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1638,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1639,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1599,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1615,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1610,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1612,1
    - Dst: BN_nnmod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1616,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1617,1
    - Dst: BN_to_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1618,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1619,1
    - Dst: BN_to_montgomery
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1619,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1623,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1628,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1637,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1642
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1642
    functionName: file_modmul
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - equalBN
    - BN_mod_mul_montgomery
    - BN_MONT_CTX_free
    - TEST_ptr
    - BN_from_montgomery
    - BN_new
    - TEST_true
    - BN_MONT_CTX_set
    - BN_mod_mul
    - getBN
    - BN_MONT_CTX_new
    - BN_free
    - BN_to_montgomery
    - BN_nnmod
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: 'static int file_modmul(STANZA *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1704,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1706,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1705,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1705,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1704,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1706,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1707,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1707,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1710,1
    - Dst: BN_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1710,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1711,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1717,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1716,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1719,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1718,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: file_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - equalBN
    - TEST_ptr
    - BN_new
    - TEST_true
    - getBN
    - BN_free
    - BN_exp
    linkageType: ''
    returnType: int
    signature: 'static int file_exp(STANZA *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1851,1
    - Dst: parsedecBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1851,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1852,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1856,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1863,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1876,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1883,1
    - Dst: TEST_BN_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1887,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1889,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1896,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1904,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1892,1
    - Dst: parsedecBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1892,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1853,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1864,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1884,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1893,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1898,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1901,1
    - Dst: parsedecBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1901,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1902,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1906,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1886,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1854,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1868,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1872,1
    - Dst: parsedecBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1871,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1871,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1865,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1874,1
    - Dst: parsedecBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1881,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1885,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1894,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1895,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1903,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1882,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1905,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1855,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1858,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1861,1
    - Dst: parsedecBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1861,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1866,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1862,1
    - Dst: TEST_BN_lt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1873,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1875,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1878,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1881,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1911,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 121
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1913
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1913
    functionName: test_dec2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_BN_lt_zero
    - TEST_BN_eq_word
    - TEST_int_eq
    - TEST_BN_le_zero
    - TEST_BN_even
    - TEST_BN_odd
    - TEST_BN_eq_zero
    - BN_free
    - TEST_BN_ne_zero
    - TEST_BN_eq_one
    - TEST_BN_abs_eq_word
    - TEST_BN_ge_zero
    - TEST_BN_gt_zero
    - parsedecBN
    linkageType: ''
    returnType: int
    signature: 'static int test_dec2bn(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2831,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2829,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2850,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2829,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2830,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2832,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2838,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2841,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2847,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2841,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2851,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2831,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2838,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2848,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2830,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2832,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2835,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2835,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2841,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2849,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2853
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2853
    functionName: test_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_int_eq
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - BN_new
    - BN_bn2dec
    - BN_dec2bn
    - BN_free
    - BN_mod_exp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_exp(int i) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2906,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2907,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2912,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2918,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2929,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2933,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2905,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2907,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2908,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2915,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2914,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2913,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2930,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2904,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2905,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2908,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2909,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2912,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2921,1
    - Dst: BN_mod_exp2_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2921,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2931,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2904,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2906,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2909,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2914,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2913,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2915,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2928,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2932,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2935
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2935
    functionName: test_mod_exp2_mont
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - BN_new
    - BN_zero
    - BN_mod_exp2_mont
    - BN_free
    - BN_one
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_exp2_mont(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1071,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1074,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1082,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1088,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1088,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1091,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1109,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1069,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1071,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1070,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1072,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1090,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1108,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1091,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1102,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1069,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1070,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1072,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1073,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1078,1
    - Dst: BN_GF2m_mod_solve_quad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1085,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1078,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1082,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1089,1
    - Dst: BN_GF2m_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1090,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1111,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1073,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1074,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1077,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1077,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1089,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1096,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1101,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1107,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1110,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1112,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1114
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1114
    functionName: test_gf2m_modsolvequad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - BN_GF2m_mod
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - BN_GF2m_mod_solve_quad
    - TEST_info
    - TEST_BN_eq_zero
    - TEST_int_ge
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_modsolvequad(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1212,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1234,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1246,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1271,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1277,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1297,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1202,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1211,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1221,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1236,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1248,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1264,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1270,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1273,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1284,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1266,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1201,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1223,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1251,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1289,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1246,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1233,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1204,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1209,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1276,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1204,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1207,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1223,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1232,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1251,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1266,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1275,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1286,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1220,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1209,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1247,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1287,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1265,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1235,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1249,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1222,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1228,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1272,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1267,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1224,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1230,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1260,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1300,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1202,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1237,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1249,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1274,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1289,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1224,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1230,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1233,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1267,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1269,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1210,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1226,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1299,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1252,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1236,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1203,1
    - Dst: BN_usub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1273,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1226,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1235,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1263,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1269,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1272,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1288,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1260,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1246,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1291,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1298,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1262,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1232,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1268,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1208,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1225,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1231,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1275,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1285,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1286,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1264,1
    - Dst: BN_uadd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1247,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1201,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1220,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1211,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1221,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1270,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1287,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 233
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1302
    functionName: file_sum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_sub_word
    - equalBN
    - BN_add_word
    - TEST_ptr
    - BN_copy
    - BN_new
    - TEST_true
    - BN_usub
    - BN_is_negative
    - getBN
    - BN_get_word
    - BN_free
    - BN_sub
    - BN_add
    - BN_uadd
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int file_sum(STANZA *s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1417,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1418,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1425,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1429,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1426,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1427,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1443,1
    - Dst: BN_sqrt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1454,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1464,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1466,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1419,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1420,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1428,1
    - Dst: BN_sqrt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1436,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1441,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1445,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1449,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1452,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1452,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1456,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1462,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1467,1
    - Dst: BN_sqrt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1447,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1417,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1420,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1421,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1424,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1427,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1431,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1442,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1443,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1447,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1454,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1465,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1418,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1421,1
    - Dst: BN_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1425,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1430,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1436,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1437,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1442,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1451,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1463,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1469
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1469
    functionName: file_square
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_sqrt
    - ERR_clear_error
    - equalBN
    - TEST_ptr
    - BN_set_negative
    - BN_div
    - BN_new
    - TEST_true
    - BN_copy
    - TEST_int_eq
    - BN_value_one
    - BN_zero
    - getBN
    - BN_mul
    - TEST_BN_eq_zero
    - BN_free
    - BN_sqr
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'static int file_square(STANZA *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1652,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1655,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1658,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1663,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1664,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1659,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1673,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1682,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1688,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1692,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1651,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1650,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1653,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1665,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1681,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1689,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1693,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1694,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1650,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1651,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1653,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1654,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1658,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1662,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1663,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1667,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1674,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1682,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1690,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1652,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1654,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1655,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1665,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1672,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1681,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1683,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1691,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1695,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1697
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1697
    functionName: file_modexp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - BN_mod_exp_mont
    - equalBN
    - TEST_ptr
    - BN_new
    - TEST_true
    - getBN
    - BN_mul
    - BN_free
    - BN_mod_exp_mont_consttime
    - BN_mod_exp
    - TEST_BN_eq
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: 'static int file_modexp(STANZA *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1730,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1731,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1735,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1745,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1746,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1757,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1729,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1731,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1732,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1737,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1751,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1750,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1758,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1728,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1729,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1728,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1732,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1746,1
    - Dst: BN_mod_sqrt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1745,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1759,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1730,1
    - Dst: BN_mod_sqrt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1737,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1756,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1760,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1762
    functionName: file_modsqrt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - equalBN
    - TEST_ptr
    - BN_new
    - TEST_true
    - BN_mod_sqrt
    - BN_is_negative
    - getBN
    - BN_free
    - TEST_ptr_null
    - BN_sub
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int file_modsqrt(STANZA *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1929,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1933,1
    - Dst: TEST_BN_lt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1940,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1951,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1962,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1969,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1977,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1972,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1960,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1921,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1930,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1941,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1952,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1959,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1961,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1970,1
    - Dst: parseBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1967,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1967,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1922,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1925,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1928,1
    - Dst: parseBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1928,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1931,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1942,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1945,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1948,1
    - Dst: parseBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1948,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1949,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1968,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1920,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1923,1
    - Dst: parseBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1920,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1939,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1938,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1932,1
    - Dst: parseBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1938,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1935,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1943,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1950,1
    - Dst: TEST_BN_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1953,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1955,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1964,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1958,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1971,1
    - Dst: parseBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1958,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 112
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1979
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1979
    functionName: test_hex2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_BN_lt_zero
    - parseBN
    - TEST_BN_eq_word
    - TEST_int_eq
    - TEST_BN_even
    - TEST_BN_le_zero
    - TEST_BN_odd
    - TEST_BN_eq_zero
    - BN_free
    - TEST_BN_ne_zero
    - TEST_BN_abs_eq_word
    - TEST_BN_ge_zero
    - TEST_BN_gt_zero
    linkageType: ''
    returnType: int
    signature: 'static int test_hex2bn(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2482,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2487,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2482,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2486,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2486,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2487,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2495
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2495
    functionName: test_not_prime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_set_word
    - BN_free
    - BN_check_prime
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_not_prime(int i) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2864,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2866,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2869,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2871,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2886,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2865,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2863,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2876,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2879,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2879,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2887,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2863,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2864,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2866,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2876,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2888,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2865,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2870,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2873,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2879,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2873,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2885,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2889,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2891
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2891
    functionName: test_mod_exp_consttime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - BN_new
    - BN_bn2dec
    - BN_dec2bn
    - BN_free
    - BN_mod_exp
    - BN_set_flags
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_exp_consttime(int i) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2945,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2947,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2947,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2949,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2945,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2949,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2951,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2951,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2953,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2953,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2959,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2965,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2967,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2968,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2955,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2955,1
    - Dst: BN_mod_inverse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2959,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2966,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2970
      start: 2937
    functionDepth: 0
    functionLinenumber: 2937
    functionLinenumberEnd: 2970
    functionName: test_mod_inverse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - strcmp
    - BN_new
    - TEST_true
    - OPENSSL_free
    - BN_bn2dec
    - BN_mod_inverse
    - BN_dec2bn
    - BN_free
    - TEST_ptr_null
    - TEST_ptr_eq
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_inverse(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2983,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2987,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3001,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3004,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3022,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3034,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3031,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2981,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2985,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2985,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2990,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2993,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2995,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3007,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2998,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3009,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2983,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3017,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3017,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3022,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3024,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3032,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3012,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2981,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2987,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3007,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2993,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3033,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3020,1
    - Dst: BN_mod_exp_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3020,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3035,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 60
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3037
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 3037
    functionName: test_mod_exp_alias
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - BN_new
    - TEST_true
    - BN_copy
    - BN_bn2dec
    - BN_dec2bn
    - BN_mod_exp_recp
    - BN_mod_exp_simple
    - BN_free
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_exp_alias(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2503,1
    - Dst: BN_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2508,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2505,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2504,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2505,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 2515
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2515
    functionName: test_ctx_set_ct_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - TEST_ptr
    - BN_CTX_start
    - OSSL_NELEM
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: 'static int test_ctx_set_ct_flag(BN_CTX *c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findattr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:96,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:102,1
    - Dst: parseBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:101,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:101,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - s
    - attribute
    argTypes:
    - STANZA*
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: getBN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - strlen
    - parseBN
    - findattr
    - TEST_error
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *getBN(STANZA *s, const char *attribute) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: rand_neg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rand_neg(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:313,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:321,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:317,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: set_signed_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_set_word
    - BN_new
    - BN_set_negative
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *set_signed_bn(int value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:978,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:982,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:981,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:991,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:992,1
    - Dst: BN_GF2m_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:996,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:998,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1000,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1010,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1011,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1013,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:977,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:978,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:976,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:979,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:990,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:982,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:986,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:986,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:997,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:999,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1008,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:976,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:977,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:979,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:980,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:985,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:985,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:991,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:992,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:998,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1000,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1012,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1014,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1009,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:980,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:981,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:990,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:995,1
    - Dst: BN_GF2m_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:995,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:996,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:997,1
    - Dst: BN_GF2m_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:999,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1002,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 84
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1016
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1016
    functionName: test_gf2m_modexp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - BN_GF2m_mod_exp
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - BN_GF2m_mod_mul
    - TEST_BN_eq_zero
    - BN_free
    - BN_add
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_modexp(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1314,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1320,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1323,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1325,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1327,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1328,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1331,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1332,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1337,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1310,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1311,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1312,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1321,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1326,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1330,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1340,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1347,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1350,1
    - Dst: BN_set_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1337,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1351,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1338,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1312,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1313,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1315,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1318,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1320,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1322,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1323,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1325,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1328,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1332,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1340,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1346,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1341,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1348,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1310,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1313,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1314,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1315,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1321,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1324,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1329,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1330,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1333,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1339,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1349,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1338,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 103
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1354
    functionName: file_lshift1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_set_bit
    - equalBN
    - TEST_ptr
    - BN_lshift1
    - BN_div
    - BN_new
    - TEST_true
    - BN_rshift1
    - BN_zero
    - getBN
    - BN_set_word
    - BN_mul
    - BN_free
    - BN_add
    linkageType: ''
    returnType: int
    signature: 'static int file_lshift1(STANZA *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1769,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1771,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1770,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1769,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1770,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1771,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1772,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1772,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1775,1
    - Dst: BN_gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1775,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1776,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1781,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1782,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1784,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1783,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1786
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1786
    functionName: file_gcd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - equalBN
    - TEST_ptr
    - BN_new
    - TEST_true
    - getBN
    - BN_free
    - BN_gcd
    linkageType: ''
    returnType: int
    signature: 'static int file_gcd(STANZA *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2139,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2141,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2140,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2140,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2139,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2141,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2142,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2142,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2145,1
    - Dst: BN_rand_range
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2145,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2158,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2166,1
    - Dst: TEST_uint_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2146,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2168,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2159,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2167,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2146,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2170
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2170
    functionName: test_rand_range_single
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_rand_range
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - BN_new
    - OPENSSL_zalloc
    - TEST_uint_lt
    - TEST_info
    - BN_get_word
    - BN_set_word
    - BN_free
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_range_single(size_t n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2405,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2409,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2409,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2405,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2413,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2413,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2415,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2415,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - kBits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2423
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2423
    functionName: test_smallprime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - BN_new
    - BN_num_bits
    - BN_free
    - BN_generate_prime_ex
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_smallprime(int kBits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:114,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:121,1
    - Dst: TEST_ulong_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:115,1
    - Dst: BN_get_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:115,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - s
    - out
    - attribute
    argTypes:
    - STANZA*
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: getint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ulong_le
    - TEST_ptr
    - getBN
    - BN_get_word
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int getint(STANZA *s, int *out, const char *attribute) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:330,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:330,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:332,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:331,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:331,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:332,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:333,1
    - Dst: set_signed_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:336,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:336,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:337,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:342,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:338,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:344,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:341,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:343,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: test_signed_mod_replace_ab
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - set_signed_bn
    - TEST_ptr
    - BN_div
    - TEST_true
    - BN_free
    - TEST_BN_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_signed_mod_replace_ab(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1025,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1024,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1026,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1027,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1030,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1038,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1045,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1053,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1055,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1059,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1024,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1025,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1027,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1028,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1043,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1044,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1047,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1054,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1028,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1034,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1029,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1034,1
    - Dst: BN_bntest_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1038,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1045,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1057,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1026,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1030,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1033,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1033,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1029,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1042,1
    - Dst: BN_GF2m_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1042,1
    - Dst: BN_GF2m_mod_sqrt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1043,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1044,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1056,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1058,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1061
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1061
    functionName: test_gf2m_modsqrt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - BN_GF2m_mod
    - BN_GF2m_arr2poly
    - TEST_true
    - BN_new
    - BN_GF2m_mod_sqrt
    - TEST_BN_eq_zero
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int test_gf2m_modsqrt(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1361,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1361,1
    - Dst: getBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1362,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1362,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1363,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1363,1
    - Dst: getint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1364,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1367,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1367,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1369,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1369,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1376,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1377,1
    - Dst: equalBN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1370,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1375,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1379
    functionName: file_lshift
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - getint
    - equalBN
    - TEST_ptr
    - BN_new
    - TEST_true
    - BN_rshift
    - getBN
    - BN_free
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: 'static int file_lshift(STANZA *s) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1796,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1796,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1811,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1817,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1820,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1820,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1817,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1824,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1829,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1798,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1798,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1801,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1801,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1803,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1814,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1814,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1827,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1835,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1842,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1804,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1813,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1813,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1811,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1823,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1823,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1833,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1800,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1827,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1828,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1832,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:1832,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 70
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1844
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1844
    functionName: test_bn2padded
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_rand
    - TEST_mem_eq
    - BN_num_bytes
    - TEST_int_eq
    - TEST_ptr
    - BN_new
    - BN_bn2binpad
    - TEST_true
    - BN_bn2bin
    - BN_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_bn2padded(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2177,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2181,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2179,1
    - Dst: test_rand_range_single
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2183
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2183
    functionName: test_rand_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - test_rand_range_single
    - OSSL_NELEM
    - TEST_int_ge
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_range(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2430,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2430,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2434,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2438,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2434,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2438,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2440,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2440,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2446,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - kBits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2448
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2448
    functionName: test_smallsafeprime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - BN_new
    - BN_num_bits
    - BN_free
    - BN_generate_prime_ex
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_smallsafeprime(int kBits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2523,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2524,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2525,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2525,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2527,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2527,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:2533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 2535
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2535
    functionName: test_ctx_check_ct_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_get_flags
    - TEST_ptr
    - BN_CTX_start
    - OSSL_NELEM
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_ctx_check_ct_flag(BN_CTX *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:127,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:131,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - op
    - expected
    - actual
    argTypes:
    - char*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: equalBN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - TEST_BN_eq
    - TEST_error
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int equalBN(const char *op, const BIGNUM *expected, const BIGNUM
      *actual) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c:3193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3194
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3194
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bntest.c
    functionUses: []
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: cookie_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cookie_gen(SSL *ssl, unsigned char *cookie, unsigned int
      *cookie_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:353,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: cookie_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cookie_verify(SSL *ssl, const unsigned char *cookie, unsigned
      int cookie_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:300,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:307,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:315,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:308,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:313,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:324,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:325,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:345,1
    - Dst: BIO_ADDR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:301,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:300,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:304,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:342,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:301,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:303,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:310,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:308,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:319,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:321,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:328,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:332,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:335,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:343,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:300,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:307,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:308,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:313,1
    - Dst: DTLSv1_listen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:319,1
    - Dst: SSL_set0_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:316,1
    - Dst: SSL_set0_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:337,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c:344,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 347
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 347
    functionName: dtls_listen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlsv1listentest.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_ADDR_new
    - BIO_set_mem_eof_return
    - BIO_s_mem
    - BIO_get_mem_data
    - BIO_new
    - SSL_new
    - SSL_set0_wbio
    - DTLS_server_method
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - SSL_CTX_set_cookie_verify_cb
    - TEST_int_ge
    - BIO_new_mem_buf
    - TEST_int_eq
    - SSL_set0_rbio
    - SSL_CTX_free
    - BIO_reset
    - SSL_CTX_set_cookie_generate_cb
    - SSL_free
    - TEST_ptr
    - SSL_CTX_new
    - DTLSv1_listen
    linkageType: ''
    returnType: int
    signature: 'static int dtls_listen_test(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:124,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:124,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:127,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:129,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:128,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - name
    - bn
    - hexbn
    argTypes:
    - char*
    - BIGNUM*
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: check_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - TEST_true
    - BN_free
    - TEST_error
    - TEST_BN_eq
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int check_bn(const char *name, const BIGNUM *bn, const char
      *hexbn) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SRP_create_verifier_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:50,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:60,1
    - Dst: SRP_Verify_B_mod_N
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:70,1
    - Dst: SRP_Verify_A_mod_N
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:84,1
    - Dst: SRP_Calc_client_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:92,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:97,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:108,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:114,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:56,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:57,1
    - Dst: SRP_Calc_B
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:67,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:75,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:76,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:78,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:82,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:93,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:105,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:109,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:112,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:54,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:50,1
    - Dst: SRP_get_default_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:46,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:61,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:62,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:84,1
    - Dst: SRP_Calc_server_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:96,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:106,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:113,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:46,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:55,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:74,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:68,1
    - Dst: SRP_Calc_A
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:81,1
    - Dst: SRP_Calc_u
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:88,1
    - Dst: SRP_Calc_x
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:91,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:99,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:107,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:111,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:110,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 3
    argNames:
    - username
    - client_pass
    - server_pass
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 117
    functionName: run_srp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c
    functionUses: []
    functionsReached:
    - SRP_Calc_u
    - SRP_Calc_server_key
    - RAND_bytes
    - SRP_create_verifier_BN
    - SRP_Calc_A
    - SRP_get_default_gN
    - SRP_Verify_A_mod_N
    - TEST_true
    - SRP_Calc_client_key
    - TEST_BN_ne_zero
    - BN_bin2bn
    - BN_clear_free
    - TEST_BN_eq
    - SRP_Verify_B_mod_N
    - SRP_Calc_x
    - TEST_ptr
    - SRP_Calc_B
    - BN_free
    - test_output_bignum
    linkageType: ''
    returnType: int
    signature: 'static int run_srp(const char *username, const char *client_pass,
      const char *server_pass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:275,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:278,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - printf
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:259,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:264,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:265,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:260,1
    - Dst: run_srp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:260,1
    - Dst: run_srp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: run_srp_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c
    functionUses: []
    functionsReached:
    - TEST_false
    - run_srp
    - TEST_true
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int run_srp_tests(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:159,1
    - Dst: check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:160,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:167,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:170,1
    - Dst: SRP_Calc_B
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:174,1
    - Dst: SRP_Calc_client_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:216,1
    - Dst: SRP_Calc_server_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:228,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:229,1
    - Dst: check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:230,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:237,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:245,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:246,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:251,1
    - Dst: check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:210,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:217,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:155,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:179,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:198,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:210,1
    - Dst: SRP_Calc_x
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:218,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:225,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:247,1
    - Dst: SRP_get_default_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:151,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:160,1
    - Dst: SRP_Calc_A
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:193,1
    - Dst: SRP_Calc_u
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:208,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:230,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:244,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:250,1
    - Dst: check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:218,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:248,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:151,1
    - Dst: SRP_create_verifier_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:155,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:178,1
    - Dst: check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:179,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:186,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:189,1
    - Dst: SRP_Verify_B_mod_N
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:175,1
    - Dst: SRP_Verify_A_mod_N
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:194,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:197,1
    - Dst: check_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:198,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:205,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:243,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:249,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c:242,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 254
    functionName: run_srp_kat
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/srptest.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - SRP_get_default_gN
    - SRP_Verify_B_mod_N
    - SRP_Calc_u
    - SRP_Calc_server_key
    - SRP_Calc_x
    - TEST_ptr
    - SRP_Verify_A_mod_N
    - TEST_true
    - TEST_info
    - SRP_Calc_client_key
    - SRP_create_verifier_BN
    - SRP_Calc_B
    - BN_free
    - SRP_Calc_A
    - BN_clear_free
    - check_bn
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int run_srp_kat(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:26,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SRV_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_SRV_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_SRV_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:57,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    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(X509)**
    - STACK_OF(X509)**
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: process_cert_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKISI*
    signature: 'static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,
      const OSSL_CMP_MSG *cert_req, int certReqId, const OSSL_CRMF_MSG *crm, const
      X509_REQ *p10cr, X509 **certOut, STACK_OF(X509) **chainOut, STACK_OF(X509) **caPubs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:75,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:79,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:79,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:83,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:84,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:85,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:88,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:71,1
    - Dst: OSSL_CMP_SRV_CTX_set_send_unprotected_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:82,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:88,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:91,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:96,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:96,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:107,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:106,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:72,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:71,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:75,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:78,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:83,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:84,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:85,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:95,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:98,1
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:78,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:82,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:95,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:99,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:99,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SRV_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 109
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 109
    functionName: execute_test_handle_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_server_perform
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - OSSL_CMP_CTX_new
    - OSSL_CMP_CTX_set1_secretValue
    - ERR_PACK
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - strcmp
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    - TEST_true
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_SRV_CTX_init
    - TEST_int_eq
    - OSSL_CMP_CTX_free
    - OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    - TEST_ptr
    - OSSL_CMP_MSG_free
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - ASN1_INTEGER_get
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: int
    signature: 'static int execute_test_handle_request(CMP_SRV_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:122,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:124,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:125,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_CMP_MSG_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:34,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:37,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:34,1
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:37,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c
    functionUses: []
    functionsReached:
    - tear_down
    - TEST_ptr
    - OSSL_CMP_SRV_CTX_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CMP_SRV_TEST_FIXTURE*
    signature: 'static CMP_SRV_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:113,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: test_handle_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_handle_request(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:142,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:138,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:142,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:143,1
    - Dst: test_arg_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:147,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:150,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:150,1
    - Dst: cleanup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:151,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_server_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - cleanup_tests
    - TEST_ptr
    - load_pkimsg
    - ADD_TEST
    - test_get_argument
    - test_arg_libctx
    - TEST_error
    linkageType: ''
    returnType: OPT_TEST_DECLARE_USAGE(USAGE)
    signature: 'OPT_TEST_DECLARE_USAGE(USAGE) int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SPARSE_ARRAY_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:78,1
    - Dst: ossl_sa_char_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:83,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:83,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:82,1
    - Dst: ossl_sa_char_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:82,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:84,1
    - Dst: ossl_sa_char_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:84,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:87,1
    - Dst: ossl_sa_char_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:87,1
    - Dst: ossl_sa_char_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:88,1
    - Dst: ossl_sa_char_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:92,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:88,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 94
    functionName: test_sparse_array_num
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c
    functionUses: []
    functionsReached:
    - ossl_sa_char_set
    - SPARSE_ARRAY_OF
    - TEST_ptr
    - ossl_sa_char_new
    - TEST_true
    - ossl_sa_char_free
    - ossl_sa_char_num
    - OSSL_NELEM
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_sparse_array_num(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:134,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:139,1
    - Dst: ossl_sa_char_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - n
    - value
    - arg
    argTypes:
    - ossl_uintmax_t
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: leaf_delete
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c
    functionUses: []
    functionsReached:
    - ossl_sa_char_set
    - strcmp
    - TEST_error
    linkageType: ''
    returnType: void
    signature: 'static void leaf_delete(ossl_uintmax_t n, char *value, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SPARSE_ARRAY_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:38,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:42,1
    - Dst: ossl_sa_char_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:42,1
    - Dst: ossl_sa_char_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:43,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:43,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:44,1
    - Dst: ossl_sa_char_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:44,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:45,1
    - Dst: ossl_sa_char_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:45,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:48,1
    - Dst: ossl_sa_char_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:54,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:55,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:50,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:49,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:54,1
    - Dst: ossl_sa_char_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:62,1
    - Dst: ossl_sa_char_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:49,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: test_sparse_array
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c
    functionUses: []
    functionsReached:
    - ossl_sa_char_set
    - SPARSE_ARRAY_OF
    - ossl_sa_char_get
    - TEST_str_eq
    - TEST_ptr
    - ossl_sa_char_new
    - TEST_true
    - ossl_sa_char_free
    - OSSL_NELEM
    - TEST_ptr_null
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_sparse_array(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:119,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:123,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - n
    - value
    - arg
    argTypes:
    - ossl_uintmax_t
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: leaf_check_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - TEST_error
    linkageType: ''
    returnType: void
    signature: 'static void leaf_check_all(ossl_uintmax_t n, char *value, void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SPARSE_ARRAY_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:151,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:156,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:160,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:154,1
    - Dst: ossl_sa_char_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:154,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:161,1
    - Dst: ossl_sa_char_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:161,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:162,1
    - Dst: ossl_sa_char_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:166,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:168,1
    - Dst: ossl_sa_char_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:186,1
    - Dst: ossl_sa_char_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:173,1
    - Dst: ossl_sa_char_doall_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:178,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:175,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:180,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 188
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 188
    functionName: test_sparse_array_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c
    functionUses: []
    functionsReached:
    - ossl_sa_char_set
    - SPARSE_ARRAY_OF
    - TEST_ptr
    - ossl_sa_char_new
    - TEST_true
    - TEST_info
    - ossl_sa_char_doall_arg
    - ossl_sa_char_free
    - OSSL_NELEM
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_sparse_array_doall(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:192,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:194,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sparse_array_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c
    functionUses: []
    functionsReached:
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:61,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:67,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:81,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:84,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:90,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:93,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:95,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:62,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:81,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:94,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:96,1
    - Dst: EVP_aes_192_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:71,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:84,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:85,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:93,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:95,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:100,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:101,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:75,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:86,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:94,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:96,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:107,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 1
    argNames:
    - keysize_idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 109
    functionName: test_afalg_aes_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - TEST_mem_eq
    - TEST_ptr
    - EVP_aes_192_cbc
    - TEST_int_eq
    - TEST_true
    - OPENSSL_cleanse
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex
    - EVP_aes_128_cbc
    - EVP_aes_256_cbc
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_afalg_aes_cbc(int keysize_idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:142,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:146,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:144,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - ENGINE_by_id
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_load_builtin_engines
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:131,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: global_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c
    functionUses: []
    functionsReached:
    - OPENSSL_init_crypto
    - ENGINE_load_builtin_engines
    linkageType: ''
    returnType: int
    signature: 'int global_init(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:117,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:117,1
    - Dst: ENGINE_get_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:119,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:120,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:123,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:124,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: test_pr16743
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/afalgtest.c
    functionUses: []
    functionsReached:
    - ENGINE_init
    - ENGINE_get_cipher
    - TEST_true
    - EVP_CIPHER_CTX_free
    - ENGINE_finish
    - EVP_CIPHER_CTX_new
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_pr16743(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:158,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:158,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:159,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:171,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:159,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:172,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:175,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:185,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:186,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:186,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:189,1
    - Dst: OSSL_HTTP_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:194,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:198,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:190,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:197,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:188,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:189,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:191,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - version
    - keep_alive
    - kept_alive
    argTypes:
    - char
    - int
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 200
    functionName: test_http_keep_alive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - TEST_int_eq
    - BIO_set_callback_arg
    - TEST_ptr
    - BIO_set_callback_ex
    - OSSL_HTTP_is_alive
    - BIO_s_mem
    - TEST_ptr_null
    - BIO_reset
    - OSSL_HTTP_close
    - OSSL_HTTP_transfer
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive(char version, int keep_alive, int
      kept_alive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:300,1
    - Dst: test_http_url_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: test_http_url_invalid_port
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_invalid
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_invalid_port(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: test_http_keep_alive_0_prefer_yes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_0_prefer_yes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: test_http_keep_alive_0_require_yes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_0_require_yes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: test_http_keep_alive_0_require_no
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_0_require_no(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:209,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:211,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:211,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:209,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:213,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:214,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:215,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:216,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:217,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:219,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:224,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:227,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:226,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:223,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:228,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:225,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:221,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 5
    argNames:
    - url
    - exp_ssl
    - exp_host
    - exp_port
    - exp_path
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: test_http_url_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - sscanf
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_ok(const char *url, int exp_ssl, const char
      *exp_host, const char *exp_port, const char *exp_path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: test_http_url_invalid_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_invalid
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_invalid_path(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: test_http_keep_alive_1_prefer_yes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_1_prefer_yes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: test_http_keep_alive_1_require_yes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_1_require_yes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: test_http_keep_alive_1_require_no
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_1_require_no(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:372,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:375,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:379,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:383,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:387,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:391,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:372,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:376,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:380,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:388,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:384,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:392,1
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:368,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:371,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:377,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:385,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:381,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:389,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:372,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:378,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:386,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:382,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - load_cert_pem
    - test_skip_common_options
    - TEST_ptr
    - ADD_TEST
    - test_get_argument
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:51,1
    - Dst: TEST_char_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:59,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:81,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:86,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:70,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:88,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:39,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:45,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:74,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:45,1
    - Dst: TEST_char_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:59,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:61,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:77,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:61,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:37,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:54,1
    - Dst: TEST_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:55,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:67,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:67,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:83,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:89,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:91,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:97,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 6
    argNames:
    - in
    - out
    - version
    - keep_alive
    - rsp
    - it
    argTypes:
    - BIO*
    - BIO*
    - char
    - int
    - ASN1_VALUE*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: mock_http_server
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - TEST_strn_eq
    - ASN1_item_i2d_bio
    - strchr
    - TEST_true
    - TEST_char_eq
    - strncmp
    - ASN1_item_i2d
    - TEST_char_le
    - BIO_get_mem_data
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int mock_http_server(BIO *in, BIO *out, char version, int keep_alive,
      ASN1_VALUE *rsp, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_path_query_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:254,1
    - Dst: test_http_url_path_query_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:256,1
    - Dst: test_http_url_path_query_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: test_http_url_path_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_path_query_ok
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_path_query(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: test_http_url_ipv4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_ipv4(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: test_http_url_userinfo_query_fragment
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_userinfo_query_fragment(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: test_http_url_ipv6
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_ipv6(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:104,1
    - Dst: mock_http_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 8
    argNames:
    - bio
    - oper
    - argp
    - len
    - cmd
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: http_bio_cb_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - BIO_get_callback_arg
    - mock_http_server
    linkageType: ''
    returnType: long
    signature: 'static long http_bio_cb_ex(BIO *bio, int oper, const char *argp, size_t
      len, int cmd, long argl, int ret, size_t *processed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:238,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:238,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:241,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:240,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:242,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - url
    - exp_path_qu
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: test_http_url_path_query_ok
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_parse_url
    - OPENSSL_free
    - TEST_true
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_path_query_ok(const char *url, const char
      *exp_path_qu) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:280,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:280,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:284,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:283,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:282,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:286,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:287,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: test_http_url_invalid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - TEST_false
    - OPENSSL_free
    - OSSL_HTTP_parse_url
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_invalid(const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_x509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: test_http_get_x509
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_x509
    linkageType: ''
    returnType: int
    signature: 'static int test_http_get_x509(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: test_http_keep_alive_0_no_no
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_0_no_no(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:119,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:127,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:145,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:136,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:149,1
    - Dst: d2i_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:143,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:116,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:115,1
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:118,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:126,1
    - Dst: OSSL_HTTP_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:130,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:144,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:150,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:152,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:115,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:145,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:151,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - do_get
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: test_http_x509
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_cmp
    - d2i_X509_bio
    - OSSL_HTTP_get
    - BIO_free
    - TEST_ptr
    - BIO_set_callback_arg
    - ASN1_item_i2d_mem_bio
    - TEST_int_eq
    - BIO_set_callback_ex
    - BIO_s_mem
    - OSSL_HTTP_transfer
    - BIO_new
    - sk_CONF_VALUE_pop_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int test_http_x509(int do_get) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: test_http_url_dns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_dns(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_invalid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: test_http_url_invalid_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_url_invalid
    linkageType: ''
    returnType: int
    signature: 'static int test_http_url_invalid_prefix(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_x509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: test_http_post_x509
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_x509
    linkageType: ''
    returnType: int
    signature: 'static int test_http_post_x509(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: test_http_keep_alive_1_no_no
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: 'static int test_http_keep_alive_1_no_no(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/http_test.c
    functionUses: []
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: pass_cb_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pass_cb_error(char *buf, int size, int rwflag, void *u) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:594,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:628,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:706,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:712,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:690,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:561,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:656,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:670,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:703,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:709,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:634,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:556,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:587,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:592,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:625,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:612,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:671,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:672,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:679,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:700,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:627,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:565,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:581,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:609,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:667,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:565,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:571,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:646,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:702,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:637,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:581,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:664,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:670,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:681,1
    - Dst: test_print_key_using_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:685,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:699,1
    - Dst: test_print_key_using_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:684,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:643,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:557,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:555,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:558,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:568,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:563,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:611,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:632,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:671,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:678,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:631,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:660,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:615,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:690,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:692,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:571,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:563,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:587,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:610,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:625,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:612,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:658,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:634,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:654,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:643,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:556,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:615,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:645,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:675,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:621,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:585,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:600,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:611,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:649,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:667,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:673,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:708,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:638,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:561,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:564,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:572,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:692,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:693,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:705,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:711,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:679,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:558,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:600,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:610,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:632,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:649,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:630,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:621,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:652,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:557,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:564,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:568,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:624,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:633,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:638,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:707,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:646,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:628,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:594,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:662,1
    - Dst: EVP_PKEY_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:672,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:673,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:704,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:710,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:620,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:629,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:648,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:555,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:572,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:609,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:678,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:701,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 237
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 715
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 715
    functionName: test_fromdata_dh_named_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_private_check
    - EVP_PKEY_get_utf8_string_param
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_get_int_param
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_long
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - TEST_true
    - EVP_PKEY_eq
    - BN_bin2bn
    - TEST_ptr_null
    - TEST_false
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_int_eq
    - EVP_PKEY_check
    - EVP_PKEY_dup
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_public_check
    - EVP_PKEY_new
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - test_print_key_using_encoder
    - EVP_PKEY_get_octet_string_param
    - TEST_int_gt
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_get_bits
    - BN_free
    - TEST_size_t_eq
    - test_print_key_using_pem
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int test_fromdata_dh_named_group(void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1293,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1346,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1329,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1308,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1285,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1369,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1303,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1324,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1338,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1317,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1342,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1291,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1300,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1365,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1232,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1287,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1301,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1376,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1234,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1258,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1265,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1268,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1272,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1301,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1311,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1342,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1291,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1355,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1299,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1307,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1271,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1280,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1344,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1302,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1306,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1378,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1299,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1375,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1357,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1321,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1339,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1281,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1284,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1372,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1238,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1265,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1272,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1319,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1278,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1290,1
    - Dst: test_print_key_using_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1349,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1357,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1377,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1271,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1279,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1374,1
    - Dst: test_print_key_using_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1350,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1285,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1295,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1308,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1315,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1358,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1371,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1253,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1255,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1266,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1300,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1303,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1328,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1368,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1255,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1257,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1295,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1278,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1302,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1311,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1299,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1373,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1234,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1249,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1263,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1279,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1281,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1355,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1370,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1284,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1293,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1367,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1307,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1306,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1232,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1266,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1280,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1312,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 199
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1380
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1380
    functionName: test_fromdata_ec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_get_utf8_string_param
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    - TEST_mem_eq
    - TEST_str_eq
    - EVP_PKEY_gettable_params
    - TEST_true
    - EVP_PKEY_eq
    - BN_bin2bn
    - TEST_ptr_null
    - TEST_false
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_int_eq
    - EVP_PKEY_dup
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_missing_parameters
    - EC_GROUP_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_new
    - OSSL_PARAM_BLD_new
    - OBJ_sn2nid
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - test_print_key_using_encoder
    - BN_new
    - EVP_PKEY_get_octet_string_param
    - OSSL_PARAM_locate_const
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_get_bits
    - BN_free
    - EC_GROUP_get_curve
    - test_print_key_using_pem
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int test_fromdata_ec(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: stripcr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void stripcr(char *buf, size_t *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:149,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:153,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:157,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:160,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:161,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:164,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:171,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:177,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:183,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:188,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:145,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:142,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:149,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:168,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:174,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:186,1
    - Dst: compare_with_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:190,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:192,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:194,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:142,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:149,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:157,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:160,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:163,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:171,1
    - Dst: compare_with_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:183,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:185,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:185,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:188,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:200,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:154,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:163,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:168,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:174,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:177,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:182,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:182,1
    - Dst: compare_with_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:190,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:192,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 81
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 202
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 202
    functionName: test_print_key_using_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - compare_with_file
    - PEM_write_bio_PrivateKey
    - BIO_free
    - TEST_ptr
    - PEM_write_bio_PrivateKey_traditional
    - TEST_true
    - PEM_write_bio_PKCS8PrivateKey
    - TEST_int_gt
    - EVP_PKEY_print_private
    - BIO_s_mem
    - TEST_false
    - PEM_write_bio_PKCS8PrivateKey_nid
    - PEM_write_bio_PUBKEY
    - BIO_new
    - EVP_aes_256_cbc
    linkageType: ''
    returnType: int
    signature: 'static int test_print_key_using_pem(const char *alg, const EVP_PKEY
      *pk) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:778,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:796,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:808,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:811,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:830,1
    - Dst: EVP_PKEY_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:856,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:857,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:842,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:817,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:826,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:812,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:829,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:770,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:771,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:787,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:793,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:832,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:799,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:870,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:871,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:786,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:794,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:795,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:805,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:851,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:838,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:880,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:886,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:776,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:779,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:821,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:859,1
    - Dst: test_print_key_using_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:863,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:877,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:883,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:773,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:805,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:815,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:856,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:888,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:772,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:779,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:783,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:793,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:816,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:810,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:821,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:807,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:879,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:885,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:846,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:833,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:794,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:813,1
    - Dst: test_print_key_using_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:862,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:868,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:882,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:804,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:836,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:770,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:783,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:855,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:878,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:884,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:840,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:776,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:814,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:854,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:811,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:808,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:855,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:771,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:796,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:817,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:851,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:780,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:780,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:813,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:833,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:857,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:854,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:787,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:848,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:820,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:868,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:870,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:889,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:826,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:815,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:772,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:773,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:778,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:786,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:795,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:830,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:844,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:799,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:881,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:887,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 201
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 892
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 892
    functionName: test_fromdata_dh_fips186_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_private_check
    - EVP_PKEY_get_utf8_string_param
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_int_param
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_long
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - TEST_true
    - EVP_PKEY_eq
    - BN_bin2bn
    - TEST_ptr_null
    - TEST_false
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_int_eq
    - EVP_PKEY_check
    - EVP_PKEY_dup
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_public_check
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - test_print_key_using_encoder
    - EVP_PKEY_get_octet_string_param
    - TEST_int_gt
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_get_bits
    - BN_free
    - test_print_key_using_pem
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int test_fromdata_dh_fips186_4(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1388,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1393,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1401,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1402,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1402,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1401,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1400,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1389,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1389,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1399,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1406,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1388,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1399,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1407,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1409,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1390,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1390,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1392,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1392,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1396,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1400,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1408,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1410,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1412
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1412
    functionName: test_ec_dup_no_operation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: int
    signature: 'static int test_ec_dup_no_operation(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1786,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1794,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1791,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1791,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1787,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1795,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1796,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1798,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1799,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1802,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1808,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1806,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1809,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1807,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1812
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1812
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1009,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1033,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1109,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1120,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1137,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1141,1
    - Dst: test_print_key_using_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1154,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1159,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1172,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1161,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1147,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1006,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1018,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1114,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1123,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1129,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1129,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1139,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1109,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1143,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1170,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1134,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1171,1
    - Dst: test_print_key_using_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1153,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1114,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1141,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1015,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1027,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1097,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1103,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1097,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1103,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1120,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1130,1
    - Dst: EVP_PKEY_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1130,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1131,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1169,1
    - Dst: test_print_key_using_encoder_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1151,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1162,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1131,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1112,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1137,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1159,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1024,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1036,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1081,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1082,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1096,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1104,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1104,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1105,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1096,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1105,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1106,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1112,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1143,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1117,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1139,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1161,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1145,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 148
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1175
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 1175
    functionName: test_fromdata_ecx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_private_check
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_octet_string
    - TEST_int_le
    - TEST_mem_eq
    - TEST_true
    - EVP_PKEY_eq
    - test_print_key_using_encoder_public
    - TEST_false
    - TEST_int_eq
    - EVP_PKEY_check
    - EVP_PKEY_dup
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_public_check
    - EVP_PKEY_new
    - TEST_ptr
    - test_print_key_using_encoder
    - EVP_PKEY_get_octet_string_param
    - TEST_int_gt
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_get_bits
    - test_print_key_using_pem
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int test_fromdata_ecx(int tst) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1567,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1569,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1583,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1588,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1638,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1597,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1617,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1667,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1674,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1709,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1574,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1581,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1590,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1596,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1605,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1652,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1656,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1686,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1688,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1706,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1711,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1609,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1614,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1703,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1712,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1570,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1586,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1593,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1666,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1700,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1570,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1614,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1597,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1645,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1609,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1603,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1623,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1663,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1669,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1705,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1633,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1586,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1596,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1604,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1616,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1677,1
    - Dst: test_print_key_using_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1681,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1688,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1689,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1702,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1642,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1575,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1620,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1699,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1632,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1571,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1660,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1666,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1696,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1571,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1575,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1590,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1603,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1620,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1642,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1654,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1658,1
    - Dst: EVP_PKEY_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1668,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1669,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1567,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1604,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1644,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1622,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1674,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1698,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1626,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1577,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1588,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1593,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1617,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1629,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1650,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1638,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1675,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1686,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1708,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1641,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1605,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1619,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1568,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1574,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1576,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1572,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1606,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1671,1
    - Dst: test_print_key_using_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1680,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1568,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1572,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1629,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1626,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1667,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1668,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1675,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1697,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1628,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1576,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1577,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1606,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1663,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1645,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1623,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1583,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1707,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1701,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1625,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1633,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1648,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1569,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1581,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1704,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1710,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 246
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1715
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1715
    functionName: test_fromdata_dsa_fips186_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_private_check
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - OSSL_PARAM_BLD_push_int
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_get_int_param
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    - TEST_true
    - EVP_PKEY_eq
    - BN_bin2bn
    - TEST_ptr_null
    - TEST_false
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_int_eq
    - EVP_PKEY_check
    - EVP_PKEY_dup
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_public_check
    - EVP_PKEY_new
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - test_print_key_using_encoder
    - EVP_PKEY_get_octet_string_param
    - TEST_int_gt
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_get_bits
    - BN_free
    - test_print_key_using_pem
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int test_fromdata_dsa_fips186_4(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:383,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:386,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:394,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:386,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:394,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:395,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:395,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:396,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:400,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:404,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:404,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:410,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:439,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:441,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:433,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:371,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:381,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:399,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:400,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:410,1
    - Dst: EVP_PKEY_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:405,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:411,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:413,1
    - Dst: test_print_key_using_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:417,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:425,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:434,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:442,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:422,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:440,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:405,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:374,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:373,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:372,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:375,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:376,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:377,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:396,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:406,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:433,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:435,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:406,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:443,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:424,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:422,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:438,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:370,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:380,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:387,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:393,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:387,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:393,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:383,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:403,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:403,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:411,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:434,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:424,1
    - Dst: test_print_key_using_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:416,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 107
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 446
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 446
    functionName: test_fromdata_rsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_private_check
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_copy_parameters
    - BN_set_word
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - TEST_true
    - EVP_PKEY_eq
    - TEST_false
    - TEST_BN_eq
    - OSSL_PARAM_ulong
    - TEST_int_eq
    - EVP_PKEY_check
    - EVP_PKEY_dup
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_public_check
    - EVP_PKEY_new
    - TEST_ptr
    - test_print_key_using_encoder
    - BN_new
    - TEST_int_gt
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_get_bits
    - BN_free
    - test_print_key_using_pem
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int test_fromdata_rsa(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1722,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1724,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1723,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1722,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1723,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1724,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1725,1
    - Dst: EVP_PKEY_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1725,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1726,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1726,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1734
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1734
    functionName: test_check_dsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - TEST_int_le
    - EVP_PKEY_private_check
    - TEST_ptr
    - EVP_PKEY_check
    - EVP_PKEY_public_check
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    linkageType: ''
    returnType: int
    signature: 'static int test_check_dsa(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:97,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:101,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:105,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:126,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:110,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:95,1
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:104,1
    - Dst: stripcr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:116,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:124,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:91,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:105,1
    - Dst: TEST_size_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:106,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:109,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:104,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:119,1
    - Dst: stripcr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:115,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:125,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 45
    argCount: 3
    argNames:
    - alg
    - type
    - membio
    argTypes:
    - char*
    - int
    - BIO*
    constantsTouched: []
    func_position:
      end: 128
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 128
    functionName: compare_with_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - stripcr
    - TEST_mem_eq
    - BIO_free
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - BIO_snprintf
    - TEST_int_gt
    - TEST_size_t_lt
    - BIO_reset
    - TEST_error
    - BIO_read_ex
    - BIO_eof
    - BIO_get_mem_data
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: 'static int compare_with_file(const char *alg, int type, BIO *membio) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:257,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:265,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:275,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:288,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:289,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:295,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:300,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:301,1
    - Dst: compare_with_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:303,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:308,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:210,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:266,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:276,1
    - Dst: compare_with_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:277,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:290,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:296,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:302,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:210,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:261,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:266,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:289,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:294,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:295,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:301,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:303,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:271,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:271,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:277,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:276,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:282,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:290,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:296,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:302,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:309,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 84
    argCount: 3
    argNames:
    - alg
    - type
    - pk
    argTypes:
    - char*
    - int
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 311
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 311
    functionName: test_print_key_type_using_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_to_bio
    - compare_with_file
    - BIO_free
    - OSSL_ENCODER_CTX_get_num_encoders
    - TEST_ptr
    - TEST_true
    - OSSL_ENCODER_CTX_set_passphrase
    - TEST_int_ne
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_free
    - BIO_s_mem
    - TEST_error
    - OSSL_ENCODER_CTX_new_for_pkey
    - TEST_false
    - BIO_new
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_print_key_type_using_encoder(const char *alg, int
      type, const EVP_PKEY *pk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1741,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1746,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1747,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1745,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1744,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1749,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - digest
    - key
    - keylen
    - salt
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1754
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1754
    functionName: do_construct_hkdf_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *do_construct_hkdf_params(char *digest, char *key,
      size_t keylen, char *salt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pass_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pass_cb(char *buf, int size, int rwflag, void *u) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_print_key_type_using_encoder
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: test_print_key_using_encoder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - test_print_key_type_using_encoder
    linkageType: ''
    returnType: int
    signature: 'static 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/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: test_print_key_using_encoder_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - test_print_key_type_using_encoder
    linkageType: ''
    returnType: int
    signature: 'static int test_print_key_using_encoder_public(const char *alg, const
      EVP_PKEY *pk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1421,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1426,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1439,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1422,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1422,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1434,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1432,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1440,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1421,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1434,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1432,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1441,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1423,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1423,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1425,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1425,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1429,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1433,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1438,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1433,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1444
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1444
    functionName: test_ec_dup_keygen_operation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - TEST_ptr_null
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: int
    signature: 'static int test_ec_dup_keygen_operation(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:472,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:474,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:476,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:479,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:478,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:485,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:492,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:496,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:475,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:479,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:477,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:480,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:480,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:481,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:481,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:484,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:489,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:471,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:476,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:483,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:490,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:494,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:497,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:472,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:471,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:473,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:474,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:477,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:475,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:478,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:484,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:491,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:495,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:493,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 499
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 499
    functionName: test_evp_pkey_get_bn_param_large
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    - TEST_true
    - BN_bin2bn
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_int_eq
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - BN_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_pkey_get_bn_param_large(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1764,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1769,1
    - Dst: do_construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1764,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1767,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1767,1
    - Dst: EVP_PKEY_derive_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1769,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1771,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1771,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1772,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1774,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1779,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1774,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1780,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c:1778,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1782
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1782
    functionName: test_evp_pkey_ctx_dup_kdf_fail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_provided_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_derive_init_ex
    - do_construct_hkdf_params
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - EVP_PKEY_derive
    - TEST_ptr_null
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - TEST_size_t_eq
    - EVP_PKEY_CTX_dup
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_pkey_ctx_dup_kdf_fail(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:50,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:55,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: atexit_handler
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c
    functionUses: []
    functionsReached:
    - fprintf
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void atexit_handler(void) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: sd_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:93,1
    - Dst: sd_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:99,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:110,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:125,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:143,1
    - Dst: myOPENSSL_version_major
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:158,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:161,1
    - Dst: myOPENSSL_atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:166,1
    - Dst: myDSO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:201,1
    - Dst: sd_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:206,1
    - Dst: __GLIBC_PREREQ
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:224,1
    - Dst: sd_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:242,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:186,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:214,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:85,1
    - Dst: myOPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:114,1
    - Dst: mySSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:132,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:140,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:134,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:145,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:150,1
    - Dst: myOPENSSL_version_patch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:160,1
    - Dst: myDSO_dsobyaddr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:196,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:231,1
    - Dst: sd_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:213,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:94,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:100,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:109,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:124,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:141,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:142,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:144,1
    - Dst: myOPENSSL_version_minor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:159,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:167,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:184,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:198,1
    - Dst: sd_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:84,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:115,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:126,1
    - Dst: myTLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:132,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:123,1
    - Dst: mySSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:137,1
    - Dst: myERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:149,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:185,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:207,1
    - Dst: sd_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:240,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 138
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 244
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 244
    functionName: test_lib
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c
    functionUses: []
    functionsReached:
    - sd_load
    - myERR_get_error
    - myOPENSSL_atexit
    - myDSO_free
    - __GLIBC_PREREQ
    - myOPENSSL_version_minor
    - myOPENSSL_version_patch
    - mySSL_CTX_new
    - myDSO_dsobyaddr
    - myOPENSSL_init_crypto
    - myOPENSSL_version_major
    - sd_sym
    - myTLS_method
    - sd_close
    - fprintf
    - mySSL_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_lib(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:258,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:266,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:268,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:270,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:264,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:272,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:275,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:282,1
    - Dst: test_lib
      Src: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c:287,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 291
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/shlibloadtest.c
    functionUses: []
    functionsReached:
    - fprintf
    - strcmp
    - test_lib
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_kdfbyname_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: get_kdfbyname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - get_kdfbyname_libctx
    linkageType: ''
    returnType: EVP_KDF_CTX*
    signature: 'static EVP_KDF_CTX *get_kdfbyname(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:69,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:71,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:73,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:72,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:72,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:73,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:74,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:76,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: test_kdf_tls1_prf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - construct_tls1_prf_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:181,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:185,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:184,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:184,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:185,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:187,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: test_kdf_tls1_prf_1byte_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - construct_tls1_prf_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf_1byte_seed(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:229,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:231,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:232,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:233,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:232,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:233,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:234,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:236,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: test_kdf_hkdf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_gettables
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: test_kdf_hkdf_gettables
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - do_kdf_hkdf_gettables
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_gettables(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:325,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:325,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:333,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:331,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:332,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:333,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 339
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 339
    functionName: test_kdf_hkdf_derive_set_params_fail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_free
    - TEST_int_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_derive_set_params_fail(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:372,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:372,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:379,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:376,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:378,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:380,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:380,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:385,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 387
    functionName: do_kdf_hkdf_set_invalid_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_int_eq
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int do_kdf_hkdf_set_invalid_param(const char *key, int type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_kdfbyname_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:580,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:590,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:564,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:563,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:567,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:589,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:581,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:567,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:588,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:591,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:557,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:561,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:557,1
    - Dst: construct_pbkdf1_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:570,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:579,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:580,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:587,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:582,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:581,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:582,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 593
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 593
    functionName: test_kdf_pbkdf1_key_too_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - construct_pbkdf1_params
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_skip
    - TEST_int_eq
    - get_kdfbyname_libctx
    - TEST_true
    - EVP_KDF_derive
    - OPENSSL_free
    - OSSL_PROVIDER_unload
    - EVP_KDF_CTX_set_params
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf1_key_too_long(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:90,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:91,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:89,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:91,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:93,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: test_kdf_tls1_prf_invalid_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - construct_tls1_prf_params
    - TEST_false
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf_invalid_digest(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:39,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:47,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:45,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:50,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:49,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:52,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - digest
    - secret
    - seed
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: construct_tls1_prf_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *construct_tls1_prf_params(const char *digest, const
      char *secret, const char *seed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:195,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:202,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:205,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:206,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:204,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:209,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:210,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:212,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - digest
    - key
    - keylen
    - salt
    - info
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: construct_hkdf_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *construct_hkdf_params(char *digest, char *key,
      size_t keylen, char *salt, char *info) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:250,1
    - Dst: EVP_KDF_CTX_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:259,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:260,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:268,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:264,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:254,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:255,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:271,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:277,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:267,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:267,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:271,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:265,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:277,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:254,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:282,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:250,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:260,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:276,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:281,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - expand_only
    - has_digest
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 284
    functionName: do_kdf_hkdf_gettables
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_get_params
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_size_t
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - OSSL_PARAM_locate_const
    - EVP_KDF_CTX_gettable_params
    - OSSL_PARAM_construct_end
    - TEST_size_t_eq
    - construct_hkdf_params
    linkageType: ''
    returnType: int
    signature: 'static int do_kdf_hkdf_gettables(int expand_only, int has_digest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_gettables
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: test_kdf_hkdf_gettables_expandonly
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - do_kdf_hkdf_gettables
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_gettables_expandonly(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:347,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:349,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:352,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:347,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:351,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:352,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:355,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:356,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:356,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 363
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 363
    functionName: test_kdf_hkdf_set_invalid_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_free
    - TEST_int_eq
    - TEST_ptr
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_set_invalid_mode(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:391,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:393,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:395,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: test_kdf_hkdf_set_ctx_param_fail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - do_kdf_hkdf_set_invalid_param
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_set_ctx_param_fail(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:598,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:605,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:607,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:606,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:604,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:608,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:609,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:611,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:612,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - pass
    - digest
    - salt
    - iter
    - mode
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int*
    - int*
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: construct_pbkdf2_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *construct_pbkdf2_params(char *pass, char *digest,
      char *salt, unsigned int *iter, int *mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:658,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:663,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:664,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:663,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:662,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:664,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:666,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:666,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:671,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 674
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 674
    functionName: test_kdf_pbkdf2_small_output
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2_small_output(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:839,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:844,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:844,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:843,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:846,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:846,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:851,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 854
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 854
    functionName: test_kdf_pbkdf2_invalid_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - TEST_false
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2_invalid_digest(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1121,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1133,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1127,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1131,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1129,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1135,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1136,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1137,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1138,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - digest
    - mac
    - key
    - keylen
    - salt
    - info
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1142
    functionName: construct_kbkdf_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *construct_kbkdf_params(char *digest, char *mac,
      unsigned char *key, size_t keylen, char *salt, char *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1482,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1485,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1490,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1491,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1491,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1490,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1474,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1479,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1485,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1486,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1486,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1487,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1487,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1471,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1481,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1492,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1477,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1476,1
    - Dst: fips_provider_version_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1489,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1494,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1496
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1496
    functionName: test_kdf_ss_kmac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - OSSL_PARAM_construct_size_t
    - TEST_ptr
    - TEST_int_eq
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_get_kdf_size
    - OSSL_PARAM_construct_end
    - TEST_size_t_eq
    - OSSL_PARAM_construct_octet_string
    - fips_provider_version_lt
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_ss_kmac(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:143,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:147,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:145,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:146,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:147,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:149,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: test_kdf_tls1_prf_1byte_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - construct_tls1_prf_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf_1byte_secret(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:740,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:744,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:747,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:745,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:745,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:747,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:752,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 755
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 755
    functionName: test_kdf_pbkdf2_small_iterations
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - TEST_false
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2_small_iterations(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1023,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1029,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1027,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1031,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1025,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1033,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1035,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1037,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1038,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1039,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1043,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1041,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1039,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1049
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1049
    functionName: test_kdf_kbkdf_6803_128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_6803_128(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1279,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1286,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1283,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1281,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1285,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1287,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1288,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1289,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1291,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1292,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1293,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1293,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1296,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1298
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1298
    functionName: test_kdf_kbkdf_8009_prf1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_8009_prf1(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1576,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1578,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1577,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1578,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1595,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1577,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1578,1
    - Dst: test_kdfs_same
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1580,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1582,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1587,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1576,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1578,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1595,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1588,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1587,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1584,1
    - Dst: test_kdfs_same
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1596,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1598,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1592,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1595,1
    - Dst: test_kdfs_same
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1589,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1588,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1600,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1604
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1604
    functionName: test_kdf_get_kdf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OBJ_nid2sn
    - OBJ_obj2nid
    - TEST_ptr
    - EVP_KDF_fetch
    - OBJ_nid2obj
    - test_kdfs_same
    - EVP_KDF_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_get_kdf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:161,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:166,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:164,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:165,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:165,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:166,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:167,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:167,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:169,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: test_kdf_tls1_prf_empty_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - construct_tls1_prf_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf_empty_seed(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:767,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:772,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:771,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:774,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:772,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:774,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:775,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:775,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:779,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:780,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:789,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:783,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:784,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:784,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:783,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:790,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 792
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 792
    functionName: test_kdf_pbkdf2_small_salt_pkcs5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2_small_salt_pkcs5(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1089,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1091,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1095,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1093,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1097,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1099,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1101,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1103,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1104,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1105,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1105,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1107,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1115
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1115
    functionName: test_kdf_kbkdf_6803_256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_6803_256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1323,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1329,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1330,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1325,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1327,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1331,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1332,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1333,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1335,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1336,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1338,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1340,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1337,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1342
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1342
    functionName: test_kdf_kbkdf_8009_prf2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_8009_prf2(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1684,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1683,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1687,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1690,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1694,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1698,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1702,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1706,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1710,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1714,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1720,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1681,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1689,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1701,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1697,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1705,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1709,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1713,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1717,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1719,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1723,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1731,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1688,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1700,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1696,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1692,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1704,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1708,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1712,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1716,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1722,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1728,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1729,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1730,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1680,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1686,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1691,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1699,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1703,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1707,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1711,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1715,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1718,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1721,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1725,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1727,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1735,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1737
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1737
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1174,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1179,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1175,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1180,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1181,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1181,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1183,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1186
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1186
    functionName: test_kdf_kbkdf_invalid_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - construct_kbkdf_params
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - TEST_false
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_invalid_mac(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1197,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1203,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1202,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1198,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1204,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1204,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1205,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1205,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1207,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1210
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1210
    functionName: test_kdf_kbkdf_empty_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - construct_kbkdf_params
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_empty_key(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1152,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1157,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1153,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1158,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1159,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1159,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1161,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1164
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1164
    functionName: test_kdf_kbkdf_invalid_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - construct_kbkdf_params
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - TEST_false
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_invalid_digest(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:110,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:108,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:109,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:111,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:111,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:113,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: test_kdf_tls1_prf_zero_output_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - construct_tls1_prf_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf_zero_output_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_gettables
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: test_kdf_hkdf_gettables_no_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - do_kdf_hkdf_gettables
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_gettables_no_digest(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:446,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:450,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:448,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:449,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:449,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:450,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:452,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: test_kdf_hkdf_1byte_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_1byte_key(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:478,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:487,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:485,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:486,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:484,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:488,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:489,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pass
    - digest
    - salt
    - iter
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 494
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 494
    functionName: construct_pbkdf1_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static OSSL_PARAM *construct_pbkdf1_params(char *pass, char *digest,
      char *salt, unsigned int *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:689,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:693,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:696,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:694,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:694,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:696,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:697,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:697,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:702,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:703,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 705
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 705
    functionName: test_kdf_pbkdf2_large_output
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2_large_output(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:875,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:890,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:892,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:893,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:892,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:887,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:891,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:883,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:886,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:895,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:886,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:887,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:890,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:891,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:880,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:881,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:879,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:877,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:882,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 897
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 897
    functionName: test_kdf_scrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_construct_uint
    - TEST_mem_eq
    - TEST_ptr
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_scrypt(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:922,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:925,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:927,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:924,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:930,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:930,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:931,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:931,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:932,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 936
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 936
    functionName: test_kdf_ss_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_ss_hash(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:975,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:983,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:977,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:980,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:978,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:983,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:984,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:984,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:985,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 989
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 989
    functionName: test_kdf_x963
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_x963(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:24,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:27,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:25,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: get_kdfbyname_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_fetch
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    linkageType: ''
    returnType: EVP_KDF_CTX*
    signature: 'static EVP_KDF_CTX *get_kdfbyname_libctx(OSSL_LIB_CTX *libctx, const
      char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:125,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:128,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:129,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:128,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:129,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:131,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 134
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 134
    functionName: test_kdf_tls1_prf_empty_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - construct_tls1_prf_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf_empty_secret(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:307,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:310,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:309,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:310,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:311,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:313,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: test_kdf_hkdf_invalid_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - TEST_false
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_invalid_digest(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:464,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:468,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:466,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:467,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:467,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:468,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:470,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 473
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 473
    functionName: test_kdf_hkdf_empty_salt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_empty_salt(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:512,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:539,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:518,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:519,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:522,1
    - Dst: construct_pbkdf1_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:525,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:529,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:530,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:532,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:532,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:531,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:533,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:542,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:522,1
    - Dst: get_kdfbyname_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:530,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:541,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:538,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:512,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:516,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:540,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:531,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 544
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 544
    functionName: test_kdf_pbkdf1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - construct_pbkdf1_params
    - TEST_mem_eq
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_skip
    - OPENSSL_free
    - get_kdfbyname_libctx
    - TEST_true
    - EVP_KDF_derive
    - OSSL_PROVIDER_unload
    - TEST_int_gt
    - EVP_KDF_CTX_set_params
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:632,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:638,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:637,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:637,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:636,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:638,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:639,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:644,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 647
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 647
    functionName: test_kdf_pbkdf2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:715,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:719,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:722,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:720,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:720,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:722,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:727,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 730
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 730
    functionName: test_kdf_pbkdf2_small_salt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - TEST_false
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2_small_salt(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:804,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:808,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:809,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:811,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:809,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:811,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:812,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:812,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:816,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:817,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:820,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:826,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:821,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:820,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:821,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:827,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 829
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 829
    functionName: test_kdf_pbkdf2_small_iterations_pkcs5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_pbkdf2_small_iterations_pkcs5(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1534,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1536,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1542,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1538,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1540,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1544,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1547,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1547,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1548,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1548,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1551,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1553
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1553
    functionName: test_kdf_sshkdf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_sshkdf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1661,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1665,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1670,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1663,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1667,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1670,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1671,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1671,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1672,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1676
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1676
    functionName: test_kdf_krb5kdf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_krb5kdf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:408,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:411,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:412,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:412,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:413,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:413,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:414,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:414,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:416,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 419
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 419
    functionName: test_kdf_hkdf_zero_output_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_zero_output_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1221,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1227,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1225,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1226,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1222,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1227,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1232
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1232
    functionName: test_kdf_kbkdf_1byte_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - construct_kbkdf_params
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_1byte_key(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1383,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1385,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1384,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1388,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1386,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1390,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1391,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1393,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1395,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1396,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1397,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1397,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1400,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1398,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1402
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1402
    functionName: test_kdf_kbkdf_fixedinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_fixedinfo(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:428,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:430,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:431,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:432,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:431,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:432,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:434,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: test_kdf_hkdf_empty_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf_empty_key(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1243,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1249,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1244,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1248,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1250,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1250,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1251,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1251,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1253,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1256
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1256
    functionName: test_kdf_kbkdf_zero_output_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - construct_kbkdf_params
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_KDF_derive
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_kbkdf_zero_output_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1426,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1431,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1428,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1433,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1430,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1435,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1438,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1438,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1439,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1439,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1442,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1444
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1444
    functionName: test_kdf_ss_hmac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_ss_hmac(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1625,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1634,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1629,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1627,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1631,1
    - Dst: get_kdfbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1634,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1635,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1635,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1636,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1640
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1640
    functionName: test_kdf_x942_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_mem_eq
    - TEST_ptr
    - EVP_KDF_derive
    - get_kdfbyname
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_x942_asn1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1566,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1566,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1567,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1566,1
    - Dst: EVP_KDF_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1567,1
    - Dst: EVP_KDF_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c:1567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - kdf1
    - kdf2
    argTypes:
    - EVP_KDF*
    - EVP_KDF*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1568
    functionName: test_kdfs_same
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_get0_provider
    - TEST_ptr_eq
    - EVP_KDF_get0_name
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_kdfs_same( EVP_KDF *kdf1, EVP_KDF *kdf2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:23,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:24,1
    - Dst: ossl_namemap_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:24,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:25,1
    - Dst: ossl_namemap_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:23,1
    - Dst: ossl_namemap_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:25,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:26,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:26,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:27,1
    - Dst: ossl_namemap_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:27,1
    - Dst: ossl_namemap_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: test_namemap_empty
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_namemap_empty
    - TEST_ptr
    - TEST_int_eq
    - TEST_int_ne
    - ossl_namemap_new
    - ossl_namemap_free
    - ossl_namemap_add_name
    linkageType: ''
    returnType: int
    signature: 'static int test_namemap_empty(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:79,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:87,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:85,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:84,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:87,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:91,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:93,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: test_digestbyname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - ossl_namemap_stored
    - EVP_get_digestbyname
    - TEST_int_ne
    - TEST_ptr_eq
    - ossl_namemap_add_name
    linkageType: ''
    returnType: int
    signature: 'static int test_digestbyname(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:57,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:58,1
    - Dst: ossl_namemap_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:60,1
    - Dst: test_namemap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: test_namemap_independent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - test_namemap
    - TEST_ptr
    - ossl_namemap_free
    - ossl_namemap_new
    linkageType: ''
    returnType: int
    signature: 'static int test_namemap_independent(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:156,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:161,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:159,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:161,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:162,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:162,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:164,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:164,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:164,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:165,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:165,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:168,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: test_digest_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EVP_sha256
    - EVP_MD_is_a
    - TEST_false
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_digest_is_a(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:66,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:68,1
    - Dst: test_namemap
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: test_namemap_stored
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - test_namemap
    - TEST_ptr
    - ossl_namemap_stored
    linkageType: ''
    returnType: int
    signature: 'static int test_namemap_stored(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:34,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:38,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:35,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:36,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:37,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:39,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:40,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:41,1
    - Dst: ossl_namemap_name2num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:42,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:44,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:46,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:49,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:52,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:51,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:45,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - nm
    argTypes:
    - OSSL_NAMEMAP*
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: test_namemap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_namemap_name2num
    - TEST_int_eq
    - ossl_namemap_add_name
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_namemap(OSSL_NAMEMAP *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:174,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:177,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:176,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:175,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:178,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:179,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:107,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:110,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:113,1
    - Dst: ossl_namemap_add_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:115,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:118,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:119,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:121,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: test_cipherbyname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - ossl_namemap_stored
    - EVP_get_cipherbyname
    - TEST_int_ne
    - TEST_ptr_eq
    - ossl_namemap_add_name
    linkageType: ''
    returnType: int
    signature: 'static int test_cipherbyname(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:137,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:139,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:139,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:140,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:140,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:142,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:142,1
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:142,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:143,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:146,1
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:143,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: test_cipher_is_a
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/namemap_internal_test.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_gcm
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_true
    - EVP_CIPHER_is_a
    - EVP_CIPHER_fetch
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher_is_a(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:31,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:35,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:39,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:43,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:53,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:32,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:36,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:40,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:44,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:49,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:58,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:29,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:33,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:37,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:45,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:41,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:56,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:18,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:30,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:34,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:42,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:46,1
    - Dst: CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 63
    functionName: test_trace_categories
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - CASE
    - TEST_true
    - OSSL_trace_get_category_num
    - TEST_ptr_null
    - OSSL_trace_get_category_name
    linkageType: ''
    returnType: int
    signature: 'static int test_trace_categories(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:69,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: (REF_COUNT)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (REF_COUNT) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:69,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:71,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: put_trace_output
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_TRACE_END
    linkageType: ''
    returnType: void
    signature: 'static void put_trace_output(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:83,1
    - Dst: OSSL_trace_set_channel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:84,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:87,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:83,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:90,1
    - Dst: OSSL_trace_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:93,1
    - Dst: OSSL_trace_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:93,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:95,1
    - Dst: TEST_strn2_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:100,1
    - Dst: OSSL_trace_set_channel
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:102,1
    - Dst: OSSL_trace_set_suffix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:95,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:102,1
    - Dst: put_trace_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:98,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:99,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 110
    functionName: test_trace_channel
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - OSSL_trace_set_prefix
    - put_trace_output
    - BIO_free
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - OSSL_trace_enabled
    - BIO_s_mem
    - OSSL_trace_set_channel
    - OSSL_trace_set_suffix
    - BIO_new
    - TEST_strn2_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_trace_channel(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - buffer
    - count
    - category
    - cmd
    - data
    argTypes:
    - char*
    - size_t
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: trace_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    linkageType: ''
    returnType: size_t
    signature: 'static size_t trace_cb(const char *buffer, size_t count, int category,
      int cmd, void *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:128,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:134,1
    - Dst: OSSL_trace_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:128,1
    - Dst: put_trace_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:132,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: test_trace_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached:
    - TEST_false
    - OSSL_trace_set_callback
    - TEST_true
    - put_trace_output
    linkageType: ''
    returnType: int
    signature: 'static int test_trace_callback(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:147,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:155,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:148,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:152,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/trace_api_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:83,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:88,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:92,1
    - Dst: EVP_aes_128_xts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:94,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:94,1
    - Dst: CMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:101,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:82,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:84,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:86,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:96,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:90,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:83,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:94,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:88,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:92,1
    - Dst: CMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:81,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:84,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:86,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:90,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:96,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: test_cmac_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - CMAC_Update
    - TEST_ptr
    - TEST_true
    - EVP_aes_128_xts
    - CMAC_CTX_free
    - TEST_false
    - CMAC_Init
    - CMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int test_cmac_bad(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:175,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:177,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:180,1
    - Dst: CMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:177,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:180,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:182,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:183,1
    - Dst: CMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:184,1
    - Dst: CMAC_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:183,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:187,1
    - Dst: CMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:184,1
    - Dst: CMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:193,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: test_cmac_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c
    functionUses: []
    functionsReached:
    - CMAC_Update
    - TEST_str_eq
    - TEST_ptr
    - CMAC_Init
    - TEST_true
    - CMAC_CTX_copy
    - CMAC_CTX_free
    - pt
    - EVP_aes_128_cbc
    - CMAC_CTX_new
    - CMAC_Final
    linkageType: ''
    returnType: int
    signature: 'static int test_cmac_copy(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:115,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:116,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:117,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:128,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:131,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:135,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:136,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:140,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:143,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:153,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:158,1
    - Dst: CMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:163,1
    - Dst: CMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:155,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:144,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:118,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:125,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:127,1
    - Dst: CMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:137,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:145,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:148,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:152,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:155,1
    - Dst: CMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:113,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:117,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:115,1
    - Dst: CMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:128,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:135,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:136,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:143,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:144,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:147,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:154,1
    - Dst: CMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:118,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:125,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:132,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:126,1
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:137,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:139,1
    - Dst: CMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:145,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:152,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:152,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:154,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 165
    functionName: test_cmac_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c
    functionUses: []
    functionsReached:
    - CMAC_Update
    - TEST_str_eq
    - CMAC_Init
    - TEST_true
    - CMAC_CTX_free
    - pt
    - EVP_aes_128_cbc
    - CMAC_CTX_new
    - EVP_aes_256_cbc
    - CMAC_Final
    linkageType: ''
    returnType: int
    signature: 'static int test_cmac_run(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:210,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:211,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmactest.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *pt(unsigned char *md, unsigned int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:225,1
    - Dst: EVP_aes_128_ctr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: test_bio_enc_aes_128_ctr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_ctr
    - do_test_bio_cipher
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_enc_aes_128_ctr(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:211,1
    - Dst: do_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - idx
    argTypes:
    - EVP_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: do_test_bio_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - do_bio_cipher
    linkageType: ''
    returnType: int
    signature: 'static int do_test_bio_cipher(const EVP_CIPHER* cipher, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:235,1
    - Dst: EVP_aes_256_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: test_bio_enc_aes_256_ofb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_ofb
    - do_test_bio_cipher
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_enc_aes_256_ofb(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:241,1
    - Dst: EVP_chacha20
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: test_bio_enc_chacha20
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - EVP_chacha20
    - do_test_bio_cipher
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_enc_chacha20(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:247,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: test_bio_enc_chacha20_poly1305
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - EVP_chacha20_poly1305
    - do_test_bio_cipher
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_enc_chacha20_poly1305(int idx) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:60,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:62,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:73,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:98,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:164,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:155,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:139,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:179,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:144,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:69,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:115,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:134,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:151,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:176,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:52,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:46,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:57,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:79,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:102,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:53,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:61,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:82,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:105,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:145,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:76,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:77,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:86,1
    - Dst: BIO_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:127,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:167,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:163,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:191,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:101,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:154,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:187,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:125,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:131,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:160,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:66,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:183,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:202,1
    - Dst: BIO_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:69,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:74,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:135,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:99,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:166,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:176,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:137,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:52,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:177,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:188,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:148,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:159,1
    - Dst: BIO_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:55,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:67,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:85,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:89,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:113,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:124,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:194,1
    - Dst: BIO_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:147,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:55,1
    - Dst: BIO_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:101,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:124,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:130,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:133,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:106,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:66,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:88,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:136,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:147,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:193,1
    - Dst: BIO_f_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:98,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:110,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:157,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:127,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:116,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:46,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:70,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:81,1
    - Dst: BIO_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:179,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:184,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 177
    argCount: 3
    argNames:
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 204
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 204
    functionName: do_bio_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - TEST_mem_eq
    - TEST_ptr
    - BIO_read
    - TEST_true
    - RAND_bytes
    - TEST_uchar_eq
    - TEST_info
    - TEST_int_gt
    - BIO_flush
    - BIO_f_cipher
    - BIO_push
    - BIO_new
    - BIO_set_cipher
    - BIO_new_mem_buf
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int do_bio_cipher(const EVP_CIPHER* cipher, const unsigned
      char* key, const unsigned char* iv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:230,1
    - Dst: EVP_aes_256_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: test_bio_enc_aes_256_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_cfb
    - do_test_bio_cipher
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_enc_aes_256_cfb(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:220,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: test_bio_enc_aes_128_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - do_test_bio_cipher
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_enc_aes_128_cbc(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:254,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:256,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:257,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:259,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:255,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_enc_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:110,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:110,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:115,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:111,1
    - Dst: PEM_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:115,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:122,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 125
    functionName: test_empty_payload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c
    functionUses: []
    functionsReached:
    - BIO_free
    - TEST_ptr
    - OPENSSL_free
    - PEM_read_bio_ex
    - TEST_false
    - BIO_new_mem_buf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_empty_payload(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:64,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:71,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:70,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:71,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:72,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:73,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:73,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:75,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:77,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:81,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:83,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:82,1
    - Dst: PEM_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: test_invalid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_free
    - TEST_ptr
    - OPENSSL_free
    - PEM_read_bio_ex
    - TEST_true
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int test_invalid(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:44,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:57,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:42,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:43,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:45,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:50,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:51,1
    - Dst: PEM_read_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:46,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:51,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:56,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:34,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:44,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:49,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:50,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:49,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:49,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:55,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:34,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:43,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:45,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:46,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:58,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: test_b64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - memcmp
    - BIO_free
    - TEST_ptr
    - TEST_int_eq
    - PEM_read_bio_ex
    - TEST_true
    - OPENSSL_free
    - BIO_s_mem
    - BIO_new
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_b64(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:140,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:140,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:145,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:141,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:151,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: test_protected_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_Parameters
    - BIO_free
    - TEST_ptr
    - EVP_PKEY_free
    - TEST_ptr_null
    - BIO_new_mem_buf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_protected_params(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:91,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:94,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: test_cert_key_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c
    functionUses: []
    functionsReached:
    - load_pkey_pem
    - TEST_ptr
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int test_cert_key_cert(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:158,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:160,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:161,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:158,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:160,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:162,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:163,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pemtest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - test_get_argument
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:76,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:78,1
    - Dst: op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:76,1
    - Dst: op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - (*op)
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - "unsigned\n                            char"
    - char*
    - unsigned int
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: test_binary_op_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - op
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_binary_op_8(unsigned char (*op) (unsigned int a, unsigned
      int b), const char *op_name, unsigned int a, unsigned int b, int is_true) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:98,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:106,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:105,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:101,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - (*op)
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - uint64_t
    - char*
    - uint64_t
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: test_binary_op_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - op
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int test_binary_op_64(uint64_t (*op)(uint64_t a, uint64_t b),
      const char *op_name, uint64_t a, uint64_t b, int is_true) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:87,1
    - Dst: op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:87,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:89,1
    - Dst: op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - (*op)
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - size_t
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: test_binary_op_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - op
    - TEST_size_t_eq
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_binary_op_s(size_t (*op) (size_t a, size_t b), const
      char *op_name, size_t a, size_t b, int is_true) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:116,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:118,1
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:116,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: test_is_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_uint_eq
    - constant_time_is_zero
    linkageType: ''
    returnType: int
    signature: 'static int test_is_zero(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:149,1
    - Dst: constant_time_is_zero_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:151,1
    - Dst: constant_time_is_zero_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:149,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: test_is_zero_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    - TEST_uint_eq
    - constant_time_is_zero_s
    linkageType: ''
    returnType: int
    signature: 'static int test_is_zero_s(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:167,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:169,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:169,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: test_select_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - constant_time_select_8
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_select_8(unsigned char a, unsigned char b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:185,1
    - Dst: constant_time_select_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:187,1
    - Dst: constant_time_select_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:185,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: test_select_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_uint_eq
    - constant_time_select_s
    linkageType: ''
    returnType: int
    signature: 'static int test_select_s(size_t a, size_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:211,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:213,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:213,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: test_select_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - constant_time_select_int
    linkageType: ''
    returnType: int
    signature: 'static int test_select_int(int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:247,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:247,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: test_sizeofs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_uint_eq
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int test_sizeofs(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:339,1
    - Dst: test_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:343,1
    - Dst: test_eq_int_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:344,1
    - Dst: test_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: test_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - test_select_int
    - test_eq_int_8
    - OSSL_NELEM
    - test_eq_int
    linkageType: ''
    returnType: int
    signature: 'static int test_signed(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:371,1
    - Dst: test_select_32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 378
    functionName: test_32values
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - test_select_32
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int test_32values(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:158,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:160,1
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:158,1
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: test_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - constant_time_select
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_select(unsigned int a, unsigned int b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:176,1
    - Dst: constant_time_select_32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:176,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:178,1
    - Dst: constant_time_select_32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: test_select_32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - constant_time_select_32
    linkageType: ''
    returnType: int
    signature: 'static int test_select_32(uint32_t a, uint32_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:194,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:198,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:197,1
    - Dst: constant_time_select_64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: test_select_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - constant_time_select_64
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int test_select_64(uint64_t a, uint64_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:220,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:222,1
    - Dst: constant_time_eq_int_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:222,1
    - Dst: constant_time_eq_int_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: test_eq_int_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - constant_time_eq_int_8
    linkageType: ''
    returnType: int
    signature: 'static int test_eq_int_8(int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:258,1
    - Dst: test_binary_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:262,1
    - Dst: test_select
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:261,1
    - Dst: test_binary_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:264,1
    - Dst: test_binary_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:266,1
    - Dst: test_binary_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:268,1
    - Dst: test_binary_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:270,1
    - Dst: test_binary_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:272,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: test_binops
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - test_binary_op
    - OSSL_NELEM
    - test_select
    linkageType: ''
    returnType: int
    signature: 'static int test_binops(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: test_8values
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - test_select_8
    linkageType: ''
    returnType: int
    signature: 'static int test_8values(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:385,1
    - Dst: test_binary_op_64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:388,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:391,1
    - Dst: test_select_64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: test_64values
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - test_select_64
    - test_binary_op_64
    - OSSL_NELEM
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int test_64values(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:400,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:401,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:403,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:404,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:402,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:403,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:408,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:409,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:407,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:406,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:405,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:410,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:411,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:402,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:401,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:404,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:405,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:406,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:409,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:408,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:407,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:410,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:127,1
    - Dst: constant_time_is_zero_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:129,1
    - Dst: constant_time_is_zero_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:127,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: test_is_zero_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - constant_time_is_zero_8
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_is_zero_8(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:229,1
    - Dst: constant_time_eq_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:229,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:231,1
    - Dst: constant_time_eq_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: test_eq_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_size_t_eq
    - constant_time_eq_s
    linkageType: ''
    returnType: int
    signature: 'static int test_eq_s(size_t a, size_t b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:285,1
    - Dst: test_binary_op_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:290,1
    - Dst: test_binary_op_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:292,1
    - Dst: test_binary_op_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:288,1
    - Dst: test_binary_op_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:294,1
    - Dst: test_binary_op_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:296,1
    - Dst: test_binary_op_8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 303
    functionName: test_binops_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - test_binary_op_8
    linkageType: ''
    returnType: int
    signature: 'static int test_binops_8(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:64,1
    - Dst: op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:64,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:66,1
    - Dst: op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - (*op)
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - unsigned int
    - char*
    - unsigned int
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: test_binary_op
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - op
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_binary_op(unsigned int (*op) (unsigned int a, unsigned
      int b), const char *op_name, unsigned int a, unsigned int b, int is_true) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:138,1
    - Dst: constant_time_is_zero_32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:140,1
    - Dst: constant_time_is_zero_32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:138,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: test_is_zero_32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - constant_time_is_zero_32
    linkageType: ''
    returnType: int
    signature: 'static int test_is_zero_32(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:238,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:240,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:240,1
    - Dst: constant_time_eq_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: test_eq_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - constant_time_eq_int
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_eq_int(int a, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:311,1
    - Dst: test_binary_op_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:318,1
    - Dst: test_eq_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:315,1
    - Dst: test_select_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:314,1
    - Dst: test_binary_op_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:316,1
    - Dst: test_binary_op_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:320,1
    - Dst: test_binary_op_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:322,1
    - Dst: test_binary_op_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:324,1
    - Dst: test_binary_op_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 331
    functionName: test_binops_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/constant_time_test.c
    functionUses: []
    functionsReached:
    - test_eq_s
    - test_binary_op_s
    - test_select_s
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int test_binops_s(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:91,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - drbg
    - name
    argTypes:
    - EVP_RAND_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: query_rand_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - EVP_RAND_CTX_get_params
    - OSSL_PARAM_construct_uint
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int query_rand_uint(EVP_RAND_CTX *drbg, const char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - EVP_RAND_get_state
    linkageType: ''
    returnType: int
    signature: 'static int state(EVP_RAND_CTX *drbg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 317
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 317
    functionName: compare_drbg_fork_result
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_drbg_fork_result(const void * left, const void
      * right) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:345,1
    - Dst: pipe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:345,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:348,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:358,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:349,1
    - Dst: fork
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:348,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:350,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:371,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:387,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:387,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:400,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:355,1
    - Dst: waitpid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:358,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:359,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:366,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:384,1
    - Dst: read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:390,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:377,1
    - Dst: write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:390,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:397,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - primary
    - public
    - private
    - result
    argTypes:
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - drbg_fork_result
    constantsTouched: []
    func_position:
      end: 402
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 402
    functionName: test_drbg_reseed_in_child
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - close
    - exit
    - TEST_int_eq
    - waitpid
    - TEST_true
    - fork
    - memcpy
    - TEST_int_ge
    - test_drbg_reseed
    - write
    - read
    - pipe
    linkageType: ''
    returnType: int
    signature: 'static int test_drbg_reseed_in_child(EVP_RAND_CTX *primary, EVP_RAND_CTX
      *public, EVP_RAND_CTX *private, drbg_fork_result result[2]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: using_fips_rng
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:560,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:565,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:570,1
    - Dst: prov_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:579,1
    - Dst: prov_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:580,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:584,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:588,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:595,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:614,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:615,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:626,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:638,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:656,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:639,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:570,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:571,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:572,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:578,1
    - Dst: prov_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:579,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:579,1
    - Dst: prov_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:580,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:580,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:590,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:604,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:658,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:571,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:572,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:576,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:577,1
    - Dst: disable_crngt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:584,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:589,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:615,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:625,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:639,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:627,1
    - Dst: RAND_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:657,1
    - Dst: RAND_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:565,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:561,1
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:565,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:604,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:627,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:637,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:646,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:658,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 669
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 669
    functionName: test_rand_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - disable_crngt
    - RAND_get0_public
    - TEST_skip
    - RAND_get0_private
    - prov_rand
    - TEST_ptr_ne
    - RAND_OpenSSL
    - using_fips_rng
    - RAND_get0_primary
    - RAND_get_rand_method
    - TEST_true
    - time
    - inc_reseed_counter
    - test_drbg_reseed
    - TEST_ptr_eq
    - RAND_add
    - TEST_ptr
    - EVP_RAND_uninstantiate
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_reseed(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:409,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:419,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:510,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:429,1
    - Dst: test_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:439,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:456,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:491,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:425,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:446,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:465,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:460,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:508,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:426,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:410,1
    - Dst: test_drbg_reseed_in_child
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:439,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:445,1
    - Dst: compare_rand_chunk
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:495,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:484,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:478,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:451,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:501,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 3
    argNames:
    - primary
    - public
    - private
    argTypes:
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 522
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 522
    functionName: test_rand_reseed_on_fork
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - strcpy
    - OPENSSL_free
    - memcpy
    - TEST_true
    - compare_rand_chunk
    - TEST_note
    - test_drbg_reseed_in_child
    - qsort
    - getenv
    - getpid
    - OPENSSL_buf2hexstr
    - test_drbg_reseed
    - sprintf
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_reseed_on_fork(EVP_RAND_CTX *primary, EVP_RAND_CTX
      *public, EVP_RAND_CTX *private) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: prov_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DRBG_UINT(reseed_counter)*
    signature: 'DRBG_UINT(reseed_counter) static PROV_DRBG *prov_rand(EVP_RAND_CTX
      *drbg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:208,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:207,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:217,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:234,1
    - Dst: state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:234,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:248,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:249,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:255,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:255,1
    - Dst: reseed_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:263,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:223,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:226,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:235,1
    - Dst: state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:235,1
    - Dst: state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:236,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:236,1
    - Dst: TEST_uint_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:248,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:256,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:257,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:263,1
    - Dst: reseed_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:268,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:209,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:221,1
    - Dst: rand_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:221,1
    - Dst: TEST_uint_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:256,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:264,1
    - Dst: reseed_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:264,1
    - Dst: TEST_time_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:268,1
    - Dst: reseed_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:268,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:207,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:208,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:209,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:241,1
    - Dst: rand_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:223,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:241,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:247,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:247,1
    - Dst: reseed_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:269,1
    - Dst: reseed_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:269,1
    - Dst: TEST_time_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:269,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:272,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    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
    constantsTouched: []
    func_position:
      end: 276
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 276
    functionName: test_drbg_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - TEST_uint_ge
    - ERR_clear_error
    - time
    - TEST_int_eq
    - TEST_time_t_ge
    - TEST_int_ne
    - rand_bytes
    - state
    - TEST_int_ge
    - rand_priv_bytes
    - TEST_time_t_le
    - reseed_counter
    - reseed_time
    linkageType: ''
    returnType: int
    signature: 'static int test_drbg_reseed(int expect_success, EVP_RAND_CTX *primary,
      EVP_RAND_CTX *public, EVP_RAND_CTX *private, unsigned char *public_random, unsigned
      char *private_random, int expect_primary_reseed, int expect_public_reseed, int
      expect_private_reseed, time_t reseed_when ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:679,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:682,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - drbg
    - t
    argTypes:
    - EVP_RAND_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: set_reseed_time_interval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_int
    - EVP_RAND_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int set_reseed_time_interval(EVP_RAND_CTX *drbg, int t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prov_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - drbg
    - n
    argTypes:
    - EVP_RAND_CTX*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: set_reseed_counter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - prov_rand
    linkageType: ''
    returnType: void
    signature: 'static void set_reseed_counter(EVP_RAND_CTX *drbg, unsigned int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:688,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:692,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:692,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:691,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:691,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:693,1
    - Dst: set_reseed_time_interval
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:693,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:694,1
    - Dst: set_reseed_time_interval
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:694,1
    - Dst: rand_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:700,1
    - Dst: rand_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:702,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 706
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 706
    functionName: run_multi_thread_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - time
    - TEST_ptr
    - RAND_get0_public
    - RAND_get0_private
    - TEST_true
    - set_reseed_time_interval
    - rand_bytes
    - rand_priv_bytes
    linkageType: ''
    returnType: void
    signature: 'static void run_multi_thread_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_multi_thread_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:714,1
    - Dst: OPENSSL_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    constantsTouched: []
    func_position:
      end: 721
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 721
    functionName: thread_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - run_multi_thread_test
    - OPENSSL_thread_stop
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI thread_run(LPVOID arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:773,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:776,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:778,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:780,1
    - Dst: run_multi_thread_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 784
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 784
    functionName: test_multi_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - run_multi_thread_test
    - TEST_true
    - wait_for_thread
    - run_thread
    linkageType: ''
    returnType: int
    signature: 'static int test_multi_thread(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: compare_rand_chunk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_rand_chunk(const void * left, const void * right) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:50,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:60,1
    - Dst: RAND_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - drbg
    - buf
    - num
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: gen_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - RAND_OpenSSL
    - RAND_get_rand_method
    - EVP_RAND_generate
    linkageType: ''
    returnType: int
    signature: 'static int gen_bytes(EVP_RAND_CTX *drbg, unsigned char *buf, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:66,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: rand_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - RAND_get0_public
    - gen_bytes
    linkageType: ''
    returnType: int
    signature: 'static int rand_bytes(unsigned char *buf, int num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:118,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: inc_reseed_counter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - reseed_counter
    - set_reseed_counter
    linkageType: ''
    returnType: void
    signature: 'static void inc_reseed_counter(EVP_RAND_CTX *drbg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:139,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:147,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:143,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:146,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:149,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: using_fips_rng
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - RAND_get0_primary
    - strcmp
    - EVP_RAND_CTX_get0_rand
    - EVP_RAND_get0_provider
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: int
    signature: 'static int using_fips_rng(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:793,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:797,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:797,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:798,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:795,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:798,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:799,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:799,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:800,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - parent
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 805
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 805
    functionName: new_drbg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - EVP_RAND_fetch
    - EVP_RAND_CTX_free
    - TEST_ptr
    - TEST_true
    - EVP_RAND_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_RAND_free
    linkageType: ''
    returnType: EVP_RAND_CTX*
    signature: 'static EVP_RAND_CTX *new_drbg(EVP_RAND_CTX *parent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:71,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: rand_priv_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - RAND_get0_private
    - gen_bytes
    linkageType: ''
    returnType: int
    signature: 'static int rand_priv_bytes(unsigned char *buf, int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:126,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: reseed_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_time_t
    - EVP_RAND_CTX_get_params
    linkageType: ''
    returnType: time_t
    signature: 'static time_t reseed_time(EVP_RAND_CTX *drbg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:531,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:531,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:532,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:532,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:533,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:533,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:537,1
    - Dst: test_rand_reseed_on_fork
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:537,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:541,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:541,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:541,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 545
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 545
    functionName: test_rand_fork_safety
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - RAND_get0_primary
    - RAND_get0_public
    - RAND_get0_private
    - TEST_true
    - RAND_bytes
    - TEST_int_gt
    - RAND_priv_bytes
    - test_rand_reseed_on_fork
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_fork_safety(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: run_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - CreateThread
    linkageType: ''
    returnType: int
    signature: 'static int run_thread(thread_t *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: wait_for_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: 'static int wait_for_thread(thread_t thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: wait_for_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int wait_for_thread(thread_t thread) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: disable_crngt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:818,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:819,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:823,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:830,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:834,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:847,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:857,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:868,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:869,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:876,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:878,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:881,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:888,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:847,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:869,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:881,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:872,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:856,1
    - Dst: new_drbg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:822,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:832,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:821,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:833,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:836,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:836,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:837,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:837,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:845,1
    - Dst: inc_reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:853,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:890,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:858,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:871,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:860,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:880,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:855,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:889,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:860,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:857,1
    - Dst: using_fips_rng
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:813,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:818,1
    - Dst: new_drbg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:817,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:819,1
    - Dst: new_drbg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:820,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:831,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:823,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:822,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:834,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:846,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:859,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:877,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:880,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:883,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:846,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:859,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:867,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:871,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:883,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:868,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:817,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:814,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:820,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:821,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:835,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:835,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:844,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:845,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:854,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:858,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:882,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:848,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:879,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:870,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:882,1
    - Dst: reseed_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:870,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:848,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 140
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 892
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 892
    functionName: test_rand_prediction_resistance
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - using_fips_rng
    - new_drbg
    - EVP_RAND_instantiate
    - disable_crngt
    - EVP_RAND_generate
    - TEST_ptr
    - TEST_skip
    - TEST_int_eq
    - TEST_true
    - EVP_RAND_reseed
    - TEST_mem_ne
    - EVP_RAND_CTX_free
    - TEST_int_gt
    - reseed_counter
    - inc_reseed_counter
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_prediction_resistance(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_multi_thread_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:740,1
    - Dst: OPENSSL_thread_stop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 747
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 747
    functionName: thread_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - run_multi_thread_test
    - OPENSSL_thread_stop
    linkageType: ''
    returnType: void*
    signature: 'static void *thread_run(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: run_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: int
    signature: 'static int run_thread(thread_t *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:896,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:898,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:900,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 905
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 905
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: disable_crngt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/drbgtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int disable_crngt(EVP_RAND_CTX *drbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:20,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:21,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:21,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:22,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:20,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:22,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:23,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:23,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:25,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: test_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - TEST_ptr
    - TEST_true
    - EVP_KEYMGMT_free
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_get0_name
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_provider(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: test_fallback_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c
    functionUses: []
    functionsReached:
    - test_provider
    linkageType: ''
    returnType: int
    signature: 'static int test_fallback_provider(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:40,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:41,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:41,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:40,1
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:42,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:43,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:43,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: test_explicit_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - test_provider
    - TEST_true
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: 'static int test_explicit_provider(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:52,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_fallback_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/memleaktest.c:48,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/memleaktest.c:55,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/memleaktest.c:49,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/memleaktest.c:52,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/memleaktest.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/memleaktest.c
    functionUses: []
    functionsReached:
    - strcpy
    - TEST_ptr
    - OPENSSL_free
    - strcmp
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:232,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:236,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:233,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:237,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:235,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:241,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:241,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:242,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 248
    functionName: get_test_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_set0_key
    - EVP_PKEY_free
    - EVP_PKEY_new
    - BN_bin2bn
    - RSA_new
    - EVP_PKEY_assign_RSA
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *get_test_pkey(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: test_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_encrypt(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t
      *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: global_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached:
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int global_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:34,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:36,1
    - Dst: ENGINE_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:36,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:35,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:34,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: display_engine_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached:
    - ENGINE_get_id
    - TEST_info
    - ENGINE_get_first
    - ENGINE_free
    - ENGINE_get_next
    - ENGINE_get_name
    linkageType: ''
    returnType: void
    signature: 'static void display_engine_list(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - e
    - pmeth
    - pnids
    - nid
    argTypes:
    - ENGINE*
    - EVP_PKEY_METHOD**
    - int**
    - int
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: test_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_meths(ENGINE *e, EVP_PKEY_METHOD **pmeth, const
      int **pnids, int nid) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:64,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:79,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:97,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:115,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:154,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:155,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:91,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:141,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:102,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:122,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:153,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:183,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:113,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:95,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:63,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:77,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:108,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:150,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:175,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:100,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:82,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:85,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:89,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:167,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:105,1
    - Dst: display_engine_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:125,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:136,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:144,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:174,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:66,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:73,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:88,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:161,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:70,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:69,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:74,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:92,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:65,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:67,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:71,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:152,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:68,1
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:84,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:117,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:113,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:153,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:159,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:62,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:63,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:85,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:139,1
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:135,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:143,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:137,1
    - Dst: test_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:160,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:169,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:144,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:97,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:149,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:79,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:110,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:154,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:155,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:181,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:102,1
    - Dst: ENGINE_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:122,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:147,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:87,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:91,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:140,1
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:168,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:74,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:92,1
    - Dst: ENGINE_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:108,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:119,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:151,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:171,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:65,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:71,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:76,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:94,1
    - Dst: ENGINE_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:162,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:81,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:66,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:68,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:117,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:99,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:159,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:104,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:124,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:69,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:73,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:143,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:169,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:185,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 176
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 187
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 187
    functionName: test_engines
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached:
    - test_note
    - ENGINE_get_id
    - ENGINE_get_first
    - OPENSSL_strdup
    - ENGINE_set_name
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - TEST_false
    - ENGINE_get_name
    - ERR_clear_error
    - ENGINE_add
    - ENGINE_free
    - ENGINE_new
    - sprintf
    - ENGINE_remove
    - TEST_ptr
    - display_engine_list
    - ENGINE_set_id
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_engines(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:265,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:282,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:280,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:290,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:291,1
    - Dst: EVP_PKEY_set1_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:291,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:295,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:300,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:305,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:326,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:326,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:341,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:328,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:331,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:353,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:295,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:312,1
    - Dst: get_test_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:261,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:265,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:264,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:268,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:270,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:272,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:272,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:280,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:281,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:290,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:341,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:344,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:351,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:317,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:327,1
    - Dst: ENGINE_set_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:297,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:261,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:273,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:282,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:311,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:325,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:327,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:335,1
    - Dst: EVP_PKEY_set1_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:335,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:342,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:342,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:343,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:338,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:343,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:300,1
    - Dst: EVP_PKEY_meth_set_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:309,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:320,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:276,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:274,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:281,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:273,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:303,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:303,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:312,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:315,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:315,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:325,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:352,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:350,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:316,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:316,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 122
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 355
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 355
    functionName: test_redirect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached:
    - ENGINE_set_pkey_meths
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    - EVP_PKEY_set1_engine
    - TEST_int_le
    - ENGINE_set_name
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - TEST_ptr_null
    - EVP_PKEY_encrypt
    - TEST_false
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_new
    - EVP_PKEY_meth_set_encrypt
    - ENGINE_free
    - ENGINE_new
    - EVP_PKEY_meth_new
    - TEST_ptr
    - get_test_pkey
    - EVP_PKEY_get_size
    - TEST_int_gt
    - ENGINE_set_id
    linkageType: ''
    returnType: int
    signature: 'static int test_redirect(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:366,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:367,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:376,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:382,1
    - Dst: ENGINE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:389,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:391,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:394,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:407,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:410,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:413,1
    - Dst: ENGINE_unregister_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:423,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:366,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:366,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:371,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:376,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:389,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:390,1
    - Dst: RSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:394,1
    - Dst: ENGINE_set_default_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:399,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:403,1
    - Dst: X509_PUBKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:411,1
    - Dst: RSA_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:426,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:412,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:407,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:413,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:371,1
    - Dst: X509_PUBKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:377,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:378,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:379,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:379,1
    - Dst: ENGINE_set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:391,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:403,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:411,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:413,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:420,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:421,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:419,1
    - Dst: BIO_seek
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:402,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:367,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:373,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:385,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:379,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:377,1
    - Dst: ENGINE_set_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:390,1
    - Dst: RSA_meth_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:394,1
    - Dst: ENGINE_set_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:397,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:399,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:402,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:424,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:427,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:410,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 98
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 429
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 429
    functionName: test_x509_dup_w_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached:
    - RSA_meth_free
    - BIO_free
    - test_get_argument
    - ENGINE_set_default_RSA
    - X509_PUBKEY_free
    - TEST_ptr_ne
    - X509_PUBKEY_dup
    - X509_free
    - ENGINE_set_name
    - TEST_true
    - RSA_get_default_method
    - TEST_int_ge
    - X509_get_X509_PUBKEY
    - BIO_new_file
    - BIO_seek
    - RSA_meth_dup
    - PEM_read_bio_X509
    - ENGINE_free
    - X509_PUBKEY_get0
    - ENGINE_new
    - X509_dup
    - TEST_ptr
    - ENGINE_unregister_RSA
    - ENGINE_set_RSA
    - ENGINE_set_id
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_dup_w_engine(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:446,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:459,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:451,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:455,1
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:450,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:460,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 464
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 464
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/enginetest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - test_get_argument_count
    - TEST_error
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:67,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:74,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:78,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:102,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:95,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:39,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:58,1
    - Dst: X509_REQ_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:87,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:103,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:58,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:61,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:67,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:81,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:104,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:41,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:44,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:48,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:50,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:61,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:72,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:64,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:94,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:101,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 106
    functionName: test_x509_check_cert_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - X509_REQ_check_private_key
    - TEST_ptr
    - strcmp
    - TEST_int_eq
    - X509_REQ_free
    - X509_check_private_key
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - TEST_error
    - PEM_read_bio_X509_REQ
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_check_cert_pkey(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:119,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:122,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:119,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:121,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:123,1
    - Dst: sk_X509_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:124,1
    - Dst: sk_X509_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:125,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: test_PEM_X509_INFO_read_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - sk_X509_INFO_num
    - BIO_free
    - TEST_ptr
    - TEST_int_eq
    - sscanf
    - sk_X509_INFO_value
    - PEM_X509_INFO_read_bio
    - sk_X509_INFO_pop_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int test_PEM_X509_INFO_read_bio(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:162,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:157,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:161,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:163,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:163,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:165,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:169,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:169,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:171,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:170,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:176,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:172,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:170,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:171,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_TEST
    - test_get_argument
    - test_get_argument_count
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_check_cert_pkey_test.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1516,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1523,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1529,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1541,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1562,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1622,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1624,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1626,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1673,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1515,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1525,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1569,1
    - Dst: BN_get0_nist_prime_256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1554,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1553,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1574,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1614,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1646,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1676,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1545,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1594,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1518,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1524,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1528,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1532,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1587,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1560,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1603,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1609,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1534,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1578,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1514,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1542,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1618,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1665,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1670,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1521,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1575,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1532,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1626,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1659,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1545,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1520,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1527,1
    - Dst: BN_lshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1542,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1555,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1607,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1616,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1646,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1672,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1671,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1594,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1531,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1609,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1610,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1612,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1638,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1645,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1654,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1679,1
    - Dst: BN_ucmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1553,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1522,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1526,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1530,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1552,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1637,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1653,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1665,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1682,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1514,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1524,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1528,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1575,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1651,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1661,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1681,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1538,1
    - Dst: EC_GROUP_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1516,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1530,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1534,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1552,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1598,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1541,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1567,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1636,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1642,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1533,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1571,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1519,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1599,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1612,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1620,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1638,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1654,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1664,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1675,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1568,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1518,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1529,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1562,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1643,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1678,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1520,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1527,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1610,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1620,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1622,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1664,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1677,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1519,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1526,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1533,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1569,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1598,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1539,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1680,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1560,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1515,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1522,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1523,1
    - Dst: EC_POINT_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1525,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1587,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1599,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1603,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1624,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1650,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1578,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1521,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1531,1
    - Dst: EC_curve_nid2nist
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1563,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1607,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1614,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1616,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1618,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1658,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1674,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 258
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1684
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1684
    functionName: check_named_curve_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - EC_POINT_free
    - EC_GROUP_check_named_curve
    - EC_GROUP_get0_order
    - BN_CTX_free
    - EC_GROUP_set_curve_name
    - EC_curve_nid2nist
    - ERR_set_mark
    - EC_POINT_add
    - BN_get0_nist_prime_192
    - TEST_int_le
    - BN_copy
    - TEST_true
    - EC_GROUP_get_field_type
    - BN_CTX_new
    - TEST_false
    - EC_GROUP_get_cofactor
    - BN_get0_nist_prime_256
    - BN_ucmp
    - BN_lshift1
    - TEST_int_eq
    - EC_GROUP_free
    - EC_POINT_dup
    - EC_GROUP_set_generator
    - BN_dup
    - ERR_pop_to_mark
    - BN_add_word
    - EC_GROUP_set_curve
    - TEST_ptr
    - BN_new
    - BN_free
    - EC_GROUP_get0_generator
    - EC_GROUP_get_seed_len
    - EC_GROUP_set_seed
    - EC_GROUP_dup
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: 'static int check_named_curve_test(int id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1854,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1873,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1897,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1870,1
    - Dst: are_ec_nids_compatible
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1896,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1969,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1982,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1847,1
    - Dst: are_ec_nids_compatible
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1915,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1914,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1865,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1908,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1931,1
    - Dst: are_ec_nids_compatible
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1932,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1960,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1993,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2001,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1989,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1918,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1848,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1935,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1954,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1956,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1980,1
    - Dst: are_ec_nids_compatible
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1981,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2000,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1952,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1897,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1926,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1864,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1931,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1950,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1974,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1988,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1990,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1999,1
    - Dst: are_ec_nids_compatible
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1992,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1842,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1851,1
    - Dst: EC_GROUP_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1859,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1860,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1890,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1897,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1874,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1958,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1971,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1982,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2007,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1841,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1850,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1856,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1864,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1928,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1930,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1963,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1974,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1991,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1992,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2005,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1857,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1861,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1969,1
    - Dst: are_ec_nids_compatible
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1970,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1977,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1979,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1985,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2008,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1914,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1853,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1862,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1867,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1916,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1901,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1933,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1944,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1947,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1949,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1844,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1861,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1971,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1981,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2004,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1854,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1862,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1867,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1929,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1873,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1927,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1918,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1935,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1991,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1847,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1849,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1855,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1890,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1958,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1966,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1968,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1976,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1978,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1911,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1889,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1913,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1916,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1848,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1866,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1901,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1933,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1946,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1948,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1841,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1850,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1856,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1857,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1960,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1970,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1980,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1985,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2006,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1849,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1855,1
    - Dst: EC_POINT_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1860,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1866,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1908,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1944,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1950,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1952,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1993,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2003,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1918,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1853,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1874,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1896,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1935,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1955,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1957,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1965,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1967,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2002,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1963,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1910,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1889,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1912,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1842,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1851,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1859,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1865,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1915,1
    - Dst: EC_GROUP_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1926,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1932,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1987,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 334
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2010
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 2010
    functionName: check_named_curve_from_ecparameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - ECPARAMETERS_free
    - EC_POINT_free
    - EC_GROUP_get_curve_name
    - EC_GROUP_get0_order
    - BN_CTX_free
    - TEST_int_ne
    - BN_CTX_start
    - are_ec_nids_compatible
    - EC_POINT_add
    - EC_GROUP_get_ecparameters
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - OBJ_nid2sn
    - BN_copy
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - TEST_info
    - BN_CTX_new
    - EC_GROUP_get_asn1_flag
    - TEST_false
    - EC_GROUP_get_cofactor
    - TEST_int_eq
    - EC_POINT_new
    - EC_POINT_dup
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_free
    - EC_GROUP_set_generator
    - TEST_note
    - BN_CTX_get
    - BN_add_word
    - TEST_ptr
    - OSSL_NELEM
    - EC_GROUP_get0_generator
    - EC_GROUP_set_seed
    - EC_GROUP_dup
    linkageType: ''
    returnType: int
    signature: 'static int check_named_curve_from_ecparameters(int id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2245,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2252,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2251,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2252,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2264,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2270,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2277,1
    - Dst: EC_KEY_set_public_key_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2277,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2282,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2283,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2244,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2246,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2244,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2247,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2248,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2250,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2249,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2251,1
    - Dst: EC_KEY_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2250,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2249,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2246,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2247,1
    - Dst: EC_GROUP_get0_field
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2248,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2260,1
    - Dst: BN_GF2m_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2264,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2270,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2274,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2284,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2245,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2286
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2286
    functionName: check_ec_key_field_public_range_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_generate_key
    - EC_KEY_get0_public_key
    - TEST_error
    - EC_KEY_free
    - BN_add
    - TEST_int_le
    - EC_GROUP_get0_field
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - EC_GROUP_get_field_type
    - EC_KEY_set_public_key_affine_coordinates
    - EC_KEY_check_key
    - EC_KEY_new_by_curve_name
    - TEST_ptr
    - BN_new
    - TEST_int_gt
    - BN_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: 'static int check_ec_key_field_public_range_test(int id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1141,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1142,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1143,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1146,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1141,1
    - Dst: EC_GROUP_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1146,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1147,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1147,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1148,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1153
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1153
    functionName: internal_curve_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - OBJ_nid2sn
    - TEST_ptr
    - EC_GROUP_check
    - TEST_true
    - EC_GROUP_free
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int internal_curve_test(int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2021,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2020,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2022,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2030,1
    - Dst: i2d_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2043,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2051,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2021,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2023,1
    - Dst: EC_GROUP_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2023,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2035,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2030,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2031,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2050,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2026,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2043,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2032,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2044,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2042,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2049,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2020,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2022,1
    - Dst: i2d_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2031,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2052,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2054
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2054
    functionName: parameter_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - ECPARAMETERS_free
    - EC_GROUP_cmp
    - TEST_mem_eq
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - i2d_ECPKParameters
    - EC_GROUP_free
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_get_ecparameters
    linkageType: ''
    returnType: int
    signature: 'static int parameter_test(void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2730,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2755,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2807,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2815,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2827,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2841,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2856,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2863,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2867,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2873,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2876,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2931,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2961,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2723,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2729,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2739,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2759,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2769,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2811,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2815,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2783,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2807,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2784,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2774,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2890,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2935,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2945,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2951,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2953,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2793,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2819,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2733,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2750,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2824,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2826,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2852,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2882,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2883,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2907,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2944,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2930,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2717,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2749,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2755,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2762,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2814,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2832,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2845,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2853,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2886,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2915,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2908,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2931,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2886,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2904,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2894,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2949,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2727,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2759,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2784,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2864,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2868,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2877,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2881,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2936,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2956,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2932,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2963,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2721,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2728,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2753,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2809,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2828,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2874,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2901,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2909,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2912,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2921,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2947,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2782,1
    - Dst: BN_clear_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2796,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2718,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2758,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2763,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2811,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2825,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2857,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2880,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2883,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2868,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2898,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2934,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2922,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2800,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2823,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2828,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2842,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2853,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2875,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2884,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2901,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2909,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2919,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2958,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2908,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2954,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2867,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2730,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2790,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2814,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2791,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2783,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2824,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2825,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2846,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2863,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2864,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2932,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2936,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2898,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2733,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2750,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2803,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2781,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2826,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2827,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2852,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2874,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2878,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2921,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2960,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2895,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2780,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2800,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2809,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2798,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2796,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2790,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2752,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2782,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2856,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2857,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2922,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2873,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2962,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2933,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2957,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2881,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2952,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2726,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2758,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2763,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2774,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2803,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2842,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2875,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2876,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2912,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2924,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2959,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2793,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2752,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2762,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2823,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2781,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2791,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2846,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2885,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2895,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2929,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2924,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2920,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2723,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2727,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2729,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2749,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2769,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2841,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2878,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2880,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2894,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2904,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2938,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2920,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2948,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2955,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2798,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2728,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2736,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2745,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2793,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2832,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2845,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2882,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2915,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2930,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2933,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2950,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2946,1
    CyclomaticComplexity: 140
    EdgeCount: 140
    ICount: 405
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2966
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2966
    functionName: custom_params_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_GROUP_new_by_curve_name
    - EC_KEY_generate_key
    - EC_POINT_free
    - EC_KEY_set_group
    - EC_KEY_get0_private_key
    - EC_KEY_get0_public_key
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_utf8_string
    - TEST_skip
    - EC_GROUP_get_degree
    - EC_GROUP_get0_order
    - EVP_PKEY_fromdata_init
    - BN_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_derive
    - BN_CTX_start
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EC_GROUP_order_bits
    - EVP_PKEY_derive_init
    - OSSL_PARAM_BLD_push_octet_string
    - OPENSSL_malloc
    - OSSL_PARAM_BLD_to_param
    - EC_KEY_free
    - TEST_int_le
    - BN_CTX_end
    - TEST_mem_eq
    - OBJ_nid2sn
    - EC_POINT_point2oct
    - BN_clear_bit
    - EVP_PKEY_assign_EC_KEY
    - TEST_true
    - EC_GROUP_get_field_type
    - OPENSSL_free
    - BN_rshift1
    - EC_POINT_is_on_curve
    - BN_CTX_new
    - EC_POINT_oct2point
    - EVP_PKEY_derive_set_peer
    - EC_GROUP_new_curve_GFp
    - OSSL_PARAM_free
    - TEST_int_eq
    - EC_POINT_new
    - EVP_PKEY_CTX_new
    - EC_GROUP_free
    - EC_GROUP_set_generator
    - EVP_PKEY_new
    - OSSL_PARAM_BLD_new
    - TEST_note
    - BN_rand
    - BN_CTX_get
    - EC_KEY_new
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - EC_POINT_mul
    - TEST_int_gt
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get0_generator
    - EC_GROUP_get_curve
    - EC_GROUP_new_curve_GF2m
    linkageType: ''
    returnType: int
    signature: 'static int custom_params_test(int id) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:50,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:100,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:116,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:95,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:109,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:47,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:49,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:91,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:148,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:52,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:69,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:92,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:119,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:152,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:88,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:95,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:97,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:51,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:59,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:61,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:120,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:48,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:53,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:59,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:68,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:69,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:66,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:95,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:52,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:92,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:101,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:86,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:90,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:96,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:102,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:151,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:71,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:107,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:54,1
    - Dst: EC_GROUP_get_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:57,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:63,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:65,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:81,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:110,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:121,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:154,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:49,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:58,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:96,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:119,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:153,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:48,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:65,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:102,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:71,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:88,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:97,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:51,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:70,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:87,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:100,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:137,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:145,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:147,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:91,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:72,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:50,1
    - Dst: EC_GROUP_precompute_mult
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:61,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:67,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:109,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:111,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:136,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:150,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:47,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:54,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:90,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:121,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:137,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:149,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:87,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:81,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:46,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:57,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:53,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:63,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:64,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:107,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:110,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:111,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:68,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:101,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:66,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:46,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:106,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:136,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 222
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 156
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 156
    functionName: group_order_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_invert
    - EC_POINT_free
    - BN_CTX_free
    - EC_GROUP_precompute_mult
    - BN_set_word
    - BN_add
    - EC_POINT_add
    - BN_set_negative
    - TEST_true
    - TEST_info
    - BN_CTX_new
    - TEST_false
    - BN_one
    - EC_POINT_is_at_infinity
    - TEST_int_eq
    - EC_POINT_new
    - EC_POINT_copy
    - EC_GROUP_get_order
    - TEST_ptr
    - BN_value_one
    - BN_new
    - EC_POINT_mul
    - EC_POINTs_mul
    - EC_POINT_cmp
    - BN_mul
    - BN_free
    - EC_GROUP_get0_generator
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'static int group_order_tests(EC_GROUP *group) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1325,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1336,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1357,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1359,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1376,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1404,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1419,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1443,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1321,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1324,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1388,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1400,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1421,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1424,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1430,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1359,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1327,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1334,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1341,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1422,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1437,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1375,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1364,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1323,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1326,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1340,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1345,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1356,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1420,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1440,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1330,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1342,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1359,1
    - Dst: EC_GROUP_precompute_mult
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1393,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1407,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1410,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1411,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1422,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1423,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1439,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1438,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1346,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1329,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1334,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1341,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1375,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1383,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1420,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1442,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1372,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1332,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1351,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1376,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1387,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1388,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1391,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1407,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1433,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1346,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1353,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1368,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1331,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1337,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1343,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1358,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1378,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1384,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1414,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1415,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1436,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1323,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1326,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1351,1
    - Dst: EC_GROUP_have_precompute_mult
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1391,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1407,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1424,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1356,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1325,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1332,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1336,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1337,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1345,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1364,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1353,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1346,1
    - Dst: BN_rshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1378,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1328,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1335,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1338,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1340,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1360,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1363,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1355,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1344,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1376,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1419,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1360,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1327,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1339,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1432,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1429,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1329,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1335,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1338,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1343,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1367,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1355,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1344,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1393,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1431,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1328,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1339,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1342,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1358,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1434,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1403,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1324,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1331,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1357,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1384,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1399,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1400,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1415,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1423,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1441,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1372,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1330,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1371,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1411,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1421,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1404,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 244
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1445
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1445
    functionName: nistp_single_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_GROUP_new_by_curve_name
    - EC_POINT_invert
    - EC_POINT_free
    - EC_GROUP_get_degree
    - EC_GROUP_have_precompute_mult
    - BN_CTX_free
    - EC_GROUP_precompute_mult
    - BN_set_word
    - BN_add
    - EC_POINT_set_affine_coordinates
    - BN_hex2bn
    - TEST_true
    - BN_CTX_new
    - TEST_false
    - TEST_int_eq
    - EC_POINT_new
    - EC_GROUP_free
    - EC_POINT_copy
    - BN_rshift
    - EC_GROUP_set_generator
    - BN_check_prime
    - TEST_note
    - EC_GROUP_set_curve
    - TEST_ptr
    - BN_value_one
    - BN_new
    - EC_POINT_mul
    - EC_POINT_cmp
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int nistp_single_test(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2353,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2351,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2357,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2372,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2363,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2352,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2353,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2354,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2369,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2382,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2352,1
    - Dst: EC_POINT_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2354,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2357,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2363,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2360,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2372,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2381,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2351,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2366,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2369,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2380,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2385
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2385
    functionName: ec_point_hex2point_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - ec_point_hex2point_test_helper
    - EC_POINT_free
    - TEST_ptr
    - TEST_true
    - BN_CTX_free
    - EC_GROUP_free
    - EC_POINT_dup
    - BN_CTX_new
    - EC_GROUP_get0_generator
    linkageType: ''
    returnType: int
    signature: 'static int ec_point_hex2point_test(int id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2622,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2631,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2634,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2653,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2655,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2657,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2679,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2682,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2686,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2681,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2621,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2622,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2625,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2641,1
    - Dst: BN_clear_bit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2639,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2636,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2643,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2648,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2658,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2659,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2661,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2666,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2683,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2665,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2666,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2685,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2658,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2621,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2627,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2640,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2641,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2636,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2645,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2645,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2648,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2653,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2655,1
    - Dst: do_test_custom_explicit_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2673,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2680,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2670,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2665,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2627,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2634,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2639,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2636,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2640,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2643,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2649,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2649,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2653,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2659,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2661,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2662,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2684,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2656,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2662,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 112
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2689
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2689
    functionName: custom_generator_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_GROUP_new_by_curve_name
    - EC_POINT_free
    - EC_GROUP_get_degree
    - EC_GROUP_get0_order
    - BN_CTX_free
    - BN_CTX_start
    - EC_GROUP_order_bits
    - OPENSSL_malloc
    - BN_CTX_end
    - TEST_mem_eq
    - OBJ_nid2sn
    - BN_clear_bit
    - EC_POINT_point2oct
    - OPENSSL_free
    - TEST_true
    - BN_rshift1
    - BN_CTX_new
    - TEST_int_eq
    - EC_POINT_new
    - EC_GROUP_free
    - EC_GROUP_set_generator
    - TEST_note
    - BN_rand
    - BN_CTX_get
    - do_test_custom_explicit_fromdata
    - TEST_ptr
    - EC_POINT_mul
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get0_generator
    linkageType: ''
    returnType: int
    signature: 'static int custom_generator_test(int id) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:303,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:312,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:369,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:342,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:240,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:281,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:287,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:347,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:557,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:601,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:225,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:265,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:300,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:502,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:548,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:302,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:478,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:550,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:177,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:194,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:255,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:373,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:444,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:391,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:496,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:502,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:478,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:266,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:368,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:460,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:550,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:328,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:198,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:506,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:570,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:441,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:200,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:319,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:432,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:453,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:501,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:522,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:350,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:532,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:570,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:192,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:233,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:359,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:445,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:529,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:537,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:587,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:573,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:369,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:222,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:256,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:342,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:386,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:400,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:402,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:240,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:347,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:455,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:562,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:569,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:400,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:204,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:256,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:234,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:320,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:402,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:562,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:569,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:590,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:361,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:416,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:391,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:177,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:194,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:257,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:281,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:548,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:410,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:203,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:302,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:537,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:596,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:207,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:466,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:433,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:488,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:361,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:534,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:599,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:173,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:203,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:535,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:583,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:393,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:289,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:328,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:339,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:593,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:184,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:233,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:359,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:483,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:412,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:461,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:501,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:522,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:529,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:533,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:216,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:289,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:282,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:339,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:403,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:178,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:329,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:332,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:445,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:469,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:461,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:533,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:561,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:571,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:561,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:246,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:175,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:192,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:204,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:208,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:262,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:342,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:386,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:417,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:578,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:234,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:257,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:320,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:422,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:298,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:417,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:208,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:291,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:311,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:186,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:201,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:211,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:296,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:305,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:336,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:422,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:466,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:433,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:247,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:331,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:534,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:229,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:393,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:535,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:583,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:207,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:247,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:331,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:514,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:457,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:188,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:307,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:349,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:362,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:425,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:173,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:248,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:259,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:282,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:332,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:329,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:354,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:175,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:178,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:199,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:571,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:578,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:322,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:449,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:403,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:489,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:505,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:450,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:324,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:354,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:494,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:461,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:394,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:195,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:291,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:298,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:364,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:196,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:271,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:296,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:446,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:378,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:374,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:417,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:195,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:237,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:199,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:219,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:272,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:364,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:507,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:595,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:196,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:271,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:299,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:356,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:472,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:446,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:454,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:530,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:580,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:598,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:372,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:414,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:239,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:201,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:253,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:248,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:362,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:457,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:549,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:592,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:179,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:193,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:286,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:331,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:414,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:406,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:568,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:349,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:407,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:379,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:570,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:597,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:436,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:489,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:197,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:322,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:449,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:515,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:404,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:450,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:394,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:439,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:494,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:191,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:284,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:324,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:520,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:602,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:436,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:515,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:564,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:411,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:439,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:404,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:272,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:284,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:520,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:528,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:536,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:558,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:384,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:468,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:291,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:250,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:365,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:472,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:530,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:541,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:547,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:181,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:191,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:244,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:309,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:317,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:384,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:584,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:176,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:193,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:299,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:387,1
    - Dst: EC_GROUP_get_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:547,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:559,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:179,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:286,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:356,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:495,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:406,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:523,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:568,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:180,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:407,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:379,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:424,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:477,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:531,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:264,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:312,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:396,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:325,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:509,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:561,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:327,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:531,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:449,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:174,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:398,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:528,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:536,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:558,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:560,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:300,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:477,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:225,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:265,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:515,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:548,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:591,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:230,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:302,1
    - Dst: EC_GROUP_set_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:398,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:594,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:600,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:559,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:181,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:309,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:317,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:341,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:468,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:357,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:584,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:335,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:376,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:223,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:210,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:185,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:279,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:365,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:357,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:444,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:174,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:198,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:266,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:496,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:532,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:560,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:501,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:441,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:279,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:376,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:406,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:319,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:396,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:303,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:325,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:432,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:495,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:200,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:509,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:337,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:424,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:379,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:212,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:187,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:287,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:306,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:327,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:557,1
    CyclomaticComplexity: 213
    EdgeCount: 213
    ICount: 757
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 604
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 604
    functionName: prime_field_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_invert
    - EC_POINT_free
    - EC_GROUP_get_degree
    - BN_CTX_free
    - TEST_int_ne
    - BN_zero
    - group_order_tests
    - EC_POINT_add
    - BN_add
    - EC_POINT_set_affine_coordinates
    - BN_hex2bn
    - test_output_memory
    - EC_POINT_point2oct
    - BN_set_negative
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - TEST_BN_even
    - TEST_info
    - EC_POINT_is_on_curve
    - BN_CTX_new
    - BN_rshift1
    - TEST_false
    - EC_POINT_oct2point
    - TEST_BN_eq
    - EC_GROUP_new_curve_GFp
    - EC_POINT_is_at_infinity
    - EC_POINT_set_to_infinity
    - TEST_int_eq
    - BN_num_bits
    - EC_POINT_new
    - EC_GROUP_free
    - EC_POINT_copy
    - EC_GROUP_set_generator
    - BN_check_prime
    - TEST_note
    - BN_rand
    - EC_POINT_set_compressed_coordinates
    - EC_GROUP_set_curve
    - TEST_size_t_ne
    - TEST_ptr
    - BN_value_one
    - BN_new
    - EC_POINTs_mul
    - TEST_int_gt
    - EC_POINT_cmp
    - BN_free
    - EC_GROUP_get_curve
    - EC_GROUP_get_order
    - test_output_bignum
    linkageType: ''
    returnType: int
    signature: 'static int prime_field_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1096,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1095,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1097,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1099,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1123,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1118,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1107,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1127,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1131,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1107,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1106,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1100,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1130,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1095,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1096,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1098,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1099,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1118,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1100,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1106,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1123,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1129,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1097,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1098,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1133
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1133
    functionName: hybrid_point_encoding_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - EC_POINT_free
    - TEST_size_t_ne
    - TEST_ptr
    - EC_POINT_point2oct
    - OPENSSL_free
    - TEST_true
    - EC_POINT_new
    - EC_GROUP_free
    - BN_dec2bn
    - BN_free
    - TEST_false
    - EC_POINT_oct2point
    - TEST_size_t_eq
    - OPENSSL_malloc
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: int
    signature: 'static int hybrid_point_encoding_test(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:953,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:963,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:967,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:974,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:985,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1034,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1036,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1044,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1046,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1070,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:950,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:954,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:965,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:973,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:984,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1010,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1055,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1073,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:949,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:976,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:989,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1019,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1056,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1080,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:975,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:945,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:959,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:966,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1019,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1004,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1001,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1025,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1082,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:948,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:972,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:979,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:978,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1024,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1056,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1058,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:982,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:992,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1018,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:944,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:947,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:958,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:964,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1033,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1043,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1076,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:946,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:971,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1030,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1079,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:949,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:961,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:965,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:975,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:985,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:992,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1032,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1042,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1052,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1078,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:964,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:971,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:974,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:996,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1034,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1044,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1081,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:977,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:960,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:967,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1007,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1040,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1062,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1063,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1072,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:984,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:995,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:973,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1022,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:944,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:953,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:963,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1008,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:976,1
    - Dst: EC_POINT_oct2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1055,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:946,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1015,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:978,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1018,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1033,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1043,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1062,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1066,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1074,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1075,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:977,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:945,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:979,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1054,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1063,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1077,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:982,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:957,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:966,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:989,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1014,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1025,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1010,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:947,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:948,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:950,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:954,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:972,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:997,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1024,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1071,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 220
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1084
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1084
    functionName: char2_field_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_invert
    - EC_POINT_free
    - BN_CTX_free
    - TEST_int_ne
    - EC_POINT_add
    - EC_POINT_set_affine_coordinates
    - BN_hex2bn
    - test_output_memory
    - EC_POINT_point2oct
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - TEST_info
    - EC_POINT_is_on_curve
    - BN_CTX_new
    - EC_POINT_oct2point
    - EC_POINT_is_at_infinity
    - EC_POINT_set_to_infinity
    - TEST_int_eq
    - EC_POINT_new
    - EC_GROUP_free
    - EC_POINT_copy
    - TEST_note
    - EC_POINT_set_compressed_coordinates
    - TEST_size_t_ne
    - TEST_ptr
    - BN_new
    - TEST_int_gt
    - EC_POINT_cmp
    - BN_free
    - EC_GROUP_new_curve_GF2m
    - EC_GROUP_get_curve
    - test_output_bignum
    linkageType: ''
    returnType: int
    signature: 'static int char2_field_tests(void) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_basis_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2421,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2427,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2433,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2446,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2447,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2504,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2486,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2511,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2496,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2538,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2579,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2596,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2589,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2460,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2441,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2483,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2492,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2491,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2530,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2557,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2559,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2562,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2565,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2452,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2459,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2493,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2501,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2520,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2522,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2545,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2546,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2573,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2577,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2579,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2602,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2588,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2480,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2528,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2599,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2413,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2458,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2493,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2538,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2539,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2546,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2574,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2578,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2585,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2589,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2551,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2575,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2582,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2442,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2454,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2474,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2498,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2459,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2507,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2524,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2528,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2536,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2598,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2499,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2526,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2572,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2576,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2580,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2584,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2588,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2495,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2505,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2408,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2410,1
    - Dst: EC_GROUP_get_trinomial_basis
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2423,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2432,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2435,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2443,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2549,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2553,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2584,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2452,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2510,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2499,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2514,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2518,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2520,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2522,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2526,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2567,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2573,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2585,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2572,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2412,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2432,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2435,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2440,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2480,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2461,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2491,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2542,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2549,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2565,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2586,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2427,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2436,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2433,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2468,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2496,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2548,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2551,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2561,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2564,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2575,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2595,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2603,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2501,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2437,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2441,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2455,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2530,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2557,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2559,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2562,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2436,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2448,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2513,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2507,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2468,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2576,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2580,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2581,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2582,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2587,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2601,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2477,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2460,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2416,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2423,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2437,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2461,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2505,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2553,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2587,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2511,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2447,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2486,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2513,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2539,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2574,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2578,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2586,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2600,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2577,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2597,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2458,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2409,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2413,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2454,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2474,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2524,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2536,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2581,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 326
    argCount: 4
    argNames:
    - group
    - ctx
    - gen
    - gen_size
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 2605
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2605
    functionName: do_test_custom_explicit_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_get_utf8_string_param
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_fromdata_init
    - EC_GROUP_get_pentanomial_basis
    - EC_GROUP_get0_order
    - EC_GROUP_get_degree
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    - TEST_mem_eq
    - TEST_str_eq
    - EVP_PKEY_gettable_params
    - TEST_true
    - EC_GROUP_get_field_type
    - EC_GROUP_get_trinomial_basis
    - TEST_false
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_int_eq
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_new
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - EC_GROUP_get_basis_type
    - TEST_ptr
    - EC_GROUP_get0_seed
    - EVP_PKEY_get_octet_string_param
    - TEST_int_gt
    - EC_GROUP_get0_cofactor
    - OSSL_PARAM_locate_const
    - BN_free
    - EC_GROUP_get_seed_len
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: 'static int do_test_custom_explicit_fromdata(EC_GROUP *group, BN_CTX
      *ctx, unsigned char *gen, int gen_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1160,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1164,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1161,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1160,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1161,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1167
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1167
    functionName: internal_curve_test_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - OBJ_nid2sn
    - TEST_ptr
    - EC_GROUP_free
    - TEST_info
    - group_order_tests
    linkageType: ''
    returnType: int
    signature: 'static int internal_curve_test_method(int n) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 38
    argCount: 2
    argNames:
    - n1d
    - n2d
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1809
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1809
    functionName: are_ec_nids_compatible
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int are_ec_nids_compatible(int n1d, int n2d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2187,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2216,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2191,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2222,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2227,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2210,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2164,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2230,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2198,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2201,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2186,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2204,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2210,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2211,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2165,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2172,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2177,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2175,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2179,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2183,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2198,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2210,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2162,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2209,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2223,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2218,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2184,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2195,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2213,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2205,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2220,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2231,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2187,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2219,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2201,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2165,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2181,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2194,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2205,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2211,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2204,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2206,1
    - Dst: BN_lshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2222,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2185,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2216,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2219,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2162,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2164,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2174,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2178,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2190,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2197,1
    - Dst: BN_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2219,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2176,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2206,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2184,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2218,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2213,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2220,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2195,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2197,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2202,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2170,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2173,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2183,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2192,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2223,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2228,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2166,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2200,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2209,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 155
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2233
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2233
    functionName: cardinality_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - EC_POINT_free
    - BN_CTX_free
    - EC_GROUP_get0_order
    - BN_CTX_start
    - BN_set_word
    - EC_POINT_set_affine_coordinates
    - BN_lshift
    - BN_CTX_end
    - OBJ_nid2sn
    - BN_copy
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - EC_GROUP_get_field_type
    - TEST_info
    - BN_CTX_new
    - TEST_false
    - TEST_BN_eq
    - EC_GROUP_get_cofactor
    - EC_GROUP_new_curve_GFp
    - TEST_int_eq
    - EC_POINT_new
    - EC_GROUP_free
    - EC_GROUP_set_generator
    - BN_CTX_get
    - TEST_ptr
    - BN_value_one
    - EC_GROUP_get0_generator
    - EC_GROUP_get_curve
    - EC_GROUP_new_curve_GF2m
    - BN_sub
    linkageType: ''
    returnType: int
    signature: 'static int cardinality_test(int n) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:793,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:804,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:832,1
    - Dst: group_order_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:853,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:826,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:858,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:862,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:886,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:891,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:926,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:802,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:803,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:808,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:852,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:866,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:876,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:884,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:909,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:929,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:792,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:795,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:801,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:806,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:807,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:897,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:910,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:920,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:898,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:824,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:843,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:794,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:805,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:825,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:841,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:857,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:860,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:871,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:923,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:798,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:801,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:819,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:864,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:887,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:904,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:922,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:829,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:797,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:806,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:809,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:822,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:841,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:847,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:824,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:843,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:865,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:852,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:845,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:823,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:844,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:833,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:901,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:902,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:840,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:799,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:800,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:818,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:828,1
    - Dst: EC_POINT_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:859,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:861,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:863,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:867,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:885,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:794,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:803,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:807,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:844,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:842,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:897,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:878,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:902,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:910,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:918,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:921,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:849,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:825,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:793,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:822,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:860,1
    - Dst: EC_POINT_dbl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:861,1
    - Dst: EC_POINT_invert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:863,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:877,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:885,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:909,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:796,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:805,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:858,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:890,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:928,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:890,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:809,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:830,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:792,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:795,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:802,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:804,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:848,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:866,1
    - Dst: EC_POINTs_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:884,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:886,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:797,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:819,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:845,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:823,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:842,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:862,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:890,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:893,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:901,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:919,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:796,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:800,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:818,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:840,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:859,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:867,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:876,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:898,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:901,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:917,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:799,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:826,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:832,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:864,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:891,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:924,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:925,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:809,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:798,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:808,1
    - Dst: EC_POINT_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:865,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:876,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:878,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:887,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:927,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 281
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 931
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 931
    functionName: char2_curve_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_invert
    - EC_POINT_free
    - EC_GROUP_get_degree
    - BN_CTX_free
    - group_order_tests
    - BN_add
    - EC_POINT_set_affine_coordinates
    - EC_POINT_add
    - BN_hex2bn
    - BN_set_negative
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - TEST_BN_even
    - TEST_info
    - EC_POINT_is_on_curve
    - BN_CTX_new
    - BN_rshift1
    - TEST_false
    - TEST_BN_eq
    - EC_POINT_is_at_infinity
    - TEST_int_eq
    - BN_num_bits
    - EC_POINT_new
    - EC_GROUP_free
    - EC_POINT_copy
    - EC_GROUP_set_generator
    - TEST_note
    - BN_rand
    - EC_POINT_set_compressed_coordinates
    - TEST_ptr
    - BN_value_one
    - BN_new
    - EC_POINTs_mul
    - TEST_int_gt
    - EC_POINT_cmp
    - BN_free
    - OSSL_NELEM
    - EC_GROUP_new_curve_GF2m
    - test_output_bignum
    linkageType: ''
    returnType: int
    signature: 'static int char2_curve_test(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1177,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1185,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1190,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1189,1
    - Dst: EC_GROUP_get0_field
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1190,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1194,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1195,1
    - Dst: EC_GROUP_get0_field
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1195,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1199,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1200,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1201,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1204
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1204
    functionName: group_field_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - BN_hex2bn
    - EC_GROUP_get0_field
    - EC_GROUP_free
    - BN_free
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int group_field_test(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1704,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1708,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1712,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1724,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1730,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1731,1
    - Dst: EC_GROUP_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1731,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1740,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1742,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1702,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1703,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1709,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1725,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1724,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1729,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1739,1
    - Dst: ECPARAMETERS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1741,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1703,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1702,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1730,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1725,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1738,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1704,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1709,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:1712,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1745
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1745
    functionName: check_named_curve_lookup_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_GROUP_new_by_curve_name
    - ECPARAMETERS_free
    - EC_GROUP_cmp
    - EC_GROUP_check_named_curve
    - TEST_ptr
    - TEST_int_eq
    - BN_CTX_free
    - EC_GROUP_free
    - EC_GROUP_new_from_ecparameters
    - BN_CTX_new
    - TEST_int_gt
    - EC_GROUP_get_ecparameters
    linkageType: ''
    returnType: int
    signature: 'static int check_named_curve_lookup_test(int id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2132,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2134,1
    - Dst: d2i_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2132,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2133,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2133,1
    - Dst: d2i_ECPKParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2134,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2136,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2136,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2137,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2137,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2141,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2144
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2144
    functionName: cofactor_range_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - TEST_ptr
    - EC_GROUP_free
    - TEST_int_gt
    - EC_GROUP_get0_cofactor
    - d2i_ECPKParameters
    - TEST_BN_eq_zero
    - BN_free
    - TEST_BN_eq
    linkageType: ''
    returnType: int
    signature: 'static int cofactor_range_test(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EC_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2978,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2989,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2994,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2990,1
    - Dst: i2d_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2981,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2986,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2988,1
    - Dst: d2i_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2994,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2998,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2993,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3005,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2981,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2988,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2989,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3004,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2990,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2978,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2984,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3003,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2998,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3007
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 3007
    functionName: ec_d2i_publickey_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - d2i_PublicKey
    - EVP_EC_gen
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - i2d_PublicKey
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_eq
    - TEST_int_gt
    - EVP_PKEY_fromdata
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int ec_d2i_publickey_test(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3011,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3026,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3023,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3030,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3034,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3013,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3021,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3023,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3027,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3025,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3028,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3031,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3035,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3036,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3012,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3017,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3019,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3032,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3012,1
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3013,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3016,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3018,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3022,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3029,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3025,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3038
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3038
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ADD_TEST
    - ADD_ALL_TESTS
    - TEST_true
    - EC_get_builtin_curves
    - OSSL_NELEM
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:3042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3043
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3043
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2307,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2307,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2308,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2308,1
    - Dst: EC_POINT_point2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2313,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2314,1
    - Dst: EC_POINT_hex2point
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2314,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2315,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2315,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2325,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2331,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2332,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c:2325,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 4
    argNames:
    - group
    - P
    - form
    - bnctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 2336
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2336
    functionName: ec_point_hex2point_test_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ectest.c
    functionUses: []
    functionsReached:
    - EC_POINT_free
    - EC_POINT_set_to_infinity
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EC_POINT_new
    - EC_POINT_hex2point
    - EC_POINT_cmp
    - EC_POINT_point2hex
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ec_point_hex2point_test_helper(const EC_GROUP
      *group, const EC_POINT *P, point_conversion_form_t form, BN_CTX *bnctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: get_std_name_by_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_std_name_by_id(int id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:383,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:396,1
    - Dst: OPENSSL_cipher_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:400,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:407,1
    - Dst: SSL_get_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:424,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:414,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:430,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:452,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:453,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:388,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:395,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:420,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:409,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:432,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:436,1
    - Dst: get_std_name_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:437,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:438,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:390,1
    - Dst: OPENSSL_cipher_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:394,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:402,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:407,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:426,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:413,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:431,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:439,1
    - Dst: OPENSSL_cipher_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:451,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:461,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:389,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:401,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:418,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:444,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:445,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:450,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c:460,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 79
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 463
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 463
    functionName: test_cipher_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ciphername_test.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - TEST_str_eq
    - sk_SSL_CIPHER_num
    - SSL_CIPHER_standard_name
    - SSL_CIPHER_get_id
    - SSL_CTX_new
    - get_std_name_by_id
    - SSL_get_ciphers
    - TEST_ptr
    - TEST_info
    - SSL_CTX_free
    - SSL_CIPHER_get_name
    - sk_SSL_CIPHER_value
    - OPENSSL_cipher_name
    - TLS_server_method
    - SSL_new
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher_name(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:43,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:44,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: test_sanity_enum_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_sanity_enum_size(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:62,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: test_sanity_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_sanity_sign(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:81,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:85,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:93,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:106,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:97,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:119,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:82,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:86,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:87,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:90,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:107,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:113,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:80,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:83,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:92,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:84,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:89,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:108,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:98,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 124
    functionName: test_sanity_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    - TEST_size_t_ge
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int test_sanity_range(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:21,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: test_sanity_null_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_sanity_null_zero(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:53,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: test_sanity_twos_complement
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_sanity_twos_complement(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:71,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: test_sanity_unsigned_conversion
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_sanity_unsigned_conversion(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: test_sanity_memcmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int test_sanity_memcmp(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:133,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:136,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:135,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:134,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:137,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:138,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sanitytest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:391,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:393,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:395,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:393,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:396,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:397,1
    - Dst: DES_xcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:398,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:400,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:402,1
    - Dst: DES_xcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:403,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 406
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 406
    functionName: test_des_ede_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_int_eq
    - memcpy
    - DES_xcbc_encrypt
    - strlen
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_des_ede_cbc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: test_des_cfb48
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: 'static int test_des_cfb48(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:626,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:629,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:627,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:628,1
    - Dst: DES_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:632,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:634,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:636,1
    - Dst: DES_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:638,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 641
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 641
    functionName: test_des_ofb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - DES_ofb64_encrypt
    - TEST_mem_eq
    - memcpy
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_des_ofb64(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:414,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:417,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:419,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:419,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:417,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:421,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:421,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:423,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:424,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:425,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:431,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:434,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:435,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:427,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:437,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 438
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 438
    functionName: test_ede_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - DES_ede3_cbc_encrypt
    - TEST_mem_eq
    - TEST_int_eq
    - memcpy
    - strlen
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_ede_cbc(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:548,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:551,1
    - Dst: DES_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:555,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:552,1
    - Dst: DES_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:554,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:557,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:559,1
    - Dst: DES_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:561,1
    - Dst: DES_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:562,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:564,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:574,1
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:576,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:567,1
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:569,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:571,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 579
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 579
    functionName: test_des_cfb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - DES_cfb64_encrypt
    - DES_cfb_encrypt
    - TEST_mem_eq
    - cfb_test
    - memcpy
    - DES_set_key_checked
    linkageType: ''
    returnType: int
    signature: 'static int test_des_cfb64(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:649,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:652,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:655,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:651,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:650,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:658,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:660,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:662,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 665
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 665
    functionName: test_des_ede_ofb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - DES_ede3_ofb64_encrypt
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_des_ede_ofb64(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: test_des_cfb16
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: 'static int test_des_cfb16(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: test_des_cfb32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: 'static int test_des_cfb32(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:838,1
    - Dst: DES_check_key_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: test_des_check_bad_parity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - DES_check_key_parity
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_des_check_bad_parity(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:445,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:447,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:449,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:448,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:449,1
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 453
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 453
    functionName: test_input_align
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - memcpy
    - DES_ncbc_encrypt
    - strlen
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_input_align(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:586,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:589,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:591,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:593,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:587,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:595,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:597,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:599,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: test_des_ede_cfb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - DES_set_key_checked
    - DES_ede3_cfb64_encrypt
    - memcpy
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_des_ede_cfb64(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:849,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:850,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:849,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:851,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:850,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:852,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:853,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:858,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 861
    functionName: test_des_two_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - TEST_ptr
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_rand_key
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: int
    signature: 'static int test_des_two_key(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:460,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:463,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:464,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:462,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:464,1
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: test_output_align
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - memcpy
    - DES_ncbc_encrypt
    - strlen
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_output_align(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:608,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:614,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:609,1
    - Dst: DES_ofb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:610,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:611,1
    - Dst: DES_ofb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:615,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 618
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 618
    functionName: test_des_ofb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - DES_set_key_checked
    - DES_ofb_encrypt
    - memcpy
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_des_ofb(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:721,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:722,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:725,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:745,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:735,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:770,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:720,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:724,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:725,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:740,1
    - Dst: EVP_EncryptInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:739,1
    - Dst: EVP_EncryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:749,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:750,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:756,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:757,1
    - Dst: EVP_DecryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:761,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:723,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:733,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:722,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:721,1
    - Dst: test_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:730,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:740,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:749,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:739,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:734,1
    - Dst: EVP_DecryptInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:756,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:757,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:761,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:769,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:765,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 772
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 772
    functionName: test_des_key_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - EVP_DecryptInit
    - EVP_EncryptFinal
    - EVP_CIPHER_CTX_new
    - test_random
    - TEST_mem_eq
    - EVP_CIPHER_free
    - TEST_true
    - EVP_DecryptFinal
    - TEST_int_eq
    - memcpy
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_get_block_size
    - EVP_EncryptInit
    - TEST_size_t_le
    - TEST_ptr
    - EVP_DecryptUpdate
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_des_key_wrap(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:812,1
    - Dst: DES_is_weak_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 813
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 813
    functionName: test_des_weak_keys
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - DES_is_weak_key
    linkageType: ''
    returnType: int
    signature: 'static int test_des_weak_keys(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - p
    - buf
    argTypes:
    - unsigned char*
    - char
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *pt(const unsigned char *p, char buf[DATA_BUF_SIZE]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:339,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:340,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:341,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:343,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:342,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:344,1
    - Dst: DES_ecb3_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:345,1
    - Dst: DES_ecb3_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:346,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:348,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:349,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:350,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:353,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:354,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:355,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:350,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 359
    functionName: test_des_ede_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - DES_ecb3_encrypt
    - TEST_info
    - DES_set_key_unchecked
    - pt
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_des_ede_ecb(int i) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:472,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:474,1
    - Dst: DES_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:474,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:477,1
    - Dst: DES_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:472,1
    - Dst: DES_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:477,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:479,1
    - Dst: DES_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:479,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:481,1
    - Dst: DES_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 484
    functionName: test_des_crypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_ptr_null
    - DES_crypt
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_des_crypt(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:510,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:511,1
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:512,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:514,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:516,1
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:517,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bits
    - cfb_cipher
    argTypes:
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 520
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 520
    functionName: cfb_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - DES_set_key_checked
    - DES_cfb_encrypt
    - memcpy
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int cfb_test(int bits, unsigned char *cfb_cipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:673,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:678,1
    - Dst: TEST_cs_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:676,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:674,1
    - Dst: DES_cbc_cksum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 679
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 679
    functionName: test_des_cbc_cksum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - DES_cbc_cksum
    - TEST_cs_eq
    - DES_set_key_checked
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_des_cbc_cksum(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:313,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:314,1
    - Dst: DES_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:317,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:316,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:315,1
    - Dst: DES_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:318,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:320,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:321,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:322,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:322,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:325,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:327,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:326,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 331
    functionName: test_des_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - TEST_info
    - DES_set_key_unchecked
    - pt
    - DES_ecb_encrypt
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_des_ecb(int i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:367,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:369,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:372,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:369,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:371,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:373,1
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:374,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:376,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:379,1
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:380,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 383
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 383
    functionName: test_des_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_int_eq
    - memcpy
    - DES_ncbc_encrypt
    - strlen
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_des_cbc(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:491,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:496,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:493,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:495,1
    - Dst: DES_set_key_checked
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:493,1
    - Dst: DES_pcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:497,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:499,1
    - Dst: DES_pcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:501,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 504
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 504
    functionName: test_des_pcbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_int_eq
    - DES_pcbc_encrypt
    - strlen
    - DES_set_key_checked
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_des_pcbc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: test_des_cfb8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: 'static int test_des_cfb8(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DES_quad_cksum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:685,1
    - Dst: TEST_cs_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:688,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:686,1
    - Dst: TEST_cs_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:690,1
    - Dst: TEST_cs_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:692,1
    - Dst: TEST_cs_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:694,1
    - Dst: TEST_cs_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 699
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 699
    functionName: test_des_quad_cksum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - TEST_cs_eq
    - DES_quad_cksum
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_des_quad_cksum(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:875,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:881,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:885,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:870,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:874,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:880,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:886,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:878,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:884,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:887,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:891,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:869,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:873,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:877,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:883,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:879,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:888,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:889,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:890,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:868,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:871,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:872,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:876,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:882,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:888,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:889,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/destest.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 894
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 894
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/destest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:33,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:34,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:36,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - method
    - r
    - a
    argTypes:
    - char*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: a_is_zero_mod_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c
    functionUses: []
    functionsReached:
    - BN_print_var
    - BN_is_zero
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int a_is_zero_mod_one(const char *method, const BIGNUM *r,
      const BIGNUM *a) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:166,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:168,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:169,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:197,1
    - Dst: BN_mod_exp_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:201,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:204,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:205,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:209,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:210,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:212,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:215,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:231,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:232,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:216,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:233,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:217,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:198,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:167,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:168,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:171,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:175,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:178,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:185,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:189,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:189,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:192,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:198,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:200,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:229,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:230,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:206,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:211,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:163,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:163,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:167,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:170,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:172,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:171,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:199,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:201,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:207,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:226,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:208,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:227,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:214,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:228,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:166,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:169,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:172,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:170,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:178,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:182,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:185,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:192,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:196,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:196,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:200,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:218,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:219,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:220,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 126
    argCount: 1
    argNames:
    - round
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 236
    functionName: test_mod_exp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c
    functionUses: []
    functionsReached:
    - BN_rand
    - BN_mod_exp_mont
    - TEST_ptr
    - BN_new
    - RAND_bytes
    - TEST_true
    - BN_mod
    - TEST_int_gt
    - BN_CTX_new
    - TEST_info
    - BN_print_var
    - BN_mod_exp_recp
    - BN_mod_exp_simple
    - BN_mod_exp_mont_consttime
    - BN_free
    - BN_CTX_free
    - TEST_BN_eq
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_exp(int round) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:260,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:263,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:266,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:267,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:269,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:268,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:272,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:277,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:283,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:284,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:319,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:322,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:303,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:320,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:294,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:304,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:321,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:305,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:263,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:265,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:266,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:271,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:272,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:276,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:280,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:282,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:286,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:288,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:296,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:300,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:316,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:287,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:317,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:285,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:301,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:318,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:298,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:302,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:264,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:265,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:270,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:271,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:275,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:279,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:283,1
    - Dst: BN_mod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:284,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:285,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:287,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:308,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:309,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:315,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:295,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:260,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:264,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:267,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:268,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:270,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:269,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:278,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:286,1
    - Dst: BN_mod_exp_mont_consttime_x2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:288,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:306,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:325,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:293,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:297,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:323,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:307,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:324,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 123
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 328
    functionName: test_mod_exp_x2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c
    functionUses: []
    functionsReached:
    - BN_rand
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_CTX_free
    - BN_mod
    - TEST_info
    - BN_CTX_new
    - BN_mod_exp_mont_consttime_x2
    - BN_print_var
    - BN_free
    - BN_mod_exp_simple
    - TEST_BN_eq
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_exp_x2(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:332,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:333,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:55,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:64,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:102,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:104,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:115,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:132,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:141,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:143,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:128,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:91,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:142,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:94,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:118,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:50,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:55,1
    - Dst: BN_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:62,1
    - Dst: a_is_zero_mod_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:73,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:67,1
    - Dst: a_is_zero_mod_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:76,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:79,1
    - Dst: a_is_zero_mod_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:82,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:85,1
    - Dst: a_is_zero_mod_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:94,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:118,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:112,1
    - Dst: BN_MONT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:144,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:97,1
    - Dst: a_is_zero_mod_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:121,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:131,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:145,1
    - Dst: a_is_zero_mod_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:88,1
    - Dst: BN_MONT_CTX_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:108,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:140,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:54,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:54,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:57,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:64,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:61,1
    - Dst: BN_MONT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:97,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:100,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:102,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:104,1
    - Dst: a_is_zero_mod_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:115,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:128,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:91,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:56,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:57,1
    - Dst: BN_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:60,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:70,1
    - Dst: BN_mod_exp_recp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:73,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:76,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:79,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:82,1
    - Dst: BN_mod_exp_mont
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:88,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:112,1
    - Dst: BN_print_var
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:134,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c:108,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 107
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 148
    functionName: test_mod_exp_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exptest.c
    functionUses: []
    functionsReached:
    - BN_mod_exp_mont
    - BN_CTX_free
    - ERR_set_mark
    - BN_zero
    - BN_mod_exp_recp
    - TEST_error
    - TEST_true
    - BN_CTX_new
    - BN_mod_exp_mont_consttime
    - BN_mod_exp
    - TEST_false
    - BN_one
    - BN_mod_exp_mont_word
    - BN_print_var
    - BN_mod_exp_simple
    - BN_rand
    - ERR_pop_to_mark
    - BN_MONT_CTX_free
    - TEST_ptr
    - BN_new
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - TEST_BN_eq_zero
    - BN_free
    - a_is_zero_mod_one
    linkageType: ''
    returnType: int
    signature: 'static int test_mod_exp_zero(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_curve_nid2nist
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:99,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:100,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:103,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:106,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:108,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:112,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:113,1
    - Dst: fake_rand_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:119,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:119,1
    - Dst: fake_rand_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:129,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:146,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:139,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:131,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:103,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:105,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:107,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:113,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:114,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:115,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:120,1
    - Dst: EC_KEY_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:121,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:123,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:124,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:149,1
    - Dst: ECDSA_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:138,1
    - Dst: ECDSA_sign_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:130,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:147,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:96,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:108,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:110,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:121,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:123,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:125,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:130,1
    - Dst: ECDSA_do_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:134,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:129,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:151,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:134,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:150,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:96,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:106,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:110,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:107,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:112,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:114,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:115,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:140,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:148,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:152,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:155,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:154,1
    - Dst: ECDSA_do_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:131,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:153,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 110
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 157
    functionName: x9_62_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - EC_KEY_generate_key
    - RAND_get0_private
    - TEST_skip
    - EC_curve_nid2nist
    - EVP_DigestInit_ex
    - OPENSSL_hexstr2buf
    - EC_KEY_free
    - EVP_DigestUpdate
    - BN_hex2bn
    - TEST_mem_eq
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - OPENSSL_free
    - TEST_true
    - EC_KEY_key2buf
    - TEST_info
    - ECDSA_SIG_get0
    - BN_clear_free
    - TEST_BN_eq
    - TEST_int_eq
    - ECDSA_do_verify
    - ECDSA_SIG_free
    - EC_KEY_new_by_curve_name
    - EVP_get_digestbynid
    - ECDSA_do_sign_ex
    - EVP_MD_CTX_free
    - TEST_ptr
    - BN_new
    - fake_rand_set_callback
    - ECDSA_sign_setup
    - EVP_DigestFinal_ex
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int x9_62_tests(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:181,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:182,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:182,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - mctx
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: set_sm2_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - TEST_int_gt
    - TEST_ptr
    - EVP_PKEY_CTX_set1_id
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: 'static int set_sm2_id(EVP_MD_CTX *mctx, EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: test_builtin_as_ec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - test_builtin
    linkageType: ''
    returnType: int
    signature: 'static int test_builtin_as_ec(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:393,1
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:400,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:401,1
    - Dst: fake_rand_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:395,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:401,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:402,1
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:402,1
    - Dst: fake_rand_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:403,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:406,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:407,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:409,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:411,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 414
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - fake_rand_finish
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_true
    - TEST_note
    - EC_get_builtin_curves
    - OSSL_NELEM
    - OPENSSL_malloc
    - fake_rand_start
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:233,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:250,1
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:251,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:266,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:316,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:324,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:330,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:252,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:230,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:234,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:240,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:257,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:249,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:275,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:321,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:316,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:279,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:256,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:211,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:272,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:281,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:259,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:273,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:240,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:254,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:333,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:223,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:279,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:331,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:267,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:212,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:220,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:225,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:227,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:246,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:250,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:262,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:280,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:314,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:232,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:235,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:261,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:322,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:260,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:215,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:255,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:274,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:264,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:234,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:235,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:272,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:274,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:317,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:323,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:259,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:232,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:251,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:254,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:256,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:281,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:202,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:228,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:236,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:324,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:265,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:248,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:252,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:257,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:282,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:220,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:236,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:246,1
    - Dst: set_sm2_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:315,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:261,1
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:243,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:202,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:223,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:229,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:225,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:264,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:248,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:216,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:233,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:332,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:262,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:275,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:267,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:230,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:245,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:266,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:314,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:321,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:323,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:329,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 239
    argCount: 2
    argNames:
    - n
    - as
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 335
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 335
    functionName: test_builtin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - EC_KEY_generate_key
    - set_sm2_id
    - EVP_PKEY_free
    - RAND_bytes
    - TEST_int_ne
    - ECDSA_size
    - OPENSSL_malloc
    - TEST_int_le
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - EVP_PKEY_assign_EC_KEY
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_eq
    - TEST_info
    - EVP_DigestSign
    - TEST_int_ge
    - TEST_false
    - EVP_DigestSignInit
    - TEST_int_eq
    - EVP_PKEY_dup
    - EVP_MD_CTX_reset
    - EVP_DigestVerifyInit
    - EVP_PKEY_new
    - EVP_DigestVerify
    - EC_KEY_new_by_curve_name
    - EVP_MD_CTX_free
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: 'static int test_builtin(int n, int as) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:359,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:364,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:365,1
    - Dst: ECDSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:365,1
    - Dst: ECDSA_sign_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:371,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:371,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:375,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:382,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:359,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:361,1
    - Dst: ECDSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:361,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:364,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:367,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:376,1
    - Dst: ECDSA_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:376,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:383,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:363,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:368,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:372,1
    - Dst: ECDSA_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:372,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:378,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:384,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:360,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:360,1
    - Dst: ECDSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:369,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:369,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:374,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:379,1
    - Dst: ECDSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:379,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:381,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 386
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 386
    functionName: test_ecdsa_sig_NULL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - ECDSA_verify
    - EC_KEY_generate_key
    - TEST_int_le
    - TEST_int_eq
    - TEST_ptr
    - ECDSA_sign_ex
    - OPENSSL_free
    - ECDSA_sign
    - ECDSA_sign_setup
    - TEST_int_gt
    - BN_free
    - EC_KEY_free
    - OPENSSL_malloc
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: 'static int test_ecdsa_sig_NULL(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:419,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - fake_rand_finish
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:41,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:43,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:44,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:43,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:44,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:45,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:45,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:47,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:47,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:48,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:51,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:54,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:48,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - buf
    - num
    - name
    - ctx
    argTypes:
    - unsigned char*
    - size_t
    - ossl_unused*
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: fbytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - TEST_int_le
    - BN_num_bytes
    - TEST_ptr
    - BN_new
    - fake_rand_set_callback
    - TEST_true
    - BN_bn2binpad
    - TEST_int_gt
    - BN_free
    - OSSL_NELEM
    - TEST_int_lt
    linkageType: ''
    returnType: int
    signature: 'static int fbytes(unsigned char *buf, size_t num, ossl_unused const
      char *name, EVP_RAND_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: test_builtin_as_sm2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecdsatest.c
    functionUses: []
    functionsReached:
    - test_builtin
    linkageType: ''
    returnType: int
    signature: 'static int test_builtin_as_sm2(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - t
    - (*f)
    argTypes:
    - thread_t*
    - void
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: run_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: int
    signature: 'static int run_thread(thread_t *t, void (*f)(void)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - t
    - (*f)
    argTypes:
    - thread_t*
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: run_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached:
    - CreateThread
    linkageType: ''
    returnType: int
    signature: 'static int run_thread(thread_t *t, void (*f)(void)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: thread_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI thread_run(LPVOID arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: wait_for_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int wait_for_thread(thread_t thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: wait_for_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: 'static int wait_for_thread(thread_t thread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: thread_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached:
    - f
    linkageType: ''
    returnType: void*
    signature: 'static void *thread_run(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - t
    - (*f)
    argTypes:
    - thread_t*
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: run_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: int
    signature: 'static int run_thread(thread_t *t, void (*f)(void)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: wait_for_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest.h
    functionUses: []
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int wait_for_thread(thread_t thread) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:21,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:35,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:27,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:23,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:26,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:43,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:43,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:45,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:45,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:50,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 53
    functionName: test_no_deflt_ctx_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_true
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_available
    - OPENSSL_init_crypto
    - TEST_false
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_no_deflt_ctx_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/nodefltctxtest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:22,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: test_pem_password_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_pem_password_cb(char *buf, int size, int rwflag, void
      *userdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:90,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:38,1
    - Dst: UI_new_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:40,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:40,1
    - Dst: UI_UTIL_wrap_read_pem_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:39,1
    - Dst: UI_add_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:44,1
    - Dst: UI_add_input_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:46,1
    - Dst: UI_process
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:50,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:52,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:60,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:64,1
    - Dst: UI_destroy_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:65,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: test_old
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - UI_free
    - TEST_ptr
    - UI_new_method
    - UI_UTIL_wrap_read_pem_callback
    - UI_add_input_string
    - TEST_info
    - UI_process
    - UI_destroy_method
    - UI_add_user_data
    linkageType: ''
    returnType: int
    signature: 'static int test_old(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:80,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:82,1
    - Dst: destroy_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:84,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:81,1
    - Dst: password_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: test_new_ui
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/uitest.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - destroy_ui_method
    - TEST_int_gt
    - setup_ui_method
    - password_callback
    linkageType: ''
    returnType: int
    signature: 'static int test_new_ui(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:70,1
    - Dst: ossl_hexstr2buf_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:70,1
    - Dst: ossl_buf2hexstr_sep
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:72,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:72,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:71,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:73,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: test_hexstr_sep_to_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_str_eq
    - TEST_ptr
    - OPENSSL_free
    - ossl_hexstr2buf_sep
    - ossl_buf2hexstr_sep
    linkageType: ''
    returnType: int
    signature: 'static int test_hexstr_sep_to_from(int test_index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:129,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:129,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:130,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:130,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:120,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:120,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:121,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:122,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: test_hexstr_ex_to_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_str_eq
    - OPENSSL_hexstr2buf_ex
    - TEST_true
    - OPENSSL_buf2hexstr_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_hexstr_ex_to_from(int test_index) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:92,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:94,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:94,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:92,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:93,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:97,1
    - Dst: TEST_str_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:99,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:103,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:103,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:108,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c:109,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: test_hexstr_to_from
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hexstr_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_str_eq
    - TEST_ptr
    - OPENSSL_free
    - TEST_ptr_null
    - OPENSSL_hexstr2buf
    - OPENSSL_buf2hexstr
    - TEST_str_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_hexstr_to_from(int test_index) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:25,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:32,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:48,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:47,1
    - Dst: CMS_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:42,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:48,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:55,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:58,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:25,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:27,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:27,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:54,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:58,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:28,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:32,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:35,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:42,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:35,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:53,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:28,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:32,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:39,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:47,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:47,1
    - Dst: CMS_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:38,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:56,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 59
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 59
    functionName: test_encrypt_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - CMS_ContentInfo_free
    - BIO_free
    - sk_X509_push
    - BIO_s_mem
    - CMS_encrypt
    - BIO_new
    - CMS_decrypt
    - STACK_OF
    - ERR_peek_error
    - strcmp
    - TEST_true
    - BIO_new_mem_buf
    - TEST_int_eq
    - strlen
    - TEST_ptr
    - sk_X509_free
    - TEST_int_gt
    - sk_X509_new_null
    linkageType: ''
    returnType: int
    signature: 'static int test_encrypt_decrypt(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:78,1
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: test_encrypt_decrypt_aes_256_gcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_gcm
    - test_encrypt_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_encrypt_decrypt_aes_256_gcm(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:68,1
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: test_encrypt_decrypt_aes_128_gcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - test_encrypt_decrypt
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: 'static int test_encrypt_decrypt_aes_128_gcm(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:300,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:315,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - bio
    - p_len
    argTypes:
    - BIO*
    - long*
    constantsTouched: []
    func_position:
      end: 318
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 318
    functionName: read_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    - OPENSSL_free
    - BIO_read
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *read_all(BIO *bio, long *p_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:73,1
    - Dst: EVP_aes_192_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: test_encrypt_decrypt_aes_192_gcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - EVP_aes_192_gcm
    - test_encrypt_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_encrypt_decrypt_aes_192_gcm(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:63,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: test_encrypt_decrypt_aes_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - EVP_aes_128_cbc
    - test_encrypt_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_encrypt_decrypt_aes_cbc(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:282,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:284,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:283,1
    - Dst: d2i_CMS_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:283,1
    - Dst: CMS_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:284,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:286,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:287,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:288,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 289
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 289
    functionName: test_d2i_CMS_bio_NULL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - CMS_ContentInfo_free
    - ERR_peek_error
    - BIO_free
    - d2i_CMS_bio
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - CMS_verify
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: 'static int test_d2i_CMS_bio_NULL(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:329,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:329,1
    - Dst: d2i_CMS_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:334,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:338,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:334,1
    - Dst: read_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:338,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:341,1
    - Dst: d2i_CMS_ContentInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:341,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:346,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:346,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:352,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:353,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:351,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 356
    functionName: test_d2i_CMS_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - CMS_ContentInfo_free
    - ERR_peek_error
    - BIO_free
    - d2i_CMS_bio
    - TEST_ptr
    - TEST_int_eq
    - d2i_CMS_ContentInfo
    - OPENSSL_free
    - read_all
    linkageType: ''
    returnType: int
    signature: 'static int test_d2i_CMS_decode(const int idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:365,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:370,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:372,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:379,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:384,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:390,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:399,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:371,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:372,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:385,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:378,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:391,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:398,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:402,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:371,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:375,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:376,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:386,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:382,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:390,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:396,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:401,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:403,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:370,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:378,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:392,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:400,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 405
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 405
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - test_skip_common_options
    - BIO_free
    - TEST_ptr
    - ADD_TEST
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_true
    - PEM_read_bio_PrivateKey
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:409,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmsapitest.c
    functionUses: []
    functionsReached:
    - X509_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - b
    - oper
    - argp
    - argi
    - argl
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - int
    - long
    - long
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: my_bio_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long my_bio_callback(BIO *b, int oper, const char *argp, int
      argi, long argl, long ret) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:72,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:105,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:130,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:157,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:168,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:178,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:125,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:63,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:85,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:104,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:107,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:138,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:129,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:112,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:167,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:124,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:103,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:69,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:77,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:84,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:87,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:92,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:158,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:123,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:113,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:147,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:91,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:153,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:172,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:57,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:76,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:127,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:140,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:184,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:75,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:126,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:152,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:171,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:74,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:145,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:151,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:170,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:180,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:195,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:196,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:106,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:62,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:73,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:169,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:179,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:65,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:70,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:161,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:166,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:177,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:183,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:191,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:61,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:64,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:110,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:121,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:131,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:143,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:116,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:149,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:182,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:102,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:148,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:142,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:159,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:181,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:122,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:128,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:144,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:89,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:141,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:165,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:67,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:93,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:114,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:146,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:139,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:66,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:88,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:164,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:57,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:95,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:163,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:176,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:135,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:71,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:94,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:101,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:162,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 323
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 198
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 198
    functionName: test_bio_callback_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c
    functionUses: []
    functionsReached:
    - BIO_write
    - TEST_size_t_eq
    - TEST_mem_eq
    - BIO_puts
    - BIO_free
    - TEST_int_eq
    - BIO_read
    - BIO_set_callback_ex
    - BIO_set_mem_eof_return
    - BIO_s_mem
    - TEST_long_eq
    - TEST_ptr_eq
    - BIO_new
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_callback_ex(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 8
    argNames:
    - b
    - oper
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: my_bio_cb_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long my_bio_cb_ex(BIO *b, int oper, const char *argp, size_t
      len, int argi, long argl, int ret, size_t *processed) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:252,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:262,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:305,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:316,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:331,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:253,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:264,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:304,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:315,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:296,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:330,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:295,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:314,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:240,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:329,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:294,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:313,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:229,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:239,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:247,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:297,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:234,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:302,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:277,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:332,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:243,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:280,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:301,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:309,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:303,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:292,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:318,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:235,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:242,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:274,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:279,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:342,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:317,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:278,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:310,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:241,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:263,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:273,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:255,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:260,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:285,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:229,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:254,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:259,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:335,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:284,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:276,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:327,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:328,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:334,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:291,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:289,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:275,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:333,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:346,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:347,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:238,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:246,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:257,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:265,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:271,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:293,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:312,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:300,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:322,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:321,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:237,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:245,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:282,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:311,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:299,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:320,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:281,1
    - Dst: BIO_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:233,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:236,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:244,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:248,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:258,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:298,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:283,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:319,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:256,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:261,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:266,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:272,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:323,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 264
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 349
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 349
    functionName: test_bio_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c
    functionUses: []
    functionsReached:
    - BIO_write
    - TEST_mem_eq
    - BIO_puts
    - BIO_free
    - TEST_int_eq
    - BIO_read
    - BIO_set_mem_eof_return
    - BIO_s_mem
    - TEST_long_eq
    - TEST_ptr_eq
    - BIO_new
    - BIO_set_callback
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_callback(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:354,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_callback_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:44,1
    - Dst: OSSL_STORE_SEARCH_by_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:47,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:48,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:47,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:46,1
    - Dst: UI_create_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:48,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:49,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:49,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:51,1
    - Dst: OSSL_STORE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:51,1
    - Dst: OSSL_STORE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:52,1
    - Dst: OSSL_STORE_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:55,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:52,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:54,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:56,1
    - Dst: UI_destroy_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:53,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: test_store_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_SEARCH_by_alias
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - OSSL_STORE_close
    - OSSL_STORE_open_ex
    - OSSL_STORE_SEARCH_free
    - UI_destroy_method
    - UI_create_method
    - TEST_false
    - test_mk_file_path
    - OSSL_STORE_find
    linkageType: ''
    returnType: int
    signature: 'static int test_store_open(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:78,1
    - Dst: OSSL_STORE_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:83,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:85,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:79,1
    - Dst: OSSL_STORE_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:82,1
    - Dst: OSSL_STORE_INFO_get1_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:86,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:88,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:93,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:94,1
    - Dst: OSSL_STORE_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - uri
    - type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_load
    - TEST_ptr
    - OSSL_STORE_eof
    - EVP_PKEY_is_a
    - EVP_PKEY_free
    - OSSL_STORE_close
    - OSSL_STORE_open_ex
    - OSSL_STORE_INFO_free
    - OSSL_STORE_INFO_get1_PARAMS
    - OSSL_STORE_INFO_get_type
    linkageType: ''
    returnType: int
    signature: 'static int get_params(const char *uri, const char *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:170,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:177,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:168,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:176,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:171,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:166,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:165,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:164,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:167,1
    - Dst: OSSL_STORE_attach
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:168,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:170,1
    - Dst: OSSL_STORE_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:175,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:170,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:165,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:166,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:167,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:171,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:174,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:171,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: test_store_attach_unregistered_scheme
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_GET_REASON
    - ERR_peek_error
    - OSSL_STORE_attach
    - BIO_free
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - ERR_GET_LIB
    - OSSL_PROVIDER_unload
    - TEST_int_ne
    - OSSL_STORE_close
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: 'static int test_store_attach_unregistered_scheme(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:128,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:141,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:141,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:135,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:144,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:145,1
    - Dst: get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 149
    functionName: test_store_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c
    functionUses: []
    functionsReached:
    - get_params
    - TEST_true
    - BIO_snprintf
    - TEST_info
    - TEST_error
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_store_get_params(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:65,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:66,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:67,1
    - Dst: OSSL_STORE_SEARCH_by_key_fingerprint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: test_store_search_by_key_fingerprint_fail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_SEARCH_free
    - EVP_sha256
    - OSSL_STORE_SEARCH_by_key_fingerprint
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: 'static int test_store_search_by_key_fingerprint_fail(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:199,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:208,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:205,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:202,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:211,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:222,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:226,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:231,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:232,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:233,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c:235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ossl_store_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - opt_arg
    - ADD_ALL_TESTS
    - TEST_error
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:22,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:22,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: thread_fips_rand_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - TEST_true
    - EVP_MD_fetch
    linkageType: ''
    returnType: void
    signature: 'static void thread_fips_rand_fetch(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:33,1
    - Dst: wait_for_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:35,1
    - Dst: run_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:33,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:35,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: test_fips_rand_leak
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c
    functionUses: []
    functionsReached:
    - TEST_true
    - wait_for_thread
    - run_thread
    linkageType: ''
    returnType: int
    signature: 'static int test_fips_rand_leak(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/threadstest_fips.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:100,1
    - Dst: strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:103,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:106,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:104,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:101,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:106,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:109,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:110,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:113,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:114,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:120,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:124,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:119,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:115,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 126
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 126
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c
    functionUses: []
    functionsReached:
    - X509_free
    - strcasecmp
    - d2i_X509
    - TEST_ptr
    - TEST_skip
    - X509_PUBKEY_get0
    - OPENSSL_strcasecmp
    - X509_get_X509_PUBKEY
    - TEST_false
    - setlocale
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c
    functionUses: []
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/localetest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:69,1
    - Dst: EVP_PKEY_CTX_set1_tls1_prf_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:75,1
    - Dst: EVP_PKEY_CTX_set_tls1_prf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:74,1
    - Dst: EVP_md5_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:74,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:73,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:76,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:77,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:78,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:79,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 8
    argNames:
    - seed1
    - seed1_len
    - seed2
    - seed2_len
    - seed3
    - seed3_len
    - out
    - olen
    argTypes:
    - void*
    - int
    - void*
    - int
    - void*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: do_PRF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - EVP_md5_sha1
    - EVP_PKEY_CTX_set_tls1_prf_md
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    linkageType: ''
    returnType: int
    signature: 'static int do_PRF(const void *seed1, int seed1_len, const void *seed2,
      int seed2_len, const void *seed3, int seed3_len, unsigned char *out, int olen) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:133,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:140,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:156,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:162,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:143,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:177,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:169,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:173,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:124,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:147,1
    - Dst: PACKET_copy_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:151,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:185,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:189,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:136,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:126,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:130,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:155,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:160,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:163,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:173,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:169,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:177,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:181,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 1
    argNames:
    - wbio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 192
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 192
    functionName: validate_client_hello
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - PACKET_forward
    - PACKET_get_net_2
    - PACKET_get_1
    - BIO_reset
    - PACKET_equal
    - PACKET_buf_init
    - BIO_get_mem_data
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: 'static int validate_client_hello(BIO *wbio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:308,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:317,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:318,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:333,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:333,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:323,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:335,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:335,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:347,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:349,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:309,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:313,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:334,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:350,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:353,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:309,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:322,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:334,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:319,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:320,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:321,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:335,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:337,1
    - Dst: EVP_Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:337,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:341,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:300,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:308,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:311,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:316,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:342,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:343,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:344,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:355,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:354,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:356,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 107
    argCount: 5
    argNames:
    - rbio
    - type
    - seqnr
    - msg
    - len
    argTypes:
    - BIO*
    - unsigned char
    - uint64_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 358
    functionName: send_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - RAND_bytes
    - EVP_Cipher
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - OPENSSL_malloc
    - BIO_write
    - EVP_MAC_update
    - OPENSSL_free
    - TEST_true
    - TEST_int_ge
    - memcpy
    - EVP_CIPHER_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_init
    - EVP_aes_128_cbc
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - TEST_ptr
    - EVP_MAC_CTX_free
    - TEST_int_gt
    - EVP_MAC_free
    linkageType: ''
    returnType: int
    signature: 'static int send_record(BIO *rbio, unsigned char type, uint64_t seqnr,
      const void *msg, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_PRF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:374,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:384,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:380,1
    - Dst: do_PRF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:383,1
    - Dst: send_record
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - rbio
    argTypes:
    - SSL*
    - BIO*
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: send_finished
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_size
    - send_record
    - EVP_DigestFinal_ex
    - do_PRF
    linkageType: ''
    returnType: int
    signature: 'static int send_finished(SSL *s, BIO *rbio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:215,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rbio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 220
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 220
    functionName: send_hello_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - BIO_write
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int send_hello_verify(BIO *rbio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:109,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:110,1
    - Dst: d2i_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 113
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 113
    functionName: client_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - d2i_SSL_SESSION
    - memcpy
    linkageType: ''
    returnType: SSL_SESSION*
    signature: 'static SSL_SESSION *client_session(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:399,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:407,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:410,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:403,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:413,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:417,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:421,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:425,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:427,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:431,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - wbio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 441
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 441
    functionName: validate_ccs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_buf_init
    - BIO_get_mem_data
    linkageType: ''
    returnType: int
    signature: 'static int validate_ccs(BIO *wbio) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:477,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:487,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:488,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:494,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:536,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:524,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:595,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:548,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:549,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:539,1
    - Dst: send_record
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:565,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:496,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:507,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:510,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:534,1
    - Dst: validate_ccs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:554,1
    - Dst: send_server_hello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:543,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:474,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:480,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:498,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:495,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:507,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:565,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:493,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:498,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:515,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:543,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:546,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:554,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:592,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:562,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:534,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:535,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:506,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:541,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:547,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:581,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:475,1
    - Dst: client_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:482,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:501,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:586,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:479,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:486,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:496,1
    - Dst: send_finished
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:549,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:494,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:503,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:532,1
    - Dst: validate_client_hello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:535,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:596,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:533,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:542,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:567,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:524,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:593,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:476,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:492,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:541,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:503,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:552,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:529,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:509,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:540,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:594,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:492,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:506,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:513,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:575,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:577,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:548,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:576,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:495,1
    - Dst: send_hello_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:536,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:553,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:515,1
    - Dst: validate_client_hello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:542,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:502,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:483,1
    - Dst: EVP_md5_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:488,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:597,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 159
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 600
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 600
    functionName: test_bad_dtls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_up_ref
    - client_session
    - RAND_bytes
    - validate_client_hello
    - EVP_DigestInit_ex
    - BIO_s_mem
    - SSL_do_handshake
    - TEST_error
    - BIO_new
    - send_server_hello
    - SSL_new
    - validate_ccs
    - TEST_int_le
    - EVP_MD_CTX_new
    - send_hello_verify
    - TEST_true
    - send_record
    - SSL_SESSION_free
    - DTLS_client_method
    - SSL_CTX_set_options
    - TEST_false
    - SSL_set_session
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_cipher_list
    - SSL_set_bio
    - time
    - TEST_int_eq
    - memcpy
    - EVP_md5_sha1
    - SSL_CTX_free
    - SSL_set_connect_state
    - SSL_get_error
    - send_finished
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - SSL_read
    - TEST_ptr
    - EVP_MD_CTX_free
    - SSL_CTX_new
    - TEST_int_gt
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int test_bad_dtls(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:259,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:267,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:262,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:266,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rbio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 270
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 270
    functionName: send_server_hello
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bad_dtls_test.c
    functionUses: []
    functionsReached:
    - BIO_write
    - EVP_DigestUpdate
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int send_server_hello(BIO *rbio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tst_bio_core_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int tst_bio_core_puts(OSSL_CORE_BIO *bio, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: tst_bio_core_write_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_write_ex
    linkageType: ''
    returnType: int
    signature: 'static int tst_bio_core_write_ex(OSSL_CORE_BIO *bio, const char *data,
      size_t data_len, size_t *written) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tst_bio_core_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int tst_bio_core_up_ref(OSSL_CORE_BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: tst_bio_core_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_read_ex
    linkageType: ''
    returnType: int
    signature: 'static int tst_bio_core_read_ex(OSSL_CORE_BIO *bio, char *data, size_t
      data_len, size_t *bytes_read) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tst_bio_core_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: 'static int tst_bio_core_gets(OSSL_CORE_BIO *bio, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - OSSL_CORE_BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tst_bio_core_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long tst_bio_core_ctrl(OSSL_CORE_BIO *bio, int cmd, long num,
      void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tst_bio_core_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'static int tst_bio_core_free(OSSL_CORE_BIO *bio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:69,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:76,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:90,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:88,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:89,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:105,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:95,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:75,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:95,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:96,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:103,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:77,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:90,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:88,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:96,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:102,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:104,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:75,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:82,1
    - Dst: BIO_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:82,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:83,1
    - Dst: BIO_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:83,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:86,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:91,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:95,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:89,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:86,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 107
    functionName: test_bio_core
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - BIO_write
    - BIO_free
    - TEST_str_eq
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - BIO_read
    - TEST_true
    - TEST_int_gt
    - BIO_s_mem
    - TEST_ptr_null
    - OSSL_LIB_CTX_new_from_dispatch
    - TEST_false
    - BIO_eof
    - BIO_puts
    - BIO_new
    - BIO_new_from_core_bio
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_core(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:111,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:112,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_core_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:47,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:53,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:48,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:47,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:48,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:53,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:54,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:54,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:62,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - group
    - point
    - num
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - ossl_intmax_t
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: walk_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EC_POINT_get_affine_coordinates
    - TEST_true
    - BN_new
    - EC_POINT_mul
    - BN_free
    linkageType: ''
    returnType: BIGNUM*
    signature: 'static BIGNUM *walk_curve(const EC_GROUP *group, EC_POINT *point,
      ossl_intmax_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_intmax
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:130,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:135,1
    - Dst: opt_intmax
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:138,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:131,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:138,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 155
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 155
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - opt_arg
    - opt_intmax
    - TEST_error
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:77,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:78,1
    - Dst: EC_POINT_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:78,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:78,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:77,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:80,1
    - Dst: walk_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:80,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:84,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:88,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:90,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:98,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:96,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:99,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:88,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:89,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c:97,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: test_curve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ecstresstest.c
    functionUses: []
    functionsReached:
    - BN_print
    - EC_GROUP_new_by_curve_name
    - BIO_printf
    - BN_hex2bn
    - EC_POINT_free
    - TEST_ptr
    - TEST_true
    - walk_curve
    - EC_GROUP_free
    - EC_POINT_dup
    - BN_free
    - EC_GROUP_get0_generator
    - TEST_BN_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_curve(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:22,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:25,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:25,1
    - Dst: X509_LOOKUP_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:25,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:26,1
    - Dst: X509_load_cert_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:26,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:27,1
    - Dst: X509_load_cert_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:27,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:30,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:31,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: test_509_dup_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - X509_STORE_add_lookup
    - X509_load_cert_file
    - TEST_ptr
    - test_get_argument
    - TEST_true
    - X509_STORE_CTX_free
    - X509_LOOKUP_file
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: 'static int test_509_dup_cert(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:41,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:42,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:50,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:47,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_dup_cert_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_ALL_TESTS
    - TEST_int_gt
    - test_get_argument_count
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:189,1
    - Dst: RC5_32_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:192,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:193,1
    - Dst: RC5_32_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:189,1
    - Dst: RC5_32_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:196,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: test_rc5_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c
    functionUses: []
    functionsReached:
    - RC5_32_set_key
    - TEST_mem_eq
    - TEST_true
    - RC5_32_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_rc5_ecb(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:238,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:238,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:212,1
    - Dst: RC5_32_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:212,1
    - Dst: RC5_32_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:217,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:220,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:216,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:224,1
    - Dst: RC5_32_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:225,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: test_rc5_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc5test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - TEST_true
    - RC5_32_set_key
    - RC5_32_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_rc5_cbc(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:55,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:57,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: test_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: int
    signature: 'static int test_context(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_context
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: test_def_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c
    functionUses: []
    functionsReached:
    - test_context
    linkageType: ''
    returnType: int
    signature: 'static int test_def_context(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: foo_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void foo_free(void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: foo_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *foo_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:64,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:67,1
    - Dst: test_context
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:65,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: test_app_context
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c
    functionUses: []
    functionsReached:
    - test_context
    - TEST_ptr
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_app_context(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:85,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:87,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:92,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:104,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:101,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:121,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:78,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:84,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:109,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:118,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:119,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:103,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:97,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:109,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:114,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:118,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:120,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:126,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:79,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:101,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:108,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:103,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:102,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:110,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:120,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 128
    functionName: test_set0_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_set0_default
    - TEST_ptr
    - TEST_int_eq
    - OSSL_LIB_CTX_new
    - TEST_ptr_eq
    - OSSL_LIB_CTX_get0_global_default
    linkageType: ''
    returnType: int
    signature: 'static int test_set0_default(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:132,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:133,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/context_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:214,1
    - Dst: X509_EXTENSION_create_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:218,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:221,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:222,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:224,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:220,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:227,1
    - Dst: sk_X509_EXTENSION_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:228,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:229,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:211,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:214,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:216,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:227,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:215,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:219,1
    - Dst: OSSL_CMP_CTX_set0_reqExtensions
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:222,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:221,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:223,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:229,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:233,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:211,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:215,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:216,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:230,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: execute_CTX_reqExtensions_have_SAN_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - X509_EXTENSION_create_by_NID
    - sk_X509_EXTENSION_pop
    - TEST_int_eq
    - TEST_ptr
    - ASN1_OCTET_STRING_new
    - TEST_true
    - RAND_bytes
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_push
    - X509_EXTENSION_free
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    - ASN1_OCTET_STRING_free
    - sk_X509_EXTENSION_free
    - TEST_false
    - ASN1_OCTET_STRING_set
    - OSSL_CMP_CTX_set0_reqExtensions
    linkageType: ''
    returnType: int
    signature: 'static int execute_CTX_reqExtensions_have_SAN_test(OSSL_CMP_CTX_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:303,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: test_cmp_ctx_log_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_ctx_log_cb(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:167,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:163,1
    - Dst: ossl_cmp_add_error_line
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:169,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:168,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:166,1
    - Dst: ossl_cmp_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:165,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:175,1
    - Dst: ERR_add_error_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:179,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:180,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:184,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:185,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:180,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:151,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:157,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:162,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:171,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:176,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:146,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:155,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:155,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:172,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 190
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 190
    functionName: execute_CTX_print_errors_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - ERR_add_error_txt
    - ERR_raise
    - ossl_cmp_add_error_data
    - OSSL_CMP_CTX_set_log_cb
    - TEST_int_eq
    - TEST_true
    - OSSL_CMP_CTX_print_errors
    - ossl_cmp_add_error_line
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int execute_CTX_print_errors_test(OSSL_CMP_CTX_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:239,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: test_CTX_reqExtensions_have_SAN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_CTX_reqExtensions_have_SAN(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - bio
    - arg
    - use_ssl
    - detail
    argTypes:
    - BIO*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: test_http_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *test_http_cb(BIO *bio, void *arg, int use_ssl, int detail) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sk
    argTypes:
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: sk_X509_pop_X509_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - sk_X509_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void sk_X509_pop_X509_free(STACK_OF(X509) *sk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEDANTIC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:250,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:255,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:251,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:254,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:252,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:256,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:256,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:257,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:257,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: test_log_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - PEDANTIC
    - TEST_int_eq
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_log_cb(const char *func, const char *file, int line,
      OSSL_CMP_severity level, const char *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: test_transfer_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *test_transfer_cb(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: char_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void char_free(char *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:492,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:495,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: X509_STORE_new_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - X509_VERIFY_PARAM_set_flags
    - X509_STORE_get0_param
    linkageType: ''
    returnType: X509_STORE*
    signature: 'static X509_STORE *X509_STORE_new_1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: char_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *char_new(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:74,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:79,1
    - Dst: ossl_cmp_ctx_set0_validatedSrvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:80,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:81,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:82,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:91,1
    - Dst: sk_X509_pop_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:108,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:68,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:76,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:80,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:83,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:87,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:75,1
    - Dst: sk_X509_new_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:76,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:77,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:84,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:74,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:75,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:78,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:81,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:109,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 111
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 111
    functionName: execute_CTX_reinit_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - sk_X509_new_1
    - ossl_cmp_ctx_set0_newCert
    - STACK_OF
    - OSSL_CMP_CTX_set1_senderNonce
    - ossl_cmp_ctx_set1_recipNonce
    - TEST_true
    - OSSL_CMP_CTX_reinit
    - OSSL_CMP_CTX_set1_transactionID
    - ossl_cmp_ctx_set0_statusString
    - ossl_cmp_ctx_set1_newChain
    - ossl_cmp_ctx_set1_caPubs
    - sk_X509_pop_X509_free
    - ASN1_OCTET_STRING_free
    - ossl_cmp_ctx_set0_validatedSrvCert
    - X509_dup
    - TEST_ptr
    - ASN1_OCTET_STRING_new
    - ossl_cmp_ctx_set1_extraCertsIn
    linkageType: ''
    returnType: int
    signature: 'static int execute_CTX_reinit_test(OSSL_CMP_CTX_TEST_FIXTURE *fixture) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_log_open
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:270,1
    - Dst: ossl_cmp_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:276,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:278,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:289,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:282,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:287,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:282,1
    - Dst: OSSL_CMP_log_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:296,1
    - Dst: OSSL_CMP_log_open
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:269,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:272,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:280,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:292,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:267,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:277,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:280,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:293,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:272,1
    - Dst: ossl_cmp_err
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:275,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:278,1
    - Dst: ossl_cmp_log2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:286,1
    - Dst: ossl_cmp_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:279,1
    - Dst: OSSL_CMP_log_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 299
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 299
    functionName: execute_cmp_ctx_log_cb_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_warn
    - ossl_cmp_log2
    - OSSL_CMP_CTX_set_log_cb
    - OSSL_CMP_log_open
    - TEST_int_eq
    - TEST_true
    - OSSL_TRACE
    - ossl_cmp_debug
    - ossl_cmp_err
    - OSSL_CMP_CTX_set_log_verbosity
    - OSSL_CMP_log_close
    linkageType: ''
    returnType: int
    signature: 'static int execute_cmp_ctx_log_cb_test(OSSL_CMP_CTX_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - cert
    - fail_info
    - txt
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: test_certConf_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_certConf_cb(OSSL_CMP_CTX *ctx, X509 *cert, int fail_info,
      const char **txt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:36,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:36,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:39,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:38,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - tear_down
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_CMP_CTX_TEST_FIXTURE*
    signature: 'static OSSL_CMP_CTX_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:28,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(OSSL_CMP_CTX_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:48,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:53,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:49,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:52,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: sk_X509_new_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_dup
    - sk_X509_free
    - sk_X509_push
    - sk_X509_new_null
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'static STACK_OF(X509) *sk_X509_new_1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:194,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: test_CTX_print_errors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_CTX_print_errors(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:115,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: test_CTX_reinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_CTX_reinit(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:126,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:127,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: msg_total_size_log_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_ctx_test.c
    functionUses: []
    functionsReached:
    - TEST_note
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int msg_total_size_log_cb(const char *func, const char *file,
      int line, OSSL_CMP_severity level, const char *msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:64,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:73,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - enc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: fail_due_to_record_overflow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c
    functionUses: []
    functionsReached:
    - ERR_GET_LIB
    - ERR_GET_REASON
    - ERR_peek_error
    linkageType: ''
    returnType: int
    signature: 'static int fail_due_to_record_overflow(int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:32,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:52,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:40,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - b
    - len
    - rectype
    - recversion
    argTypes:
    - BIO*
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: write_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c
    functionUses: []
    functionsReached:
    - BIO_write_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int write_record(BIO *b, size_t len, int rectype, int recversion) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:187,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:193,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:188,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:192,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:193,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_s_mempacket_test_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c
    functionUses: []
    functionsReached:
    - bio_s_mempacket_test_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:103,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:104,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:121,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:148,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:142,1
    - Dst: fail_due_to_record_overflow
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:142,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:166,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:169,1
    - Dst: fail_due_to_record_overflow
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:169,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:179,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:115,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:134,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:162,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:178,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:103,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:148,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:166,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:177,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:103,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:125,1
    - Dst: write_record
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:134,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:138,1
    - Dst: write_record
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:162,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:138,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c:176,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 73
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 181
    functionName: test_record_overflow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/recordlentest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - TEST_int_le
    - SSL_CTX_set_max_proto_version
    - SSL_accept
    - TEST_int_eq
    - create_ssl_connection
    - SSL_get_rbio
    - TEST_true
    - fail_due_to_record_overflow
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_read_ex
    - write_record
    - create_ssl_ctx_pair
    - TEST_false
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_record_overflow(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:40,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:48,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:53,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:49,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:54,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:55,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: test_tbl_standard
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_int_ne
    - TEST_info
    - OSSL_NELEM
    - OBJ_nid2ln
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_tbl_standard(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:164,1
    - Dst: ASN1_mbstring_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - univ
    - len
    - expected
    argTypes:
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: test_unicode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ASN1_mbstring_copy
    linkageType: ''
    returnType: int
    signature: 'static int test_unicode(const unsigned char *univ, size_t len, int
      expected) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_unicode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:185,1
    - Dst: test_unicode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: test_unicode_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c
    functionUses: []
    functionsReached:
    - test_unicode
    linkageType: ''
    returnType: int
    signature: 'static int test_unicode_range(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:77,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:96,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:93,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:95,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:101,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:102,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:106,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:107,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:109,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 113
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 113
    functionName: test_standard_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c
    functionUses: []
    functionsReached:
    - OBJ_nid2sn
    - TEST_true
    - TEST_int_ne
    - TEST_info
    - OSSL_NELEM
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_standard_methods(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:132,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:130,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:131,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:133,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:133,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:142,1
    - Dst: i2d_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:142,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:146,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:148,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: test_empty_nonoptional_content
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - i2d_RSAPrivateKey
    - RSA_set0_key
    - TEST_int_le
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_free
    - RSA_new
    linkageType: ''
    returnType: int
    signature: 'static int test_empty_nonoptional_content(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:194,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:197,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:195,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:162,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:140,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:141,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:142,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:142,1
    - Dst: cleanup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:143,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:149,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - TEST_ptr
    - OSSL_PROVIDER_load
    - cleanup_tests
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_pkcs5_pbe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:123,1
    - Dst: EVP_des_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:123,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: test_pkcs5_pbe_des_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c
    functionUses: []
    functionsReached:
    - test_pkcs5_pbe
    - EVP_des_cbc
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: 'static int test_pkcs5_pbe_des_sha1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_pkcs5_pbe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:116,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:116,1
    - Dst: EVP_rc4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: test_pkcs5_pbe_rc4_md5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c
    functionUses: []
    functionsReached:
    - test_pkcs5_pbe
    - EVP_md5
    - EVP_rc4
    linkageType: ''
    returnType: int
    signature: 'static int test_pkcs5_pbe_rc4_md5(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:67,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:68,1
    - Dst: PKCS5_PBE_keyivgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:77,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:79,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:95,1
    - Dst: PKCS5_PBE_keyivgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:93,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:99,1
    - Dst: PKCS5_pbe_set0_algor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:75,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:93,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:84,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:102,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:75,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:77,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:93,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:95,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:99,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:107,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:72,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:71,1
    - Dst: EVP_CIPHER_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:75,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:77,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:84,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:88,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:79,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c:108,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 4
    argNames:
    - cipher
    - md
    - exp
    - exp_len
    argTypes:
    - EVP_CIPHER*
    - EVP_MD*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 110
    functionName: test_pkcs5_pbe
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pbetest.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - TEST_mem_eq
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - strlen
    - PKCS5_pbe_set0_algor
    - PKCS5_PBE_keyivgen
    - EVP_CIPHER_nid
    - EVP_CipherFinal_ex
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: 'static int test_pkcs5_pbe(const EVP_CIPHER *cipher, const EVP_MD *md,
      const unsigned char *exp, const int exp_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_die
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aborttest.c:13,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/aborttest.c
    functionUses: []
    functionsReached:
    - OPENSSL_die
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: verify_cookie_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int verify_cookie_cb(SSL *ssl, const unsigned char *cookie,
      unsigned int cookie_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:86,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:79,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:86,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:90,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:91,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:101,1
    - Dst: mempacket_test_inject
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:117,1
    - Dst: create_bare_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:126,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:138,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:97,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:139,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:79,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:80,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:90,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:91,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:101,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:115,1
    - Dst: DTLS_set_timer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:126,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:140,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:79,1
    - Dst: bio_f_tls_dump_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:96,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:116,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:131,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:137,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 143
    functionName: test_dtls_unprocessed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - DTLS_set_timer_cb
    - SSL_get_wbio
    - mempacket_test_inject
    - create_bare_ssl_connection
    - DTLS_client_method
    - create_ssl_ctx_pair
    - BIO_next
    - printf
    - BIO_new
    - bio_f_tls_dump_filter
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int test_dtls_unprocessed(int testidx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:314,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:315,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:321,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:326,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:327,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:340,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:314,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:320,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:332,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:334,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:341,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:326,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:327,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:342,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:314,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:322,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:334,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:343,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 346
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 346
    functionName: test_cookie
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - create_ssl_connection
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_CTX_set_cookie_verify_cb
    - SSL_CTX_set_options
    - DTLS_client_method
    - create_ssl_ctx_pair
    - SSL_CTX_set_cookie_generate_cb
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int test_cookie(void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:480,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:487,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:491,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:492,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:506,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:515,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:506,1
    - Dst: mempacket_swap_epoch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:517,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:522,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:522,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:551,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:480,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:497,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:502,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:502,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:516,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:529,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:530,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:534,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:538,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:542,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:563,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:551,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:570,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:526,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:577,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:480,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:481,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:487,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:491,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:492,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:517,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:526,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:543,1
    - Dst: SSL_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:556,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:557,1
    - Dst: SSL_has_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:557,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:562,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:578,1
    - Dst: mempacket_move_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:543,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:497,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:510,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:510,1
    - Dst: mempacket_move_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:534,1
    - Dst: mempacket_move_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:538,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:556,1
    - Dst: SSL_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:562,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:570,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:575,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:576,1
    - Dst: SSL_has_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:563,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 95
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 580
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 580
    functionName: test_swap_records
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - mempacket_move_packet
    - SSL_get_wbio
    - DTLS_server_method
    - SSL_write
    - SSL_pending
    - TEST_int_le
    - SSL_connect
    - TEST_true
    - create_ssl_objects
    - DTLS_client_method
    - SSL_has_pending
    - TEST_false
    - SSL_CTX_set_cipher_list
    - mempacket_swap_epoch
    - SSL_accept
    - TEST_int_eq
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_read
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: 'static int test_swap_records(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: generate_cookie_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int generate_cookie_cb(SSL *ssl, unsigned char *cookie, unsigned
      int *cookie_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - s
    - timer_us
    argTypes:
    - SSL*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: timer_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int timer_cb(SSL *s, unsigned int timer_us) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:362,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:354,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:363,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:383,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:375,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:378,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:368,1
    - Dst: DTLS_set_timer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:373,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:376,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:375,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:384,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:386,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:354,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:362,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:363,1
    - Dst: DTLS_set_timer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:372,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:376,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:378,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:385,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:355,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:354,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:368,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 389
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 389
    functionName: test_dtls_duplicate_records
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - create_ssl_connection
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - DTLS_set_timer_cb
    - SSL_get_wbio
    - BIO_ctrl
    - DTLS_client_method
    - create_ssl_ctx_pair
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int test_dtls_duplicate_records(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:586,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:587,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:592,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:591,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:591,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:592,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:595,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:597,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:599,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:600,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:601,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 605
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 605
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_f_tls_dump_filter_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:609,1
    - Dst: bio_s_mempacket_test_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - bio_f_tls_dump_filter_free
    - bio_s_mempacket_test_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:428,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:436,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:431,1
    - Dst: DTLS_set_timer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:438,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:459,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:422,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:429,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:431,1
    - Dst: SSL_set0_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:435,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:440,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:451,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:456,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:451,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:458,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:428,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:444,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:457,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:422,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:422,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:427,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:429,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:431,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:440,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:448,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:444,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:448,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:451,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 462
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 462
    functionName: test_just_finished
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - BIO_free
    - DTLS_set_timer_cb
    - BIO_s_mem
    - BIO_new
    - SSL_new
    - SSL_set0_wbio
    - DTLS_server_method
    - BIO_write
    - TEST_int_le
    - ERR_get_error
    - TEST_true
    - SSL_accept
    - TEST_int_eq
    - SSL_set0_rbio
    - SSL_CTX_free
    - SSL_get_error
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: 'static int test_just_finished(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:201,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:215,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:219,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:224,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:226,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:232,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:234,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:254,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:285,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:288,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:302,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:209,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:210,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:218,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:249,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:259,1
    - Dst: DTLS_set_timer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:264,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:268,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:280,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:215,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:224,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:226,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:254,1
    - Dst: DTLS_set_timer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:285,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:288,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:298,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:300,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:292,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:301,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:201,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:202,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:209,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:210,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:228,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:231,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:233,1
    - Dst: bio_f_tls_dump_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:249,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:259,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:292,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:283,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:299,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c:275,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 109
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 305
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 305
    functionName: test_dtls_drop_records
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtlstest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - DTLS_set_timer_cb
    - SSL_get_wbio
    - BIO_ctrl
    - SSL_CTX_set_dh_auto
    - BIO_new
    - DTLS_server_method
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_CTX_set_cookie_verify_cb
    - DTLS_client_method
    - SSL_CTX_set_options
    - BIO_next
    - SSL_set_session
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_shutdown
    - SSL_CTX_set_cookie_generate_cb
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - bio_f_tls_dump_filter
    linkageType: ''
    returnType: int
    signature: 'static int test_dtls_drop_records(int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:502,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:496,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - bytes
    - nbytes
    - expected
    - expected_size
    - package
    argTypes:
    - unsigned char*
    - long
    - EXPECTED*
    - size_t
    - TEST_PACKAGE*
    constantsTouched: []
    func_position:
      end: 510
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 510
    functionName: do_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int do_decode(unsigned char *bytes, long nbytes, const EXPECTED
      *expected, size_t expected_size, const TEST_PACKAGE *package) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - len
    - pp
    argTypes:
    - size_t
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 591
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 591
    functionName: der_encode_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    linkageType: ''
    returnType: size_t
    signature: 'static size_t der_encode_length(size_t len, unsigned char **pp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:543,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:535,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:532,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - input
    - expected
    - expected_len
    - package
    argTypes:
    - EXPECTED*
    - unsigned char*
    - size_t
    - TEST_PACKAGE*
    constantsTouched: []
    func_position:
      end: 545
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 545
    functionName: do_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - OPENSSL_free
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int do_encode(EXPECTED *input, const unsigned char *expected,
      size_t expected_len, const TEST_PACKAGE *package) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_custom_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:677,1
    - Dst: do_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:683,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - custom_data
    - expected
    - expected_size
    - package
    argTypes:
    - TEST_CUSTOM_DATA*
    - EXPECTED*
    - size_t
    - TEST_PACKAGE*
    constantsTouched: []
    func_position:
      end: 688
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 688
    functionName: do_decode_custom
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - make_custom_der
    - do_decode
    linkageType: ''
    returnType: int
    signature: 'static int do_decode_custom(const TEST_CUSTOM_DATA *custom_data, const
      EXPECTED *expected, size_t expected_size, const TEST_PACKAGE *package) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:711,1
    - Dst: ASN1_item_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:721,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:716,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:715,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:719,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - package
    argTypes:
    - TEST_PACKAGE*
    constantsTouched: []
    func_position:
      end: 725
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 725
    functionName: do_print_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - OPENSSL_free
    - RAND_bytes
    - ASN1_ITEM_ptr
    - ASN1_item_print
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int do_print_item(const TEST_PACKAGE *package) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 835
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 835
    functionName: test_long_32bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: 'static int test_long_32bit(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: test_uint32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: 'static int test_uint32(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 861
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 861
    functionName: test_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: 'static int test_uint64(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:605,1
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:618,1
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:630,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:633,1
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:621,1
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:639,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:642,1
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:647,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:648,1
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:655,1
    - Dst: der_encode_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:657,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:658,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:662,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - custom_data
    - encoding
    - explicit_default
    argTypes:
    - TEST_CUSTOM_DATA*
    - unsigned char**
    - int
    constantsTouched: []
    func_position:
      end: 665
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 665
    functionName: make_custom_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - memcpy
    - der_encode_length
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: 'static size_t make_custom_der(const TEST_CUSTOM_DATA *custom_data,
      unsigned char **encoding, int explicit_default) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_die
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:765,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:773,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:805,1
    - Dst: do_enc_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:800,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:782,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:752,1
    - Dst: do_encode_custom
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:747,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:810,1
    - Dst: do_print_item
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:822,1
    - Dst: OPENSSL_die
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:817,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:824,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:740,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:757,1
    - Dst: do_decode_custom
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:768,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:775,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:803,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:750,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:759,1
    - Dst: OPENSSL_die
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:788,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:780,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:823,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 1
    argNames:
    - package
    argTypes:
    - TEST_PACKAGE*
    constantsTouched: []
    func_position:
      end: 829
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 829
    functionName: test_intern
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - do_decode_custom
    - OPENSSL_assert
    - do_print_item
    - do_enc_dec
    - TEST_error
    - do_encode_custom
    - OPENSSL_die
    - TEST_openssl_errors
    linkageType: ''
    returnType: int
    signature: 'static int test_intern(const TEST_PACKAGE *package) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: test_long_64bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: 'static int test_long_64bit(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: test_int32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: 'static int test_int32(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: test_int64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: 'static int test_int64(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:876,1
    - Dst: i2d_INVALIDTEMPLATE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:886,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:883,1
    - Dst: INVALIDTEMPLATE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:880,1
    - Dst: INVALIDTEMPLATE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:888,1
    - Dst: test_invalid_template
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - INVALIDTEMPLATE
    argTypes:
    - INVALIDTEMPLATE
    constantsTouched: []
    func_position:
      end: 892
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 892
    functionName: IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - INVALIDTEMPLATE_free
    - INVALIDTEMPLATE_new
    - TEST_ptr
    - test_invalid_template
    - IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
    - i2d_INVALIDTEMPLATE
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(INVALIDTEMPLATE)
    signature: 'static_ASN1_SEQUENCE_END(INVALIDTEMPLATE) IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(INVALIDTEMPLATE)IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(INVALIDTEMPLATE)static
      int test_invalid_template(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:898,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:902,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:903,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:899,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:901,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:904,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 907
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 907
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:560,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - nbytes
    - package
    argTypes:
    - EXPECTED*
    - long
    - TEST_PACKAGE*
    constantsTouched: []
    func_position:
      end: 563
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 563
    functionName: do_enc_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - do_decode
    linkageType: ''
    returnType: int
    signature: 'static int do_enc_dec(EXPECTED *bytes, long nbytes, const TEST_PACKAGE
      *package) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_custom_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:696,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:703,1
    - Dst: do_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c:702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - input
    - custom_data
    - package
    argTypes:
    - EXPECTED*
    - TEST_CUSTOM_DATA*
    - TEST_PACKAGE*
    constantsTouched: []
    func_position:
      end: 706
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 706
    functionName: do_encode_custom
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_encode_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - make_custom_der
    - do_encode
    linkageType: ''
    returnType: int
    signature: 'static int do_encode_custom(EXPECTED *input, const TEST_CUSTOM_DATA
      *custom_data, const TEST_PACKAGE *package) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:140,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:143,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:142,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:140,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:141,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: key2048_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c
    functionUses: []
    functionsReached:
    - RSA_size
    - TEST_int_eq
    - RSA_set0_key
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: 'static int key2048_key(RSA *key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:203,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:205,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:206,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:210,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:211,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:214,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:218,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:219,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:219,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:241,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:214,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:232,1
    - Dst: sk_BIGNUM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:237,1
    - Dst: sk_BIGNUM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:236,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:242,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:221,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:221,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:223,1
    - Dst: sk_BIGNUM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:238,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:243,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:207,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:213,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:215,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:213,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:215,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:212,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:222,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:223,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:227,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:228,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:229,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:205,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:206,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:210,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:212,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:218,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:220,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:226,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:228,1
    - Dst: sk_BIGNUM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:229,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:226,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:232,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 247
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 247
    functionName: key2048p3_v2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c
    functionUses: []
    functionsReached:
    - ossl_rsa_set0_all_params
    - TEST_ptr
    - RSA_size
    - TEST_true
    - TEST_int_ne
    - sk_BIGNUM_new_null
    - sk_BIGNUM_pop_free
    - BN_bin2bn
    - sk_BIGNUM_free
    - sk_BIGNUM_push
    linkageType: ''
    returnType: int
    signature: 'static int key2048p3_v2(RSA *key) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:176,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:179,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:185,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:190,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:168,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:169,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:175,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:167,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:170,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:184,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:186,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:194,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:152,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:156,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:161,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:170,1
    - Dst: RSA_set0_multi_prime_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:179,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:155,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:155,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:157,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:160,1
    - Dst: RSA_set0_crt_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:160,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:170,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:176,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:192,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 197
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 197
    functionName: key2048p3_v1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - RSA_size
    - TEST_ptr
    - TEST_true
    - OPENSSL_free
    - OPENSSL_zalloc
    - RSA_set0_multi_prime_params
    - BN_free
    - BN_bin2bn
    - RSA_set0_crt_params
    - RSA_set0_factors
    linkageType: ''
    returnType: int
    signature: 'static int key2048p3_v1(RSA *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:266,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:270,1
    - Dst: key2048_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:269,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:273,1
    - Dst: RSA_check_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:273,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:276,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:278,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:282,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:287,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c:281,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 289
    functionName: test_rsa_mp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_mp_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_check_key_ex
    - TEST_mem_eq
    - TEST_ptr
    - key2048_key
    - TEST_int_eq
    - TEST_true
    - RSA_new
    - RSA_public_encrypt
    - RSA_private_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_rsa_mp(int i) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:167,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:174,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:176,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:175,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:227,1
    - Dst: WPACKET_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:202,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:209,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:224,1
    - Dst: WPACKET_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:225,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:230,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:198,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:170,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:180,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:190,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:220,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:211,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:182,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:191,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:192,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:221,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:208,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:223,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:166,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:172,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:195,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:214,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:183,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:187,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:213,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:216,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:200,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:215,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:169,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:177,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:203,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:210,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:165,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:231,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:232,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:235,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:170,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:196,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:220,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:234,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:199,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:211,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:184,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:185,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:192,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:212,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:221,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:222,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:230,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:167,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:166,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:174,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:175,1
    - Dst: WPACKET_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:198,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:228,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:209,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:200,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:208,1
    - Dst: WPACKET_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:195,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:213,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:217,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:223,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:224,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:225,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:169,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:190,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:191,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:210,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:204,1
    - Dst: WPACKET_fill_lengths
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:231,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:232,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:233,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:172,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:226,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:234,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:215,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:212,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:214,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:165,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:183,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:184,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:185,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:186,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:222,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 212
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 238
    functionName: test_WPACKET_start_sub_packet
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - TEST_size_t_eq
    - TEST_mem_eq
    - cleanup
    - WPACKET_fill_lengths
    - TEST_true
    - WPACKET_get_length
    - WPACKET_finish
    - WPACKET_init
    - WPACKET_start_sub_packet_u8
    - WPACKET_start_sub_packet
    - TEST_false
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int test_WPACKET_start_sub_packet(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:43,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:60,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:69,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:71,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:73,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:75,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:76,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:82,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:68,1
    - Dst: WPACKET_init_static_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:89,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:103,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:99,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:44,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:46,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:48,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:53,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:55,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:54,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:57,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:61,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:62,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:63,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:86,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:95,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:104,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:91,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:89,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:104,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:105,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:96,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:43,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:60,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:69,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:70,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:71,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:72,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:75,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:82,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:83,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:85,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:93,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:93,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:101,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:68,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:103,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:44,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:46,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:48,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:53,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:55,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:61,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:54,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:62,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:63,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:97,1
    - Dst: WPACKET_init_static_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:99,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:95,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:96,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:107,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:91,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:65,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 132
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 110
    functionName: test_WPACKET_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - WPACKET_init_len
    - TEST_mem_eq
    - cleanup
    - TEST_int_eq
    - TEST_true
    - WPACKET_init_static_len
    - WPACKET_finish
    - WPACKET_put_bytes_u16
    - WPACKET_init
    - TEST_false
    - WPACKET_put_bytes_u24
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int test_WPACKET_init(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:307,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:308,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:313,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:320,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:315,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:324,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:325,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:309,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:312,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:319,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:323,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:318,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:308,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:307,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:313,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:314,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:324,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:326,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:312,1
    - Dst: WPACKET_sub_allocate_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:319,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:323,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:318,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 329
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 329
    functionName: test_WPACKET_allocate_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_allocate_bytes
    - WPACKET_sub_allocate_bytes_u8
    - WPACKET_init_len
    - cleanup
    - TEST_mem_eq
    - TEST_true
    - WPACKET_finish
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int test_WPACKET_allocate_bytes(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:370,1
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:367,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:371,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:372,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:373,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:375,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:380,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:381,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:382,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:383,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:407,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:367,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:376,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:377,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:378,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:379,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:398,1
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:401,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:401,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:404,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:405,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:408,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:418,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:409,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:368,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:370,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:372,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:375,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:373,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:381,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:382,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:383,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:388,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:385,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:388,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:407,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:371,1
    - Dst: WPACKET_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:376,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:377,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:378,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:379,1
    - Dst: WPACKET_init_null_der
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:398,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:404,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:410,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:408,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:409,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:405,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 103
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 424
    functionName: test_WPACKET_init_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_put_bytes_u8
    - TEST_size_t_eq
    - WPACKET_memcpy
    - TEST_mem_eq
    - cleanup
    - WPACKET_get_curr
    - TEST_true
    - RAND_bytes
    - WPACKET_init_der
    - WPACKET_init_null_der
    - TEST_int_gt
    - WPACKET_finish
    - WPACKET_start_sub_packet
    - WPACKET_put_bytes_u24
    - WPACKET_set_flags
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int test_WPACKET_init_der(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    linkageType: ''
    returnType: int
    signature: 'static int cleanup(WPACKET *pkt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:247,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:258,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:264,1
    - Dst: WPACKET_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:272,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:273,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:274,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:265,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:279,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:282,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:295,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:292,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:271,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:280,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:293,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:289,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:290,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:248,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:251,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:252,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:259,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:255,1
    - Dst: WPACKET_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:260,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:262,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:291,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:266,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:283,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:284,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:294,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:264,1
    - Dst: WPACKET_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:281,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:247,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:258,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:272,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:273,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:274,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:279,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:289,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:295,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:275,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:292,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:282,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:285,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:266,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:271,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:286,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:296,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:265,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:280,1
    - Dst: WPACKET_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:248,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:251,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:252,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:260,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:254,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:259,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:262,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:281,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:283,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:284,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:293,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:294,1
    - Dst: WPACKET_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:291,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:267,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:297,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 140
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 299
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 299
    functionName: test_WPACKET_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - WPACKET_init_len
    - TEST_mem_eq
    - cleanup
    - TEST_true
    - WPACKET_finish
    - WPACKET_init
    - WPACKET_start_sub_packet_u8
    - TEST_false
    - TEST_size_t_eq
    - WPACKET_set_flags
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int test_WPACKET_set_flags(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:124,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:126,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:130,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:151,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:117,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:135,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:142,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:140,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:128,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:144,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:146,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:148,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:149,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:152,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:153,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:122,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:124,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:126,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:127,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:130,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:154,1
    - Dst: WPACKET_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:117,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:135,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:140,1
    - Dst: WPACKET_set_max_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:142,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:144,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:146,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:148,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:149,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:151,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:152,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 157
    functionName: test_WPACKET_set_max_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_put_bytes_u8
    - WPACKET_init_len
    - cleanup
    - TEST_mem_eq
    - TEST_true
    - WPACKET_finish
    - WPACKET_init
    - TEST_false
    - WPACKET_set_max_size
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int test_WPACKET_set_max_size(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:338,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:339,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:340,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:347,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:349,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:348,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:337,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:346,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:345,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:339,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:340,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:341,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:342,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:348,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:346,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:347,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:350,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:337,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:338,1
    - Dst: WPACKET_init_len
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 353
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 353
    functionName: test_WPACKET_memcpy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - WPACKET_sub_memcpy_u8
    - WPACKET_memcpy
    - WPACKET_init_len
    - TEST_mem_eq
    - cleanup
    - TEST_true
    - WPACKET_finish
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int test_WPACKET_memcpy(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:428,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:433,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:431,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:428,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:432,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:434,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:435,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:436,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - BUF_MEM_new
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/wpackettest.c
    functionUses: []
    functionsReached:
    - BUF_MEM_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:51,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:53,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:54,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:54,1
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:51,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:55,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:56,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:56,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:57,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:57,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:57,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:63,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 66
    functionName: test_unsupported
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c
    functionUses: []
    functionsReached:
    - sk_SSL_CIPHER_num
    - TEST_str_eq
    - TEST_int_eq
    - TEST_ptr
    - sk_SSL_CIPHER_free
    - TEST_true
    - SSL_bytes_to_cipher_list
    - SSL_CIPHER_get_name
    - sk_SSL_CIPHER_value
    linkageType: ''
    returnType: int
    signature: 'static int test_unsupported(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:107,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:112,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:114,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:118,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:116,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:120,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:126,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:111,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:111,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:114,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:120,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:109,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:112,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:114,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:116,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:118,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:120,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:112,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:116,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:118,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:127,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: test_v3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - sk_SSL_CIPHER_num
    - TEST_int_eq
    - TEST_ptr
    - sk_SSL_CIPHER_free
    - SSL_bytes_to_cipher_list
    - SSL_CIPHER_get_name
    - sk_SSL_CIPHER_value
    linkageType: ''
    returnType: int
    signature: 'static int test_v3(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:32,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:34,1
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:32,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:33,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:39,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: test_empty
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c
    functionUses: []
    functionsReached:
    - sk_SSL_CIPHER_free
    - TEST_int_eq
    - SSL_bytes_to_cipher_list
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: 'static int test_empty(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:133,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:133,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:133,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:134,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:134,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:137,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:138,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:139,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - TEST_ptr
    - SSL_CTX_new
    - TLS_server_method
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:77,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:80,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:80,1
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:77,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:79,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:82,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:82,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:84,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:84,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:86,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:86,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:93,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:86,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:94,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:84,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: test_v2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c
    functionUses: []
    functionsReached:
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_free
    - TEST_int_eq
    - TEST_ptr
    - strcmp
    - TEST_true
    - SSL_bytes_to_cipher_list
    - SSL_CIPHER_get_name
    - sk_SSL_CIPHER_value
    linkageType: ''
    returnType: int
    signature: 'static int test_v2(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:146,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherbytes_test.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:74,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:83,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:83,1
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:75,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:78,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:78,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:88,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:75,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:75,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:79,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:74,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:77,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:77,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:81,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:81,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - iv
    - ct
    - ct_len
    - tag
    - tag_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 90
    functionName: do_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_gcm
    - TEST_mem_eq
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_get_tag_length
    linkageType: ''
    returnType: int
    signature: 'static int do_decrypt(const unsigned char *iv, const unsigned char
      *ct, int ct_len, const unsigned char *tag, int tag_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:110,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:112,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:111,1
    - Dst: EVP_aes_192_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:110,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:111,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:112,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:113,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:113,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: badkeylen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c
    functionUses: []
    functionsReached:
    - EVP_aes_192_gcm
    - TEST_int_le
    - TEST_ptr
    - TEST_true
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_key_length
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int badkeylen_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_256_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:47,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:47,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:47,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:51,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:55,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:57,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:57,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:55,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:46,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:51,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:53,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:60,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:46,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:49,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:49,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:53,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:59,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:56,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:61,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 5
    argNames:
    - iv_gen
    - ct
    - ct_len
    - tag
    - tag_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - int*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 63
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 63
    functionName: do_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c
    functionUses: []
    functionsReached:
    - EVP_aes_256_gcm
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_CIPHER_CTX_ctrl
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int do_encrypt(unsigned char *iv_gen, unsigned char *ct, int
      *ct_len, unsigned char *tag, int *tag_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:98,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:99,1
    - Dst: do_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:101,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: kat_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c
    functionUses: []
    functionsReached:
    - do_encrypt
    - do_decrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int kat_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:125,1
    - Dst: do_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: ivgen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c
    functionUses: []
    functionsReached:
    - do_encrypt
    - do_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int ivgen_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:131,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:132,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/aesgcmtest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:75,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:36,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:40,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:38,1
    - Dst: fips_provider_version_match
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: test_fips_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - test_get_argument
    - fips_provider_version_match
    linkageType: ''
    returnType: int
    signature: 'static int test_fips_version(int n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:49,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:62,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:65,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:52,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 71
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fips_version_test.c
    functionUses: []
    functionsReached:
    - opt_arg
    - ADD_ALL_TESTS
    - test_get_argument_count
    - test_get_libctx
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:59,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:100,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:88,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:69,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:75,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:89,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:94,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:54,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:55,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:83,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:103,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:100,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:70,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:73,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:104,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:102,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 106
    functionName: test_bad_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_GET_REASON
    - ERR_peek_error
    - memcmp
    - BIO_free
    - TEST_ptr
    - BIO_read
    - TEST_int_eq
    - OPENSSL_free
    - ASN1_item_free
    - TEST_int_ge
    - ASN1_item_i2d
    - TEST_ptr_null
    - TEST_false
    - ASN1_item_d2i
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: int
    signature: 'static int test_bad_asn1(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:129,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:135,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:130,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:135,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:136,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:136,1
    - Dst: ASN1_ITEM_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:139,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:142,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:149,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:154,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:155,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:143,1
    - Dst: ASN1_ITEM_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:145,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:166,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c:162,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 168
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/d2i_test.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_get
    - test_skip_common_options
    - TEST_ptr
    - strcmp
    - ADD_TEST
    - test_get_argument
    - ASN1_ITEM_lookup
    - OSSL_NELEM
    - TEST_error
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sd_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c:27,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c:34,1
    - Dst: sd_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c:30,1
    - Dst: sd_sym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - path
    - symbol
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: test_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c
    functionUses: []
    functionsReached:
    - fprintf
    - sd_close
    - sd_sym
    - sd_load
    linkageType: ''
    returnType: int
    signature: 'static int test_load(const char *path, const char *symbol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c:44,1
    - Dst: test_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/moduleloadtest.c
    functionUses: []
    functionsReached:
    - fprintf
    - test_load
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:101,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:112,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:166,1
    - Dst: TEST_long_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:193,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:220,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:194,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:217,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:219,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:79,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:135,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:167,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:188,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:196,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:87,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:127,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:147,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:171,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:209,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:172,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:173,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:204,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:211,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:97,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:137,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:213,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:80,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:87,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:127,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:166,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:171,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:225,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:249,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:137,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:172,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:238,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:246,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:179,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:202,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:175,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:90,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:152,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:236,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:118,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:153,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:226,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:211,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:88,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:213,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:174,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:207,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:209,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:148,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:166,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:220,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:167,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:219,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:81,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:101,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:114,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:158,1
    - Dst: SSL_set_session_ticket_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:183,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:207,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:159,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:202,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:234,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:90,1
    - Dst: SSL_CTX_clear_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:120,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:154,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:173,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:183,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:225,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:112,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:194,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:247,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:248,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:184,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:135,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 165
    argCount: 1
    argNames:
    - currtest
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 252
    functionName: test_client_hello
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_s_mem
    - TLS_method
    - PACKET_equal
    - BIO_new
    - BIO_get_mem_data
    - SSL_new
    - TEST_int_le
    - SSL_connect
    - PACKET_get_length_prefixed_2
    - TEST_true
    - TEST_info
    - SSL_SESSION_free
    - SSL_CTX_set_options
    - SSL_CTX_set_alpn_protos
    - PACKET_get_length_prefixed_1
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_set_time
    - SSL_CTX_clear_options
    - TEST_long_ge
    - BIO_new_file
    - SSL_CTX_set_cipher_list
    - ERR_clear_error
    - SSL_set_bio
    - time
    - PACKET_forward
    - PEM_read_bio_SSL_SESSION
    - SSL_CTX_free
    - PACKET_get_net_2
    - PACKET_as_length_prefixed_2
    - SSL_set_connect_state
    - strlen
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_new
    - PACKET_buf_init
    - SSL_set_session_ticket_ext
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_client_hello(int currtest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:258,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:263,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:266,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:259,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/clienthellotest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:47,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:56,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:72,1
    - Dst: strtoimax
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:86,1
    - Dst: strtoumax
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:104,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:116,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:132,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:142,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:168,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:167,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:126,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:62,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:65,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:75,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:81,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:70,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:93,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:99,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:120,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:131,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:133,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:150,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:140,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:159,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:151,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:160,1
    - Dst: OSSL_PARAM_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:44,1
    - Dst: OSSL_PARAM_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:45,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:67,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:79,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:84,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:90,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:97,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:102,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:108,1
    - Dst: strtod
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:113,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:158,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:169,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:141,1
    - Dst: OSSL_PARAM_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:43,1
    - Dst: OSSL_PARAM_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:46,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:60,1
    - Dst: strtoimax
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:77,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:88,1
    - Dst: strtoumax
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:95,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:106,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:111,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:141,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:177,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:149,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:168,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:159,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 164
    argCount: 2
    argNames:
    - pc
    - s
    argTypes:
    - PARAM_CONVERSION*
    - STANZA*
    constantsTouched: []
    func_position:
      end: 181
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 181
    functionName: param_conversion_load_stanza
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_uint64
    - OSSL_PARAM_int64
    - TEST_ptr
    - memset
    - TEST_true
    - strtoumax
    - TEST_note
    - TEST_info
    - OSSL_PARAM_int32
    - OSSL_PARAM_double
    - OPENSSL_strcasecmp
    - strtoimax
    - OSSL_PARAM_locate
    - TEST_error
    - strtod
    - OSSL_PARAM_uint32
    linkageType: ''
    returnType: int
    signature: 'static int param_conversion_load_stanza(PARAM_CONVERSION *pc, const
      STANZA *s) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:197,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:203,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:212,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:219,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:204,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:233,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:243,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:245,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:272,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:277,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:278,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:265,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:192,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:199,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:213,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:217,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:223,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:225,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:232,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:239,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:242,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:257,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:294,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:303,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:263,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:302,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:264,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:295,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:298,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:258,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:218,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:205,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:212,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:222,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:237,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:243,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:244,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:252,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:277,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:305,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:192,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:198,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:217,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:223,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:224,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:232,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:238,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:257,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:259,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:262,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:263,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:299,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:303,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:304,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:252,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:272,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:273,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 140
    argCount: 2
    argNames:
    - pc
    - line
    argTypes:
    - PARAM_CONVERSION*
    - int
    constantsTouched: []
    func_position:
      end: 312
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 312
    functionName: param_conversion_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int64
    - OSSL_PARAM_get_uint32
    - TEST_mem_eq
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_set_double
    - OSSL_PARAM_set_uint32
    - TEST_true
    - TEST_note
    - OSSL_PARAM_get_double
    - TEST_false
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_uint64
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int param_conversion_test(const PARAM_CONVERSION *pc, int line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:353,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:358,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:354,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - test_get_argument_count
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:318,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:321,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:321,1
    - Dst: test_start_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:323,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:324,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:328,1
    - Dst: test_readstanza
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:329,1
    - Dst: param_conversion_load_stanza
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:334,1
    - Dst: param_conversion_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:335,1
    - Dst: test_clearstanza
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:337,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:341,1
    - Dst: test_end_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c:340,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 343
    functionName: run_param_file_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/params_conversion_test.c
    functionUses: []
    functionsReached:
    - test_readstanza
    - param_conversion_load_stanza
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - test_start_file
    - OPENSSL_zalloc
    - test_end_file
    - BIO_eof
    - test_clearstanza
    - param_conversion_test
    linkageType: ''
    returnType: int
    signature: 'static int run_param_file_tests(int i) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:30,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:33,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:33,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:28,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:35,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:35,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:39,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:40,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:45,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:46,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: test_double_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_true
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_double_config(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:52,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:56,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:59,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:65,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:67,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: test_recursive_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_peek_error
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_recursive_config(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:85,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:88,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:89,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:94,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:107,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:111,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:118,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:81,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:88,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:88,1
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:95,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:98,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:114,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:92,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:107,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:96,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:93,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:103,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:111,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:104,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 120
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 120
    functionName: test_path_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c
    functionUses: []
    functionsReached:
    - strcat
    - OSSL_LIB_CTX_free
    - strcpy
    - TEST_ptr
    - OPENSSL_free
    - TEST_skip
    - TEST_true
    - OSSL_LIB_CTX_load_config
    - OSSL_PROVIDER_unload
    - OPENSSL_zalloc
    - TEST_info
    - stat
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - getenv
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_path_config(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:126,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:134,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:131,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:137,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:137,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:140,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:141,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/prov_config_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - TEST_ptr
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:72,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:83,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:79,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:82,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: watchccs_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - BIO_read
    - BIO_next
    - BIO_should_read
    linkageType: ''
    returnType: int
    signature: 'static int watchccs_read(BIO *bio, char *out, int outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: watchccs_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int watchccs_new(BIO *bio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:215,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 229
    functionName: watchccs_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long watchccs_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: watchccs_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:239,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: watchccs_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - watchccs_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int watchccs_puts(BIO *bio, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:42,1
    - Dst: BIO_meth_set_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:45,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:48,1
    - Dst: BIO_meth_set_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:46,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:47,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:49,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:50,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: bio_f_watchccs_filter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_read
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'static const BIO_METHOD *bio_f_watchccs_filter(void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:91,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:107,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:108,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:133,1
    - Dst: PACKET_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:143,1
    - Dst: PACKET_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:163,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:206,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:115,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:116,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:141,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:161,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:207,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:102,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:106,1
    - Dst: PACKET_copy_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:134,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:143,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:163,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:100,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:109,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:125,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:126,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:153,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:154,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:205,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 210
    functionName: watchccs_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - memcmp
    - PACKET_get_length_prefixed_2
    - PACKET_get_length_prefixed_3
    - PACKET_forward
    - BIO_should_write
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_data
    - BIO_set_retry_write
    - BIO_next
    - PACKET_buf_init
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: 'static int watchccs_write(BIO *bio, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: watchccs_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int watchccs_free(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: watchccs_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int watchccs_gets(BIO *bio, char *buf, int size) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:256,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:333,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:338,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:344,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:348,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:443,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:453,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:482,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:366,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:311,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:328,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:356,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:413,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:374,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:403,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:306,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:308,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:319,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:329,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:345,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:444,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:446,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:459,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:469,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:404,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:256,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:406,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:259,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:323,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:389,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:460,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:462,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:420,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:302,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:356,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:422,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:344,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:332,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:338,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:374,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:475,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:366,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:309,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:345,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:353,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:379,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:445,1
    - Dst: SSL_CTX_clear_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:293,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:319,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:405,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:345,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:395,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:380,1
    - Dst: SSL_CTX_clear_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:287,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:303,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:382,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:436,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:438,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:451,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:461,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:411,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:421,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:398,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:305,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:330,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:396,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:484,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:353,1
    - Dst: bio_f_watchccs_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:328,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:359,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:452,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:454,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:467,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:481,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:296,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:310,1
    - Dst: bio_f_watchccs_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:329,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:331,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:414,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:427,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:348,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:412,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:256,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:387,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:468,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:381,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:428,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:259,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:323,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:430,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:437,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:374,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:359,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:390,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:388,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:397,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:257,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:303,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:302,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:470,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:485,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 253
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 488
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 488
    functionName: test_tls13ccs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set1_groups_list
    - BIO_free
    - SSL_get1_session
    - TEST_error
    - BIO_new
    - TLS_server_method
    - TEST_int_le
    - SSL_connect
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_set_session
    - SSL_CTX_clear_options
    - SSL_read_early_data
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - TEST_size_t_gt
    - SSL_shutdown
    - create_ssl_ctx_pair
    - strlen
    - SSL_free
    - SSL_CTX_set_max_early_data
    - TEST_ptr
    - TEST_int_gt
    - SSL_write_early_data
    - TEST_size_t_eq
    - bio_f_watchccs_filter
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_tls13ccs(int tst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:494,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:495,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:500,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:499,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:499,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:500,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 506
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 506
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13ccstest.c
    functionUses: []
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:41,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:46,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:49,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:43,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:46,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:50,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:52,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:55,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: test_asn1_stable_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - ERR_GET_REASON
    - ERR_peek_error
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    - TEST_ptr
    - ERR_GET_LIB
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int test_asn1_stable_parse(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:68,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:78,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_stable_parse_test.c
    functionUses: []
    functionsReached:
    - opt_next
    - ADD_TEST
    - opt_arg
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:103,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:105,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:103,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:104,1
    - Dst: PACKET_get_net_3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:104,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:106,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:107,1
    - Dst: PACKET_get_net_3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:107,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:108,1
    - Dst: PACKET_get_net_3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:109,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: test_PACKET_get_net_3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_get_net_3
    - PACKET_forward
    - TEST_true
    - TEST_ulong_eq
    - TEST_false
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_net_3(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:141,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:141,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:142,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:146,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:146,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:137,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:138,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:139,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:143,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:144,1
    - Dst: PACKET_get_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:147,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:140,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:142,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:145,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:137,1
    - Dst: PACKET_get_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:138,1
    - Dst: PACKET_get_net_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:139,1
    - Dst: PACKET_get_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:143,1
    - Dst: PACKET_get_net_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:144,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: test_PACKET_get_sub_packet
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    - PACKET_forward
    - TEST_true
    - PACKET_get_net_4
    - TEST_ulong_eq
    - PACKET_get_sub_packet
    - TEST_false
    - PACKET_buf_init
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_sub_packet(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:190,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:194,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:182,1
    - Dst: PACKET_copy_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:183,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:185,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:188,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:193,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:189,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:184,1
    - Dst: PACKET_copy_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:190,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:192,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:183,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:182,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:187,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:189,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: test_PACKET_copy_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - TEST_true
    - TEST_uchar_eq
    - PACKET_buf_init
    - TEST_char_eq
    - TEST_false
    - TEST_size_t_eq
    - PACKET_remaining
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_copy_bytes(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:272,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:277,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:273,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:276,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:277,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:278,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:278,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:279,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: test_PACKET_contains_zero_byte
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_contains_zero_byte
    - TEST_true
    - TEST_false
    - PACKET_buf_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_contains_zero_byte(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:120,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:120,1
    - Dst: PACKET_get_net_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:121,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:123,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:123,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:124,1
    - Dst: PACKET_get_net_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:124,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:125,1
    - Dst: PACKET_get_net_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:126,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: test_PACKET_get_net_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - TEST_true
    - PACKET_get_net_4
    - TEST_ulong_eq
    - TEST_false
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_net_4(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:159,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:164,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:167,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:165,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:162,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:170,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:171,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:166,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:158,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:159,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:161,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:163,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:164,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:165,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:169,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:160,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:168,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:166,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:171,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: test_PACKET_get_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    - PACKET_forward
    - PACKET_get_bytes
    - TEST_true
    - TEST_uchar_eq
    - TEST_false
    - PACKET_buf_init
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_bytes(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:207,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:209,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:208,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:207,1
    - Dst: PACKET_copy_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:208,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:210,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:211,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:211,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:212,1
    - Dst: PACKET_copy_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 216
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 216
    functionName: test_PACKET_copy_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_copy_all
    - TEST_mem_eq
    - TEST_true
    - PACKET_buf_init
    - TEST_false
    - TEST_size_t_eq
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_copy_all(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:290,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:291,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:292,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:291,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:292,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:293,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:294,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:294,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:295,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:295,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: test_PACKET_forward
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - PACKET_get_bytes
    - TEST_true
    - TEST_uchar_eq
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_forward(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:474,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:478,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:482,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:484,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:492,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:488,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:496,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:477,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:481,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:483,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:487,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:491,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:495,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:476,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:480,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:490,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:486,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:494,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:475,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:479,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:485,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:489,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 498
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 498
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:35,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:36,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:37,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:36,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:35,1
    - Dst: PACKET_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:37,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:38,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:38,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:39,1
    - Dst: PACKET_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:39,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:40,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:40,1
    - Dst: PACKET_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:41,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:41,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: test_PACKET_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - TEST_true
    - PACKET_buf_init
    - TEST_ptr_eq
    - PACKET_end
    - TEST_size_t_eq
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_end(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:69,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:70,1
    - Dst: PACKET_get_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:70,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:69,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:71,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:72,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:73,1
    - Dst: PACKET_get_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:73,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:74,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:75,1
    - Dst: PACKET_get_4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: test_PACKET_get_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_get_4
    - PACKET_forward
    - TEST_true
    - TEST_ulong_eq
    - TEST_false
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_4(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:225,1
    - Dst: PACKET_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:226,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:225,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:226,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:228,1
    - Dst: PACKET_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:229,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:230,1
    - Dst: PACKET_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:230,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:231,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:232,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:236,1
    - Dst: PACKET_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: test_PACKET_memdup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - PACKET_memdup
    - PACKET_forward
    - OPENSSL_free
    - TEST_true
    - PACKET_buf_init
    - TEST_size_t_eq
    - PACKET_data
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_memdup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:334,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:336,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:335,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:334,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:335,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:336,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:337,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:337,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:338,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:338,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:341,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:341,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:340,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:340,1
    - Dst: PACKET_equal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:339,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: test_PACKET_equal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_equal
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_equal(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:379,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:383,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:383,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:384,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:384,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:385,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:385,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:386,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:386,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:387,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:389,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:390,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:388,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:389,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:390,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 394
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 394
    functionName: test_PACKET_get_length_prefixed_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_get_length_prefixed_2
    - TEST_true
    - TEST_uint_eq
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_false
    - TEST_size_t_eq
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_length_prefixed_2(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:427,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:433,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:433,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:432,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:432,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:434,1
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:434,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:435,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:436,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:437,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:438,1
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:436,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:437,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 442
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 442
    functionName: test_PACKET_as_length_prefixed_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    - PACKET_as_length_prefixed_1
    - TEST_true
    - TEST_false
    - PACKET_buf_init
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_as_length_prefixed_1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:20,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:21,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:22,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:21,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:20,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:22,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:23,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:23,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:24,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:24,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:25,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:25,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: test_PACKET_remaining
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - TEST_true
    - PACKET_buf_init
    - TEST_size_t_eq
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_remaining(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:52,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:53,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:54,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:53,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:52,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:55,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:55,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:56,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:56,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:57,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:58,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: test_PACKET_get_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - TEST_uint_eq
    - TEST_true
    - PACKET_get_1
    - TEST_false
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:86,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:86,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:87,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:87,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:88,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:89,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:89,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:90,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:90,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:91,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:92,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: test_PACKET_get_net_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - TEST_uint_eq
    - TEST_true
    - PACKET_get_net_2
    - TEST_false
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_net_2(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:247,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:248,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:252,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:251,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:251,1
    - Dst: PACKET_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:252,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:253,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:253,1
    - Dst: TEST_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:254,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:255,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:255,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:257,1
    - Dst: PACKET_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:256,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:256,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:258,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:257,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:263,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 265
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 265
    functionName: test_PACKET_strndup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_strn_eq
    - TEST_str_eq
    - OPENSSL_free
    - TEST_true
    - PACKET_buf_init
    - PACKET_strndup
    - strlen
    - TEST_size_t_eq
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_strndup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:354,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:359,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:360,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:359,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:361,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:361,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:362,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:362,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:363,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:363,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:364,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:365,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:366,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:366,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 370
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 370
    functionName: test_PACKET_get_length_prefixed_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_true
    - TEST_uint_eq
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_false
    - TEST_size_t_eq
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_length_prefixed_1(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:403,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:408,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:407,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:408,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:407,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:409,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:409,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:410,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:410,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:411,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:413,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:414,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:414,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:411,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:412,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:413,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 418
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 418
    functionName: test_PACKET_get_length_prefixed_3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_get_length_prefixed_3
    - TEST_true
    - TEST_uint_eq
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_false
    - TEST_size_t_eq
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_get_length_prefixed_3(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:451,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:456,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:456,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:455,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:455,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:457,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:457,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:458,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:458,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:459,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:460,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:461,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:459,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:461,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:460,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 465
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 465
    functionName: test_PACKET_as_length_prefixed_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    - TEST_true
    - PACKET_as_length_prefixed_2
    - TEST_false
    - PACKET_buf_init
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_as_length_prefixed_2(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:308,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:309,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:310,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:309,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:308,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:310,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:311,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:311,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:312,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: test_PACKET_buf_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - TEST_true
    - PACKET_buf_init
    - TEST_false
    - TEST_size_t_eq
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_buf_init(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_null_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:322,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:323,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:324,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:323,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: test_PACKET_null_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/packettest.c
    functionUses: []
    functionsReached:
    - PACKET_forward
    - PACKET_null_init
    - TEST_false
    - TEST_size_t_eq
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'static int test_PACKET_null_init(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:193,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:196,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:230,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:246,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:182,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:191,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:210,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:265,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:270,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:279,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:228,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:217,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:242,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:259,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:273,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:219,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:226,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:263,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:205,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:185,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:203,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:207,1
    - Dst: TEST_ulong_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:218,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:259,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:220,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:238,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:205,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:206,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:215,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:245,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:263,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:184,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:187,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:269,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:222,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:243,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:262,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:237,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:200,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:212,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:280,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:177,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:229,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:213,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:246,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:269,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:273,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:219,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:226,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:183,1
    - Dst: TEST_ulong_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:266,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:230,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:210,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:221,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:196,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:183,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:186,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:222,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:245,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:238,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:284,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:221,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:200,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:218,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:243,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:237,1
    - Dst: TEST_ulong_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:178,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:185,1
    - Dst: TEST_ulong_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:204,1
    - Dst: TEST_ulong_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:214,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:270,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:275,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:280,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:207,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:184,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:191,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:187,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:279,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 158
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 287
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 287
    functionName: test_marks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - ERR_pop_to_mark
    - ERR_raise
    - TEST_ulong_ne
    - ERR_get_error
    - TEST_true
    - ERR_set_mark
    - TEST_ulong_gt
    - TEST_ulong_eq
    - ERR_peek_last_error
    - TEST_false
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'static int test_marks(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:134,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:136,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:135,1
    - Dst: ERR_peek_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:137,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: vdata_appends
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ERR_add_error_data
    - ERR_peek_error_data
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int vdata_appends(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:65,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:69,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:68,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:72,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:92,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:97,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:101,1
    - Dst: TEST_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:105,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:95,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:105,1
    - Dst: ERR_PUT_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:67,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:92,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:110,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:71,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:85,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:89,1
    - Dst: IS_HEX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:104,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:97,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:82,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:92,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 112
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 112
    functionName: test_print_error_format
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - TEST_strn_eq
    - BIO_free
    - strerror
    - ERR_PUT_error
    - ERR_set_mark
    - BIO_snprintf
    - BIO_s_mem
    - BIO_get_mem_data
    - BIO_new
    - ERR_peek_error
    - ERR_print_errors
    - TEST_true
    - TEST_int_eq
    - strlen
    - ERR_pop_to_mark
    - TEST_ptr
    - TEST_int_gt
    - IS_HEX
    linkageType: ''
    returnType: int
    signature: 'static int test_print_error_format(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:158,1
    - Dst: ERR_get_error_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:160,1
    - Dst: TEST_ulong_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:160,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:161,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:162,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:162,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:163,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:164,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:166,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: raised_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - TEST_ulong_ne
    - TEST_str_eq
    - TEST_int_eq
    - ERR_raise_data
    - defined
    - ERR_get_error_all
    linkageType: ''
    returnType: int
    signature: 'static int raised_error(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:314,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:325,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:326,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:317,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:301,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:298,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:309,1
    - Dst: ERR_peek_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:324,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:323,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:304,1
    - Dst: ERR_peek_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:305,1
    - Dst: ERR_peek_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:313,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:315,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:312,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:328,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:332,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:296,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:299,1
    - Dst: ERR_peek_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:297,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:306,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:307,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 334
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 334
    functionName: test_clear_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - ERR_raise
    - TEST_str_eq
    - TEST_int_eq
    - ERR_peek_error_data
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: 'static int test_clear_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:338,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:339,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:340,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:344,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:342,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:119,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:120,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:124,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:121,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:121,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: preserves_system_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/errtest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - GetLastError
    - SetLastError
    - ERR_get_error
    linkageType: ''
    returnType: int
    signature: 'static int preserves_system_error(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:116,1
    - Dst: X509_NAME_ADD
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:112,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:119,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:122,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:122,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 131
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 131
    functionName: execute_HDR_set1_sender_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - X509_NAME_new
    - X509_NAME_free
    - TEST_int_eq
    - TEST_ptr
    - X509_NAME_cmp
    - ossl_cmp_hdr_set1_sender
    - X509_NAME_ADD
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_set1_sender_test(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:180,1
    - Dst: gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:186,1
    - Dst: mktime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:187,1
    - Dst: ossl_cmp_hdr_update_messageTime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:189,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:189,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:191,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:191,1
    - Dst: mktime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:194,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:196,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:198,1
    - Dst: gmtime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:199,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:202,1
    - Dst: mktime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 203
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 203
    functionName: execute_HDR_update_messageTime_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - time
    - TEST_true
    - gmtime
    - ASN1_TIME_to_tm
    - ossl_cmp_hdr_update_messageTime
    - mktime
    - TEST_time_t_le
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_update_messageTime_test(CMP_HDR_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:135,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: test_HDR_set1_sender
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_set1_sender(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:207,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: test_HDR_update_messageTime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_update_messageTime(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:146,1
    - Dst: ossl_cmp_hdr_set1_recipient
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:150,1
    - Dst: X509_NAME_ADD
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:149,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:153,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:156,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:156,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 165
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 165
    functionName: execute_HDR_set1_recipient_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - X509_NAME_new
    - X509_NAME_free
    - TEST_int_eq
    - TEST_ptr
    - X509_NAME_cmp
    - ossl_cmp_hdr_set1_recipient
    - X509_NAME_ADD
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_set1_recipient_test(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:215,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:218,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:221,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:221,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:224,1
    - Dst: ossl_cmp_hdr_set1_senderKID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:226,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:226,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:231,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: execute_HDR_set1_senderKID_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ASN1_OCTET_STRING_new
    - TEST_int_eq
    - ASN1_OCTET_STRING_cmp
    - ASN1_OCTET_STRING_free
    - ossl_cmp_hdr_set1_senderKID
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_set1_senderKID_test(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_PKIHEADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:25,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:27,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    - OSSL_CMP_PKIHEADER_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:169,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: test_HDR_set1_recipient
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_set1_recipient(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:237,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: test_HDR_set1_senderKID
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_set1_senderKID(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:351,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:356,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:362,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:371,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:382,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:343,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:347,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:357,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:358,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:357,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:361,1
    - Dst: ossl_cmp_hdr_generalInfo_push1_items
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:366,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:371,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:366,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:372,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:351,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:352,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:357,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:372,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:376,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:376,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:342,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:350,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:361,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:370,1
    - Dst: OSSL_CMP_ITAV_get0_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:375,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:375,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 384
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 384
    functionName: execute_HDR_generalInfo_push1_items_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_ITAV_get0_type
    - OSSL_CMP_ITAV_free
    - memcmp
    - OSSL_CMP_ITAV_get0_value
    - sk_OSSL_CMP_ITAV_value
    - ASN1_TYPE_cmp
    - sk_OSSL_CMP_ITAV_pop_free
    - ASN1_TYPE_free
    - TEST_true
    - OSSL_CMP_ITAV_create
    - ASN1_INTEGER_set
    - ASN1_TYPE_new
    - ASN1_INTEGER_free
    - ASN1_INTEGER_new
    - TEST_int_eq
    - OBJ_txt2obj
    - ossl_cmp_hdr_generalInfo_push1_items
    - ASN1_TYPE_set
    - TEST_ptr
    - OSSL_CMP_ITAV_push0_stack_item
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_generalInfo_push1_items_test(CMP_HDR_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:398,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:399,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:398,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:399,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:400,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: execute_HDR_set_and_check_implicitConfirm_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - TEST_false
    - ossl_cmp_hdr_has_implicitConfirm
    - TEST_true
    - ossl_cmp_hdr_set_implicitConfirm
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_set_and_check_implicitConfirm_test(CMP_HDR_TEST_FIXTURE
      * fixture) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:416,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:422,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:425,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:417,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:422,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:426,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:426,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:430,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:430,1
    - Dst: OSSL_CMP_HDR_get0_recipNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:434,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:438,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:438,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 443
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 443
    functionName: execute_HDR_init_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - OSSL_CMP_HDR_get0_transactionID
    - ossl_cmp_hdr_get0_senderNonce
    - ASN1_OCTET_STRING_cmp
    - OSSL_CMP_HDR_get0_recipNonce
    - ossl_cmp_hdr_get_pvno
    - ossl_cmp_hdr_init
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_init_test(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:388,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: test_HDR_generalInfo_push1_items
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_generalInfo_push1_items(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:405,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: test_HDR_set_and_check_implicit_confirm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_set_and_check_implicit_confirm(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:449,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:453,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:452,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:452,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:453,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:455,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: test_HDR_init_with_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_true
    - RAND_bytes
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_init_with_ref(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:81,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:77,1
    - Dst: X509_NAME_ADD
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:80,1
    - Dst: OSSL_CMP_CTX_set1_subjectName
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:84,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:84,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:87,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:88,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:88,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: execute_HDR_get0_senderNonce_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - X509_NAME_new
    - X509_NAME_free
    - TEST_int_eq
    - TEST_ptr
    - ossl_cmp_hdr_get0_senderNonce
    - OSSL_CMP_CTX_set1_subjectName
    - ASN1_OCTET_STRING_cmp
    - X509_NAME_ADD
    - ossl_cmp_hdr_init
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_get0_senderNonce_test(CMP_HDR_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:61,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: test_HDR_set_get_pvno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_set_get_pvno(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:34,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:34,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:37,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:37,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:39,1
    - Dst: OSSL_CMP_PKIHEADER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:39,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:44,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_new
    - OSSL_CMP_PKIHEADER_new
    - TEST_ptr
    - OPENSSL_zalloc
    - tear_down
    linkageType: ''
    returnType: CMP_HDR_TEST_FIXTURE*
    signature: 'static CMP_HDR_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:245,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:250,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:253,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:247,1
    - Dst: ossl_cmp_hdr_push0_freeText
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:256,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:256,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 264
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 264
    functionName: execute_HDR_push0_freeText_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_new
    - ossl_cmp_hdr_push0_freeText
    - sk_ASN1_UTF8STRING_value
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - ASN1_STRING_set
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_push0_freeText_test(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTF8STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:276,1
    - Dst: ossl_cmp_hdr_push1_freeText
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:286,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:283,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:280,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:286,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:289,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:290,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:290,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 298
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 298
    functionName: execute_HDR_push1_freeText_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - ASN1_UTF8STRING_new
    - sk_ASN1_UTF8STRING_value
    - TEST_ptr
    - TEST_int_eq
    - ASN1_STRING_cmp
    - ASN1_STRING_set
    - ASN1_UTF8STRING_free
    - ossl_cmp_hdr_push1_freeText
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_push1_freeText_test(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:313,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:316,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:316,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:320,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: execute_HDR_generalInfo_push0_item_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - OSSL_CMP_ITAV_new
    - ossl_cmp_hdr_generalInfo_push0_item
    - sk_OSSL_CMP_ITAV_value
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_generalInfo_push0_item_test(CMP_HDR_TEST_FIXTURE
      *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:466,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:468,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:468,1
    - Dst: X509_NAME_ADD
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:469,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:469,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:470,1
    - Dst: OSSL_CMP_CTX_set1_subjectName
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:470,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:472,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:475,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 478
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 478
    functionName: test_HDR_init_with_subject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - X509_NAME_new
    - X509_NAME_free
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_subjectName
    - SETUP_TEST_FIXTURE
    - tear_down
    - X509_NAME_ADD
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_init_with_subject(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:52,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:54,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:54,1
    - Dst: ossl_cmp_hdr_set_pvno
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: execute_HDR_set_get_pvno_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_hdr_get_pvno
    - ossl_cmp_hdr_set_pvno
    linkageType: ''
    returnType: int
    signature: 'static int execute_HDR_set_get_pvno_test(CMP_HDR_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:101,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: test_HDR_get0_senderNonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_get0_senderNonce(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:268,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: test_HDR_push0_freeText
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_push0_freeText(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:302,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: test_HDR_push1_freeText
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_push1_freeText(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:329,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: test_HDR_generalInfo_push0_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_HDR_generalInfo_push0_item(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:488,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:493,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:492,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:490,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:491,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:494,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:495,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:496,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:498,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:499,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:501,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:506,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:500,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 508
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 508
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_hdr_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:29,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:33,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:39,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:43,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:70,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:60,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:26,1
    - Dst: EVP_PKEY_CTX_set1_tls1_prf_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:37,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:51,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:34,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:56,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:49,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:76,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:25,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:30,1
    - Dst: EVP_PKEY_CTX_set_tls1_prf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:33,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:61,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:54,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:45,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 78
    functionName: test_kdf_tls1_prf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_PKEY_CTX_set_tls1_prf_md
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - EVP_sha256
    - EVP_PKEY_CTX_free
    - TEST_error
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_tls1_prf(int index) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:154,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:159,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:163,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:167,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:171,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:175,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:183,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:179,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:195,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:210,1
    - Dst: EVP_PKEY_CTX_set1_pbe_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:162,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:158,1
    - Dst: EVP_PKEY_CTX_set1_scrypt_salt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:166,1
    - Dst: EVP_PKEY_CTX_set_scrypt_N
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:170,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:187,1
    - Dst: EVP_PKEY_CTX_set_scrypt_r
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:174,1
    - Dst: EVP_PKEY_CTX_set_scrypt_maxmem_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:182,1
    - Dst: EVP_PKEY_CTX_set_scrypt_p
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:178,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:191,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:194,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:155,1
    - Dst: EVP_PKEY_CTX_set_scrypt_maxmem_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:190,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:186,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:216,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 218
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 218
    functionName: test_kdf_scrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_scrypt_r
    - TEST_mem_eq
    - EVP_PKEY_CTX_set_scrypt_maxmem_bytes
    - TEST_error
    - EVP_PKEY_CTX_set1_scrypt_salt
    - EVP_PKEY_CTX_set_scrypt_p
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_pbe_pass
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set_scrypt_N
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_scrypt(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:225,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:231,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:229,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - fips_provider_version_ge
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:87,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:95,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:92,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:99,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:118,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:91,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:95,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:123,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:116,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:106,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:136,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:88,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:104,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:121,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:128,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:112,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:96,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:101,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:127,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:110,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c:142,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 144
    functionName: test_kdf_hkdf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_kdf_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_mem_eq
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_new_id
    - EVP_sha256
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - TEST_error
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    linkageType: ''
    returnType: int
    signature: 'static int test_kdf_hkdf(int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_complex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:256,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:255,1
    - Dst: d2i_KeyParams_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:255,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:256,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:256,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:258,1
    - Dst: i2d_KeyParams_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:258,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:260,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:260,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:265,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:268,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:267,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:261,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:266,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 270
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 270
    functionName: params_bio_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - TEST_mem_eq
    - BIO_free
    - TEST_ptr
    - EVP_PKEY_free
    - TEST_int_gt
    - BIO_s_mem
    - BIO_new
    - i2d_KeyParams_bio
    - BIO_new_mem_buf
    - d2i_KeyParams_bio
    linkageType: ''
    returnType: int
    signature: 'static int params_bio_test(int id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:317,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:319,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:319,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:320,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:281,1
    - Dst: d2i_KeyParams_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:286,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:283,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:283,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:286,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:290,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:292,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:292,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:296,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:299,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:299,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:305,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:308,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c:309,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 311
    functionName: set_enc_pubkey_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_pkey_dparams_test.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - TEST_int_le
    - BIO_free
    - TEST_ptr
    - TEST_skip
    - EVP_PKEY_free
    - ERR_set_mark
    - TEST_int_gt
    - EVP_PKEY_set1_encoded_public_key
    - TEST_info
    - BIO_new_mem_buf
    - d2i_KeyParams_bio
    linkageType: ''
    returnType: int
    signature: 'static int set_enc_pubkey_test(int id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:512,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:514,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:519,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:517,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:518,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:520,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:521,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:522,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:523,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:524,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:526,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:528,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 531
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 531
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - printf
    - getenv
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:111,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:121,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:118,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:114,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - dir
    - file
    - buffer
    - buffer_length
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: read_text_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_free
    - BIO_read
    - OPENSSL_free
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: 'static int read_text_file(const char *dir, const char *file, char
      *buffer, int buffer_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:84,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:87,1
    - Dst: SCT_LIST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CTLOG_STORE_free
    - SCT_LIST_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CT_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:398,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: test_verify_fails_for_future_sct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CT_TEST
    - SETUP_CT_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_verify_fails_for_future_sct(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:63,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:63,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:67,1
    - Dst: CTLOG_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:67,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:68,1
    - Dst: CTLOG_STORE_load_default_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:69,1
    - Dst: CTLOG_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:75,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:76,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - CTLOG_STORE_new
    - OPENSSL_free
    - OPENSSL_zalloc
    - CTLOG_STORE_free
    - TEST_error
    - CTLOG_STORE_load_default_file
    linkageType: ''
    returnType: CT_TEST_FIXTURE*
    signature: 'static CT_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:93,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:99,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:100,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:96,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - dir
    - file
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: load_pem_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_X509
    - BIO_free
    - OPENSSL_free
    - test_mk_file_path
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *load_pem_cert(const char *dir, const char *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:132,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:138,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:132,1
    - Dst: SCT_LIST_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:135,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:138,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:141,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:142,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - sct
    - expected_output
    argTypes:
    - STACK_OF(SCT)*
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: compare_sct_list_printout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - BIO_write
    - BIO_free
    - TEST_str_eq
    - TEST_ptr
    - TEST_true
    - BIO_s_mem
    - BIO_new
    - SCT_LIST_print
    linkageType: ''
    returnType: int
    signature: 'static int compare_sct_list_printout(STACK_OF(SCT) *sct, const char
      *expected_output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:430,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 437
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 437
    functionName: test_decode_tls_sct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CT_TEST
    - SETUP_CT_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_decode_tls_sct(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:348,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: test_one_sct_in_certificate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CT_TEST
    - SETUP_CT_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_one_sct_in_certificate(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:374,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: test_verify_one_sct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CT_TEST
    - SETUP_CT_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_verify_one_sct(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:337,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: test_no_scts_in_certificate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CT_TEST
    - SETUP_CT_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_no_scts_in_certificate(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:361,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: test_multiple_scts_in_certificate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CT_TEST
    - SETUP_CT_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_multiple_scts_in_certificate(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:386,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: test_verify_multiple_scts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CT_TEST
    - SETUP_CT_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_verify_multiple_scts(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:159,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:158,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:158,1
    - Dst: X509V3_EXT_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:159,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:164,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:164,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:168,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:168,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:171,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:178,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - extension
    - expected_output
    argTypes:
    - X509_EXTENSION*
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: compare_extension_printout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - BIO_write
    - BIO_free
    - TEST_str_eq
    - X509V3_EXT_print
    - TEST_ptr
    - TEST_true
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int compare_extension_printout(X509_EXTENSION *extension, const
      char *expected_output) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CT_POLICY_EVAL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:233,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:255,1
    - Dst: load_pem_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:262,1
    - Dst: X509_get_ext_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:269,1
    - Dst: X509V3_EXT_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:280,1
    - Dst: assert_validity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:306,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:316,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:324,1
    - Dst: CT_POLICY_EVAL_CTX_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:248,1
    - Dst: load_pem_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:255,1
    - Dst: CT_POLICY_EVAL_CTX_set1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:259,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:282,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:294,1
    - Dst: o2i_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:302,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:323,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:327,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:227,1
    - Dst: read_text_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:236,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:272,1
    - Dst: compare_extension_printout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:276,1
    - Dst: i2o_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:315,1
    - Dst: SCT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:326,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:328,1
    - Dst: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:245,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:240,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:262,1
    - Dst: CT_POLICY_EVAL_CTX_set1_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:265,1
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:281,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:284,1
    - Dst: SCT_get_source
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:284,1
    - Dst: assert_validity
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:291,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:302,1
    - Dst: compare_sct_list_printout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:311,1
    - Dst: SCT_LIST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:325,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 82
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 330
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 330
    functionName: execute_cert_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - CT_POLICY_EVAL_CTX_new
    - sk_SCT_value
    - i2o_SCT_LIST
    - CT_POLICY_EVAL_CTX_set_time
    - STACK_OF
    - X509_free
    - SCT_get_source
    - TEST_mem_eq
    - X509_get_ext_by_NID
    - OPENSSL_free
    - SCT_LIST_free
    - load_pem_cert
    - compare_extension_printout
    - TEST_int_ge
    - TEST_ptr_null
    - X509V3_EXT_d2i
    - compare_sct_list_printout
    - read_text_file
    - TEST_int_eq
    - SCT_free
    - CT_POLICY_EVAL_CTX_set1_issuer
    - CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    - CT_POLICY_EVAL_CTX_free
    - CT_POLICY_EVAL_CTX_set1_cert
    - X509_get_ext
    - sk_SCT_num
    - TEST_ptr
    - assert_validity
    - o2i_SCT_LIST
    linkageType: ''
    returnType: int
    signature: 'static int execute_cert_test(CT_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CT_POLICY_EVAL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:479,1
    - Dst: CT_POLICY_EVAL_CTX_get_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:481,1
    - Dst: abs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:484,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:484,1
    - Dst: difftime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:484,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:484,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 492
    functionName: test_default_ct_policy_eval_ctx_time_is_now
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - CT_POLICY_EVAL_CTX_free
    - time
    - CT_POLICY_EVAL_CTX_new
    - CT_POLICY_EVAL_CTX_get_time
    - TEST_time_t_le
    - difftime
    - abs
    linkageType: ''
    returnType: int
    signature: 'static int test_default_ct_policy_eval_ctx_time_is_now(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:189,1
    - Dst: SCT_get_validation_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:195,1
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:192,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:193,1
    - Dst: SCT_LIST_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:189,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:211,1
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:212,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:215,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 3
    argNames:
    - fixture
    - scts
    - policy_ctx
    argTypes:
    - CT_TEST_FIXTURE*
    - STACK_OF(SCT)*
    - CT_POLICY_EVAL_CTX*
    constantsTouched: []
    func_position:
      end: 221
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 221
    functionName: assert_validity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - sk_SCT_num
    - TEST_int_eq
    - sk_SCT_value
    - TEST_info
    - SCT_LIST_validate
    - TEST_int_ge
    - SCT_get_validation_status
    linkageType: ''
    returnType: int
    signature: 'static int assert_validity(CT_TEST_FIXTURE *fixture, STACK_OF(SCT)
      *scts, CT_POLICY_EVAL_CTX *policy_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:502,1
    - Dst: CTLOG_new_from_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:503,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:503,1
    - Dst: CTLOG_new_from_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 506
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: test_ctlog_from_base64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - CTLOG_new_from_base64
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int test_ctlog_from_base64(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:448,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:453,1
    - Dst: SCT_new_from_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:457,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:457,1
    - Dst: sk_SCT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:450,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:461,1
    - Dst: sk_SCT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:465,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 470
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 470
    functionName: test_encode_tls_sct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ct_test.c
    functionUses: []
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - sk_SCT_push
    - TEST_ptr
    - SCT_new_from_base64
    - tear_down
    - EXECUTE_CT_TEST
    - sk_SCT_new_null
    linkageType: ''
    returnType: int
    signature: 'static int test_encode_tls_sct(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c:78,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c:84,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c:90,1
    - Dst: ossl_get_extension_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c:89,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c:86,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: test_extension_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_get_extension_type
    - TEST_uint_eq
    - OSSL_NELEM
    - TEST_error
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_extension_list(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ext_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:79,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:84,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:82,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:81,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: test_rc4_end_processing
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - RC4
    - TEST_uchar_eq
    - RC4_set_key
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rc4_end_processing(const int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:68,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:70,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:71,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: test_rc4_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c
    functionUses: []
    functionsReached:
    - RC4_set_key
    - RC4
    - TEST_mem_eq
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rc4_encrypt(const int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:92,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:95,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:94,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:93,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: test_rc4_multi_call
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c
    functionUses: []
    functionsReached:
    - RC4_set_key
    - RC4
    - TEST_mem_eq
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rc4_multi_call(const int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:111,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:115,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:112,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:116,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:113,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:118,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: test_rc_bulk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c
    functionUses: []
    functionsReached:
    - SHA1_Final
    - TEST_mem_eq
    - RC4
    - SHA1_Init
    - RC4_set_key
    - SHA1_Update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rc_bulk(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:127,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:130,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:127,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:129,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rc4test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sm4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:56,1
    - Dst: ossl_sm4_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:64,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:60,1
    - Dst: ossl_sm4_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:59,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:57,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:66,1
    - Dst: ossl_sm4_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:70,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 76
    functionName: test_sm4_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_sm4_decrypt
    - TEST_mem_eq
    - ossl_sm4_encrypt
    - memcpy
    - ossl_sm4_set_key
    linkageType: ''
    returnType: int
    signature: 'static int test_sm4_ecb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm4_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:29,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - ssl
    - hint
    - ident
    - max_ident_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: clnt_psk_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int clnt_psk_callback(SSL *ssl, const char *hint,
      char *ident, unsigned int max_ident_len, unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:67,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:111,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:139,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:65,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:60,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:68,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:69,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:70,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:86,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:102,1
    - Dst: SSL_READ_ETM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:135,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:67,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:69,1
    - Dst: SSL_set_mtu
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:93,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:102,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:104,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:106,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:116,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:121,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:127,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:60,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:68,1
    - Dst: DTLS_get_data_mtu
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:81,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:87,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:70,1
    - Dst: SSL_set_mtu
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:80,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:83,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:75,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:138,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 73
    argCount: 3
    argNames:
    - ctx
    - cs
    - no_etm
    argTypes:
    - SSL_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 141
    functionName: mtu_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c
    functionUses: []
    functionsReached:
    - TEST_error
    - SSL_write
    - SSL_set_cipher_list
    - TEST_true
    - create_ssl_objects
    - TEST_info
    - TEST_false
    - create_ssl_connection
    - TEST_int_eq
    - SSL_READ_ETM
    - SSL_get_rbio
    - DTLS_get_data_mtu
    - SSL_set_options
    - SSL_free
    - TEST_size_t_ne
    - TEST_ptr
    - BIO_read
    - SSL_set_mtu
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int mtu_test(SSL_CTX *ctx, const char *cs, int no_etm) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:196,1
    - Dst: DTLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:196,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:199,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:196,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:203,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:207,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:207,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:211,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:218,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:225,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:226,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:218,1
    - Dst: DTLS_set_link_mtu
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:212,1
    - Dst: SSL_set_tlsext_max_fragment_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:212,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:227,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 229
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 229
    functionName: test_server_mtu_larger_than_max_fragment_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_CTX_set_psk_client_callback
    - create_ssl_connection
    - TEST_ptr
    - SSL_CTX_new
    - TEST_true
    - DTLS_set_link_mtu
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_CTX_set_psk_server_callback
    - DTLS_method
    - SSL_set_options
    - SSL_CTX_set_dh_auto
    - SSL_set_tlsext_max_fragment_length
    linkageType: ''
    returnType: int
    signature: 'static int test_server_mtu_larger_than_max_fragment_length(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:152,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:154,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:167,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:175,1
    - Dst: mtu_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:180,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:149,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:161,1
    - Dst: SSL_CTX_get_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:164,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:170,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:173,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:146,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:166,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:165,1
    - Dst: mtu_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:173,1
    - Dst: DTLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:149,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:161,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:180,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:182,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: run_mtu_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_CTX_get_ciphers
    - SSL_CTX_set_psk_client_callback
    - SSL_CTX_set_security_level
    - TEST_ptr
    - sk_SSL_CIPHER_num
    - SSL_CTX_new
    - TEST_true
    - SSL_CTX_free
    - TEST_info
    - TEST_int_gt
    - SSL_CTX_set_psk_server_callback
    - strncmp
    - SSL_CIPHER_get_name
    - DTLS_method
    - sk_SSL_CIPHER_value
    - mtu_test
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int run_mtu_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: srvr_psk_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int srvr_psk_callback(SSL *ssl, const char *identity,
      unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:233,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_s_mempacket_test_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dtls_mtu_test.c
    functionUses: []
    functionsReached:
    - bio_s_mempacket_test_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: cts128_encrypt_key_schedule
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: AES_KEY*
    signature: 'static AES_KEY *cts128_encrypt_key_schedule(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:172,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:175,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - in
    - out
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: last_blocks_correction_nist
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t last_blocks_correction_nist(const unsigned char *in,
      unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_cts128
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: test_aes_cts128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - execute_cts128
    linkageType: ''
    returnType: int
    signature: 'static int test_aes_cts128(int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:196,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:201,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:210,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:225,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:214,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:226,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:235,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:236,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:202,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:220,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:230,1
    - Dst: cts128_decrypt_key_schedule
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:190,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:216,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:221,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:215,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:231,1
    - Dst: cts128_encrypt_key_schedule
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:189,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:205,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:206,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 2
    argNames:
    - fixture
    - num
    argTypes:
    - CTS128_FIXTURE*
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 240
    functionName: execute_cts128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - cts128_encrypt_key_schedule
    - memcpy
    - TEST_true
    - TEST_info
    - cts128_decrypt_key_schedule
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int execute_cts128(const CTS128_FIXTURE *fixture, int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: cts128_decrypt_key_schedule
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - AES_set_decrypt_key
    linkageType: ''
    returnType: AES_KEY*
    signature: 'static AES_KEY *cts128_decrypt_key_schedule(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - in
    - out
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: last_blocks_correction
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t last_blocks_correction(const unsigned char *in, unsigned
      char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_cts128
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: test_aes_cts128_nist
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - execute_cts128
    linkageType: ''
    returnType: int
    signature: 'static int test_aes_cts128_nist(int idx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:863,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:866,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:867,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:865,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:869,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:871,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:871,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:873,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:873,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:875,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:878,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:883,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:884,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:884,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:886,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:879,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:881,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 890
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 890
    functionName: test_gcm128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_aad
    - TEST_mem_eq
    - CRYPTO_gcm128_init
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_finish
    - AES_set_encrypt_key
    - CRYPTO_gcm128_encrypt
    - TEST_int_ge
    - TEST_false
    - CRYPTO_gcm128_setiv
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_gcm128(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:894,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:896,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:895,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:894,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:895,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 898
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 898
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/modes_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:65,1
    - Dst: X509_LOOKUP_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:77,1
    - Dst: X509_LOOKUP_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:74,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:70,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:74,1
    - Dst: load_certs_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:80,1
    - Dst: load_cert_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:82,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:85,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:89,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:92,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:100,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:101,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:102,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:99,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:94,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 104
    functionName: test_alt_chains_cert_forgery
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - X509_free
    - X509_STORE_add_lookup
    - sk_X509_pop_free
    - X509_STORE_CTX_init
    - X509_STORE_CTX_get_error
    - X509_verify_cert
    - X509_STORE_CTX_free
    - load_certs_pem
    - X509_LOOKUP_file
    - load_cert_from_file
    - X509_LOOKUP_load_file
    - X509_STORE_free
    - X509_STORE_CTX_new
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int test_alt_chains_cert_forgery(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: test_self_signed_good
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: 'static int test_self_signed_good(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:148,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:161,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:152,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:160,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:156,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:162,1
    - Dst: X509_REQ_set0_distinguishing_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:166,1
    - Dst: X509_REQ_get0_distinguishing_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:168,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:169,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:170,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:175,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:176,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:170,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 178
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 178
    functionName: test_req_distinguishing_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_free
    - ASN1_OCTET_STRING_new
    - TEST_ptr
    - TEST_int_eq
    - X509_REQ_free
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_cmp
    - X509_REQ_get0_distinguishing_id
    - ASN1_OCTET_STRING_set
    - X509_REQ_set0_distinguishing_id
    - PEM_read_bio_X509_REQ
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_req_distinguishing_id(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: test_self_signed_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: 'static int test_self_signed_error(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:227,1
    - Dst: load_cert_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:228,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:237,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:253,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:268,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:272,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:270,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:243,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:246,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:236,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:261,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:271,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:229,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:230,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:230,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:235,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:250,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:253,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:263,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:263,1
    - Dst: load_cert_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:226,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:238,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:246,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:243,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:273,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:269,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - purpose
    - expected
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 275
    functionName: do_test_purpose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_STORE_CTX_set_purpose
    - sk_X509_pop_free
    - X509_STORE_CTX_init
    - X509_STORE_CTX_set0_trusted_stack
    - TEST_ptr
    - TEST_int_eq
    - X509_verify_cert
    - TEST_true
    - X509_STORE_CTX_free
    - sk_X509_push
    - sk_X509_new_null
    - load_cert_from_file
    - X509_STORE_CTX_new
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int do_test_purpose(int purpose, int expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: test_purpose_ssl_server
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - do_test_purpose
    linkageType: ''
    returnType: int
    signature: 'static int test_purpose_ssl_server(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:113,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:122,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:117,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:121,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:123,1
    - Dst: X509_set0_distinguishing_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:127,1
    - Dst: X509_get0_distinguishing_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:130,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:131,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:131,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 138
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 138
    functionName: test_distinguishing_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - ASN1_OCTET_STRING_new
    - TEST_ptr
    - TEST_int_eq
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_cmp
    - X509_set0_distinguishing_id
    - load_cert_from_file
    - X509_get0_distinguishing_id
    - ASN1_OCTET_STRING_set
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_distinguishing_id(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:182,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:183,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:184,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:183,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:187,1
    - Dst: X509_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:187,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:191,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:191,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:192,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:192,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:193,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:194,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:197,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:198,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:199,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - filename
    - use_trusted
    - expected
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 201
    functionName: test_self_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_STORE_CTX_init
    - X509_STORE_CTX_set0_trusted_stack
    - TEST_int_eq
    - X509_verify_cert
    - TEST_true
    - X509_STORE_CTX_free
    - sk_X509_free
    - sk_X509_push
    - sk_X509_new_null
    - load_cert_from_file
    - X509_self_signed
    - X509_STORE_CTX_new
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int test_self_signed(const char *filename, int use_trusted,
      int expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: test_self_signed_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: 'static int test_self_signed_bad(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: test_store_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: 'static int test_store_ctx(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: test_purpose_ssl_client
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - do_test_purpose
    linkageType: ''
    returnType: int
    signature: 'static int test_purpose_ssl_client(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: test_purpose_any
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - do_test_purpose
    linkageType: ''
    returnType: int
    signature: 'static int test_purpose_any(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:296,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:304,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:309,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:317,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:321,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:305,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:309,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:307,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:311,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:316,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:320,1
    - Dst: cleanup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:326,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:301,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:306,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:308,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:310,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:315,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:319,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:323,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:304,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:301,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:297,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:306,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:310,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:308,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:314,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:318,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:322,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 328
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - cleanup_tests
    - TEST_ptr
    - ADD_TEST
    - test_get_argument
    - TEST_error
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:332,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:334,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:336,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:335,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:333,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:337,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:338,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/verify_extra_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:244,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:246,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:245,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:252,1
    - Dst: multihexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:247,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:258,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:259,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:260,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:261,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:262,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:269,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:270,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:263,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:267,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:271,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 6
    argNames:
    - rec
    - recd
    - key
    - iv
    - ivlen
    - seq
    argTypes:
    - SSL3_RECORD*
    - RECORD_DATA*
    - unsigned char**
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 273
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 273
    functionName: load_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - memcpy
    - multihexstr2buf
    - OPENSSL_hexstr2buf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int load_record(SSL3_RECORD *rec, RECORD_DATA *recd, unsigned
      char **key, unsigned char *iv, size_t ivlen, unsigned char *seq) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:321,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:322,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:337,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:352,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:357,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:363,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:370,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:374,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:375,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:385,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:392,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:390,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:323,1
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:341,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:347,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:349,1
    - Dst: RECORD_LAYER_get_write_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:357,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:381,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:384,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:399,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:404,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:406,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:389,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:407,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:321,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:327,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:328,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:334,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:342,1
    - Dst: RECORD_LAYER_get_read_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:358,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:371,1
    - Dst: test_record
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:374,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:380,1
    - Dst: tls13_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:380,1
    - Dst: test_record
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:384,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:391,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:403,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:405,1
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:309,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:329,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:333,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:338,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:343,1
    - Dst: RECORD_LAYER_get_read_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:351,1
    - Dst: load_record
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:350,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:359,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:362,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:365,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:408,1
    - Dst: tls13_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:370,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 410
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 410
    functionName: test_tls13_encryption
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c
    functionUses: []
    functionsReached:
    - tls13_enc
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex
    - TEST_error
    - TLS_method
    - test_record
    - SSL_new
    - EVP_aes_128_gcm
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - load_record
    - EVP_CIPHER_get_iv_length
    - RECORD_LAYER_get_write_sequence
    - TEST_int_eq
    - memcpy
    - SSL_CTX_free
    - TEST_note
    - SSL_free
    - RECORD_LAYER_get_read_sequence
    - TEST_ptr
    - SSL_CTX_new
    - OSSL_NELEM
    - SSL_CIPHER_find
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_tls13_encryption(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multihexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:282,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:286,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:287,1
    - Dst: multihexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:284,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:291,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - rec
    - recd
    - enc
    argTypes:
    - SSL3_RECORD*
    - RECORD_DATA*
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: test_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - OPENSSL_free
    - TEST_info
    - multihexstr2buf
    linkageType: ''
    returnType: int
    signature: 'static int test_record(SSL3_RECORD *rec, RECORD_DATA *recd, int enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:209,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:224,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:227,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:223,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 236
    functionName: multihexstr2buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13encryptiontest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_hexchar2int
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *multihexstr2buf(const char *str[3], size_t *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:350,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:355,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:355,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:351,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:351,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: ffc_params_gen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_4_validate
    - TEST_true
    - ossl_ffc_params_init
    - ossl_ffc_params_FIPS186_4_generate
    linkageType: ''
    returnType: int
    signature: 'static int ffc_params_gen_test(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:548,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:550,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:556,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:561,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:564,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:588,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:588,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:552,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:570,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:574,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:577,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:579,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:582,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:585,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:593,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:601,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:545,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:545,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:554,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:556,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:558,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:564,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:561,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:566,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:600,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:548,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:552,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:570,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:570,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:574,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:577,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:582,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:585,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:590,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:593,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 60
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 603
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 603
    functionName: ffc_private_validate_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - BN_sub_word
    - TEST_ptr
    - BN_set_negative
    - TEST_int_eq
    - TEST_true
    - BN_new
    - BN_value_one
    - BN_copy
    - ossl_dh_get0_params
    - BN_set_word
    - BN_free
    - DH_free
    - TEST_false
    - ossl_ffc_validate_private_key
    linkageType: ''
    returnType: int
    signature: 'static int ffc_private_validate_test(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:697,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:702,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:701,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:703,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:698,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:704,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:705,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:706,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 710
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 710
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:180,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:182,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:189,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:195,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:215,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:206,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:238,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:182,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:201,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:221,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:208,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:222,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:229,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:237,1
    - Dst: ossl_ffc_params_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:198,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:199,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:215,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:214,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:227,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:236,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:189,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:208,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:201,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:222,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:229,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:239,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 241
    functionName: ffc_params_validate_g_unverified_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cleanup
    - ossl_ffc_set_digest
    - ossl_ffc_params_set_flags
    - BN_add_word
    - TEST_ptr
    - BN_copy
    - ossl_ffc_params_FIPS186_4_validate
    - TEST_true
    - ossl_ffc_params_init
    - BN_set_word
    - BN_free
    - BN_bin2bn
    - ossl_ffc_params_set0_pqg
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int ffc_params_validate_g_unverified_test(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:371,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:373,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:377,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:373,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:377,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:382,1
    - Dst: ossl_ffc_params_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:382,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 389
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 389
    functionName: ffc_params_gen_canonicalg_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_print
    - ossl_ffc_params_FIPS186_4_validate
    - TEST_true
    - ossl_ffc_params_init
    - ossl_ffc_params_FIPS186_4_generate
    linkageType: ''
    returnType: int
    signature: 'static int ffc_params_gen_canonicalg_test(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:254,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:260,1
    - Dst: ossl_ffc_params_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:262,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:263,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:285,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:291,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:271,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:282,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:294,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:276,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:303,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:338,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:330,1
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:249,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:250,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:265,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:308,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:319,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:320,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:337,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:324,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:250,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:285,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:276,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:294,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:300,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:303,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:311,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:317,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:324,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:330,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:254,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:265,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:273,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:311,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:308,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 341
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 341
    functionName: ffc_params_validate_pq_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cleanup
    - ossl_ffc_set_digest
    - ossl_ffc_params_set_flags
    - TEST_ptr
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_set_validate_params
    - TEST_true
    - ossl_ffc_params_init
    - BN_free
    - BN_bin2bn
    - ossl_ffc_params_set0_pqg
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int ffc_params_validate_pq_test(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:397,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:398,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:398,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:400,1
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:400,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:404,1
    - Dst: ossl_ffc_params_FIPS186_2_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:404,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:413,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:413,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:418,1
    - Dst: ossl_ffc_params_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:421,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:423,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:428,1
    - Dst: ossl_ffc_params_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:428,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:423,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:434,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:433,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 436
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 436
    functionName: ffc_params_fips186_2_gen_validate_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_set_flags
    - TEST_ptr
    - TEST_int_eq
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_FIPS186_2_generate
    - TEST_true
    - BN_new
    - ossl_ffc_params_init
    - ossl_ffc_params_print
    - BN_free
    - ossl_ffc_params_FIPS186_2_validate
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int ffc_params_fips186_2_gen_validate_test(void) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:454,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:458,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:462,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:477,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:480,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:491,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:493,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:496,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:504,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:511,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:526,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:447,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:447,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:456,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:465,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:470,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:474,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:499,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:504,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:519,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:528,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:533,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:534,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:450,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:454,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:458,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:462,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:460,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:477,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:480,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:491,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:496,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:507,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:511,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:526,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:499,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:523,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:452,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:450,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:467,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:470,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:470,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:465,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:472,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:474,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:483,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:485,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:501,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:507,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:513,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 92
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 536
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 536
    functionName: ffc_public_validate_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - BN_sub_word
    - BN_add_word
    - TEST_ptr
    - BN_set_negative
    - TEST_int_eq
    - TEST_true
    - BN_new
    - BN_value_one
    - BN_copy
    - ossl_dh_get0_params
    - BN_set_word
    - BN_free
    - DH_free
    - ossl_ffc_validate_public_key
    linkageType: ''
    returnType: int
    signature: 'static int ffc_public_validate_test(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:613,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:625,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:628,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:634,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:631,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:642,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:645,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:657,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:616,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:613,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:621,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:637,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:640,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:646,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:651,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:656,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:619,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:616,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:623,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:625,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:631,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:628,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:634,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:642,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:645,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:619,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:637,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:640,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:646,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:649,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:649,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:651,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:658,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 55
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 660
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 660
    functionName: ffc_private_gen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - ossl_ifc_ffc_compute_security_bits
    - TEST_int_le
    - TEST_ptr
    - ossl_ffc_generate_private_key
    - BN_new
    - BN_num_bits
    - TEST_true
    - BN_CTX_free
    - ossl_dh_get0_params
    - BN_free
    - DH_free
    - TEST_false
    - ossl_ffc_validate_private_key
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ffc_private_gen_test(int index) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:668,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:674,1
    - Dst: DH_new_by_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:670,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:670,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:672,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:677,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:677,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:680,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:683,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:683,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:688,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c:689,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 691
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 691
    functionName: ffc_params_copy_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ffc_internal_test.c
    functionUses: []
    functionsReached:
    - DH_new_by_nid
    - ossl_ffc_params_cmp
    - ossl_ffc_params_cleanup
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - ossl_ffc_params_init
    - ossl_dh_get0_params
    - DH_free
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: int
    signature: 'static int ffc_params_copy_test(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:72,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:72,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:72,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:72,1
    - Dst: BN_mul_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:77,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:82,1
    - Dst: ossl_bn_get0_small_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:82,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:84,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: test_bn_small_factors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c
    functionUses: []
    functionsReached:
    - BN_mul_word
    - TEST_ptr
    - TEST_true
    - BN_new
    - BN_set_word
    - BN_free
    - TEST_BN_eq
    - ossl_bn_get0_small_factors
    linkageType: ''
    returnType: int
    signature: 'static int test_bn_small_factors(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:32,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:32,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:34,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:34,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:36,1
    - Dst: ossl_bn_miller_rabin_is_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:36,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:38,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: test_is_prime_enhanced
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_bn_miller_rabin_is_prime
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - BN_new
    - BN_set_word
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int test_is_prime_enhanced(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:53,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:55,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:53,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:55,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:56,1
    - Dst: ossl_bn_miller_rabin_is_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:56,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:58,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: test_is_composite_enhanced
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_bn_miller_rabin_is_prime
    - TEST_ptr
    - TEST_true
    - BN_new
    - TEST_int_ne
    - BN_set_word
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int test_is_composite_enhanced(int id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c
    functionUses: []
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:90,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:94,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:94,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:93,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:90,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bn_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - BN_CTX_new
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:29,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:30,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:31,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:39,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:38,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:42,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:43,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:46,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: test_asn1_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_get_count
    - EVP_PKEY_asn1_get0
    - EVP_PKEY_asn1_get0_info
    - TEST_error
    - OBJ_nid2ln
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_asn1_meths(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:62,1
    - Dst: EVP_PKEY_meth_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:63,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:64,1
    - Dst: EVP_PKEY_meth_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:72,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:71,1
    - Dst: EVP_PKEY_meth_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:73,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:74,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:75,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: test_pkey_meths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get0
    - EVP_PKEY_meth_get0_info
    - TEST_error
    - OBJ_nid2ln
    - EVP_PKEY_meth_get_count
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_meths(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:84,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pkey_meth_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MDC2_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:58,1
    - Dst: MDC2_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:59,1
    - Dst: MDC2_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:61,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:63,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:60,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: test_mdc2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c
    functionUses: []
    functionsReached:
    - MDC2_Init
    - TEST_mem_eq
    - MDC2_Final
    - TEST_info
    - MDC2_Update
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_mdc2(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:74,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/mdc2_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:65,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:66,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:69,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:71,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:76,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:82,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:56,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:62,1
    - Dst: EVP_mdc2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:67,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:68,1
    - Dst: EVP_mdc2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:71,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:75,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:77,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:60,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:71,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:69,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:76,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:52,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:68,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:74,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:70,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:74,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:75,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: test_mdc2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - TEST_mem_eq
    - OSSL_PARAM_construct_uint
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_MD_CTX_set_params
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_mdc2
    - OSSL_PROVIDER_unload
    - TEST_int_gt
    - OSSL_PROVIDER_load
    - ebcdic2ascii
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_mdc2(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/mdc2test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:64,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:69,1
    - Dst: IDEA_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:65,1
    - Dst: IDEA_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:70,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:66,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: test_idea_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c
    functionUses: []
    functionsReached:
    - IDEA_ecb_encrypt
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_idea_ecb(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:95,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:96,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:97,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:101,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:99,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:104,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:106,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:108,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:110,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: test_idea_cfb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - IDEA_cfb64_encrypt
    - memcpy
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_idea_cfb64(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:120,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:121,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:80,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:84,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:82,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:81,1
    - Dst: IDEA_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:83,1
    - Dst: IDEA_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:85,1
    - Dst: IDEA_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:86,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: test_idea_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ideatest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - IDEA_cbc_encrypt
    - memcpy
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int test_idea_cbc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:21,1
    - Dst: dlopen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - filename
    - lib
    - type
    argTypes:
    - char*
    - SD*
    - int
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: sd_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    functionsReached:
    - dlopen
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int sd_load(const char *filename, SD *lib, int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - lib
    - type
    argTypes:
    - char*
    - SD*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: sd_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    functionsReached:
    - LoadLibraryA
    linkageType: ''
    returnType: int
    signature: 'int sd_load(const char *filename, SD *lib, ossl_unused int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: sd_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    functionsReached:
    - dlerror
    linkageType: ''
    returnType: char*
    signature: 'const char *sd_error(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - symname
    - sym
    argTypes:
    - SD
    - char*
    - SD_SYM*
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: sd_sym
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - lib
    argTypes:
    - SD
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: sd_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    functionsReached:
    - dlclose
    linkageType: ''
    returnType: int
    signature: 'int sd_close(SD lib) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - symname
    - sym
    argTypes:
    - SD
    - char*
    - SD_SYM*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: sd_sym
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - lib
    argTypes:
    - SD
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: sd_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: int
    signature: 'int sd_close(SD lib) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:68,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: sd_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/simpledynamic.c
    functionUses: []
    functionsReached:
    - GetLastError
    - FormatMessageA
    linkageType: ''
    returnType: char*
    signature: 'const char *sd_error(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:41,1
    - Dst: chdir
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:57,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:56,1
    - Dst: strpbrk
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:49,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:59,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: change_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - strpbrk
    - chdir
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int change_path(const char *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:79,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:91,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:105,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:107,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:105,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:78,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:79,1
    - Dst: NCONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:78,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:90,1
    - Dst: CONF_modules_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:97,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:98,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:97,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:113,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:82,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:112,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:113,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 119
    functionName: test_load_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c
    functionUses: []
    functionsReached:
    - NCONF_load_bio
    - NCONF_get_string
    - ERR_peek_error
    - TEST_str_eq
    - TEST_int_eq
    - TEST_ptr
    - CONF_modules_load
    - TEST_int_gt
    - NCONF_get_number
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_load_config(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:160,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:162,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:163,1
    - Dst: setenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:161,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:162,1
    - Dst: setenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:169,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:170,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 174
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 174
    functionName: test_check_overflow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c
    functionUses: []
    functionsReached:
    - setenv
    - TEST_true
    - NCONF_get_number
    - TEST_long_eq
    - TEST_false
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int test_check_overflow(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:131,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:133,1
    - Dst: setenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:131,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:132,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:142,1
    - Dst: unsetenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:142,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:143,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:143,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 149
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 149
    functionName: test_check_null_numbers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c
    functionUses: []
    functionsReached:
    - unsetenv
    - TEST_int_eq
    - setenv
    - TEST_true
    - NCONF_get_number
    - TEST_long_eq
    - TEST_false
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_check_null_numbers(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:214,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:201,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:213,1
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:215,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:215,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:216,1
    - Dst: change_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:224,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:226,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:227,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 230
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - TEST_ptr
    - ADD_TEST
    - test_get_argument
    - change_path
    - opt_next
    - NCONF_new
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_vfree
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:234,1
    - Dst: CONF_modules_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:236,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/conf_include_test.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - BIO_vfree
    - CONF_modules_unload
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - oin
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: OSSL_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/p_minimal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int OSSL_provider_init(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH
      *oin, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:84,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:88,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:88,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:93,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:94,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:95,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:96,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:104,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 2
    argNames:
    - libctx
    - prov
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: load_providers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_true
    - OSSL_LIB_CTX_load_config
    - test_get_argument
    - OSSL_LIB_CTX_new
    - test_get_argument_count
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: 'static int load_providers(OSSL_LIB_CTX **libctx, OSSL_PROVIDER *prov[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:148,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:149,1
    - Dst: calculate_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:149,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:151,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:152,1
    - Dst: EVP_MD_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: test_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - EVP_MD_get_block_size
    - TEST_true
    - EVP_MD_get_size
    - EVP_MD_is_a
    - calculate_digest
    linkageType: ''
    returnType: int
    signature: 'static int test_md(const EVP_MD *md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:161,1
    - Dst: test_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:162,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:162,1
    - Dst: unload_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: test_implicit_EVP_MD_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - load_providers
    - EVP_sha256
    - unload_providers
    - test_md
    linkageType: ''
    returnType: int
    signature: 'static int test_implicit_EVP_MD_fetch(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_explicit_EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: test_explicit_EVP_MD_fetch_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - test_explicit_EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_explicit_EVP_MD_fetch_by_name(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:248,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:250,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:249,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:249,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:251,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:251,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:252,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:252,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:254,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:256,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:261,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:254,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:255,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:255,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - cipher
    - msg
    - len
    argTypes:
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 263
    functionName: encrypt_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int encrypt_decrypt(const EVP_CIPHER *cipher, const unsigned
      char *msg, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:279,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:280,1
    - Dst: unload_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:282,1
    - Dst: test_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: test_implicit_EVP_CIPHER_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - load_providers
    - test_cipher
    - EVP_aes_128_cbc
    - unload_providers
    linkageType: ''
    returnType: int
    signature: 'static int test_implicit_EVP_CIPHER_fetch(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_explicit_EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: test_explicit_EVP_CIPHER_fetch_by_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - test_explicit_EVP_CIPHER_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_explicit_EVP_CIPHER_fetch_by_name(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:111,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:113,1
    - Dst: OPENSSL_thread_stop_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:118,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - libctx
    - prov
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: unload_providers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OPENSSL_thread_stop_ex
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void unload_providers(OSSL_LIB_CTX **libctx, OSSL_PROVIDER
      *prov[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:63,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:63,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:65,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:64,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:65,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:66,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:66,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:69,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:69,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:74,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - md
    - msg
    - len
    - exptd
    argTypes:
    - EVP_MD*
    - char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: calculate_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - TEST_mem_eq
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get0_md
    linkageType: ''
    returnType: int
    signature: 'static int calculate_digest(const EVP_MD *md, const char *msg, size_t
      len, const unsigned char *exptd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:175,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:184,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:178,1
    - Dst: test_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:184,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:187,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:189,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:195,1
    - Dst: unload_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:196,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 198
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 198
    functionName: test_explicit_EVP_MD_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - unload_providers
    - load_providers
    - EVP_MD_up_ref
    - TEST_true
    - TEST_ptr_null
    - test_md
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_explicit_EVP_MD_fetch(const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:269,1
    - Dst: encrypt_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:270,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: test_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - encrypt_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher(const EVP_CIPHER *cipher) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:293,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:296,1
    - Dst: test_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:298,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:301,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:301,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:304,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:306,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:311,1
    - Dst: unload_providers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:312,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 314
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 314
    functionName: test_explicit_EVP_CIPHER_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - test_cipher
    - unload_providers
    - EVP_CIPHER_free
    - load_providers
    - TEST_true
    - EVP_CIPHER_fetch
    - TEST_ptr_null
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int test_explicit_EVP_CIPHER_fetch(const char *id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:357,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:363,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:366,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:360,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:381,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:382,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:383,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:384,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:386,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:387,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:388,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 391
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 391
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - opt_arg
    - ADD_ALL_TESTS_NOSUBTEST
    - ADD_TEST
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:127,1
    - Dst: X509_ALGOR_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:128,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:128,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:128,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: make_algor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - TEST_ptr
    - OBJ_nid2obj
    - TEST_true
    - X509_ALGOR_set0
    - X509_ALGOR_new
    linkageType: ''
    returnType: X509_ALGOR*
    signature: 'static X509_ALGOR *make_algor(int nid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_algor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:212,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:219,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:222,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:222,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:226,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:226,1
    - Dst: test_explicit_EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:231,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:233,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: test_explicit_EVP_MD_fetch_by_X509_ALGOR
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - X509_ALGOR_free
    - make_algor
    - TEST_int_gt
    - X509_ALGOR_get0
    - test_explicit_EVP_MD_fetch
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int test_explicit_EVP_MD_fetch_by_X509_ALGOR(int idx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_algor
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:328,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:335,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:338,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:342,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:338,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:342,1
    - Dst: test_explicit_EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:347,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c:349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 351
    functionName: test_explicit_EVP_CIPHER_fetch_by_X509_ALGOR
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_fetch_prov_test.c
    functionUses: []
    functionsReached:
    - test_explicit_EVP_CIPHER_fetch
    - X509_ALGOR_free
    - make_algor
    - TEST_int_gt
    - X509_ALGOR_get0
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int test_explicit_EVP_CIPHER_fetch_by_X509_ALGOR(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:188,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:194,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:192,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - hex_encoded
    - hex_length
    - raw
    - raw_length
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: compare_hex_encoded_buffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_size_t_eq
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int compare_hex_encoded_buffer(const char *hex_encoded, size_t
      hex_length, const uint8_t *raw, size_t raw_length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 5879
      start: 5876
    functionDepth: 0
    functionLinenumber: 5876
    functionLinenumberEnd: 5879
    functionName: verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int verify_cb(int preverify_ok, X509_STORE_CTX *x509_ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7017,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7026,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7027,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7030,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7038,1
    - Dst: get_MFL_from_client_hello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7045,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7055,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7022,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7031,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7032,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7034,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7032,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7048,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7017,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7030,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7045,1
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7022,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7017,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7040,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7031,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7040,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7033,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7054,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - idx_tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 7058
      start: 7010
    functionDepth: 0
    functionLinenumber: 7010
    functionLinenumberEnd: 7058
    functionName: test_max_fragment_len_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_set_bio
    - SSL_free
    - TEST_int_le
    - BIO_free
    - SSL_CTX_set_tlsext_max_fragment_length
    - SSL_connect
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - BIO_s_mem
    - create_ssl_ctx_pair
    - get_MFL_from_client_hello
    - BIO_new
    - SSL_new
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_max_fragment_len_ext(int idx_tst) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:232,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:255,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:262,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:267,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:272,1
    - Dst: SSL_get_client_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:300,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:308,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:308,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:315,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:332,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:310,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:338,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:293,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:240,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:248,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:251,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:274,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:276,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:278,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:287,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:291,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:277,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:297,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:318,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:330,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:326,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:310,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:336,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:289,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:295,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:315,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:228,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:222,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:221,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:255,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:251,1
    - Dst: SSL_get_client_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:245,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:260,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:265,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:267,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:303,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:328,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:306,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:228,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:230,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:230,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:232,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:260,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:253,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:253,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:267,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:273,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:275,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:285,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:306,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:324,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:334,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:340,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 131
    argCount: 4
    argNames:
    - buffer
    - ssl
    - session
    - expected
    argTypes:
    - char*
    - SSL*
    - SSL_SESSION*
    - struct sslapitest_log_counts*
    constantsTouched: []
    func_position:
      end: 344
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 344
    functionName: test_keylog_output
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - compare_hex_encoded_buffer
    - strtok
    - TEST_size_t_ne
    - TEST_ptr
    - strcmp
    - SSL_SESSION_get_master_key
    - TEST_info
    - TEST_false
    - TEST_size_t_eq
    - SSL_get_client_random
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_keylog_output(char *buffer, const SSL *ssl, const
      SSL_SESSION *session, struct sslapitest_log_counts *expected) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:733,1
    - Dst: SSL_client_hello_get0_compression_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:736,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:734,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:735,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:737,1
    - Dst: SSL_client_hello_get1_extensions_present
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:739,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:741,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:742,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:743,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:744,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:747,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 749
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 749
    functionName: full_client_hello_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - SSL_client_hello_get1_extensions_present
    - SSL_client_hello_get0_compression_methods
    - TEST_int_eq
    - memcmp
    - OPENSSL_free
    - SSL_client_hello_get0_ciphers
    - OSSL_NELEM
    - printf
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int full_client_hello_callback(SSL *s, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3094
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3094
    functionName: test_ssl_bio_change_wbio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_bio_change_wbio(void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10149,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10159,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10172,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10190,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10190,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10193,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10204,1
    - Dst: SSL_set1_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10200,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10210,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10171,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10180,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10187,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10207,1
    - Dst: SSL_set1_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10197,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10217,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10155,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10154,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10150,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10159,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10163,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10163,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10175,1
    - Dst: SSL_set1_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10183,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10167,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10183,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10210,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10219,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10187,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10149,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10167,1
    - Dst: SSL_set1_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10180,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10207,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10216,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10218,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 10221
      start: 10140
    functionDepth: 0
    functionLinenumber: 10140
    functionLinenumberEnd: 10221
    functionName: test_set_verify_cert_store_ssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - SSL_free
    - SSL_set1_verify_cert_store
    - TEST_ptr
    - SSL_set1_chain_cert_store
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_get0_chain_cert_store
    - TEST_ptr_null
    - X509_STORE_free
    - TEST_ptr_eq
    - TLS_server_method
    - SSL_new
    - SSL_get0_verify_cert_store
    linkageType: ''
    returnType: int
    signature: 'static int test_set_verify_cert_store_ssl(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:758,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:757,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:768,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:786,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:778,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:757,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:766,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:787,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:770,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:757,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:761,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:768,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:778,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:788,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:764,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:766,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:776,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:776,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:785,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:770,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 791
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 791
    functionName: test_client_hello_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_client_hello_cb
    - create_ssl_connection
    - TEST_int_eq
    - SSL_get_error
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - create_ssl_ctx_pair
    - TEST_false
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_client_hello_cb(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 2019
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2019
    functionName: remove_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void remove_session_cb(SSL_CTX *ctx, SSL_SESSION *sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7437,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7446,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7447,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7447,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7446,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7448,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7454,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7459,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7459,1
    - Dst: SSL_state_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7459,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7469,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 7473
      start: 7432
    functionDepth: 0
    functionLinenumber: 7432
    functionLinenumberEnd: 7473
    functionName: sslapi_info_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - strcmp
    - TEST_true
    - TEST_int_ne
    - SSL_in_init
    - TEST_false
    - SSL_is_server
    - SSL_state_string
    linkageType: ''
    returnType: void
    signature: 'static void sslapi_info_callback(const SSL *s, int where, int ret) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10234,1
    - Dst: SSL_CTX_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10238,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10234,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10239,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10235,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10241,1
    - Dst: X509_VERIFY_PARAM_get_hostflags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10241,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10244,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10246,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10247,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10251,1
    - Dst: X509_VERIFY_PARAM_get_hostflags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10253,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10260,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10259,1
    - Dst: SSL_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10250,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10253,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 10263
      start: 10224
    functionDepth: 0
    functionLinenumber: 10224
    functionLinenumberEnd: 10263
    functionName: test_inherit_verify_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get0_param
    - SSL_free
    - X509_VERIFY_PARAM_get_hostflags
    - TEST_int_eq
    - TEST_ptr
    - SSL_CTX_get0_param
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - X509_VERIFY_PARAM_set_hostflags
    - TLS_server_method
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int test_inherit_verify_param(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:446,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:453,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:454,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:458,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:458,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:472,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:485,1
    - Dst: test_keylog_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:487,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:493,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:496,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:527,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:537,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:535,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:508,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:516,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:511,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:449,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:463,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:453,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:463,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:454,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:468,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:470,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:488,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:497,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:501,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:511,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:518,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:514,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:538,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:524,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:510,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:439,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:440,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:446,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:447,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:457,1
    - Dst: test_keylog_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:485,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:487,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:494,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:506,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:510,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:516,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:526,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:514,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:506,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:536,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:441,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:446,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:449,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:462,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:468,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:470,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:486,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:495,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:502,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:508,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:534,1
    - Dst: test_keylog_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:524,1
    - Dst: test_keylog_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:526,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:525,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:518,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 115
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 541
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 541
    functionName: test_keylog_no_master_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - SSL_get_early_data_status
    - TLS_client_method
    - SSL_CTX_set_keylog_callback
    - TLS_server_method
    - TEST_true
    - SSL_get_session
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_set_session
    - test_keylog_output
    - SSL_read_early_data
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_CTX_get_keylog_callback
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_max_early_data
    - SSL_write_early_data
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_keylog_no_master_key(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:858,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:865,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:879,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:881,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:883,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:884,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:888,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:900,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:903,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:904,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:917,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:903,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:926,1
    - Dst: SSL_get0_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:928,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:931,1
    - Dst: SSL_get0_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:885,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:942,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:904,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:909,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:862,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:863,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:866,1
    - Dst: SSL_get0_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:868,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:877,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:880,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:886,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:897,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:899,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:925,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:928,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:927,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:940,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:929,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:899,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:900,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:919,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:905,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:919,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:910,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:858,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:859,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:865,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:868,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:869,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:872,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:879,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:881,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:883,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:884,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:888,1
    - Dst: SSL_renegotiate_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:925,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:931,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:943,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:926,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:912,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:941,1
    - Dst: SSL_get0_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:902,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:862,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:858,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:863,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:866,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:869,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:877,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:880,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:885,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:887,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:897,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:927,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:934,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:912,1
    - Dst: SSL_renegotiate_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:905,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:944,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:902,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:890,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:930,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:916,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 156
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 947
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 947
    functionName: test_ccs_change_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - SSL_CIPHER_get_id
    - SSL_renegotiate
    - TEST_ulong_eq
    - SSL_renegotiate_pending
    - SSL_get_current_cipher
    - TLS_server_method
    - TEST_ptr_ne
    - SSL_set_cipher_list
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_CTX_set_options
    - TEST_false
    - SSL_set_session
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - TEST_ptr_eq
    - SSL_get_error
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - SSL_get0_session
    - shutdown_ssl_connection
    - SSL_read_ex
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ccs_change_cipher(void) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5911,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5912,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5924,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5925,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5970,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5993,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6005,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6014,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6014,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6056,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6110,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5911,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5917,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5917,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5927,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5936,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5936,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5940,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5957,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5938,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5938,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5963,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6066,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6001,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6111,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6069,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5911,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5933,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5970,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5993,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6005,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6020,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6018,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6054,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6068,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6108,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5988,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6013,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6109,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5982,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6057,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6066,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5940,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5917,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5957,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5963,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5974,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5982,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5988,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5974,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6001,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6013,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6018,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6053,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6055,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6069,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6068,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6107,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6020,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 220
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6113
      start: 5890
    functionDepth: 0
    functionLinenumber: 5890
    functionLinenumberEnd: 6113
    functionName: test_custom_exts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_use_certificate_file
    - SSL_get1_session
    - SSL_CTX_use_PrivateKey_file
    - TLS_server_method
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_CTX_set_options
    - TEST_false
    - SSL_set_session
    - SSL_CTX_add_custom_ext
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_add_server_custom_ext
    - SSL_CTX_free
    - SSL_CTX_add_client_custom_ext
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_CTX_set_verify
    - SSL_free
    - SSL_CTX_check_private_key
    - SSL_CTX_set_tlsext_servername_arg
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_custom_exts(int tst) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9572,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9578,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9578,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9583,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9593,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9593,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9603,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9600,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9586,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9581,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9582,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9583,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9601,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9577,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9573,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9576,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9602,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9591,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9586,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9592,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9606,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 9610
      start: 9563
    functionDepth: 0
    functionLinenumber: 9563
    functionLinenumberEnd: 9610
    functionName: get_tmp_dh_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - BN_get_rfc3526_prime_2048
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_fromdata_init
    - TEST_true
    - EVP_PKEY_fromdata
    - BN_free
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_uint
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_up_ref
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *get_tmp_dh_params(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8581,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8581,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8585,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8588,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8584,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8588,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8589,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8589,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8590,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8590,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8600,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8603,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8604,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8605,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8591,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8591,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8599,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - ssl
    - x509
    - pkey
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 8607
      start: 8573
    functionDepth: 0
    functionLinenumber: 8573
    functionLinenumberEnd: 8607
    functionName: client_cert_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get0_peer_certificate
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - X509_new_ex
    - TEST_ptr
    - PEM_read_bio_PrivateKey_ex
    linkageType: ''
    returnType: int
    signature: 'static int client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4115,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4117,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4118
      start: 4113
    functionDepth: 0
    functionLinenumber: 4113
    functionLinenumberEnd: 4118
    functionName: test_early_data_skip_abort
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_skip_abort(int idx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4245,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4246,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4254,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4256,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4279,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4287,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4282,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4288,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4289,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4328,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4348,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4351,1
    - Dst: check_early_data_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4362,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4354,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4348,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4367,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4368,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4351,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4367,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4311,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4313,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4317,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4324,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4325,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4331,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4334,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4346,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4351,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4382,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4377,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4360,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4369,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4369,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4328,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4245,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4246,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4254,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4256,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4281,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4287,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4288,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4289,1
    - Dst: SSL_SESSION_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4323,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4350,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4350,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4356,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4380,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4348,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4378,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4228,1
    - Dst: SSL_SESSION_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4280,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4268,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4311,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4313,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4322,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4325,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4331,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4342,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4356,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4376,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4383,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4368,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4381,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4356,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 136
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4385
      start: 4207
    functionDepth: 0
    functionLinenumber: 4207
    functionLinenumberEnd: 4385
    functionName: test_early_data_psk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - SSL_get_early_data_status
    - SSL_set_alpn_protos
    - SSL_SESSION_set1_alpn_selected
    - TEST_error
    - ERR_get_error
    - TEST_mem_eq
    - SSL_connect
    - SSL_SESSION_set_protocol_version
    - check_early_data_timeout
    - TEST_true
    - setupearly_data_test
    - SSL_SESSION_free
    - SSL_SESSION_set1_hostname
    - TEST_false
    - SSL_read_early_data
    - time
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_set_connect_state
    - SSL_get_error
    - strlen
    - SSL_CTX_set_alpn_select_cb
    - SSL_free
    - TEST_ptr
    - SSL_write_early_data
    - SSL_SESSION_dup
    - SSL_set_tlsext_host_name
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_psk(int idx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_post_handshake_auth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8260,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8252,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8251,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8267,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8274,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8275,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8287,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8296,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8299,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8304,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8308,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8336,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8336,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8341,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8355,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8376,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8354,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8366,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8343,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8366,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8365,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8345,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8365,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8251,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8262,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8269,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8272,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8270,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8288,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8288,1
    - Dst: SSL_get_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8296,1
    - Dst: SSL_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8303,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8314,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8318,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8374,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8342,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8341,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8342,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8344,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8251,1
    - Dst: create_bare_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8267,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8275,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8274,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8279,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8279,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8287,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8299,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8304,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8308,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8310,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8310,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8320,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8317,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8343,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8375,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8355,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8327,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8321,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8262,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8269,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8270,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8272,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8290,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8314,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8316,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8318,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8327,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8321,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8345,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8354,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8353,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8353,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8344,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8373,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8317,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 165
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8379
      start: 8232
    functionDepth: 0
    functionLinenumber: 8232
    functionLinenumberEnd: 8379
    functionName: test_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - memcmp
    - SSL_write_ex
    - SSL_set_verify
    - SSL_key_update
    - TEST_ptr_ne
    - TLS_server_method
    - SSL_write
    - TEST_true
    - SSL_get_session
    - SSL_verify_client_post_handshake
    - create_ssl_objects
    - TEST_false
    - SSL_get_shutdown
    - SSL_SESSION_is_resumable
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - create_bare_ssl_connection
    - SSL_shutdown
    - SSL_get_error
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_post_handshake_auth
    - SSL_read_ex
    - TEST_size_t_eq
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_shutdown(int tst) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8550,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8495,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8510,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8510,1
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8515,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8526,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8542,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8539,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8534,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8551,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8495,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8511,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8540,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8552,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8495,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8496,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8517,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8549,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8534,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8526,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8553,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 2
    argNames:
    - prot
    - tst
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8556
      start: 8483
    functionDepth: 0
    functionLinenumber: 8483
    functionLinenumberEnd: 8556
    functionName: test_cert_cb_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - create_ssl_connection
    - TEST_ptr
    - SSL_CTX_set_cert_cb
    - TEST_int_eq
    - TEST_true
    - SSL_set1_sigalgs_list
    - create_ssl_objects
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - create_ssl_ctx_pair
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_cert_cb_int(int prot, int tst) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8707,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8738,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8758,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8700,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8702,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8711,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8715,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8769,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8719,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8756,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8715,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8680,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8700,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8734,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8754,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8758,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8771,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8701,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8703,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8712,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8716,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8755,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8726,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8758,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8768,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8724,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8765,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8688,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8698,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8706,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8714,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8716,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8756,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8756,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8689,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8702,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8713,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8680,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8688,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8695,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8699,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8702,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8755,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8744,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8679,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8724,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8703,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8711,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8712,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8766,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8741,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8772,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8739,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8770,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8737,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8688,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8700,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8701,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8703,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8712,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8715,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8738,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8741,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8720,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8713,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8739,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8714,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8753,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8677,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8678,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8699,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8698,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8713,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8741,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8726,1
    - Dst: sk_X509_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8716,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8767,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8739,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8699,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 158
    argCount: 2
    argNames:
    - prot
    - tst
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8775
      start: 8666
    functionDepth: 0
    functionLinenumber: 8666
    functionLinenumberEnd: 8775
    functionName: test_ca_names_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - sk_X509_NAME_new_null
    - sk_X509_NAME_push
    - sk_X509_NAME_pop_free
    - SSL_CTX_set_client_CA_list
    - TLS_server_method
    - X509_NAME_new
    - X509_NAME_cmp
    - TEST_true
    - create_ssl_objects
    - TEST_ptr_null
    - X509_NAME_add_entry_by_txt
    - create_ssl_connection
    - TEST_int_eq
    - sk_X509_NAME_num
    - X509_NAME_dup
    - SSL_CTX_free
    - sk_X509_NAME_value
    - SSL_CTX_set_verify
    - create_ssl_ctx_pair
    - SSL_free
    - X509_NAME_free
    - TEST_ptr
    - SSL_get0_peer_CA_list
    - SSL_CTX_set0_CA_list
    - OSSL_NELEM
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ca_names_int(int prot, int tst) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9510,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9515,1
    - Dst: SSL_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9513,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9514,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9533,1
    - Dst: SSL_get_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9533,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9536,1
    - Dst: SSL_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9540,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9550,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9553,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9498,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9505,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9509,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9516,1
    - Dst: SSL_set0_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9518,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9522,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9524,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9551,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9510,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9522,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9521,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9527,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9529,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9536,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9539,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9541,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9543,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9552,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9498,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9499,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9505,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9498,1
    - Dst: SSL_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9509,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9516,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9522,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9532,1
    - Dst: SSL_get_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9532,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9549,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 9556
      start: 9491
    functionDepth: 0
    functionLinenumber: 9491
    functionLinenumberEnd: 9556
    functionName: test_ssl_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_up_ref
    - SSL_get_wbio
    - SSL_set_min_proto_version
    - TEST_ptr_ne
    - TLS_server_method
    - SSL_set0_wbio
    - TEST_true
    - SSL_get_max_proto_version
    - create_ssl_objects
    - SSL_set_max_proto_version
    - SSL_get_min_proto_version
    - create_ssl_connection
    - TEST_int_eq
    - SSL_get_rbio
    - SSL_set0_rbio
    - SSL_CTX_free
    - TEST_ptr_eq
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - SSL_dup
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_dup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:139,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:142,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: hostname_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - strcmp
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: 'static int hostname_cb(SSL *s, int *al, void *arg) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4893,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4916,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4930,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4959,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4965,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4984,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4973,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4969,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4994,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4995,1
    - Dst: SSL_get_shared_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5006,1
    - Dst: SSL_group_to_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5010,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5024,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4990,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4976,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5006,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5016,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5025,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5018,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4959,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4960,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4965,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4969,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4984,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4973,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4994,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4995,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4998,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5010,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4998,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4910,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4959,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4976,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4990,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5016,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5018,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5027,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5026,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 89
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5029
      start: 4873
    functionDepth: 0
    functionLinenumber: 4873
    functionLinenumberEnd: 5029
    functionName: test_key_exchange
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - SSL_group_to_name
    - SSL_CTX_set_dh_auto
    - TLS_server_method
    - TEST_str_eq
    - TEST_true
    - create_ssl_objects
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - TEST_int_eq
    - SSL_set1_groups
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - SSL_get_negotiated_group
    - SSL_free
    - SSL_CTX_set_ciphersuites
    - OSSL_NELEM
    - SSL_get_shared_group
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_key_exchange(int idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7790,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7810,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7805,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7813,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7825,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7825,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7838,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7793,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7793,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7798,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7808,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7818,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7820,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7824,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7839,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7776,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7794,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7799,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7810,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7805,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7813,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7824,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7840,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7841,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7789,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7778,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7789,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7798,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7798,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7808,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7818,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7820,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7830,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7837,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 2
    argNames:
    - tst
    - clnt
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 7844
      start: 7770
    functionDepth: 0
    functionLinenumber: 7770
    functionLinenumberEnd: 7844
    functionName: int_test_ssl_get_shared_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - OSSL_LIB_CTX_free
    - create_ssl_connection
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    - TEST_int_eq
    - TEST_true
    - strcmp
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_info
    - SSL_CTX_new_ex
    - OSSL_LIB_CTX_new
    - create_ssl_ctx_pair
    - SSL_get_shared_ciphers
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int int_test_ssl_get_shared_ciphers(int tst, int clnt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8838,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8815,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8844,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8846,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8851,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8866,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8854,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8859,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8860,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8872,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8841,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8863,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8867,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8882,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8877,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8836,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8846,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8851,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8860,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8866,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8854,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8872,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8883,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8885,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8814,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8863,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8884,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 48
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8888
      start: 8804
    functionDepth: 0
    functionLinenumber: 8804
    functionLinenumberEnd: 8888
    functionName: test_multiblock_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write_ex
    - TEST_skip
    - RAND_bytes
    - TLS_server_method
    - SSL_CTX_set_max_send_fragment
    - EVP_CIPHER_free
    - TEST_mem_eq
    - TEST_true
    - create_ssl_objects
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_set_options
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_read_ex
    - EVP_CIPHER_fetch
    - TEST_size_t_eq
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_multiblock_write(int test_index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3268,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3279,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3282,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - ssl
    - hint
    - id
    - max_id_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3285
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3285
    functionName: psk_client_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_get_master_key
    - strncpy
    - strlen
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int psk_client_cb(SSL *ssl, const char *hint, char
      *id, unsigned int max_id_len, unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4104,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4106,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4107
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4107
    functionName: test_early_data_skip_hrr_fail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_skip_hrr_fail(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4195,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 4204
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4204
    functionName: alpn_select_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int alpn_select_cb(SSL *ssl, const unsigned char **out, unsigned
      char *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4746,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4756,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4786,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4766,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4794,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4755,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4763,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4773,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4776,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4801,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4726,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4733,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4807,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4811,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4841,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4792,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4737,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4753,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4727,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4741,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4758,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4761,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4832,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4726,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4729,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4747,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4787,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4791,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4832,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4784,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4735,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4744,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4751,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4756,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4764,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4830,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4802,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4773,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4779,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4842,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4726,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4805,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4809,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4774,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4799,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4839,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4777,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4737,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4755,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4817,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4794,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4832,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4798,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4729,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4745,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4765,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4785,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4733,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4735,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4751,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4743,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4807,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4811,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4830,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4776,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4791,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4843,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4753,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4779,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4792,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4800,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4840,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4758,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4762,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4774,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4805,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4809,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4817,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4777,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4782,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 141
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4846
      start: 4717
    functionDepth: 0
    functionLinenumber: 4717
    functionLinenumberEnd: 4846
    functionName: test_ciphersuite_change
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - SSL_get1_session
    - TLS_server_method
    - ERR_get_error
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_set_session
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_SESSION_get0_cipher
    - SSL_CTX_set_ciphersuites
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ciphersuite_change(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8181,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8181,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8193,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8200,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8212,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8214,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8189,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8197,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8200,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8198,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8182,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8187,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8193,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8205,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8203,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8203,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8205,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8189,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8211,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8213,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8217
      start: 8173
    functionDepth: 0
    functionLinenumber: 8173
    functionLinenumberEnd: 8217
    functionName: test_incorrect_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_read
    - create_ssl_connection
    - TEST_int_eq
    - SSL_get_error
    - SSL_get_rbio
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - BIO_set_mem_eof_return
    - SSL_CTX_set_options
    - create_ssl_ctx_pair
    - TEST_false
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_incorrect_shutdown(int tst) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1707,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1699,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1724,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1728,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1762,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1769,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1781,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1717,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1718,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1731,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1773,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1774,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1782,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1699,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1724,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1728,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1739,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1755,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1739,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1765,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1766,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1766,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1779,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1717,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1718,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1745,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1731,1
    - Dst: SSL_peek
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1742,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1742,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1780,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 58
    argCount: 4
    argNames:
    - smeth
    - cmeth
    - min_version
    - max_version
    argTypes:
    - SSL_METHOD*
    - SSL_METHOD*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1785
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1785
    functionName: execute_cleanse_plaintext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write
    - SSL_CTX_set_cipher_list
    - SSL_free
    - TEST_mem_eq
    - SSL_read
    - create_ssl_connection
    - TEST_int_eq
    - memset
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - create_ssl_ctx_pair
    - SSL_set_options
    - SSL_peek
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int execute_cleanse_plaintext(const SSL_METHOD *smeth, const
      SSL_METHOD *cmeth, int min_version, int max_version) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9448,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9451,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9454,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9459,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9464,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9469,1
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9464,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9482,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9454,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9466,1
    - Dst: SSL_get_shared_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9473,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9479,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9459,1
    - Dst: SSL_group_to_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9473,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9469,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9480,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9484,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9446,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9454,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9455,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9472,1
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9466,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9481,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9487
      start: 9441
    functionDepth: 0
    functionLinenumber: 9441
    functionLinenumberEnd: 9487
    functionName: test_pluggable_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - TEST_str_eq
    - create_ssl_connection
    - TEST_ptr
    - TEST_true
    - OSSL_PROVIDER_unload
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_set1_groups_list
    - SSL_group_to_name
    - OSSL_PROVIDER_load
    - SSL_get_shared_group
    - TLS_client_method
    - TLS_server_method
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: 'static int test_pluggable_group(int idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1826,1
    - Dst: sk_OCSP_RESPID_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1832,1
    - Dst: SSL_get_tlsext_status_ids
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1831,1
    - Dst: OCSP_RESPID_match_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1836,1
    - Dst: sk_OCSP_RESPID_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1835,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1842,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1842,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1845,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1845,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1847,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 1852
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1852
    functionName: ocsp_server_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get_tlsext_status_ids
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - OPENSSL_memdup
    - OCSP_RESPID_match_ex
    - SSL_set_tlsext_status_ocsp_resp
    - sk_OCSP_RESPID_num
    - sk_OCSP_RESPID_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_server_cb(SSL *s, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3084
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3084
    functionName: test_ssl_bio_pop_ssl_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_bio_pop_ssl_bio(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3089
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3089
    functionName: test_ssl_bio_change_rbio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_bio_change_rbio(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1863,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 1869
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1869
    functionName: ocsp_client_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get_tlsext_status_ocsp_resp
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_client_cb(SSL *s, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 2014
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2014
    functionName: new_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_free
    linkageType: ''
    returnType: int
    signature: 'static int new_session_cb(SSL *ssl, SSL_SESSION *sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ktls_enable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1064
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1064
    functionName: ktls_chk_platform
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - ktls_enable
    linkageType: ''
    returnType: int
    signature: 'static int ktls_chk_platform(int sock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5852,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5857,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    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*
    constantsTouched: []
    func_position:
      end: 5862
      start: 5846
    functionDepth: 0
    functionLinenumber: 5846
    functionLinenumberEnd: 5862
    functionName: new_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_is_server
    linkageType: ''
    returnType: int
    signature: 'static int new_parse_cb(SSL *s, unsigned int ext_type, unsigned int
      context, const unsigned char *in, size_t inlen, X509 *x, size_t chainidx, int
      *al, void *parse_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_tmp_dh_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - idx
    - == 10
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9728
      start: 9726
    functionDepth: 0
    functionLinenumber: 9726
    functionLinenumberEnd: 9728
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_set_tmp_dh_callback
    linkageType: ''
    returnType: else
    signature: 'else if (idx == 10) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9885,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9886,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9889,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9889,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9896,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9896,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9903,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9903,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9905,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9910,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9919,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9885,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9889,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9916,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9918,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9895,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9895,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9917,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9920,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9890,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9905,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 9922
      start: 9875
    functionDepth: 0
    functionLinenumber: 9875
    functionLinenumberEnd: 9922
    functionName: test_sni_tls13
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_free
    - create_ssl_connection
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_CTX_new_ex
    - SSL_CTX_set_tlsext_servername_callback
    - TLS_client_method
    - TLS_server_method
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: 'static int test_sni_tls13(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10664,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10671,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10685,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10726,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10702,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10730,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10733,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10746,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10748,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10762,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10760,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10674,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10704,1
    - Dst: SSL_set_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10724,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10747,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10749,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10759,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10763,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10674,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10685,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10702,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10726,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10730,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10733,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10742,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10742,1
    - Dst: TEST_long_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10754,1
    - Dst: SSL_CTX_sess_number
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10754,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10674,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10675,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10689,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10691,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10694,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10695,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10704,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10736,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10761,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 96
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 10765
      start: 10653
    functionDepth: 0
    functionLinenumber: 10653
    functionLinenumberEnd: 10765
    functionName: test_multi_resume
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - TEST_skip
    - SSL_set_max_early_data
    - TLS_server_method
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_CTX_set_options
    - TEST_false
    - SSL_set_session
    - TEST_long_le
    - create_ssl_connection
    - SSL_CTX_sess_set_cache_size
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_CTX_sess_number
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_max_early_data
    - TEST_ptr
    - SSL_CTX_set_tlsext_servername_arg
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_multi_resume(int idx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1082,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1083,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1085,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1084,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1118,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1133,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1143,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1153,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1087,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1087,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1091,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1099,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1129,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1139,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1149,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1105,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1107,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1106,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1108,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1111,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1119,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1090,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1096,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1096,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1100,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1123,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1128,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1138,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1148,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 66
    argCount: 2
    argNames:
    - clientssl
    - serverssl
    argTypes:
    - SSL*
    - SSL*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1161
    functionName: ping_pong_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write
    - BIO_get_ktls_recv
    - TEST_mem_eq
    - SSL_read
    - TEST_mem_ne
    - memcpy
    - TEST_true
    - BIO_get_ktls_send
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: 'static int ping_pong_query(SSL *clientssl, SSL *serverssl) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2183,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2284,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2331,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2323,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2049,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2081,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2076,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2079,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2099,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2101,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2249,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2259,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2323,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2339,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2179,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2083,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2087,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2201,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2282,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2297,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2310,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2288,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2312,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2172,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2050,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2064,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2096,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2181,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2049,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2098,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2132,1
    - Dst: SSL_CTX_remove_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2168,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2161,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2154,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2231,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2279,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2309,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2162,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2058,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2189,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2151,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2233,1
    - Dst: SSL_CTX_remove_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2270,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2281,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2332,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2325,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2183,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2143,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2090,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2125,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2217,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2234,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2258,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2268,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2293,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2312,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2269,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2049,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2068,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2079,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2101,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2111,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2156,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2214,1
    - Dst: SSL_CTX_remove_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2245,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2249,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2337,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2336,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2126,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2138,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2179,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2193,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2203,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2227,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2267,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2311,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2315,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2309,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2083,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2096,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2099,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2178,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2098,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2168,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2229,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2284,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2296,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2151,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2210,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2172,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2063,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2081,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2207,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2156,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2218,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2225,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2270,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2320,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2087,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2120,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2154,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2199,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2215,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2222,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2233,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2282,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2324,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2310,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2189,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2059,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2126,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2202,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2128,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2234,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2245,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2342,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2272,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2161,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2070,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2092,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2134,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2142,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2231,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2257,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2279,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2292,1
    - Dst: TEST_long_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2315,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2341,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2112,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2138,1
    - Dst: SSL_CTX_remove_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2162,1
    - Dst: SSL_SESSION_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2267,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2281,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2319,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2334,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2340,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 324
    argCount: 4
    argNames:
    - maxprot
    - use_int_cache
    - use_ext_cache
    - s_options
    argTypes:
    - int
    - int
    - int
    - long
    constantsTouched: []
    func_position:
      end: 2345
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2345
    functionName: execute_test_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - SSL_SESSION_set_timeout
    - SSL_CTX_set_session_cache_mode
    - TLS_server_method
    - TEST_true
    - SSL_get_session
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_CTX_set_options
    - TEST_long_gt
    - TEST_ptr_null
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_set_time
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_sess_set_new_cb
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_sess_set_cache_size
    - SSL_session_reused
    - SSL_CTX_free
    - TEST_long_ne
    - SSL_CTX_sess_set_get_cb
    - TEST_ptr_eq
    - SSL_CTX_add_session
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - TEST_ptr
    - shutdown_ssl_connection
    - SSL_CTX_sess_set_remove_cb
    - SSL_CTX_remove_session
    - SSL_SESSION_dup
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int execute_test_session(int maxprot, int use_int_cache, int
      use_ext_cache, long s_options) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5779,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5784,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5785,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 5792
      start: 5773
    functionDepth: 0
    functionLinenumber: 5773
    functionLinenumberEnd: 5792
    functionName: old_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_is_server
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int old_add_cb(SSL *s, unsigned int ext_type, const unsigned
      char **out, size_t *outlen, int *al, void *add_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5868,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 5874
      start: 5864
    functionDepth: 0
    functionLinenumber: 5864
    functionLinenumberEnd: 5874
    functionName: sni_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_set_SSL_CTX
    linkageType: ''
    returnType: int
    signature: 'static int sni_cb(SSL *s, int *al, void *arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6204,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6206,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6217,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6221,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6230,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6230,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6228,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6241,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6205,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6213,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6226,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6240,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6242,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6204,1
    - Dst: SSL_CTX_use_serverinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6217,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6221,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6233,1
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6213,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6226,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6245
      start: 6160
    functionDepth: 0
    functionLinenumber: 6160
    functionLinenumberEnd: 6245
    functionName: test_serverinfo_custom
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_CTX_use_serverinfo
    - SSL_CTX_add_custom_ext
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_CTX_use_serverinfo_ex
    - SSL_do_handshake
    - TLS_method
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: 'static int test_serverinfo_custom(const int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_set1_ticket_appdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7862,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7862,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 7864
      start: 7858
    functionDepth: 0
    functionLinenumber: 7858
    functionLinenumberEnd: 7864
    functionName: gen_tick_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_set1_ticket_appdata
    - SSL_get_session
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int gen_tick_cb(SSL *s, void *arg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8422,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8424,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8421,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8417,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8426,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8431,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8433,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8433,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8428,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8434,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8466,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8435,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8464,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8390,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8403,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8406,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8407,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8409,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8419,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8424,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8426,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8427,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8428,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8432,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8439,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8439,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8469,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8440,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8438,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8467,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8432,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8434,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8419,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8435,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8438,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8438,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8432,1
    - Dst: SSL_check_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8444,1
    - Dst: SSL_use_cert_and_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8453,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8462,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8463,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8465,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8468,1
    - Dst: SSL_use_certificate_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8406,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8403,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8407,1
    - Dst: SSL_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8409,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8416,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8419,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8424,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8418,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8425,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8425,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8427,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8440,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8437,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 119
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 8471
      start: 8384
    functionDepth: 0
    functionLinenumber: 8384
    functionLinenumberEnd: 8471
    functionName: cert_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_free
    - EVP_PKEY_free
    - sk_X509_push
    - SSL_check_private_key
    - BIO_new
    - STACK_OF
    - X509_free
    - sk_X509_pop_free
    - OPENSSL_free
    - TEST_true
    - SSL_check_chain
    - PEM_read_bio_X509
    - BIO_s_file
    - PEM_read_bio_PrivateKey_ex
    - SSL_use_PrivateKey_file
    - SSL_set_SSL_CTX
    - X509_new_ex
    - TEST_ptr
    - SSL_use_certificate_file
    - TEST_int_gt
    - sk_X509_new_null
    - BIO_read_filename
    - SSL_use_cert_and_key
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: 'static int cert_cb(SSL *s, void *arg) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9683,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9678,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9684,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9691,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9702,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9718,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9731,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9733,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9740,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9740,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9750,1
    - Dst: get_tmp_dh_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9671,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9683,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9696,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9709,1
    - Dst: SSL_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9714,1
    - Dst: SSL_set_tmp_dh
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9724,1
    - Dst: SSL_set_tmp_dh_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9727,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9732,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9672,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9683,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9691,1
    - Dst: SSL_CTX_set_tmp_dh_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9705,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9702,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9718,1
    - Dst: SSL_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9731,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9733,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9751,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9752,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9753,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9677,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9709,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9714,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9696,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9724,1
    - Dst: SSL_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9732,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9754,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 88
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9757
      start: 9654
    functionDepth: 0
    functionLinenumber: 9654
    functionLinenumberEnd: 9757
    functionName: test_set_tmp_dh
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - SSL_set0_tmp_dh_pkey
    - SSL_set_dh_auto
    - SSL_set_min_proto_version
    - SSL_CTX_set_dh_auto
    - TLS_server_method
    - SSL_CTX_set_tmp_dh_callback
    - EVP_PKEY_get1_DH
    - SSL_set_cipher_list
    - TEST_true
    - create_ssl_objects
    - SSL_set_max_proto_version
    - get_tmp_dh_params
    - SSL_set_tmp_dh_callback
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - SSL_CTX_set_tmp_dh
    - SSL_CTX_set0_tmp_dh_pkey
    - SSL_set_tmp_dh
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_set_tmp_dh(int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10621,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10623,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10626,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10621,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10623,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10631,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10631,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10632,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10635,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10639,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10640,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 10643
      start: 10607
    functionDepth: 0
    functionLinenumber: 10607
    functionLinenumberEnd: 10643
    functionName: resume_servername_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - SSL_free
    - create_ssl_connection
    - TEST_true
    - ERR_set_mark
    - create_ssl_objects
    - TEST_false
    - SSL_set_session
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'static int resume_servername_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 2419
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2419
    functionName: new_cachesession_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_free
    linkageType: ''
    returnType: int
    signature: 'static int new_cachesession_cb(SSL *ssl, SSL_SESSION *sess) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_tmp_dh_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - idx
    - == 9
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9706
      start: 9704
    functionDepth: 0
    functionLinenumber: 9704
    functionLinenumberEnd: 9706
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_tmp_dh_callback
    linkageType: ''
    returnType: else
    signature: 'else if (idx == 9) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2423,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2428,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2424,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2428,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2424,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2429,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2429,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2430,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2430,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2431,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2431,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - sssl
    - cssl
    argTypes:
    - SSL*
    - SSL*
    constantsTouched: []
    func_position:
      end: 2436
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2436
    functionName: post_handshake_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_int_le
    - SSL_read
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_set_verify
    - SSL_verify_client_post_handshake
    - SSL_do_handshake
    linkageType: ''
    returnType: int
    signature: 'static int post_handshake_verify(SSL *sssl, SSL *cssl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - res
    - bio1
    - bio2
    - type
    argTypes:
    - BIO**
    - BIO*
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 2888
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2888
    functionName: setupbio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setupbio(BIO **res, BIO *bio1, BIO *bio2, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 3738
      start: 3728
    functionDepth: 0
    functionLinenumber: 3728
    functionLinenumberEnd: 3738
    functionName: allow_early_data_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int allow_early_data_cb(SSL *s, void *arg) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9819,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9819,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9826,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9826,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9830,1
    - Dst: SSL_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9830,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9834,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9834,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9833,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9833,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9848,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9858,1
    - Dst: SSL_get_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9846,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9819,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9843,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9846,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9815,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9831,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9842,1
    - Dst: SSL_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9832,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9842,1
    - Dst: SSL_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9831,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9832,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9860,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9843,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9861,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9851,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9820,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9848,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9851,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9857,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9859,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 71
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9865
      start: 9762
    functionDepth: 0
    functionLinenumber: 9762
    functionLinenumberEnd: 9865
    functionName: test_dh_auto
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - SSL_set_dh_auto
    - SSL_set_min_proto_version
    - TEST_error
    - TLS_server_method
    - TEST_int_le
    - SSL_set_cipher_list
    - SSL_connect
    - TEST_true
    - create_ssl_objects
    - SSL_set_max_proto_version
    - SSL_accept
    - create_ssl_connection
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_get_tmp_key
    - TEST_int_gt
    - EVP_PKEY_get_bits
    - TEST_size_t_eq
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_dh_auto(int idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9941,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9952,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9952,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9960,1
    - Dst: SSL_get_default_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9961,1
    - Dst: SSL_SESSION_get_ticket_lifetime_hint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9973,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9973,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9980,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9947,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9947,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9947,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9960,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9964,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9969,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9969,1
    - Dst: TEST_ulong_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9973,1
    - Dst: SSL_SESSION_get_ticket_lifetime_hint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9969,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9964,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9982,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9948,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9979,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9981,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9984
      start: 9929
    functionDepth: 0
    functionLinenumber: 9929
    functionLinenumberEnd: 9984
    functionName: test_ticket_lifetime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - TEST_ulong_le
    - create_ssl_connection
    - TEST_skip
    - TEST_true
    - SSL_get_default_timeout
    - SSL_SESSION_get_ticket_lifetime_hint
    - create_ssl_objects
    - SSL_get_session
    - SSL_CTX_free
    - SSL_CTX_set_timeout
    - TEST_ulong_eq
    - create_ssl_ctx_pair
    - TEST_long_eq
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ticket_lifetime(int idx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3924,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3955,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3937,1
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3940,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3928,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3964,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3989,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3997,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4008,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4008,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4047,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4051,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4071,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3990,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4046,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4069,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4016,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4064,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4050,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3914,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3913,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3925,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3955,1
    - Dst: SSL_set_recv_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3960,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3964,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3966,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3989,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3990,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4028,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4048,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4041,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4048,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3989,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4067,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3913,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3924,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3940,1
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3937,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3928,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3966,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4008,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4016,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4029,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4029,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4046,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4050,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4037,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4046,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4065,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3974,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4070,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4028,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3913,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3920,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3921,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3925,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3955,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3960,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3964,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3970,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3970,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3973,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3974,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4047,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4068,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4058,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4051,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4058,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 126
    argCount: 3
    argNames:
    - testtype
    - cipher
    - idx
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4073
      start: 3901
    functionDepth: 0
    functionLinenumber: 3901
    functionLinenumberEnd: 4073
    functionName: early_data_skip_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write_ex
    - SSL_get_early_data_status
    - SSL_get_wbio
    - TEST_error
    - TLS_server_method
    - SSL_set_recv_max_early_data
    - ERR_peek_error
    - TEST_mem_eq
    - TEST_true
    - setupearly_data_test
    - SSL_SESSION_free
    - TEST_false
    - SSL_SESSION_set_time
    - SSL_read_early_data
    - ERR_clear_error
    - time
    - SSL_CTX_set_security_level
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_get_error
    - strlen
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_ciphersuites
    - BIO_write_ex
    - SSL_set1_groups_list
    - SSL_read_ex
    - SSL_write_early_data
    - TEST_long_eq
    - TEST_size_t_eq
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int early_data_skip_helper(int testtype, int cipher, int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5825,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5830,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5831,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    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*
    constantsTouched: []
    func_position:
      end: 5838
      start: 5818
    functionDepth: 0
    functionLinenumber: 5818
    functionLinenumberEnd: 5838
    functionName: new_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_is_server
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int new_add_cb(SSL *s, unsigned int ext_type, unsigned int
      context, const unsigned char **out, size_t *outlen, X509 *x, size_t chainidx,
      int *al, void *add_arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7535,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7550,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7560,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7580,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7587,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7589,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7593,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7596,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7598,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7608,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7607,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7605,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7578,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7522,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7534,1
    - Dst: SSL_set_info_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7530,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7535,1
    - Dst: check_early_data_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7543,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7552,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7560,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7566,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7576,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7578,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7588,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7596,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7528,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7535,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7537,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7547,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7547,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7550,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7573,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7585,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7593,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7595,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7606,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7522,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7537,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7548,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7540,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7548,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7540,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7560,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7561,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7566,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7576,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7609,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7598,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7599,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7586,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7595,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 7611
      start: 7485
    functionDepth: 0
    functionLinenumber: 7485
    functionLinenumberEnd: 7611
    functionName: test_info_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - SSL_get_early_data_status
    - SSL_CTX_set_dh_auto
    - TLS_server_method
    - TEST_mem_eq
    - check_early_data_timeout
    - TEST_true
    - setupearly_data_test
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_set_session
    - SSL_read_early_data
    - SSL_set_info_callback
    - time
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_shutdown
    - create_ssl_ctx_pair
    - strlen
    - SSL_free
    - SSL_write_early_data
    - SSL_CTX_set_info_callback
    - TEST_size_t_eq
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_info_callback(int tst) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: load_dasync
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10338,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10338,1
    - Dst: load_dasync
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10345,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10352,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10390,1
    - Dst: SSL_set_split_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10408,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10451,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10463,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10486,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10490,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10470,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10431,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10356,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10375,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10407,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10398,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10374,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10411,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10415,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10431,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10438,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10439,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10474,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10339,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10352,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10408,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10451,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10452,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10484,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10470,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10492,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10494,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10489,1
    - Dst: ENGINE_unregister_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10463,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10338,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10356,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10377,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10377,1
    - Dst: SSL_set_split_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10398,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10389,1
    - Dst: SSL_set_max_pipelines
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10407,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10411,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10415,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10416,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10464,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10485,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10478,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10483,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 143
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 10496
      start: 10319
    functionDepth: 0
    functionLinenumber: 10319
    functionLinenumberEnd: 10496
    functionName: test_pipelining
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write_ex
    - OPENSSL_malloc
    - TLS_server_method
    - SSL_set_cipher_list
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - ENGINE_finish
    - create_ssl_objects
    - SSL_set_split_send_fragment
    - TEST_false
    - ENGINE_unregister_ciphers
    - RAND_bytes_ex
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - ENGINE_free
    - SSL_set_max_pipelines
    - create_ssl_ctx_pair
    - TEST_size_t_le
    - SSL_free
    - TEST_ptr
    - load_dasync
    - SSL_read_ex
    - TEST_int_gt
    - TEST_size_t_eq
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_pipelining(int idx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bio_s_always_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10521,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10532,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10535,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10536,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10552,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10562,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10557,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10573,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10573,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10580,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10587,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10521,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10535,1
    - Dst: add_large_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10544,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10561,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10562,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10572,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10572,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10588,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10590,1
    - Dst: set_always_retry_err_val
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10591,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10524,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10535,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10562,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10557,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10577,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10580,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10585,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10589,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10566,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10569,1
    - Dst: set_always_retry_err_val
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10555,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10569,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10586,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 10593
      start: 10516
    functionDepth: 0
    functionLinenumber: 10516
    functionLinenumberEnd: 10593
    functionName: test_handshake_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_up_ref
    - TEST_skip
    - add_large_cert_chain
    - SSL_get_wbio
    - bio_s_always_retry
    - BIO_new
    - TLS_server_method
    - SSL_set0_wbio
    - SSL_connect
    - TEST_true
    - create_ssl_objects
    - SSL_accept
    - TEST_int_eq
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_get_error
    - SSL_CTX_set_verify
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - set_always_retry_err_val
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_handshake_retry(int idx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3156,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3161,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3184,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3206,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3173,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3214,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3152,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3194,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3169,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3206,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3215,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3149,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3156,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3184,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3197,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3216,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3149,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3154,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3156,1
    - Dst: SSL_CTX_set1_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3167,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3179,1
    - Dst: SSL_set1_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3192,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3217,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3220
      start: 3140
    functionDepth: 0
    functionLinenumber: 3140
    functionLinenumberEnd: 3220
    functionName: test_set_sigalgs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - SSL_set1_sigalgs
    - SSL_free
    - SSL_CTX_set1_sigalgs
    - SSL_CTX_set1_sigalgs_list
    - SSL_CTX_set_max_proto_version
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_set1_sigalgs_list
    - TEST_info
    - create_ssl_objects
    - SSL_CTX_free
    - OSSL_NELEM
    - TLS_client_method
    - TLS_server_method
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: 'static int test_set_sigalgs(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - s
    - ext_type
    - context
    - out
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - void*
    constantsTouched: []
    func_position:
      end: 5844
      start: 5840
    functionDepth: 0
    functionLinenumber: 5840
    functionLinenumberEnd: 5844
    functionName: new_free_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void new_free_cb(SSL *s, unsigned int ext_type, unsigned int
      context, const unsigned char *out, void *add_arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7623,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7624,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7666,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7667,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7677,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7669,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7623,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7646,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7658,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7663,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7647,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7656,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7664,1
    - Dst: SSL_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7664,1
    - Dst: SSL_has_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7665,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7671,1
    - Dst: SSL_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7670,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7623,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7662,1
    - Dst: SSL_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7662,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7666,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7679,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7680,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7678,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7630,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7631,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7646,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7656,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7658,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7647,1
    - Dst: SSL_has_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7663,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7665,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7668,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7670,1
    - Dst: SSL_has_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7671,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7668,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 7683
      start: 7613
    functionDepth: 0
    functionLinenumber: 7613
    functionLinenumberEnd: 7683
    functionName: test_ssl_pending
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_pending
    - SSL_free
    - SSL_write_ex
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_read_ex
    - DTLS_client_method
    - create_ssl_ctx_pair
    - SSL_has_pending
    - TEST_false
    - TEST_size_t_eq
    - TLS_client_method
    - TLS_server_method
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_pending(int tst) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6826,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6827,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6833,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6848,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6848,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6874,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6874,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6879,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6888,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6885,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6879,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6826,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6831,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6844,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6853,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6843,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6847,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6853,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6857,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6865,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6865,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6886,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6826,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6833,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6847,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6852,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6858,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6858,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6873,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6878,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6878,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6878,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6879,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6873,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6873,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6831,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6840,1
    - Dst: BIO_new_bio_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6840,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6852,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6857,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6866,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6866,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6873,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6874,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6878,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6887,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 76
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6891
      start: 6816
    functionDepth: 0
    functionLinenumber: 6816
    functionLinenumberEnd: 6891
    functionName: test_key_update_local_in_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_bio_pair
    - SSL_set_bio
    - SSL_write
    - SSL_free
    - SSL_read
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - strlen
    - SSL_key_update
    - SSL_do_handshake
    - create_ssl_ctx_pair
    - SSL_get_error
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_key_update_local_in_read(int tst) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9040,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9051,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9062,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9053,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9069,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9079,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9087,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9091,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9099,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9106,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9115,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9126,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9032,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9037,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9045,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9057,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9076,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9107,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9118,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9124,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9128,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9118,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9040,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9041,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9069,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9053,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9077,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9087,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9091,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9108,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9111,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9115,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9127,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9125,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9040,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9045,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9048,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9057,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9061,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9078,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9098,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9101,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9102,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9111,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 81
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9131
      start: 9022
    functionDepth: 0
    functionLinenumber: 9022
    functionLinenumberEnd: 9131
    functionName: test_session_cache_overflow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - TEST_skip
    - SSL_SESSION_set_timeout
    - TLS_server_method
    - TEST_true
    - SSL_get_session
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_CTX_set_options
    - SSL_set_session
    - create_ssl_connection
    - SSL_CTX_sess_set_cache_size
    - SSL_CTX_free
    - SSL_CTX_sess_set_get_cb
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_session_cache_overflow(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_tmp_dh_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9616,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9629,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9631,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9619,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - s
    - is_export
    - keylen
    argTypes:
    - SSL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 9634
      start: 9614
    functionDepth: 0
    functionLinenumber: 9614
    functionLinenumberEnd: 9634
    functionName: tmp_dh_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get1_DH
    - TEST_ptr
    - EVP_PKEY_free
    - DH_free
    - get_tmp_dh_params
    linkageType: ''
    returnType: DH*
    signature: 'static DH *tmp_dh_callback(SSL *s, int is_export, int keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3503,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - timer
    argTypes:
    - time_t
    constantsTouched: []
    func_position:
      end: 3508
      start: 3491
    functionDepth: 0
    functionLinenumber: 3491
    functionLinenumberEnd: 3508
    functionName: check_early_data_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - time
    linkageType: ''
    returnType: int
    signature: 'static int check_early_data_timeout(time_t timer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:664,1
    - Dst: SSL_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:659,1
    - Dst: SSL_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:657,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:657,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:648,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:652,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:665,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:647,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:650,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:650,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:652,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:655,1
    - Dst: SSL_use_certificate_chain_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:655,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:656,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:666,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:656,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:659,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:650,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:667,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 669
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 669
    functionName: test_ssl_build_cert_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_use_PrivateKey_file
    - SSL_free
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - test_mk_file_path
    - SSL_build_cert_chain
    - SSL_check_private_key
    - SSL_use_certificate_chain_file
    - TLS_server_method
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_build_cert_chain(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2534,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2546,1
    - Dst: check_resumption
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2565,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2596,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2614,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2538,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2547,1
    - Dst: setup_ticket_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2562,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2571,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2578,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2584,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2587,1
    - Dst: post_handshake_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2591,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2597,1
    - Dst: check_resumption
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2608,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2620,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2621,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2615,1
    - Dst: setup_ticket_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2531,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2534,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2544,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2548,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2572,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2582,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2598,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2538,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2541,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2545,1
    - Dst: setup_ticket_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2575,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2578,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2549,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2584,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2592,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2595,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2616,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2617,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 2
    argNames:
    - stateful
    - idx
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2624
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2624
    functionName: test_tickets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - post_handshake_verify
    - create_ssl_connection
    - TEST_int_eq
    - SSL_set_post_handshake_auth
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_SESSION_free
    - check_resumption
    - OSSL_NELEM
    - SSL_shutdown
    - setup_ticket_test
    linkageType: ''
    returnType: int
    signature: 'static int test_tickets(int stateful, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_tickets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2634
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2634
    functionName: test_stateful_tickets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - test_tickets
    linkageType: ''
    returnType: int
    signature: 'static int test_stateful_tickets(int idx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3411,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3417,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3448,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3427,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3450,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3451,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3459,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3472,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3479,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3483,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3405,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3406,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3420,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3438,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3458,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3478,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3485,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3477,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3405,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3411,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3416,1
    - Dst: create_a_psk
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3442,1
    - Dst: SSL_SESSION_set_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3448,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3450,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3427,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3460,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3472,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3476,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3405,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3421,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3438,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3443,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3458,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3480,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3485,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3483,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 7
    argNames:
    - cctx
    - sctx
    - clientssl
    - serverssl
    - sess
    - idx
    - mdsize
    argTypes:
    - SSL_CTX**
    - SSL_CTX**
    - SSL**
    - SSL**
    - SSL_SESSION**
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 3489
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3489
    functionName: setupearly_data_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_psk_find_session_callback
    - SSL_SESSION_set_max_early_data
    - SSL_get1_session
    - create_a_psk
    - SSL_SESSION_up_ref
    - TLS_server_method
    - TEST_true
    - create_ssl_objects
    - SSL_CTX_set_read_ahead
    - SSL_SESSION_free
    - SSL_set_session
    - SSL_CTX_set_psk_use_session_callback
    - create_ssl_connection
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_max_early_data
    - TEST_ptr
    - SSL_set_tlsext_host_name
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int setupearly_data_test(SSL_CTX **cctx, SSL_CTX **sctx, SSL
      **clientssl, SSL **serverssl, SSL_SESSION **sess, int idx, size_t mdsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - s
    - ext_type
    - out
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - void*
    constantsTouched: []
    func_position:
      end: 5798
      start: 5794
    functionDepth: 0
    functionLinenumber: 5794
    functionLinenumberEnd: 5798
    functionName: old_free_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void old_free_cb(SSL *s, unsigned int ext_type, const unsigned
      char *out, void *add_arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6575,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6583,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6588,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6583,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6597,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6597,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6613,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6618,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6618,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6618,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6627,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6618,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6619,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6625,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6568,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6569,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6573,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6582,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6592,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6596,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6596,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6596,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6606,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6606,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6630,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6628,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6629,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6567,1
    - Dst: bio_s_always_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6563,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6568,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6575,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6587,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6588,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6605,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6614,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6614,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6619,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6614,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6626,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6563,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6568,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6573,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6582,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6588,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6601,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6605,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6613,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6613,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6613,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6619,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6633
      start: 6556
    functionDepth: 0
    functionLinenumber: 6556
    functionLinenumberEnd: 6633
    functionName: test_key_update_peer_in_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_up_ref
    - SSL_get_wbio
    - SSL_key_update
    - SSL_do_handshake
    - bio_s_always_retry
    - BIO_new
    - TLS_server_method
    - SSL_set0_wbio
    - SSL_write
    - TEST_true
    - create_ssl_objects
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_get_error
    - strlen
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_read
    - TEST_ptr
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_key_update_peer_in_write(int tst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_test_ssl_get_shared_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7848,1
    - Dst: int_test_ssl_get_shared_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 7850
      start: 7846
    functionDepth: 0
    functionLinenumber: 7846
    functionLinenumberEnd: 7850
    functionName: test_ssl_get_shared_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - int_test_ssl_get_shared_ciphers
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_get_shared_ciphers(int tst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:675,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - size
    - rw_flag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 680
    functionName: get_password_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int get_password_cb(char *buf, int size, int rw_flag, void
      *userdata) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1876,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1880,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1892,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1915,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1935,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1938,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1941,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1944,1
    - Dst: OCSP_RESPID_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1964,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1966,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1967,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1995,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1969,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1964,1
    - Dst: OCSP_RESPID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1993,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1963,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1921,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1979,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1880,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1890,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1891,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1891,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1898,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1906,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1901,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1908,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1905,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1918,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1981,1
    - Dst: sk_OCSP_RESPID_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1992,1
    - Dst: sk_OCSP_RESPID_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1969,1
    - Dst: sk_OCSP_RESPID_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1965,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1990,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1880,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1885,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1892,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1894,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1894,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1917,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1923,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1926,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1935,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1938,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1994,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1955,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1967,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1988,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1940,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1965,1
    - Dst: OCSP_RESPID_set_by_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1968,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1979,1
    - Dst: SSL_set_tlsext_status_ids
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1972,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1902,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1916,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1919,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1921,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1924,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1927,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1943,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1955,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1963,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1966,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1968,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1982,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1919,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1991,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1989,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1976,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 138
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1999
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1999
    functionName: test_tlsext_status_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_tlsext_status_type
    - BIO_free
    - SSL_set_tlsext_status_type
    - OCSP_RESPID_free
    - TLS_server_method
    - SSL_new
    - STACK_OF
    - X509_free
    - TEST_true
    - create_ssl_objects
    - sk_OCSP_RESPID_pop_free
    - TEST_false
    - sk_OCSP_RESPID_new_null
    - SSL_CTX_set_tlsext_status_cb
    - BIO_new_file
    - PEM_read_bio_X509
    - SSL_CTX_set_tlsext_status_arg
    - TEST_int_eq
    - create_ssl_connection
    - sk_OCSP_RESPID_push
    - SSL_CTX_free
    - SSL_set_tlsext_status_ids
    - create_ssl_ctx_pair
    - SSL_CTX_get_tlsext_status_type
    - SSL_free
    - X509_new_ex
    - TEST_ptr
    - OCSP_RESPID_set_by_key_ex
    - OCSP_RESPID_new
    - SSL_get_tlsext_status_type
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_tlsext_status_type(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_tickets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2629
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2629
    functionName: test_stateless_tickets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - test_tickets
    linkageType: ''
    returnType: int
    signature: 'static int test_stateless_tickets(int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2655,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2661,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2665,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2674,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2683,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2643,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2643,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2651,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2654,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2669,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2672,1
    - Dst: create_a_psk
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2664,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2680,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2684,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2646,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2653,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2661,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2667,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2669,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2671,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2681,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2685,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2643,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2646,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2644,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2682,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2689
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2689
    functionName: test_psk_tickets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_psk_find_session_callback
    - SSL_CTX_set_session_cache_mode
    - SSL_free
    - SSL_CTX_sess_set_new_cb
    - SSL_SESSION_up_ref
    - create_ssl_connection
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_SESSION_free
    - create_ssl_ctx_pair
    - create_a_psk
    - SSL_CTX_set_session_id_context
    - TLS_server_method
    - SSL_CTX_set_psk_use_session_callback
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_psk_tickets(void) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: check_early_data_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3536,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3553,1
    - Dst: TEST_size_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3675,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3683,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3707,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3709,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3722,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3528,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3530,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3637,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3602,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3653,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3672,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3677,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3687,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3690,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3719,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3618,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3527,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3533,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3566,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3628,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3691,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3716,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3622,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3629,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3549,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3563,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3573,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3581,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3601,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3644,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3654,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3699,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3706,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3521,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3549,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3552,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3553,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3581,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3616,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3661,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3666,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3698,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3606,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3540,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3551,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3559,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3572,1
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3594,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3637,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3687,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3708,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3566,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3528,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3541,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3593,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3636,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3645,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3660,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3673,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3695,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3720,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3624,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3557,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3570,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3582,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3596,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3670,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3683,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3707,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3717,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3633,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3659,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3574,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3606,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3528,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3540,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3601,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3616,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3622,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3681,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3706,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3709,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3681,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3629,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3616,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3530,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3541,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3552,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3645,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3662,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3675,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3703,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3662,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3594,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3583,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3618,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3653,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3677,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3684,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3695,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3721,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3551,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3557,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3570,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3628,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3641,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3665,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3671,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3695,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3715,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3574,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3557,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3570,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3633,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3609,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3573,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3644,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3654,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3659,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3690,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3582,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3572,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3521,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3533,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3549,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3559,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3633,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3581,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3659,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3661,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3691,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3563,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3583,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3660,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3681,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3684,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3699,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3706,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3708,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 252
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3724
      start: 3510
    functionDepth: 0
    functionLinenumber: 3510
    functionLinenumberEnd: 3724
    functionName: test_early_data_read_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write_ex
    - SSL_get1_session
    - SSL_get_early_data_status
    - TEST_size_t_lt
    - BIO_read_ex
    - TEST_mem_eq
    - SSL_connect
    - check_early_data_timeout
    - TEST_true
    - setupearly_data_test
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_set_session
    - SSL_read_early_data
    - ERR_clear_error
    - time
    - SSL_accept
    - TEST_int_eq
    - SSL_get_rbio
    - SSL_CTX_free
    - TEST_size_t_gt
    - SSL_shutdown
    - strlen
    - SSL_free
    - BIO_write_ex
    - SSL_read_ex
    - TEST_int_gt
    - SSL_write_early_data
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_read_write(int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_clear_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5687,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5738,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5741,1
    - Dst: SSL_stateless
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5741,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5755,1
    - Dst: SSL_stateless
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5736,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5681,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5689,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5692,1
    - Dst: SSL_CTX_set_stateless_cookie_generate_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5706,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5713,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5716,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5719,1
    - Dst: SSL_stateless
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5719,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5723,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5730,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5736,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5743,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5733,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5682,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5681,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5702,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5738,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5747,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5753,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5754,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5752,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5681,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5689,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5692,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5698,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5716,1
    - Dst: SSL_CTX_set_stateless_cookie_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5707,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5713,1
    - Dst: SSL_stateless
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5698,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5730,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5733,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5743,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5758
      start: 5675
    functionDepth: 0
    functionLinenumber: 5675
    functionLinenumberEnd: 5758
    functionName: test_stateless
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_CTX_set_stateless_cookie_verify_cb
    - SSL_CTX_set_stateless_cookie_generate_cb
    - create_ssl_connection
    - TEST_int_eq
    - SSL_stateless
    - TEST_true
    - shutdown_ssl_connection
    - SSL_CTX_free
    - create_ssl_objects
    - create_ssl_ctx_pair
    - TEST_false
    - SSL_CTX_clear_options
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_stateless(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5805,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5810,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - parse_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 5816
      start: 5800
    functionDepth: 0
    functionLinenumber: 5800
    functionLinenumberEnd: 5816
    functionName: old_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_is_server
    linkageType: ''
    returnType: int
    signature: 'static int old_parse_cb(SSL *s, unsigned int ext_type, const unsigned
      char *in, size_t inlen, int *al, void *parse_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2351,1
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2360
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2360
    functionName: test_session_with_only_int_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: 'static int test_session_with_only_int_cache(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3371,1
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3377,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3383,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3382,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3384,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3385,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3385,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3386,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3386,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3387,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3388,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - ssl
    - mdsize
    argTypes:
    - SSL*
    - size_t
    constantsTouched: []
    func_position:
      end: 3394
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3394
    functionName: create_a_psk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - SSL_SESSION_set_protocol_version
    - TEST_true
    - SSL_SESSION_new
    - SSL_SESSION_set1_master_key
    - SSL_SESSION_free
    - SSL_SESSION_set_cipher
    - SSL_CIPHER_find
    linkageType: ''
    returnType: SSL_SESSION*
    signature: 'static SSL_SESSION *create_a_psk(SSL *ssl, size_t mdsize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6505,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6510,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6519,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6528,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6533,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6533,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6533,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6505,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6512,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6523,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6530,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6533,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6542,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6544,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6510,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6519,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6529,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6529,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6535,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6543,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6545,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6505,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6506,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6512,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6528,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6528,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6528,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6523,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6534,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6534,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 6548
      start: 6497
    functionDepth: 0
    functionLinenumber: 6497
    functionLinenumberEnd: 6548
    functionName: test_key_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write
    - SSL_free
    - SSL_read
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - strlen
    - SSL_key_update
    - SSL_do_handshake
    - create_ssl_ctx_pair
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_key_update(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6959,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6963,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6964,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6984,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6966,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6968,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6977,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6970,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6975,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6973,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6979,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6983,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6985,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6990,1
    - Dst: TEST_uint_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6956,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6961,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6964,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6984,1
    - Dst: TEST_uint_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6989,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6989,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6956,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6960,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6968,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6973,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6975,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6977,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6970,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6979,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6985,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6990,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 2
    argNames:
    - bio
    - mfl_codemfl_code
    argTypes:
    - BIO*
    - int*
    constantsTouched: []
    func_position:
      end: 7000
      start: 6949
    functionDepth: 0
    functionLinenumber: 6949
    functionLinenumberEnd: 7000
    functionName: get_MFL_from_client_hello
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_uint_gt
    - PACKET_get_length_prefixed_2
    - PACKET_forward
    - TEST_true
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_as_length_prefixed_2
    - TEST_long_gt
    - TEST_uint_ne
    - PACKET_buf_init
    - BIO_get_mem_data
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int get_MFL_from_client_hello(BIO *bio, int *mfl_codemfl_code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:686,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:689,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:687,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:689,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:689,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:691,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:693,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:693,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:694,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:694,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:698,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:703,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:705,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:696,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:698,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:696,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:704,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 707
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 707
    functionName: test_ssl_ctx_build_cert_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_build_cert_chain
    - TEST_ptr
    - TEST_int_eq
    - SSL_CTX_use_PrivateKey_file
    - TEST_true
    - OPENSSL_free
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - test_mk_file_path
    - SSL_CTX_check_private_key
    - SSL_CTX_set_default_passwd_cb
    - TLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_ctx_build_cert_chain(void) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1172,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1177,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1187,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1198,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1208,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1217,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1226,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1258,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1288,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1181,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1187,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1199,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1195,1
    - Dst: create_ssl_objects2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1203,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1213,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1234,1
    - Dst: ping_pong_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1269,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1275,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1276,1
    - Dst: create_test_sockets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1172,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1187,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1198,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1194,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1208,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1217,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1226,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1229,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1247,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1255,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1263,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1282,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1247,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1286,1
    - Dst: ktls_chk_platform
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1176,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1195,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1213,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1234,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1269,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1280,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1250,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1255,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1279,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1283,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 115
    argCount: 4
    argNames:
    - cis_ktls
    - sis_ktls
    - tls_version
    - cipher
    argTypes:
    - int
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1290
    functionName: execute_test_ktls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - create_test_sockets
    - TLS_server_method
    - close
    - TEST_true
    - BIO_get_ktls_send
    - create_ssl_objects2
    - TEST_false
    - ktls_chk_platform
    - SSL_CTX_set_cipher_list
    - BIO_get_ktls_recv
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_set_options
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_ciphersuites
    - ping_pong_query
    - strstr
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int execute_test_ktls(int cis_ktls, int sis_ktls, int tls_version,
      const char *cipher) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1310,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1311,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1320,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1326,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1334,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1338,1
    - Dst: create_ssl_objects2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1342,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1346,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1372,1
    - Dst: BIO_get_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1373,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1386,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1416,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1370,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1410,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1383,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1333,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1326,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1337,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1349,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1353,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1360,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1360,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1363,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1364,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1367,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1407,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1423,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1411,1
    - Dst: min
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1377,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1417,1
    - Dst: SSL_sendfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1378,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1308,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1309,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1310,1
    - Dst: create_test_sockets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1311,1
    - Dst: ktls_chk_platform
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1315,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1334,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1338,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1342,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1346,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1354,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1406,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1421,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1316,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1321,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1327,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1337,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1326,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1349,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1394,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1414,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1419,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1389,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1413,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1374,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1422,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 120
    argCount: 2
    argNames:
    - tls_version
    - cipher
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1425
    functionName: execute_test_ktls_sendfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - min
    - BIO_free
    - TEST_skip
    - create_test_sockets
    - BIO_get_fp
    - SSL_sendfile
    - TLS_server_method
    - BIO_write
    - close
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - OPENSSL_zalloc
    - BIO_get_ktls_send
    - create_ssl_objects2
    - ktls_chk_platform
    - RAND_bytes_ex
    - BIO_new_file
    - SSL_CTX_set_cipher_list
    - fileno
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_set_options
    - SSL_shutdown
    - SSL_get_error
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_read
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    - TEST_int_gt
    - strstr
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int execute_test_ktls_sendfile(int tls_version, const char
      *cipher) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3330,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3335,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3340
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3340
    functionName: psk_server_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - strcmp
    - SSL_SESSION_get_master_key
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int psk_server_cb(SSL *ssl, const char *identity,
      unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3249,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3253,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 10
    argCount: 5
    argNames:
    - ssl
    - md
    - id
    - idlen
    - sess
    argTypes:
    - SSL*
    - EVP_MD*
    - unsigned char**
    - size_t*
    - SSL_SESSION**
    constantsTouched: []
    func_position:
      end: 3256
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3256
    functionName: use_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_up_ref
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int use_session_cb(SSL *ssl, const EVP_MD *md, const unsigned
      char **id, size_t *idlen, SSL_SESSION **sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4514,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4538,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4539,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4542,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4549,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4553,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4520,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4538,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4539,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4550,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4554,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4556,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4520,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4514,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4528,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4528,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4538,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4542,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4551,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4555,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4543,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4520,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4529,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4529,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4530,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4530,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4533,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4533,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4532,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4532,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4543,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4558
      start: 4505
    functionDepth: 0
    functionLinenumber: 4505
    functionLinenumberEnd: 4558
    functionName: test_early_data_not_expected
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - TEST_int_le
    - SSL_connect
    - SSL_write_ex
    - SSL_accept
    - TEST_int_eq
    - TEST_mem_eq
    - SSL_get_early_data_status
    - TEST_true
    - setupearly_data_test
    - SSL_CTX_free
    - SSL_read_ex
    - TEST_int_gt
    - SSL_write_early_data
    - SSL_SESSION_free
    - TEST_size_t_eq
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_not_expected(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 5648
      start: 5637
    functionDepth: 0
    functionLinenumber: 5637
    functionLinenumberEnd: 5648
    functionName: generate_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int generate_cookie_callback(SSL *ssl, unsigned char *cookie,
      unsigned int *cookie_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_cookie_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 5667
      start: 5660
    functionDepth: 0
    functionLinenumber: 5660
    functionLinenumberEnd: 5667
    functionName: generate_stateless_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - generate_cookie_callback
    linkageType: ''
    returnType: int
    signature: 'static int generate_stateless_cookie_callback(SSL *ssl, unsigned char
      *cookie, size_t *cookie_len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5317,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5318,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5325,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5340,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5328,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5345,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5357,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5382,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5391,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5274,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5313,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5274,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5324,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5329,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5335,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5341,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5344,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5344,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5392,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5325,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5328,1
    - Dst: SSL_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5340,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5345,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5357,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5359,1
    - Dst: TEST_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5367,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5368,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5378,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5351,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5393,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5324,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5329,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5335,1
    - Dst: SSL_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5341,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5351,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5355,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5374,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5384,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5394,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5355,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5380,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 101
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5396
      start: 5263
    functionDepth: 0
    functionLinenumber: 5263
    functionLinenumberEnd: 5396
    functionName: test_tls13_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_strn_eq
    - SSL_set_ciphersuites
    - SSL_get_current_cipher
    - TLS_server_method
    - SSL_set_cipher_list
    - TEST_str_eq
    - TEST_true
    - create_ssl_objects
    - SSL_CIPHER_get_name
    - defined
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - SSL_CTX_free
    - strlen
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_set_ciphersuites
    - OSSL_NELEM
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_tls13_ciphersuite(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5658
      start: 5650
    functionDepth: 0
    functionLinenumber: 5650
    functionLinenumberEnd: 5658
    functionName: verify_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int verify_cookie_callback(SSL *ssl, const unsigned char *cookie,
      unsigned int cookie_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_cookie_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 5673
      start: 5669
    functionDepth: 0
    functionLinenumber: 5669
    functionLinenumberEnd: 5673
    functionName: verify_stateless_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - verify_cookie_callback
    linkageType: ''
    returnType: int
    signature: 'static int verify_stateless_cookie_callback(SSL *ssl, const unsigned
      char *cookie, size_t cookie_len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6293,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6300,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6302,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6306,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6342,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6319,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6342,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6346,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6346,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6351,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6293,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6361,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6361,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6386,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6397,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6410,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6408,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6298,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6298,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6319,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6306,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6313,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6355,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6380,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6407,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6389,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6399,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6293,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6294,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6299,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6303,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6328,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6328,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6366,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6366,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6374,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6406,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6351,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6355,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6409,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 105
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6413
      start: 6255
    functionDepth: 0
    functionLinenumber: 6255
    functionLinenumberEnd: 6413
    functionName: test_export_key_mat
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_cipher_list
    - SSL_free
    - TEST_int_le
    - TEST_mem_eq
    - SSL_CTX_set_max_proto_version
    - create_ssl_connection
    - TEST_int_eq
    - OPENSSL_assert
    - TEST_mem_ne
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_export_keying_material
    - OSSL_NELEM
    - create_ssl_ctx_pair
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_export_key_mat(int tst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SRP_get_default_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7218,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7222,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7219,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7222,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7226,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7227,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7232,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7233,1
    - Dst: sk_SRP_user_pwd_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7240,1
    - Dst: SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7246,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7247,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7248,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - userid
    - password
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 7251
      start: 7211
    functionDepth: 0
    functionLinenumber: 7211
    functionLinenumberEnd: 7251
    functionName: create_new_vbase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - SRP_get_default_gN
    - SRP_user_pwd_free
    - TEST_ptr
    - sk_SRP_user_pwd_insert
    - TEST_true
    - OPENSSL_zalloc
    - BN_free
    - SRP_create_verifier_BN_ex
    linkageType: ''
    returnType: int
    signature: 'static int create_new_vbase(char *userid, char *password) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8624,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8624,1
    - Dst: SSL_CTX_set_client_cert_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8636,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8625,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8624,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8637,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8641,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8641,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8643,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8643,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8651,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8652,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8653,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8650,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8656
      start: 8609
    functionDepth: 0
    functionLinenumber: 8609
    functionLinenumberEnd: 8656
    functionName: test_client_cert_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_CTX_set_client_cert_cb
    - create_ssl_connection
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - create_ssl_ctx_pair
    - SSL_CTX_set_verify
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_client_cert_cb(int tst) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10775,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10853,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10873,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10945,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10947,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11039,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10996,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11042,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11000,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10908,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10784,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10825,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10918,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10896,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10900,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10944,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10951,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10961,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10975,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11007,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10976,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11029,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10801,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10885,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10905,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10927,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10936,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10942,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10969,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10987,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10993,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10997,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11048,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10991,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10913,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10931,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10820,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10997,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11002,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11028,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11016,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10789,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10794,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10813,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10865,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10845,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10967,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10981,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11036,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11047,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11001,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10922,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10795,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10805,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10946,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10991,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10793,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10796,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10857,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10877,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10919,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10944,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10949,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10957,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10977,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10985,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11010,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10906,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10915,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10891,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10916,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10784,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10797,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10810,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10943,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10986,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10998,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11023,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10774,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10785,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10798,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10801,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10901,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10898,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10921,1
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10834,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10910,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10968,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10999,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11026,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10809,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10892,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10911,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10912,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10928,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10959,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10973,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11005,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11018,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11019,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11034,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10869,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10778,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10849,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11046,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10794,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10827,1
    - Dst: test_printf_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10835,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10933,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10945,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10948,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10990,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11041,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11049,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11005,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11032,1
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10788,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10795,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10917,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10895,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10907,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10881,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10943,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10956,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10984,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11013,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10995,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10793,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10796,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10810,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10820,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10903,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10925,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10932,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10942,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10979,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10988,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10921,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10929,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10785,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10797,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10841,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10861,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11003,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11024,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11027,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10798,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10805,1
    - Dst: test_export_key_mat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10833,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10941,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10955,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10965,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10983,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11030,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 252
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 11051
      start: 10769
    functionDepth: 0
    functionLinenumber: 10769
    functionLinenumberEnd: 11051
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_alloc_counts
    - ADD_TEST
    - test_get_argument
    - OSSL_LIB_CTX_load_config
    - TEST_error
    - test_skip_common_options
    - strcmp
    - OPENSSL_free
    - TEST_true
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_add_builtin
    - TEST_false
    - OSSL_PROVIDER_load
    - test_export_key_mat
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_printf_stdout
    - OSSL_PROVIDER_available
    - OSSL_NELEM
    - getenv
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_large_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1516,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1517,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1519
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1519
    functionName: test_large_message_dtls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - DTLS_client_method
    - execute_test_large_message
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int test_large_message_dtls(void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4408,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4419,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4435,1
    - Dst: SSL_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4441,1
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4451,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4452,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4452,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4457,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4476,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4477,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4494,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4487,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4408,1
    - Dst: SSL_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4440,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4452,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4456,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4457,1
    - Dst: check_early_data_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4464,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4476,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4477,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4480,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4488,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4472,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4495,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4441,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4457,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4468,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4468,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4481,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4481,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4491,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4493,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4497,1
    - Dst: defined
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4440,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4455,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4461,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4461,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4469,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4469,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4471,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4471,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4472,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4480,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4496,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4486,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4476,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 90
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4499
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4499
    functionName: test_early_data_psk_with_all_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write_ex
    - SSL_set_ciphersuites
    - SSL_get_early_data_status
    - TEST_mem_eq
    - SSL_connect
    - check_early_data_timeout
    - TEST_true
    - setupearly_data_test
    - SSL_SESSION_free
    - defined
    - SSL_read_early_data
    - time
    - SSL_accept
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_SESSION_set_cipher
    - SSL_set_connect_state
    - SSL_shutdown
    - strlen
    - SSL_free
    - TEST_ptr
    - SSL_read_ex
    - SSL_write_early_data
    - SSL_CIPHER_find
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_psk_with_all_ciphers(int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6914,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6929,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6918,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6927,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6931,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6943,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6910,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6906,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6912,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6919,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6924,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6934,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6940,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6906,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6907,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6914,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6920,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6927,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6929,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6931,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6935,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6941,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6906,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6910,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6912,1
    - Dst: SSL_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6924,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6942,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6946
      start: 6894
    functionDepth: 0
    functionLinenumber: 6894
    functionLinenumberEnd: 6946
    functionName: test_ssl_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - create_ssl_connection
    - SSL_session_reused
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - create_ssl_ctx_pair
    - SSL_clear
    - SSL_shutdown
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_clear(int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_srp_username
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7128,1
    - Dst: SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7149,1
    - Dst: SRP_VBASE_get1_by_user
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7134,1
    - Dst: SSL_set_srp_server_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 7151
      start: 7122
    functionDepth: 0
    functionLinenumber: 7122
    functionLinenumberEnd: 7151
    functionName: ssl_srp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get_srp_username
    - SSL_set_srp_server_param
    - SRP_VBASE_get1_by_user
    - SRP_user_pwd_free
    linkageType: ''
    returnType: int
    signature: 'static int ssl_srp_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9163,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9169,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9174,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9180,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9185,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9207,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9211,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9226,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9257,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9267,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9280,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9243,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9267,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9163,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9190,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9198,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9190,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9199,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9200,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9200,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9217,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9238,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9263,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9281,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9169,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9174,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9185,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9188,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9197,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9197,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9188,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9204,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9207,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9279,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9271,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9266,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9163,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9164,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9198,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9199,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9217,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9226,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9238,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9243,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9257,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9263,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9282,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9283,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9266,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9271,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9211,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9268,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9268,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 125
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9286
      start: 9146
    functionDepth: 0
    functionLinenumber: 9146
    functionLinenumberEnd: 9286
    functionName: test_servername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - TEST_ptr_ne
    - TLS_server_method
    - TEST_str_eq
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_set_session
    - SSL_SESSION_is_resumable
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_get_servername
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_set_tlsext_host_name
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_servername(int tst) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2931,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2963,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2984,1
    - Dst: setupbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2989,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3004,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3012,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3021,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2947,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2955,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2963,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2970,1
    - Dst: setupbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2969,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2955,1
    - Dst: setupbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2968,1
    - Dst: setupbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2990,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3000,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3019,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2931,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2943,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2932,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2944,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2955,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2978,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2963,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2931,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2947,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2980,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2984,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3006,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3011,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3020,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3022,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 111
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3024
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 3024
    functionName: test_ssl_set_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_min_proto_version
    - SSL_set_bio
    - SSL_free
    - BIO_free
    - SSL_CTX_set_max_proto_version
    - create_ssl_connection
    - TEST_ptr
    - BIO_up_ref
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - setupbio
    - BIO_s_mem
    - create_ssl_ctx_pair
    - BIO_new
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_set_bio(int idx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3761,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3768,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3762,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3796,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3779,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3801,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3806,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3813,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3826,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3826,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3846,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3852,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3843,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3813,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3865,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3761,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3772,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3777,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3777,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3782,1
    - Dst: SSL_CTX_set_allow_early_data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3784,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3787,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3797,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3802,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3808,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3815,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3843,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3837,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3846,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3837,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3854,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3761,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3770,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3774,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3776,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3796,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3803,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3806,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3812,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3815,1
    - Dst: check_early_data_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3834,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3853,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3861,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3852,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3831,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3864,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3787,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3797,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3800,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3808,1
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3813,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3819,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3819,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3842,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3853,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3860,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3866,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3831,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3842,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3867,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3862,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 112
    argCount: 3
    argNames:
    - idx
    - usecb
    - confopt
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3869
      start: 3749
    functionDepth: 0
    functionLinenumber: 3749
    functionLinenumberEnd: 3869
    functionName: test_early_data_replay_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get_early_data_status
    - SSL_CTX_set_allow_early_data_cb
    - TLS_server_method
    - SSL_CONF_CTX_free
    - TEST_mem_eq
    - SSL_connect
    - check_early_data_timeout
    - TEST_true
    - setupearly_data_test
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_CTX_set_options
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_set_session
    - SSL_read_early_data
    - time
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_CONF_cmd
    - SSL_shutdown
    - SSL_CONF_CTX_set_flags
    - create_ssl_ctx_pair
    - strlen
    - SSL_free
    - SSL_CONF_CTX_new
    - TEST_ptr
    - TEST_int_gt
    - SSL_write_early_data
    - TEST_size_t_eq
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_replay_int(int idx, int usecb, int confopt) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5472,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5477,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5491,1
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5552,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5572,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5555,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5524,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5431,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5453,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5535,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5476,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5522,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5569,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5598,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5614,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5631,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5523,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5517,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5563,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5419,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5458,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5493,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5510,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5546,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5603,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5628,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5418,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5474,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5482,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5575,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5578,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5597,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5619,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5625,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5531,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5418,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5498,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5503,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5511,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5515,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5571,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5552,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5565,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5477,1
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5508,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5512,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5593,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5537,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5528,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5613,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5440,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5476,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5492,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5522,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5564,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5629,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5452,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5514,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5534,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5546,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5577,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5609,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5626,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5530,1
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5555,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5474,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5472,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5570,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5524,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5418,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5431,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5457,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5509,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5512,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5582,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5602,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5481,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5576,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5536,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5565,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5593,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5598,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5517,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5563,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5523,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5615,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5564,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5440,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5494,1
    - Dst: shutdown_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5541,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5597,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5604,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5514,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5515,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5529,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5487,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5503,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5612,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 298
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5633
      start: 5405
    functionDepth: 0
    functionLinenumber: 5405
    functionLinenumberEnd: 5633
    functionName: test_tls13_psk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_psk_find_session_callback
    - SSL_CTX_set_psk_client_callback
    - SSL_SESSION_set1_master_key
    - SSL_CTX_set_psk_server_callback
    - SSL_SESSION_up_ref
    - TLS_server_method
    - SSL_SESSION_set_protocol_version
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_CTX_set_psk_use_session_callback
    - create_ssl_connection
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_SESSION_set_cipher
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    - SSL_SESSION_new
    - shutdown_ssl_connection
    - SSL_set1_groups_list
    - SSL_CIPHER_find
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_tls13_psk(int idx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9314,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9333,1
    - Dst: filter_provider_set_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9335,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9348,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9352,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9359,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9359,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9373,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9388,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9406,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9410,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9427,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9399,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9305,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9318,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9310,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9319,1
    - Dst: filter_provider_set_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9329,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9352,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9369,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9387,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9402,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9415,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9399,1
    - Dst: SSL_get_shared_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9410,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9425,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9406,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9430,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9314,1
    - Dst: filter_provider_set_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9335,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9347,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9347,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9348,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9360,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9373,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9382,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9394,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9394,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9428,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9426,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9329,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9346,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9352,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9346,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9353,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9359,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9369,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9379,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9402,1
    - Dst: filter_provider_check_clean_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9422,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9429,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9418,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9396,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9396,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 120
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9433
      start: 9300
    functionDepth: 0
    functionLinenumber: 9300
    functionLinenumberEnd: 9433
    functionName: test_sigalgs_available
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set1_sigalgs_list
    - SSL_CTX_use_certificate_file
    - SSL_CTX_use_PrivateKey_file
    - OSSL_PROVIDER_unload
    - TLS_server_method
    - TEST_true
    - SSL_get_shared_sigalgs
    - create_ssl_objects
    - SSL_CTX_new_ex
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_add_builtin
    - SSL_CTX_set_cipher_list
    - filter_provider_set_filter
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - OSSL_PROVIDER_load
    - filter_provider_check_clean_finish
    - create_ssl_ctx_pair
    - SSL_free
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - SSL_CTX_check_private_key
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_sigalgs_available(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9724,1
    - Dst: SSL_set_tmp_dh
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - idx
    - == 8
    argTypes:
    - idx
    constantsTouched: []
    func_position:
      end: 9726
      start: 9723
    functionDepth: 0
    functionLinenumber: 9723
    functionLinenumberEnd: 9726
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_set_tmp_dh
    - TEST_true
    linkageType: ''
    returnType: else
    signature: 'else if (idx == 8) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:799,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:799,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:799,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:802,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:806,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:808,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:809,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:813,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:814,1
    - Dst: SSL_get_extms_support
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:818,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:830,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:831,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:833,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:824,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:819,1
    - Dst: SSL_get_extms_support
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:823,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:832,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 836
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 836
    functionName: test_no_ems
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - create_ssl_connection
    - SSL_get_extms_support
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_CTX_set_options
    - printf
    - create_ssl_ctx_pair
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_no_ems(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1471,1
    - Dst: execute_test_ktls
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1479
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1479
    functionName: test_ktls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_ktls
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: 'static int test_ktls(int test) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2727,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2799,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2794,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2832,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2838,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2847,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2738,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2763,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2773,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2808,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2788,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2828,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2830,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2833,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2844,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2752,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2764,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2714,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2724,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2737,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2740,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2742,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2796,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2809,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2813,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2805,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2710,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2735,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2741,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2751,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2753,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2817,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2819,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2827,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2748,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2749,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2792,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2777,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2766,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2775,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2761,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2812,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2818,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2778,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2762,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2776,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2823,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2834,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2774,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2729,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2788,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2845,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2808,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2763,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2712,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2738,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2795,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2754,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2822,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2842,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2728,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2742,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2750,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2752,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2755,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2806,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2834,1
    - Dst: setup_ticket_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2710,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2716,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2807,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2819,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2827,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2777,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2794,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2775,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2748,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2761,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2812,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2773,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2788,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2736,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2795,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2830,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2837,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2846,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2724,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2729,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2774,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2815,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2829,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2831,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2843,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2805,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2695,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2735,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2765,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2814,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2822,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2749,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2766,1
    - Dst: bio_s_always_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2695,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2728,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2739,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2806,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2787,1
    - Dst: SSL_new_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2762,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2767,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2716,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2730,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2815,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2816,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 261
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2851
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2851
    functionName: test_extra_tickets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_new_session_ticket
    - SSL_write_ex
    - BIO_free
    - BIO_up_ref
    - SSL_get_wbio
    - SSL_do_handshake
    - bio_s_always_retry
    - BIO_new
    - SSL_set0_wbio
    - setup_ticket_test
    - TEST_true
    - create_ssl_objects
    - TEST_false
    - SSL_CTX_sess_set_new_cb
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_shutdown
    - SSL_get_error
    - SSL_free
    - TEST_ptr
    - SSL_read_ex
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_extra_tickets(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_early_data_replay_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3881
      start: 3871
    functionDepth: 0
    functionLinenumber: 3871
    functionLinenumberEnd: 3881
    functionName: test_early_data_replay
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - test_early_data_replay_int
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_replay(int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7926,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7927,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7931,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7929,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7930,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7935,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7936,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7939,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7940,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7946,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7947,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char
    - unsigned char
    - EVP_CIPHER_CTX*
    - HMAC_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 7950
      start: 7911
    functionDepth: 0
    functionLinenumber: 7911
    functionLinenumberEnd: 7950
    functionName: tick_key_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - TEST_ptr
    - HMAC_Init_ex
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_MD_free
    - EVP_MD_fetch
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int tick_key_cb(SSL *s, unsigned char key_name[16], unsigned
      char iv[EVP_MAX_IV_LENGTH], EVP_CIPHER_CTX *ctx, HMAC_CTX *hctx, int enc) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8907,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8910,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8938,1
    - Dst: SSL_CTX_flush_sessions
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8963,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8978,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8959,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8991,1
    - Dst: SSL_CTX_flush_sessions
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8989,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8952,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8917,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8922,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9001,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8995,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9008,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8966,1
    - Dst: SSL_CTX_flush_sessions
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8970,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8933,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8934,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8951,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8957,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8907,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8978,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8973,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9001,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8929,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8937,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8985,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8964,1
    - Dst: SSL_CTX_get_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8996,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8950,1
    - Dst: TEST_long_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9002,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8945,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8921,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8933,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8934,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8939,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9009,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8908,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8923,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8971,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8909,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8915,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8927,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8958,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8983,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8992,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8977,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8907,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8910,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8937,1
    - Dst: SSL_SESSION_get_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9002,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8943,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8979,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9000,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8921,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8939,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8949,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8965,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8990,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8923,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8932,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9010,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8919,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8938,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8972,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9007,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8977,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8984,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8904,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8922,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8928,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9000,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8908,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8944,1
    - Dst: SSL_CTX_flush_sessions
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8956,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8979,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8909,1
    - Dst: SSL_SESSION_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8932,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 171
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 9012
      start: 8891
    functionDepth: 0
    functionLinenumber: 8891
    functionLinenumberEnd: 9012
    functionName: test_session_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_int_ne
    - SSL_SESSION_set_timeout
    - SSL_CTX_flush_sessions
    - TLS_method
    - SSL_CTX_set_session_cache_mode
    - SSL_SESSION_free
    - SSL_CTX_new_ex
    - SSL_CTX_get_session_cache_mode
    - TEST_ptr_null
    - SSL_SESSION_set_time
    - time
    - TEST_int_eq
    - SSL_CTX_free
    - TEST_long_ne
    - TEST_ptr_eq
    - SSL_CTX_add_session
    - SSL_SESSION_get_time
    - TEST_ptr
    - SSL_SESSION_new
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_session_timeout(int test) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:373,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:379,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:393,1
    - Dst: test_keylog_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:406,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:419,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:420,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:412,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:362,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:363,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:383,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:384,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:384,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:389,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:391,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:407,1
    - Dst: test_keylog_output
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:411,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:418,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:421,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:355,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:357,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:362,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:377,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:376,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:380,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:380,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:373,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:395,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:406,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:362,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:356,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:369,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:370,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:376,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:377,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:389,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:391,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:394,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:411,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 424
    functionName: test_keylog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - create_ssl_connection
    - memset
    - TEST_true
    - test_keylog_output
    - SSL_get_session
    - create_ssl_objects
    - SSL_CTX_get_keylog_callback
    - TEST_int_gt
    - SSL_CTX_set_keylog_callback
    - SSL_CTX_free
    - SSL_CTX_set_options
    - create_ssl_ctx_pair
    - TEST_false
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_keylog(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_large_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1500,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1500,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: test_large_message_tls_read_ahead
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TLS_server_method
    - execute_test_large_message
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_large_message_tls_read_ahead(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2365,1
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2374
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2374
    functionName: test_session_with_only_ext_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: 'static int test_session_with_only_ext_cache(void) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8070,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8082,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8085,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8119,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8128,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8136,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8139,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8143,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8156,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8071,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8090,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8094,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8101,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8112,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8099,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8120,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8126,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8129,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8070,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8070,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8082,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8085,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8113,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8128,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8136,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8139,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8149,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8090,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8101,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8118,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8094,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8099,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8122,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8126,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8129,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8155,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8159,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 123
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8162
      start: 8013
    functionDepth: 0
    functionLinenumber: 8013
    functionLinenumberEnd: 8162
    functionName: test_ticket_callbacks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - TLS_server_method
    - SSL_CTX_set_session_cache_mode
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_set_session
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_CTX_set_tlsext_ticket_key_cb
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_CTX_set_session_ticket_cb
    - SSL_free
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ticket_callbacks(int tst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9702,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:9702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - idx
    - == 7
    argTypes:
    - idx
    constantsTouched: []
    func_position:
      end: 9704
      start: 9701
    functionDepth: 0
    functionLinenumber: 9701
    functionLinenumberEnd: 9704
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_tmp_dh
    - TEST_true
    linkageType: ''
    returnType: else
    signature: 'else if (idx == 7) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10276,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10276,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10277,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10276,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10277,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10280,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10281,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10286,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10286,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10291,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10292,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 10298
      start: 10265
    functionDepth: 0
    functionLinenumber: 10265
    functionLinenumberEnd: 10298
    functionName: test_load_dhfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CONF_CTX_free
    - SSL_CONF_cmd
    - SSL_CONF_CTX_new
    - TEST_ptr
    - TEST_int_eq
    - TEST_skip
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_set_flags
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_load_dhfile(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - ssl
    - id
    - len
    - copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 2029
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2029
    functionName: get_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSL_SESSION*
    signature: 'static SSL_SESSION *get_session_cb(SSL *ssl, const unsigned char *id,
      int len, int *copy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2379,1
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2388
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2388
    functionName: test_session_with_both_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: 'static int test_session_with_both_cache(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: create_new_vbase
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7276,1
    - Dst: create_new_vfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7280,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7316,1
    - Dst: SRP_VBASE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7326,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7329,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7330,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7290,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7297,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7291,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7296,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7298,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7299,1
    - Dst: SSL_CTX_set_srp_username
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7299,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7310,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7314,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7319,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7280,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7276,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7286,1
    - Dst: SRP_VBASE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7286,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7290,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7303,1
    - Dst: SSL_CTX_set_srp_password
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7303,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7306,1
    - Dst: SSL_CTX_set_srp_password
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7306,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7331,1
    - Dst: SRP_VBASE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7271,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7272,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7296,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7298,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7297,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7295,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7295,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7310,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7328,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 82
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 7334
      start: 7264
    functionDepth: 0
    functionLinenumber: 7264
    functionLinenumberEnd: 7334
    functionName: test_srp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - create_new_vbase
    - TLS_server_method
    - SSL_CTX_set_srp_username
    - TEST_true
    - SSL_CTX_set_srp_username_callback
    - create_ssl_objects
    - SRP_VBASE_free
    - SSL_CTX_set_srp_password
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - create_new_vfile
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - TEST_ptr
    - SRP_VBASE_init
    - TEST_int_gt
    - SRP_VBASE_new
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_srp(int tst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7968,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7973,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7972,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7974,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7969,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7976,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7978,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7979,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7985,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char
    - unsigned char
    - EVP_CIPHER_CTX*
    - EVP_MAC_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 7988
      start: 7953
    functionDepth: 0
    functionLinenumber: 7953
    functionLinenumberEnd: 7988
    functionName: tick_key_evp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - TEST_ptr
    - OSSL_PARAM_construct_utf8_string
    - EVP_CIPHER_fetch
    - EVP_MAC_init
    - EVP_CipherInit_ex
    - OSSL_PARAM_construct_end
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int tick_key_evp_cb(SSL *s, unsigned char key_name[16], unsigned
      char iv[EVP_MAX_IV_LENGTH], EVP_CIPHER_CTX *ctx, EVP_MAC_CTX *hctx, int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:546,1
    - Dst: SSL_set_retry_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:558,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:552,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:555,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 561
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 561
    functionName: verify_retry_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - X509_verify_cert
    - SSL_set_retry_verify
    - X509_STORE_CTX_get_ex_data
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: 'static int verify_retry_cb(X509_STORE_CTX *ctx, void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:958,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:961,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:964,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:958,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:961,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:966,1
    - Dst: i2d_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:976,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:977,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:980,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:982,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:990,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:991,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:983,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - sctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 993
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 993
    functionName: add_large_cert_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - X509_new_ex
    - TEST_ptr
    - OPENSSL_assert
    - X509_up_ref
    - SSL_CTX_add_extra_chain_cert
    - i2d_X509
    linkageType: ''
    returnType: int
    signature: 'static int add_large_cert_chain(SSL_CTX *sctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1537,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1611,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1632,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1638,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1650,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1665,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1674,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1676,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1538,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1584,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1585,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1614,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1615,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1626,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1618,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1627,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1620,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1640,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1656,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1661,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1632,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1638,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1650,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1665,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1669,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1678,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1675,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1659,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1594,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1595,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1610,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1620,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1627,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1626,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1640,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1651,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1656,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1659,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1679,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1651,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1677,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 94
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1681
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1681
    functionName: test_large_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_write_ex
    - TLS_client_method
    - OPENSSL_malloc
    - TLS_server_method
    - DTLS_server_method
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - OPENSSL_zalloc
    - create_ssl_objects
    - DTLS_client_method
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_set_options
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - SSL_read_ex
    - TEST_size_t_eq
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_large_app_data(int tst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2443,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2444,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2443,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2443,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2446,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2446,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2447,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2447,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2453,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2455,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - stateful
    - idx
    - sctx
    - cctx
    argTypes:
    - int
    - int
    - SSL_CTX**
    - SSL_CTX**
    constantsTouched: []
    func_position:
      end: 2460
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2460
    functionName: setup_ticket_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_new_cb
    - TEST_true
    - SSL_CTX_set_num_tickets
    - SSL_CTX_set_options
    - create_ssl_ctx_pair
    - SSL_CTX_set_session_id_context
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int setup_ticket_test(int stateful, int idx, SSL_CTX **sctx,
      SSL_CTX **cctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4092,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4093,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4095
      start: 4090
    functionDepth: 0
    functionLinenumber: 4090
    functionLinenumberEnd: 4095
    functionName: test_early_data_skip_hrr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_skip_hrr(int idx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:566,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:567,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:569,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:577,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:582,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:582,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:584,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:584,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:588,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:581,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:635,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:633,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:601,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:572,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:586,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:590,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:600,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:600,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:608,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:620,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:624,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:627,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:601,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:630,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:602,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:636,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:577,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:578,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:605,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:613,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:595,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:621,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:634,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:602,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:581,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:570,1
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:568,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:577,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:586,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:589,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:590,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:605,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:608,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:613,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:623,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:628,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:637,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:631,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 640
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 640
    functionName: test_client_cert_verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_use_PrivateKey_file
    - sk_X509_push
    - TLS_server_method
    - STACK_OF
    - SSL_CTX_use_certificate_chain_file
    - X509_free
    - load_cert_pem
    - OPENSSL_free
    - TEST_true
    - create_ssl_objects
    - TEST_false
    - SSL_CTX_load_verify_locations
    - SSL_CTX_set_cert_verify_callback
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_shutdown
    - SSL_CTX_set_verify
    - create_ssl_ctx_pair
    - SSL_free
    - TEST_ptr
    - SSL_CTX_check_private_key
    - SSL_get_peer_cert_chain
    - test_mk_file_path
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_client_cert_verify_cb(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1015,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1016,1
    - Dst: add_large_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1030,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1033,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1050,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1035,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1004,1
    - Dst: SSL_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1043,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1051,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1015,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1016,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1033,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1048,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1035,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1004,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1010,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1027,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1043,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1049,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 5
    argNames:
    - smeth
    - cmeth
    - min_version
    - max_version
    - read_ahead
    argTypes:
    - SSL_METHOD*
    - SSL_METHOD*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1054
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1054
    functionName: execute_test_large_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - create_ssl_connection
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_CTX_set_read_ahead
    - add_large_cert_chain
    - create_ssl_ctx_pair
    - SSL_clear
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int execute_test_large_message(const SSL_METHOD *smeth, const
      SSL_METHOD *cmeth, int min_version, int max_version, int read_ahead) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1485,1
    - Dst: execute_test_ktls_sendfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1489
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1489
    functionName: test_ktls_sendfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - execute_test_ktls_sendfile
    linkageType: ''
    returnType: int
    signature: 'static int test_ktls_sendfile(int tst) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2472,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2486,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2487,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2503,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2470,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2477,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2490,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2499,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2504,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2514,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2475,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2472,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2486,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2505,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2507,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2515,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2470,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2477,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2491,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2502,1
    - Dst: post_handshake_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2498,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2490,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 4
    argNames:
    - idx
    - sctx
    - cctx
    - succ
    argTypes:
    - int
    - SSL_CTX*
    - SSL_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 2517
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2517
    functionName: check_resumption
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - post_handshake_verify
    - SSL_set_post_handshake_auth
    - create_ssl_connection
    - TEST_int_eq
    - SSL_session_reused
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - TEST_false
    - SSL_set_session
    - SSL_shutdown
    linkageType: ''
    returnType: int
    signature: 'static int check_resumption(int idx, SSL_CTX *sctx, SSL_CTX *cctx,
      int succ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    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*
    constantsTouched: []
    func_position:
      end: 6158
      start: 6146
    functionDepth: 0
    functionLinenumber: 6146
    functionLinenumberEnd: 6158
    functionName: serverinfo_custom_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int serverinfo_custom_parse_cb(SSL *s, unsigned int ext_type,
      unsigned int context, const unsigned char *in, size_t inlen, X509 *x, size_t
      chainidx, int *al, void *parse_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11056,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11059,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11058,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11061,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11060,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11062,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11063,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11064,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11065,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11066,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11067,1
    - Dst: bio_s_mempacket_test_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11070,1
    - Dst: bio_s_always_retry_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11071,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11073,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11068,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11072,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:11069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 11074
      start: 11053
    functionDepth: 0
    functionLinenumber: 11053
    functionLinenumberEnd: 11074
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - OPENSSL_free
    - OSSL_PROVIDER_unload
    - EVP_PKEY_free
    - bio_s_mempacket_test_free
    - bio_s_always_retry_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4081,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4083,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4084
      start: 4079
    functionDepth: 0
    functionLinenumber: 4079
    functionLinenumberEnd: 4084
    functionName: test_early_data_skip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_skip(int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1794,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1795,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1803,1
    - Dst: execute_cleanse_plaintext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1794,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1794,1
    - Dst: execute_cleanse_plaintext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1803,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1803,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1804,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1812,1
    - Dst: execute_cleanse_plaintext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1812,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1813,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1819
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1819
    functionName: test_cleanse_plaintext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TEST_true
    - execute_cleanse_plaintext
    - DTLS_client_method
    - TLS_client_method
    - TLS_server_method
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: 'static int test_cleanse_plaintext(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2393,1
    - Dst: execute_test_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:2398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2402
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2402
    functionName: test_session_wo_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: 'static int test_session_wo_ca_names(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3035,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3035,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3037,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3041,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3038,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3050,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3069,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3035,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3037,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3046,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3062,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3064,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3070,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3036,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3037,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3038,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3050,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3071,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3036,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3038,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3057,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3050,1
    - Dst: SSL_set0_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3055,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3068,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - pop_ssl
    - change_bio
    argTypes:
    - int
    - bio_change_t
    constantsTouched: []
    func_position:
      end: 3074
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3074
    functionName: execute_test_ssl_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - BIO_f_ssl
    - BIO_free
    - TEST_ptr
    - SSL_set0_rbio
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - BIO_pop
    - BIO_s_mem
    - BIO_set_ssl
    - TLS_method
    - BIO_push
    - BIO_new
    - SSL_new
    - SSL_set0_wbio
    linkageType: ''
    returnType: int
    signature: 'static int execute_test_ssl_bio(int pop_ssl, bio_change_t change_bio) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5041,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5052,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5049,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5049,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5042,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5052,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5056,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5056,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5061,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5061,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5068,1
    - Dst: SSL_set1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5064,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5064,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5068,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - serverssl
    - clientssl
    - clientmulti
    - isecdhe
    - idx
    argTypes:
    - SSL*
    - SSL*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 5074
      start: 5034
    functionDepth: 0
    functionLinenumber: 5034
    functionLinenumberEnd: 5074
    functionName: set_ssl_groups
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_set1_groups
    - TEST_true
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int set_ssl_groups(SSL *serverssl, SSL *clientssl, int clientmulti,
      int isecdhe, int idx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10070,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10069,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10074,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10087,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10098,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10091,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10105,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10108,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10108,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10112,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10125,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10119,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10069,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10082,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10102,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10095,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10112,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10115,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10125,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10131,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10074,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10078,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10082,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10098,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10078,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10086,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10102,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10095,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10090,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10122,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10122,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10115,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10133,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10119,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 10135
      start: 10061
    functionDepth: 0
    functionLinenumber: 10061
    functionLinenumberEnd: 10135
    functionName: test_set_verify_cert_store_ssl_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - SSL_CTX_set1_chain_cert_store
    - SSL_CTX_get0_chain_cert_store
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - TEST_ptr_null
    - X509_STORE_free
    - TEST_ptr_eq
    - SSL_CTX_get0_verify_cert_store
    - TLS_server_method
    - SSL_CTX_set1_verify_cert_store
    linkageType: ''
    returnType: int
    signature: 'static int test_set_verify_cert_store_ssl_ctx(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3079
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3079
    functionName: test_ssl_bio_pop_next_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_bio_pop_next_bio(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cert_cb_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8564,1
    - Dst: test_cert_cb_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8571
      start: 8559
    functionDepth: 0
    functionLinenumber: 8559
    functionLinenumberEnd: 8571
    functionName: test_cert_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - test_cert_cb_int
    linkageType: ''
    returnType: int
    signature: 'static int test_cert_cb(int tst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ca_names_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8783,1
    - Dst: test_ca_names_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:8786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8790
      start: 8778
    functionDepth: 0
    functionLinenumber: 8778
    functionLinenumberEnd: 8790
    functionName: test_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - test_ca_names_int
    linkageType: ''
    returnType: int
    signature: 'static int test_ca_names(int tst) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10008,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10010,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10010,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10018,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10018,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10020,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10014,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10031,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10031,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10033,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10054,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10008,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10012,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10016,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10022,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10028,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10043,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10045,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10053,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10003,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10014,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10016,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10022,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10024,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10027,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10033,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10035,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10039,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10041,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10047,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10035,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10047,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10003,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10004,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10012,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10020,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10024,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10037,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10037,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10039,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10043,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10045,1
    - Dst: SSL_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:10041,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 10056
      start: 9989
    functionDepth: 0
    functionLinenumber: 9989
    functionLinenumberEnd: 10056
    functionName: test_set_alpn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - TEST_ptr
    - TEST_true
    - SSL_set_alpn_protos
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_CTX_set_alpn_protos
    - TEST_false
    - TLS_server_method
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int test_set_alpn(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4656,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4659,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4703,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4711,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4665,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4671,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4681,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4687,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4698,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4693,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4676,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4712,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4656,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4659,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4703,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4709,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4657,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4656,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4665,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4671,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4687,1
    - Dst: SSL_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4693,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4681,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4676,1
    - Dst: SSL_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4698,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4710,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 67
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4715
      start: 4650
    functionDepth: 0
    functionLinenumber: 4650
    functionLinenumberEnd: 4715
    functionName: test_set_ciphersuite
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_free
    - SSL_set_cipher_list
    - SSL_set_ciphersuites
    - create_ssl_connection
    - SSL_CTX_set_ciphersuites
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - create_ssl_ctx_pair
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_set_ciphersuite(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:150,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:154,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: client_keylog_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - strcat
    - TEST_info
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void client_keylog_callback(const SSL *ssl, const char *line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3301,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3308,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:3302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - ssl
    - identity
    - identity_len
    - sess
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - SSL_SESSION**
    constantsTouched: []
    func_position:
      end: 3312
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3312
    functionName: find_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_up_ref
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int find_session_cb(SSL *ssl, const unsigned char *identity,
      size_t identity_len, SSL_SESSION **sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4140,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4155,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4157,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4158,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4158,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4159,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4160,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4171,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4133,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4139,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4140,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4155,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4159,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4163,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4172,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4176,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4174,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4140,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4155,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4156,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4157,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4164,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4164,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4177,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4133,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4144,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4144,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4147,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4148,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4148,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4156,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4150,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4150,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4160,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4170,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4163,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4179
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4179
    functionName: test_early_data_not_sent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_read_early_data
    - SSL_free
    - SSL_write_ex
    - TEST_mem_eq
    - TEST_int_eq
    - SSL_get_early_data_status
    - TEST_true
    - setupearly_data_test
    - SSL_CTX_free
    - SSL_read_ex
    - SSL_SESSION_free
    - TEST_false
    - TEST_size_t_eq
    - SSL_set_connect_state
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_not_sent(int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6441,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6471,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6482,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6486,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6488,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6436,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6465,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6458,1
    - Dst: SSL_export_keying_material_early
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6458,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6483,1
    - Dst: SSL_export_keying_material_early
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6455,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6442,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6441,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6442,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6445,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6445,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6449,1
    - Dst: SSL_export_keying_material_early
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6449,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6452,1
    - Dst: SSL_export_keying_material_early
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6452,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6455,1
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6436,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6474,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6481,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6485,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6487,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6491
      start: 6422
    functionDepth: 0
    functionLinenumber: 6422
    functionLinenumberEnd: 6491
    functionName: test_export_key_mat_early
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_read_early_data
    - SSL_free
    - TEST_mem_eq
    - TEST_mem_ne
    - TEST_int_eq
    - SSL_get_early_data_status
    - TEST_true
    - setupearly_data_test
    - SSL_CTX_free
    - SSL_write_early_data
    - SSL_export_keying_material_early
    - SSL_SESSION_free
    linkageType: ''
    returnType: int
    signature: 'static int test_export_key_mat_early(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:166,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:175,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: server_keylog_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - strcat
    - TEST_info
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void server_keylog_callback(const SSL *ssl, const char *line) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5150,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5157,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5165,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5152,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5169,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5169,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5179,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5183,1
    - Dst: set_ssl_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5191,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5199,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5242,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5247,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5190,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5229,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5202,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5110,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5137,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5111,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5138,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5147,1
    - Dst: set_ssl_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5161,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5173,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5173,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5176,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5185,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5231,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5250,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5248,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5236,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5220,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5200,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5241,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5137,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5150,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5152,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5165,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5177,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5183,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5186,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5191,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5195,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5232,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5241,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5196,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5251,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5231,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5196,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5137,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5147,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5161,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5170,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5170,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5178,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5185,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5190,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5229,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5249,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5236,1
    - Dst: set_ssl_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5232,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5237,1
    - Dst: SSL_get_negotiated_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:5242,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 148
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5253
      start: 5099
    functionDepth: 0
    functionLinenumber: 5099
    functionLinenumberEnd: 5253
    functionName: test_negotiated_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_get1_session
    - TEST_skip
    - TEST_int_ne
    - SSL_CTX_set_dh_auto
    - set_ssl_groups
    - TLS_server_method
    - TEST_true
    - create_ssl_objects
    - SSL_SESSION_free
    - SSL_set_session
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_shutdown
    - create_ssl_ctx_pair
    - SSL_get_negotiated_group
    - SSL_free
    - TEST_ptr
    - TEST_uint_eq
    - OSSL_NELEM
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_negotiated_group(int idx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setupearly_data_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4574,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4582,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4604,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4603,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4604,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4610,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4611,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4611,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4615,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4615,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4625,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4617,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4630,1
    - Dst: SSL_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4580,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4609,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4599,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4613,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4627,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4616,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4574,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4582,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4581,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4582,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4599,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4609,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4615,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4624,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4628,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4618,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4629,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4616,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4618,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4590,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4590,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4599,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4600,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4600,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4609,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4610,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4613,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4614,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:4614,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4633
      start: 4566
    functionDepth: 0
    functionLinenumber: 4566
    functionLinenumberEnd: 4633
    functionName: test_early_data_tls1_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_read_early_data
    - SSL_free
    - SSL_write_ex
    - TEST_mem_eq
    - TEST_int_eq
    - SSL_get_early_data_status
    - TEST_true
    - setupearly_data_test
    - SSL_CTX_free
    - SSL_read_ex
    - SSL_SESSION_free
    - SSL_set_max_proto_version
    - TEST_false
    - TEST_size_t_eq
    - SSL_set_connect_state
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_early_data_tls1_2(int idx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7156,1
    - Dst: SRP_create_verifier_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7165,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7167,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7186,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7183,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7187,1
    - Dst: TXT_DB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7206,1
    - Dst: TXT_DB_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7174,1
    - Dst: TXT_DB_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7189,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7203,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7162,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7159,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7175,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7178,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7179,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7184,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7162,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7189,1
    - Dst: TXT_DB_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7194,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7182,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7201,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7205,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 3
    argNames:
    - userid
    - password
    - filename
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 7209
      start: 7153
    functionDepth: 0
    functionLinenumber: 7153
    functionLinenumberEnd: 7209
    functionName: create_new_vfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - OPENSSL_strdup
    - BIO_free
    - TXT_DB_free
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - TXT_DB_write
    - OPENSSL_zalloc
    - SRP_create_verifier_ex
    - TXT_DB_insert
    - BIO_new_mem_buf
    - TXT_DB_read
    linkageType: ''
    returnType: int
    signature: 'static int create_new_vfile(char *userid, char *password, const char
      *filename) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6732,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6737,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6742,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6757,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6761,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6761,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6761,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6774,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6776,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6780,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6789,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6781,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6801,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6793,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6789,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6744,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6752,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6753,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6770,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6771,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6771,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6788,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6788,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6788,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6794,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6805,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6794,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6794,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6789,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6793,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6737,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6738,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6742,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6753,1
    - Dst: SSL_set0_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6766,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6776,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6776,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6780,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6788,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6793,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6802,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6803,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6793,1
    - Dst: bio_s_always_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6732,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6736,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6737,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6744,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6753,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6762,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6762,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6770,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6771,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6776,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6800,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6804,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6781,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6808
      start: 6725
    functionDepth: 0
    functionLinenumber: 6725
    functionLinenumberEnd: 6808
    functionName: test_key_update_local_in_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - BIO_free
    - BIO_up_ref
    - SSL_get_wbio
    - SSL_key_update
    - SSL_do_handshake
    - bio_s_always_retry
    - BIO_new
    - TLS_server_method
    - SSL_set0_wbio
    - SSL_write
    - ERR_peek_error
    - TEST_true
    - create_ssl_objects
    - TEST_false
    - ERR_clear_error
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_get_error
    - strlen
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_read
    - TEST_ptr
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_key_update_local_in_write(int tst) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7880,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7884,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7886,1
    - Dst: SSL_SESSION_get0_ticket_appdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7884,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7886,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7887,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7887,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 6
    argNames:
    - s
    - ss
    - keyname
    - keyname_length
    - status
    - arg
    argTypes:
    - SSL*
    - SSL_SESSION*
    - unsigned char*
    - size_t
    - SSL_TICKET_STATUS
    - void*
    constantsTouched: []
    func_position:
      end: 7908
      start: 7866
    functionDepth: 0
    functionLinenumber: 7866
    functionLinenumberEnd: 7908
    functionName: dec_tick_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - memcmp
    - SSL_SESSION_get0_ticket_appdata
    - TEST_int_eq
    - TEST_true
    - TEST_size_t_eq
    - strlen
    linkageType: ''
    returnType: SSL_TICKET_RETURN
    signature: 'static SSL_TICKET_RETURN dec_tick_cb(SSL *s, SSL_SESSION *ss, const
      unsigned char *keyname, size_t keyname_length, SSL_TICKET_STATUS status, void
      *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_large_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1494,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1494,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:1494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1496
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1496
    functionName: test_large_message_tls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - TLS_server_method
    - execute_test_large_message
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_large_message_tls(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6657,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6652,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6657,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6669,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6670,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6678,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6688,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6688,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6692,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6692,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6692,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6713,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6652,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6659,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6679,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6687,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6692,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6699,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6699,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6704,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6704,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6704,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6705,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6666,1
    - Dst: BIO_new_bio_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6666,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6678,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6679,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6687,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6704,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6711,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6714,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6652,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6653,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6659,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6680,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6680,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6700,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6700,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6705,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6712,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:6705,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6717
      start: 6642
    functionDepth: 0
    functionLinenumber: 6642
    functionLinenumberEnd: 6717
    functionName: test_key_update_peer_in_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_bio_pair
    - SSL_set_bio
    - SSL_write
    - SSL_free
    - SSL_read
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - strlen
    - SSL_key_update
    - create_ssl_ctx_pair
    - SSL_get_error
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_key_update_peer_in_read(int tst) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7067,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7068,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7072,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7084,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7112,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7067,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7073,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7074,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7075,1
    - Dst: SSL_CTX_set_post_handshake_auth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7078,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7080,1
    - Dst: SSL_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7088,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7089,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7092,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7096,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7100,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7072,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7084,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7104,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7110,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7113,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7067,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7073,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7074,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7089,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7075,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7080,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7092,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7096,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7100,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7105,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c:7111,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 7115
      start: 7061
    functionDepth: 0
    functionLinenumber: 7061
    functionLinenumberEnd: 7115
    functionName: test_pha_key_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslapitest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_min_proto_version
    - SSL_free
    - SSL_CTX_set_post_handshake_auth
    - SSL_CTX_set_max_proto_version
    - create_ssl_connection
    - TEST_int_eq
    - TEST_true
    - SSL_set_verify
    - SSL_verify_client_post_handshake
    - create_ssl_objects
    - SSL_CTX_free
    - SSL_key_update
    - SSL_do_handshake
    - create_ssl_ctx_pair
    - SSL_shutdown
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_pha_key_update(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:55,1
    - Dst: fake_rand_set_public_private_callbacks
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:58,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:58,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - hex_bytes
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: start_fake_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - fake_rand_set_public_private_callbacks
    - OPENSSL_hexstr2buf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int start_fake_rand(const char *hex_bytes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:93,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:92,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:110,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:104,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:117,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:121,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:91,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:111,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:105,1
    - Dst: EC_GROUP_set_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:112,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:120,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:124,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:92,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:93,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:110,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:104,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:119,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:123,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:91,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:97,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:106,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:105,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:111,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:112,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:118,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:122,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:126,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 55
    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*
    constantsTouched: []
    func_position:
      end: 131
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 131
    functionName: create_EC_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - EC_POINT_free
    - TEST_ptr
    - TEST_true
    - EC_POINT_new
    - EC_GROUP_free
    - EC_GROUP_set_generator
    - BN_free
    - EC_GROUP_new_curve_GFp
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: EC_GROUP*
    signature: 'static EC_GROUP *create_EC_group(const char *p_hex, const char *a_hex,
      const char *b_hex, const char *x_hex, const char *y_hex, const char *order_hex,
      const char *cof_hex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_EC_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:213,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:222,1
    - Dst: test_sm2_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:240,1
    - Dst: test_sm2_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:225,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:227,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:242,1
    - Dst: create_EC_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:264,1
    - Dst: test_sm2_crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:267,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:269,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:296,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:295,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 299
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 299
    functionName: sm2_crypt_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - create_EC_group
    - EVP_sm3
    - test_sm2_crypt
    - EC_GROUP_free
    - EVP_sha256
    linkageType: ''
    returnType: int
    signature: 'static int sm2_crypt_test(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:41,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:41,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - num
    - name
    - ctx
    argTypes:
    - unsigned char*
    - size_t
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: get_faked_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_size_t_gt
    linkageType: ''
    returnType: int
    signature: 'static int get_faked_bytes(unsigned char *buf, size_t num, ossl_unused
      const char *name, ossl_unused EVP_RAND_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_set_public_private_callbacks
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:69,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: restore_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - fake_rand_set_public_private_callbacks
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void restore_rand(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:139,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:151,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:157,1
    - Dst: EC_KEY_set_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:158,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:162,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:161,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:163,1
    - Dst: EC_KEY_set_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:164,1
    - Dst: ossl_sm2_ciphertext_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:165,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:165,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:204,1
    - Dst: restore_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:177,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:143,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:152,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:185,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:186,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:193,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:199,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:191,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:202,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:163,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:164,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:169,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:170,1
    - Dst: start_fake_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:173,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:174,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:182,1
    - Dst: ossl_sm2_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:191,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:200,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:152,1
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:156,1
    - Dst: restore_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:180,1
    - Dst: ossl_sm2_plaintext_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:185,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:189,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:190,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:201,1
    - Dst: ossl_sm2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:174,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 77
    argCount: 6
    argNames:
    - group
    - digest
    - privkey_hex
    - message
    - k_hex
    - ctext_hex
    argTypes:
    - EC_GROUP*
    - EVP_MD*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 206
    functionName: test_sm2_crypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - start_fake_rand
    - EC_KEY_set_group
    - EC_POINT_free
    - ossl_sm2_plaintext_size
    - OPENSSL_hexstr2buf
    - EC_KEY_free
    - BN_hex2bn
    - TEST_mem_eq
    - EC_KEY_set_public_key
    - OPENSSL_free
    - TEST_true
    - OPENSSL_zalloc
    - restore_rand
    - ossl_sm2_decrypt
    - TEST_int_eq
    - EC_POINT_new
    - EC_KEY_set_private_key
    - strlen
    - EC_KEY_new
    - TEST_ptr
    - EC_POINT_mul
    - BN_free
    - ossl_sm2_encrypt
    - ossl_sm2_ciphertext_size
    linkageType: ''
    returnType: int
    signature: 'static int test_sm2_crypt(const EC_GROUP *group, const EVP_MD *digest,
      const char *privkey_hex, const char *message, const char *k_hex, const char
      *ctext_hex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:324,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:325,1
    - Dst: EC_POINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:331,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:339,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:349,1
    - Dst: ossl_sm2_do_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:355,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:364,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:367,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:355,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:310,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:321,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:326,1
    - Dst: EC_KEY_set_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:327,1
    - Dst: EC_KEY_set_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:334,1
    - Dst: EC_POINT_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:333,1
    - Dst: ossl_sm2_do_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:341,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:350,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:352,1
    - Dst: EC_POINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:363,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:356,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:365,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:340,1
    - Dst: restore_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:345,1
    - Dst: ECDSA_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:347,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:349,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:351,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:362,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:321,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:326,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:332,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:333,1
    - Dst: start_fake_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:338,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:334,1
    - Dst: restore_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:342,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:350,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:359,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 66
    argCount: 8
    argNames:
    - group
    - userid
    - privkey_hex
    - message
    - k_hex
    - r_hex
    - s_hex
    - omit_pubkey
    argTypes:
    - EC_GROUP*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 370
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 370
    functionName: test_sm2_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - start_fake_rand
    - EC_KEY_set_group
    - EC_POINT_free
    - EC_KEY_free
    - BN_hex2bn
    - EVP_sm3
    - EC_KEY_set_public_key
    - TEST_true
    - ECDSA_SIG_get0
    - TEST_BN_eq
    - restore_rand
    - EC_POINT_new
    - EC_KEY_set_private_key
    - ossl_sm2_do_verify
    - ECDSA_SIG_free
    - strlen
    - EC_KEY_new
    - ossl_sm2_do_sign
    - TEST_ptr
    - EC_POINT_mul
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int test_sm2_sign(const EC_GROUP *group, const char *userid,
      const char *privkey_hex, const char *message, const char *k_hex, const char
      *r_hex, const char *s_hex, int omit_pubkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_EC_group
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:377,1
    - Dst: test_sm2_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:389,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:401,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:386,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:389,1
    - Dst: test_sm2_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:401,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 424
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 424
    functionName: sm2_sig_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - create_EC_group
    - test_sm2_sign
    - TEST_true
    - EC_GROUP_free
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int sm2_sig_test(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:431,1
    - Dst: fake_rand_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:433,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:438,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - fake_rand_start
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sm2_internal_test.c
    functionUses: []
    functionsReached:
    - fake_rand_finish
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/versions.c:16,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/versions.c:18,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/versions.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/versions.c
    functionUses: []
    functionsReached:
    - OpenSSL_version
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:68,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:71,1
    - Dst: CAST_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:69,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:70,1
    - Dst: CAST_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:75,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:76,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: cast_test_vector
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c
    functionUses: []
    functionsReached:
    - CAST_ecb_encrypt
    - CAST_set_key
    - TEST_mem_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int cast_test_vector(int z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:113,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:114,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:90,1
    - Dst: CAST_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:96,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:91,1
    - Dst: CAST_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:94,1
    - Dst: CAST_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:95,1
    - Dst: CAST_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:97,1
    - Dst: CAST_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:98,1
    - Dst: CAST_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:99,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:102,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: cast_test_iterations
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/casttest.c
    functionUses: []
    functionsReached:
    - CAST_ecb_encrypt
    - memcpy
    - CAST_set_key
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int cast_test_iterations(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2519,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2527,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2519,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2525,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2527,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2528,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2528,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2528,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2529,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2529,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2531,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2536,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2535,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2533,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2531,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2535,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2533,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2543,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2546
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2546
    functionName: test_HKDF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_mem_eq
    - TEST_ptr
    - EVP_PKEY_CTX_set1_hkdf_salt
    - TEST_int_gt
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_sha256
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_HKDF(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1302,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1305,1
    - Dst: EVP_SealInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1315,1
    - Dst: EVP_OpenFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1326,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1330,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1338,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1310,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1312,1
    - Dst: EVP_SealUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1315,1
    - Dst: EVP_OpenInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1323,1
    - Dst: EVP_SealFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1323,1
    - Dst: EVP_OpenUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1324,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1336,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1337,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1306,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1310,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1311,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1313,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1312,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1326,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1306,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1311,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1324,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1339,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1341
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1341
    functionName: test_EVP_Enveloped
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - EVP_PKEY_free
    - EVP_CIPHER_CTX_new
    - EVP_OpenUpdate
    - EVP_SealUpdate
    - TEST_mem_eq
    - EVP_CIPHER_free
    - OPENSSL_free
    - TEST_true
    - EVP_SealFinal
    - OPENSSL_zalloc
    - EVP_OpenInit
    - EVP_SealInit
    - EVP_CIPHER_CTX_free
    - load_example_rsa_key
    - EVP_aes_256_cbc
    - TEST_ptr
    - EVP_PKEY_get_size
    - EVP_CIPHER_fetch
    - EVP_OpenFinal
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_Enveloped(int n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5260,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5260,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5261,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5264,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5267,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5267,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5268,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5270,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5270,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5273,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5278,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    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
    constantsTouched: []
    func_position:
      end: 5282
      start: 5247
    functionDepth: 0
    functionLinenumber: 5247
    functionLinenumberEnd: 5282
    functionName: rc4_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - TEST_ptr
    - TEST_true
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    - EVP_EncryptInit_ex2
    linkageType: ''
    returnType: int
    signature: 'static int rc4_encrypt(const unsigned char *rc4_key, size_t rc4_key_s,
      const unsigned char *rc4_pt, size_t rc4_pt_s, const unsigned char *rc4_ct, size_t
      rc4_ct_s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5297,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5303,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5300,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5306,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5306,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5307,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5307,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5309,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5314,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5315,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    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
    constantsTouched: []
    func_position:
      end: 5318
      start: 5284
    functionDepth: 0
    functionLinenumber: 5284
    functionLinenumberEnd: 5318
    functionName: rc4_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - TEST_true
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    linkageType: ''
    returnType: int
    signature: 'static int rc4_decrypt(const unsigned char *rc4_key, size_t rc4_key_s,
      const unsigned char *rc4_pt, size_t rc4_pt_s, const unsigned char *rc4_ct, size_t
      rc4_ct_s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2318,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2309,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2324,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2268,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2310,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2320,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2325,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2331,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2277,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2295,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2307,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2309,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2318,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2311,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2324,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2326,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2272,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2275,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2291,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2294,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2300,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2308,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2310,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2308,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2320,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2325,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 3
    argNames:
    - tst
    - pub
    - uselibctx
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2333
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2333
    functionName: test_set_get_raw_keys_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - OBJ_nid2sn
    - EVP_PKEY_get_raw_public_key
    - TEST_ptr
    - TEST_int_eq
    - memset
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_new_raw_private_key
    - EVP_PKEY_eq
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_new_raw_public_key_ex
    - EVP_PKEY_get_raw_private_key
    - TEST_false
    - EVP_PKEY_new_raw_public_key
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_set_get_raw_keys_int(int tst, int pub, int uselibctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4468,1
    - Dst: pderive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 4470
      start: 4463
    functionDepth: 0
    functionLinenumber: 4463
    functionLinenumberEnd: 4470
    functionName: custom_pmeth_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - pderive
    - EVP_PKEY_meth_get_derive
    linkageType: ''
    returnType: int
    signature: 'static int custom_pmeth_derive(EVP_PKEY_CTX *ctx, unsigned char *key,
      size_t *keylen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5124,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5127,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5130,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5134,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5142,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5143,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5139,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5124,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5132,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5136,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5150,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5123,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5130,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5134,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5142,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5149,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5123,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5136,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5144,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    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
    constantsTouched: []
    func_position:
      end: 5153
      start: 5106
    functionDepth: 0
    functionLinenumber: 5106
    functionLinenumberEnd: 5153
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_CTX_get_params
    - TEST_mem_eq
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - TEST_ptr
    - TEST_true
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    - EVP_EncryptInit_ex2
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_encrypt(const unsigned char *gcm_key, size_t gcm_key_s,
      const unsigned char *gcm_iv, size_t gcm_ivlen, const unsigned char *gcm_pt,
      size_t gcm_pt_s, const unsigned char *gcm_aad, size_t gcm_aad_s, const unsigned
      char *gcm_ct, size_t gcm_ct_s, const unsigned char *gcm_tag, size_t gcm_tag_s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_set_get_raw_keys_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2337,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2338,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2340,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2341
      start: 2335
    functionDepth: 0
    functionLinenumber: 2335
    functionLinenumberEnd: 2341
    functionName: test_set_get_raw_keys
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - test_set_get_raw_keys_int
    linkageType: ''
    returnType: int
    signature: 'static int test_set_get_raw_keys(int tst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4476,1
    - Dst: pcopy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 4478
      start: 4472
    functionDepth: 0
    functionLinenumber: 4472
    functionLinenumberEnd: 4478
    functionName: custom_pmeth_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_copy
    - pcopy
    linkageType: ''
    returnType: int
    signature: 'static int custom_pmeth_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX
      *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:673,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 679
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 679
    functionName: load_example_hmac_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_new_raw_private_key_ex
    - TEST_ptr
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_hmac_key(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:716,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:718,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:716,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:718,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:719,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:719,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:723,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:729,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:730,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - keytype
    - params
    argTypes:
    - char*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 732
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 732
    functionName: make_key_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - TEST_int_gt
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *make_key_fromdata(char *keytype, OSSL_PARAM *params) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4889,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4886,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4924,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4927,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4942,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4890,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4911,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4917,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4923,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4927,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4930,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4934,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4941,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4889,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4896,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4897,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4900,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4901,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4923,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4914,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4920,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4924,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4940,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4944,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4886,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4904,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4917,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4908,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4914,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4930,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4943,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4947
      start: 4858
    functionDepth: 0
    functionLinenumber: 4858
    functionLinenumberEnd: 4947
    functionName: test_signatures_with_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_new_raw_private_key
    - TEST_error
    - OPENSSL_malloc
    - EVP_MD_CTX_new
    - OPENSSL_free
    - ENGINE_by_id
    - TEST_true
    - ENGINE_finish
    - EVP_sha256
    - EVP_DigestSignFinal
    - TEST_false
    - EVP_DigestSignInit
    - ENGINE_init
    - EVP_PKEY_new_CMAC_key
    - ENGINE_free
    - EVP_aes_128_cbc
    - EVP_MD_CTX_free
    - TEST_ptr
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: int
    signature: 'static int test_signatures_with_engine(int tst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:687,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:688,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:688,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:687,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:690,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:693,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:693,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:694,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:694,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:695,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:695,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:700,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:700,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:697,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:705,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:701,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:706,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:701,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 708
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 708
    functionName: test_EVP_set_default_properties
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - EVP_set_default_properties
    - TEST_true
    - OSSL_LIB_CTX_new
    - TEST_ptr_null
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_set_default_properties(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:738,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:740,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:742,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:738,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:745,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:748,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:751,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:754,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:760,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - pkey
    - selection
    argTypes:
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 763
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 763
    functionName: test_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - TEST_true
    - PEM_write_bio_PrivateKey_ex
    - BIO_s_mem
    - TEST_false
    - PEM_write_bio_PUBKEY
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int test_selection(EVP_PKEY *pkey, int selection) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4966,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4971,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4982,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4983,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4989,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4963,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4971,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4975,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4988,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4979,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4982,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4966,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4963,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4972,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4983,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4991,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4967,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4972,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4975,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4975,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4979,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4990,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4994
      start: 4949
    functionDepth: 0
    functionLinenumber: 4949
    functionLinenumberEnd: 4994
    functionName: test_cipher_with_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_copy
    - TEST_ptr
    - ENGINE_by_id
    - TEST_true
    - ENGINE_init
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - ENGINE_finish
    - EVP_CIPHER_CTX_new
    - ENGINE_free
    - EVP_EncryptUpdate
    - EVP_aes_128_cbc
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_cipher_with_engine(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: load_example_ec_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_ec_key(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1225,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1228,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1235,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1240,1
    - Dst: DSA_meth_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1237,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1251,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1252,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1257,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1258,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1266,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1265,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1228,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1229,1
    - Dst: RSA_set_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1229,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1241,1
    - Dst: load_example_dsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1235,1
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1240,1
    - Dst: DSA_set_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1241,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1253,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1253,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1254,1
    - Dst: DSA_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1279,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1266,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1223,1
    - Dst: RSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1225,1
    - Dst: DSA_get_default_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1237,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1254,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1260,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1262,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1272,1
    - Dst: RSA_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1276,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1278,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1225,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1223,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1230,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1230,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1237,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1242,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1242,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1260,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1262,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1265,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1273,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1274,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1275,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 89
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1282
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1282
    functionName: test_EVP_PKEY_sign_with_app_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - RSA_meth_free
    - DSA_set_method
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - OPENSSL_malloc
    - EVP_PKEY_get1_DSA
    - EVP_PKEY_get1_RSA
    - TEST_int_le
    - OPENSSL_free
    - RSA_set_method
    - RSA_get_default_method
    - DSA_get_default_method
    - DSA_free
    - EVP_PKEY_verify
    - RSA_meth_dup
    - EVP_PKEY_sign
    - DSA_meth_dup
    - load_example_rsa_key
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_verify_init
    - RSA_free
    - EVP_PKEY_assign_DSA
    - TEST_ptr
    - TEST_int_gt
    - DSA_meth_free
    - load_example_dsa_key
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKEY_sign_with_app_method(int tst) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5066,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5068,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5074,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5083,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5080,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5098,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5056,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5071,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5077,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5094,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5092,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5064,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5071,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5100,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5061,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5066,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5099,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5080,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5092,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5083,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5103
      start: 5041
    functionDepth: 0
    functionLinenumber: 5041
    functionLinenumberEnd: 5103
    functionName: test_ecx_not_private_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - ERR_GET_REASON
    - EVP_DigestSignInit
    - ERR_peek_error
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_skip
    - TEST_int_eq
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_PKEY_free
    - EVP_DigestSign
    - EVP_PKEY_new_raw_public_key_ex
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_ecx_not_private_key(int tst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1626,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1634,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1635,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1637,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1645,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1646,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1650,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1656,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1623,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1622,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1627,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1628,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1633,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1634,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1642,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1647,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1649,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1655,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1650,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1619,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1619,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1622,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1623,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1626,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1627,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1635,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1637,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1645,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1647,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1628,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1633,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1642,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1646,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1649,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1657,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1659
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1659
    functionName: test_EVP_Digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_DigestFinalXOF
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_free
    - EVP_MD_CTX_get0_md
    - TEST_ptr_eq
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_Digest(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_EVP_PKEY_ffc_priv_pub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2870
      start: 2867
    functionDepth: 0
    functionLinenumber: 2867
    functionLinenumberEnd: 2870
    functionName: test_DSA_priv_pub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - test_EVP_PKEY_ffc_priv_pub
    linkageType: ''
    returnType: int
    signature: 'static int test_DSA_priv_pub(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4383,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4392,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4405,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4401,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4410,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4414,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4407,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4404,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4385,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4388,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4392,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4395,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4401,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4388,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4385,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4395,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4399,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4415,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4405,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4417
      start: 4368
    functionDepth: 0
    functionLinenumber: 4368
    functionLinenumberEnd: 4417
    functionName: test_keylen_change
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - ERR_set_mark
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - TEST_false
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'static int test_keylen_change(int idx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2416,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2379,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2385,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2391,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2391,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2406,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2400,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2406,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2382,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2382,1
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2379,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2385,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2420,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2388,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2388,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2394,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2403,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2409,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2394,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2398,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2403,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2409,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2418,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2422
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2422
    functionName: test_EVP_PKEY_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - EVP_PKEY_check
    - load_example_key
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_up_ref
    - EVP_PKEY_get_id
    - EVP_PKEY_param_check
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKEY_check(int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 4791
      start: 4781
    functionDepth: 0
    functionLinenumber: 4781
    functionLinenumberEnd: 4791
    functionName: custom_ciph_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    linkageType: ''
    returnType: int
    signature: 'static int custom_ciph_init(EVP_CIPHER_CTX *ctx, const unsigned char
      *key, const unsigned char *iv, int enc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2822,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2820,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2823,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2825,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2830,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2833,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2836,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2850,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2854,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2858,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2856,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2821,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2822,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2829,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2828,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2831,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2836,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2844,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2853,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2857,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2821,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2824,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2826,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2830,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2833,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2839,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2839,1
    - Dst: test_EVP_PKEY_CTX_get_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2847,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2852,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2855,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2851,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2820,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2823,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2824,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2825,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2826,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2829,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2828,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2831,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2840,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2840,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2861
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2861
    functionName: test_DSA_get_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - test_EVP_PKEY_CTX_get_set_params
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_true
    - BN_new
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_fromdata
    - BN_free
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int test_DSA_get_set_params(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2634,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2640,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2638,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2643,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2640,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2643,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2649,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2649,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2652,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2652,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2658,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2660
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2660
    functionName: test_X509_PUBKEY_inplace
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - X509_PUBKEY_free
    - d2i_X509_PUBKEY
    - X509_PUBKEY_get0
    - X509_PUBKEY_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_X509_PUBKEY_inplace(void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3485,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3520,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3525,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3524,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3529,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3532,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3481,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3495,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3500,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3505,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3510,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3521,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3523,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3533,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3519,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3519,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3520,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3523,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3525,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3527,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3528,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3532,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3533,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3541,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3490,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3518,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3524,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3521,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3535,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3540,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3543
      start: 3442
    functionDepth: 0
    functionLinenumber: 3442
    functionLinenumberEnd: 3543
    functionName: test_evp_iv_des
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_updated_iv
    - TEST_mem_eq
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_iv_des(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5012,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5014,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5015,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5020
      start: 5006
    functionDepth: 0
    functionLinenumber: 5006
    functionLinenumberEnd: 5020
    functionName: test_ecx_short_keys
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_free
    - TEST_ptr_null
    - OBJ_nid2sn
    linkageType: ''
    returnType: int
    signature: 'static int test_ecx_short_keys(int tst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2676,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2678,1
    - Dst: X509_PUBKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2687,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2690,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2698,1
    - Dst: X509_PUBKEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2669,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2670,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2671,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2677,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2678,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2681,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2686,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2678,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2672,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2676,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2686,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2692,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2671,1
    - Dst: X509_PUBKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2672,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2673,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2687,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2677,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2692,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2699,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2701
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2701
    functionName: test_X509_PUBKEY_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - X509_PUBKEY_free
    - d2i_X509_PUBKEY
    - X509_PUBKEY_get0
    - TEST_ptr_ne
    - X509_PUBKEY_new_ex
    - X509_PUBKEY_dup
    linkageType: ''
    returnType: int
    signature: 'static int test_X509_PUBKEY_dup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3948,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3952,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3957,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3960,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3950,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3953,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3959,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3967,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3952,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3960,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3955,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3966,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3957,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3947,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3948,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3950,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3947,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3953,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3962,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3959,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3969
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3969
    functionName: test_evp_reinit_seq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex2
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_reinit_seq(int idx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4004,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4016,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4020,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4024,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4004,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4012,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4036,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4032,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4040,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4053,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4008,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4016,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4020,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4024,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4028,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4051,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4052,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4008,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4012,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4036,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4032,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4040,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4044,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4055
      start: 3994
    functionDepth: 0
    functionLinenumber: 3994
    functionLinenumberEnd: 4055
    functionName: test_evp_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - TEST_info
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_reset(int idx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4122,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4117,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4126,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4150,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4121,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4130,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4138,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4142,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4160,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4126,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4134,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4150,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4158,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4159,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4142,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4146,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4138,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4117,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4130,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4134,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4162
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4162
    functionName: test_evp_updated_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_updated_iv
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_set_padding
    - TEST_mem_ne
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - TEST_info
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_updated_iv(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1885,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1885,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1887,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1887,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1890,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 1898
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1898
    functionName: ec_export_get_encoding_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OSSL_PARAM_get_utf8_string_ptr
    - TEST_true
    - OPENSSL_strcasecmp
    - OSSL_PARAM_locate_const
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int ec_export_get_encoding_cb(const OSSL_PARAM params[], void
      *arg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2733,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2749,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2735,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2765,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2771,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2773,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2790,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2794,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2794,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2789,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2719,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2719,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2727,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2731,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2732,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2747,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2745,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2755,1
    - Dst: EVP_PKEY_CTX_get_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2764,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2782,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2792,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2801,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2718,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2726,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2733,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2735,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2749,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2756,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2763,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2763,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2773,1
    - Dst: EVP_MD_CTX_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2781,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2785,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2800,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2717,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2725,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2727,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2743,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2753,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2755,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2763,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2764,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2765,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2772,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2783,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2783,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2804
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2804
    functionName: test_EVP_PKEY_CTX_get_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_params
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - EVP_MD_CTX_settable_params
    - TEST_str_eq
    - EVP_PKEY_CTX_set_params
    - EVP_MD_CTX_new
    - strcmp
    - TEST_true
    - EVP_PKEY_CTX_get_params
    - EVP_sha256
    - EVP_PKEY_CTX_gettable_params
    - TEST_ptr_null
    - EVP_DigestSignInit_ex
    - strcpy
    - TEST_int_eq
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - TEST_ptr_eq
    - OSSL_PARAM_construct_octet_string
    - EVP_MD_CTX_free
    - TEST_ptr
    - EVP_PKEY_CTX_settable_params
    - TEST_int_gt
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_get_signature_md
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKEY_CTX_get_set_params(EVP_PKEY *pkey) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4214,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4214,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4218,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4222,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4232,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4244,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4266,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4278,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4202,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4206,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4210,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4222,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4249,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4249,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4257,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4261,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4206,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4202,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4218,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4226,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4236,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4232,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4257,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4266,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4270,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4287,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4210,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4227,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4240,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4240,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4253,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4274,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4274,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4285,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4286,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4289
      start: 4190
    functionDepth: 0
    functionLinenumber: 4190
    functionLinenumberEnd: 4289
    functionName: test_gcm_reinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - TEST_info
    - TEST_int_gt
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_gcm_reinit(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2427,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2433,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2433,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2432,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2435,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2436,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2436,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2437,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pkey
    - mac
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2443
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2443
    functionName: get_cmac_val
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int get_cmac_val(EVP_PKEY *pkey, unsigned char *mac) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2460,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2469,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2469,1
    - Dst: EVP_aes_256_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2472,1
    - Dst: get_cmac_val
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2478,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2470,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2470,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2488,1
    - Dst: EVP_aes_256_ecb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2488,1
    - Dst: get_cmac_val
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2490,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2491,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2499,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2466,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2477,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2478,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2489,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2498,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2473,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2473,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2476,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2476,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2482,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2490,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2501
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2501
    functionName: test_CMAC_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_skip
    - get_cmac_val
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_new_CMAC_key
    - TEST_int_gt
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_aes_256_ecb
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int test_CMAC_keygen(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: load_example_dh_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_dh_key(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3029,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3030,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3037,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3038,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3042,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3048,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3049,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3055,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3058,1
    - Dst: EVP_DecryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3062,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3028,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3029,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3032,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3035,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3041,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3043,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3057,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3064,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3070,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3028,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3030,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3038,1
    - Dst: EVP_EncryptFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3042,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3048,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3049,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3055,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3058,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3062,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3069,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3032,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3035,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3061,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3063,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3072
      start: 3008
    functionDepth: 0
    functionLinenumber: 3008
    functionLinenumberEnd: 3072
    functionName: test_decrypt_null_chunks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_EncryptFinal
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_DecryptFinal
    - EVP_EncryptUpdate
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_decrypt_null_chunks(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1778,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1782,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1786,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1786,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1778,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1792,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1793,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1796
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1796
    functionName: test_EVP_PKCS82PKEY
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - TEST_ptr
    - EVP_PKEY_free
    - TEST_ptr_null
    - TEST_ptr_eq
    - d2i_PKCS8_PRIV_KEY_INFO
    - EVP_PKCS82PKEY
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKCS82PKEY(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3279,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3282,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3280,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3283,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3280,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3284,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3287,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3288,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3290,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3291,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3293,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3292,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3295,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3294,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3292,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3297
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3297
    functionName: test_rand_agglomeration
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_RAND_fetch
    - EVP_RAND_generate
    - TEST_mem_eq
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    - TEST_ptr
    - TEST_true
    - EVP_RAND_CTX_set_params
    - TEST_int_ne
    - EVP_RAND_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_RAND_free
    - OSSL_PARAM_construct_octet_string
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_agglomeration(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5521,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5523,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5524,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5525
      start: 5519
    functionDepth: 0
    functionLinenumber: 5519
    functionLinenumberEnd: 5525
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: load_example_rsa_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_rsa_key(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1972,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1979,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1982,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1993,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1996,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1996,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1996,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1999,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2007,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2009,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1971,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1976,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1985,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1990,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2002,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2008,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1971,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1975,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1979,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1993,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1988,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1985,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1990,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1999,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1999,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2002,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1982,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2010,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2011,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2013
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 2013
    functionName: test_EVP_SM2_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - EVP_DigestVerifyFinal
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_set1_id
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_MD_CTX_new
    - TEST_true
    - PEM_read_bio_PUBKEY_ex
    - EVP_MD_free
    - BIO_new_mem_buf
    - EVP_DigestVerifyInit
    - EVP_MD_fetch
    - strlen
    - EVP_MD_CTX_free
    - TEST_ptr
    - TEST_int_gt
    - EVP_DigestVerifyUpdate
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_SM2_verify(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3678,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3678,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3679,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3680,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3679,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3680,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3681,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3681,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3682,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3682,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3683,1
    - Dst: EVP_PKEY_CTX_get_rsa_pss_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3684,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3685,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3689,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3683,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3687,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3684,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3692
      start: 3668
    functionDepth: 0
    functionLinenumber: 3668
    functionLinenumberEnd: 3692
    functionName: test_EVP_rsa_pss_set_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_int_eq
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_get_rsa_pss_saltlen
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - EVP_MD_free
    - load_example_rsa_key
    - EVP_MD_fetch
    - EVP_PKEY_CTX_set_rsa_padding
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_rsa_pss_set_saltlen(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4448,1
    - Dst: psign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4450
      start: 4441
    functionDepth: 0
    functionLinenumber: 4441
    functionLinenumberEnd: 4450
    functionName: custom_pmeth_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_sign
    - psign
    linkageType: ''
    returnType: int
    signature: 'static int custom_pmeth_sign(EVP_PKEY_CTX *ctx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5171,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5177,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5174,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5182,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5184,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5184,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5192,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5192,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5199,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5189,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5198,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5193,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5193,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    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
    constantsTouched: []
    func_position:
      end: 5202
      start: 5155
    functionDepth: 0
    functionLinenumber: 5155
    functionLinenumberEnd: 5202
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_params
    - TEST_mem_eq
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - TEST_true
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    - EVP_DecryptFinal_ex
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_decrypt(const unsigned char *gcm_key, size_t gcm_key_s,
      const unsigned char *gcm_iv, size_t gcm_ivlen, const unsigned char *gcm_pt,
      size_t gcm_pt_s, const unsigned char *gcm_aad, size_t gcm_aad_s, const unsigned
      char *gcm_ct, size_t gcm_ct_s, const unsigned char *gcm_tag, size_t gcm_tag_s) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:930,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:939,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:953,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:971,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:976,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:980,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:993,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1065,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1025,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:931,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:944,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:977,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1030,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1041,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1012,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:999,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1016,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1055,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1002,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:960,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1024,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:988,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1021,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1062,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1068,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:926,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1008,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1009,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1002,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:998,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:999,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1067,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1030,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1025,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1023,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1041,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1064,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1035,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:956,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:957,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:984,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:985,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1005,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1051,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1017,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:935,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:936,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:949,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:950,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1021,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:972,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1032,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:994,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1005,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:956,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:984,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1023,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1019,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1034,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1066,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:953,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1048,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:980,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1017,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1034,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1026,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:976,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:930,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:931,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:945,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:977,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:936,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:949,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1019,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:950,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:998,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1009,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1044,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:935,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:961,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:989,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1016,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1048,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1055,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1063,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1026,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1024,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:926,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:940,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:957,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:985,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1008,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 181
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1071
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 1071
    functionName: test_EC_priv_pub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_parameters_eq
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_free
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_eq
    - BN_bin2bn
    - OSSL_PARAM_free
    - TEST_int_eq
    - OSSL_PARAM_BLD_new
    - test_selection
    - make_key_fromdata
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - EVP_PKEY_get_octet_string_param
    - TEST_int_gt
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int test_EC_priv_pub(void) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2043,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2056,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2072,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2212,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2078,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2094,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2154,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2186,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2112,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2178,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2206,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2189,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2187,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2168,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2069,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2084,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2130,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2171,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2209,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2084,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2178,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2164,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2151,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2174,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2208,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2075,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2197,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2211,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2102,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2047,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2050,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2060,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2091,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2161,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2168,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2097,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2120,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2127,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2130,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2205,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2063,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2087,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2102,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2174,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2194,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2204,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2161,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2043,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2056,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2072,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2135,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2171,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2120,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2207,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2094,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2124,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2081,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2187,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2050,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2047,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2053,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2066,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2060,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2069,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2109,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2053,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2063,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2081,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2091,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2189,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2109,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2145,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2127,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2190,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2066,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2087,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2097,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2164,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2203,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2112,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2076,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2078,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2124,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2154,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2197,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2210,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 148
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2214
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2214
    functionName: test_EVP_SM2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_decrypt
    - memcmp
    - EVP_PKEY_free
    - EVP_DigestVerifyFinal
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_set1_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OPENSSL_malloc
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_set_params
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - EVP_DigestSignFinal
    - EVP_PKEY_encrypt
    - EVP_MD_free
    - EVP_PKEY_paramgen
    - EVP_DigestSignInit
    - EVP_PKEY_encrypt_init
    - TEST_int_eq
    - EVP_DigestVerifyInit
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_decrypt_init
    - EVP_MD_fetch
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - EVP_MD_CTX_free
    - TEST_int_gt
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_DigestSignUpdate
    - EVP_MD_is_a
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_keygen_init
    - EVP_DigestVerifyUpdate
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_SM2(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_digestsign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4459,1
    - Dst: pdigestsign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4460,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4461
      start: 4452
    functionDepth: 0
    functionLinenumber: 4452
    functionLinenumberEnd: 4461
    functionName: custom_pmeth_digestsign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - pdigestsign
    - EVP_PKEY_meth_get_digestsign
    linkageType: ''
    returnType: int
    signature: 'static int custom_pmeth_digestsign(EVP_MD_CTX *ctx, unsigned char
      *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 4706
      start: 4697
    functionDepth: 0
    functionLinenumber: 4697
    functionLinenumberEnd: 4706
    functionName: custom_md_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_md_data
    linkageType: ''
    returnType: int
    signature: 'static int custom_md_init(EVP_MD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5238,1
    - Dst: aes_gcm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5244
      start: 5204
    functionDepth: 0
    functionLinenumber: 5204
    functionLinenumberEnd: 5244
    functionName: test_aes_gcm_ivlen_change_cve_2023_5363
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - aes_gcm_encrypt
    - aes_gcm_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_aes_gcm_ivlen_change_cve_2023_5363(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1156,1
    - Dst: load_example_dsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1160,1
    - Dst: load_example_ec_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1168,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1185,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1179,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1187,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1197,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1185,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1190,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1187,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1190,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1177,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1182,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1183,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1191,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1199,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1156,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1160,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1168,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1178,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1178,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1179,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1191,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1198,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1201
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1201
    functionName: test_EVP_PKEY_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_verify_init
    - EVP_PKEY_verify
    - TEST_int_le
    - EVP_PKEY_sign
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - load_example_ec_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - load_example_rsa_key
    - load_example_dsa_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKEY_sign(int tst) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3874,1
    - Dst: evp_init_seq_set_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3882,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3906,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3890,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3894,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3910,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3919,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3928,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3870,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3878,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3878,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3886,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3861,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3866,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3874,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3900,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3894,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3900,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3890,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3906,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3927,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3866,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3870,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3886,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3915,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3915,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3929,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 87
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3931
      start: 3849
    functionDepth: 0
    functionLinenumber: 3849
    functionLinenumberEnd: 3931
    functionName: test_evp_init_seq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - TEST_info
    - TEST_int_gt
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - evp_init_seq_set_iv
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_init_seq(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4429,1
    - Dst: pinit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 4431
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4431
    functionName: custom_pmeth_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_init
    - pinit
    linkageType: ''
    returnType: int
    signature: 'static int custom_pmeth_init(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4437,1
    - Dst: pcleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 4439
      start: 4433
    functionDepth: 0
    functionLinenumber: 4433
    functionLinenumberEnd: 4439
    functionName: custom_pmeth_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_cleanup
    - pcleanup
    linkageType: ''
    returnType: void
    signature: 'static void custom_pmeth_cleanup(EVP_PKEY_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1910,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1920,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1920,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1921,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1933,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1912,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1912,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1913,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1914,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1919,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1922,1
    - Dst: evp_keymgmt_util_export
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1926,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1936,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1911,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1911,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1919,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1921,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1915,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1928,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1935,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1910,1
    - Dst: EVP_PKEY_CTX_set_ec_param_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1913,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1914,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1926,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1934,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1938
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1938
    functionName: test_EC_keygen_with_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_ec_param_enc
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_group_name
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - evp_keymgmt_util_export
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: int
    signature: 'static int test_EC_keygen_with_enc(int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3834,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3837,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3837,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_INIT_TEST_st*
    constantsTouched: []
    func_position:
      end: 3842
      start: 3829
    functionDepth: 0
    functionLinenumber: 3829
    functionLinenumberEnd: 3842
    functionName: evp_init_seq_set_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_int_gt
    - TEST_true
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int evp_init_seq_set_iv(EVP_CIPHER_CTX *ctx, const EVP_INIT_TEST_st
      *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5037
      start: 5029
    functionDepth: 0
    functionLinenumber: 5029
    functionLinenumberEnd: 5037
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2984,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2984,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2986,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2985,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2985,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2986,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2989,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2989,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2992,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2992,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2992,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2995,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3001,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3002,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2995,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3005
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 3005
    functionName: test_RSA_OAEP_set_null_label
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - EVP_PKEY_encrypt_init
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - load_example_rsa_key
    - EVP_PKEY_CTX_set_rsa_padding
    linkageType: ''
    returnType: int
    signature: 'static int test_RSA_OAEP_set_null_label(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3209,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3239,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3219,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3216,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3220,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3243,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3248,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3252,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3253,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3253,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3264,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3263,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3262,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3266
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3266
    functionName: test_pkey_ctx_fail_without_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - OSSL_PROVIDER_unload
    - TEST_info
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr_null
    - TEST_error
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_ctx_fail_without_provider(int tst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3557,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3560,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3559,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3559,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3560,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3561,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3561,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3568
      start: 3547
    functionDepth: 0
    functionLinenumber: 3547
    functionLinenumberEnd: 3568
    functionName: test_evp_bf_default_keylen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - TEST_int_eq
    - TEST_ptr
    - TEST_skip
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_fetch
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_bf_default_keylen(int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3714,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3729,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3718,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3721,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3722,1
    - Dst: EVP_MD_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3729,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3732,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3737,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3740
      start: 3711
    functionDepth: 0
    functionLinenumber: 3711
    functionLinenumberEnd: 3740
    functionName: test_names_do_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_true
    - EVP_MD_names_do_all
    - OSSL_LIB_CTX_new
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_names_do_all(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3170,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3180,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3180,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3175,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3181,1
    - Dst: EVP_PKEY_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3181,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3182,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3182,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3187,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3187,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3188,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3195,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3193,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3188,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3197
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3197
    functionName: test_keygen_with_empty_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - EVP_PKEY_set_type
    - EVP_PKEY_CTX_new
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'static int test_keygen_with_empty_template(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3699,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3701,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - name
    - vctx
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3705
      start: 3695
    functionDepth: 0
    functionLinenumber: 3695
    functionLinenumberEnd: 3705
    functionName: md_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: 'static void md_names(const char *name, void *vctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2929,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2931,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2939,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2944,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2960,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2954,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2946,1
    - Dst: EVP_PKEY_encrypt_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2946,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2963,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2958,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2964,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2972,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2932,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2942,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2956,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2971,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2960,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2932,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2931,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2940,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2975
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2975
    functionName: test_RSA_OAEP_set_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - TEST_str_eq
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_end
    - load_example_rsa_key
    - EVP_PKEY_encrypt_init_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_RSA_OAEP_set_get_params(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: load_example_ed25519_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_ed25519_key(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_md_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1665,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1670,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1673,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1672,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1673,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1676,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1676,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1677,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1677,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1678,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1681,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1686,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1678,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1688
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1688
    functionName: test_EVP_md_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_skip
    - EVP_MD_CTX_free
    - TEST_true
    - TEST_uint_eq
    - EVP_DigestInit_ex
    - EVP_md_null
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_md_null(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2347
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2347
    functionName: pkey_custom_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pkey_custom_check(EVP_PKEY *pkey) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3607,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3614,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3615,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3623,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3627,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3630,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3630,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3637,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3641,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3597,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3603,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3603,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3605,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3601,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3602,1
    - Dst: i2d_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3613,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3622,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3622,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3623,1
    - Dst: d2i_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3627,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3640,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3604,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3604,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3605,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3621,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3610,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3609,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3621,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3638,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3644
      start: 3582
    functionDepth: 0
    functionLinenumber: 3582
    functionLinenumberEnd: 3644
    functionName: test_ecpub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EC_KEY_free
    - EVP_PKEY_assign_EC_KEY
    - i2d_PublicKey
    - TEST_true
    - EVP_PKEY_eq
    - EVP_PKEY_CTX_new_id
    - TEST_int_ge
    - TEST_int_eq
    - EVP_PKEY_new
    - d2i_PublicKey
    - TEST_int_lt
    - EC_KEY_new_by_curve_name
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_int_gt
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'static int test_ecpub(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: load_example_x25519_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_x25519_key(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1701,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1701,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1703,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1703,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1702,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1709,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1711
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1711
    functionName: test_d2i_AutoPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey
    - TEST_ptr_eq
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'static int test_d2i_AutoPrivateKey(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2352
    functionName: pkey_custom_pub_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pkey_custom_pub_check(EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5344,1
    - Dst: rc4_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5346,1
    - Dst: rc4_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5350
      start: 5320
    functionDepth: 0
    functionLinenumber: 5320
    functionLinenumberEnd: 5350
    functionName: test_aes_rc4_keylen_change_cve_2023_5363
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - rc4_decrypt
    - rc4_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_aes_rc4_keylen_change_cve_2023_5363(void) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3345,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3341,1
    - Dst: EVP_aes_128_ofb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3351,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3365,1
    - Dst: EVP_aes_128_ocb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3394,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3398,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3407,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3384,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3412,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3413,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3355,1
    - Dst: EVP_aes_128_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3380,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3409,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3412,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3414,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3418,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3422,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3429,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3426,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3422,1
    - Dst: EVP_aes_128_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3371,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3410,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3410,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3423,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3435,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3437,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3423,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3337,1
    - Dst: EVP_aes_128_cfb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3361,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3375,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3408,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3409,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3408,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3413,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3414,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3416,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3417,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 102
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3439
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3439
    functionName: test_evp_iv_aes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_updated_iv
    - TEST_skip
    - EVP_aes_128_ofb
    - EVP_CIPHER_CTX_new
    - EVP_EncryptInit_ex
    - TEST_mem_eq
    - EVP_aes_128_gcm
    - EVP_CIPHER_free
    - EVP_aes_128_ccm
    - TEST_true
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_aes_128_cfb
    - EVP_CIPHER_CTX_free
    - EVP_aes_128_cbc
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_aes_128_ocb
    - TEST_ptr
    - EVP_CIPHER_fetch
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_iv_aes(int idx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:787,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:830,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:835,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:858,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:861,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:855,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:876,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:882,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:795,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:797,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:868,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:879,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:842,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:820,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:788,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:794,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:796,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:865,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:838,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:800,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:813,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:815,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:873,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:796,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:851,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:790,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:794,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:815,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:817,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:865,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:875,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:814,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:864,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:825,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:808,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:841,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:816,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:836,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:859,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:834,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:786,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:799,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:803,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:821,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:816,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:829,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:855,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:836,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:838,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:864,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:837,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:861,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:835,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:789,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:800,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:813,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:846,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:856,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:878,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:824,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:857,1
    - Dst: make_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:842,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:820,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:788,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:797,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:881,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:790,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:804,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:814,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:837,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:856,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:850,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:880,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:789,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:859,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:857,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:834,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:786,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:799,1
    - Dst: test_selection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:809,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:858,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:821,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:874,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:845,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:841,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:817,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:787,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:795,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:877,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:883,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 179
    argCount: 1
    argNames:
    - keytype
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 886
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 886
    functionName: test_EVP_PKEY_ffc_priv_pub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - make_key_fromdata
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - TEST_true
    - BN_new
    - EVP_PKEY_free
    - BN_free
    - OSSL_PARAM_BLD_new
    - test_selection
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKEY_ffc_priv_pub(char *keytype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_md_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 4718
      start: 4708
    functionDepth: 0
    functionLinenumber: 4708
    functionLinenumberEnd: 4718
    functionName: custom_md_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_md_data
    linkageType: ''
    returnType: int
    signature: 'static int custom_md_cleanup(EVP_MD_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4486,1
    - Dst: pctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 4494
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4494
    functionName: custom_pmeth_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_get_ctrl
    - pctrl
    linkageType: ''
    returnType: int
    signature: 'static int custom_pmeth_ctrl(EVP_PKEY_CTX *ctx, int type, int p1,
      void *p2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4739,1
    - Dst: EVP_MD_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4747,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4759,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4760,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4762,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4764,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4743,1
    - Dst: EVP_MD_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4742,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4746,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4748,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4760,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4761,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4761,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4735,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4740,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4747,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4759,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4762,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4770,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4746,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4752,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4753,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4760,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4761,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4748,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4763,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4769,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4772
      start: 4720
    functionDepth: 0
    functionLinenumber: 4720
    functionLinenumberEnd: 4772
    functionName: test_custom_md_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_meth_new
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_skip
    - EVP_MD_meth_set_init
    - TEST_true
    - EVP_MD_meth_set_cleanup
    - TEST_int_ne
    - EVP_MD_meth_set_app_datasize
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_sha256
    - EVP_MD_meth_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - OBJ_create
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_custom_md_meth(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4314,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4321,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4314,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4317,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4317,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4321,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4324,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4324,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4328,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4330,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4339,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4333,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4330,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4336,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4334,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4343,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4344,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4334,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4346
      start: 4300
    functionDepth: 0
    functionLinenumber: 4300
    functionLinenumberEnd: 4346
    functionName: test_ivlen_change
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - ERR_set_mark
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - TEST_false
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'static int test_ivlen_change(int idx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4506,1
    - Dst: load_example_ed25519_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4544,1
    - Dst: load_example_dsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4525,1
    - Dst: load_example_x25519_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4564,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4570,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4584,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4590,1
    - Dst: EVP_PKEY_meth_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4598,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4602,1
    - Dst: EVP_PKEY_meth_add0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4620,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4650,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4639,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4653,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4654,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4626,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4634,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4630,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4633,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4641,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4642,1
    - Dst: load_example_ec_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4534,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4519,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4578,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4589,1
    - Dst: evp_pkey_is_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4594,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4599,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4603,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4604,1
    - Dst: EVP_PKEY_meth_set_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4612,1
    - Dst: EVP_PKEY_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4619,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4646,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4632,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4640,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4624,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4664,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4632,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4650,1
    - Dst: load_example_dh_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4554,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4574,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4594,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4585,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4604,1
    - Dst: EVP_PKEY_meth_set_digestsign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4608,1
    - Dst: EVP_PKEY_meth_set_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4610,1
    - Dst: EVP_PKEY_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4615,1
    - Dst: EVP_PKEY_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4616,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4626,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4653,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4665,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4662,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4627,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4642,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4627,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4654,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4589,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4578,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4593,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4598,1
    - Dst: EVP_PKEY_meth_set_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4617,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4620,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4625,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4634,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4637,1
    - Dst: EVP_PKEY_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4638,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4643,1
    - Dst: EVP_PKEY_meth_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4666,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4631,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4633,1
    - Dst: EVP_PKEY_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4667,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4643,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4661,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4631,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 163
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4670
      start: 4496
    functionDepth: 0
    functionLinenumber: 4496
    functionLinenumberEnd: 4670
    functionName: test_custom_pmeth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_meth_remove
    - EVP_PKEY_derive
    - load_example_ec_key
    - EVP_PKEY_meth_get0_info
    - EVP_PKEY_CTX_free
    - TEST_error
    - EVP_PKEY_derive_init
    - OPENSSL_malloc
    - EVP_PKEY_size
    - EVP_DigestUpdate
    - evp_pkey_is_provided
    - EVP_MD_CTX_new
    - EVP_PKEY_meth_add0
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_meth_set_init
    - EVP_DigestSign
    - EVP_sha256
    - load_example_x25519_key
    - TEST_int_ge
    - EVP_DigestSignFinal
    - EVP_PKEY_meth_find
    - EVP_PKEY_meth_set_digestsign
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_meth_free
    - EVP_PKEY_CTX_ctrl
    - EVP_DigestSignInit
    - TEST_int_eq
    - EVP_PKEY_meth_set_ctrl
    - load_example_ed25519_key
    - EVP_PKEY_CTX_new
    - EVP_PKEY_new
    - EVP_PKEY_meth_set_derive
    - evp_pkey_copy_downgraded
    - load_example_dh_key
    - load_example_rsa_key
    - EVP_PKEY_meth_set_sign
    - evp_pkey_is_legacy
    - EVP_PKEY_meth_new
    - EVP_PKEY_meth_set_cleanup
    - TEST_ptr
    - EVP_MD_CTX_free
    - EVP_PKEY_meth_set_copy
    - load_example_dsa_key
    linkageType: ''
    returnType: int
    signature: 'static int test_custom_pmeth(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 4803
      start: 4793
    functionDepth: 0
    functionLinenumber: 4793
    functionLinenumberEnd: 4803
    functionName: custom_ciph_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    linkageType: ''
    returnType: int
    signature: 'static int custom_ciph_cleanup(EVP_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:609,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:613,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - keytype
    - data
    - data_len
    argTypes:
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 616
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 616
    functionName: load_example_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    - OSSL_DECODER_CTX_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_key(const char *keytype, const unsigned
      char *data, size_t data_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4674,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4674,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4678,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4675,1
    - Dst: EVP_CIPHER_meth_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4675,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4678,1
    - Dst: EVP_MD_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4684,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4688
      start: 4672
    functionDepth: 0
    functionLinenumber: 4672
    functionLinenumberEnd: 4688
    functionName: test_evp_md_cipher_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_meth_dup
    - EVP_CIPHER_meth_dup
    - TEST_ptr
    - EVP_MD_meth_free
    - EVP_CIPHER_meth_free
    - EVP_sha256
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: 'static int test_evp_md_cipher_meth(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4829,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4830,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4845,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4851,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4822,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4828,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4831,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4836,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4842,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4835,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4843,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4846,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4829,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4830,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4817,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4824,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4825,1
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4821,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4828,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4842,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4843,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4831,1
    - Dst: EVP_aes_128_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4843,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:4852,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4854
      start: 4805
    functionDepth: 0
    functionLinenumber: 4805
    functionLinenumberEnd: 4854
    functionName: test_custom_ciph_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_meth_new
    - EVP_CipherInit_ex
    - TEST_ptr
    - TEST_skip
    - TEST_int_eq
    - TEST_true
    - EVP_CIPHER_CTX_free
    - TEST_int_ne
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_init
    - OBJ_create
    - EVP_aes_128_cbc
    - EVP_CIPHER_meth_set_cleanup
    linkageType: ''
    returnType: int
    signature: 'static int test_custom_ciph_meth(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5389,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5397,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5411,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5433,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5466,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5468,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5457,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5458,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5422,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5488,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5504,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5481,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5477,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5427,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5376,1
    - Dst: EVP_PKEY_meth_add0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5419,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5477,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5471,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5481,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5375,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5393,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5495,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5511,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5413,1
    - Dst: EVP_PKEY_meth_set_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5416,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5430,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5440,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5471,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5387,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5398,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5446,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5402,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5414,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5419,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5422,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5441,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5480,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5474,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5426,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5480,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5405,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5486,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5424,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5448,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5476,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5497,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5499,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5507,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5361,1
    - Dst: EVP_PKEY_meth_set_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5417,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5428,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5507,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5452,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5460,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5436,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5398,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5392,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5408,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5479,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5476,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5487,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5479,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5411,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5443,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5357,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5362,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5370,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5385,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5400,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5399,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5409,1
    - Dst: EVP_PKEY_meth_set_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5418,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5437,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5454,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5461,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5483,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5489,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5374,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5386,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5439,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5483,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5504,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5513,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5431,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5478,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5405,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5482,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5432,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5469,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5391,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5395,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5463,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:5478,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 116
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 5517
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5517
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_meth_new
    - TEST_ptr
    - ADD_TEST
    - ADD_ALL_TESTS
    - EVP_PKEY_meth_set_check
    - TEST_int_eq
    - EVP_PKEY_meth_add0
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_add_builtin
    - OSSL_NELEM
    - opt_next
    - EVP_PKEY_meth_set_public_check
    - EVP_PKEY_meth_set_param_check
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1084,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1098,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1104,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1112,1
    - Dst: EVP_PKEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1121,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1133,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1091,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1115,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1125,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1136,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1094,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1095,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1098,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1112,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1105,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1135,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1084,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1087,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1088,1
    - Dst: EC_KEY_set_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1091,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1124,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1124,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1121,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1134,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1139
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1139
    functionName: test_EC_priv_only_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_PKEY_assign_EC_KEY
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_PKEY_dup
    - TEST_int_eq
    - EC_KEY_set_private_key
    - EVP_PKEY_eq
    - EVP_PKEY_free
    - EVP_PKEY_new
    - BN_bin2bn
    - BN_free
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: 'static int test_EC_priv_only_legacy(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_EVP_PKEY_ffc_priv_pub
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3083
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3083
    functionName: test_DH_priv_pub
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - test_EVP_PKEY_ffc_priv_pub
    linkageType: ''
    returnType: int
    signature: 'static int test_DH_priv_pub(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1813,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1826,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1818,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1812,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1813,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1814,1
    - Dst: i2d_PKCS8PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1814,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1817,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1817,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1829,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1812,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1820,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1828,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1819,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1820,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1812,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1818,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1827,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1819,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1831
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1831
    functionName: test_EVP_PKCS82PKEY_wrong_tag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - i2d_PKCS8PrivateKey_bio
    - BIO_get_mem_data
    - PKCS8_PRIV_KEY_INFO_free
    - BIO_free_all
    - BIO_new
    - TEST_ptr
    - d2i_PKCS8_PRIV_KEY_INFO_bio
    - TEST_int_eq
    - EVP_PKEY_free
    - TEST_int_gt
    - BIO_s_mem
    - ERR_peek_last_error
    - load_example_rsa_key
    - EVP_PKCS82PKEY
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKCS82PKEY_wrong_tag(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2357
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2357
    functionName: pkey_custom_param_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pkey_custom_param_check(EVP_PKEY *pkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3654,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3656,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3655,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3657,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3656,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3657,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3658,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3658,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3659,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_keygen_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3659,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3660,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3663,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3664,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3660,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3662,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3666
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3666
    functionName: test_EVP_rsa_pss_with_keygen_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_set_rsa_pss_keygen_md
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_rsa_pss_with_keygen_bits(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1761,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1766,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1764,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1768
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1768
    functionName: test_invalide_ec_char2_pub_range_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_example_key
    - EVP_PKEY_free
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: 'static int test_invalide_ec_char2_pub_range_decode(int id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2887,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2888,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2889,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2893,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2894,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2901,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2901,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2912,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2916,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2887,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2891,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2897,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2895,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2915,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2890,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2891,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2894,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2893,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2897,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2905,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2914,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2889,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2888,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2890,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2900,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2895,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2900,1
    - Dst: test_EVP_PKEY_CTX_get_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2908,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2911,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2913,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2917,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2920
      start: 2874
    functionDepth: 0
    functionLinenumber: 2874
    functionLinenumberEnd: 2920
    functionName: test_RSA_get_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - test_EVP_PKEY_CTX_get_set_params
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_true
    - BN_new
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_fromdata
    - BN_free
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int test_RSA_get_set_params(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2563,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2569,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2567,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2563,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2569,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2570,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2570,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2570,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2571,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2571,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2573,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2575,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2577,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2584,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2578,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2575,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2573,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2587
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2587
    functionName: test_emptyikm_HKDF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_mem_eq
    - TEST_ptr
    - EVP_PKEY_CTX_set1_hkdf_salt
    - TEST_int_gt
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_sha256
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_emptyikm_HKDF(void) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1376,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1384,1
    - Dst: BIO_f_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1385,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1386,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1389,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1389,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1393,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1402,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1393,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1409,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1501,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1485,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1440,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1501,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1512,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1518,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1502,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1482,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1513,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1519,1
    - Dst: load_example_dsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1402,1
    - Dst: load_example_hmac_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1409,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1414,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1416,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1418,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1421,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1436,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1456,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1461,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1473,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1472,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1473,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1517,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1477,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1505,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1472,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1500,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1384,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1385,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1386,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1388,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1398,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1428,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1434,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1455,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1462,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1477,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1493,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1500,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1502,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1462,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1514,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1455,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1485,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1482,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1489,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1436,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1489,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1392,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1398,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1392,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1418,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1421,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1425,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1428,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1434,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1440,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1450,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1450,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1461,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1456,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1515,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1493,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1516,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 178
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1522
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1522
    functionName: test_EVP_DigestSignInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - TEST_skip
    - EVP_PKEY_free
    - EVP_DigestVerifyFinal
    - BIO_f_md
    - BIO_s_mem
    - BIO_new
    - OPENSSL_malloc
    - BIO_get_md_ctx
    - load_example_hmac_key
    - TEST_mem_eq
    - EVP_MD_CTX_new
    - OPENSSL_free
    - TEST_true
    - EVP_DigestSign
    - EVP_sha256
    - EVP_DigestSignFinal
    - TEST_false
    - EVP_MD_free
    - EVP_DigestSignInit
    - EVP_DigestVerifyInit
    - BIO_reset
    - load_example_rsa_key
    - EVP_MD_fetch
    - EVP_MD_CTX_free
    - TEST_ptr
    - BIO_write_ex
    - EVP_DigestVerifyUpdate
    - TEST_int_gt
    - EVP_DigestSignUpdate
    - BIO_push
    - load_example_dsa_key
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_DigestSignInit(int tst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1842,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1842,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1843,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1842,1
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1843,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1844,1
    - Dst: i2d_PKCS8PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1844,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1847,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1847,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1848,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1849,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1855,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1862,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1855,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1863,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1865
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1865
    functionName: test_privatekey_to_pkcs8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - i2d_PKCS8PrivateKey_bio
    - BIO_get_mem_data
    - BIO_free_all
    - TEST_mem_eq
    - BIO_new
    - TEST_ptr
    - EVP_PKEY_free
    - PEM_write_bio_PKCS8PrivateKey
    - TEST_int_gt
    - BIO_s_mem
    - load_example_rsa_key
    linkageType: ''
    returnType: int
    signature: 'static int test_privatekey_to_pkcs8(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_example_rsa_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1534,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1537,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1546,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1545,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1539,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1533,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1538,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1539,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1544,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1545,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1553,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1531,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1533,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1537,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1538,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1552,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1534,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1537,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1544,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1546,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1555
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1555
    functionName: test_EVP_DigestVerifyInit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_skip
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_PKEY_free
    - EVP_DigestVerifyFinal
    - EVP_DigestVerifyInit
    - TEST_int_gt
    - EVP_sha256
    - load_example_rsa_key
    - EVP_DigestVerifyUpdate
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_DigestVerifyInit(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2604,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2610,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2604,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2608,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2610,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2611,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2611,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2611,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2612,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2612,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2614,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2618,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2616,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2614,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2616,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2625,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2618,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:2619,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2628
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2628
    functionName: test_empty_salt_info_HKDF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_mem_eq
    - TEST_ptr
    - EVP_PKEY_CTX_set1_hkdf_salt
    - TEST_int_gt
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_sha256
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_empty_salt_info_HKDF(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 629
    functionName: load_example_dsa_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_example_dsa_key(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3096,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3098,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3099,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3100,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3104,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3103,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3101,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3105,1
    - Dst: DH_get_2048_256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3110,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3111,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3112,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3142,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3148,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3143,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3097,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3098,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3102,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3106,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3115,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3121,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3125,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3130,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3113,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3117,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3097,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3099,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3100,1
    - Dst: DH_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3103,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3104,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3101,1
    - Dst: DH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3102,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3114,1
    - Dst: DH_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3117,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3122,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3131,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3147,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3127,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3131,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3096,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3121,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3125,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3130,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3134,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3137,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3144,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3145,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3116,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:3146,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3151
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3151
    functionName: test_EVP_PKEY_set1_DH
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - DH_get_2048_256
    - TEST_size_t_ne
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - BN_new
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_free
    - DH_set0_key
    - BN_set_word
    - EVP_PKEY_new
    - EVP_PKEY_set1_DH
    - BN_free
    - DH_new
    - DH_free
    - DH_set0_pqg
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_PKEY_set1_DH(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1576,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1577,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1575,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1584,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1597,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1593,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1591,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1577,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1581,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1586,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1595,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1586,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1573,1
    - Dst: EVP_MD_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1581,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1584,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1591,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1593,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1603,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1595,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c:1602,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1605
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1605
    functionName: test_siphash_digestsign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_extra_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit
    - TEST_mem_eq
    - EVP_MD_CTX_free
    - TEST_ptr
    - TEST_skip
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_new_raw_private_key
    - EVP_DigestSignUpdate
    - EVP_MD_CTX_create
    - EVP_DigestSignFinal
    - EVP_PKEY_CTX_ctrl
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_siphash_digestsign(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:22,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:22,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:23,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:23,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: test_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - SSL_CTX_get_max_proto_version
    - SSL_CTX_get_min_proto_version
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int test_func(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: global_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c
    functionUses: []
    functionsReached:
    - OPENSSL_init_ssl
    linkageType: ''
    returnType: int
    signature: 'int global_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:40,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:40,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:42,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sysdefaulttest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - SSL_CTX_new
    - ADD_TEST
    - TLS_method
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:30,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:41,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:50,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:51,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:49,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:79,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:76,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:39,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:40,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:43,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:45,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:59,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:62,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:66,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:68,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:71,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:30,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:30,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:41,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:62,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:66,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:77,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:30,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:39,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:40,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:43,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:45,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:56,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:78,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:71,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:71,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 82
    functionName: test_fatalerr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c
    functionUses: []
    functionsReached:
    - SSL_get_wbio
    - TEST_error
    - TLS_method
    - SSL_write
    - BIO_write
    - TEST_int_le
    - TEST_true
    - create_ssl_objects
    - TEST_false
    - SSL_CTX_set_cipher_list
    - ERR_clear_error
    - create_ssl_connection
    - SSL_CTX_free
    - printf
    - strlen
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_read
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: 'static int test_fatalerr(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:88,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:94,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:93,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:93,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:89,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:94,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fatalerrtest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - TEST_ptr
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:69,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:70,1
    - Dst: SSL_alloc_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:91,1
    - Dst: SSL_alloc_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:94,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:126,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:137,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:63,1
    - Dst: SSL_free_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:89,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:123,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:108,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:99,1
    - Dst: SSL_free_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:96,1
    - Dst: SSL_alloc_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:128,1
    - Dst: SSL_free_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:130,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:156,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:69,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:91,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:94,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:104,1
    - Dst: SSL_free_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:126,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:146,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:153,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:155,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:65,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:63,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:89,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:96,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:113,1
    - Dst: SSL_free_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:123,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:128,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:130,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:133,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:141,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 105
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 159
    functionName: test_func
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c
    functionUses: []
    functionsReached:
    - SSL_write
    - SSL_free
    - TEST_mem_eq
    - SSL_read
    - create_ssl_connection
    - TEST_true
    - ERR_print_errors_fp
    - create_ssl_objects
    - SSL_free_buffers
    - TEST_error
    - SSL_alloc_buffers
    - TEST_size_t_eq
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: 'static int test_func(int test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:354,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c
    functionUses: []
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:203,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:228,1
    - Dst: BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:237,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:276,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:287,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:294,1
    - Dst: ENGINE_unregister_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:313,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:314,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:191,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:196,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:212,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:226,1
    - Dst: TEST_size_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:238,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:285,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:287,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:304,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:310,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:309,1
    - Dst: SSL_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:197,1
    - Dst: SSL_set_max_pipelines
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:199,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:212,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:236,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:203,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:228,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:229,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:237,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:239,1
    - Dst: BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:276,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:294,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:315,1
    - Dst: load_dasync
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:185,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:191,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:196,1
    - Dst: SSL_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:212,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:285,1
    - Dst: SSL_free_buffers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:304,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 92
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 319
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 319
    functionName: test_free_buffers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c
    functionUses: []
    functionsReached:
    - SSL_write_ex
    - TEST_size_t_lt
    - TEST_error
    - BIO_read_ex
    - SSL_set_cipher_list
    - TEST_true
    - ENGINE_finish
    - create_ssl_objects
    - SSL_free_buffers
    - SSL_set_max_proto_version
    - TEST_false
    - ENGINE_unregister_ciphers
    - create_ssl_connection
    - TEST_int_eq
    - SSL_get_rbio
    - ENGINE_free
    - TEST_size_t_gt
    - SSL_set_max_pipelines
    - strlen
    - SSL_free
    - BIO_write_ex
    - load_dasync
    - SSL_read_ex
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_free_buffers(int test) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:327,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:332,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:333,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:332,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:328,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:333,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:336,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:336,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:336,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:339,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:347,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:343,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 350
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 350
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslbuffertest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_error
    - TLS_client_method
    - TLS_server_method
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:24,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:22,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:33,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:34,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:59,1
    - Dst: CRYPTO_secure_malloc_initialized
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:63,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:69,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:70,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:68,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:73,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:116,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:129,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:62,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:54,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:123,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:25,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:30,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:31,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:36,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:40,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:41,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:44,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:50,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:52,1
    - Dst: CRYPTO_secure_used
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:52,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:74,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:76,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:77,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:83,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:85,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:126,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:131,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:83,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:27,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:29,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:47,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:48,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:63,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:65,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:69,1
    - Dst: CRYPTO_secure_malloc_initialized
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:70,1
    - Dst: CRYPTO_secure_used
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:57,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:74,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:84,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:115,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:116,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:124,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:85,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:62,1
    - Dst: CRYPTO_secure_malloc_initialized
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:84,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:115,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:57,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:114,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:20,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:25,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:30,1
    - Dst: CRYPTO_secure_used
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:38,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:36,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:31,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:38,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:44,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:46,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:50,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:131,1
    - Dst: CRYPTO_secure_used
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:68,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:125,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:76,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:77,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 116
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 133
    functionName: test_sec_mem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c
    functionUses: []
    functionsReached:
    - CRYPTO_secure_malloc_init
    - CRYPTO_secure_malloc_initialized
    - TEST_ptr
    - OPENSSL_free
    - CRYPTO_secure_malloc_done
    - TEST_true
    - CRYPTO_secure_used
    - TEST_info
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    - CRYPTO_secure_allocated
    - TEST_ptr_null
    - TEST_false
    - TEST_size_t_eq
    - OPENSSL_secure_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int test_sec_mem(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:179,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:142,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:147,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:142,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:143,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:143,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:153,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:163,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:169,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c:170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 175
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 175
    functionName: test_sec_mem_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/secmemtest.c
    functionUses: []
    functionsReached:
    - CRYPTO_secure_malloc_init
    - TEST_ptr
    - TEST_true
    - TEST_uchar_eq
    - OPENSSL_secure_malloc
    - CRYPTO_secure_malloc_done
    - OPENSSL_secure_free
    linkageType: ''
    returnType: int
    signature: 'static int test_sec_mem_clear(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:27,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CMP_ASN_TEST_FIXTURE*
    signature: 'static CMP_ASN_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:86,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:86,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_ASN_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: execute_CMP_ASN1_OCTET_STRING_set1_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - TEST_int_eq
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'static int execute_CMP_ASN1_OCTET_STRING_set1_test(CMP_ASN_TEST_FIXTURE
      * fixture) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:45,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:49,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:52,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:52,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:53,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:56,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:56,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:61,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:61,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:63,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:63,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_ASN_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: execute_cmp_asn1_get_int_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - ASN1_INTEGER_set_int64
    - ossl_cmp_asn1_get_int
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'static int execute_cmp_asn1_get_int_test(CMP_ASN_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:108,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:112,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:110,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:110,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:114,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: test_ASN1_OCTET_STRING_set_tgt_is_src
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ASN1_OCTET_STRING_new
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: int
    signature: 'static int test_ASN1_OCTET_STRING_set_tgt_is_src(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:72,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: test_cmp_asn1_get_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_asn1_get_int(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:35,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:39,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_ASN_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_ASN_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:93,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:95,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:95,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:97,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:97,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:99,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: test_ASN1_OCTET_STRING_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ASN1_OCTET_STRING_new
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: int
    signature: 'static int test_ASN1_OCTET_STRING_set(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:129,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:131,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:133,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_asn_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:18,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:21,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:22,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:23,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:25,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - name
    - cnf
    argTypes:
    - char*
    - CONF*
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: dump_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c
    functionUses: []
    functionsReached:
    - NCONF_get_section
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void dump_section(const char *name, const CONF *cnf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:32,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:34,1
    - Dst: NCONF_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:32,1
    - Dst: NCONF_get_section_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:39,1
    - Dst: NCONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:36,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:40,1
    - Dst: dump_section
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:41,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:41,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:43,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:46,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/confdump.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - NCONF_get_section_names
    - sk_OPENSSL_CSTRING_num
    - ERR_print_errors_fp
    - NCONF_load
    - sk_OPENSSL_CSTRING_value
    - NCONF_default
    - dump_section
    - sk_OPENSSL_CSTRING_free
    - NCONF_new
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c:164,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c:165,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c:175,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c:167,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: test_cha_cha_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c
    functionUses: []
    functionsReached:
    - ChaCha20_ctr32
    - memcpy
    - TEST_uchar_eq
    - TEST_info
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_cha_cha_internal(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cpuid_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c:184,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/chacha_internal_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_cpuid_setup
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: int_doall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached:
    - int_find
    linkageType: ''
    returnType: void
    signature: 'static void int_doall(int *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: int_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int int_cmp(const int *p, const int *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: stress_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long int
    signature: 'static unsigned long int stress_hash(const int *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: int_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long int
    signature: 'static unsigned long int int_hash(const int *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - p
    - f
    argTypes:
    - int*
    - short*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: int_doall_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached:
    - int_find
    linkageType: ''
    returnType: void
    signature: 'static void int_doall_arg(int *p, short *f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: int_find
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int int_find(int n) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:92,1
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:93,1
    - Dst: lh_int_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:93,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:108,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:118,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:144,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:166,1
    - Dst: lh_int_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:178,1
    - Dst: lh_int_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:102,1
    - Dst: lh_int_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:123,1
    - Dst: lh_int_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:128,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:130,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:132,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:136,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:173,1
    - Dst: lh_int_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:173,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:154,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:103,1
    - Dst: lh_int_num_items
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:108,1
    - Dst: lh_int_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:118,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:128,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:139,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:150,1
    - Dst: lh_int_doall_short
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:152,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:153,1
    - Dst: lh_int_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:165,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:167,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:159,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:102,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:97,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:113,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:123,1
    - Dst: lh_int_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:113,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:119,1
    - Dst: lh_int_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:132,1
    - Dst: lh_int_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:138,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:140,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:145,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 94
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 180
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 180
    functionName: test_int_lhash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached:
    - lh_int_delete
    - lh_int_num_items
    - TEST_ptr
    - TEST_int_eq
    - lh_int_doall_short
    - TEST_info
    - lh_int_new
    - lh_int_free
    - OSSL_NELEM
    - TEST_ptr_null
    - lh_int_retrieve
    - TEST_ptr_eq
    - lh_int_error
    - lh_int_insert
    - lh_int_doall
    - LHASH_OF
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_int_lhash(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:194,1
    - Dst: lh_int_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:205,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:209,1
    - Dst: lh_int_num_items
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:209,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:221,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:226,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:232,1
    - Dst: OPENSSL_LH_stats_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:213,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:214,1
    - Dst: OPENSSL_LH_stats_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:233,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:234,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:201,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:222,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:229,1
    - Dst: lh_int_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:189,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:200,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:212,1
    - Dst: OPENSSL_LH_node_usage_stats_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:215,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:225,1
    - Dst: lh_int_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:221,1
    - Dst: OPENSSL_LH_node_usage_stats_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:235,1
    - Dst: lh_int_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 241
    functionName: test_stress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached:
    - lh_int_delete
    - OPENSSL_LH_node_usage_stats_bio
    - lh_int_num_items
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_info
    - lh_int_new
    - lh_int_free
    - OPENSSL_LH_stats_bio
    - lh_int_insert
    - OPENSSL_malloc
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_stress(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:245,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/lhash_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:81,1
    - Dst: OSSL_PROVIDER_query_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: filter_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_query_operation
    - get_globals
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *filter_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:64,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: filter_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_get_params
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'static int filter_get_params(void *provctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:115,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:117,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:119,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: filter_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - memset
    - OSSL_PROVIDER_unload
    - get_globals
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void filter_teardown(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:138,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:147,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:143,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:139,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:152,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: filter_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - memset
    linkageType: ''
    returnType: int
    signature: 'int filter_provider_init(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH
      *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:234,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: filter_provider_check_clean_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - TEST_ulong_eq
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'int filter_provider_check_clean_finish(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: get_globals
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct filter_prov_globals_st*
    signature: 'static struct filter_prov_globals_st *get_globals(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:57,1
    - Dst: OSSL_PROVIDER_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: filter_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_gettable_params
    - get_globals
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *filter_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:72,1
    - Dst: OSSL_PROVIDER_get_capabilities
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - provctx
    - capability
    - cb
    - arg
    argTypes:
    - void*
    - char*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: filter_get_capabilities
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_get_capabilities
    - get_globals
    linkageType: ''
    returnType: int
    signature: 'static int filter_get_capabilities(void *provctx, const char *capability,
      OSSL_CALLBACK *cb, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:99,1
    - Dst: TEST_ulong_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:102,1
    - Dst: OSSL_PROVIDER_unquery_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - algs
    argTypes:
    - void*
    - int
    - OSSL_ALGORITHM*
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: filter_unquery
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - TEST_ulong_gt
    - OSSL_PROVIDER_unquery_operation
    - get_globals
    linkageType: ''
    returnType: void
    signature: 'static void filter_unquery(void *provctx, int operation_id, const
      OSSL_ALGORITHM *algs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:167,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:192,1
    - Dst: OSSL_PROVIDER_query_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:171,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:169,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:187,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:195,1
    - Dst: OSSL_PROVIDER_unquery_operation
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:223,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c:224,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 40
    argCount: 2
    argNames:
    - operation
    - filterstr
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 226
    functionName: filter_provider_set_filter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/filterprov.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OSSL_PROVIDER_query_operation
    - OPENSSL_free
    - OSSL_PROVIDER_unquery_operation
    - get_globals
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int filter_provider_set_filter(int operation, const char *filterstr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:31,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:34,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:35,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:34,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - nid
    - amask
    - idx
    - idxname
    argTypes:
    - int
    - uint32_t
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: do_test_cert_table
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c
    functionUses: []
    functionsReached:
    - OBJ_nid2sn
    - TEST_note
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int do_test_cert_table(int nid, uint32_t amask, size_t idx,
      const char *idxname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:45,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:47,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:45,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:48,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:46,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:49,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:51,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:53,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:55,1
    - Dst: test_cert_table
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c:56,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: test_ssl_cert_table
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_cert_table_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_size_t_eq
    - OSSL_NELEM
    - test_cert_table
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_cert_table(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:313,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:314,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:316,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:314,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:316,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:317,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:317,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:318,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:318,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:323,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:321,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:319,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:322,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 325
    functionName: test_dsa_default_paramgen_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_generate
    - EVP_PKEY_param_check
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    linkageType: ''
    returnType: int
    signature: 'static int test_dsa_default_paramgen_validate(int i) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - p
    - n
    - arg
    argTypes:
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: dsa_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c
    functionUses: []
    functionsReached:
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int dsa_cb(int p, int n, BN_GENCB *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:497,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:501,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:499,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:500,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:84,1
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:85,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:92,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:98,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:103,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:108,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:85,1
    - Dst: DSA_generate_parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:86,1
    - Dst: DSA_get0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:95,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:111,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:113,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:118,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:81,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:96,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:98,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:101,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:103,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:108,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:106,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:119,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:81,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:86,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:90,1
    - Dst: DSA_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:111,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:113,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:115,1
    - Dst: DSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:115,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 121
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 121
    functionName: dsa_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c
    functionUses: []
    functionsReached:
    - DSA_sign
    - BN_GENCB_new
    - TEST_mem_eq
    - TEST_ptr
    - TEST_int_eq
    - DSA_generate_key
    - TEST_true
    - DSA_generate_parameters_ex
    - BN_bn2bin
    - DSA_verify
    - TEST_int_gt
    - BN_GENCB_set
    - DSA_get0_pqg
    - BN_GENCB_free
    - DSA_free
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int dsa_test(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:353,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:354,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:355,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:356,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:357,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:361,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:362,1
    - Dst: DSA_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:366,1
    - Dst: DSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:374,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:382,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:391,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:388,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:355,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:354,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:356,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:357,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:358,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:370,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:374,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:378,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:379,1
    - Dst: DSA_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:398,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:408,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:401,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:359,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:358,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:362,1
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:363,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:366,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:382,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:383,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:388,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:391,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:395,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:410,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:409,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:353,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:360,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:361,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:359,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:363,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:370,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:378,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:398,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:407,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:411,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:413,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:414,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:406,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:384,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:412,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:395,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:401,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 110
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 416
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 416
    functionName: test_dsa_sig_infinite_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c
    functionUses: []
    functionsReached:
    - DSA_size
    - DSA_sign
    - TEST_int_le
    - DSA_set0_pqg
    - TEST_ptr
    - DSA_set0_key
    - BN_new
    - TEST_true
    - TEST_int_gt
    - BN_set_word
    - BN_dup
    - BN_bin2bn
    - BN_free
    - TEST_false
    - DSA_free
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int test_dsa_sig_infinite_loop(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:245,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:248,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:248,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:249,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:253,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:254,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:255,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:256,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_md_props
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:258,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:260,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:297,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:285,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:269,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:266,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:295,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:286,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:301,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:271,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:296,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:302,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:263,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:245,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:243,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:251,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:268,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:270,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:279,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:282,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:293,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:262,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:278,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:298,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:262,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:279,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:281,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:299,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:267,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:243,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:244,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:247,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:249,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:254,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:255,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:258,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:260,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:261,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:286,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:282,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:272,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:266,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:244,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:247,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:251,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:250,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:256,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:270,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:275,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:272,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:294,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:263,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:300,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 136
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 304
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 304
    functionName: dsa_keygen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_set_dsa_paramgen_type
    - TEST_mem_eq
    - TEST_true
    - EVP_PKEY_CTX_set_dsa_paramgen_seed
    - EVP_PKEY_CTX_set_dsa_paramgen_md_props
    - EVP_PKEY_CTX_gettable_params
    - BN_bin2bn
    - TEST_ptr_null
    - TEST_false
    - TEST_BN_eq
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - TEST_int_eq
    - EVP_PKEY_get_bn_param
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_settable_params
    - EVP_PKEY_get_octet_string_param
    - TEST_int_gt
    - OSSL_PARAM_locate_const
    - BN_free
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'static int dsa_keygen_test(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:447,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:459,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:469,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:475,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:480,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:488,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:484,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:442,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:450,1
    - Dst: DSA_set0_pqg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:450,1
    - Dst: DSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:454,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:464,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:468,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:474,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:481,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:485,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:486,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:442,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:443,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:444,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:445,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:446,1
    - Dst: DSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:459,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:463,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:467,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:469,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:473,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:475,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:443,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:444,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:445,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:446,1
    - Dst: DSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:447,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:454,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:458,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:462,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:464,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c:472,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 490
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 490
    functionName: test_dsa_sig_neg_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/dsatest.c
    functionUses: []
    functionsReached:
    - DSA_sign
    - DSA_set0_pqg
    - TEST_ptr
    - BN_set_negative
    - DSA_set0_key
    - TEST_true
    - BN_free
    - BN_bin2bn
    - TEST_false
    - DSA_free
    - DSA_new
    linkageType: ''
    returnType: int
    signature: 'static int test_dsa_sig_neg_param(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:33,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:35,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:36,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:45,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:26,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:27,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:28,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:46,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:28,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:34,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:42,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:43,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:36,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:25,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:25,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:27,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:33,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:37,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:44,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 48
    functionName: template_public_single_zero_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - TEST_str_eq
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - BN_new
    - TEST_uint_eq
    - BN_free
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int template_public_single_zero_test(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:370,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:381,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:381,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:374,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:384,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:388,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:392,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:395,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:395,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:396,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:405,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:396,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:404,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:400,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 407
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 407
    functionName: builder_limit_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - OSSL_PARAM_BLD_push_int
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int builder_limit_test(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:143,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:160,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:164,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:175,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:187,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:206,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:170,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:109,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:110,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:161,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:131,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:155,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:171,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:193,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:200,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:141,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:190,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:208,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:130,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:147,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:157,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:115,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:162,1
    - Dst: OSSL_PARAM_BLD_push_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:113,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:182,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:191,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:196,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:107,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:142,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:146,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:167,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:174,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:196,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:108,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:140,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:139,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:116,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:192,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:209,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:211,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:135,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:164,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:165,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:109,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:144,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:198,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:151,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:168,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:204,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:210,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:102,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:103,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:104,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:105,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:111,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:153,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:147,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:178,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:158,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:107,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:116,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:139,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:169,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:163,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:187,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:171,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:160,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:140,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:176,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:193,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:213,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:207,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:108,1
    - Dst: TEST_double_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:179,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:188,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:124,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:156,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:113,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:167,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:177,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:181,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:190,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:199,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:200,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:153,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:134,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:150,1
    - Dst: TEST_time_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:172,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:183,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:184,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:194,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:212,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:154,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:101,1
    - Dst: OSSL_PARAM_BLD_push_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:102,1
    - Dst: OSSL_PARAM_BLD_push_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:103,1
    - Dst: OSSL_PARAM_BLD_push_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:104,1
    - Dst: OSSL_PARAM_BLD_push_double
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:105,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:106,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:111,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:174,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:186,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 277
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 215
    functionName: template_public_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_dup
    - OSSL_PARAM_BLD_push_int
    - TEST_time_t_eq
    - BN_set_word
    - OSSL_PARAM_BLD_push_long
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - OPENSSL_free
    - TEST_true
    - OSSL_PARAM_BLD_push_time_t
    - OSSL_PARAM_get_double
    - TEST_BN_eq
    - TEST_double_eq
    - OSSL_PARAM_BLD_push_utf8_ptr
    - OSSL_PARAM_free
    - OSSL_PARAM_get_int32
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_int64
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - OSSL_PARAM_merge
    - OSSL_PARAM_get_time_t
    - OSSL_PARAM_BLD_push_double
    - BN_new
    - TEST_uint_eq
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_utf8_ptr
    - OSSL_PARAM_BLD_push_int32
    - OSSL_PARAM_get_utf8_string
    - BN_free
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_BN
    - TEST_long_eq
    - TEST_size_t_eq
    - OSSL_PARAM_get_long
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int template_public_test(int tstid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:66,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:80,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:58,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:59,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:60,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:65,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:69,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:67,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:76,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:77,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:57,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:60,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:65,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:71,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:66,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:57,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:59,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:70,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:70,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:69,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:68,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:79,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: template_private_single_zero_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - BN_get_flags
    - TEST_str_eq
    - TEST_ptr
    - BN_secure_new
    - TEST_int_eq
    - TEST_true
    - TEST_uint_eq
    - OPENSSL_free
    - BN_free
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_new
    - CRYPTO_secure_allocated
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int template_private_single_zero_test(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:248,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:249,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:253,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:254,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:259,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:281,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:295,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:285,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:289,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:319,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:282,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:235,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:245,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:251,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:250,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:297,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:283,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:321,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:354,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:291,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:307,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:246,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:247,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:301,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:308,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:313,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:335,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:340,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:355,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:255,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:287,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:318,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:325,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:336,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:342,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:358,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:345,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:237,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:305,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:310,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:299,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:323,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:324,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:346,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:347,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:306,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:235,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:277,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:311,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:334,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:337,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:347,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:290,1
    - Dst: OSSL_PARAM_BLD_push_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:248,1
    - Dst: OSSL_PARAM_BLD_push_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:249,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:297,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:300,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:321,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:328,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:344,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:348,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:298,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:236,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:245,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:251,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:269,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:283,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:317,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:322,1
    - Dst: OSSL_PARAM_BLD_push_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:246,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:247,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:250,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:257,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:302,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:266,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:309,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:314,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:335,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:342,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:281,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:252,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:289,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:294,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:315,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:327,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:338,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:343,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:361,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:352,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:254,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:291,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:329,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:348,1
    - Dst: OPENSSL_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:357,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:306,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:282,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:292,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:313,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:316,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:330,1
    - Dst: BN_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:339,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:286,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:290,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:273,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:328,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:334,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:359,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:293,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:298,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:318,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:322,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:331,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:302,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:310,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:236,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:252,1
    - Dst: OSSL_PARAM_BLD_push_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:257,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:272,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:284,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:303,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:314,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:346,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:305,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:237,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:332,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:338,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:339,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:343,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:356,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:362,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:327,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 322
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 364
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 364
    functionName: template_private_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_ulong
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_dup
    - BN_set_word
    - TEST_ulong_eq
    - OSSL_PARAM_BLD_push_octet_ptr
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint64
    - TEST_str_eq
    - TEST_mem_eq
    - BN_secure_new
    - TEST_true
    - OPENSSL_secure_malloc
    - TEST_false
    - TEST_BN_eq
    - OSSL_PARAM_BLD_push_uint
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_ulong
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_uint64
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - BN_get_flags
    - OSSL_PARAM_BLD_push_size_t
    - TEST_ptr
    - OSSL_PARAM_merge
    - TEST_uint_eq
    - BN_free
    - OSSL_PARAM_locate
    - CRYPTO_secure_allocated
    - OSSL_PARAM_get_BN
    - TEST_size_t_eq
    - OPENSSL_secure_free
    - OSSL_PARAM_BLD_push_uint32
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int template_private_test(int tstid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:456,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:461,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:497,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:501,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:426,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:414,1
    - Dst: OSSL_PARAM_BLD_push_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:427,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:428,1
    - Dst: BN_secure_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:431,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:481,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:489,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:480,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:462,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:454,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:433,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:432,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:440,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:442,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:490,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:492,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:495,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:445,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:460,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:476,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:434,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:443,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:482,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:505,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:513,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:438,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:455,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:459,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:466,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:471,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:470,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:500,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:501,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:449,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:437,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:444,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:446,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:453,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:452,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:484,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:473,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:502,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:506,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:431,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:498,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:464,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:457,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:433,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:432,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:442,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:469,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:485,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:493,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:499,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:512,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:518,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:430,1
    - Dst: OSSL_PARAM_BLD_push_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:440,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:477,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:460,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:487,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:497,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:505,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:506,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:515,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:516,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:467,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:434,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:443,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:446,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:449,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:452,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:473,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:494,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:502,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:484,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:474,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:426,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:427,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:428,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:438,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:453,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:492,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:503,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:425,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:468,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:478,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:514,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:466,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:445,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:459,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:475,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:480,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:504,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:510,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:463,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:470,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:487,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:500,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:483,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:477,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:413,1
    - Dst: OSSL_PARAM_BLD_push_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:430,1
    - Dst: OSSL_PARAM_BLD_push_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:429,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:444,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:488,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:511,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:517,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 259
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 520
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 520
    functionName: builder_merge_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_ulong
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_BLD_free
    - BN_set_word
    - TEST_ulong_eq
    - OSSL_PARAM_BLD_push_octet_ptr
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint64
    - TEST_str_eq
    - TEST_mem_eq
    - BN_secure_new
    - TEST_true
    - OSSL_PARAM_BLD_push_uint
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_ulong
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_uint64
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_size_t
    - TEST_ptr
    - OSSL_PARAM_merge
    - BN_new
    - TEST_uint_eq
    - BN_free
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_BN
    - TEST_size_t_eq
    - OSSL_PARAM_BLD_push_uint32
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int builder_merge_test(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:524,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:527,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:528,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:525,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:529,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:531,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/param_build_test.c
    functionUses: []
    functionsReached:
    - CRYPTO_secure_malloc_init
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 0
    argNames:
    - SU
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: DEFINE_STACK_OF_CONST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_STACK_OF(SS)
    signature: 'DEFINE_STACK_OF(SS) DEFINE_STACK_OF_CONST(SU) static int int_compare(const
      int *const *a, const int *const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:259,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - SS*
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: SS_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: SS*
    signature: 'static SS *SS_copy(const SS *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned char**
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: uchar_compare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int uchar_compare(const unsigned char *const *a, const unsigned
      char *const *b) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:288,1
    - Dst: sk_SS_deep_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:297,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:306,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:314,1
    - Dst: sk_SS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:329,1
    - Dst: sk_SS_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:339,1
    - Dst: sk_SS_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:340,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:293,1
    - Dst: sk_SS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:293,1
    - Dst: sk_SS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:305,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:307,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:315,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:329,1
    - Dst: sk_SS_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:332,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:333,1
    - Dst: sk_SS_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:272,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:275,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:281,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:302,1
    - Dst: sk_SS_deep_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:301,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:310,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:326,1
    - Dst: SS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:328,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:332,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:283,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:287,1
    - Dst: sk_SS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:287,1
    - Dst: sk_SS_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:291,1
    - Dst: sk_SS_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:298,1
    - Dst: sk_SS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:300,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:311,1
    - Dst: sk_SS_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:321,1
    - Dst: sk_SS_delete_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:325,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 342
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 342
    functionName: test_SS_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached:
    - SS_free
    - sk_SS_free
    - sk_SS_value
    - sk_SS_new_null
    - sk_SS_pop_free
    - TEST_ptr
    - TEST_int_eq
    - sk_SS_delete_ptr
    - TEST_info
    - TEST_char_eq
    - sk_SS_num
    - OSSL_NELEM
    - sk_SS_push
    - TEST_ptr_eq
    - TEST_ptr_ne
    - OPENSSL_malloc
    - sk_SS_deep_copy
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int test_SS_stack(void) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sk_uchar_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:182,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:188,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:193,1
    - Dst: sk_uchar_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:193,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:218,1
    - Dst: sk_uchar_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:218,1
    - Dst: sk_uchar_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:223,1
    - Dst: sk_uchar_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:229,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:231,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:237,1
    - Dst: sk_uchar_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:253,1
    - Dst: sk_uchar_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:200,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:208,1
    - Dst: sk_uchar_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:198,1
    - Dst: sk_uchar_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:227,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:232,1
    - Dst: sk_uchar_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:239,1
    - Dst: sk_uchar_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:243,1
    - Dst: sk_uchar_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:245,1
    - Dst: sk_uchar_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:252,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:182,1
    - Dst: sk_uchar_unshift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:191,1
    - Dst: sk_uchar_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:197,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:202,1
    - Dst: sk_uchar_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:202,1
    - Dst: sk_uchar_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:204,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:209,1
    - Dst: sk_uchar_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:214,1
    - Dst: sk_uchar_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:228,1
    - Dst: sk_uchar_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:237,1
    - Dst: sk_uchar_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:177,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:187,1
    - Dst: sk_uchar_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:187,1
    - Dst: sk_uchar_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:201,1
    - Dst: sk_uchar_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:208,1
    - Dst: sk_uchar_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:222,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:223,1
    - Dst: sk_uchar_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:231,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:239,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:245,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:246,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 1
    argNames:
    - reserve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 255
    functionName: test_uchar_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached:
    - sk_uchar_free
    - sk_uchar_dup
    - sk_uchar_sort
    - sk_uchar_value
    - TEST_true
    - TEST_info
    - sk_uchar_set
    - TEST_ptr_null
    - sk_uchar_delete
    - TEST_int_eq
    - sk_uchar_pop
    - sk_uchar_reserve
    - TEST_ptr_eq
    - sk_uchar_unshift
    - sk_uchar_insert
    - sk_uchar_num
    - sk_uchar_zero
    - TEST_ptr
    - sk_uchar_new
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int test_uchar_stack(int reserve) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:104,1
    - Dst: sk_sint_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:113,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:114,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:131,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:140,1
    - Dst: sk_sint_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:147,1
    - Dst: sk_sint_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:140,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:148,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:158,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:56,1
    - Dst: sk_sint_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:82,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:87,1
    - Dst: sk_sint_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:96,1
    - Dst: sk_sint_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:98,1
    - Dst: sk_sint_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:103,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:98,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:124,1
    - Dst: sk_sint_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:134,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:69,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:82,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:92,1
    - Dst: sk_sint_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:92,1
    - Dst: sk_sint_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:124,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:125,1
    - Dst: sk_sint_is_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:131,1
    - Dst: sk_sint_set_cmp_func
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:152,1
    - Dst: sk_sint_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:158,1
    - Dst: sk_sint_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:163,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:141,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:153,1
    - Dst: sk_sint_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:87,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:103,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:93,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:113,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:135,1
    - Dst: sk_sint_is_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:135,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:147,1
    - Dst: sk_sint_find_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:152,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 1
    argNames:
    - reserve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 165
    functionName: test_int_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached:
    - sk_sint_find
    - sk_sint_find_ex
    - sk_sint_reserve
    - sk_sint_shift
    - sk_sint_push
    - STACK_OF
    - sk_sint_free
    - sk_sint_set_cmp_func
    - TEST_true
    - TEST_info
    - sk_sint_new_null
    - TEST_false
    - sk_sint_value
    - TEST_int_eq
    - sk_sint_num
    - sk_sint_sort
    - TEST_ptr_eq
    - TEST_ptr
    - OSSL_NELEM
    - sk_sint_is_sorted
    linkageType: ''
    returnType: int
    signature: 'static int test_int_stack(int reserve) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - SS*
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: SS_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void SS_free(SS *p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_SU_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:346,1
    - Dst: sk_SU_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:358,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:348,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:358,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:359,1
    - Dst: sk_SU_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:362,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:364,1
    - Dst: sk_SU_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:364,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:369,1
    - Dst: sk_SU_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:369,1
    - Dst: sk_SU_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:376,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:370,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 378
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 378
    functionName: test_SU_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached:
    - sk_SU_free
    - sk_SU_num
    - TEST_int_eq
    - sk_SU_value
    - TEST_info
    - sk_SU_push
    - OSSL_NELEM
    - TEST_ptr_eq
    - sk_SU_new_null
    linkageType: ''
    returnType: int
    signature: 'static int test_SU_stack(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:382,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:384,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:383,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/stack_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: set_cn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_cn1(X509 *crt, const char *name) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:285,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:286,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:290,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:287,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:292,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:295,1
    - Dst: X509_check_host
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:295,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:305,1
    - Dst: check_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:305,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:309,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:320,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:329,1
    - Dst: check_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:333,1
    - Dst: check_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:320,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:333,1
    - Dst: X509_check_email
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:325,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:335,1
    - Dst: X509_check_host
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:309,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 74
    argCount: 3
    argNames:
    - crt
    - nameincert
    - fn
    argTypes:
    - X509*
    - char*
    - struct set_name_fn*
    constantsTouched: []
    func_position:
      end: 339
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 339
    functionName: run_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strchr
    - memcpy
    - X509_check_host
    - TEST_true
    - check_message
    - X509_check_email
    - OPENSSL_free
    - OPENSSL_strcasecmp
    - TEST_int_ge
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int run_cert(X509 *crt, const char *nameincert, const struct
      set_name_fn *fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: set_cn_and_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_cn_and_email(X509 *crt, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:348,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:350,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:351,1
    - Dst: make_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:350,1
    - Dst: run_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:352,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: call_run_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - X509_free
    - TEST_ptr
    - run_cert
    - TEST_true
    - TEST_info
    - make_cert
    linkageType: ''
    returnType: int
    signature: 'static int call_run_cert(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: set_email3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_email3(X509 *crt, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_altname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: set_altname_dns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_altname
    linkageType: ''
    returnType: int
    signature: 'static int set_altname_dns(X509 *crt, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: set_email_and_cn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_email_and_cn(X509 *crt, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_altname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: set_altname_email
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_altname
    linkageType: ''
    returnType: int
    signature: 'static int set_altname_email(X509 *crt, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: set_cn2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_cn2(X509 *crt, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:253,1
    - Dst: X509_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:255,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:255,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:256,1
    - Dst: X509_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: make_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_new
    - X509_set_version
    - TEST_ptr
    - TEST_true
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *make_cert(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: is_exception
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int is_exception(const char *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: set_cn3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_cn3(X509 *crt, const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:269,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:274,1
    - Dst: is_exception
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 5
    argNames:
    - fn
    - op
    - nameincert
    - match
    - name
    argTypes:
    - struct set_name_fn*
    - char*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: check_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - TEST_error
    - BIO_snprintf
    - is_exception
    linkageType: ''
    returnType: int
    signature: 'static int check_message(const struct set_name_fn *fn, const char
      *op, const char *nameincert, int match, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:712,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:713,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 715
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 715
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:130,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:142,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:131,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:140,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:137,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:145,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:148,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:153,1
    - Dst: abort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:157,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:159,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:169,1
    - Dst: X509_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:162,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:166,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:167,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 1
    argNames:
    - crt
    - '...'
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 171
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 171
    functionName: set_altname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_new
    - ASN1_IA5STRING_free
    - va_start
    - sk_GENERAL_NAME_new_null
    - va_arg
    - GENERAL_NAME_free
    - GENERAL_NAME_set0_value
    - abort
    - ASN1_IA5STRING_new
    - ASN1_STRING_set
    - X509_add1_ext_i2d
    - va_end
    - GENERAL_NAMES_free
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: int
    signature: 'static int set_altname(X509 *crt, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:90,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:99,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:103,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:91,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:102,1
    - Dst: X509_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:107,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:111,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - crt
    - '...'
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: set_cn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - X509_NAME_new
    - X509_set_subject_name
    - X509_NAME_free
    - X509_NAME_add_entry_by_NID
    - va_start
    - va_arg
    - va_end
    linkageType: ''
    returnType: int
    signature: 'static int set_cn(X509 *crt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: set_email1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_email1(X509 *crt, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: set_email2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: 'static int set_email2(X509 *crt, const char *name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:666,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:687,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:690,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:690,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:687,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:702,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:660,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:661,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:676,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:678,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:700,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:666,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:685,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:705,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:663,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:662,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:669,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:679,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:679,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:698,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:684,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c:704,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 708
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 708
    functionName: test_GENERAL_NAME_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/v3nametest.c
    functionUses: []
    functionsReached:
    - GENERAL_NAME_cmp
    - TEST_ptr
    - TEST_int_eq
    - GENERAL_NAME_free
    - OPENSSL_free
    - d2i_GENERAL_NAME
    - TEST_int_ne
    - OSSL_NELEM
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int test_GENERAL_NAME_cmp(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:31,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:33,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:32,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:34,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: exnew
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    - TEST_ptr_eq
    - TEST_ptr_null
    linkageType: ''
    returnType: void
    signature: 'static void exnew(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int
      idx, long argl, void *argp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:73,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:78,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:77,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:76,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:75,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:79,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:80,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: exnew2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - OPENSSL_zalloc
    - TEST_ptr_null
    - TEST_long_eq
    - TEST_ptr_eq
    linkageType: ''
    returnType: void
    signature: 'static void exnew2(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int
      idx, long argl, void *argp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:116,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:118,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:119,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:121,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:120,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: exfree2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    - OPENSSL_free
    - TEST_true
    - CRYPTO_get_ex_data
    - TEST_ptr_eq
    - TEST_long_eq
    linkageType: ''
    returnType: void
    signature: 'static void exfree2(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int
      idx, long argl, void *argp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:135,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: MYOBJ_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_new_ex_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: MYOBJ*
    signature: 'static MYOBJ *MYOBJ_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: MYOBJ_gethello
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: char*
    signature: 'static char *MYOBJ_gethello(MYOBJ *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:168,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: MYOBJ_gethello2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    - TEST_ptr
    linkageType: ''
    returnType: char*
    signature: 'static char *MYOBJ_gethello2(MYOBJ *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: MYOBJ_gethello3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    - TEST_ptr
    linkageType: ''
    returnType: char*
    signature: 'static char *MYOBJ_gethello3(MYOBJ *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MYOBJ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:211,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - MYOBJ*
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: MYOBJ_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - MYOBJ_new
    - CRYPTO_dup_ex_data
    linkageType: ''
    returnType: MYOBJ*
    signature: 'static MYOBJ *MYOBJ_dup(MYOBJ *in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:94,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:98,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:95,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:97,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:99,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:99,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 6
    argNames:
    - to
    - from
    - from_d
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: exdup2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - CRYPTO_get_ex_data
    - TEST_true
    - TEST_long_eq
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: 'static int exdup2(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from,
      void **from_d, int idx, long argl, void *argp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:41,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:42,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:43,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:44,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 6
    argNames:
    - to
    - from
    - from_d
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: exdup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    - TEST_ptr_eq
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: 'static int exdup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, void
      **from_d, int idx, long argl, void *argp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:146,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - cp
    argTypes:
    - MYOBJ*
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: MYOBJ_sethello
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_set_ex_data
    - TEST_int_eq
    linkageType: ''
    returnType: void
    signature: 'static void MYOBJ_sethello(MYOBJ *obj, char *cp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:158,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - cp
    argTypes:
    - MYOBJ*
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: MYOBJ_sethello2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_get_ex_data
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: 'static void MYOBJ_sethello2(MYOBJ *obj, char *cp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:181,1
    - Dst: CRYPTO_alloc_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:182,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:184,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:182,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:181,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - cp
    argTypes:
    - MYOBJ*
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: MYOBJ_allochello3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - CRYPTO_alloc_ex_data
    - TEST_ptr
    - TEST_true
    - TEST_ptr_null
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: 'static void MYOBJ_allochello3(MYOBJ *obj, char *cp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:204,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: MYOBJ_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_free_ex_data
    linkageType: ''
    returnType: void
    signature: 'static void MYOBJ_free(MYOBJ *obj) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:229,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:232,1
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:237,1
    - Dst: MYOBJ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:240,1
    - Dst: MYOBJ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:241,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:242,1
    - Dst: MYOBJ_gethello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:258,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:254,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:244,1
    - Dst: MYOBJ_gethello2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:263,1
    - Dst: MYOBJ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:307,1
    - Dst: MYOBJ_gethello2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:276,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:232,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:242,1
    - Dst: MYOBJ_sethello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:257,1
    - Dst: MYOBJ_sethello2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:262,1
    - Dst: MYOBJ_allochello3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:267,1
    - Dst: MYOBJ_gethello3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:268,1
    - Dst: MYOBJ_gethello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:272,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:273,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:277,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:291,1
    - Dst: MYOBJ_gethello2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:294,1
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:234,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:254,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:259,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:244,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:264,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:269,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:284,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:285,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:295,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:308,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:310,1
    - Dst: MYOBJ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:306,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:287,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:229,1
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:251,1
    - Dst: MYOBJ_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:280,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:281,1
    - Dst: MYOBJ_gethello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:290,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:299,1
    - Dst: MYOBJ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:305,1
    - Dst: MYOBJ_gethello3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:298,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 84
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 312
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 312
    functionName: test_exdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - MYOBJ_free
    - OPENSSL_strdup
    - MYOBJ_sethello
    - MYOBJ_gethello2
    - MYOBJ_gethello
    - TEST_ptr
    - TEST_int_eq
    - MYOBJ_dup
    - OPENSSL_free
    - TEST_ptr_eq
    - CRYPTO_get_ex_new_index
    - MYOBJ_gethello3
    - TEST_ptr_null
    - CRYPTO_get_ex_data
    - MYOBJ_sethello2
    - MYOBJ_new
    - OPENSSL_malloc
    - MYOBJ_allochello3
    linkageType: ''
    returnType: int
    signature: 'static int test_exdata(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:52,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:53,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: exfree
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/exdatatest.c
    functionUses: []
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    - TEST_ptr_eq
    linkageType: ''
    returnType: void
    signature: 'static void exfree(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int
      idx, long argl, void *argp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:134,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:136,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:133,1
    - Dst: verify_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:136,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: execute_calc_protection_signature_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - verify_signature
    - ossl_cmp_calc_protection
    - ASN1_BIT_STRING_free
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'static int execute_calc_protection_signature_test(CMP_PROTECT_TEST_FIXTURE
      * fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:187,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: execute_MSG_protect_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_msg_protect
    linkageType: ''
    returnType: int
    signature: 'static int execute_MSG_protect_test(CMP_PROTECT_TEST_FIXTURE *fixture) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:465,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:469,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:466,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:469,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:473,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:474,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:474,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:478,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 482
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 482
    functionName: execute_X509_STORE_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - sk_X509_pop_free
    - TEST_int_eq
    - X509_STORE_get1_all_certs
    - TEST_true
    - X509_STORE_free
    - ossl_cmp_X509_STORE_add1_certs
    - STACK_OF_X509_cmp
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int execute_X509_STORE_test(CMP_PROTECT_TEST_FIXTURE *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:147,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:147,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:148,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:150,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: test_cmp_calc_protection_no_key_no_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_calc_protection_no_key_no_secret(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:394,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:399,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:399,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:398,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:398,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:400,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:400,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:401,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:401,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:402,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:403,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:406,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 408
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 408
    functionName: test_cmp_build_cert_chain_missing_intermediate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_build_cert_chain_missing_intermediate(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:448,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:452,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:452,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:453,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:453,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:454,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:454,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:455,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: test_cmp_build_cert_chain_no_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_build_cert_chain_no_certs(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:198,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:198,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:199,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:200,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: test_MSG_protect_unprotected_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_unprotected_request(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:272,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:272,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:273,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:273,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:274,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: test_MSG_protect_no_key_no_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_no_key_no_secret(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:486,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:489,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:490,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:488,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:488,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:491,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:492,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:493,1
    - Dst: sk_X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:493,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:494,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 499
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 499
    functionName: test_X509_STORE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - sk_X509_dup
    - EXECUTE_TEST
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_X509_STORE(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:214,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:214,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:220,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:220,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:222,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:222,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:225,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 230
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 230
    functionName: test_MSG_protect_with_msg_sig_alg_protection_plus_rsa_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_CTX_set1_secretValue
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_with_msg_sig_alg_protection_plus_rsa_key(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:286,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:288,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:289,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:290,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:288,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:291,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:293,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:296,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - with_ref
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: test_MSG_protect_pbmac_no_sender
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_CTX_set1_secretValue
    - TEST_ptr
    - EXECUTE_TEST
    - ossl_cmp_hdr_set1_sender
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_pbmac_no_sender(int with_ref) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:503,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:505,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:507,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:504,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:507,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:508,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:508,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:509,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:509,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:510,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:510,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:512,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:511,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:515,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: test_X509_STORE_only_self_issued
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_true
    - EXECUTE_TEST
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_X509_STORE_only_self_issued(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:552,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:557,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:567,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:581,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:583,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:584,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:586,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:587,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:589,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:596,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:606,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:609,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:617,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:587,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:612,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:579,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:605,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:583,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:558,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:553,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:559,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:560,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:561,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:563,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:564,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:565,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:562,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:566,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:603,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:604,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:611,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:584,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:588,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:602,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:613,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:567,1
    - Dst: test_arg_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:572,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:576,1
    - Dst: load_cert_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:576,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:588,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:591,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:591,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:595,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:599,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:600,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:601,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:616,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:558,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:559,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:560,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:562,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:561,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:564,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:563,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:565,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:566,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:568,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:575,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:579,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:586,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:610,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:589,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:597,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:581,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 124
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 620
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 620
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - load_cert_pem
    - test_skip_common_options
    - TEST_ptr
    - load_pkimsg
    - TEST_int_eq
    - test_get_argument
    - RAND_bytes
    - TEST_true
    - ADD_TEST
    - load_pkey_pem
    - test_arg_libctx
    - TEST_error
    - EVP_PKEY_up_ref
    linkageType: ''
    returnType: OPT_TEST_DECLARE_USAGE(USAGE)
    signature: 'OPT_TEST_DECLARE_USAGE(USAGE) int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:111,1
    - Dst: i2d_OSSL_CMP_PROTECTEDPART
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:113,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:115,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:116,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:117,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:117,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:118,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:118,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - msg
    - protection
    - pkey
    - digest
    argTypes:
    - OSSL_CMP_MSG*
    - ASN1_BIT_STRING*
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: verify_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerify
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_int_eq
    - EVP_MD_CTX_free
    - TEST_true
    - OPENSSL_free
    - EVP_DigestVerifyInit
    - TEST_int_ge
    - OSSL_CMP_MSG_get0_header
    - i2d_OSSL_CMP_PROTECTEDPART
    linkageType: ''
    returnType: int
    signature: 'static int verify_signature(OSSL_CMP_MSG *msg, ASN1_BIT_STRING *protection,
      EVP_PKEY *pkey, EVP_MD *digest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:160,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:163,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:163,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:162,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:164,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: test_cmp_calc_protection_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_pkey
    - TEST_ptr
    - load_pkimsg
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_calc_protection_pkey(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:234,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:238,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:239,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:239,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:240,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:240,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:241,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:241,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:242,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: test_MSG_protect_with_certificate_and_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_CTX_set1_pkey
    - OSSL_CMP_CTX_set1_cert
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_with_certificate_and_key(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:315,1
    - Dst: ossl_cmp_msg_add_extraCerts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: execute_MSG_add_extraCerts_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_msg_add_extraCerts
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int execute_MSG_add_extraCerts_test(CMP_PROTECT_TEST_FIXTURE
      *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:78,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:79,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: execute_calc_protection_fails_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_free
    - TEST_ptr_null
    - ossl_cmp_calc_protection
    linkageType: ''
    returnType: int
    signature: 'static int execute_calc_protection_fails_test(CMP_PROTECT_TEST_FIXTURE
      *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:178,1
    - Dst: load_pkimsg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:178,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:176,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:179,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: test_cmp_calc_protection_pbmac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_secretValue
    - TEST_ptr
    - load_pkimsg
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_calc_protection_pbmac(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:253,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:258,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:258,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:256,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:257,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:259,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:259,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:260,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:263,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: test_MSG_protect_certificate_based_without_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_CTX_set0_newPkey
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - EVP_PKEY_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_certificate_based_without_cert(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:321,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:322,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:323,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:326,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: test_MSG_add_extraCerts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - TEST_ptr
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_add_extraCerts(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:88,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:89,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:90,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: execute_calc_protection_pbmac_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - ossl_cmp_calc_protection
    - ASN1_BIT_STRING_free
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: 'static int execute_calc_protection_pbmac_test(CMP_PROTECT_TEST_FIXTURE
      *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:40,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:44,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:45,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:42,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:46,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    - OSSL_CMP_MSG_free
    - sk_X509_free
    - OSSL_CMP_PKISI_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_PROTECT_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_MSG_protect_pbmac_no_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: test_MSG_protect_pbmac_no_sender_with_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - test_MSG_protect_pbmac_no_sender
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_pbmac_no_sender_with_ref(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:337,1
    - Dst: X509_build_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:338,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:343,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:341,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:343,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:344,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:349,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:349,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:350,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:350,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:351,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:351,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:355,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:358,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:362,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:359,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:358,1
    - Dst: X509_build_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 364
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 364
    functionName: execute_cmp_build_cert_chain_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - sk_X509_pop_free
    - X509_build_chain
    - X509_VERIFY_PARAM_set_flags
    - TEST_int_eq
    - TEST_ptr
    - X509_STORE_get0_param
    - TEST_true
    - X509_STORE_free
    - X509_STORE_add_cert
    - STACK_OF_X509_cmp
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int execute_cmp_build_cert_chain_test(CMP_PROTECT_TEST_FIXTURE
      *fixture) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:412,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:417,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:417,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:416,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:416,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:418,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:418,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:419,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:420,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:421,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:421,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:425,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:420,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 427
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 427
    functionName: test_cmp_build_cert_chain_no_root
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_build_cert_chain_no_root(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:522,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:526,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:525,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:524,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:523,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:527,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:528,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:529,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:530,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:531,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:533,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:534,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 535
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 535
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_unload
    - EVP_PKEY_free
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:59,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:56,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:60,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - tear_down
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CMP_PROTECT_TEST_FIXTURE*
    signature: 'static CMP_PROTECT_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_MSG_protect_pbmac_no_sender
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: test_MSG_protect_pbmac_no_sender_no_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - test_MSG_protect_pbmac_no_sender
    linkageType: ''
    returnType: int
    signature: 'static int test_MSG_protect_pbmac_no_sender_no_ref(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:373,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:375,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:372,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:373,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:374,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:378,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:385,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:376,1
    - Dst: execute_cmp_build_cert_chain_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:383,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:379,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:388,1
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:368,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:372,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:375,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:377,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:377,1
    - Dst: execute_cmp_build_cert_chain_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:386,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:374,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:376,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:378,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:385,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 390
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 390
    functionName: test_cmp_build_cert_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - execute_cmp_build_cert_chain_test
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_build_cert_chain(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:431,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:435,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:435,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:436,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:436,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:437,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:437,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:438,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:438,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:439,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 444
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 444
    functionName: test_cmp_build_cert_chain_only_root
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_protect_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EXECUTE_TEST
    - sk_X509_push
    - sk_X509_new_null
    - SETUP_TEST_FIXTURE
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_cmp_build_cert_chain_only_root(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:32,1
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:34,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:37,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:34,1
    - Dst: va_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - n
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: add_property_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - va_start
    - va_arg
    - TEST_int_ne
    - va_end
    - ossl_property_name
    linkageType: ''
    returnType: int
    signature: 'static int add_property_names(const char *n, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: down_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void down_ref(void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:146,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:147,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:148,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:149,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:150,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:151,1
    - Dst: ossl_property_match_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:151,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:157,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:154,1
    - Dst: ossl_property_match_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:152,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:152,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:156,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:155,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: test_property_query_value_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - add_property_names
    - TEST_ptr
    - TEST_int_eq
    - ossl_property_match_count
    - ossl_method_store_new
    - ossl_parse_query
    - ossl_method_store_free
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'static int test_property_query_value_create(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:194,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:199,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:199,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:195,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:194,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:201,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:201,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:206,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: test_property_parse_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - add_property_names
    - ossl_parse_property
    - TEST_ptr
    - ossl_method_store_new
    - ossl_parse_query
    - TEST_ptr_null
    - ossl_method_store_free
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'static int test_property_parse_error(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:244,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:247,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:244,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:247,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:245,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:248,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:248,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:250,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:250,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:251,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:254,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:255,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:257,1
    - Dst: ossl_property_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:251,1
    - Dst: ossl_property_match_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:252,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:256,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:258,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:252,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 260
    functionName: test_property_merge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - ossl_property_merge
    - add_property_names
    - ossl_parse_property
    - TEST_ptr
    - ossl_property_match_count
    - ossl_method_store_new
    - ossl_parse_query
    - TEST_int_ge
    - ossl_method_store_free
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'static int test_property_merge(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:358,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:359,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:358,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:362,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:363,1
    - Dst: ossl_method_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:363,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:366,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:371,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:372,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:376,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:378,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:377,1
    - Dst: ossl_method_store_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:376,1
    - Dst: ossl_method_store_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:383,1
    - Dst: ossl_method_store_remove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:377,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:386,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:383,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 388
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 388
    functionName: test_register_deregister
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - ossl_method_store_add
    - ossl_method_store_free
    - ossl_method_store_remove
    - add_property_names
    - TEST_ptr
    - TEST_true
    - ossl_method_store_new
    - OSSL_NELEM
    - TEST_false
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_register_deregister(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:543,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:543,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:549,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:544,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:550,1
    - Dst: ossl_method_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:550,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:552,1
    - Dst: ossl_method_store_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:552,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:555,1
    - Dst: ossl_method_store_cache_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:555,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:563,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:569,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:569,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:572,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:558,1
    - Dst: ossl_method_store_cache_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:564,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 574
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 574
    functionName: test_query_cache_stochastic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - ossl_method_store_add
    - ossl_method_store_cache_set
    - ossl_method_store_cache_get
    - add_property_names
    - TEST_ptr
    - TEST_true
    - ossl_method_store_new
    - BIO_snprintf
    - TEST_int_gt
    - ossl_method_store_free
    - TEST_int_lt
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_query_cache_stochastic(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:126,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:127,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:129,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:126,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:130,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:130,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:131,1
    - Dst: ossl_property_match_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:131,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:133,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:135,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: test_property_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - add_property_names
    - ossl_parse_property
    - TEST_ptr
    - TEST_int_eq
    - ossl_property_match_count
    - ossl_method_store_new
    - ossl_parse_query
    - ossl_method_store_free
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'static int test_property_parse(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int up_ref(void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:57,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:66,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:66,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:62,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:56,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:61,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:61,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:65,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:63,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:65,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:68,1
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:72,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:75,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:73,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:56,1
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:57,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:59,1
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:59,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:64,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:63,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:67,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:71,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:71,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:58,1
    - Dst: ossl_property_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:58,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:62,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:67,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:69,1
    - Dst: ossl_property_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:69,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:72,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: test_property_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - ossl_method_store_new
    - TEST_int_ne
    - ossl_method_store_free
    - ossl_property_value
    - ossl_property_name
    linkageType: ''
    returnType: int
    signature: 'static int test_property_string(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:268,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:270,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:272,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:282,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:290,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:292,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:299,1
    - Dst: ossl_prop_defn_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:299,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:269,1
    - Dst: ossl_prop_defn_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:273,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:284,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:289,1
    - Dst: ossl_prop_defn_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:289,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:291,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:294,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:271,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:278,1
    - Dst: ossl_prop_defn_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:282,1
    - Dst: ossl_prop_defn_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:292,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:301,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:268,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:271,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:273,1
    - Dst: ossl_prop_defn_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:288,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:288,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:290,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:298,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 303
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 303
    functionName: test_property_defn_cache
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - ossl_prop_defn_set
    - add_property_names
    - ossl_parse_property
    - TEST_ptr
    - TEST_true
    - ossl_method_store_new
    - ossl_prop_defn_get
    - ossl_method_store_free
    - TEST_ptr_eq
    - ossl_property_free
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_property_defn_cache(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:329,1
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:329,1
    - Dst: ossl_parse_property
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:331,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:330,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:332,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:332,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:333,1
    - Dst: ossl_property_match_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:333,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:335,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:337,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: test_definition_compares
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - add_property_names
    - ossl_parse_property
    - TEST_ptr
    - TEST_int_eq
    - ossl_property_match_count
    - ossl_method_store_new
    - ossl_parse_query
    - ossl_method_store_free
    - ossl_property_free
    linkageType: ''
    returnType: int
    signature: 'static int test_definition_compares(int n) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:432,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:436,1
    - Dst: ossl_method_store_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:437,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:448,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:452,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:456,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:455,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:475,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:476,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:481,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:432,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:465,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:470,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:457,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:474,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:460,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:502,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:509,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:518,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:519,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:524,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:485,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:437,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:452,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:481,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:488,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:507,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:508,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:513,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:513,1
    - Dst: ossl_method_store_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:528,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:520,1
    - Dst: add_property_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:433,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:441,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:470,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:477,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:486,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:487,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:492,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:497,1
    - Dst: ossl_method_store_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:502,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:506,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:517,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 104
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 530
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 530
    functionName: test_property
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - ossl_method_store_add
    - ossl_method_store_free
    - add_property_names
    - TEST_str_eq
    - TEST_ptr
    - TEST_true
    - ossl_method_store_new
    - ossl_method_store_fetch
    - OSSL_NELEM
    - TEST_ptr_null
    - TEST_false
    - TEST_ptr_eq
    - ossl_property_free
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_property(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:584,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:586,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:587,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:591,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:590,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:594,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:595,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:596,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:597,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:598,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:581,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:581,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:585,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:589,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:592,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:588,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:593,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:600,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:584,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:586,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:587,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:591,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:590,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:594,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:595,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:596,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:597,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:598,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:585,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:588,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:589,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:592,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:593,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 602
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 602
    functionName: test_fips_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - EVP_default_properties_is_fips_enabled
    - EVP_default_properties_enable_fips
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - EVP_set_default_properties
    - TEST_true
    - OSSL_LIB_CTX_new
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_fips_mode(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:639,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:644,1
    - Dst: ossl_parse_query
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:639,1
    - Dst: ossl_property_list_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:641,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:642,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:645,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:646,1
    - Dst: ossl_property_list_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:646,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:649,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:650,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:650,1
    - Dst: ossl_property_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:656,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:655,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 658
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 658
    functionName: test_property_list_to_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - TEST_ptr
    - OPENSSL_free
    - ossl_property_list_to_string
    - ossl_parse_query
    - TEST_size_t_gt
    - TEST_size_t_eq
    - ossl_property_free
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_property_list_to_string(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:662,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:664,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:663,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:664,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:665,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:665,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:666,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:666,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:667,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:668,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:668,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:670,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:673,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:672,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:669,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:673,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 675
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 675
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/property_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:33,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:36,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CIPHERLIST_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CIPHERLIST_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_default_cipherlist
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:186,1
    - Dst: test_default_cipherlist
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CIPHERLIST_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: execute_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - test_default_cipherlist
    linkageType: ''
    returnType: int
    signature: 'static int execute_test(CIPHERLIST_TEST_FIXTURE *fixture) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CIPHERLIST_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:219,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:224,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:221,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:221,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:224,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:224,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:229,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:232,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:232,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:235,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:241,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:242,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:235,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: test_default_cipherlist_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - ERR_GET_REASON
    - SSL_free
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - ERR_get_error
    - SSL_set_cipher_list
    - TEST_int_eq
    - TEST_ptr
    - tear_down
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int test_default_cipherlist_clear(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CIPHERLIST_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:198,1
    - Dst: EXECUTE_CIPHERLIST_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: test_default_cipherlist_implicit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_CIPHERLIST_TEST
    - SETUP_CIPHERLIST_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_default_cipherlist_implicit(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:44,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:44,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:47,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:47,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:47,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:48,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:48,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:48,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - SSL_CTX_new
    - OPENSSL_zalloc
    - tear_down
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: CIPHERLIST_TEST_FIXTURE*
    signature: 'static CIPHERLIST_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:158,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:157,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:161,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:158,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:162,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:163,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:168,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:168,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:169,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:179,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:170,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: test_default_cipherlist
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - SSL_free
    - sk_SSL_CIPHER_num
    - SSL_CIPHER_get_id
    - TEST_ptr
    - TEST_int_eq
    - sk_SSL_CIPHER_free
    - TEST_info
    - SSL_get1_supported_ciphers
    - OSSL_NELEM
    - sk_SSL_CIPHER_value
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int test_default_cipherlist(SSL_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:248,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:250,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CIPHERLIST_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:205,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:206,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:206,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:207,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:208,1
    - Dst: EXECUTE_CIPHERLIST_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: test_default_cipherlist_explicit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipherlist_test.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - EXECUTE_CIPHERLIST_TEST
    - TEST_true
    - tear_down
    linkageType: ''
    returnType: int
    signature: 'static int test_default_cipherlist_explicit(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:30,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:32,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:34,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:30,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:33,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:34,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:36,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:37,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:38,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:38,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:45,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:44,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - cert_out
    - key_out
    argTypes:
    - X509**
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 47
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 47
    functionName: get_cert_and_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - TEST_ptr
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: int
    signature: 'static int get_cert_and_key(X509 **cert_out, EVP_PKEY **key_out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:126,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:128,1
    - Dst: OCSP_resp_get0_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:132,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:135,1
    - Dst: OCSP_basic_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:129,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:141,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:150,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:152,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:129,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:133,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:133,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:141,1
    - Dst: OCSP_resp_get0_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:144,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:145,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:151,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:116,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:124,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:125,1
    - Dst: make_dummy_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:123,1
    - Dst: get_cert_and_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:127,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:128,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:129,1
    - Dst: make_dummy_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:138,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:132,1
    - Dst: OCSP_basic_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:141,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:145,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:140,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:144,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:149,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 154
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 154
    functionName: test_resp_signer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_cmp
    - OCSP_resp_get0_signer
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_free
    - sk_X509_free
    - EVP_sha1
    - OCSP_basic_sign
    - sk_X509_push
    - sk_X509_new_null
    - get_cert_and_key
    - make_dummy_resp
    - OCSP_BASICRESP_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int test_resp_signer(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:158,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:168,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:161,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:170,1
    - Dst: GENERAL_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:175,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:176,1
    - Dst: ACCESS_DESCRIPTION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:180,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 184
    functionName: test_access_description
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c
    functionUses: []
    functionsReached:
    - ACCESS_DESCRIPTION_free
    - GENERAL_NAME_new
    - TEST_ptr
    - GENERAL_NAME_free
    - ACCESS_DESCRIPTION_new
    linkageType: ''
    returnType: int
    signature: 'static int test_access_description(int testcase) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:54,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:54,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:56,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:58,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:57,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - cert_out
    argTypes:
    - X509**
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: get_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: 'static int get_cert(X509 **cert_out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:75,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:80,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:81,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:83,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:89,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:91,1
    - Dst: OCSP_basic_add1_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:94,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:102,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:106,1
    - Dst: OCSP_BASICRESP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:71,1
    - Dst: ASN1_TIME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:74,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:74,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:77,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:87,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:86,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:92,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:103,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:107,1
    - Dst: ASN1_TIME_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:75,1
    - Dst: OCSP_cert_id_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:89,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:86,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:83,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:90,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:93,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:94,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:104,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:76,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:78,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:87,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:82,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:101,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:105,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 109
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 109
    functionName: make_dummy_resp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c
    functionUses: []
    functionsReached:
    - ASN1_BIT_STRING_set
    - ASN1_TIME_free
    - OCSP_basic_add1_status
    - ASN1_INTEGER_set_uint64
    - X509_NAME_new
    - X509_NAME_add_entry_by_NID
    - ASN1_TIME_set
    - TEST_true
    - ASN1_BIT_STRING_free
    - EVP_sha256
    - OCSP_cert_id_new
    - ASN1_INTEGER_free
    - ASN1_INTEGER_new
    - time
    - X509_NAME_free
    - TEST_ptr
    - ASN1_BIT_STRING_new
    - OCSP_CERTID_free
    - OCSP_BASICRESP_new
    - OCSP_BASICRESP_free
    linkageType: ''
    returnType: OCSP_BASICRESP*
    signature: 'static OCSP_BASICRESP *make_dummy_resp(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:198,1
    - Dst: OCSP_url_svcloc_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:204,1
    - Dst: get_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:198,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:205,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:208,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 213
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 213
    functionName: test_ocsp_url_svcloc_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c
    functionUses: []
    functionsReached:
    - X509_free
    - get_cert
    - TEST_ptr
    - TEST_true
    - X509_get_issuer_name
    - X509_EXTENSION_free
    - OCSP_url_svcloc_new
    linkageType: ''
    returnType: int
    signature: 'static int test_ocsp_url_svcloc_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:221,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:227,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:226,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:226,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:222,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:227,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:230,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:231,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ocspapitest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:241,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:249,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:254,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:260,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:261,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:264,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:266,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:268,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:269,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:271,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:280,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:286,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:232,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:238,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:242,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:272,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:278,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:276,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:279,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:285,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:287,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:231,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:239,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:251,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:256,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:263,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:267,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:268,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:275,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:281,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:282,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:284,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:288,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:279,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:236,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:235,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:245,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:246,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:253,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:257,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:248,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:267,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:270,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:273,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:285,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 86
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 290
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 290
    functionName: print_test_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - printf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int print_test_data(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:319,1
    - Dst: BF_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:321,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:326,1
    - Dst: BF_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:325,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 330
    functionName: test_bf_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - BF_ecb_encrypt
    - TEST_mem_eq
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bf_ecb(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:354,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:357,1
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:356,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:358,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:359,1
    - Dst: BF_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:360,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:362,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:365,1
    - Dst: BF_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:366,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:367,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 371
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 371
    functionName: test_bf_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - memset
    - strlen
    - BF_cbc_encrypt
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bf_cbc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:338,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:341,1
    - Dst: BF_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: test_bf_set_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - BF_ecb_encrypt
    - TEST_mem_eq
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bf_set_key(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:298,1
    - Dst: BF_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:306,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:298,1
    - Dst: BF_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:302,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:303,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: test_bf_ecb_raw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - BF_decrypt
    - BF_encrypt
    - TEST_mem_eq
    - BF_set_key
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_bf_ecb_raw(int n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:380,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:384,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:383,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:385,1
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:382,1
    - Dst: BF_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:387,1
    - Dst: BF_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:389,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:391,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:395,1
    - Dst: BF_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:396,1
    - Dst: BF_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:397,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 403
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 403
    functionName: test_bf_cfb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - memset
    - BF_cfb64_encrypt
    - strlen
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bf_cfb64(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:412,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:417,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:415,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:416,1
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:414,1
    - Dst: BF_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:419,1
    - Dst: BF_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:421,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:423,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:427,1
    - Dst: BF_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:428,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:430,1
    - Dst: BF_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 434
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 434
    functionName: test_bf_ofb64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - BF_ofb64_encrypt
    - memcpy
    - memset
    - strlen
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: 'static int test_bf_ofb64(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:460,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:462,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:466,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:460,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:462,1
    - Dst: print_test_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:469,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:478,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:479,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:480,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:481,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:482,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 486
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 486
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bftest.c
    functionUses: []
    functionsReached:
    - print_test_data
    - ADD_TEST
    - ADD_ALL_TESTS
    - ebcdic2ascii
    - opt_next
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:190,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:194,1
    - Dst: PEM_read_bio_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:199,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:195,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:200,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:202,1
    - Dst: test_spki_aid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:206,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:208,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: test_spki_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - test_spki_aid
    - BIO_free
    - PEM_read_bio_X509_PUBKEY
    - X509_PUBKEY_free
    - TEST_error
    - TEST_openssl_errors
    linkageType: ''
    returnType: int
    signature: 'static int test_spki_file(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:104,1
    - Dst: test_spki_aid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - cert
    - filename
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: test_x509_spki_aid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c
    functionUses: []
    functionsReached:
    - X509_get_X509_PUBKEY
    - test_spki_aid
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_spki_aid(X509 *cert, const char *filename) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:46,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:77,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:78,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:68,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:79,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:92,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:98,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:42,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:43,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:46,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:50,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:50,1
    - Dst: evp_keymgmt_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:87,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:97,1
    - Dst: X509_PUBKEY_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:43,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:49,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:59,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:68,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:78,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:61,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:36,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:42,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:77,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:69,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:87,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 50
    argCount: 2
    argNames:
    - pubkey
    - filename
    argTypes:
    - X509_PUBKEY*
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 100
    functionName: test_spki_aid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c
    functionUses: []
    functionsReached:
    - EVP_KEYMGMT_free
    - OSSL_PARAM_octet_string
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - evp_keymgmt_get_params
    - TEST_int_ge
    - EVP_KEYMGMT_gettable_params
    - EVP_KEYMGMT_is_a
    - i2d_X509_ALGOR
    - X509_PUBKEY_get0_param
    - X509_PUBKEY_get0
    - TEST_ptr
    - TEST_int_gt
    - OSSL_PARAM_locate_const
    - X509_ALGOR_get0
    - evp_pkey_export_to_provider
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int test_spki_aid(X509_PUBKEY *pubkey, const char *filename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:226,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:231,1
    - Dst: test_x509_spki_aid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:244,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:239,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:247,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:220,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:224,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:236,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:250,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:219,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:221,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:225,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:233,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:237,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:249,1
    - Dst: test_x509_sig_aid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:243,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:230,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:248,1
    - Dst: test_x509_spki_aid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:245,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 252
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 252
    functionName: test_x509_files
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - test_x509_sig_aid
    - TEST_error
    - TEST_openssl_errors
    - test_x509_spki_aid
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_files(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:130,1
    - Dst: X509_ALGOR_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:132,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:139,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:143,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:136,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:151,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:152,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:157,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:124,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:132,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:135,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:136,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:139,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:151,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:153,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:155,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:157,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:161,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:163,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:176,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:134,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:139,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:140,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:142,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:143,1
    - Dst: i2d_X509_ALGOR
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:148,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:152,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:171,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:165,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:171,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:181,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:131,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:134,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:135,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:143,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:144,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:162,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:161,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:162,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 71
    argCount: 4
    argNames:
    - eecert
    - ee_filename
    - cacert
    - ca_filename
    argTypes:
    - X509*
    - char*
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 185
    functionName: test_x509_sig_aid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c
    functionUses: []
    functionsReached:
    - X509_get0_pubkey
    - EVP_PKEY_is_a
    - TEST_int_ne
    - OSSL_PARAM_octet_string
    - X509_ALGOR_cmp
    - TEST_mem_eq
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - TEST_int_ge
    - X509_get0_tbs_sigalg
    - EVP_PKEY_CTX_gettable_params
    - EVP_PKEY_get0_type_name
    - OBJ_obj2nid
    - TEST_int_eq
    - X509_get0_signature
    - i2d_X509_ALGOR
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_free
    - TEST_ptr
    - OSSL_PARAM_locate_const
    - X509_ALGOR_get0
    - EVP_PKEY_CTX_get_params
    - OBJ_find_sigid_algs
    linkageType: ''
    returnType: int
    signature: 'static int test_x509_sig_aid(X509 *eecert, const char *ee_filename,
      X509 *cacert, const char *ca_filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:280,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:302,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:308,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:306,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:300,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:310,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:315,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:318,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:323,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c:325,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 327
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 327
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/algorithmid_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ADD_TEST
    - test_get_argument
    - test_get_argument_count
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:23,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:27,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:33,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:27,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:28,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:39,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:37,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:29,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:29,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:30,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:31,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:31,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:28,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:25,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:32,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:32,1
    - Dst: RAND_priv_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:40,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:40,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:39,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:41,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 44
    functionName: test_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c
    functionUses: []
    functionsReached:
    - TEST_int_le
    - TEST_mem_eq
    - TEST_ptr
    - RAND_get0_private
    - TEST_true
    - EVP_RAND_CTX_set_params
    - TEST_int_gt
    - RAND_priv_bytes
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_rand(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:48,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:50,1
    - Dst: RAND_set_DRBG_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rand_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - RAND_set_DRBG_type
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:43,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:50,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:46,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:56,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:49,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: test_read_dh_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - getfile
    - BIO_free
    - TEST_ptr
    - PEM_read_bio_DHparams
    - DH_free
    linkageType: ''
    returnType: int
    signature: 'static int test_read_dh_params(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:87,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:94,1
    - Dst: PEM_read_bio_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:93,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: test_read_dsa_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - getfile
    - BIO_free
    - TEST_ptr
    - PEM_read_bio_DSAparams
    - DSA_free
    linkageType: ''
    returnType: int
    signature: 'static int test_read_dsa_params(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:158,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:157,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:164,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:154,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: test_read_rsa_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - getfile
    - BIO_free
    - TEST_ptr
    - PEM_read_bio_RSAPrivateKey
    linkageType: ''
    returnType: int
    signature: 'static int test_read_rsa_private(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:27,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:35,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:32,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:30,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: getfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - TEST_ptr
    - OPENSSL_free
    - test_mk_file_path
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *getfile(const char *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:64,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:70,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:71,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:77,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:67,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: test_read_dh_x942_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - getfile
    - BIO_free
    - TEST_ptr
    - PEM_read_bio_DHparams
    - DH_free
    linkageType: ''
    returnType: int
    signature: 'static int test_read_dh_x942_params(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:115,1
    - Dst: PEM_read_bio_DSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:114,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:111,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: test_read_dsa_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - getfile
    - BIO_free
    - TEST_ptr
    - PEM_read_bio_DSAPrivateKey
    - DSA_free
    linkageType: ''
    returnType: int
    signature: 'static int test_read_dsa_private(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:136,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:142,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:132,1
    - Dst: PEM_read_bio_DSA_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:135,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: test_read_dsa_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_DSA_PUBKEY
    - getfile
    - BIO_free
    - TEST_ptr
    - DSA_free
    linkageType: ''
    returnType: int
    signature: 'static int test_read_dsa_public(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:172,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:185,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:175,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:179,1
    - Dst: PEM_read_bio_RSA_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:178,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: test_read_rsa_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - getfile
    - BIO_free
    - PEM_read_bio_RSA_PUBKEY
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: 'static int test_read_rsa_public(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:192,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:197,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:193,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:197,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:203,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:204,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:207,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:208,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:209,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:211,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/pem_read_depr_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - TEST_ptr
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:126,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - EVP_TEST_BUFFER*
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: evp_test_buffer_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void evp_test_buffer_free(EVP_TEST_BUFFER *db) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3138,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3140,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3142
      start: 3134
    functionDepth: 0
    functionLinenumber: 3134
    functionLinenumberEnd: 3142
    functionName: keygen_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void keygen_test_cleanup(EVP_TEST *t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2120,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2127,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2121,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2133
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2133
    functionName: pbkdf2_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbyname
    - strcmp
    - atoi
    linkageType: ''
    returnType: int
    signature: 'static int pbkdf2_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3149,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3151,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3150,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3150,1
    - Dst: pkey_test_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3154
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3154
    functionName: keygen_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strcmp
    - pkey_test_ctrl
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: 'static int keygen_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1767,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1772,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1767,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1769,1
    - Dst: is_digest_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1778,1
    - Dst: is_cipher_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1778,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1779,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1787,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - t
    - pctx
    - value
    argTypes:
    - EVP_TEST*
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1789
    functionName: pkey_test_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - TEST_ptr
    - EVP_PKEY_CTX_ctrl_str
    - strchr
    - is_cipher_disabled
    - OPENSSL_free
    - TEST_info
    - is_digest_disabled
    linkageType: ''
    returnType: int
    signature: 'static int pkey_test_ctrl(EVP_TEST *t, EVP_PKEY_CTX *pctx, const char
      *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_kdf_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2727,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2736,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2728,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2733,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2733,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2738,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2740,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2743,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2744,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 2751
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2751
    functionName: kdf_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_new
    - TEST_ptr
    - EVP_KDF_fetch
    - OPENSSL_free
    - is_kdf_disabled
    - OPENSSL_zalloc
    - TEST_info
    - EVP_KDF_free
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int kdf_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1795,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1799,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1798,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1796,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1797,1
    - Dst: pkey_test_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1802
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1802
    functionName: pkey_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - parse_bin
    - pkey_test_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int pkey_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2759,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2761,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2762
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2762
    functionName: kdf_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_test_cleanup(EVP_TEST *t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:137,1
    - Dst: sk_EVP_TEST_BUFFER_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:145,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:145,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:140,1
    - Dst: sk_EVP_TEST_BUFFER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:147,1
    - Dst: evp_test_buffer_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - value
    - sk
    argTypes:
    - char*
    - STACK_OF(EVP_TEST_BUFFER)**
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: evp_test_buffer_append
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - sk_EVP_TEST_BUFFER_new_null
    - evp_test_buffer_free
    - TEST_ptr
    - parse_bin
    - sk_EVP_TEST_BUFFER_push
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int evp_test_buffer_append(const char *value, STACK_OF(EVP_TEST_BUFFER)
      **sk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:216,1
    - Dst: fn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:221,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 3
    argNames:
    - sk
    - (*fn)
    - ctx
    argTypes:
    - STACK_OF(EVP_TEST_BUFFER)*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: evp_test_buffer_do
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - fn
    - sk_EVP_TEST_BUFFER_num
    - sk_EVP_TEST_BUFFER_value
    linkageType: ''
    returnType: int
    signature: 'static int evp_test_buffer_do(STACK_OF(EVP_TEST_BUFFER) *sk, int (*fn)(void
      *ctx, const unsigned char *buf, size_t buflen), void *ctx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:424,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:448,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:460,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:470,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:492,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:417,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:422,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:425,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:425,1
    - Dst: EVP_MD_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:435,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:447,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:440,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:453,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:485,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:488,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:409,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:452,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:444,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:474,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:485,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:487,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:489,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:501,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:500,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:409,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:414,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:412,1
    - Dst: evp_test_buffer_do
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:430,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:440,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:443,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:457,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:465,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:482,1
    - Dst: EVP_Q_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:488,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 96
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 503
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 503
    functionName: digest_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_params
    - EVP_DigestInit_ex
    - evp_test_buffer_do
    - OPENSSL_malloc
    - EVP_Q_digest
    - EVP_MD_get_flags
    - OSSL_PARAM_construct_int
    - TEST_mem_eq
    - TEST_str_eq
    - EVP_MD_CTX_new
    - OPENSSL_free
    - TEST_true
    - EVP_MD_get0_name
    - EVP_MD_CTX_copy
    - EVP_DigestFinal
    - TEST_int_eq
    - memory_err_compare
    - sk_EVP_TEST_BUFFER_num
    - OPENSSL_cleanse
    - OSSL_PARAM_construct_end
    - EVP_MD_CTX_free
    - TEST_ptr
    - EVP_DigestFinalXOF
    - sk_EVP_TEST_BUFFER_value
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: 'static int digest_test_run(EVP_TEST *t) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3988,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4009,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4006,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3991,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4013,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4015
      start: 3981
    functionDepth: 0
    functionLinenumber: 3981
    functionLinenumberEnd: 4015
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - opt_arg
    - ADD_ALL_TESTS
    - test_get_argument_count
    - test_get_libctx
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4030,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4042,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4034,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4046,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4038,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4050,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4054,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4058,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4062
      start: 4027
    functionDepth: 0
    functionLinenumber: 4027
    functionLinenumberEnd: 4062
    functionName: is_digest_disabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - STR_STARTS_WITH
    linkageType: ''
    returnType: int
    signature: 'static int is_digest_disabled(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 1889
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1889
    functionName: decrypt_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - pkey_test_init
    linkageType: ''
    returnType: int
    signature: 'static int decrypt_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4019,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 4021
      start: 4017
    functionDepth: 0
    functionLinenumber: 4017
    functionLinenumberEnd: 4021
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4067,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4075,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4079
      start: 4064
    functionDepth: 0
    functionLinenumber: 4064
    functionLinenumberEnd: 4079
    functionName: is_pkey_disabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - STR_STARTS_WITH
    linkageType: ''
    returnType: int
    signature: 'static int is_pkey_disabled(const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3057,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3065,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3078
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3078
    functionName: keypair_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_eq
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int keypair_test_run(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 3452
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3452
    functionName: oneshot_digestverify_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: 'static int oneshot_digestverify_test_init(EVP_TEST *t, const char
      *alg) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4114,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4122,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4126,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4118,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4130,1
    - Dst: STR_ENDS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4134,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4138,1
    - Dst: STR_ENDS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4140,1
    - Dst: STR_ENDS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4144,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4148,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4152,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4156,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4160,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4164,1
    - Dst: STR_ENDS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4168,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4172,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4176
      start: 4111
    functionDepth: 0
    functionLinenumber: 4111
    functionLinenumberEnd: 4176
    functionName: is_cipher_disabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - STR_STARTS_WITH
    - STR_ENDS_WITH
    linkageType: ''
    returnType: int
    signature: 'static int is_cipher_disabled(const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:241,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:245,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:251,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:245,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:266,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - input
    - input_len
    - out_len
    argTypes:
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: unescape
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_zalloc
    - TEST_error
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char * unescape(const char *input, size_t input_len,
      size_t *out_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_kdf_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2876,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2885,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2877,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2882,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2882,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2887,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2893,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2894,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 2896
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2896
    functionName: pkey_kdf_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - is_kdf_disabled
    - OPENSSL_zalloc
    - TEST_info
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_derive_init
    linkageType: ''
    returnType: int
    signature: 'static int pkey_kdf_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2924,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2945,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2929,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2949,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2945,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2953,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2960,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2962
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2962
    functionName: pkey_kdf_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr
    - OPENSSL_free
    - fips_provider_version_eq
    - EVP_PKEY_derive
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_kdf_test_run(EVP_TEST *t) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:703,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:705,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:846,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:869,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:849,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:888,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:915,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:920,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:934,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:965,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:838,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:951,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1004,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:924,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1005,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:986,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:959,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:703,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:752,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:765,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:784,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:739,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:811,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:820,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:830,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:831,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:834,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:840,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:859,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:918,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:972,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:995,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:944,1
    - Dst: fips_provider_version_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:698,1
    - Dst: fips_provider_version_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:699,1
    - Dst: fips_provider_version_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:700,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:721,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:724,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:760,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:793,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:820,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:833,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:843,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:971,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1004,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:861,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:919,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:835,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1006,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1016,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:900,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:705,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:707,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:742,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:753,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:749,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:735,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:799,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:806,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:821,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:822,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:893,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:912,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:927,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:980,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1019,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:862,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1018,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:939,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:990,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:878,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 318
    argCount: 5
    argNames:
    - t
    - enc
    - out_misalign
    - inp_misalign
    - frag
    argTypes:
    - EVP_TEST*
    - int
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1021
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 1021
    functionName: cipher_test_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_updated_iv
    - EVP_CIPHER_get_flags
    - OPENSSL_memdup
    - ERR_set_mark
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_is_a
    - EVP_CipherInit_ex
    - OPENSSL_malloc
    - EVP_CipherFinal_ex
    - fips_provider_version_gt
    - OSSL_PARAM_construct_int
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - EVP_CipherUpdate
    - TEST_info
    - EVP_CIPHER_CTX_set_flags
    - fips_provider_version_lt
    - EVP_CIPHER_CTX_set_params
    - memory_err_compare
    - memcpy
    - ERR_print_errors_fp
    - EVP_CIPHER_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - fips_provider_version_ge
    - EVP_CIPHER_CTX_set_key_length
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_CTX_get_iv_length
    - OSSL_PARAM_construct_octet_string
    - TEST_size_t_le
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_copy
    - TEST_ptr
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: 'static int cipher_test_enc(EVP_TEST *t, int enc, size_t out_misalign,
      size_t inp_misalign, int frag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_test_buffer_do
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3385,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3394
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3394
    functionName: digestverify_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - evp_test_buffer_do
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: int
    signature: 'static int digestverify_test_run(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 3407
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3407
    functionName: oneshot_digestsign_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: 'static int oneshot_digestsign_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1029,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1029,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1036,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1051,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1034,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1056,1
    - Dst: cipher_test_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1063,1
    - Dst: cipher_test_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1072,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1090,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1091,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1093,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1094,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1092,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1105
    functionName: cipher_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - cipher_test_enc
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_get_mode
    - BIO_snprintf
    - TEST_info
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: 'static int cipher_test_run(EVP_TEST *t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3415,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3425,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3430,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3420,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3420,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3437,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3439
      start: 3409
    functionDepth: 0
    functionLinenumber: 3409
    functionLinenumberEnd: 3439
    functionName: oneshot_digestsign_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - EVP_DigestSign
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int oneshot_digestsign_test_run(EVP_TEST *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3505,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3509
      start: 3500
    functionDepth: 0
    functionLinenumber: 3500
    functionLinenumberEnd: 3509
    functionName: find_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: EVP_TEST_METHOD*
    signature: 'static const EVP_TEST_METHOD *find_test(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:103,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:106,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - t
    - err
    - expected
    - expected_len
    - got
    - got_len
    argTypes:
    - EVP_TEST*
    - char*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: memory_err_compare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_ne
    - strcmp
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int memory_err_compare(EVP_TEST *t, const char *err, const
      void *expected, size_t expected_len, const void *got, size_t got_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2902,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2904
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2904
    functionName: pkey_kdf_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void pkey_kdf_test_cleanup(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3039
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3039
    functionName: void_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int void_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2911,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2913,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2912,1
    - Dst: pkey_test_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2916
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2916
    functionName: pkey_kdf_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - strncmp
    - parse_bin
    - pkey_test_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int pkey_kdf_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3031
      start: 3027
    functionDepth: 0
    functionLinenumber: 3027
    functionLinenumberEnd: 3031
    functionName: keypair_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void keypair_test_cleanup(EVP_TEST *t) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3162,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3167,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3175,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3168,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3176,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3180,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3180,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3196
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3196
    functionName: keygen_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - evp_pkey_is_provided
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_free
    - TEST_info
    - find_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int keygen_test_run(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 1875
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1875
    functionName: verify_recover_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - pkey_test_init
    linkageType: ''
    returnType: int
    signature: 'static int verify_recover_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2989,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2989,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2996,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2990,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2990,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2996,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2997,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3001,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3001,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3002,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3014,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3014,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3023,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 2
    argNames:
    - t
    - pair
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 3025
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 3025
    functionName: keypair_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - TEST_ptr
    - strchr
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - find_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int keypair_test_init(EVP_TEST *t, const char *pair) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2824,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2836,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2832,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2828,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2828,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2844,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2846
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2846
    functionName: kdf_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int kdf_test_run(EVP_TEST *t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3649,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3650,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3656,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3668,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3651,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3673
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3673
    functionName: key_unsupported
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - ERR_GET_REASON
    - ERR_GET_LIB
    - ERR_peek_last_error
    linkageType: ''
    returnType: int
    signature: 'static int key_unsupported(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:554,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:560,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:561,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:562,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:556,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:564,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:565,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:567,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:570,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:573,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:582,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:589,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:575,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:581,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:575,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 591
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 591
    functionName: cipher_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - TEST_ptr
    - EVP_get_cipherbyname
    - is_cipher_disabled
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_get_flags
    - ERR_set_mark
    - TEST_info
    - OPENSSL_zalloc
    - EVP_CIPHER_fetch
    - ERR_clear_last_mark
    - strstr
    linkageType: ''
    returnType: int
    signature: 'static int cipher_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3101,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3113,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3113,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3104,1
    - Dst: is_pkey_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3109,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3116,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3121,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3121,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 3132
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3132
    functionName: keygen_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_new_from_name
    - TEST_ptr
    - OBJ_ln2nid
    - EVP_PKEY_CTX_free
    - OBJ_sn2nid
    - EVP_PKEY_keygen_init
    - is_pkey_disabled
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int keygen_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3637,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3639,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - lst
    argTypes:
    - KEY_LIST*
    constantsTouched: []
    func_position:
      end: 3642
      start: 3632
    functionDepth: 0
    functionLinenumber: 3632
    functionLinenumberEnd: 3642
    functionName: free_key_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: 'static void free_key_list(KEY_LIST *lst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:190,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:195,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:198,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - value
    - sk
    argTypes:
    - char*
    - STACK_OF(EVP_TEST_BUFFER)*
    constantsTouched: []
    func_position:
      end: 205
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 205
    functionName: evp_test_buffer_set_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - atoi
    - sk_EVP_TEST_BUFFER_num
    - sk_EVP_TEST_BUFFER_value
    linkageType: ''
    returnType: int
    signature: 'static int evp_test_buffer_set_count(const char *value, STACK_OF(EVP_TEST_BUFFER)
      *sk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1290,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1290,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1295,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1292,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - t
    - pctx
    - value
    argTypes:
    - EVP_TEST*
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1305
    functionName: mac_test_ctrl_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_CTX_ctrl_str
    - strchr
    linkageType: ''
    returnType: int
    signature: 'static int mac_test_ctrl_pkey(EVP_TEST *t, EVP_PKEY_CTX *pctx, const
      char *value) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1435,1
    - Dst: is_cipher_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1448,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1446,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1460,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1498,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1513,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1519,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1539,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1562,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1563,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1636,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1626,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1559,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1652,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1512,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1428,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1485,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1496,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1491,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1522,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1524,1
    - Dst: fips_provider_version_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1530,1
    - Dst: fips_provider_version_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1531,1
    - Dst: fips_provider_version_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1532,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1550,1
    - Dst: fips_provider_version_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1614,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1630,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1621,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1606,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1667,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1556,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1433,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1452,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1454,1
    - Dst: is_digest_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1456,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1467,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1480,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1490,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1500,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1504,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1509,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1568,1
    - Dst: EVP_MAC_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1563,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1640,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1635,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1668,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1605,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1585,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1590,1
    - Dst: EVP_Q_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1652,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1665,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1533,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1475,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1500,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1526,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1534,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1545,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1573,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1579,1
    - Dst: EVP_MAC_finalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1589,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1597,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1601,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1627,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1538,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1601,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1657,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1585,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1520,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1645,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1651,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1624,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 217
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1670
    functionName: mac_test_run_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - strchr
    - ERR_set_mark
    - is_digest_disabled
    - EVP_MAC_CTX_new
    - EVP_MAC_CTX_get_mac_size
    - EVP_MAC_final
    - OPENSSL_malloc
    - fips_provider_version_gt
    - OPENSSL_strdup
    - OSSL_PARAM_construct_int
    - EVP_MAC_settable_ctx_params
    - sk_OPENSSL_STRING_num
    - EVP_MAC_finalXOF
    - TEST_mem_eq
    - strcmp
    - OPENSSL_free
    - is_cipher_disabled
    - TEST_true
    - EVP_MAC_update
    - TEST_info
    - TEST_false
    - EVP_Q_mac
    - fips_provider_version_lt
    - TEST_int_eq
    - memory_err_compare
    - OPENSSL_cleanse
    - EVP_MAC_CTX_get_params
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_allocate_from_text
    - EVP_MAC_init
    - OSSL_PARAM_construct_end
    - ERR_clear_last_mark
    - OSSL_PARAM_construct_octet_string
    - strlen
    - ERR_pop_to_mark
    - TEST_ptr
    - EVP_MAC_CTX_free
    - OSSL_PARAM_locate_const
    - OSSL_NELEM
    - TEST_size_t_eq
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'static int mac_test_run_mac(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1925
    functionName: pderive_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - pkey_test_init
    linkageType: ''
    returnType: int
    signature: 'static int pderive_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2180,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2181,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2183
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2183
    functionName: pbe_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void pbe_test_cleanup(EVP_TEST *t) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3273,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3276,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3281,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3287,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3279,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3292,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3298,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3300,1
    - Dst: evp_test_buffer_append
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3301,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3303,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3309,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3307,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3312,1
    - Dst: evp_test_buffer_set_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3308,1
    - Dst: evp_test_buffer_ncopy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3310,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3304,1
    - Dst: pkey_test_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3315,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3318
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3318
    functionName: digestsigver_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - EVP_DigestSignInit_ex
    - evp_test_buffer_append
    - strcmp
    - EVP_MD_get0_name
    - evp_test_buffer_ncopy
    - find_key
    - parse_bin
    - evp_test_buffer_set_count
    - pkey_test_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int digestsigver_test_parse(EVP_TEST *t, const char *keyword,
      const char *value) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1338,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1354,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1351,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1395,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1410,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1400,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1409,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1331,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1327,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1372,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1391,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1411,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1412,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1324,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1326,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1344,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1348,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1372,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1355,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1380,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1387,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1399,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1408,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1324,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1339,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1344,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1365,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1376,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1349,1
    - Dst: is_digest_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1364,1
    - Dst: mac_test_ctrl_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1381,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1382,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1395,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 91
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1414
    functionName: mac_test_run_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - OSSL_LIB_CTX_set0_default
    - EVP_PKEY_free
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_CTX_free
    - is_digest_disabled
    - OPENSSL_malloc
    - sk_OPENSSL_STRING_num
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - mac_test_ctrl_pkey
    - EVP_CIPHER_free
    - is_cipher_disabled
    - OPENSSL_free
    - TEST_info
    - EVP_DigestSignFinal
    - EVP_DigestSignInit_ex
    - memory_err_compare
    - EVP_PKEY_new_CMAC_key
    - EVP_MD_CTX_free
    - TEST_ptr
    - EVP_DigestSignUpdate
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: int
    signature: 'static int mac_test_run_pkey(EVP_TEST *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_test_run_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1677,1
    - Dst: mac_test_run_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1679
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1679
    functionName: mac_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - mac_test_run_pkey
    - mac_test_run_mac
    linkageType: ''
    returnType: int
    signature: 'static int mac_test_run(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 1902
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1902
    functionName: verify_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - pkey_test_init
    linkageType: ''
    returnType: int
    signature: 'static int verify_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_derive_set_peer_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1940,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1976,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1961,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1967,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1956,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1991,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1948,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1951,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1964,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1971,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1957,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1977,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1984,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1992,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1933,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1947,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1954,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1974,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1981,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1989,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1938,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1936,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1949,1
    - Dst: pkey_test_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1950,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1966,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1997
    functionName: pderive_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - strcmp
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_utf8_string
    - find_key
    - EVP_PKEY_derive_set_peer_ex
    - parse_bin
    - strtoul
    - OSSL_PARAM_construct_end
    - pkey_test_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int pderive_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2190,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2194,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2191,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2192,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2193,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2195,1
    - Dst: pbkdf2_test_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2197,1
    - Dst: pkcs12_test_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2199,1
    - Dst: scrypt_test_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2205
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2205
    functionName: pbe_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - pbkdf2_test_parse
    - pkcs12_test_parse
    - strcmp
    - parse_bin
    - scrypt_test_parse
    linkageType: ''
    returnType: int
    signature: 'static int pbe_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3324
      start: 3320
    functionDepth: 0
    functionLinenumber: 3320
    functionLinenumberEnd: 3324
    functionName: digestsign_update_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: int
    signature: 'static int digestsign_update_fn(void *ctx, const unsigned char *buf,
      size_t buflen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:164,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:171,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:169,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:174,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:171,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:174,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:177,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - value
    - sk
    argTypes:
    - char*
    - STACK_OF(EVP_TEST_BUFFER)*
    constantsTouched: []
    func_position:
      end: 183
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 183
    functionName: evp_test_buffer_ncopy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - memcpy
    - sk_EVP_TEST_BUFFER_num
    - sk_EVP_TEST_BUFFER_value
    - atoi
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int evp_test_buffer_ncopy(const char *value, STACK_OF(EVP_TEST_BUFFER)
      *sk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 3254
      start: 3251
    functionDepth: 0
    functionLinenumber: 3251
    functionLinenumberEnd: 3254
    functionName: digestsign_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: 'static int digestsign_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1813,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1822,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1813,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1828,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1832,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1832,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1838,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1847,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1853,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1854,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1838,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1856
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1856
    functionName: pkey_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - memory_err_compare
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_test_run(EVP_TEST *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1912
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1912
    functionName: verify_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_verify
    linkageType: ''
    returnType: int
    signature: 'static int verify_test_run(EVP_TEST *t) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2078,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2079,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2088,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2084,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2088,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2089,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - value
    - pr
    argTypes:
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2096
    functionName: parse_uint64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - isdigit
    - TEST_true
    - TEST_error
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int parse_uint64(const char *value, uint64_t *pr) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2530,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2539,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2545,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2555,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2548,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2561,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2563,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2569,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2538,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2543,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2546,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2553,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2559,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2562,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2565,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2566,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2567,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2568,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2570,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2537,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2542,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2558,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2552,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2566,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2568,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2580,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2529,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2536,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2541,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2550,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2556,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2573,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2574,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2579,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2585
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2585
    functionName: rand_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - strchr
    - strcmp
    - TEST_ptr
    - strncmp
    - atoi
    - parse_bin
    linkageType: ''
    returnType: int
    signature: 'static int rand_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3606,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3611,1
    - Dst: check_test_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3618
      start: 3596
    functionDepth: 0
    functionLinenumber: 3596
    functionLinenumberEnd: 3618
    functionName: run_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - check_test_error
    - TEST_openssl_errors
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int run_test(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1861
    functionName: sign_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - pkey_test_init
    linkageType: ''
    returnType: int
    signature: 'static int sign_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2103,1
    - Dst: parse_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2104,1
    - Dst: parse_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2106,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2107,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2105,1
    - Dst: parse_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2108,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2109,1
    - Dst: parse_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2112
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2112
    functionName: scrypt_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - parse_uint64
    linkageType: ''
    returnType: int
    signature: 'static int scrypt_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2603,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2606,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2624,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2640,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2630,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2641,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2654,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2655,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2658,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2668,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2682,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2669,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2598,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2608,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2609,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2610,1
    - Dst: EVP_RAND_get_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2613,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2637,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2619,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2625,1
    - Dst: EVP_RAND_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2644,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2651,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2672,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2680,1
    - Dst: EVP_RAND_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2682,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2692,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2598,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2622,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2641,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2655,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2658,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2669,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2672,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2679,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2679,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2691,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2601,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2610,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2625,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2644,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2677,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2680,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2681,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2681,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2665,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 108
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2694
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2694
    functionName: rand_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_RAND_get_state
    - OPENSSL_malloc
    - OSSL_PARAM_construct_int
    - EVP_RAND_verify_zeroization
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - EVP_RAND_generate
    - EVP_RAND_instantiate
    - TEST_int_eq
    - EVP_RAND_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - EVP_RAND_reseed
    - EVP_RAND_uninstantiate
    - EVP_RAND_get_strength
    linkageType: ''
    returnType: int
    signature: 'static int rand_test_run(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3260,1
    - Dst: sk_EVP_TEST_BUFFER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3261,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3264,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3262,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3266
      start: 3256
    functionDepth: 0
    functionLinenumber: 3256
    functionLinenumberEnd: 3266
    functionName: digestsigver_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - sk_EVP_TEST_BUFFER_pop_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void digestsigver_test_cleanup(EVP_TEST *t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - ppk
    - name
    - lst
    argTypes:
    - EVP_PKEY**
    - char*
    - KEY_LIST*
    constantsTouched: []
    func_position:
      end: 3630
      start: 3620
    functionDepth: 0
    functionLinenumber: 3620
    functionLinenumberEnd: 3630
    functionName: find_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int find_key(EVP_PKEY **ppk, const char *name, KEY_LIST *lst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:379,1
    - Dst: evp_test_buffer_append
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:380,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:383,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:382,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:381,1
    - Dst: evp_test_buffer_set_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:384,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:385,1
    - Dst: evp_test_buffer_ncopy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:386,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:387,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: digest_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - evp_test_buffer_append
    - strcmp
    - evp_test_buffer_ncopy
    - atoi
    - parse_bin
    - evp_test_buffer_set_count
    linkageType: ''
    returnType: int
    signature: 'static int digest_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2140,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2141,1
    - Dst: pbkdf2_test_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2147
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2147
    functionName: pkcs12_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - atoi
    - pbkdf2_test_parse
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2298,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2304,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2298,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2300,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2302,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2306,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2306,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2309,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2317,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - t
    - encoding
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 2319
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2319
    functionName: encode_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - TEST_ptr
    - strcmp
    - OPENSSL_free
    - OPENSSL_zalloc
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int encode_test_init(EVP_TEST *t, const char *encoding) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 3373
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3373
    functionName: digestverify_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: 'static int digestverify_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: digest_update_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: 'static int digest_update_fn(void *ctx, const unsigned char *buf, size_t
      buflen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_kdf_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2154,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2155,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2159,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2163,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2161,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2166,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2169,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 2174
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2174
    functionName: pbe_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strcmp
    - is_kdf_disabled
    - TEST_info
    - OPENSSL_zalloc
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int pbe_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2325,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2326,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2328
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2328
    functionName: encode_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void encode_test_cleanup(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3379
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3379
    functionName: digestverify_update_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyUpdate
    linkageType: ''
    returnType: int
    signature: 'static int digestverify_update_fn(void *ctx, const unsigned char *buf,
      size_t buflen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2770,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2774,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2772,1
    - Dst: EVP_KDF_CTX_kdf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2770,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2772,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2780,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2781,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2782,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2785,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2788,1
    - Dst: is_digest_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2789,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2796,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2802,1
    - Dst: is_cipher_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2797,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2795,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2798,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2790,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - t
    - kctx
    - value
    argTypes:
    - EVP_TEST*
    - EVP_KDF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 2804
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2804
    functionName: kdf_test_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - EVP_KDF_settable_ctx_params
    - EVP_KDF_CTX_kdf
    - TEST_ptr
    - strchr
    - OPENSSL_free
    - strcmp
    - is_cipher_disabled
    - TEST_info
    - OSSL_PARAM_allocate_from_text
    - is_digest_disabled
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int kdf_test_ctrl(EVP_TEST *t, EVP_KDF_CTX *kctx, const char
      *value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3542,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3551,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3545,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3557,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3556,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3566,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3571,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3573,1
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3578,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3580,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3589,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3586,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3593
      start: 3533
    functionDepth: 0
    functionLinenumber: 3533
    functionLinenumberEnd: 3593
    functionName: check_test_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - ERR_peek_error
    - ERR_reason_error_string
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int check_test_error(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - PAIR*
    constantsTouched: []
    func_position:
      end: 3682
      start: 3676
    functionDepth: 0
    functionLinenumber: 3676
    functionLinenumberEnd: 3682
    functionName: take_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *take_value(PAIR *pp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2811,1
    - Dst: kdf_test_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2814,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2812,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2813,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2816
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2816
    functionName: kdf_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - strncmp
    - parse_bin
    - kdf_test_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int kdf_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3229,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3238,1
    - Dst: is_digest_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3230,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3238,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3234,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3241,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3241,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - t
    - alg
    - is_verify
    - is_oneshot
    argTypes:
    - EVP_TEST*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3249
      start: 3223
    functionDepth: 0
    functionLinenumber: 3223
    functionLinenumberEnd: 3249
    functionName: digestsigver_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    - strcmp
    - TEST_ptr
    - EVP_get_digestbyname
    - OPENSSL_free
    - OPENSSL_zalloc
    - is_digest_disabled
    linkageType: ''
    returnType: int
    signature: 'static int digestsigver_test_init(EVP_TEST *t, const char *alg, int
      is_verify, int is_oneshot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_clearstanza
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3513,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3514,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3521,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3518,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3530
      start: 3511
    functionDepth: 0
    functionLinenumber: 3511
    functionLinenumberEnd: 3530
    functionName: clear_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_clear_error
    - test_clearstanza
    linkageType: ''
    returnType: void
    signature: 'static void clear_test(EVP_TEST *t) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3763,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3766,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3767,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3771,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3792,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3787,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3774,1
    - Dst: prov_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3837,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3840,1
    - Dst: take_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3862,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3886,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3828,1
    - Dst: take_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3914,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3869,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3836,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3750,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3762,1
    - Dst: clear_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3752,1
    - Dst: key_unsupported
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3764,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3776,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3780,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3775,1
    - Dst: key_unsupported
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3819,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3821,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3825,1
    - Dst: find_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3874,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3857,1
    - Dst: securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3889,1
    - Dst: fips_provider_version_match
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3838,1
    - Dst: take_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3906,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3874,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3911,1
    - Dst: key_unsupported
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3773,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3795,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3809,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3814,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3820,1
    - Dst: prov_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3827,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3843,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3856,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3860,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3877,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3892,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3897,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3898,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3920,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3924,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3903,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3826,1
    - Dst: test_readstanza
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3753,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3765,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3781,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3772,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3800,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3804,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3806,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3810,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3817,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3822,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3909,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3901,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3907,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3860,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 175
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3932
      start: 3741
    functionDepth: 0
    functionLinenumber: 3741
    functionLinenumberEnd: 3932
    functionName: parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strchr
    - EVP_PKEY_free
    - EVP_PKEY_new_raw_private_key_ex
    - securitycheck_enabled
    - TEST_error
    - find_test
    - TEST_openssl_errors
    - OPENSSL_malloc
    - test_readstanza
    - strcmp
    - OPENSSL_free
    - key_unsupported
    - TEST_info
    - PEM_read_bio_PUBKEY_ex
    - fips_provider_version_match
    - OBJ_txt2nid
    - PEM_read_bio_PrivateKey_ex
    - EVP_PKEY_new_raw_public_key_ex
    - clear_test
    - parse_bin
    - BIO_eof
    - take_value
    - prov_available
    - TEST_ptr
    - find_key
    linkageType: ''
    returnType: int
    signature: 'static int parse(EVP_TEST *t) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3690,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3701,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3695,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3700,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3698,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3702,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3710
      start: 3685
    functionDepth: 0
    functionLinenumber: 3685
    functionLinenumberEnd: 3710
    functionName: securitycheck_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PROVIDER_get_params
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_load
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int securitycheck_enabled(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: openssl_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void openssl_free(char *m) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2214,1
    - Dst: EVP_PBE_scrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2230,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2216,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2216,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2221,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2239,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2239,1
    - Dst: PKCS12_key_gen_uni
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2245,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2253,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2259,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2260,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2261,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2263
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2263
    functionName: pbe_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_PBE_scrypt
    - PKCS12_key_gen_uni
    - OSSL_LIB_CTX_set0_default
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - EVP_MD_get0_name
    - PKCS5_PBKDF2_HMAC
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pbe_test_run(EVP_TEST *t) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_test_buffer_do
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3332,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3338,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3342,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3342,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3347,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3351,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3358,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3360
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3360
    functionName: digestsign_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - EVP_DigestSignFinal
    - evp_test_buffer_do
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int digestsign_test_run(EVP_TEST *t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4084,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4089,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4093,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4085,1
    - Dst: STR_STARTS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4097,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4101
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4101
    functionName: is_mac_disabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - STR_STARTS_WITH
    linkageType: ''
    returnType: int
    signature: 'static int is_mac_disabled(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STR_ENDS_WITH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:4105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4109
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4109
    functionName: is_kdf_disabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - STR_ENDS_WITH
    linkageType: ''
    returnType: int
    signature: 'static int is_kdf_disabled(const char *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1162,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1177,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1173,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1167,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1163,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1180,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1182,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1184,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1186,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1196,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1196,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1202,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1204,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1192,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1202,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1203,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1211
    functionName: mac_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_new_null
    - is_mac_disabled
    - strcmp
    - TEST_ptr
    - OPENSSL_free
    - TEST_info
    - OPENSSL_zalloc
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int mac_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2464,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2472,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2464,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2471,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2468,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2476,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2477,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2480,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2483,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2484,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2493,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2492,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 2495
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2495
    functionName: rand_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_RAND_CTX_set_params
    - OPENSSL_zalloc
    - EVP_RAND_CTX_new
    - EVP_RAND_free
    linkageType: ''
    returnType: int
    signature: 'static int rand_test_init(EVP_TEST *t, const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_digest_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:345,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:346,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:352,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:354,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:351,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:354,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: digest_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_get_digestbyname
    - TEST_info
    - OPENSSL_zalloc
    - is_digest_disabled
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int digest_test_init(EVP_TEST *t, const char *alg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1727,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1736,1
    - Dst: find_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1729,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1736,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1731,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1737,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1741,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1741,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1742,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1743,1
    - Dst: keyopinit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1746,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 5
    argNames:
    - t
    - name
    - use_public
    - (*keyopinit)
    - (*keyop)
    argTypes:
    - EVP_TEST*
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1750
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1750
    functionName: pkey_test_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - keyopinit
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_free
    - OPENSSL_zalloc
    - TEST_info
    - EVP_PKEY_CTX_new_from_pkey
    - find_key
    linkageType: ''
    returnType: int
    signature: 'static int pkey_test_init(EVP_TEST *t, const char *name, int use_public,
      int (*keyopinit) (EVP_PKEY_CTX *ctx), int (*keyop)(EVP_PKEY_CTX *ctx, unsigned
      char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen)) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2006,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2016,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2011,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2012,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2006,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2016,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2020,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2024,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2031,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2032,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2034
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2034
    functionName: pderive_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_size_t_ne
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pderive_test_run(EVP_TEST *t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2335,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2336,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2337,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2340
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2340
    functionName: encode_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - parse_bin
    linkageType: ''
    returnType: int
    signature: 'static int encode_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 3462
      start: 3454
    functionDepth: 0
    functionLinenumber: 3454
    functionLinenumberEnd: 3462
    functionName: oneshot_digestverify_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerify
    linkageType: ''
    returnType: int
    signature: 'static int oneshot_digestverify_test_run(EVP_TEST *t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3937,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3940,1
    - Dst: test_start_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3942,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3940,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3943,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3947,1
    - Dst: parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3948,1
    - Dst: run_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3953,1
    - Dst: test_end_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3958,1
    - Dst: clear_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3959,1
    - Dst: free_key_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3961,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3963,1
    - Dst: free_key_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3962,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 3967
      start: 3934
    functionDepth: 0
    functionLinenumber: 3934
    functionLinenumberEnd: 3967
    functionName: run_file_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - parse
    - run_test
    - BIO_free
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - test_start_file
    - free_key_list
    - OPENSSL_zalloc
    - test_end_file
    - clear_test
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: 'static int run_file_tests(int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_TEST_BUFFER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:369,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:370,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: digest_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_EVP_TEST_BUFFER_pop_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: 'static void digest_test_cleanup(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1756,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1757,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1759
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1759
    functionName: pkey_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void pkey_test_cleanup(EVP_TEST *t) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2349,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2356,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2362,1
    - Dst: EVP_DecodeFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2389,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2405,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2407,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2358,1
    - Dst: EVP_EncodeFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2368,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2378,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2396,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2408,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2357,1
    - Dst: EVP_EncodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2361,1
    - Dst: EVP_EncodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2362,1
    - Dst: memory_err_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2371,1
    - Dst: EVP_DecodeInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2381,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2377,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2349,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2356,1
    - Dst: EVP_ENCODE_LENGTH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2358,1
    - Dst: EVP_DECODE_LENGTH
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2378,1
    - Dst: EVP_DecodeUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2382,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2406,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2410
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2410
    functionName: encode_test_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_DecodeUpdate
    - EVP_ENCODE_CTX_new
    - EVP_DECODE_LENGTH
    - EVP_DecodeInit
    - TEST_ptr
    - memory_err_compare
    - EVP_EncodeFinal
    - EVP_EncodeInit
    - TEST_true
    - EVP_DecodeFinal
    - OPENSSL_free
    - EVP_ENCODE_CTX_free
    - EVP_EncodeUpdate
    - EVP_ENCODE_LENGTH
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int encode_test_run(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2502,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2503,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2508,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2506,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2507,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2509,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2510,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2511,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2512,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2513,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2514,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2515,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2518,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:2517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 2519
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2519
    functionName: rand_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_RAND_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void rand_test_cleanup(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3979
      start: 3969
    functionDepth: 0
    functionLinenumber: 3969
    functionLinenumberEnd: 3979
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:279,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:292,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:312,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:302,1
    - Dst: unescape
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:307,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:312,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:313,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:314,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - value
    - buf
    - buflen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 320
    functionName: parse_bin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - TEST_openssl_errors
    - TEST_ptr
    - strcmp
    - TEST_info
    - OPENSSL_hexstr2buf
    - OPENSSL_malloc
    - unescape
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int parse_bin(const char *value, unsigned char **buf, size_t
      *buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:598,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:600,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:602,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:599,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:601,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:604,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:605,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:606,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 608
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 608
    functionName: cipher_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: 'static void cipher_test_cleanup(EVP_TEST *t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1223,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1224,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1226,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1225,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1227,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1228,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1230,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1231,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1233
    functionName: mac_test_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - EVP_MAC_free
    - OPENSSL_free
    - sk_OPENSSL_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void mac_test_cleanup(EVP_TEST *t) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3724,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3728,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:3734,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - providers
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3738
      start: 3718
    functionDepth: 0
    functionLinenumber: 3718
    functionLinenumberEnd: 3738
    functionName: prov_available
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_available
    - isspace
    linkageType: ''
    returnType: int
    signature: 'static int prov_available(char *providers) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:616,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:629,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:633,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:652,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:643,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:657,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:676,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:682,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:618,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:626,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:648,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:664,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:625,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:628,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:634,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:632,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:655,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:663,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:668,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:674,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:619,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:617,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:627,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:630,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:653,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:645,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:631,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:654,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:665,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:673,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 687
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 687
    functionName: cipher_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - strtol
    - strcmp
    - atoi
    - parse_bin
    linkageType: ''
    returnType: int
    signature: 'static int cipher_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1244,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1247,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1262,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1257,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1269,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1246,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1263,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1256,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1270,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1275,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1241,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1242,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1243,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1248,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1254,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1267,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1258,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1276,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1240,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1245,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1249,1
    - Dst: parse_bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1255,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c:1260,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1282
    functionName: mac_test_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/evp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_push
    - strcmp
    - atoi
    - parse_bin
    linkageType: ''
    returnType: int
    signature: 'static int mac_test_parse(EVP_TEST *t, const char *keyword, const
      char *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:107,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:124,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:123,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:131,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:131,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:134,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:143,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:106,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:111,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:115,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:142,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:123,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:122,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:125,1
    - Dst: get_sni_from_client_hello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:134,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:111,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:106,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:121,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:129,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:137,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:144,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 146
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 146
    functionName: client_setup_sni_before_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c
    functionUses: []
    functionsReached:
    - SSL_set_bio
    - get_sni_from_client_hello
    - TEST_int_le
    - SSL_free
    - BIO_free
    - SSL_CTX_set_max_proto_version
    - SSL_connect
    - TEST_ptr
    - TEST_str_eq
    - SSL_CTX_new
    - TEST_true
    - OPENSSL_free
    - SSL_CTX_free
    - BIO_s_mem
    - TLS_method
    - SSL_set_tlsext_host_name
    - BIO_new
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int client_setup_sni_before_state(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:207,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:207,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:207,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:208,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:211,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:211,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:216,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:218,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:218,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:221,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:229,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:232,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:231,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:230,1
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 235
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 235
    functionName: server_setup_sni
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c
    functionUses: []
    functionsReached:
    - SSL_free
    - create_ssl_connection
    - TEST_true
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_get_servername
    - create_ssl_ctx_pair
    - TEST_ptr_null
    - SSL_set_tlsext_host_name
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int server_setup_sni(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:48,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:52,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:54,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:57,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:61,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:66,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:59,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:68,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:70,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:76,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:49,1
    - Dst: TEST_long_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:54,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:55,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:75,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:79,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:82,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:83,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:85,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:86,1
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:81,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:80,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:50,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:66,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:59,1
    - Dst: PACKET_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:61,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:68,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:70,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:76,1
    - Dst: TEST_uint_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:80,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:74,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:51,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:55,1
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:75,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:79,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:83,1
    - Dst: TEST_uint_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:84,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:84,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:85,1
    - Dst: PACKET_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:86,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:81,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 2
    argNames:
    - bio
    - sni
    argTypes:
    - BIO*
    - char**
    constantsTouched: []
    func_position:
      end: 94
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 94
    functionName: get_sni_from_client_hello
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c
    functionUses: []
    functionsReached:
    - PACKET_get_length_prefixed_2
    - PACKET_forward
    - TEST_uint_le
    - TEST_true
    - TEST_uint_eq
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_as_length_prefixed_2
    - TEST_false
    - PACKET_contains_zero_byte
    - PACKET_strndup
    - TEST_uint_ne
    - TEST_long_ge
    - PACKET_buf_init
    - BIO_get_mem_data
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int get_sni_from_client_hello(BIO *bio, char **sni) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: test_servername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_servername(int test) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:171,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:182,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:172,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:190,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:197,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:163,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:158,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:166,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:167,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:170,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:184,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:184,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:187,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:196,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:159,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:172,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:179,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:171,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:195,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:163,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:170,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:178,1
    - Dst: get_sni_from_client_hello
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:187,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 199
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 199
    functionName: client_setup_sni_after_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c
    functionUses: []
    functionsReached:
    - get_sni_from_client_hello
    - BIO_free
    - BIO_s_mem
    - TLS_method
    - BIO_new
    - SSL_new
    - TEST_int_le
    - SSL_connect
    - TEST_str_eq
    - OPENSSL_free
    - TEST_true
    - SSL_set_bio
    - SSL_CTX_free
    - SSL_set_connect_state
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - TEST_ptr
    - SSL_CTX_new
    - SSL_set_tlsext_host_name
    linkageType: ''
    returnType: int
    signature: 'static int client_setup_sni_after_state(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:256,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:261,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:261,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:257,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:262,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:265,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/servername_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - OSSL_NELEM
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:182,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:201,1
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:207,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:211,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:214,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:223,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:228,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:231,1
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:238,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:198,1
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:206,1
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:209,1
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:224,1
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:226,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:237,1
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:241,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:246,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:242,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:197,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:201,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:211,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:223,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:228,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:238,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:242,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:245,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:187,1
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:198,1
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:210,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:206,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:215,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:224,1
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:227,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:232,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:237,1
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:240,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 254
    functionName: test_siphash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c
    functionUses: []
    functionsReached:
    - SipHash_set_hash_size
    - TEST_int_le
    - SipHash_Final
    - TEST_mem_eq
    - SipHash_Update
    - TEST_true
    - TEST_info
    - SipHash_Init
    linkageType: ''
    returnType: int
    signature: 'static int test_siphash(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:287,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:288,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:267,1
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:268,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:274,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:273,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:276,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:279,1
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:280,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:282,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:266,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:264,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:281,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:281,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:267,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:268,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:270,1
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:274,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:270,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:276,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:279,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:280,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:282,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:263,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:264,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:263,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:266,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:275,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c:275,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 283
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 283
    functionName: test_siphash_basic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/siphash_internal_test.c
    functionUses: []
    functionsReached:
    - SipHash_set_hash_size
    - SipHash_Final
    - TEST_int_eq
    - TEST_true
    - TEST_false
    - SipHash_Init
    linkageType: ''
    returnType: int
    signature: 'static int test_siphash_basic(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:125,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:125,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:127,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:126,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:129,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:129,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:131,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:131,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:135,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:137,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:142,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:136,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:143,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:144,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:145,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 147
    functionName: ecdsa_keygen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_ge
    - OPENSSL_clear_free
    - pkey_get_bn_bytes
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_keygen_test(int id) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:463,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:464,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:465,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:479,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:475,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:480,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:486,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:491,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:507,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:515,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:507,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:463,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:466,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:472,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:474,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:473,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:479,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:481,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:498,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:499,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:504,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:505,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:513,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:465,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:469,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:475,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:480,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:486,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:491,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:497,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:499,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:505,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:506,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:504,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:506,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:464,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:466,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:474,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:472,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:481,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:497,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:498,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:514,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 98
    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*
    constantsTouched: []
    func_position:
      end: 517
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 517
    functionName: dsa_create_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_fromdata_init
    - TEST_true
    - OSSL_PARAM_BLD_push_int
    - EVP_PKEY_fromdata
    - BN_bin2bn
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int dsa_create_pkey(EVP_PKEY **pkey, const unsigned char *p,
      size_t p_len, const unsigned char *q, size_t q_len, const unsigned char *g,
      size_t g_len, const unsigned char *seed, size_t seed_len, int counter, int validate_pq,
      int validate_g, const unsigned char *pub, size_t pub_len, BN_CTX *bn_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:682,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:683,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:684,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:684,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:683,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:685,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:685,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:686,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:686,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:687,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:687,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:688,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:695,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:691,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:688,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:696,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    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
    constantsTouched: []
    func_position:
      end: 698
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 698
    functionName: cipher_enc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int cipher_enc(const char *alg, const unsigned char *pt, size_t
      pt_len, const unsigned char *key, size_t key_len, const unsigned char *iv, size_t
      iv_len, const unsigned char *ct, size_t ct_len, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:162,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:160,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:160,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:165,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:165,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:166,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:166,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:167,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:176,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:174,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:175,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:168,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:168,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:167,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 5
    argNames:
    - pkey
    - curve_name
    - pub
    - pub_len
    - expected
    argTypes:
    - EVP_PKEY**
    - char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 178
    functionName: ecdsa_create_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_utf8_string
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_create_pkey(EVP_PKEY **pkey, const char *curve_name,
      const unsigned char *pub, size_t pub_len, int expected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:527,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:527,1
    - Dst: dsa_create_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:528,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:534,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:528,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:534,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:536,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:536,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:541,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:542,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:543,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 545
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 545
    functionName: dsa_pqver_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - dsa_create_pkey
    - TEST_true
    - BN_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_param_check
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pqver_test(int id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:705,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:709,1
    - Dst: cipher_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:709,1
    - Dst: cipher_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 713
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 713
    functionName: cipher_enc_dec_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - cipher_enc
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int cipher_enc_dec_test(int id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:320,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:327,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:332,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:323,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 4
    argNames:
    - pkey
    - name
    - out
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: pkey_get_octet_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_get_octet_string_param
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int pkey_get_octet_bytes(EVP_PKEY *pkey, const char *name,
      unsigned char **out, size_t *out_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:384,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:386,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:391,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:393,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:402,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:383,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:383,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:399,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:389,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:401,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:377,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:378,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:380,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:380,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:384,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:400,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:386,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:392,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:390,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:404,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:378,1
    - Dst: dsa_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:377,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:403,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 406
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 406
    functionName: dsa_keygen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - EVP_PKEY_keygen
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - dsa_paramgen
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - EVP_PKEY_keygen_init
    - pkey_get_bn_bytes
    linkageType: ''
    returnType: int
    signature: 'static int dsa_keygen_test(int id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:730,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:733,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:743,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:742,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:755,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:755,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:761,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:735,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:741,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:740,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:744,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:744,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:751,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:767,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:734,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:736,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:736,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:742,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:743,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:757,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:768,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:734,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:733,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:735,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:738,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:740,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:738,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:741,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:751,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:758,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    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
    constantsTouched: []
    func_position:
      end: 770
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 770
    functionName: aes_ccm_enc_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - TEST_int_gt
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int aes_ccm_enc_dec(const char *alg, const unsigned char *pt,
      size_t pt_len, const unsigned char *key, size_t key_len, const unsigned char
      *iv, size_t iv_len, const unsigned char *aad, size_t aad_len, const unsigned
      char *ct, size_t ct_len, const unsigned char *tag, size_t tag_len, int enc,
      int pass) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:820,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:822,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:837,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:840,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:854,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:817,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:821,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:820,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:823,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:823,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:838,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:839,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:843,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:843,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:821,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:822,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:828,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:828,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:837,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:840,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:851,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:857,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:864,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:838,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:839,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:852,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:852,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:863,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 65
    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
    constantsTouched: []
    func_position:
      end: 866
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 866
    functionName: aes_gcm_enc_dec
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - TEST_int_gt
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_enc_dec(const char *alg, const unsigned char *pt,
      size_t pt_len, const unsigned char *key, size_t key_len, const unsigned char
      *iv, size_t iv_len, const unsigned char *aad, size_t aad_len, const unsigned
      char *ct, size_t ct_len, const unsigned char *tag, size_t tag_len, int enc,
      int pass) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1017,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1024,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1030,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1045,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1038,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1015,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1016,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1016,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1018,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1022,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1023,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1031,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1035,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1044,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1038,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1015,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1017,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1022,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1024,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1030,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1029,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1035,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1036,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1037,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1037,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1018,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1029,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1031,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1023,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1036,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1046,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    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*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1048
    functionName: rsa_create_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_fromdata_init
    - TEST_true
    - EVP_PKEY_fromdata
    - BN_bin2bn
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int rsa_create_pkey(EVP_PKEY **pkey, const unsigned char *n,
      size_t n_len, const unsigned char *e, size_t e_len, const unsigned char *d,
      size_t d_len, BN_CTX *bn_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:284,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:289,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:297,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:299,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:296,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:303,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:288,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:291,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:299,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:302,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:306,1
    - Dst: ecdsa_create_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:284,1
    - Dst: ECDSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:288,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:290,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:297,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:289,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:290,1
    - Dst: ECDSA_SIG_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:291,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:295,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:296,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:295,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:304,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 310
    functionName: ecdsa_sigver_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - i2d_ECDSA_SIG
    - ECDSA_SIG_set0
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - TEST_int_gt
    - BN_free
    - BN_bin2bn
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - ecdsa_create_pkey
    - EVP_DigestVerify
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sigver_test(int id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:341,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:342,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:343,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:342,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:341,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:343,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:344,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:344,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:345,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:345,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: dsa_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - TEST_true
    - TEST_int_gt
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_paramgen
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *dsa_paramgen(int L, int N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:417,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:420,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:421,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:424,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:422,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:426,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:434,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:436,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:439,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:443,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:419,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:428,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:435,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:442,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:418,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:418,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:420,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:421,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:422,1
    - Dst: pkey_get_octet_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:426,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:424,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:441,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:417,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:419,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:428,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:433,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:440,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 445
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 445
    functionName: dsa_paramgen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - test_printf_stderr
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_paramgen
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - pkey_get_octet_bytes
    - pkey_get_bn_bytes
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    linkageType: ''
    returnType: int
    signature: 'static int dsa_paramgen_test(int id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:638,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:643,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:644,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:651,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:659,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:663,1
    - Dst: dsa_create_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:630,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:636,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:637,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:638,1
    - Dst: DSA_SIG_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:639,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:648,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:643,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:658,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:662,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:629,1
    - Dst: DSA_SIG_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:636,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:637,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:649,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:644,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:650,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:650,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:657,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:661,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:629,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:639,1
    - Dst: i2d_DSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:648,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:649,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:651,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:656,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:660,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 665
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 665
    functionName: dsa_sigver_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - BN_CTX_free
    - i2d_DSA_SIG
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - TEST_true
    - BN_CTX_new
    - BN_bin2bn
    - EVP_MD_free
    - DSA_SIG_set0
    - DSA_SIG_new
    - EVP_PKEY_verify
    - DSA_SIG_free
    - TEST_int_eq
    - dsa_create_pkey
    - EVP_Digest
    - EVP_MD_fetch
    - EVP_PKEY_verify_init
    - TEST_ptr
    - TEST_int_gt
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_sigver_test(int id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_ccm_enc_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:786,1
    - Dst: aes_ccm_enc_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:790,1
    - Dst: aes_ccm_enc_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 800
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 800
    functionName: aes_ccm_enc_dec_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - aes_ccm_enc_dec
    linkageType: ''
    returnType: int
    signature: 'static int aes_ccm_enc_dec_test(int id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_enc_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:874,1
    - Dst: aes_gcm_enc_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:885,1
    - Dst: aes_gcm_enc_dec
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 890
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 890
    functionName: aes_gcm_enc_dec_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - aes_gcm_enc_dec
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_enc_dec_test(int id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECDSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:213,1
    - Dst: ECDSA_SIG_get0_r
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:217,1
    - Dst: ECDSA_SIG_get0_s
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:218,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:223,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:222,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:224,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:225,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:228,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:230,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:239,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:240,1
    - Dst: ECDSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:242,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 35
    argCount: 6
    argNames:
    - sig
    - sig_len
    - r
    - s
    - rlen
    - slen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - unsigned char**
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 244
    functionName: get_ecdsa_sig_rs_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - ECDSA_SIG_get0_r
    - BN_num_bytes
    - OPENSSL_free
    - ECDSA_SIG_get0_s
    - BN_bn2binpad
    - OPENSSL_zalloc
    - d2i_ECDSA_SIG
    - ECDSA_SIG_free
    linkageType: ''
    returnType: int
    signature: 'static int get_ecdsa_sig_rs_bytes(const unsigned char *sig, size_t
      sig_len, unsigned char **r, unsigned char **s, size_t *rlen, size_t *slen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:906,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:906,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:912,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:913,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:919,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:921,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:926,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:935,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:912,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:914,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:920,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:927,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:926,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:928,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:928,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:929,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:929,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:904,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:913,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:921,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:927,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:937,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:904,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:914,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:919,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:920,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:936,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 60
    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
    constantsTouched: []
    func_position:
      end: 939
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 939
    functionName: dh_create_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - OSSL_PARAM_BLD_push_utf8_string
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_fromdata_init
    - TEST_int_gt
    - EVP_PKEY_fromdata
    - BN_bin2bn
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int dh_create_pkey(EVP_PKEY **pkey, const char *group_name,
      const unsigned char *pub, size_t pub_len, const unsigned char *priv, size_t
      priv_len, BN_CTX *bn_ctx, int pass) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1222,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1226,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1229,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1215,1
    - Dst: rsa_create_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1223,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1230,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1237,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1218,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1213,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1225,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1230,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1229,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1236,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1226,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1209,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1220,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1222,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1223,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1225,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1235,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1239
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1239
    functionName: rsa_sigver_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - OSSL_PARAM_construct_int
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_PKEY_CTX_set_params
    - TEST_int_eq
    - TEST_true
    - EVP_PKEY_free
    - BN_CTX_free
    - EVP_MD_CTX_free
    - BN_CTX_new
    - OSSL_PARAM_construct_utf8_string
    - rsa_create_pkey
    - OSSL_PARAM_construct_end
    - EVP_DigestVerify
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int rsa_sigver_test(int id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1288,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1293,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1303,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1298,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 2
    argNames:
    - params
    - varg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1307
    functionName: self_test_events
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int self_test_events(const OSSL_PARAM params[], void *varg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:188,1
    - Dst: ecdsa_create_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:188,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:193,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:193,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:194,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:199,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: ecdsa_pub_verify_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - ecdsa_create_pkey
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_pub_verify_test(int id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:255,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:255,1
    - Dst: sig_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:258,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:258,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:260,1
    - Dst: get_ecdsa_sig_rs_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:260,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:262,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:263,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:266,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:267,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:268,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:269,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: ecdsa_siggen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - sig_gen
    - test_output_memory
    - get_ecdsa_sig_rs_bytes
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_siggen_test(int id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:356,1
    - Dst: dsa_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:356,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:357,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:359,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:357,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:359,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:360,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:360,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:363,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:364,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: dsa_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - dsa_paramgen
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *dsa_keygen(int L, int N) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:956,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:954,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:956,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:958,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:960,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:962,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:962,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:966,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:973,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:972,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:967,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:970,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:952,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:957,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:957,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:958,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:959,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:959,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:960,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:971,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 975
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 975
    functionName: dh_safe_prime_keygen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_params
    - TEST_ptr
    - EVP_PKEY_keygen
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    - pkey_get_bn_bytes
    linkageType: ''
    returnType: int
    signature: 'static int dh_safe_prime_keygen_test(int id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1253,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1256,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1263,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1270,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1253,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1255,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1254,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1255,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1258,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1261,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1258,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1269,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1273,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1262,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1272,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1254,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1256,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1257,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1257,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1266,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1264,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1271,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1275
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1275
    functionName: rsa_decryption_primitive_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - EVP_PKEY_decrypt
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - TEST_note
    - BN_CTX_free
    - TEST_int_gt
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_free
    - pkey_get_bn_bytes
    - EVP_PKEY_CTX_set_rsa_padding
    linkageType: ''
    returnType: int
    signature: 'static int rsa_decryption_primitive_test(int id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1322,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1329,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1342,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1347,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1354,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1362,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1372,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1377,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1383,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1333,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1343,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1334,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1350,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1363,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1365,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1373,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1382,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1384,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1321,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1329,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1334,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1340,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1333,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1338,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1354,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1362,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1369,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1372,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1324,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1321,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1322,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1327,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1328,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1343,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1353,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1363,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1365,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1373,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1386
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1386
    functionName: drbg_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - test_output_memory
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_int
    - EVP_RAND_instantiate
    - EVP_RAND_generate
    - OSSL_PARAM_construct_uint
    - TEST_mem_eq
    - TEST_ptr
    - EVP_RAND_CTX_free
    - TEST_true
    - EVP_RAND_CTX_set_params
    - EVP_RAND_uninstantiate
    - EVP_RAND_CTX_new
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_RAND_free
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int drbg_test(int id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1499,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1501
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1501
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:67,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:70,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:73,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:69,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:81,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 4
    argNames:
    - pkey
    - name
    - out
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: pkey_get_bn_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - OPENSSL_free
    - BN_bn2binpad
    - EVP_PKEY_get_bn_param
    - OPENSSL_zalloc
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int pkey_get_bn_bytes(EVP_PKEY *pkey, const char *name, unsigned
      char **out, size_t *out_len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSA_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:556,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:564,1
    - Dst: DSA_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:560,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:566,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:565,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:567,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:570,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:572,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:581,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:582,1
    - Dst: DSA_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:584,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 32
    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*
    constantsTouched: []
    func_position:
      end: 586
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 586
    functionName: get_dsa_sig_rs_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - DSA_SIG_free
    - BN_num_bytes
    - d2i_DSA_SIG
    - OPENSSL_free
    - BN_bn2binpad
    - OPENSSL_zalloc
    - DSA_SIG_get0
    linkageType: ''
    returnType: int
    signature: 'static int get_dsa_sig_rs_bytes(const unsigned char *sig, size_t sig_len,
      unsigned char **r, unsigned char **s, size_t *r_len, size_t *s_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1107,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1101,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1146,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1068,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1128,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1149,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1109,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1071,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1072,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1103,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1094,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1140,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1119,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1077,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1081,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1093,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1126,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1143,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1074,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1073,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1075,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1079,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1090,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1111,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1097,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1105,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1120,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1150,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1137,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1087,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1091,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1153,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1115,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1131,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1099,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1116,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1129,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1107,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1144,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1069,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1085,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1093,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1147,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1068,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1083,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1095,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1096,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1127,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1109,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1138,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1070,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1077,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1092,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1121,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1141,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1122,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1097,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1101,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1125,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1075,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1091,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1111,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1148,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1135,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1071,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1151,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1095,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1096,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1099,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1103,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1142,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1072,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1073,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1081,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1085,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1117,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1092,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1145,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1105,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1136,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1118,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1069,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1070,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1079,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1083,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1087,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1094,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1152,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1130,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1074,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1090,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1132,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1139,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 176
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1155
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1155
    functionName: rsa_keygen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - pkey_get_bn_bytes
    - OSSL_PARAM_BLD_to_param
    - test_output_memory
    - TEST_mem_eq
    - EVP_PKEY_CTX_set_params
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - BN_bin2bn
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_int_gt
    - BN_free
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    linkageType: ''
    returnType: int
    signature: 'static int rsa_keygen_test(int id) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1412,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1412,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1414,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1414,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1416,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1416,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1418,1
    - Dst: EVP_CIPHER_CTX_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1418,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1419,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1419,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1423,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1427,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1431,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1422,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1425,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1432,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1423,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1434
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1434
    functionName: aes_cfb1_bits_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_int_eq
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - TEST_int_gt
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_settable_params
    - EVP_CIPHER_CTX_set_flags
    linkageType: ''
    returnType: int
    signature: 'static int aes_cfb1_bits_test(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:94,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:98,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:98,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:97,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:99,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:99,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:101,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:101,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:108,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:109,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    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*
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: sig_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - TEST_ptr
    - TEST_int_eq
    - OPENSSL_free
    - EVP_MD_CTX_free
    - TEST_int_gt
    - EVP_DigestSign
    - OPENSSL_malloc
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int sig_gen(EVP_PKEY *pkey, OSSL_PARAM *params, const char
      *digest_name, const unsigned char *msg, size_t msg_len, unsigned char **sig_out,
      size_t *sig_out_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:596,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:599,1
    - Dst: dsa_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:596,1
    - Dst: sig_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:599,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:601,1
    - Dst: get_dsa_sig_rs_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:601,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:603,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:604,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:607,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:608,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:609,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:610,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 612
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 612
    functionName: dsa_siggen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - sig_gen
    - test_output_memory
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - get_dsa_sig_rs_bytes
    - dsa_keygen
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_siggen_test(int id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:985,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:986,1
    - Dst: dh_create_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:986,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:985,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:989,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:989,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:990,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:990,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:995,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:996,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:997,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 999
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 999
    functionName: dh_safe_prime_keyver_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_check
    - TEST_true
    - EVP_PKEY_free
    - BN_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - dh_create_pkey
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int dh_safe_prime_keyver_test(int id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1167,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1177,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1179,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1180,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1181,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1186,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1182,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1175,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1187,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1194,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1172,1
    - Dst: pkey_get_bn_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1180,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1181,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1191,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1193,1
    - Dst: sig_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1182,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1188,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1170,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1179,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1192,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1196
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1196
    functionName: rsa_siggen_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - sig_gen
    - test_output_memory
    - OSSL_PARAM_construct_int
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - pkey_get_bn_bytes
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int rsa_siggen_test(int id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1442,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1458,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1461,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1463,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1466,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1467,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1465,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1469,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1473,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1474,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1481,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1463,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1468,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1466,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1467,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1465,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1472,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1479,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1489,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1490,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1493,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1479,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1482,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1460,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1445,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1461,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1462,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1488,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1489,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1483,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1490,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1455,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1462,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1475,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1480,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1481,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1480,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1482,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1483,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1487,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1488,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1487,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c:1493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1495
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1495
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/acvp_test.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_set_callback
    - ADD_TEST
    - opt_arg
    - ADD_ALL_TESTS
    - OSSL_NELEM
    - test_get_libctx
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_STATUS_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(CMP_STATUS_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:81,1
    - Dst: EXECUTE_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: test_PKISI
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_PKISI(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:25,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CMP_STATUS_TEST_FIXTURE*
    signature: 'static CMP_STATUS_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:47,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:52,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:53,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:47,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:54,1
    - Dst: ossl_cmp_PKIStatus_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:54,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:57,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:58,1
    - Dst: ossl_cmp_pkisi_get0_statusString
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:58,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:60,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:65,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:68,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:60,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:64,1
    - Dst: ossl_cmp_pkisi_check_pkifailureinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:69,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c:75,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_STATUS_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 77
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 77
    functionName: execute_PKISI_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cmp_status_test.c
    functionUses: []
    functionsReached:
    - ossl_cmp_pkisi_get0_statusString
    - TEST_mem_eq
    - TEST_str_eq
    - sk_ASN1_UTF8STRING_value
    - TEST_int_eq
    - TEST_ptr
    - OSSL_CMP_PKISI_free
    - ossl_cmp_PKIStatus_to_string
    - ossl_cmp_pkisi_check_pkifailureinfo
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_STATUSINFO_new
    - ossl_cmp_pkisi_get_pkifailureinfo
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int execute_PKISI_test(CMP_STATUS_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:73,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:73,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:74,1
    - Dst: ossl_tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: test_ctype_tolower
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_tolower
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_ctype_tolower(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ctype_chars
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: test_ctype_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c
    functionUses: []
    functionsReached:
    - test_ctype_chars
    linkageType: ''
    returnType: int
    signature: 'static int test_ctype_eof(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:35,1
    - Dst: isalnum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:36,1
    - Dst: isblank
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:38,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:41,1
    - Dst: iscntrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:40,1
    - Dst: isprint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:44,1
    - Dst: ossl_isprint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:44,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:46,1
    - Dst: ossl_isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:46,1
    - Dst: ossl_ispunct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:45,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:35,1
    - Dst: ossl_isascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:32,1
    - Dst: isascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:29,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:36,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:38,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:41,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:42,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:44,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:46,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:47,1
    - Dst: isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:48,1
    - Dst: isupper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:47,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:29,1
    - Dst: ossl_isalpha
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:35,1
    - Dst: ossl_isalnum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:36,1
    - Dst: ossl_iscntrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:40,1
    - Dst: ossl_isblank
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:38,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:40,1
    - Dst: isgraph
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:42,1
    - Dst: ossl_isgraph
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:42,1
    - Dst: islower
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:43,1
    - Dst: ossl_islower
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:43,1
    - Dst: ossl_isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:48,1
    - Dst: ossl_isupper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:47,1
    - Dst: ossl_isascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:29,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:41,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:43,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:45,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:48,1
    - Dst: ispunct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:45,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: test_ctype_chars
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_isalnum
    - iscntrl
    - isspace
    - isascii
    - isalnum
    - ossl_ispunct
    - ossl_isupper
    - ossl_isxdigit
    - isalpha
    - ossl_iscntrl
    - ossl_isprint
    - ispunct
    - ossl_isgraph
    - isdigit
    - isblank
    - ossl_isascii
    - ossl_islower
    - TEST_int_eq
    - isprint
    - isupper
    - ossl_isblank
    - ossl_isspace
    - isgraph
    - isxdigit
    - ossl_isalpha
    - ossl_isdigit
    - islower
    linkageType: ''
    returnType: int
    signature: 'static int test_ctype_chars(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:67,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:68,1
    - Dst: ossl_toupper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:68,1
    - Dst: ossl_toupper
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: test_ctype_toupper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ossl_toupper
    linkageType: ''
    returnType: int
    signature: 'static int test_ctype_toupper(int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:84,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:86,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:86,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:85,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:85,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: isblank
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ctype_internal_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int isblank(int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:148,1
    - Dst: d2i_ASN1_UINT64_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:154,1
    - Dst: ASN1_UINT64_DATA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:159,1
    - Dst: test_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ASN1_UINT64_DATA
    argTypes:
    - ASN1_UINT64_DATA
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - ASN1_UINT64_DATA_free
    - test_uint64
    - d2i_ASN1_UINT64_DATA
    - IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(ASN1_UINT64_DATA)
    signature: 'static_ASN1_SEQUENCE_END(ASN1_UINT64_DATA) IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_UINT64_DATA)IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_UINT64_DATA)static
      int test_uint64(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_INVALIDTEMPLATE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:187,1
    - Dst: INVALIDTEMPLATE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:194,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: test_invalid_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - INVALIDTEMPLATE_free
    - d2i_INVALIDTEMPLATE
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: 'static int test_invalid_template(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:43,1
    - Dst: d2i_ASN1_LONG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:49,1
    - Dst: ASN1_LONG_DATA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:54,1
    - Dst: test_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ASN1_LONG_DATA
    argTypes:
    - ASN1_LONG_DATA
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - d2i_ASN1_LONG_DATA
    - ASN1_LONG_DATA_free
    - test_long
    - IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(ASN1_LONG_DATA)
    signature: 'static_ASN1_SEQUENCE_END(ASN1_LONG_DATA) IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_LONG_DATA)IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_LONG_DATA)static
      int test_long(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:122,1
    - Dst: test_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:124,1
    - Dst: d2i_ASN1_INT64_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:128,1
    - Dst: ASN1_INT64_DATA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ASN1_INT64_DATA
    argTypes:
    - ASN1_INT64_DATA
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - test_int64
    - ASN1_INT64_DATA_free
    - d2i_ASN1_INT64_DATA
    - IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(ASN1_INT64_DATA)
    signature: 'static_ASN1_SEQUENCE_END(ASN1_INT64_DATA) IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_INT64_DATA)IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_INT64_DATA)static
      int test_int64(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:70,1
    - Dst: test_int32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:72,1
    - Dst: d2i_ASN1_INT32_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:76,1
    - Dst: ASN1_INT32_DATA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ASN1_INT32_DATA
    argTypes:
    - ASN1_INT32_DATA
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - d2i_ASN1_INT32_DATA
    - ASN1_INT32_DATA_free
    - IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
    - test_int32
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(ASN1_INT32_DATA)
    signature: 'static_ASN1_SEQUENCE_END(ASN1_INT32_DATA) IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_INT32_DATA)IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_INT32_DATA)static
      int test_int32(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:210,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:218,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:214,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:214,1
    - Dst: ASN1_OBJECT_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 220
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 220
    functionName: test_reuse_asn1_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ASN1_OBJECT_free
    - d2i_ASN1_OBJECT
    - ASN1_OBJECT_create
    linkageType: ''
    returnType: int
    signature: 'static int test_reuse_asn1_object(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:225,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:228,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:229,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:230,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:227,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:231,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:96,1
    - Dst: test_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:98,1
    - Dst: d2i_ASN1_UINT32_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:102,1
    - Dst: ASN1_UINT32_DATA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ASN1_UINT32_DATA
    argTypes:
    - ASN1_UINT32_DATA
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_decode_test.c
    functionUses: []
    functionsReached:
    - ASN1_UINT32_DATA_free
    - test_uint32
    - d2i_ASN1_UINT32_DATA
    - IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(ASN1_UINT32_DATA)
    signature: 'static_ASN1_SEQUENCE_END(ASN1_UINT32_DATA) IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_UINT32_DATA)IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_UINT32_DATA)static
      int test_uint32(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:29,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:35,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:32,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:32,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:36,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:37,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:38,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:44,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - alg
    - propq
    - expected_prov
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: fetch_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c
    functionUses: []
    functionsReached:
    - EVP_SIGNATURE_get0_provider
    - TEST_ptr
    - EVP_SIGNATURE_free
    - TEST_info
    - EVP_SIGNATURE_fetch
    - OSSL_PROVIDER_get0_name
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: 'static int fetch_sig(OSSL_LIB_CTX *ctx, const char *alg, const char
      *propq, OSSL_PROVIDER *expected_prov) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:140,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:146,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:143,1
    - Dst: EVP_PKEY_CTX_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:160,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:163,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:166,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:131,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:140,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:163,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:173,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:131,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:134,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:127,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:150,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:157,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:153,1
    - Dst: fake_rsa_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:172,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:137,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:153,1
    - Dst: fake_rsa_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:150,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:160,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 176
    functionName: test_alternative_keygen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c
    functionUses: []
    functionsReached:
    - fake_rsa_finish
    - TEST_str_eq
    - TEST_ptr
    - OSSL_PROVIDER_unload
    - TEST_int_gt
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_get0_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - fake_rsa_start
    - EVP_PKEY_CTX_get0_provider
    linkageType: ''
    returnType: int
    signature: 'static int test_alternative_keygen_init(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:255,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:258,1
    - Dst: OSSL_STORE_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:269,1
    - Dst: fake_rsa_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:283,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:273,1
    - Dst: fake_rsa_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:264,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:272,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:277,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:286,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:264,1
    - Dst: OSSL_STORE_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:268,1
    - Dst: OSSL_STORE_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:285,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:258,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:262,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:271,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:277,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:277,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 288
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 288
    functionName: test_pkey_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c
    functionUses: []
    functionsReached:
    - fake_rsa_finish
    - OSSL_STORE_load
    - TEST_ptr
    - TEST_int_eq
    - OSSL_STORE_eof
    - OSSL_STORE_LOADER_fetch
    - EVP_PKEY_is_a
    - OSSL_PROVIDER_unload
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - OSSL_STORE_INFO_free
    - EVP_PKEY_free
    - OSSL_PROVIDER_load
    - OSSL_STORE_INFO_get1_PKEY
    - fake_rsa_start
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_store(int idx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:64,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:69,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:71,1
    - Dst: fake_rsa_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:111,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:57,1
    - Dst: fake_rsa_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:57,1
    - Dst: fetch_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:65,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:72,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:88,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:114,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:113,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:101,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:60,1
    - Dst: fetch_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:64,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:76,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:71,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:73,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:88,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:97,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:100,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:100,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:60,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:65,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:69,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:72,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:104,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:112,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 116
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 116
    functionName: test_pkey_sig
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c
    functionUses: []
    functionsReached:
    - fake_rsa_finish
    - EVP_PKEY_sign
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_eq
    - TEST_true
    - OSSL_PROVIDER_unload
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PROVIDER_load
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - EVP_PKEY_CTX_new_from_name
    - TEST_size_t_eq
    - fake_rsa_start
    - fetch_sig
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_sig(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:198,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:206,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:199,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:216,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:225,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:225,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:231,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:235,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:188,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:195,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:213,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:214,1
    - Dst: fake_rsa_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:230,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:191,1
    - Dst: fake_rsa_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:188,1
    - Dst: fake_rsa_key_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:195,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:196,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:210,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:199,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:219,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:233,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:191,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:196,1
    - Dst: fake_rsa_key_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:210,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:201,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:211,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:213,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:214,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:221,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:232,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 67
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 237
    functionName: test_pkey_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c
    functionUses: []
    functionsReached:
    - fake_rsa_key_params
    - fake_rsa_finish
    - OSSL_PARAM_free
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_eq
    - TEST_true
    - OSSL_PROVIDER_unload
    - EVP_PKEY_eq
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - OSSL_PROVIDER_load
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - fake_rsa_start
    linkageType: ''
    returnType: int
    signature: 'static int test_pkey_eq(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:292,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:298,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:299,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:296,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_pkey_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:47,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:51,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:56,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:66,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:37,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:47,1
    - Dst: SSL_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:56,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:51,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:58,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:67,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:45,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:41,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:49,1
    - Dst: SSL_get_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:58,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:60,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:54,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:45,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:37,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:49,1
    - Dst: SSL_get_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:60,1
    - Dst: SSL_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:54,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 1
    argNames:
    - idx_tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: test_set_min_max_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_min_proto_version
    - SSL_free
    - SSL_CTX_set_max_proto_version
    - SSL_get_min_proto_version
    - TEST_int_eq
    - SSL_CTX_get_max_proto_version
    - SSL_CTX_new
    - SSL_get_max_proto_version
    - SSL_CTX_free
    - SSL_CTX_get_min_proto_version
    - SSL_set_min_proto_version
    - SSL_set_max_proto_version
    - TLS_server_method
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int test_set_min_max_version(int idx_tst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_ctx_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:108,1
    - Dst: PEM_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:106,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:101,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:109,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:117,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:122,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:137,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:118,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:142,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:98,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:101,1
    - Dst: d
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:116,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:129,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:143,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:145,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:116,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:130,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:144,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:110,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:111,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:125,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:131,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 2
    argNames:
    - fp
    - nelem
    argTypes:
    - BIO*
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 147
    functionName: load_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - d
    - sk_X509_pop_free
    - TEST_ptr
    - strcmp
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - sk_X509_push
    - sk_X509_new_null
    - TEST_long_eq
    - PEM_read_bio
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'static STACK_OF(X509) *load_chain(BIO *fp, int nelem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: restore_errno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int restore_errno(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:184,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:191,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:184,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:191,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:184,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:193,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:195,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:207,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - in
    - result
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 212
    functionName: hexdecode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexchar2int
    - TEST_ptr
    - OPENSSL_free
    - isspace
    - _UC
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t hexdecode(const char *in, void *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:284,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: allws
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - isspace
    - _UC
    linkageType: ''
    returnType: int
    signature: 'static int allws(const char *cp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:389,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:390,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:391,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:391,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:392,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:394,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:395,1
    - Dst: test_tlsafile
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:395,1
    - Dst: SSL_CTX_dane_mtype_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:394,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:389,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:390,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:400,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:394,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:392,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:393,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:401,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:390,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:393,1
    - Dst: SSL_CTX_dane_mtype_set
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:393,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 404
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 404
    functionName: run_tlsatest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - test_tlsafile
    - BIO_free
    - TEST_ptr
    - SSL_CTX_new
    - TEST_true
    - SSL_CTX_free
    - TEST_int_gt
    - EVP_sha256
    - SSL_CTX_load_verify_file
    - EVP_sha512
    - SSL_CTX_dane_enable
    - SSL_CTX_dane_mtype_set
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int run_tlsatest(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:410,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:415,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:416,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:411,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:415,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:416,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:417,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:417,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 422
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 422
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - ADD_TEST
    - TEST_ptr
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: save_errno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void save_errno(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:154,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:162,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:160,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:157,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:167,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - f
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: read_to_eol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - isspace
    - _UC
    - TEST_error
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *read_to_eol(BIO *f) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:62,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:66,1
    - Dst: X509_STORE_CTX_set_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:70,1
    - Dst: SSL_get_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:77,1
    - Dst: X509_STORE_CTX_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:80,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:83,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:86,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:62,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:65,1
    - Dst: store_ctx_dane_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:74,1
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:72,1
    - Dst: SSL_get_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:76,1
    - Dst: X509_STORE_CTX_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:77,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:60,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:63,1
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:72,1
    - Dst: SSL_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:73,1
    - Dst: X509_STORE_CTX_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:66,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:70,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:63,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:64,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:65,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:80,1
    - Dst: SSL_set_verify_result
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:83,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - ssl
    - chain
    argTypes:
    - SSL*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: verify_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_verify
    - X509_STORE_CTX_set_default
    - X509_STORE_CTX_get_error
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - TEST_true
    - SSL_set_verify_result
    - X509_STORE_CTX_free
    - TEST_int_ge
    - X509_STORE_CTX_set_ex_data
    - SSL_is_server
    - X509_STORE_CTX_new
    - SSL_CTX_get_cert_store
    - X509_VERIFY_PARAM_set1
    - SSL_get0_param
    - X509_STORE_CTX_init
    - X509_STORE_CTX_set_verify_cb
    - TEST_ptr
    - SSL_get_SSL_CTX
    - X509_STORE_CTX_get0_param
    - SSL_get_verify_callback
    - store_ctx_dane_init
    linkageType: ''
    returnType: int
    signature: 'static int verify_chain(SSL *ssl, STACK_OF(X509) *chain) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: save_errno
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:222,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:223,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:227,1
    - Dst: restore_errno
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:224,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:227,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:231,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:231,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: checked_uint8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - strtol
    - restore_errno
    - save_errno
    - isspace
    - _UC
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t checked_uint8(const char *in, void *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:262,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:270,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:268,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:267,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - ssl
    - rrdata
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 279
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 279
    functionName: tlsa_import_rr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - SSL_dane_tlsa_add
    - OPENSSL_free
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int tlsa_import_rr(SSL *ssl, const char *rrdata) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:314,1
    - Dst: allws
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:316,1
    - Dst: SSL_dane_enable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:324,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:346,1
    - Dst: read_to_eol
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:332,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:340,1
    - Dst: SSL_get0_dane_authority
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:354,1
    - Dst: SSL_set_verify_result
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:356,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:359,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:378,1
    - Dst: read_to_eol
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:297,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:321,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:323,1
    - Dst: tlsa_import_rr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:332,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:357,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:364,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:369,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:374,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:321,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:317,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:325,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:361,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:362,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:368,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:373,1
    - Dst: SSL_dane_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:329,1
    - Dst: load_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:340,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:341,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:339,1
    - Dst: verify_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:345,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:333,1
    - Dst: SSL_get_verify_result
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:347,1
    - Dst: SSL_set_verify_result
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:353,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 4
    argNames:
    - ctx
    - base_name
    - f
    - path
    argTypes:
    - SSL_CTX*
    - char*
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 381
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 381
    functionName: test_tlsafile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - verify_chain
    - TEST_error
    - SSL_new
    - SSL_dane_set_flags
    - sk_X509_pop_free
    - X509_verify_cert_error_string
    - SSL_set_verify_result
    - TEST_info
    - TEST_false
    - ERR_clear_error
    - tlsa_import_rr
    - TEST_int_eq
    - allws
    - SSL_get0_dane_authority
    - SSL_get_verify_result
    - SSL_set_connect_state
    - SSL_free
    - TEST_ptr
    - SSL_dane_enable
    - sscanf
    - read_to_eol
    - load_chain
    linkageType: ''
    returnType: int
    signature: 'static int test_tlsafile(SSL_CTX *ctx, const char *base_name, BIO
      *f, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_set0_dane
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:428,1
    - Dst: SSL_get0_dane
      Src: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - store_ctx
    - ssl
    argTypes:
    - X509_STORE_CTX*
    - SSL*
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: store_ctx_dane_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/danetest.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_set0_dane
    - SSL_get0_dane
    linkageType: ''
    returnType: void
    signature: 'static void store_ctx_dane_init(X509_STORE_CTX *store_ctx, SSL *ssl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:81,1
    - Dst: ossl_provider_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:81,1
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:82,1
    - Dst: expected_greeting1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: test_loaded_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ossl_provider_new
    - expected_greeting1
    - test_provider
    linkageType: ''
    returnType: int
    signature: 'static int test_loaded_provider(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: expected_greeting1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: char*
    signature: 'static const char *expected_greeting1(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:28,1
    - Dst: ossl_provider_activate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:28,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:30,1
    - Dst: ossl_provider_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:29,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:29,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:31,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:32,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:33,1
    - Dst: ossl_provider_deactivate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:33,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:35,1
    - Dst: ossl_provider_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:36,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - prov
    - expected_greeting
    argTypes:
    - OSSL_PROVIDER*
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: test_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_provider_activate
    - TEST_str_eq
    - TEST_ptr
    - TEST_true
    - ossl_provider_free
    - TEST_info
    - TEST_size_t_gt
    - ossl_provider_deactivate
    - ossl_provider_get_params
    linkageType: ''
    returnType: int
    signature: 'static int test_provider(OSSL_PROVIDER *prov, const char *expected_greeting) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:62,1
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:67,1
    - Dst: expected_greeting1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:67,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:65,1
    - Dst: ossl_provider_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:66,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: test_builtin_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c
    functionUses: []
    functionsReached:
    - ossl_provider_new
    - TEST_ptr
    - EVP_set_default_properties
    - expected_greeting1
    - test_provider
    linkageType: ''
    returnType: int
    signature: 'static int test_builtin_provider(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:111,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:113,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:122,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:108,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:110,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:115,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:118,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:121,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:127,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:133,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:109,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:122,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:121,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:132,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:109,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:110,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:111,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:118,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:124,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 136
    functionName: test_cache_flushes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - EVP_MD_get0_provider
    - TEST_ptr
    - TEST_true
    - OSSL_PROVIDER_unload
    - TEST_info
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_available
    - TEST_ptr_null
    - OSSL_PROVIDER_get0_name
    - TEST_false
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_cache_flushes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:140,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:142,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:144,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:95,1
    - Dst: ossl_provider_find
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:95,1
    - Dst: test_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: test_configured_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provider_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - test_provider
    - ossl_provider_find
    linkageType: ''
    returnType: int
    signature: 'static int test_configured_provider(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:67,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:70,1
    - Dst: c_new_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:68,1
    - Dst: c_set_error_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:69,1
    - Dst: c_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:70,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - lib
    - reason
    - file
    - line
    - func
    - fmt
    - '...'
    argTypes:
    - int
    - int
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: p_set_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c
    functionUses: []
    functionsReached:
    - ERR_PACK
    - va_start
    - c_set_error_debug
    - c_vset_error
    - va_end
    - c_new_error
    linkageType: ''
    returnType: void
    signature: 'static void p_set_error(int lib, int reason, const char *file, int
      line, const char *func, const char *fmt, ...) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:87,1
    - Dst: c_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:109,1
    - Dst: p_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:151,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:149,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:164,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:172,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:176,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:123,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:128,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:163,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:169,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:177,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:116,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:120,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:137,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:138,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:166,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:185,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:111,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:125,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:147,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:165,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:170,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:171,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:175,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:193,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 204
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 204
    functionName: p_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - c_get_params
    - strcpy
    - strcmp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OSSL_PROVIDER_unload
    - EVP_set_default_properties
    - p_set_error
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_load
    - EVP_DigestInit_ex
    - EVP_MD_free
    - EVP_MD_fetch
    - sprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int p_get_params(void *provctx, OSSL_PARAM params[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:238,1
    - Dst: OSSL_FUNC_core_new_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:244,1
    - Dst: OSSL_FUNC_core_set_error_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:247,1
    - Dst: OSSL_FUNC_core_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:250,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:241,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:268,1
    - Dst: strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:271,1
    - Dst: strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:272,1
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:276,1
    - Dst: p_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:279,1
    - Dst: p_teardown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:292,1
    - Dst: p_teardown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:281,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:291,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:289,1
    - Dst: p_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:302,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 4
    argNames:
    - handle
    - oin
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 307
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 307
    functionName: OSSL_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_core_new_error
    - OSSL_FUNC_core_get_params
    - OSSL_FUNC_core_set_error_debug
    - OSSL_FUNC_core_gettable_params
    - p_set_error
    - OSSL_FUNC_core_vset_error
    - malloc
    - EVP_MD_free
    - OSSL_LIB_CTX_new_child
    - strdup
    - EVP_MD_fetch
    - p_teardown
    linkageType: ''
    returnType: int
    signature: 'int OSSL_provider_init(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH
      *oin, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - _
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: p_get_reason_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ITEM*
    signature: 'static const OSSL_ITEM *p_get_reason_strings(void *_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - _
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: p_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *p_gettable_params(void *_) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:314,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:317,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:316,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: p_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/p_test.c
    functionUses: []
    functionsReached:
    - free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void p_teardown(void *provctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:133,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:127,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:133,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:142,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:115,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:119,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:119,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:123,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:124,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:113,1
    - Dst: BIO_set_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:121,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:131,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:137,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:117,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:123,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:129,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:135,1
    - Dst: BIO_set_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:126,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:129,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:135,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:143,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 145
    functionName: test_bio_rdonly_mem_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - BIO_set_close
    - BIO_new
    - TEST_int_eq
    - TEST_ptr
    - BIO_read
    - BIO_set_mem_buf
    - BIO_set_flags
    - BIO_free
    - TEST_int_gt
    - BIO_get_mem_ptr
    - BIO_s_mem
    - BIO_reset
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_rdonly_mem_buf(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:51,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:48,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:51,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:49,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:54,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:56,1
    - Dst: BIO_set_close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:56,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:58,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:66,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:65,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:60,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: test_bio_get_mem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_set_close
    - TEST_mem_eq
    - TEST_int_eq
    - TEST_ptr
    - TEST_int_gt
    - BUF_MEM_free
    - BIO_get_mem_ptr
    - BIO_s_mem
    - BIO_puts
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_get_mem(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:199,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:213,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:213,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:206,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:189,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:192,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:192,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:197,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:197,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:204,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:209,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:204,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:210,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:195,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:201,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:201,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:219,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:189,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:190,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:210,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 221
    functionName: test_bio_nonclear_rst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - BIO_clear_flags
    - TEST_mem_eq
    - BIO_free
    - TEST_int_eq
    - TEST_ptr
    - BIO_set_flags
    - BIO_read
    - TEST_int_gt
    - BIO_s_mem
    - BIO_reset
    - BIO_puts
    - BIO_new
    - TEST_int_lt
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_nonclear_rst(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: BIO_error_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'static long BIO_error_callback(BIO *bio, int cmd, const char *argp,
      size_t len, int argi, long argl, int ret, size_t *processed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:23,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:24,1
    - Dst: BIO_set_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:29,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:23,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:30,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:31,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:31,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:33,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 40
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 40
    functionName: test_bio_memleak
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - BIO_free
    - BIO_set_mem_buf
    - TEST_ptr
    - BIO_set_flags
    - TEST_int_eq
    - BIO_read
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_memleak(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:153,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:156,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:156,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:153,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:154,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:159,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:160,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:160,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:162,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:164,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:168,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:170,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:167,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:164,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:168,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:179,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:170,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:173,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: test_bio_rdwr_rdonly
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - BIO_clear_flags
    - TEST_mem_eq
    - BIO_free
    - TEST_int_eq
    - TEST_ptr
    - BIO_set_flags
    - BIO_read
    - TEST_int_gt
    - BIO_s_mem
    - BIO_reset
    - BIO_puts
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_rdwr_rdonly(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:77,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:82,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:78,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:80,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:84,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:84,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:86,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:88,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:88,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:92,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:94,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:92,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:96,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:101,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:94,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:90,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: test_bio_new_mem_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - BIO_write
    - TEST_mem_eq
    - BIO_free
    - TEST_int_eq
    - TEST_ptr
    - BIO_read
    - TEST_int_gt
    - BIO_get_mem_ptr
    - BIO_reset
    - BIO_new_mem_buf
    - TEST_int_lt
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_new_mem_buf(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:282,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:286,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:284,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:283,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:285,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:287,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:251,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:254,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:258,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:265,1
    - Dst: i2d_ASN1_bio_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:263,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:275,1
    - Dst: BIO_set_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:250,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:244,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:254,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:274,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:244,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:254,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:256,1
    - Dst: PKCS7_set_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:258,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:263,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:244,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:268,1
    - Dst: PKCS7_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:256,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c:276,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 278
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 278
    functionName: test_bio_i2d_ASN1_mime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/bio_memleak_test.c
    functionUses: []
    functionsReached:
    - PKCS7_new
    - BIO_free
    - BIO_set_mem_buf
    - TEST_ptr
    - BIO_set_flags
    - TEST_true
    - TEST_int_eq
    - PKCS7_free
    - PKCS7_set_type
    - BIO_set_callback_ex
    - i2d_ASN1_bio_stream
    - BIO_s_mem
    - TEST_false
    - BIO_new
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int test_bio_i2d_ASN1_mime(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:27,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:37,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:28,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:44,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:36,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:46,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:47,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:51,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:54,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:54,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:63,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:64,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:59,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:56,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:54,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 68
    functionName: test_is_fips_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c
    functionUses: []
    functionsReached:
    - EVP_default_properties_is_fips_enabled
    - TEST_str_eq
    - EVP_MD_get0_provider
    - TEST_int_eq
    - TEST_ptr
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_get0_name
    - TEST_ptr_null
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_is_fips_enabled(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:75,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:87,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:88,1
    - Dst: test_get_argument_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:80,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:76,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:92,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:100,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 107
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/defltfips_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - strcmp
    - ADD_TEST
    - test_get_argument
    - test_get_argument_count
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - key
    - c
    argTypes:
    - RSA*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 94
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 94
    functionName: key1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int key1(RSA *key, unsigned char *c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rsa_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:247,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:252,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:251,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:255,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:257,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:257,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:260,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    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**
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: test_rsa_simple
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - TEST_mem_eq
    - TEST_int_eq
    - TEST_int_lt
    - rsa_setkey
    - TEST_int_gt
    - RSA_public_encrypt
    - RSA_private_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_rsa_simple(int idx, int en_pad_type, int de_pad_type,
      int success, unsigned char *ctext_ex, int *clen, RSA **retkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - key
    - c
    argTypes:
    - RSA*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 211
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 211
    functionName: key3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int key3(RSA *key, unsigned char *c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_rsa_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:292,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:309,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:299,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:307,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:301,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:316,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:318,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 326
    functionName: test_rsa_oaep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - TEST_int_le
    - TEST_mem_eq
    - test_rsa_simple
    - RSA_private_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int test_rsa_oaep(int idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:361,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:377,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:384,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:384,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:384,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:385,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:386,1
    - Dst: RSA_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:386,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 391
    functionName: test_rsa_security_bit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_set0_key
    - TEST_int_le
    - TEST_ptr
    - TEST_true
    - TEST_uint_eq
    - RSA_security_bits
    - BN_bin2bn
    - RSA_new
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_rsa_security_bit(int n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:217,1
    - Dst: key2
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:224,1
    - Dst: key3
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:227,1
    - Dst: key1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - key
    - ctext
    - idx
    argTypes:
    - RSA**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: rsa_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached:
    - RSA_new
    - key3
    - key1
    - key2
    linkageType: ''
    returnType: int
    signature: 'static int rsa_setkey(RSA** key, unsigned char *ctext, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - key
    - c
    argTypes:
    - RSA*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 139
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 139
    functionName: key2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int key2(RSA *key, unsigned char *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_rsa_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: test_rsa_pkcs1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached:
    - test_rsa_simple
    linkageType: ''
    returnType: int
    signature: 'static int test_rsa_pkcs1(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:488,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:489,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:488,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:489,1
    - Dst: RSA_set0_factors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:497,1
    - Dst: RSA_set0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:498,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:499,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:501,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:504,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:486,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:490,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:490,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:493,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:495,1
    - Dst: RSA_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:493,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:495,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:500,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:491,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:491,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:497,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:498,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:499,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:501,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:492,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:494,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:496,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:496,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:494,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:492,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:500,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:503,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 506
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 506
    functionName: test_EVP_rsa_legacy_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached:
    - RSA_set0_key
    - EVP_DigestSignInit
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_PKEY_free
    - EVP_DigestSign
    - EVP_sha256
    - EVP_PKEY_new
    - BN_bin2bn
    - RSA_new
    - RSA_set0_factors
    - EVP_PKEY_assign_RSA
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int test_EVP_rsa_legacy_key(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:510,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:511,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:512,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:512,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rsa_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:35,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:45,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:43,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: test_standard_exts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c
    functionUses: []
    functionsReached:
    - OBJ_nid2sn
    - OSSL_NELEM
    - TEST_note
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int test_standard_exts(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:106,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:107,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: a2i_IPADDRESS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:93,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:94,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:90,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:88,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:94,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:95,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:95,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: test_a2i_ipaddress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/x509_internal_test.c
    functionUses: []
    functionsReached:
    - a2i_IPADDRESS
    - TEST_mem_eq
    - ASN1_STRING_length
    - TEST_int_eq
    - TEST_ptr
    - ASN1_OCTET_STRING_free
    - TEST_ptr_null
    - ASN1_STRING_get0_data
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int test_a2i_ipaddress(int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: ssl_handshake_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *ssl_handshake_md(SSL *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:144,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - s
    - out
    - outlen
    - hashlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: ssl_handshake_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int ssl_handshake_hash(SSL *s, unsigned char *out, size_t outlen,
      size_t *hashlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - s
    - al
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: ossl_statem_send_fatal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_statem_send_fatal(SSL *s, int al) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: ossl_statem_export_allowed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_statem_export_allowed(SSL *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: ssl_evp_cipher_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ssl_evp_cipher_free(const EVP_CIPHER *cipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: RECORD_LAYER_reset_read_sequence
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RECORD_LAYER_reset_read_sequence(RECORD_LAYER *rl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - s
    - al
    - reason
    - fmt
    - '...'
    argTypes:
    - SSL*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: ossl_statem_fatal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_statem_fatal(SSL *s, int al, int reason, const char *fmt,
      ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: ossl_statem_export_early_allowed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_statem_export_early_allowed(SSL *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: ssl_evp_md_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ssl_evp_md_free(const EVP_MD *md) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl_handshake_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:238,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:247,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:241,1
    - Dst: ssl_handshake_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:240,1
    - Dst: tls13_hkdf_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:245,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:251,1
    - Dst: tls13_derive_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:254,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:255,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:259,1
    - Dst: tls13_derive_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:262,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:263,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:267,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 7
    argNames:
    - s
    - prk
    - label
    - labellen
    - ref_secret
    - ref_key
    - ref_iv
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 271
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 271
    functionName: test_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached:
    - ssl_handshake_hash
    - TEST_mem_eq
    - ssl_handshake_md
    - tls13_derive_iv
    - tls13_derive_key
    - TEST_error
    - tls13_hkdf_expand
    linkageType: ''
    returnType: int
    signature: 'static int test_secret(SSL *s, unsigned char *prk, const unsigned
      char *label, size_t labellen, const unsigned char *ref_secret, const unsigned
      char *ref_key, const unsigned char *ref_iv) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:290,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:306,1
    - Dst: ssl_handshake_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:316,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:296,1
    - Dst: test_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:324,1
    - Dst: test_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:339,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:356,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:375,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:377,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:381,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:399,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:332,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:282,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:282,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:283,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:291,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:294,1
    - Dst: ssl_handshake_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:294,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:302,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:300,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:312,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:319,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:398,1
    - Dst: test_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:388,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:360,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:373,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:385,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:286,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:287,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:308,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:316,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:324,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:339,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:370,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:383,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:388,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:362,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:392,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:368,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:353,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:390,1
    - Dst: tls13_generate_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:294,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:306,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:317,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:321,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:326,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:334,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:328,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:336,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:341,1
    - Dst: tls13_generate_master_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:353,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:343,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:366,1
    - Dst: test_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:373,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 95
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 401
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 401
    functionName: test_handshake_secrets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - TEST_mem_eq
    - tls13_generate_master_secret
    - TEST_ptr
    - test_secret
    - SSL_CTX_new
    - SSL_SESSION_new
    - TEST_true
    - SSL_CTX_free
    - TEST_info
    - ssl_handshake_md
    - EVP_MD_get_size
    - tls13_generate_handshake_secret
    - tls13_generate_secret
    - TLS_method
    - TEST_size_t_eq
    - SSL_new
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_handshake_secrets(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: RECORD_LAYER_reset_write_sequence
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void RECORD_LAYER_reset_write_sequence(RECORD_LAYER *rl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 1
    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
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: ssl_cipher_get_evp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ssl_cipher_get_evp(SSL_CTX *ctx, const SSL_SESSION *s, const EVP_CIPHER
      **enc, const EVP_MD **md, int *mac_pkey_type, size_t *mac_secret_size, SSL_COMP
      **comp, int use_etm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - ssl
    - label
    - secret
    - secret_len
    argTypes:
    - SSL*
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: ssl_log_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ssl_log_secret(SSL *ssl, const char *label, const uint8_t *secret,
      size_t secret_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - sslc
    - enc
    argTypes:
    - SSL_CTX*
    - SSL_CIPHER*
    - EVP_CIPHER**
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: ssl_cipher_get_evp_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,
      const EVP_CIPHER **enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: tls1_alert_code
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int tls1_alert_code(int code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - SSL_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: ssl_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached:
    - EVP_sha256
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *ssl_md(SSL_CTX *ctx, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - s
    - keep
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ssl3_digest_cached_records
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/tls13secretstest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ssl3_digest_cached_records(SSL *s, int keep) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:83,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:94,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:86,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:91,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:96,1
    - Dst: ASYNC_WAIT_CTX_clear_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:99,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:101,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:104,1
    - Dst: ASYNC_WAIT_CTX_clear_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 110
    functionName: waitfd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_get_wait_ctx
    - ASYNC_WAIT_CTX_set_wait_fd
    - ASYNC_get_current_job
    - ASYNC_WAIT_CTX_clear_fd
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: 'static int waitfd(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: add_two
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: 'static int add_two(void *args) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:47,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:55,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:58,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:54,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:63,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:64,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:67,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: change_deflt_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_set0_default
    - OSSL_LIB_CTX_new
    - ASYNC_pause_job
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int change_deflt_libctx(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:128,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:134,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:130,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:132,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:129,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:136,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:138,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:140,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:142,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:147,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:148,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:153,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:149,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 156
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 156
    functionName: test_ASYNC_init_thread
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_init_thread
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_WAIT_CTX_free
    - fprintf
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: 'static int test_ASYNC_init_thread(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:172,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:173,1
    - Dst: ASYNC_WAIT_CTX_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:174,1
    - Dst: ASYNC_WAIT_CTX_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:176,1
    - Dst: ASYNC_WAIT_CTX_set_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:181,1
    - Dst: ASYNC_WAIT_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:182,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:183,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:184,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:185,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:189,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 193
    functionName: test_ASYNC_callback_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_set_status
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_WAIT_CTX_set_callback
    - fprintf
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_get_callback
    - ASYNC_WAIT_CTX_get_status
    linkageType: ''
    returnType: int
    signature: 'static int test_ASYNC_callback_status(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:231,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:236,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:233,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:239,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:232,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:240,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:241,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:245,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: test_ASYNC_get_current_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_init_thread
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_WAIT_CTX_free
    - fprintf
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: 'static int test_ASYNC_get_current_job(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:323,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:325,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:324,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:330,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:327,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:331,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:332,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:336,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 339
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 339
    functionName: test_ASYNC_block_pause
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_init_thread
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_WAIT_CTX_free
    - fprintf
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: 'static int test_ASYNC_block_pause(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: only_pause
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: 'static int only_pause(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:39,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: save_current
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_get_current_job
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: 'static int save_current(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_block_pause
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:114,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:115,1
    - Dst: ASYNC_unblock_pause
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:116,1
    - Dst: ASYNC_pause_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: blockpause
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_unblock_pause
    - ASYNC_pause_job
    - ASYNC_block_pause
    linkageType: ''
    returnType: int
    signature: 'static int blockpause(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: test_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int test_callback(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:203,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:204,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:205,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:208,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:212,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:213,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:214,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:218,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 221
    functionName: test_ASYNC_start_job
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_init_thread
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_WAIT_CTX_free
    - fprintf
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: 'static int test_ASYNC_start_job(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:259,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:263,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:265,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:270,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:277,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:307,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:289,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:287,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:312,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:261,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:281,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:293,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:306,1
    - Dst: ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:258,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:301,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:299,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:313,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:272,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:274,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:285,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:297,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:308,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 315
    functionName: test_ASYNC_WAIT_CTX_get_all_fds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_get_changed_fds
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_get_all_fds
    - ASYNC_WAIT_CTX_new
    - ASYNC_WAIT_CTX_free
    - fprintf
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: 'static int test_ASYNC_WAIT_CTX_get_all_fds(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:346,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:356,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:362,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:394,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:403,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:410,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:386,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:412,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:351,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:359,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:358,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:376,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:401,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:369,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:391,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:384,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:411,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:368,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:371,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:400,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:378,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 414
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 414
    functionName: test_ASYNC_start_job_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_set0_default
    - ASYNC_cleanup_thread
    - OSSL_LIB_CTX_new
    - ASYNC_WAIT_CTX_new
    - ASYNC_WAIT_CTX_free
    - fprintf
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: 'static int test_ASYNC_start_job_ex(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_is_capable
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:418,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:419,1
    - Dst: test_ASYNC_init_thread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:422,1
    - Dst: test_ASYNC_callback_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:423,1
    - Dst: test_ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:424,1
    - Dst: test_ASYNC_get_current_job
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:425,1
    - Dst: test_ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:426,1
    - Dst: test_ASYNC_block_pause
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:427,1
    - Dst: test_ASYNC_start_job_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:428,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c:432,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asynctest.c
    functionUses: []
    functionsReached:
    - test_ASYNC_WAIT_CTX_get_all_fds
    - test_ASYNC_start_job
    - test_ASYNC_callback_status
    - test_ASYNC_block_pause
    - ASYNC_is_capable
    - printf
    - fprintf
    - test_ASYNC_start_job_ex
    - test_ASYNC_init_thread
    - test_ASYNC_get_current_job
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:81,1
    - Dst: TEST_char_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:83,1
    - Dst: TEST_char_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:86,1
    - Dst: TEST_char_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:88,1
    - Dst: TEST_char_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:90,1
    - Dst: TEST_char_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:92,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:80,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:81,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:83,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:84,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:88,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:86,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:90,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:92,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:80,1
    - Dst: TEST_char_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:82,1
    - Dst: TEST_char_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:84,1
    - Dst: TEST_char_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:85,1
    - Dst: TEST_char_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:87,1
    - Dst: TEST_char_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:89,1
    - Dst: TEST_char_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:91,1
    - Dst: TEST_char_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:93,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:82,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:85,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:89,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:87,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:91,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:93,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: test_char
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_char_gt
    - TEST
    - TEST_char_ge
    - TEST_char_eq
    - TEST_char_lt
    - TEST_char_le
    - TEST_char_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_char(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:126,1
    - Dst: TEST_long_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:128,1
    - Dst: TEST_long_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:130,1
    - Dst: TEST_long_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:134,1
    - Dst: TEST_long_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:132,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:136,1
    - Dst: TEST_long_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:137,1
    - Dst: TEST_long_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:139,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:128,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:130,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:134,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:132,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:137,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:139,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:127,1
    - Dst: TEST_long_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:129,1
    - Dst: TEST_long_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:131,1
    - Dst: TEST_long_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:133,1
    - Dst: TEST_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:135,1
    - Dst: TEST_long_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:138,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:127,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:126,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:129,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:133,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:135,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:131,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:136,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:138,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: test_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_long_lt
    - TEST_long_ne
    - TEST_long_ge
    - TEST_long_gt
    - TEST_long_le
    - TEST_long_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_long(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:175,1
    - Dst: TEST_size_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:176,1
    - Dst: TEST_size_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:177,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:180,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:178,1
    - Dst: TEST_size_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:179,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:181,1
    - Dst: TEST_size_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:182,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:172,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:175,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:176,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:178,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:179,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:177,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:180,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:181,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:182,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:172,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:173,1
    - Dst: TEST_size_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:174,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:183,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:184,1
    - Dst: TEST_size_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:185,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:173,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:174,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:183,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:184,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:185,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: test_size_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_size_t_le
    - TEST_size_t_ne
    - TEST
    - TEST_size_t_lt
    - TEST_size_t_gt
    - TEST_size_t_eq
    - TEST_size_t_ge
    linkageType: ''
    returnType: int
    signature: 'static int test_size_t(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:442,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: test_messages
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_error
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int test_messages(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_output_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:507,1
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: test_output
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - test_output_string
    - test_output_memory
    linkageType: ''
    returnType: int
    signature: 'static int test_output(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:104,1
    - Dst: TEST_uchar_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:105,1
    - Dst: TEST_uchar_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:107,1
    - Dst: TEST_uchar_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:111,1
    - Dst: TEST_uchar_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:109,1
    - Dst: TEST_uchar_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:113,1
    - Dst: TEST_uchar_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:115,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:103,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:105,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:107,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:111,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:109,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:113,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:115,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:116,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:103,1
    - Dst: TEST_uchar_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:106,1
    - Dst: TEST_uchar_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:108,1
    - Dst: TEST_uchar_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:110,1
    - Dst: TEST_uchar_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:112,1
    - Dst: TEST_uchar_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:114,1
    - Dst: TEST_uchar_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:116,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:104,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:106,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:110,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:108,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:112,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:114,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: test_uchar
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_uchar_ge
    - TEST_uchar_eq
    - TEST_uchar_ne
    - TEST_uchar_lt
    - TEST_uchar_gt
    - TEST_uchar_le
    linkageType: ''
    returnType: int
    signature: 'static int test_uchar(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:149,1
    - Dst: TEST_ulong_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:151,1
    - Dst: TEST_ulong_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:153,1
    - Dst: TEST_ulong_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:156,1
    - Dst: TEST_ulong_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:155,1
    - Dst: TEST_ulong_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:158,1
    - Dst: TEST_ulong_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:160,1
    - Dst: TEST_ulong_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:162,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:151,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:153,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:155,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:156,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:158,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:160,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:162,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:150,1
    - Dst: TEST_ulong_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:152,1
    - Dst: TEST_ulong_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:154,1
    - Dst: TEST_ulong_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:157,1
    - Dst: TEST_ulong_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:159,1
    - Dst: TEST_ulong_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:161,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:150,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:149,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:152,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:154,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:157,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:159,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:161,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: test_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_ulong_ne
    - TEST_ulong_le
    - TEST
    - TEST_ulong_gt
    - TEST_ulong_lt
    - TEST_ulong_eq
    - TEST_ulong_ge
    linkageType: ''
    returnType: int
    signature: 'static int test_ulong(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:195,1
    - Dst: TEST_time_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:196,1
    - Dst: TEST_time_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:197,1
    - Dst: TEST_time_t_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:198,1
    - Dst: TEST_time_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:199,1
    - Dst: TEST_time_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:208,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:197,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:196,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:198,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:199,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:208,1
    - Dst: TEST_time_t_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:200,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:203,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:201,1
    - Dst: TEST_time_t_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:202,1
    - Dst: TEST_time_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:204,1
    - Dst: TEST_time_t_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:205,1
    - Dst: TEST_time_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:206,1
    - Dst: TEST_time_t_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:207,1
    - Dst: TEST_time_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:195,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:201,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:202,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:204,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:200,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:203,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:205,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:206,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:207,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: test_time_t
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_time_t_ge
    - TEST_time_t_lt
    - TEST_time_t_eq
    - TEST_time_t_le
    - TEST_time_t_gt
    - TEST_time_t_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_time_t(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:459,1
    - Dst: TEST_long_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:468,1
    - Dst: TEST_char_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:473,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:486,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:489,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:466,1
    - Dst: TEST_long_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:467,1
    - Dst: TEST_char_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:472,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:482,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:487,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:488,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:490,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:494,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:499,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:458,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:461,1
    - Dst: TEST_long_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:465,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:477,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:471,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:478,1
    - Dst: TEST_uchar_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:476,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:479,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:480,1
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:483,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:491,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:460,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:462,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:463,1
    - Dst: TEST_char_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:470,1
    - Dst: TEST_char_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:474,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:484,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:493,1
    - Dst: TEST_str_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:495,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:497,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:498,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 500
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 500
    functionName: test_single_eval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_long_lt
    - TEST_int_ne
    - TEST_ulong_eq
    - TEST_str_ne
    - TEST_char_le
    - TEST_int_le
    - TEST_mem_eq
    - TEST_str_eq
    - TEST_uchar_eq
    - TEST_ptr_null
    - TEST_mem_ne
    - TEST_int_eq
    - TEST_long_ne
    - TEST_ptr_eq
    - TEST_char_ne
    - TEST_ptr
    - TEST_int_gt
    - TEST_char_eq
    - TEST_char_lt
    - TEST_long_eq
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_single_eval(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:394,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:394,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:395,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:395,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:396,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:396,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:397,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:397,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:397,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: test_long_output
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - strlen
    - TEST_mem_eq
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_long_output(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:423,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:427,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:430,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:429,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:432,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:434,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:425,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:424,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:426,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:427,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:429,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:428,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:432,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:435,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:423,1
    - Dst: TEST_BN_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:431,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:428,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:436,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:424,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:425,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:426,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:430,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:431,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 438
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 438
    functionName: test_long_bignum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - BN_hex2bn
    - TEST
    - TEST_true
    - TEST_BN_ne
    - BN_free
    - TEST_BN_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_long_bignum(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:558,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:562,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:566,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:570,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:557,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:555,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:559,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:563,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:571,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:567,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:573,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:574,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:576,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:556,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:560,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:568,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:564,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:572,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:573,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:554,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:561,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:565,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 578
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 578
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:35,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:37,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:41,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:39,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:43,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:46,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:35,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:34,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:37,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:39,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:43,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:41,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:46,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:34,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:36,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:38,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:40,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:42,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:44,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:45,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:47,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:36,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:38,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:40,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:42,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:44,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:45,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:47,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: test_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_int_le
    - TEST
    - TEST_int_eq
    - TEST_int_ne
    - TEST_int_gt
    - TEST_int_ge
    - TEST_int_lt
    linkageType: ''
    returnType: int
    signature: 'static int test_int(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:223,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:224,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:225,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:228,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:230,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:229,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:233,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:223,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:227,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:229,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:232,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:221,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:227,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:226,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:231,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:232,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:234,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:221,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:222,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:224,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:225,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:226,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:228,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:230,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:231,1
    - Dst: TEST_ptr_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:233,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: test_pointer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_ptr
    - TEST_ptr_null
    - TEST_ptr_eq
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_pointer(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: test_skip_many
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: 'static int test_skip_many(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - expected
    - test
    - result
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: test_case
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int test_case(int expected, const char *test, int result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:58,1
    - Dst: TEST_uint_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:60,1
    - Dst: TEST_uint_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:65,1
    - Dst: TEST_uint_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:64,1
    - Dst: TEST_uint_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:62,1
    - Dst: TEST_uint_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:67,1
    - Dst: TEST_uint_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:69,1
    - Dst: TEST_uint_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:57,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:58,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:60,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:62,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:65,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:64,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:67,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:69,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:57,1
    - Dst: TEST_uint_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:59,1
    - Dst: TEST_uint_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:61,1
    - Dst: TEST_uint_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:63,1
    - Dst: TEST_uint_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:66,1
    - Dst: TEST_uint_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:68,1
    - Dst: TEST_uint_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:70,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:59,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:61,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:63,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:66,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:68,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:70,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: test_uint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_uint_ge
    - TEST
    - TEST_uint_le
    - TEST_uint_eq
    - TEST_uint_lt
    - TEST_uint_ne
    - TEST_uint_gt
    linkageType: ''
    returnType: int
    signature: 'static int test_uint(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:244,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:244,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:245,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:245,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:246,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:246,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:247,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: test_bool
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_false
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int test_bool(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: test_skip_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: 'static int test_skip_null(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:260,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:261,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:262,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:263,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:265,1
    - Dst: TEST_str_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:267,1
    - Dst: TEST_str_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:264,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:269,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:270,1
    - Dst: TEST_str_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:271,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:261,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:260,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:263,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:267,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:264,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:271,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:272,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:259,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:266,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:268,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:272,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:259,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:262,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:265,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:268,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:266,1
    - Dst: TEST_str_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:269,1
    - Dst: TEST_str_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 278
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 278
    functionName: test_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_str_ne
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_string(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:308,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:308,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:308,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: test_memory_overflow
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_mem_eq
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int test_memory_overflow(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:526,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:529,1
    - Dst: test_output_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:528,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 531
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 531
    functionName: test_bn_output
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_hex2bn
    - TEST_true
    - test_output_bignum
    linkageType: ''
    returnType: int
    signature: 'static int test_bn_output(int n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:284,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:286,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:287,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:290,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:291,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:289,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:286,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:287,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:291,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:290,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:294,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:294,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:285,1
    - Dst: TEST_mem_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:288,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:292,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:285,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:284,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:288,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:292,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:289,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:293,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:293,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: test_memory
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST
    - TEST_mem_eq
    - TEST_mem_ne
    linkageType: ''
    returnType: int
    signature: 'static int test_memory(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:337,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:345,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:341,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:350,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:354,1
    - Dst: TEST_BN_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:364,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:378,1
    - Dst: TEST_BN_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:368,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:323,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:327,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:339,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:352,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:343,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:348,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:334,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:357,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:360,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:368,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:335,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:345,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:316,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:321,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:325,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:330,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:358,1
    - Dst: TEST_BN_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:361,1
    - Dst: TEST_BN_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:369,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:332,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:346,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:365,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:332,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:336,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:349,1
    - Dst: TEST_BN_lt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:340,1
    - Dst: TEST_BN_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:344,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:353,1
    - Dst: TEST_BN_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:362,1
    - Dst: TEST_BN_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:370,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:347,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:338,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:351,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:316,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:322,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:326,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:342,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:333,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:355,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:358,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:328,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:318,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:320,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:324,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:356,1
    - Dst: TEST_BN_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:359,1
    - Dst: TEST_BN_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:367,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:319,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:329,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:331,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:363,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:366,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:319,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:329,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:332,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:334,1
    - Dst: TEST_BN_le_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:339,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:352,1
    - Dst: TEST_BN_even
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:343,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:348,1
    - Dst: TEST_BN_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:357,1
    - Dst: TEST_BN_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:360,1
    - Dst: TEST_BN_eq_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:321,1
    - Dst: TEST_BN_ge_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:325,1
    - Dst: TEST_BN_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:330,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:345,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:337,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:350,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:341,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:354,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:364,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:316,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:323,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:327,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:346,1
    - Dst: TEST_BN_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:365,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:371,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:317,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:335,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:361,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:369,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:377,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:317,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:333,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:347,1
    - Dst: TEST_BN_ne_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:338,1
    - Dst: TEST_BN_lt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:351,1
    - Dst: TEST_BN_gt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:342,1
    - Dst: TEST_BN_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:355,1
    - Dst: TEST_BN_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:366,1
    - Dst: TEST_BN_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:371,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:370,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:318,1
    - Dst: TEST_BN_lt_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:324,1
    - Dst: TEST_BN_eq_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:320,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:336,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:349,1
    - Dst: TEST_BN_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:328,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:340,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:344,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:353,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:362,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:322,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:326,1
    - Dst: TEST_BN_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:331,1
    - Dst: TEST_BN_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:363,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:376,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:356,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:359,1
    - Dst: TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:367,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 231
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 380
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 380
    functionName: test_bignum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_BN_odd
    - TEST
    - TEST_BN_le_zero
    - TEST_BN_even
    - TEST_BN_ne_zero
    - TEST_BN_eq
    - TEST_BN_ge_zero
    - TEST_BN_gt_zero
    - TEST_BN_lt_zero
    - TEST_BN_lt
    - TEST_int_eq
    - TEST_BN_ge
    - TEST_BN_eq_one
    - TEST_BN_gt
    - TEST_BN_eq_word
    - TEST_BN_le
    - TEST_BN_ne
    - BN_dec2bn
    - TEST_BN_eq_zero
    - BN_free
    - TEST_BN_abs_eq_word
    linkageType: ''
    returnType: int
    signature: 'static int test_bignum(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: test_skip_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/test_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: 'static int test_skip_one(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:210,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:219,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:212,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:218,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: servername_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strcasecmp
    - SSL_get_servername
    - SSL_set_SSL_CTX
    linkageType: ''
    returnType: int
    signature: 'static int servername_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: cb_server_npn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cb_server_npn(SSL *s, const unsigned char **data, unsigned
      int *len, void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:340,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:335,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:352,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:353,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:363,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:364,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:373,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:331,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:341,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:362,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:346,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:351,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:365,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:367,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:370,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:328,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:329,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:366,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:369,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    constantsTouched: []
    func_position:
      end: 377
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 377
    functionName: verify_alpn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - memcmp
    - OPENSSL_free
    - SSL_get_SSL_CTX
    - SSL_get0_alpn_selected
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int verify_alpn(SSL *client, SSL *server) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:734,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:742,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:743,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:741,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:743,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:759,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:762,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:762,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 764
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 764
    functionName: print_key_details
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_get_group_name
    - OBJ_nid2sn
    - strcpy
    - EVP_PKEY_get_bits
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: void
    signature: 'static void print_key_details(BIO *out, EVP_PKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: cb_server_rejects_npn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cb_server_rejects_npn(SSL *s, const unsigned char **data,
      unsigned int *len, void *arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:148,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:154,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:153,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:152,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:158,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:160,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:168,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:171,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: verify_npn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - SSL_get0_next_proto_negotiated
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int verify_npn(SSL *client, SSL *server) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:228,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:235,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:239,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:237,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    constantsTouched: []
    func_position:
      end: 243
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 243
    functionName: verify_servername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_get_SSL_CTX
    linkageType: ''
    returnType: int
    signature: 'static int verify_servername(SSL *client, SSL *server) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:628,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:630,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:648,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:636,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:660,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:668,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:673,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:679,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:683,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:689,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:709,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:715,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:717,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:708,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:720,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:728,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:690,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:723,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:725,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:623,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:625,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:629,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:631,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:651,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:638,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:663,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:674,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:680,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:684,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:722,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:726,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:712,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:702,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:705,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:697,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:700,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:694,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:626,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:624,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:634,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:654,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:643,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:640,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:671,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:676,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:681,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:685,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:711,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:716,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:718,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:707,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:719,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:729,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:727,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:691,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:721,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:627,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:657,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:645,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:665,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:672,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:677,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:682,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:687,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:695,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:701,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:713,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:724,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:703,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:706,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:699,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 730
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 730
    functionName: sv_usage
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void sv_usage(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:773,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:774,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:777,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:777,1
    - Dst: SSL_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:776,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:778,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:780,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:783,1
    - Dst: print_key_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:784,1
    - Dst: SSL_get_peer_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:787,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:788,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:793,1
    - Dst: print_key_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:789,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:792,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:793,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:794,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:790,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - c_ssl
    - prefix
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 795
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 795
    functionName: print_details
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_get0_peer_certificate
    - OBJ_nid2sn
    - SSL_get_peer_signature_nid
    - X509_get0_pubkey
    - SSL_CIPHER_get_version
    - EVP_PKEY_free
    - print_key_details
    - SSL_get_version
    - SSL_CIPHER_get_name
    - SSL_get_peer_tmp_key
    - BIO_puts
    - SSL_get_current_cipher
    linkageType: ''
    returnType: void
    signature: 'static void print_details(SSL *c_ssl, const char *prefix) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2622,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2824,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2863,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2812,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2623,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2629,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2825,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2871,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2637,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2664,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2713,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2857,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2619,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2853,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2864,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2665,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2699,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2706,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2813,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2820,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2657,1
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2682,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2693,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2689,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2694,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2788,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2755,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2789,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2776,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2617,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2625,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2630,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2716,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2722,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2739,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2866,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2651,1
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2678,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2742,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2779,1
    - Dst: verify_npn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2849,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2629,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2645,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2658,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2726,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2869,1
    - Dst: print_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2847,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2865,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2622,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2638,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2732,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2815,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2740,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2747,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2777,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2784,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2623,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2710,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2862,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2639,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2700,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2794,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2867,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2808,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2630,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2632,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2687,1
    - Dst: verify_serverinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2852,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2751,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2695,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2745,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2782,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2718,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2830,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2636,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2688,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2735,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2772,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2818,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2711,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2837,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 257
    argCount: 3
    argNames:
    - s_ssl
    - c_ssl
    - count
    argTypes:
    - SSL*
    - SSL*
    - long
    constantsTouched: []
    func_position:
      end: 2875
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2875
    functionName: doit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - SSL_set_accept_state
    - BIO_free
    - BIO_up_ref
    - BIO_s_mem
    - fprintf
    - BIO_new
    - BIO_write
    - BIO_free_all
    - ERR_print_errors
    - verify_serverinfo
    - strcmp
    - OPENSSL_free
    - OPENSSL_zalloc
    - SSL_in_init
    - BIO_should_retry
    - SSL_set_max_send_fragment
    - verify_npn
    - SSL_set_bio
    - BIO_f_ssl
    - BIO_should_write
    - printf
    - SSL_set_connect_state
    - print_details
    - BIO_pending
    - BIO_read
    - BIO_set_ssl
    - BIO_should_read
    - SSL_state_string_long
    linkageType: ''
    returnType: int
    signature: 'int doit(SSL *s_ssl, SSL *c_ssl, long count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 506
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 506
    functionName: custom_ext_3_cli_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_3_cli_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2947,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2949,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2955,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2951,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2954,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2957,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2958,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2961,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2962,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pskkey
    - psk
    - max_psk_len
    argTypes:
    - char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2964
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2964
    functionName: psk_key2bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BN_hex2bn
    - BN_num_bytes
    - BN_bn2bin
    - BN_free
    linkageType: ''
    returnType: int
    signature: 'static int psk_key2bn(const char *pskkey, unsigned char *psk, unsigned
      int max_psk_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:514,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 519
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 519
    functionName: custom_ext_3_cli_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_3_cli_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2975,1
    - Dst: psk_key2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2981,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2979,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2987
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2987
    functionName: psk_client_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - fprintf
    - BIO_snprintf
    - psk_key2bn
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int psk_client_callback(SSL *ssl, const char *hint,
      char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned
      int max_psk_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2995,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2996,1
    - Dst: psk_key2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3001
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 3001
    functionName: psk_server_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - strcmp
    - psk_key2bn
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int psk_server_callback(SSL *ssl, const char *identity,
      unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: custom_ext_2_cli_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_2_cli_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:550,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 555
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 555
    functionName: custom_ext_1_srv_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_1_srv_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:571,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 576
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 576
    functionName: custom_ext_2_srv_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_2_srv_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:594,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 599
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 599
    functionName: custom_ext_3_srv_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_3_srv_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:849,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:859,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:853,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:855,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:856,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - sess
    argTypes:
    - char*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 862
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 862
    functionName: write_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_new_file
    - BIO_free
    - ERR_print_errors
    - PEM_write_bio_SSL_SESSION
    linkageType: ''
    returnType: int
    signature: 'static int write_session(const char *filename, SSL_SESSION *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: custom_ext_2_cli_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_2_cli_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: custom_ext_1_srv_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_1_srv_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 585
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 585
    functionName: custom_ext_2_srv_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_2_srv_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: custom_ext_3_srv_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_3_srv_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1930,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2136,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2171,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2034,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2102,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2169,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2160,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2165,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2204,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2103,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1982,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2036,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2097,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2116,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2174,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1944,1
    - Dst: BIO_do_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1956,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1987,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2113,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2126,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2201,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2099,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2089,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2163,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2134,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1939,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1946,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1964,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2143,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2115,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2173,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1990,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2023,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2062,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2202,1
    - Dst: BIO_set_accept_ip_family
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1934,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1974,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2018,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2024,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2161,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2147,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2163,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2181,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2137,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1978,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2052,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2166,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2172,1
    - Dst: verify_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2185,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2060,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2071,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1988,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2020,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2037,1
    - Dst: verify_serverinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2180,1
    - Dst: BIO_new_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1941,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1991,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2122,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2160,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2162,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2104,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2199,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2173,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2169,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2063,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2205,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2168,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2164,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2170,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1936,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2075,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2189,1
    - Dst: BIO_set_bind_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1935,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1948,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1978,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1957,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2025,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2048,1
    - Dst: verify_npn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2177,1
    - Dst: verify_alpn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2184,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2207,1
    - Dst: print_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2158,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1965,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1992,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2152,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2168,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1986,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2165,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2171,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2203,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2209,1
    - Dst: BIO_get_accept_port
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1939,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1982,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1975,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2161,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 221
    argCount: 6
    argNames:
    - s_ssl
    - c_ssl
    - family
    - count
    - s_time
    - c_time
    argTypes:
    - SSL*
    - SSL*
    - int
    - long
    - clock_t*
    - clock_t*
    constantsTouched: []
    func_position:
      end: 2213
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 2213
    functionName: doit_localhost
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - SSL_set_accept_state
    - BIO_free
    - BIO_snprintf
    - clock
    - SSL_get_wbio
    - BIO_set_nbio
    - fprintf
    - BIO_new
    - BIO_set_accept_ip_family
    - BIO_printf
    - BIO_write
    - BIO_do_connect
    - BIO_free_all
    - verify_serverinfo
    - ERR_print_errors
    - strcmp
    - BIO_get_accept_port
    - BIO_new_connect
    - BIO_set_bind_mode
    - verify_alpn
    - BIO_get_ktls_send
    - BIO_do_accept
    - SSL_in_init
    - BIO_should_retry
    - verify_npn
    - SSL_set_bio
    - BIO_get_ktls_recv
    - BIO_f_ssl
    - BIO_set_conn_ip_family
    - SSL_get_rbio
    - BIO_new_accept
    - BIO_pop
    - printf
    - verify_servername
    - SSL_set_connect_state
    - print_details
    - BIO_read
    - BIO_set_ssl
    - SSL_state_string_long
    - memset
    linkageType: ''
    returnType: int
    signature: 'int doit_localhost(SSL *s_ssl, SSL *c_ssl, int family, long count,
      clock_t *s_time, clock_t *c_time) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:261,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:265,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:265,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - outlen
    - in
    argTypes:
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: next_protos_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *next_protos_parse(size_t *outlen, const char
      *in) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 420
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 420
    functionName: serverinfo_cli_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int serverinfo_cli_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: custom_ext_0_cli_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_0_cli_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: custom_ext_1_cli_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_1_cli_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: custom_ext_0_srv_add_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_0_srv_add_cb(SSL *s, unsigned int ext_type,
      const unsigned char **out, size_t *outlen, int *al, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:817,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 823
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 823
    functionName: protocol_from_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int protocol_from_string(const char *value) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl_get_write_guarantee
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2453,1
    - Dst: print_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2549,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2573,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2577,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2246,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2383,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2466,1
    - Dst: BIO_ctrl_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2492,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2354,1
    - Dst: BIO_nwrite0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2511,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2563,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2342,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2530,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2378,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2394,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2422,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2575,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2524,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2241,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2304,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2327,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2480,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2465,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2512,1
    - Dst: verify_npn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2551,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2431,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2580,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2237,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2247,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2515,1
    - Dst: verify_alpn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2558,1
    - Dst: BIO_nread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2464,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2401,1
    - Dst: BIO_nwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2522,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2237,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2243,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2315,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2299,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2316,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2339,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2350,1
    - Dst: BIO_ctrl_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2452,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2582,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2584,1
    - Dst: verify_serverinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2554,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2381,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2405,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2415,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2368,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2376,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2382,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2395,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2413,1
    - Dst: BIO_ctrl_get_read_request
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2493,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2471,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2578,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2517,1
    - Dst: BIO_new_bio_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2228,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2233,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2242,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2392,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2579,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2233,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2245,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2302,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2341,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2540,1
    - Dst: verify_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2559,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2576,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2297,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2303,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2426,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2539,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2473,1
    - Dst: BIO_new_bio_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2230,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2313,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2331,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2416,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2555,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 228
    argCount: 5
    argNames:
    - s_ssl
    - c_ssl
    - count
    - s_time
    - c_time
    argTypes:
    - SSL*
    - SSL*
    - long
    - clock_t*
    - clock_t*
    constantsTouched: []
    func_position:
      end: 2588
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2588
    functionName: doit_biopair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_nwrite0
    - SSL_set_accept_state
    - BIO_ctrl_get_write_guarantee
    - BIO_free
    - clock
    - BIO_nwrite
    - BIO_nread
    - fprintf
    - BIO_new
    - BIO_new_bio_pair
    - BIO_write
    - verify_serverinfo
    - ERR_print_errors
    - strcmp
    - BIO_ctrl_pending
    - verify_alpn
    - SSL_in_init
    - BIO_should_retry
    - verify_npn
    - SSL_set_bio
    - BIO_ctrl_get_read_request
    - BIO_f_ssl
    - printf
    - verify_servername
    - SSL_set_connect_state
    - print_details
    - assert
    - BIO_read
    - BIO_set_ssl
    - SSL_state_string_long
    - memset
    linkageType: ''
    returnType: int
    signature: 'int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count, clock_t *s_time,
      clock_t *c_time) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2881,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2881,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2881,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2885,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2885,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2887,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2888,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2889,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2894,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2898,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2899,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2910
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2910
    functionName: verify_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - X509_NAME_oneline
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get_current_cert
    - printf
    - fprintf
    - X509_STORE_CTX_get_error
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int verify_callback(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: cb_client_npn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cb_client_npn(SSL *s, unsigned char **out, unsigned char
      *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next_protos_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:293,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:295,1
    - Dst: SSL_select_next_proto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:300,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:303,1
    - Dst: abort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:297,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:311,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:313,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:314,1
    - Dst: abort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:315,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:317,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 322
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 322
    functionName: cb_server_alpn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - memcpy
    - next_protos_parse
    - abort
    - OPENSSL_malloc
    - fprintf
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: 'static int cb_server_alpn(SSL *s, const unsigned char **out, unsigned
      char *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: verify_serverinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int verify_serverinfo(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: custom_ext_0_cli_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_0_cli_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: custom_ext_1_cli_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_1_cli_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:828,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:837,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:835,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:832,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:831,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:838,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 842
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 842
    functionName: read_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - BIO_free
    - ERR_print_errors
    - PEM_read_bio_SSL_SESSION
    linkageType: ''
    returnType: SSL_SESSION*
    signature: 'static SSL_SESSION *read_session(const char *filename) '
  - BBCount: 336
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1419,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1506,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1601,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2034,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1882,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2171,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2947,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2820,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:938,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1398,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1540,1
    - Dst: SSL_CTX_use_psk_identity_hint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1606,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2825,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2711,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2818,1
    - Dst: SSL_COMP_add_compression_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1318,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1245,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1860,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1944,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1987,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:935,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1570,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1653,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1706,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1939,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1799,1
    - Dst: protocol_from_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1834,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2089,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2143,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2163,1
    - Dst: verify_npn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2849,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2864,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:991,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1422,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1712,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2422,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2524,1
    - Dst: BIO_set_accept_ip_family
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1934,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1974,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2024,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1333,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1476,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1524,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1557,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2163,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2181,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2327,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2899,1
    - Dst: verify_serverinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2852,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1978,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1309,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1041,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1431,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1694,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1727,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2137,1
    - Dst: verify_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2185,1
    - Dst: verify_npn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2551,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2866,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1725,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2060,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2037,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:943,1
    - Dst: get_dh2048
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1520,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2716,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2888,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1905,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1207,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1468,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1507,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1783,1
    - Dst: doit_localhost
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1813,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1616,1
    - Dst: set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1772,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1914,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2122,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1388,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1411,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1901,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1625,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2173,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2658,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2923,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1678,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1296,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1323,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1399,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:969,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1419,1
    - Dst: get_dh1024dsa
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1514,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1643,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1851,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1898,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1895,1
    - Dst: SSL_COMP_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1336,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1457,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1491,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1565,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1936,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2075,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2168,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2233,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2242,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2619,1
    - Dst: read_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1734,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2025,1
    - Dst: EXIT
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:980,1
    - Dst: TLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1343,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1541,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1662,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2207,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2867,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2995,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2779,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2881,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2368,1
    - Dst: read_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1739,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1965,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:964,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:985,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1403,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1383,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2152,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2168,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2233,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2687,1
    - Dst: set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1778,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1986,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1216,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1305,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1529,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1579,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2165,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2203,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2303,1
    - Dst: verify_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2559,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1407,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1445,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1577,1
    - Dst: BIO_get_accept_port
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1939,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1982,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1537,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1910,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1044,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1231,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2313,1
    - Dst: BIO_nwrite0
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2511,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:951,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1629,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1896,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1866,1
    - Dst: BIO_new_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1930,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2102,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2169,1
    - Dst: BIO_ctrl_get_write_guarantee
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2453,1
    - Dst: X509_STORE_CTX_get0_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2919,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:960,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1563,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1638,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1792,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2097,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2174,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2623,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2871,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2889,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2416,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2928,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1624,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1420,1
    - Dst: get_dh512
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1516,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1789,1
    - Dst: BIO_do_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1956,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2637,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2713,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2979,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2996,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:968,1
    - Dst: strspn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1010,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1432,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1458,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2115,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2530,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2853,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2957,1
    - Dst: doit_localhost
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1817,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1487,1
    - Dst: set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1776,1
    - Dst: SSL_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1842,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1911,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2202,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2394,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1766,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1907,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1222,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1404,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1417,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1484,1
    - Dst: EXIT
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1915,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2161,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2689,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2857,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1453,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1902,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2166,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2247,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2515,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2788,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2962,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2782,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:989,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1387,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1525,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1899,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1698,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1770,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1721,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2071,1
    - Dst: BIO_nwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2522,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2630,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2894,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2555,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1761,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:983,1
    - Dst: sk_SSL_COMP_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1335,1
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1549,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1750,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2350,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2951,1
    - Dst: COMP_zlib
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1315,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1608,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1011,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1446,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1543,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2381,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2726,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2869,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2885,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2898,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2517,1
    - Dst: SSL_CTX_use_serverinfo_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1651,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2063,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2169,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2205,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2376,1
    - Dst: BIO_ctrl_get_read_request
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2493,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2815,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2865,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2921,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2808,1
    - Dst: write_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1860,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1682,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2623,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2862,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2651,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1978,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:977,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1753,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1948,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2048,1
    - Dst: verify_npn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2177,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2579,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2700,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2794,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2160,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2630,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1887,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1604,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1666,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1466,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2751,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2837,1
    - Dst: psk_key2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2999,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2171,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2209,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2576,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2636,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1832,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1551,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1229,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1336,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1320,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2161,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2473,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2539,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2881,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1288,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1319,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2136,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2204,1
    - Dst: print_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2549,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2824,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2863,1
    - Dst: print_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1873,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1326,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1483,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2036,1
    - Dst: doit_biopair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1809,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1912,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2246,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2383,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2466,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2812,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2580,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:978,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:987,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1187,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1469,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1569,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1607,1
    - Dst: set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1774,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1908,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1620,1
    - Dst: SSL_CTX_use_serverinfo_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1652,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1946,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:947,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1903,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1964,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2099,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2563,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2954,1
    - Dst: if
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1266,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1444,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1523,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1686,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1853,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1990,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2023,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2378,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2575,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2665,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2934,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2706,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1467,1
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1550,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2018,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2699,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:914,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1539,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2172,1
    - Dst: verify_alpn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2558,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2694,1
    - Dst: psk_key2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2981,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1784,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1010,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1508,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1840,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1730,1
    - Dst: verify_serverinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2180,1
    - Dst: BIO_nread
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2464,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2617,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2625,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2722,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1646,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1758,1
    - Dst: COMP_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1317,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1409,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1460,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1496,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1841,1
    - Dst: BIO_new_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1941,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2315,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2582,1
    - Dst: write_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1866,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:939,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1035,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1390,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1432,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1536,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2405,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2415,1
    - Dst: verify_serverinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2554,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2629,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1782,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1849,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1413,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2471,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2578,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2732,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2958,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2199,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:981,1
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1548,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1602,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2164,1
    - Dst: BIO_new_bio_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2228,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2342,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2740,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2747,1
    - Dst: if
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1261,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2777,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1490,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1530,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2639,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2926,1
    - Dst: BIO_should_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2742,1
    - Dst: print_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2847,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1435,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1506,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1227,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1400,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:956,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1992,1
    - Dst: print_details
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2158,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2201,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2245,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2302,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2739,1
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2678,1
    - Dst: doit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1806,1
    - Dst: sk_SSL_COMP_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1330,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1501,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1556,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1670,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2297,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2688,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2735,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2772,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2830,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1427,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1726,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1338,1
    - Dst: EXIT
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1247,1
    - Dst: BIO_new_bio_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2230,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2465,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1440,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1489,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1760,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2160,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2165,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2573,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2577,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2622,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2881,1
    - Dst: BIO_ctrl_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2452,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1210,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:940,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1445,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1982,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2103,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2116,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2629,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2922,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2975,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2584,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1522,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2113,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2354,1
    - Dst: BIO_ctrl_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2492,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2664,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2961,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1448,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1544,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1749,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1634,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2134,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2955,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2718,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1220,1
    - Dst: SSL_COMP_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1336,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1628,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1850,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2062,1
    - Dst: BIO_should_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2813,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1571,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1836,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1690,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2147,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2241,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2304,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2480,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2657,1
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2682,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2693,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1754,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1853,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2052,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:955,1
    - Dst: if
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1256,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1459,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1506,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1768,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2237,1
    - Dst: clock
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2431,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2632,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2745,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1793,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2020,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1988,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1499,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1581,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2401,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2755,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2789,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2929,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1485,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1600,1
    - Dst: next_protos_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1718,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1991,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1542,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2104,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2162,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2237,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2243,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2299,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2645,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2926,1
    - Dst: get_dh4096
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1518,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1538,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1800,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2382,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2395,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2413,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2622,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2638,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2339,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1433,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1494,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2170,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2189,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2392,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2710,1
    - Dst: BIO_set_bind_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1935,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1900,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1957,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1528,1
    - Dst: verify_alpn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2184,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2316,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2949,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1418,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1897,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1535,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1798,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1386,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:926,1
    - Dst: EXIT
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1300,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1833,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2341,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2540,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2776,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1714,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1658,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1531,1
    - Dst: SSL_CTX_use_psk_identity_hint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1605,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2426,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2887,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2784,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2885,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2695,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1975,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1560,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1477,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1674,1
    - Dst: DTLS_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1368,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:936,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:959,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:1702,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2126,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2331,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2512,1
    CyclomaticComplexity: 734
    EdgeCount: 734
    ICount: 1574
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3002
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 3002
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - COMP_get_type
    - get_dh512
    - sk_OPENSSL_STRING_value
    - BIO_up_ref
    - sk_OPENSSL_STRING_free
    - BIO_snprintf
    - SSL_CTX_set_default_ctlog_list_file
    - SSL_CTX_set_psk_server_callback
    - BIO_nwrite
    - BIO_nread
    - DTLS_method
    - BIO_new
    - SSL_new
    - BIO_do_connect
    - ERR_print_errors
    - BIO_get_accept_port
    - doit_localhost
    - X509_STORE_CTX_get0_cert
    - SSL_in_init
    - SSL_set_session
    - BIO_new_fp
    - verify_npn
    - SSL_CTX_set_min_proto_version
    - atol
    - X509_NAME_oneline
    - SSL_CTX_set_security_level
    - SSL_set_options
    - SSL_CTX_enable_ct
    - SSL_free
    - sk_SSL_COMP_value
    - BIO_read
    - SSL_CONF_CTX_set1_prefix
    - SSL_CONF_cmd_argv
    - BIO_set_ssl
    - BIO_should_read
    - SSL_set_accept_state
    - BIO_ctrl_get_write_guarantee
    - SSL_get_wbio
    - BIO_s_mem
    - TLS_method
    - test_get_libctx
    - doit
    - BIO_set_accept_ip_family
    - EXIT
    - STACK_OF
    - SSL_CONF_CTX_free
    - BIO_write
    - BN_hex2bn
    - ERR_peek_error
    - sk_OPENSSL_STRING_num
    - verify_serverinfo
    - get_dh4096
    - OPENSSL_free
    - BIO_ctrl_pending
    - X509_verify_cert
    - X509_STORE_CTX_get_current_cert
    - SSL_CTX_new_ex
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_finish
    - SSL_set_max_send_fragment
    - ERR_clear_error
    - sk_OPENSSL_STRING_push
    - BIO_set_conn_ip_family
    - BIO_new_accept
    - SSL_CTX_add_server_custom_ext
    - get_dh1024dsa
    - printf
    - SSL_CONF_cmd
    - SSL_CTX_set_session_id_context
    - SSL_CTX_add_session
    - strlen
    - SSL_CTX_set_npn_advertised_cb
    - SSL_CTX_set_alpn_select_cb
    - get_dh2048
    - OSSL_LIB_CTX_free
    - if
    - BN_free
    - BIO_puts
    - SSL_set_tlsext_host_name
    - strspn
    - ERR_GET_REASON
    - SSL_CTX_set_tlsext_ticket_keys
    - SSL_CTX_use_psk_identity_hint
    - SSL_COMP_get_id
    - EVP_PKEY_free
    - clock
    - BIO_set_nbio
    - fprintf
    - BIO_printf
    - set_protocol_version
    - BIO_new_bio_pair
    - SSL_version
    - verify_alpn
    - SSL_CTX_set_next_proto_select_cb
    - SSL_get_session
    - X509_verify_cert_error_string
    - OPENSSL_zalloc
    - atoi
    - SSL_COMP_get0_name
    - SSL_CTX_set_options
    - SSL_CTX_load_verify_file
    - SSL_CTX_use_serverinfo_file
    - SSL_COMP_add_compression_method
    - SSL_CTX_set_cert_verify_callback
    - sk_OPENSSL_STRING_new_null
    - SSL_CTX_set_cipher_list
    - SSL_set_bio
    - BIO_f_ssl
    - SSL_session_reused
    - read_session
    - SSL_CTX_set_tlsext_servername_callback
    - verify_servername
    - SSL_set_connect_state
    - SSL_CTX_set_verify
    - SSL_CONF_CTX_new
    - SSL_CTX_set_max_proto_version
    - next_protos_parse
    - SSL_CTX_set0_tmp_dh_pkey
    - BIO_nwrite0
    - BIO_free
    - SSL_CTX_set_psk_client_callback
    - BN_num_bytes
    - OSSL_PROVIDER_unload
    - COMP_zlib
    - EVP_PKEY_up_ref
    - X509_STORE_CTX_get_error
    - X509_get_subject_name
    - write_session
    - BIO_free_all
    - strcmp
    - BIO_new_connect
    - BIO_set_bind_mode
    - memset
    - BIO_get_ktls_send
    - SSL_SESSION_free
    - BIO_do_accept
    - SSL_CTX_set_alpn_protos
    - BIO_should_retry
    - SSL_CTX_set_default_verify_paths
    - sk_SSL_COMP_num
    - BIO_ctrl_get_read_request
    - BIO_get_ktls_recv
    - SSL_get_rbio
    - ERR_print_errors_fp
    - BIO_should_write
    - SSL_CTX_free
    - BN_bn2bin
    - SSL_get_version
    - BIO_pop
    - doit_biopair
    - SSL_CTX_add_client_custom_ext
    - psk_key2bn
    - SSL_CONF_CTX_set_flags
    - print_details
    - X509_STORE_CTX_get_error_depth
    - protocol_from_string
    - assert
    - BIO_pending
    - SSL_CTX_set_ciphersuites
    - SSL_state_string_long
    - SSL_CTX_load_verify_dir
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get0_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2919,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2922,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2921,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2926,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2923,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2926,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2928,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2929,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:2934,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 2937
      start: 2912
    functionDepth: 0
    functionLinenumber: 2912
    functionLinenumberEnd: 2937
    functionName: app_verify_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - X509_NAME_oneline
    - X509_verify_cert
    - X509_STORE_CTX_get0_cert
    - printf
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int app_verify_callback(X509_STORE_CTX *ctx, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: custom_ext_0_srv_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int custom_ext_0_srv_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: protocol_from_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:872,1
    - Dst: SSL_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:877,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c:874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - version
    - ssl
    - setting
    argTypes:
    - char*
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 880
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 880
    functionName: set_protocol_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_old_test.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_ctrl
    - protocol_from_string
    linkageType: ''
    returnType: int
    signature: 'static int set_protocol_version(const char *version, SSL *ssl, int
      setting) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - file
    - line
    - data1
    - data1_len
    - data2
    - data2_len
    argTypes:
    - char*
    - int
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: test_mem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_mem_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_mem(const char *file, const int line, const void *data1,
      size_t data1_len, const void *data2, size_t data2_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:647,1
    - Dst: TEST_FL_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:650,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:650,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: check_unprotected_legacy_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_strn_eq
    - TEST_FL_int_gt
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_unprotected_legacy_PEM(const char *file, const int
      line, const char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: test_protected_via_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_protected_via_DER(const char *type, EVP_PKEY *key,
      int fips) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 758
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 758
    functionName: test_protected_via_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_protected_via_PEM(const char *type, EVP_PKEY *key,
      int fips) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:856,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:857,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:859,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: check_public_MSBLOB
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - TEST_FL_ptr
    - b2i_PublicKey
    linkageType: ''
    returnType: int
    signature: 'static int check_public_MSBLOB(const char *file, const int line, const
      char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1098,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1100,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1099,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1109,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1111,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1118,1
    - Dst: BN_value_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1119,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1098,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1099,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1102,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1104,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1106,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1103,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1105,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1110,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1112,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1114,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1101,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1109,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1111,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1116,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1118,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1101,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1102,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1104,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1106,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1105,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1103,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1110,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1112,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1114,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1116,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - bld
    - gen
    - gen_len
    argTypes:
    - OSSL_PARAM_BLD*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1120
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1120
    functionName: do_create_ec_explicit_prime_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - OSSL_PARAM_BLD_push_utf8_string
    - BN_value_one
    - TEST_true
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int do_create_ec_explicit_prime_params(OSSL_PARAM_BLD *bld,
      const unsigned char *gen, size_t gen_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: encode_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:170,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:184,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:206,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:206,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:230,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:183,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:175,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:190,1
    - Dst: encode_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:194,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:204,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:204,1
    - Dst: test_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:216,1
    - Dst: dump_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:225,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:231,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:170,1
    - Dst: decode_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:184,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:189,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:201,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:201,1
    - Dst: dump_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:223,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:228,1
    - Dst: decode_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:175,1
    - Dst: check_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:183,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:199,1
    - Dst: decode_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:190,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:194,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:229,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 78
    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
    constantsTouched: []
    func_position:
      end: 233
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 233
    functionName: test_encode_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_cb
    - check_cb
    - EVP_PKEY_parameters_eq
    - decode_cb
    - strcmp
    - TEST_int_eq
    - TEST_true
    - dump_cb
    - encode_cb
    - EVP_PKEY_eq
    - OPENSSL_free
    - EVP_PKEY_free
    - TEST_false
    linkageType: ''
    returnType: int
    signature: 'static int test_encode_decode(const char *file, const int line, const
      char *type, EVP_PKEY *pkey, int selection, const char *output_type, const char
      *output_structure, const char *pass, const char *pcipher, encoder *encode_cb,
      decoder *decode_cb, tester *test_cb, checker *check_cb, dumper *dump_cb, int
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:718,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:719,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: check_protected_PKCS8_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - X509_SIG_free
    - TEST_FL_ptr
    - d2i_X509_SIG
    linkageType: ''
    returnType: int
    signature: 'static int check_protected_PKCS8_DER(const char *file, const int line,
      const char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 746
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 746
    functionName: check_protected_PKCS8_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_protected_PKCS8_PEM(const char *file, const int line,
      const char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:767,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:770,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:771,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:767,1
    - Dst: TEST_FL_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:770,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 772
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 772
    functionName: check_protected_legacy_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_int_gt
    - TEST_FL_ptr
    - BIO_snprintf
    - TEST_FL_strn_eq
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_protected_legacy_PEM(const char *file, const int
      line, const char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 870
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 870
    functionName: test_public_via_MSBLOB
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_public_via_MSBLOB(const char *type, EVP_PKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_prime_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1137
    functionName: create_ec_explicit_prime_params_namedcurve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - do_create_ec_explicit_prime_params
    linkageType: ''
    returnType: int
    signature: 'static int create_ec_explicit_prime_params_namedcurve(OSSL_PARAM_BLD
      *bld) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:792,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:802,1
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:796,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 804
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 804
    functionName: test_protected_via_PVK
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    - TEST_skip
    - OSSL_PROVIDER_load
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_protected_via_PVK(const char *type, EVP_PKEY *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:369,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:373,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:370,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:373,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:370,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:373,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:374,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:374,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:378,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:378,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:379,1
    - Dst: TEST_FL_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:380,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:389,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:388,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    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*
    constantsTouched: []
    func_position:
      end: 391
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 391
    functionName: encode_EVP_PKEY_legacy_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_true
    - BIO_free
    - EVP_CIPHER_free
    - TEST_FL_long_gt
    - PEM_write_bio_PrivateKey_traditional
    - TEST_FL_ptr
    - BIO_get_mem_ptr
    - EVP_CIPHER_fetch
    - BIO_s_mem
    - BIO_new
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int encode_EVP_PKEY_legacy_PEM(const char *file, const int
      line, void **encoded, long *encoded_len, void *object, ossl_unused int selection,
      ossl_unused const char *output_type, ossl_unused const char *output_structure,
      const char *pass, const char *pcipher) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:452,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:454,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:454,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:452,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:454,1
    - Dst: TEST_FL_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:455,1
    - Dst: i2b_PVK_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:455,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:457,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:457,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:458,1
    - Dst: TEST_FL_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:459,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:467,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    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*
    constantsTouched: []
    func_position:
      end: 469
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 469
    functionName: encode_EVP_PKEY_PVK
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - TEST_FL_int_ge
    - BIO_free
    - TEST_FL_long_gt
    - TEST_FL_ptr
    - BIO_get_mem_ptr
    - BIO_s_mem
    - i2b_PVK_bio_ex
    - BIO_new
    - TEST_FL_true
    linkageType: ''
    returnType: int
    signature: 'static int encode_EVP_PKEY_PVK(const char *file, const int line, void
      **encoded, long *encoded_len, void *object, int selection, ossl_unused const
      char *output_type, ossl_unused const char *output_structure, const char *pass,
      ossl_unused const char *pcipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_output_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - label
    - data
    - data_len
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: dump_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_output_memory
    linkageType: ''
    returnType: void
    signature: 'static void dump_der(const char *label, const void *data, size_t data_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:590,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:596,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:594,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:592,1
    - Dst: d2i_KeyParams
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:600,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:602,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 606
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 606
    functionName: check_params_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - d2i_KeyParams
    - strcmp
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int check_params_DER(const char *file, const int line, const
      char *type, const void *data, size_t data_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:656,1
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 665
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 665
    functionName: test_unprotected_via_legacy_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_unprotected_via_legacy_PEM(const char *type, EVP_PKEY
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: test_unprotected_via_PVK
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_unprotected_via_PVK(const char *type, EVP_PKEY *key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:406,1
    - Dst: i2b_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:410,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:406,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:406,1
    - Dst: TEST_FL_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:410,1
    - Dst: TEST_FL_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:413,1
    - Dst: i2b_PublicKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:413,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:417,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:417,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:418,1
    - Dst: TEST_FL_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:419,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:427,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    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*
    constantsTouched: []
    func_position:
      end: 429
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 429
    functionName: encode_EVP_PKEY_MSBLOB
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - i2b_PublicKey_bio
    - TEST_FL_int_ge
    - BIO_free
    - TEST_FL_long_gt
    - TEST_FL_ptr
    - BIO_get_mem_ptr
    - BIO_s_mem
    - i2b_PrivateKey_bio
    - BIO_new
    - TEST_FL_true
    linkageType: ''
    returnType: int
    signature: 'static int encode_EVP_PKEY_MSBLOB(const char *file, const int line,
      void **encoded, long *encoded_len, void *object, int selection, ossl_unused
      const char *output_type, ossl_unused const char *output_structure, ossl_unused
      const char *pass, ossl_unused const char *pcipher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:434,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: pass_pw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int pass_pw(char *buf, int size, int rwflag, void *userdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn2_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - file
    - line
    - data1
    - data1_len
    - data2
    - data2_len
    argTypes:
    - char*
    - int
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: test_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_strn2_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_text(const char *file, const int line, const void
      *data1, size_t data1_len, const void *data2, size_t data2_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_output_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - label
    - data
    - data_len
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: dump_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_output_string
    linkageType: ''
    returnType: void
    signature: 'static void dump_pem(const char *label, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:615,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:618,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:615,1
    - Dst: TEST_FL_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 619
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 619
    functionName: check_params_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_strn_eq
    - TEST_FL_int_gt
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_params_PEM(const char *file, const int line, const
      char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: test_params_via_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_params_via_PEM(const char *type, EVP_PKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:671,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:672,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: check_MSBLOB
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - b2i_PrivateKey
    - TEST_FL_ptr
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int check_MSBLOB(const char *file, const int line, const char
      *type, const void *data, size_t data_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:493,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:502,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:495,1
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:503,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:498,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 508
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 508
    functionName: collect_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - strcat
    - OPENSSL_realloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void collect_name(const char *name, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:777,1
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 786
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 786
    functionName: test_protected_via_legacy_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_skip
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_protected_via_legacy_PEM(const char *type, EVP_PKEY
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: test_params_via_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_params_via_DER(const char *type, EVP_PKEY *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_trinomial_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1237
    functionName: create_ec_explicit_trinomial_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - do_create_ec_explicit_trinomial_params
    linkageType: ''
    returnType: int
    signature: 'static int create_ec_explicit_trinomial_params(OSSL_PARAM_BLD *bld) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1463,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1461,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1467,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1474,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1483,1
    - Dst: FREE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1490,1
    - Dst: FREE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1494,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1499,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1462,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1466,1
    - Dst: FREE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1488,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1496,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1500,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1460,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1468,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1486,1
    - Dst: FREE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1489,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1478,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1482,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1475,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1497,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1465,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1470,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1481,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1485,1
    - Dst: FREE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1491,1
    - Dst: FREE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1493,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1501
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1501
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - FREE_DOMAIN_KEYS
    - OSSL_LIB_CTX_free
    - BN_CTX_free
    - OSSL_PROVIDER_unload
    - FREE_KEYS
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:81,1
    - Dst: get_dh512
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:82,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:84,1
    - Dst: get_dhx512
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:85,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:92,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:93,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:95,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:96,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:97,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - type
    - genparams
    argTypes:
    - char*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 100
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: make_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - get_dh512
    - EVP_PKEY_CTX_set_params
    - strcmp
    - EVP_PKEY_paramgen_init
    - get_dhx512
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_generate
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *make_template(const char *type, OSSL_PARAM *genparams) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:110,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:118,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:121,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:120,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:111,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:122,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - type
    - template
    - genparams
    argTypes:
    - char*
    - EVP_PKEY*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: make_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *make_key(const char *type, EVP_PKEY *template, OSSL_PARAM
      *genparams) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:261,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:251,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:257,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:260,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:261,1
    - Dst: TEST_FL_long_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:265,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:262,1
    - Dst: BIO_get_mem_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:263,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:263,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:251,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:273,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:261,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:264,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:255,1
    - Dst: TEST_FL_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:255,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:257,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:258,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:260,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:262,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:274,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 50
    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*
    constantsTouched: []
    func_position:
      end: 276
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 276
    functionName: encode_EVP_PKEY_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_to_bio
    - BIO_free
    - OSSL_ENCODER_CTX_get_num_encoders
    - TEST_FL_long_gt
    - TEST_FL_int_gt
    - TEST_FL_ptr
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_free
    - strlen
    - BIO_get_mem_ptr
    - BIO_s_mem
    - OSSL_ENCODER_CTX_new_for_pkey
    - BIO_new
    - TEST_FL_true
    linkageType: ''
    returnType: int
    signature: 'static int encode_EVP_PKEY_prov(const char *file, const int line,
      void **encoded, long *encoded_len, void *object, int selection, const char *output_type,
      const char *output_structure, const char *pass, const char *pcipher) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:526,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:529,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:530,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:534,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:533,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:534,1
    - Dst: EVP_PKEY_type_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:535,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:537,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:538,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:540,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:541,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:544,1
    - Dst: evp_pkey_is_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 546
    functionName: check_unprotected_PKCS8_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - evp_pkey_is_provided
    - OPENSSL_free
    - TEST_FL_ptr
    - EVP_PKEY_is_a
    - TEST_note
    - EVP_PKEY_free
    - EVP_PKEY_type_names_do_all
    - d2i_PKCS8_PRIV_KEY_INFO
    - EVP_PKCS82PKEY_ex
    - TEST_FL_true
    linkageType: ''
    returnType: int
    signature: 'static int check_unprotected_PKCS8_DER(const char *file, const int
      line, const char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 568
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 568
    functionName: check_unprotected_PKCS8_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_unprotected_PKCS8_PEM(const char *file, const int
      line, const char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: test_unprotected_via_MSBLOB
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_unprotected_via_MSBLOB(const char *type, EVP_PKEY
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:811,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:814,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:812,1
    - Dst: TEST_FL_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:812,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 816
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 816
    functionName: check_public_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - d2i_PUBKEY_ex
    - EVP_PKEY_free
    - TEST_FL_ptr
    - EVP_PKEY_is_a
    - TEST_FL_true
    linkageType: ''
    returnType: int
    signature: 'static int check_public_DER(const char *file, const int line, const
      char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: check_public_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_public_PEM(const char *file, const int line, const
      char *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1187,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1188,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1189,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1192,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1194,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1193,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1195,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1196,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1197,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1201,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1205,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1187,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1188,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1191,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1200,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1202,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1203,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1190,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1191,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1192,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1194,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1196,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1195,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1193,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1201,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1203,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1205,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1189,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1190,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1200,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1207,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 3
    argNames:
    - bld
    - gen
    - gen_len
    argTypes:
    - OSSL_PARAM_BLD*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1209
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1209
    functionName: do_create_ec_explicit_trinomial_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - OSSL_PARAM_BLD_push_utf8_string
    - TEST_true
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int do_create_ec_explicit_trinomial_params(OSSL_PARAM_BLD *bld,
      const unsigned char *gen, size_t gen_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1269
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1269
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:298,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:312,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:325,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:349,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:293,1
    - Dst: TEST_FL_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:312,1
    - Dst: TEST_FL_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:320,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:320,1
    - Dst: TEST_FL_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:322,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:346,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:347,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:298,1
    - Dst: OSSL_DECODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:319,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:319,1
    - Dst: TEST_FL_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:333,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:336,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:348,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:322,1
    - Dst: TEST_FL_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:336,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:333,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 57
    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*
    constantsTouched: []
    func_position:
      end: 351
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 351
    functionName: decode_EVP_PKEY_prov
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_CTX_set_passphrase
    - EVP_PKEY_parameters_eq
    - BIO_free
    - strcmp
    - TEST_FL_ptr
    - TEST_FL_int_gt
    - EVP_PKEY_eq
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - TEST_FL_int_eq
    - BIO_reset
    - OSSL_DECODER_CTX_new_for_pkey
    - BIO_new_mem_buf
    - OSSL_DECODER_from_bio
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int decode_EVP_PKEY_prov(const char *file, const int line,
      void **object, void *encoded, long encoded_len, const char *input_type, const
      char *structure_type, const char *keytype, int selection, const char *pass) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: test_unprotected_via_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_unprotected_via_DER(const char *type, EVP_PKEY *key,
      int fips) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 579
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 579
    functionName: test_unprotected_via_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_unprotected_via_PEM(const char *type, EVP_PKEY *key,
      int fips) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_do_PVK_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: check_PVK
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - ossl_do_PVK_header
    linkageType: ''
    returnType: int
    signature: 'static int check_PVK(const char *file, const int line, const char
      *type, const void *data, size_t data_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 827
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 827
    functionName: test_public_via_DER
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_public_via_DER(const char *type, EVP_PKEY *key, int
      fips) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 849
    functionName: test_public_via_PEM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: 'static int test_public_via_PEM(const char *type, EVP_PKEY *key, int
      fips) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_prime_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1155
    functionName: create_ec_explicit_prime_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - do_create_ec_explicit_prime_params
    linkageType: ''
    returnType: int
    signature: 'static int create_ec_explicit_prime_params(OSSL_PARAM_BLD *bld) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_trinomial_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1223
    functionName: create_ec_explicit_trinomial_params_namedcurve
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - do_create_ec_explicit_trinomial_params
    linkageType: ''
    returnType: int
    signature: 'static int create_ec_explicit_trinomial_params_namedcurve(OSSL_PARAM_BLD
      *bld) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1314,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1352,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1355,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1393,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1424,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1440,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1383,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1409,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1391,1
    - Dst: ADD_TEST_SUITE_MSBLOB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1447,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1377,1
    - Dst: create_ec_explicit_prime_params_namedcurve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1349,1
    - Dst: MAKE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1387,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1347,1
    - Dst: create_ec_explicit_trinomial_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1357,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1373,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1433,1
    - Dst: ADD_TEST_SUITE_UNPROTECTED_PVK
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1448,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1342,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1340,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1348,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1398,1
    - Dst: ADD_TEST_SUITE_MSBLOB
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1411,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1358,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1380,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1346,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1418,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1426,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1441,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1420,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1422,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1410,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1292,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1354,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1378,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1359,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1394,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1408,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1390,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1374,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1368,1
    - Dst: create_ec_explicit_prime_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1350,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1428,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1323,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1351,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1370,1
    - Dst: load_pkey_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1391,1
    - Dst: MAKE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1386,1
    - Dst: ADD_TEST_SUITE_UNPROTECTED_PVK
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1412,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1434,1
    - Dst: ADD_TEST_SUITE_PROTECTED_PVK
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1450,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1284,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1355,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1393,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1431,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1299,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1354,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1442,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1423,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1340,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1342,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1352,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1358,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1327,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1347,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1359,1
    - Dst: MAKE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1388,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1429,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1305,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1348,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1379,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1382,1
    - Dst: ADD_TEST_SUITE_PROTECTED_PVK
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1414,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1369,1
    - Dst: MAKE_KEYS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1385,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1399,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1283,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1308,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1346,1
    - Dst: fips_provider_version_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1335,1
    - Dst: create_ec_explicit_trinomial_params_namedcurve
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1356,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1401,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1432,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1400,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1419,1
    - Dst: ADD_TEST_SUITE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1421,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1311,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1330,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1351,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1392,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1365,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c:1427,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 156
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1455
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1455
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/endecode_test.c
    functionUses: []
    functionsReached:
    - MAKE_KEYS
    - create_ec_explicit_prime_params
    - test_get_libctx
    - OSSL_PARAM_BLD_to_param
    - ADD_TEST_SUITE_UNPROTECTED_PVK
    - OSSL_PARAM_utf8_string
    - strcmp
    - TEST_info
    - create_ec_explicit_trinomial_params_namedcurve
    - OSSL_LIB_CTX_new
    - ADD_TEST_SUITE_PARAMS
    - ADD_TEST_SUITE_MSBLOB
    - MAKE_DOMAIN_KEYS
    - load_pkey_pem
    - OSSL_PROVIDER_load
    - create_ec_explicit_trinomial_params
    - OSSL_PARAM_BLD_new
    - create_ec_explicit_prime_params_namedcurve
    - OSSL_PARAM_size_t
    - ADD_TEST_SUITE_LEGACY
    - ADD_TEST_SUITE_PROTECTED_PVK
    - TEST_ptr
    - opt_arg
    - fips_provider_version_eq
    - ADD_TEST_SUITE
    - opt_next
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: fake_rsa_keymgmt_imptypes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *fake_rsa_keymgmt_imptypes(int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: fake_rsa_keymgmt_exptypes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *fake_rsa_keymgmt_exptypes(int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:233,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: fake_rsa_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *fake_rsa_gen_init(void *provctx, int selection, const
      OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: fake_rsa_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void fake_rsa_gen_cleanup(void *genctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:129,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:131,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:137,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:135,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:133,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:139,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:141,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:143,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:147,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:150,1
    - Dst: OSSL_PARAM_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:156,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - priv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 158
    functionName: fake_rsa_key_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_dup
    - OSSL_PARAM_BN
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'OSSL_PARAM *fake_rsa_key_params(int priv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: fake_rsa_keymgmt_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *fake_rsa_keymgmt_load(const void *reference, size_t reference_sz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:247,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:251,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:248,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: fake_rsa_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - fake_rsa_keymgmt_new
    - TEST_mem_eq
    linkageType: ''
    returnType: void*
    signature: 'static void *fake_rsa_gen(void *genctx, OSSL_CALLBACK *osslcb, void
      *cbarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 496
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 496
    functionName: fake_rsa_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *fake_rsa_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:42,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: fake_rsa_keymgmt_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *fake_rsa_keymgmt_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: fake_rsa_keymgmt_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_keymgmt_has(const void *key, int selection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:375,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:378,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:382,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: fake_rsa_st_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strncmp
    - TEST_info
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *fake_rsa_st_open(void *provctx, const char *uri) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:509,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: fake_rsa_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_provider_init(const OSSL_CORE_HANDLE *handle,
      const OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: fake_rsa_keymgmt_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *fake_rsa_keymgmt_query(int id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: fake_rsa_keymgmt_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void fake_rsa_keymgmt_free(void *keydata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:294,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: fake_rsa_sig_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *fake_rsa_sig_newctx(void *provctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: fake_rsa_st_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *fake_rsa_st_settable_ctx_params(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:519,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:519,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:521,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:521,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 525
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 525
    functionName: fake_rsa_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_try_load
    - TEST_ptr
    - TEST_true
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *fake_rsa_start(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: fake_rsa_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: 'void fake_rsa_finish(OSSL_PROVIDER *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:169,1
    - Dst: param_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:172,1
    - Dst: fake_rsa_key_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:169,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_callback
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: fake_rsa_keymgmt_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - fake_rsa_key_params
    - TEST_ptr
    - OSSL_PARAM_free
    - param_callback
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_keymgmt_export(void *keydata, int selection, OSSL_CALLBACK
      *param_callback, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sigctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: fake_rsa_sig_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void fake_rsa_sig_freectx(void *sigctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:332,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:338,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:332,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:342,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: fake_rsa_sig_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_ptr
    - TEST_int_ge
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_sig_sign(void *ctx, unsigned char *sig, size_t
      *siglen, size_t sigsize, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - loaderctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: fake_rsa_st_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_st_set_ctx_params(void *loaderctx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: fake_rsa_st_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_st_eof(void *loaderctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:313,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:317,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - provkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: fake_rsa_sig_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - TEST_int_gt
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_sig_sign_init(void *ctx, void *provkey, const
      OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:414,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:414,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:416,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:419,1
    - Dst: fake_rsa_keymgmt_import
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:416,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:421,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:425,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:427,1
    - Dst: object_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:428,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:433,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:441,1
    - Dst: fake_rsa_keymgmt_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:444,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:437,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 5
    argNames:
    - loaderctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 448
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 448
    functionName: fake_rsa_st_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - TEST_info
    - TEST_int_gt
    - OSSL_PARAM_construct_utf8_string
    - fake_rsa_keymgmt_import
    - fake_rsa_keymgmt_new
    - OSSL_PARAM_construct_end
    - fake_rsa_keymgmt_free
    - OSSL_PARAM_construct_octet_string
    - object_cb
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_st_load(void *loaderctx, OSSL_CALLBACK *object_cb,
      void *object_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: fake_rsa_st_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_st_close(void *loaderctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - p
    argTypes:
    - void*
    - int
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: fake_rsa_keymgmt_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/fake_rsaprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fake_rsa_keymgmt_import(void *keydata, int selection, const
      OSSL_PARAM *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: dummy_rand_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_rand_lock(void *vtest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    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*
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: dummy_encoder_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_encoder_encode(void *ctx, OSSL_CORE_BIO *out, const
      void *obj_raw, const OSSL_PARAM obj_abstract[], int selection, OSSL_PASSPHRASE_CALLBACK
      *cb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: dummy_rand_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dummy_rand_unlock(void *vtest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: dummy_store_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *dummy_store_open(void *provctx, const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_calls
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: dummy_rand_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *dummy_rand_newctx(void *provctx, void *parent, const
      OSSL_DISPATCH *parent_calls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 6
    argNames:
    - vdrbg
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: dummy_rand_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_rand_instantiate(void *vdrbg, unsigned int strength,
      int prediction_resistance, const unsigned char *pstr, size_t pstr_len, const
      OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    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
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: dummy_rand_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_rand_generate(void *vctx, unsigned char *out, size_t
      outlen, unsigned int strength, int prediction_resistance, const unsigned char
      *addin, size_t addin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:136,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: dummy_rand_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int dummy_rand_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 5
    argNames:
    - loaderctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: dummy_store_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_store_load(void *loaderctx, OSSL_CALLBACK *object_cb,
      void *object_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: dummy_rand_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dummy_rand_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: dummy_rand_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_rand_uninstantiate(void *vdrbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: dummy_rand_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dummy_rand_gettable_ctx_params(void *vctx,
      void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: dummy_rand_enable_locking
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_rand_enable_locking(void *vtest) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:231,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:246,1
    - Dst: OSSL_ENCODER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:258,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:282,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:286,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:244,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:247,1
    - Dst: OSSL_DECODER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:252,1
    - Dst: RAND_set_DRBG_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:270,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:273,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:273,1
    - Dst: OSSL_ENCODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:283,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:287,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:247,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:264,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:266,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:260,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:284,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:241,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:244,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:246,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:254,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:270,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:285,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 46
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 289
    functionName: fetch_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_free
    - OSSL_STORE_LOADER_free
    - OSSL_DECODER_fetch
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - TEST_true
    - OSSL_STORE_LOADER_fetch
    - RAND_set_DRBG_type
    - OSSL_ENCODER_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_add_builtin
    - OSSL_ENCODER_fetch
    - TEST_int_ge
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int fetch_test(int tst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: dummy_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *dummy_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:205,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 219
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 219
    functionName: dummy_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_new_child
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int dummy_provider_init(const OSSL_CORE_HANDLE *handle, const
      OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    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*
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: dummy_decoder_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_decoder_decode(void *ctx, OSSL_CORE_BIO *cin, int
      selection, OSSL_CALLBACK *object_cb, void *object_cbarg, OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: dumm_store_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dumm_store_eof(void *loaderctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: dummy_store_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/provfetchtest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int dummy_store_close(void *loaderctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:97,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:102,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:105,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:114,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:117,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:119,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:140,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:143,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:144,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:148,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:149,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:90,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:97,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:91,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:95,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:103,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:108,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:109,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:128,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:129,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:141,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:152,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:167,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:96,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:98,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:108,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:118,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:123,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:126,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:128,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:135,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:136,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:156,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:151,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:160,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:164,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:106,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:113,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:116,1
    - Dst: TEST_BN_eq_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:118,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:124,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:127,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:157,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:175,1
    - Dst: BN_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:165,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:174,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:159,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:168,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 108
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 177
    functionName: test_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c
    functionUses: []
    functionsReached:
    - TEST_BN_eq_word
    - BN_new
    - BN_clear
    - TEST_info
    - ossl_decode_der_dsa_sig
    - BN_free
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_decode(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/asn1_dsa_internal_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: check_compression
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_compression(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:216,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: check_resumption
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_resumption(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: check_server_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_ca_names
    linkageType: ''
    returnType: int
    signature: 'static int check_server_ca_names(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:227,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:229,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - name
    - expected_nid
    - nid
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: check_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - OBJ_nid2ln
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int check_nid(const char *name, int expected_nid, int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: check_client_cert_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: 'static int check_client_cert_type(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: check_client_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_ca_names
    linkageType: ''
    returnType: int
    signature: 'static int check_client_ca_names(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_alerts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:365,1
    - Dst: check_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:376,1
    - Dst: check_session_ticket_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:378,1
    - Dst: check_server_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:384,1
    - Dst: check_client_sign_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:386,1
    - Dst: check_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:380,1
    - Dst: check_server_sign_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:382,1
    - Dst: check_client_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:388,1
    - Dst: check_session_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:369,1
    - Dst: check_session_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:371,1
    - Dst: check_result
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:364,1
    - Dst: check_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:367,1
    - Dst: check_npn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:374,1
    - Dst: check_alpn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:377,1
    - Dst: check_resumption
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:379,1
    - Dst: check_client_cert_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:385,1
    - Dst: check_server_cert_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:381,1
    - Dst: check_server_sign_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:383,1
    - Dst: check_client_sign_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:387,1
    - Dst: check_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:368,1
    - Dst: check_compression
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 391
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 391
    functionName: check_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_session_ticket
    - check_result
    - check_resumption
    - check_tmp_key
    - check_servername
    - check_npn
    - check_session_id
    - check_cipher
    - check_session_ticket_app_data
    - check_client_sign_hash
    - check_client_cert_type
    - check_alpn
    - check_compression
    - check_protocol
    - check_client_sign_type
    - check_server_ca_names
    - check_alerts
    - check_server_sign_hash
    - check_server_cert_type
    - check_server_sign_type
    - check_client_ca_names
    linkageType: ''
    returnType: int
    signature: 'static int check_test(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_alert_desc_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: print_alert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - SSL_alert_desc_string_long
    linkageType: ''
    returnType: char*
    signature: 'static const char *print_alert(int alert) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:348,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: check_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_cipher(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:413,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:424,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:429,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:433,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:500,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:494,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:410,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:411,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:466,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:526,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:479,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:488,1
    - Dst: SSL_CTX_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:514,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:476,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:418,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:477,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:529,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:455,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:499,1
    - Dst: CONF_modules_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:524,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:402,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:423,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:453,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:454,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:487,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:483,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:410,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:463,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:498,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:484,1
    - Dst: SSL_CTX_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:511,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:413,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:419,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:424,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:461,1
    - Dst: OPENSSL_init_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:494,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:525,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:475,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:482,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:528,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:479,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:405,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:411,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:423,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:453,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:471,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:477,1
    - Dst: do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:517,1
    - Dst: SSL_CTX_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:508,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:531,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:417,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:430,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:435,1
    - Dst: SSL_CTX_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:503,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:428,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:429,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:463,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:466,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:462,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:470,1
    - Dst: DTLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:434,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:438,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:527,1
    - Dst: CONF_modules_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:500,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:455,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:530,1
    - Dst: check_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:521,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:419,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:427,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:418,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:437,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:454,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:471,1
    - Dst: SSL_CTX_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:504,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:462,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:404,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:430,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:435,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:470,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:484,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 159
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 533
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 533
    functionName: test_handshake
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - CONF_modules_unload
    - OPENSSL_init_ssl
    - CONF_modules_load
    - BIO_snprintf
    - TLS_server_method
    - DTLS_server_method
    - SSL_TEST_CTX_free
    - TEST_true
    - SSL_TEST_CTX_create
    - SSL_CTX_new_ex
    - SSL_CTX_set_options
    - DTLS_client_method
    - SSL_CTX_free
    - HANDSHAKE_RESULT_free
    - check_test
    - SSL_CTX_set_max_proto_version
    - TEST_ptr
    - SSL_CTX_config
    - TEST_int_gt
    - do_handshake
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_handshake(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:35,1
    - Dst: ssl_test_result_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:38,1
    - Dst: ssl_test_result_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:37,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: check_result
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ssl_test_result_name
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int check_result(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:237,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:242,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:238,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:242,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:241,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - names
    argTypes:
    - STACK_OF(X509_NAME)*
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: print_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - X509_NAME_print_ex
    - sk_X509_NAME_num
    - BIO_puts
    - sk_X509_NAME_value
    - TEST_note
    linkageType: ''
    returnType: void
    signature: 'static void print_ca_names(STACK_OF(X509_NAME) *names) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: check_tmp_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: 'static int check_tmp_key(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: check_server_sign_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: 'static int check_server_sign_hash(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: check_client_sign_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: 'static int check_client_sign_hash(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:46,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:50,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:49,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:65,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:67,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:68,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:69,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:81,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:82,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:83,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:95,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:97,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:91,1
    - Dst: print_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:90,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 100
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 100
    functionName: check_alerts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_le
    - TEST_int_eq
    - TEST_info
    - TEST_error
    - print_alert
    linkageType: ''
    returnType: int
    signature: 'static int check_alerts(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:256,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:257,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:261,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:261,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:257,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:263,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:264,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:264,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:264,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:265,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:272,1
    - Dst: print_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:274,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:275,1
    - Dst: print_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:276,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:273,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - name
    - expected_names
    - names
    argTypes:
    - char*
    - STACK_OF(X509_NAME)*
    - STACK_OF(X509_NAME)*
    constantsTouched: []
    func_position:
      end: 278
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 278
    functionName: check_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - X509_NAME_cmp
    - sk_X509_NAME_num
    - TEST_info
    - print_ca_names
    - sk_X509_NAME_value
    - TEST_note
    linkageType: ''
    returnType: int
    signature: 'static int check_ca_names(const char *name, STACK_OF(X509_NAME) *expected_names,
      STACK_OF(X509_NAME) *names) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: check_server_cert_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: 'static int check_server_cert_type(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: check_server_sign_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: 'static int check_server_sign_type(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: check_client_sign_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: 'static int check_client_sign_type(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:171,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: check_npn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_npn(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:104,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:112,1
    - Dst: ssl_protocol_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:107,1
    - Dst: ssl_protocol_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:106,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:114,1
    - Dst: ssl_protocol_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:115,1
    - Dst: ssl_protocol_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: check_protocol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ssl_protocol_name
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int check_protocol(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:138,1
    - Dst: ssl_session_ticket_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:141,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:140,1
    - Dst: ssl_session_ticket_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: check_session_ticket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ssl_session_ticket_name
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int check_session_ticket(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:184,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: check_alpn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int check_alpn(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:125,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:126,1
    - Dst: ssl_servername_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:128,1
    - Dst: ssl_servername_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: check_servername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - ssl_servername_name
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int check_servername(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:152,1
    - Dst: ssl_session_id_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:155,1
    - Dst: ssl_session_id_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:154,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: check_session_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - ssl_session_id_name
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int check_session_id(HANDSHAKE_RESULT *result, SSL_TEST_CTX
      *test_ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:201,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:203,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: check_session_ticket_app_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_session_ticket_app_data(HANDSHAKE_RESULT *result,
      SSL_TEST_CTX *test_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:542,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:547,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:543,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:549,1
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:547,1
    - Dst: NCONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:549,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:549,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:550,1
    - Dst: NCONF_get_number_e
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:550,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:552,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:559,1
    - Dst: test_arg_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 561
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 561
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - NCONF_get_number_e
    - test_get_argument
    - NCONF_load
    - TEST_int_ne
    - TEST_int_gt
    - test_arg_libctx
    - TEST_error
    - NCONF_new
    linkageType: ''
    returnType: OPT_TEST_DECLARE_USAGE(USAGE)
    signature: 'OPT_TEST_DECLARE_USAGE(USAGE) int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:565,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:568,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:566,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 569
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 569
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_cipherbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:23,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:26,1
    - Dst: SSL_CIPHER_get_digest_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:26,1
    - Dst: SSL_CIPHER_get_cipher_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:23,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ciph
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 30
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 30
    functionName: cipher_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c
    functionUses: []
    functionsReached:
    - SSL_CIPHER_get_cipher_nid
    - EVP_get_digestbynid
    - SSL_CIPHER_get_digest_nid
    - EVP_get_cipherbynid
    linkageType: ''
    returnType: int
    signature: 'static int cipher_enabled(const SSL_CIPHER *ciph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_num_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:34,1
    - Dst: cipher_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:42,1
    - Dst: TEST_skip
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:43,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:46,1
    - Dst: ssl3_get_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:39,1
    - Dst: ssl_cipher_get_overhead
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:46,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:47,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: cipher_overhead
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/cipher_overhead_test.c
    functionUses: []
    functionsReached:
    - ssl3_get_cipher
    - ssl3_num_ciphers
    - cipher_enabled
    - TEST_skip
    - TEST_true
    - TEST_info
    - ssl_cipher_get_overhead
    linkageType: ''
    returnType: int
    signature: 'static int cipher_overhead(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_status_test.c:19,1
    - Dst: RAND_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_status_test.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: test_rand_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rand_status_test.c
    functionUses: []
    functionsReached:
    - RAND_status
    - TEST_true
    linkageType: ''
    returnType: int
    signature: 'static int test_rand_status(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rand_status_test.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rand_status_test.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:91,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:93,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:92,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:94,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:97,1
    - Dst: HMAC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:97,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:97,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:102,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: test_hmac_md5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - TEST_ptr
    - HMAC
    - EVP_md5
    - pt
    - ebcdic2ascii
    linkageType: ''
    returnType: int
    signature: 'static int test_hmac_md5(int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:111,1
    - Dst: HMAC_CTX_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:113,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:112,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:114,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:113,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:114,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:115,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:115,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:116,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:116,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:122,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:117,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:116,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: test_hmac_bad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_new
    - TEST_ptr
    - HMAC_Update
    - EVP_sha1
    - HMAC_Init_ex
    - HMAC_CTX_get_md
    - TEST_ptr_null
    - TEST_false
    - HMAC_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_hmac_bad(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:208,1
    - Dst: HMAC
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:208,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:210,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:208,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: test_hmac_single_shot
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - TEST_str_eq
    - TEST_ptr
    - HMAC
    - EVP_sha1
    - pt
    linkageType: ''
    returnType: int
    signature: 'static int test_hmac_single_shot(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:256,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:259,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:257,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:257,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:256,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:259,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:259,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:260,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:260,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:261,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:272,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:273,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:267,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:261,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:267,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:271,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:263,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 275
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 275
    functionName: test_hmac_copy_uninited
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_new_mac_key
    - EVP_DigestSignInit
    - EVP_MD_CTX_new
    - TEST_ptr
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_PKEY_free
    - EVP_sha1
    - EVP_DigestSignUpdate
    - EVP_MD_CTX_copy
    linkageType: ''
    returnType: int
    signature: 'static int test_hmac_copy_uninited(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: pt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *pt(unsigned char *md, unsigned int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:225,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:226,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:227,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:227,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:230,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:230,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:230,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:231,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:231,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:232,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:243,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:236,1
    - Dst: HMAC_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:232,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:242,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:237,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:237,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:233,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: test_hmac_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_copy
    - HMAC_CTX_new
    - TEST_str_eq
    - TEST_ptr
    - HMAC_Update
    - TEST_true
    - EVP_sha1
    - HMAC_Init_ex
    - pt
    - HMAC_Final
    - HMAC_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int test_hmac_copy(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:139,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:140,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:147,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:154,1
    - Dst: HMAC_CTX_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:158,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:158,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:159,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:164,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:167,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:168,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:188,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:190,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:160,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:164,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:177,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:192,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:180,1
    - Dst: HMAC_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:136,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:134,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:141,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:145,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:142,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:145,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:146,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:157,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:157,1
    - Dst: TEST_ptr_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:158,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:178,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:193,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:168,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:176,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:169,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:172,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:134,1
    - Dst: HMAC_CTX_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:139,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:140,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:147,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:150,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:151,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:154,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:154,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:159,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:167,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:181,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:189,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:198,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:176,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:177,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:171,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:190,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:138,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:141,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:145,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:142,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:146,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:142,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:151,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:157,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:160,1
    - Dst: pt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:163,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:169,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:193,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:189,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:172,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:178,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 129
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 200
    functionName: test_hmac_run
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_reset
    - HMAC_CTX_new
    - TEST_str_eq
    - TEST_ptr
    - HMAC_Update
    - TEST_true
    - EVP_sha1
    - HMAC_Init_ex
    - HMAC_CTX_get_md
    - pt
    - EVP_sha256
    - HMAC_Final
    - TEST_ptr_null
    - TEST_false
    - HMAC_CTX_free
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: 'static int test_hmac_run(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:293,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:296,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:294,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:297,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:295,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/hmactest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - provctx
    - in
    - inl
    - out
    - outl
    - outsz
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: tmpmd_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tmpmd_digest(void *provctx, const unsigned char *in, size_t
      inl, unsigned char *out, size_t *outl, size_t outsz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:27,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:28,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:31,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: tmpmd_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int tmpmd_get_params(OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: testprov_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int testprov_provider_init(const OSSL_CORE_HANDLE *handle,
      const OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:92,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:101,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:123,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:93,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:98,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:92,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:101,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:105,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:115,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:122,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:108,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:114,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:121,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:115,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:93,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:98,1
    - Dst: EVP_set_default_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:105,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:108,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:112,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - propsorder
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 125
    functionName: test_default_props_and_providers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_ptr
    - EVP_set_default_properties
    - TEST_true
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_add_builtin
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int test_default_props_and_providers(int propsorder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: testprov_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *testprov_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/user_property_test.c
    functionUses: []
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: sanity_check_rdrand_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c
    functionUses: []
    functionsReached:
    - sanity_check_bytes
    linkageType: ''
    returnType: int
    signature: 'static int sanity_check_rdrand_bytes(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:35,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:55,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:53,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:60,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:55,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:61,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:61,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:65,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:68,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:71,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - (*rng)
    - rounds
    - min_failures
    - max_retries
    - max_zero_words
    argTypes:
    - size_t
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 77
    functionName: sanity_check_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c
    functionUses: []
    functionsReached:
    - TEST_int_le
    - memcmp
    - TEST_int_eq
    - memcpy
    - rng
    - TEST_int_ge
    - TEST_false
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int sanity_check_bytes(size_t (*rng)(unsigned char *, size_t),
      int rounds, int min_failures, int max_retries, int max_zero_words) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cpuid_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:97,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:107,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c
    functionUses: []
    functionsReached:
    - ADD_TEST
    - OPENSSL_cpuid_setup
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: sanity_check_rdseed_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/rdrand_sanitytest.c
    functionUses: []
    functionsReached:
    - sanity_check_bytes
    linkageType: ''
    returnType: int
    signature: 'static int sanity_check_rdseed_bytes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:28,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:30,1
    - Dst: copy_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: tls_corrupt_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_read
    - copy_flags
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int tls_corrupt_read(BIO *bio, char *out, int outl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:60,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tls_corrupt_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long tls_corrupt_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: tls_corrupt_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tls_corrupt_puts(BIO *bio, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: tls_corrupt_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int tls_corrupt_free(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: bio_f_tls_corrupt_filter_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void bio_f_tls_corrupt_filter_free(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:147,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:148,1
    - Dst: SSL_CIPHER_get_auth_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:164,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:165,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:161,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:171,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:162,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:146,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:148,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:172,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:146,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:156,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:156,1
    - Dst: TEST_int_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:167,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:173,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:158,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:143,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:146,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:147,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: setup_cipher_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - SSL_free
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_free
    - TEST_ptr
    - SSL_CTX_new
    - TEST_int_ne
    - SSL_CTX_free
    - OPENSSL_malloc
    - SSL_get1_supported_ciphers
    - SSL_CIPHER_get_auth_nid
    - SSL_CIPHER_get_name
    - sk_SSL_CIPHER_value
    - TLS_server_method
    - SSL_new
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int setup_cipher_list(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:18,1
    - Dst: BIO_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:20,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:22,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: copy_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_set_flags
    - BIO_clear_flags
    - BIO_test_flags
    - BIO_next
    linkageType: ''
    returnType: void
    signature: 'static void copy_flags(BIO *bio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:39,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:47,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:43,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:43,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:48,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:50,1
    - Dst: copy_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: tls_corrupt_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_write
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_memdup
    - copy_flags
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int tls_corrupt_write(BIO *bio, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tls_corrupt_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tls_corrupt_gets(BIO *bio, char *buf, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tls_corrupt_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int tls_corrupt_new(BIO *bio) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:188,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:196,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:197,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:203,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:204,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:217,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:230,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:250,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:196,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:202,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:207,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:214,1
    - Dst: bio_f_tls_corrupt_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:217,1
    - Dst: create_ssl_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:221,1
    - Dst: create_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:225,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:230,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:237,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:247,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:194,1
    - Dst: create_ssl_ctx_pair
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:196,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:203,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:207,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:204,1
    - Dst: SSL_CTX_get_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:205,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:233,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:240,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:243,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:248,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:202,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:206,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:205,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:214,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:206,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:217,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:221,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:225,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:233,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:249,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 252
    functionName: test_ssl_corrupt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - bio_f_tls_corrupt_filter
    - TEST_error
    - SSL_CTX_set_dh_auto
    - BIO_new
    - TLS_server_method
    - STACK_OF
    - SSL_write
    - ERR_get_error
    - TEST_true
    - TEST_info
    - create_ssl_objects
    - TEST_int_ge
    - SSL_CTX_set_cipher_list
    - create_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - sk_SSL_CIPHER_value
    - TEST_int_lt
    - create_ssl_ctx_pair
    - SSL_free
    - SSL_CTX_get_ciphers
    - sk_SSL_CIPHER_num
    - SSL_CTX_set_max_proto_version
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    - SSL_read
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'static int test_ssl_corrupt(int testidx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:260,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:261,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:265,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:265,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:266,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:266,1
    - Dst: setup_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:269,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_ALL_TESTS
    - test_get_argument
    - setup_cipher_list
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_f_tls_corrupt_filter_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:277,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - bio_f_tls_corrupt_filter_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:110,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:116,1
    - Dst: BIO_meth_set_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:114,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:115,1
    - Dst: BIO_meth_set_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:113,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:117,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:118,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: bio_f_tls_corrupt_filter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/sslcorrupttest.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_read
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'static const BIO_METHOD *bio_f_tls_corrupt_filter(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:52,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:55,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:54,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:57,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:53,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:59,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - serv
    - serv2
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - SSL_TEST_SERVER_CONF*
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: serverconf_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int serverconf_eq(SSL_TEST_SERVER_CONF *serv, SSL_TEST_SERVER_CONF
      *serv2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:76,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:87,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:101,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:93,1
    - Dst: extraconf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:103,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:88,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:95,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:77,1
    - Dst: extraconf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:89,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:97,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:78,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:85,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:91,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:99,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - ctx2
    argTypes:
    - SSL_TEST_CTX*
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 107
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 107
    functionName: testctx_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - extraconf_eq
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int testctx_eq(SSL_TEST_CTX *ctx, SSL_TEST_CTX *ctx2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:128,1
    - Dst: testctx_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:130,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:135,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - SSL_TEST_CTX_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: execute_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - testctx_eq
    - TEST_ptr
    - SSL_TEST_CTX_free
    - SSL_TEST_CTX_create
    linkageType: ''
    returnType: int
    signature: 'static int execute_test(SSL_TEST_CTX_TEST_FIXTURE *fixture) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SSL_TEST_CTX_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:152,1
    - Dst: EXECUTE_SSL_TEST_CTX_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: test_empty_configuration
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - EXECUTE_SSL_TEST_CTX_TEST
    - SETUP_SSL_TEST_CTX_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: 'static int test_empty_configuration(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:38,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:42,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:41,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:39,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:40,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - conf1
    - conf2
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - SSL_TEST_CLIENT_CONF*
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: clientconf_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: 'static int clientconf_eq(SSL_TEST_CLIENT_CONF *conf1, SSL_TEST_CLIENT_CONF
      *conf2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:113,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:113,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:117,1
    - Dst: SSL_TEST_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: set_up
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - SSL_TEST_CTX_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SSL_TEST_CTX_TEST_FIXTURE*
    signature: 'static SSL_TEST_CTX_TEST_FIXTURE *set_up(const char *const test_case_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:69,1
    - Dst: clientconf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:67,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:68,1
    - Dst: serverconf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:68,1
    - Dst: serverconf_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - extra
    - extra2
    argTypes:
    - SSL_TEST_EXTRA_CONF*
    - SSL_TEST_EXTRA_CONF*
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: extraconf_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - serverconf_eq
    - TEST_true
    - clientconf_eq
    linkageType: ''
    returnType: int
    signature: 'static int extraconf_eq(SSL_TEST_EXTRA_CONF *extra, SSL_TEST_EXTRA_CONF
      *extra2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_TEST_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:141,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - SSL_TEST_CTX_TEST_FIXTURE*
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: tear_down
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - SSL_TEST_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void tear_down(SSL_TEST_CTX_TEST_FIXTURE *fixture) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SSL_TEST_CTX_TEST_FIXTURE
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:161,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:192,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:182,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:193,1
    - Dst: EXECUTE_SSL_TEST_CTX_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:199,1
    - Dst: tear_down
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 205
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 205
    functionName: test_good_configuration
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - SETUP_SSL_TEST_CTX_TEST_FIXTURE
    - TEST_ptr
    - tear_down
    - EXECUTE_SSL_TEST_CTX_TEST
    linkageType: ''
    returnType: int
    signature: 'static int test_good_configuration(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:230,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:230,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: test_bad_configuration
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - SSL_TEST_CTX_free
    - TEST_ptr_null
    - SSL_TEST_CTX_create
    linkageType: ''
    returnType: int
    signature: 'static int test_bad_configuration(int idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:243,1
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:248,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:248,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:244,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:251,1
    - Dst: NCONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:251,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:251,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:254,1
    - Dst: ADD_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:255,1
    - Dst: ADD_ALL_TESTS
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:256,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: setup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - test_skip_common_options
    - TEST_ptr
    - ADD_TEST
    - ADD_ALL_TESTS
    - test_get_argument
    - NCONF_load
    - TEST_int_gt
    - OSSL_NELEM
    - TEST_error
    - NCONF_new
    linkageType: ''
    returnType: int
    signature: 'int setup_tests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/ssl_test_ctx_test.c
    functionUses: []
    functionsReached:
    - NCONF_free
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:22,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:30,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:29,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:35,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:23,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:36,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:41,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:42,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:48,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 32
    argCount: 5
    argNames:
    - libctx
    - default_null_prov
    - config_file
    - provider
    - module_name
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER**
    - char*
    - OSSL_PROVIDER**
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 50
    functionName: test_get_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    functionsReached:
    - ERR_print_errors_fp
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'int test_get_libctx(OSSL_LIB_CTX **libctx, OSSL_PROVIDER **default_null_prov,
      const char *config_file, OSSL_PROVIDER **provider, const char *module_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: fips_provider_version_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: fips_provider_version_le
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: fips_provider_version_gt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: fips_provider_version_ne
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    functionsReached:
    - fips_provider_version
    linkageType: ''
    returnType: int
    signature: 'int fips_provider_version_ne(OSSL_LIB_CTX *libctx, int major, int
      minor, int patch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:57,1
    - Dst: test_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:63,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:57,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:58,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:61,1
    - Dst: test_get_argument
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - libctx
    - default_null_prov
    - provider
    - argn
    - usage
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER**
    - OSSL_PROVIDER**
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: test_arg_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strcmp
    - test_get_argument
    - TEST_error
    - test_get_libctx
    linkageType: ''
    returnType: int
    signature: 'int test_arg_libctx(OSSL_LIB_CTX **libctx, OSSL_PROVIDER **default_null_prov,
      OSSL_PROVIDER **provider, int argn, const char *usage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: fips_provider_version_lt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: fips_provider_version_ge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:179,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:209,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:203,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:206,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:183,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:210,1
    - Dst: fips_provider_version_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:215,1
    - Dst: fips_provider_version_ne
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:218,1
    - Dst: fips_provider_version_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:221,1
    - Dst: fips_provider_version_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:224,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:234,1
    - Dst: fips_provider_version_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:230,1
    - Dst: fips_provider_version_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:227,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 2
    argNames:
    - libctx
    - versions
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 241
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 241
    functionName: fips_provider_version_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    functionsReached:
    - fips_provider_version_ne
    - sscanf
    - isspace
    - fips_provider_version_eq
    - TEST_info
    - fips_provider_version_ge
    - isdigit
    - fips_provider_version_le
    - fips_provider_version_lt
    - fips_provider_version_gt
    linkageType: ''
    returnType: int
    signature: 'int fips_provider_version_match(OSSL_LIB_CTX *libctx, const char *versions) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:82,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:87,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:85,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:84,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:88,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:90,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - libctx
    - vers
    argTypes:
    - OSSL_LIB_CTX*
    - FIPS_VERSION*
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: fips_provider_version
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/provider.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_get_params
    - sscanf
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_load
    - OSSL_PARAM_construct_utf8_ptr
    linkageType: ''
    returnType: int
    signature: 'static int fips_provider_version(OSSL_LIB_CTX *libctx, FIPS_VERSION
      *vers) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: fake_rand_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fake_rand_uninstantiate(void *vrng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: fake_rand_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void fake_rand_freectx(void *vrng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: fake_rand_enable_locking
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fake_rand_enable_locking(void *vrng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:118,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:120,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - vrng
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: fake_rand_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_uint
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *fake_rand_gettable_ctx_params(ossl_unused
      void *vrng, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:177,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - rng
    - name
    argTypes:
    - EVP_RAND_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: check_rng
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'static int check_rng(EVP_RAND_CTX *rng, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: fake_rand_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: 'void fake_rand_finish(OSSL_PROVIDER *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: fake_rand_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *fake_rand_newctx(void *provctx, void *parent, const OSSL_DISPATCH
      *parent_dispatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vrng
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - OSSL_PARAM
    argTypes:
    - void*
    - ossl_unused unsigned
    - ossl_unused
    - ossl_unused*
    - size_t
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: fake_rand_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fake_rand_instantiate(void *vrng, ossl_unused unsigned
      int strength, ossl_unused int prediction_resistance, ossl_unused const unsigned
      char *pstr, size_t pstr_len, ossl_unused const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:83,1
    - Dst: test_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 7
    argNames:
    - vrng
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adinlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: fake_rand_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - memcpy
    - test_random
    linkageType: ''
    returnType: int
    signature: 'static int fake_rand_generate(void *vrng, unsigned char *out, size_t
      outlen, unsigned int strength, int prediction_resistance, const unsigned char
      *adin, size_t adinlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:100,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:101,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:105,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:108,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:104,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - vrng
    - params
    argTypes:
    - ossl_unused*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: fake_rand_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int fake_rand_get_ctx_params(ossl_unused void *vrng, OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: fake_rand_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *fake_rand_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:167,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: fake_rand_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int fake_rand_provider_init(const OSSL_CORE_HANDLE *handle,
      const OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:191,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:193,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:191,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:194,1
    - Dst: RAND_set_DRBG_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:193,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:194,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:198,1
    - Dst: check_rng
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:198,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:198,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:199,1
    - Dst: check_rng
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:200,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:199,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:200,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:201,1
    - Dst: check_rng
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:199,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: fake_rand_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - check_rng
    - OSSL_PROVIDER_try_load
    - TEST_ptr
    - RAND_get0_primary
    - RAND_get0_private
    - RAND_set_DRBG_type
    - TEST_true
    - RAND_get0_public
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: OSSL_PROVIDER*
    signature: 'OSSL_PROVIDER *fake_rand_start(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 2
    argNames:
    - rng
    - (*cb)
    argTypes:
    - EVP_RAND_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: fake_rand_set_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fake_rand_set_callback(EVP_RAND_CTX *rng, int (*cb)(unsigned
      char *out, size_t outlen, const char *name, EVP_RAND_CTX *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:227,1
    - Dst: fake_rand_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:228,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:227,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - libctx
    - (*cb)
    argTypes:
    - OSSL_LIB_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: fake_rand_set_public_private_callbacks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/fake_random.c
    functionUses: []
    functionsReached:
    - RAND_get0_private
    - RAND_get0_public
    - fake_rand_set_callback
    linkageType: ''
    returnType: void
    signature: 'void fake_rand_set_public_private_callbacks(OSSL_LIB_CTX *libctx,
      int (*cb)(unsigned char *out, size_t outlen, const char *name, EVP_RAND_CTX
      *ctx)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: test_get_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/test_options.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS*
    signature: 'const OPTIONS *test_get_options(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:30,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:32,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:35,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:40,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:37,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:42,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 7
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: test_fail_message_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'void test_fail_message_prefix(const char *prefix, const char *file,
      int line, const char *type, const char *left, const char *right, const char
      *op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:79,1
    - Dst: test_vprintf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:81,1
    - Dst: test_flush_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:84,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    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
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: test_fail_message_va
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_flush_stderr
    - test_fail_message_prefix
    - test_vprintf_stderr
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_message_va(const char *prefix, const char *file,
      int line, const char *type, const char *left, const char *right, const char
      *op, const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:103,1
    - Dst: test_fail_message_va
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:104,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - desc
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: test_info_c90
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - va_end
    - test_fail_message_va
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void test_info_c90(const char *desc, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - file
    - line
    - s
    - b
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: test_false
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_message
    linkageType: ''
    returnType: int
    signature: 'int test_false(const char *file, int line, const char *s, int b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:405,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: test_BN_even
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:94,1
    - Dst: test_fail_message_va
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:95,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 8
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - fmt
    - '...'
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: test_fail_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - va_end
    - test_fail_message_va
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_message(const char *prefix, const char *file,
      int line, const char *type, const char *left, const char *right, const char
      *op, const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:112,1
    - Dst: test_fail_message_va
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:113,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - file
    - line
    - desc
    - '...'
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: test_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:280,1
    - Dst: test_fail_string_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:281,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:283,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 6
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - s2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: test_str_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_string_message
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int test_str_eq(const char *file, int line, const char *st1, const
      char *st2, const char *s1, const char *s2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:417,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:419,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:420,1
    - Dst: test_fail_bignum_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:421,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 6
    argNames:
    - file
    - line
    - bns
    - ws
    - a
    - w
    argTypes:
    - char*
    - int
    - char*
    - char*
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: test_BN_eq_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - BN_new
    - BN_is_word
    - BN_set_word
    - BN_free
    - test_fail_bignum_message
    linkageType: ''
    returnType: int
    signature: 'int test_BN_eq_word(const char *file, int line, const char *bns, const
      char *ws, const BIGNUM *a, BN_ULONG w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:143,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: test_perror
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - strerror
    - TEST_error
    linkageType: ''
    returnType: void
    signature: 'void test_perror(const char *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - file
    - line
    - s
    - p
    argTypes:
    - char*
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: test_ptr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_message
    linkageType: ''
    returnType: int
    signature: 'int test_ptr(const char *file, int line, const char *s, const void
      *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:389,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: test_BN_eq_one
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - BN_is_one
    - test_fail_bignum_mono_message
    linkageType: ''
    returnType: int
    signature: 'int test_BN_eq_one(const char *file, int line, const char *s, const
      BIGNUM *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:151,1
    - Dst: test_flush_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:156,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:153,1
    - Dst: test_vprintf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:152,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: test_note
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_printf_stderr
    - va_start
    - va_end
    - test_vprintf_stderr
    - test_flush_stderr
    linkageType: ''
    returnType: void
    signature: 'void test_note(const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - s
    - b
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: test_true
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    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: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:397,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: test_BN_odd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:184,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: test_openssl_errors
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - ERR_print_errors_cb
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: 'void test_openssl_errors(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:121,1
    - Dst: test_fail_message_va
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:122,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:123,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - desc
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: test_error_c90
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - va_end
    - test_fail_message_va
    - test_printf_stderr
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void test_error_c90(const char *desc, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:294,1
    - Dst: test_fail_string_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:295,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:297,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - s2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: test_str_ne
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_string_message
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int test_str_ne(const char *file, int line, const char *st1, const
      char *st2, const char *s1, const char *s2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:131,1
    - Dst: test_fail_message_va
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:132,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:133,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - file
    - line
    - desc
    - '...'
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: test_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - va_end
    - test_fail_message_va
    - test_printf_stderr
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void test_error(const char *file, int line, const char *desc, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:308,1
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:311,1
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:310,1
    - Dst: test_fail_string_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:309,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: test_strn_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_string_message
    - strncmp
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: 'int test_strn_eq(const char *file, int line, const char *st1, const
      char *st2, const char *s1, size_t n1, const char *s2, size_t n2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:164,1
    - Dst: test_fail_message_va
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:165,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - file
    - line
    - desc
    - '...'
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: test_skip
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:322,1
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:324,1
    - Dst: test_fail_string_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:323,1
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: test_strn_ne
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_string_message
    - strncmp
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: 'int test_strn_ne(const char *file, int line, const char *st1, const
      char *st2, const char *s1, size_t n1, const char *s2, size_t n2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:351,1
    - Dst: test_fail_memory_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: test_mem_ne
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_memory_message
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int test_mem_ne(const char *file, int line, const char *st1, const
      char *st2, const void *s1, size_t n1, const void *s2, size_t n2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_abs_is_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:431,1
    - Dst: BN_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:433,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:435,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:436,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:434,1
    - Dst: test_fail_bignum_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:437,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:439,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:440,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - file
    - line
    - bns
    - ws
    - a
    - w
    argTypes:
    - char*
    - int
    - char*
    - char*
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: test_BN_abs_eq_word
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - BN_set_negative
    - BN_new
    - BN_set_word
    - BN_abs_is_word
    - BN_dup
    - BN_free
    - test_fail_bignum_message
    linkageType: ''
    returnType: int
    signature: 'int test_BN_abs_eq_word(const char *file, int line, const char *bns,
      const char *ws, const BIGNUM *a, BN_ULONG w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:174,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:177,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:176,1
    - Dst: test_fail_message_va
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - desc
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: test_skip_c90
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - va_end
    - test_fail_message_va
    - test_printf_stderr
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int test_skip_c90(const char *desc, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:336,1
    - Dst: test_fail_memory_message
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: test_mem_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - test_fail_memory_message
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int test_mem_eq(const char *file, int line, const char *st1, const
      char *st2, const void *s1, size_t n1, const void *s2, size_t n2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: print_time
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/tests.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: char*
    signature: 'static const char *print_time(const ASN1_TIME *t) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:22,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:24,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:22,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:22,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:22,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:24,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:25,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:25,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:26,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:26,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:28,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: load_cert_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_X509
    - BIO_free
    - X509_new_ex
    - TEST_ptr
    - BIO_s_file
    - TEST_int_gt
    - BIO_read_filename
    - BIO_new
    linkageType: ''
    returnType: X509*
    signature: 'X509 *load_cert_pem(const char *file, OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:96,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:96,1
    - Dst: X509_REQ_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:99,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:100,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:96,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:101,1
    - Dst: d2i_X509_REQ_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:101,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: load_csr_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_REQ_new_ex
    - BIO_free
    - TEST_ptr
    - d2i_X509_REQ_bio
    linkageType: ''
    returnType: X509_REQ*
    signature: 'X509_REQ *load_csr_der(const char *file, OSSL_LIB_CTX *libctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:73,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:73,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:75,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:73,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:73,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:75,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:76,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:78,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:78,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:82,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:87,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: load_pkey_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c
    functionUses: []
    functionsReached:
    - ERR_peek_error
    - BIO_free
    - TEST_ptr
    - EVP_PKEY_free
    - BIO_s_file
    - TEST_info
    - TEST_int_gt
    - PEM_read_bio_PrivateKey_ex
    - BIO_read_filename
    - BIO_new
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *load_pkey_pem(const char *file, OSSL_LIB_CTX *libctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:38,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:38,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:43,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:47,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:41,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:49,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:50,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:51,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:52,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:59,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c:63,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: load_certs_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/load.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_pop_to_mark
    - PEM_read_bio_X509
    - BIO_free
    - sk_X509_pop_free
    - TEST_ptr
    - ERR_set_mark
    - sk_X509_push
    - sk_X509_new_null
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *load_certs_pem(const char *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/cb.c:14,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - u
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: openssl_error_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/cb.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: test_random
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/random.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t test_random(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/random.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sd
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: test_random_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/random.c
    functionUses: []
    functionsReached:
    - test_random
    linkageType: ''
    returnType: void
    signature: 'void test_random_seed(uint32_t sd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_open_streams
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:19,1
    - Dst: global_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:21,1
    - Dst: setup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:29,1
    - Dst: setup_test_framework
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:26,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:22,1
    - Dst: run_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:30,1
    - Dst: cleanup_tests
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:31,1
    - Dst: opt_check_usage
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:32,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:34,1
    - Dst: test_get_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:34,1
    - Dst: pulldown_test_framework
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:37,1
    - Dst: test_close_streams
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/main.c
    functionUses: []
    functionsReached:
    - opt_check_usage
    - global_init
    - test_open_streams
    - setup_test_framework
    - test_get_options
    - cleanup_tests
    - test_printf_stderr
    - opt_help
    - run_tests
    - test_close_streams
    - pulldown_test_framework
    - setup_tests
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:16,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:18,1
    - Dst: test_vprintf_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: test_printf_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:40,1
    - Dst: test_vprintf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:41,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: test_printf_tapout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c
    functionUses: []
    functionsReached:
    - test_vprintf_tapout
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int test_printf_tapout(const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:52,1
    - Dst: test_vprintf_taperr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:53,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: test_printf_taperr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c
    functionUses: []
    functionsReached:
    - va_end
    - test_vprintf_taperr
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int test_printf_taperr(const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:28,1
    - Dst: test_vprintf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:29,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: test_printf_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/output.c
    functionUses: []
    functionsReached:
    - va_end
    - test_vprintf_stderr
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int test_printf_stderr(const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: opt_provider_option_given
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int opt_provider_option_given(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: opt_legacy_okay
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int opt_legacy_okay(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: app_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *app_get0_libctx(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: app_get0_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *app_get0_propq(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c:24,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c:25,1
    - Dst: abort
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c:26,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: app_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/apps_shims.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - abort
    - OPENSSL_malloc
    - TEST_info
    linkageType: ''
    returnType: void*
    signature: 'void *app_malloc(size_t sz, const char *what) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:27,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:29,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:29,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:33,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:32,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:35,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:36,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:30,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:37,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:41,1
    - Dst: BIO_f_linebuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:29,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:32,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:32,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:33,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:35,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:36,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:36,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:33,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:35,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:26,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:30,1
    - Dst: BIO_f_linebuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:30,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:38,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: test_open_streams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_f_linebuffer
    - OPENSSL_assert
    - BIO_push
    - BIO_set_prefix
    - BIO_new_fp
    - BIO_new
    - BIO_f_prefix
    linkageType: ''
    returnType: void
    signature: 'void test_open_streams(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:56,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:60,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:57,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: test_close_streams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'void test_close_streams(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test_vprintf_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_stderr(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: test_flush_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_stderr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: test_vprintf_taperr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_taperr(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test_vprintf_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_stdout(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:46,1
    - Dst: BIO_set_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: test_adjust_streams_tap_level
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_set_indent
    linkageType: ''
    returnType: void
    signature: 'void test_adjust_streams_tap_level(int level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test_flush_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_stdout(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: test_vprintf_tapout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    linkageType: ''
    returnType: int
    signature: 'int test_vprintf_tapout(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: test_flush_tapout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_tapout(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: test_flush_taperr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/basic_output.c
    functionUses: []
    functionsReached:
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'int test_flush_taperr(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: cleanup_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/test_cleanup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cleanup_tests(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:21,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: test_skip_common_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c
    functionUses: []
    functionsReached:
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int test_skip_common_options(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:40,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:42,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: test_get_argument
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c
    functionUses: []
    functionsReached:
    - opt_rest
    - OPENSSL_assert
    - opt_num_rest
    linkageType: ''
    returnType: char*
    signature: 'char *test_get_argument(size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: test_get_argument_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c
    functionUses: []
    functionsReached:
    - opt_num_rest
    linkageType: ''
    returnType: size_t
    signature: 'size_t test_get_argument_count(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:52,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:53,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:61,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:56,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:55,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: opt_check_usage
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c
    functionUses: []
    functionsReached:
    - opt_rest
    - OSSL_NELEM
    - opt_num_rest
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'void opt_check_usage(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:73,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:75,1
    - Dst: test_vprintf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: opt_printf_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/options.c
    functionUses: []
    functionsReached:
    - va_end
    - test_vprintf_stderr
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int opt_printf_stderr(const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:33,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - m
    - c
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: test_string_null_empty
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_string_null_empty(const char *m, char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_string_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:133,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    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
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: test_fail_string_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_fail_string_common
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'void test_fail_string_message(const char *prefix, const char *file,
      int line, const char *type, const char *left, const char *right, const char
      *op, const char *m1, size_t l1, const char *m2, size_t l2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bignum_zero_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:196,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - bn
    - sep
    argTypes:
    - BIGNUM*
    - char
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: test_bignum_zero_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_bignum_zero_null
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_bignum_zero_print(const BIGNUM *bn, char sep) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:213,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:234,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:227,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:256,1
    - Dst: hex_convert_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:214,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:257,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:257,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 5
    argNames:
    - in
    - bytes
    - out
    - lz
    - bn
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - int*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 259
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 259
    functionName: convert_bn_memory
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - strcpy
    - BN_is_zero
    - BN_is_negative
    - hex_convert_memory
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int convert_bn_memory(const unsigned char *in, size_t bytes,
      char *out, int *lz, const BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_bignum_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:372,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 9
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - bn1
    - bn2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: test_fail_bignum_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_fail_bignum_common
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'void test_fail_bignum_message(const char *prefix, const char *file,
      int line, const char *type, const char *left, const char *right, const char
      *op, const BIGNUM *bn1, const BIGNUM *bn2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:387,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:390,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:388,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:394,1
    - Dst: test_bignum_zero_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:389,1
    - Dst: hex_convert_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:396,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:399,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:400,1
    - Dst: test_fail_bignum_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - name
    - bn
    argTypes:
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: test_output_bignum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - BN_num_bytes
    - test_printf_stderr
    - test_bignum_zero_null
    - BN_is_zero
    - BN_bn2bin
    - BN_is_negative
    - hex_convert_memory
    - test_fail_bignum_common
    linkageType: ''
    returnType: void
    signature: 'void test_output_bignum(const char *name, const BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_memory_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:525,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:527,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    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
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: test_fail_memory_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_printf_stderr
    - test_fail_memory_common
    linkageType: ''
    returnType: void
    signature: 'void test_fail_memory_message(const char *prefix, const char *file,
      int line, const char *type, const char *left, const char *right, const char
      *op, const unsigned char *m1, size_t l1, const unsigned char *m2, size_t l2) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:45,1
    - Dst: test_diff_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:60,1
    - Dst: test_string_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:61,1
    - Dst: test_string_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:58,1
    - Dst: test_fail_message_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:51,1
    - Dst: test_string_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:62,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:67,1
    - Dst: test_diff_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:68,1
    - Dst: isprint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:75,1
    - Dst: isprint
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:80,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:97,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:108,1
    - Dst: test_string_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:104,1
    - Dst: test_string_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:100,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:102,1
    - Dst: test_flush_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:119,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:106,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 105
    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
    constantsTouched: []
    func_position:
      end: 120
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 120
    functionName: test_fail_string_common
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_string_null_empty
    - test_printf_stderr
    - test_fail_message_prefix
    - isprint
    - test_diff_header
    - strncmp
    - BIO_get_indent
    - test_flush_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_string_common(const char *prefix, const char
      *file, int line, const char *type, const char *left, const char *right, const
      char *op, const char *m1, size_t l1, const char *m2, size_t l2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_string_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - name
    - m
    - l
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: test_output_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_fail_string_common
    linkageType: ''
    returnType: void
    signature: 'void test_output_string(const char *name, const char *m, size_t l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_bignum_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:381,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 8
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - bn
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: test_fail_bignum_mono_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_fail_bignum_common
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'void test_fail_bignum_mono_message(const char *prefix, const char
      *file, int line, const char *type, const char *left, const char *right, const
      char *op, const BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_memory_common
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - name
    - m
    - l
    argTypes:
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: test_output_memory
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    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: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:25,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: test_diff_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_diff_header(const char *left, const char *right) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - m
    - n
    - b
    - width
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: hex_convert_memory
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hex_convert_memory(const unsigned char *m, size_t n, char
      *b, size_t width) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: test_bignum_header_line
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_bignum_header_line(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: test_bignum_zero_null
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - BN_is_negative
    linkageType: ''
    returnType: char*
    signature: 'static const char *test_bignum_zero_null(const BIGNUM *bn) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:281,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:282,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:281,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:282,1
    - Dst: test_diff_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:297,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:338,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:340,1
    - Dst: test_bignum_zero_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:286,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:335,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:342,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:358,1
    - Dst: test_fail_message_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:280,1
    - Dst: test_bignum_zero_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:290,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:302,1
    - Dst: convert_bn_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:319,1
    - Dst: test_bignum_header_line
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:298,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:310,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:347,1
    - Dst: test_flush_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:356,1
    - Dst: test_bignum_header_line
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:285,1
    - Dst: test_diff_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:288,1
    - Dst: test_bignum_header_line
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:289,1
    - Dst: test_bignum_zero_print
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:291,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:296,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:314,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:305,1
    - Dst: convert_bn_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:320,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:344,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 135
    argCount: 9
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - bn1
    - bn2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 359
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 359
    functionName: test_fail_bignum_common
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - convert_bn_memory
    - BN_num_bytes
    - test_printf_stderr
    - test_flush_stderr
    - OPENSSL_free
    - test_fail_message_prefix
    - BN_bn2binpad
    - test_diff_header
    - BN_is_negative
    - OPENSSL_malloc
    - test_bignum_header_line
    - test_bignum_zero_print
    - BN_cmp
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_bignum_common(const char *prefix, const char
      *file, int line, const char *type, const char *left, const char *right, const
      char *op, const BIGNUM *bn1, const BIGNUM *bn2) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:436,1
    - Dst: test_diff_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:445,1
    - Dst: test_memory_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:446,1
    - Dst: test_memory_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:443,1
    - Dst: test_memory_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:447,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:452,1
    - Dst: test_diff_header
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:453,1
    - Dst: hex_convert_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:459,1
    - Dst: hex_convert_memory
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:463,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:488,1
    - Dst: test_memory_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:495,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:499,1
    - Dst: test_memory_null_empty
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:491,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:497,1
    - Dst: test_flush_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:510,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:493,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 106
    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
    constantsTouched: []
    func_position:
      end: 511
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 511
    functionName: test_fail_memory_common
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - memcmp
    - test_printf_stderr
    - test_fail_message_prefix
    - test_diff_header
    - hex_convert_memory
    - test_memory_null_empty
    - test_flush_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_fail_memory_common(const char *prefix, const char
      *file, int line, const char *type, const char *left, const char *right, const
      char *op, const unsigned char *m1, size_t l1, const unsigned char *m2, size_t
      l2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:415,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - m
    - c
    argTypes:
    - unsigned char*
    - char
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: test_memory_null_empty
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/format_output.c
    functionUses: []
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_memory_null_empty(const unsigned char *m, char c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:71,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - test_case_name
    - (*test_fn)
    - num
    - subtest
    argTypes:
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: add_all_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: 'void add_all_tests(const char *test_case_name, int(*test_fn)(int idx),
      int num, int subtest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:97,1
    - Dst: test_random_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: set_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - test_random_seed
    - time
    linkageType: ''
    returnType: void
    signature: 'static void set_seed(int s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:141,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:165,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:157,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:147,1
    - Dst: test_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - name
    - testname
    - itname
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 181
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 181
    functionName: check_single_test_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - strcmp
    - atoi
    - test_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'static int check_single_test_params(char *name, char *testname, char
      *itname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_title
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: pulldown_test_framework
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - set_test_title
    linkageType: ''
    returnType: int
    signature: 'int pulldown_test_framework(int ret) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:417,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:426,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:426,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:422,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - list
    - out_len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 429
    functionName: glue_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - strcpy
    - TEST_ptr
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *glue_strings(const char *list[], size_t *out_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:60,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - test_case_name
    - (*test_fn)
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: add_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: 'void add_test(const char *test_case_name, int (*test_fn) (void)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:104,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:105,1
    - Dst: set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:112,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:108,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:109,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:112,1
    - Dst: set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:114,1
    - Dst: copy_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:118,1
    - Dst: win32_utf8argv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:123,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:126,1
    - Dst: test_get_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 129
    functionName: setup_test_framework
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - copy_argv
    - test_get_options
    - opt_init
    - set_seed
    - win32_utf8argv
    - atoi
    - getenv
    - test_adjust_streams_tap_level
    linkageType: ''
    returnType: int
    signature: 'int setup_test_framework(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: gcd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int gcd(int a, int b) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: opt_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:192,1
    - Dst: test_get_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:201,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:201,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:193,1
    - Dst: opt_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:207,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:208,1
    - Dst: opt_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:211,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:212,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:212,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:216,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:222,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:219,1
    - Dst: set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:224,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:222,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:216,1
    - Dst: check_single_test_params
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:228,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 233
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 233
    functionName: process_shared_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - opt_int
    - opt_flag
    - test_get_options
    - test_adjust_streams_tap_level
    - opt_help
    - opt_begin
    - opt_arg
    - check_single_test_params
    - set_seed
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'static int process_shared_options(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:245,1
    - Dst: ERR_print_errors_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - success
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: finalize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - ERR_print_errors_cb
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: 'static void finalize(int success) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:254,1
    - Dst: strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - title
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: set_test_title
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: void
    signature: 'void set_test_title(const char *title) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_flush_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:263,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:267,1
    - Dst: test_flush_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:264,1
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:269,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:268,1
    - Dst: test_vprintf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:270,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:271,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:273,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:274,1
    - Dst: test_flush_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - verdict
    - description
    - '...'
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 276
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 276
    functionName: test_verdict
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - va_start
    - test_flush_tapout
    - test_vprintf_tapout
    - test_printf_tapout
    - test_flush_stdout
    - va_end
    - test_flush_stderr
    linkageType: ''
    returnType: void
    signature: 'static void test_verdict(int verdict, const char *description, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:440,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:442,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:441,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:441,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:446,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:454,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:465,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:468,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - dir
    - file
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 472
    functionName: test_mk_file_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    - OPENSSL_zalloc
    - OPENSSL_strlcat
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *test_mk_file_path(const char *dir, const char *file) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:294,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:300,1
    - Dst: test_flush_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:303,1
    - Dst: test_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:309,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:327,1
    - Dst: test_printf_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:347,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:333,1
    - Dst: finalize
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:335,1
    - Dst: set_test_title
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:332,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:348,1
    - Dst: process_shared_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:287,1
    - Dst: test_printf_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:297,1
    - Dst: test_printf_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:323,1
    - Dst: test_flush_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:330,1
    - Dst: finalize
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:377,1
    - Dst: test_verdict
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:380,1
    - Dst: test_verdict
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:383,1
    - Dst: test_verdict
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:396,1
    - Dst: test_verdict
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:336,1
    - Dst: test_flush_tapout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:350,1
    - Dst: test_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:359,1
    - Dst: gcd
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:360,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:391,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:285,1
    - Dst: test_flush_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:298,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:345,1
    - Dst: set_test_title
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:342,1
    - Dst: test_flush_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:349,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c:368,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 126
    argCount: 1
    argNames:
    - test_prog_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 404
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 404
    functionName: run_tests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/driver.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - finalize
    - test_random
    - test_verdict
    - process_shared_options
    - gcd
    - test_flush_tapout
    - set_test_title
    - test_printf_tapout
    - test_printf_stdout
    - test_flush_stdout
    - OSSL_NELEM
    - test_adjust_streams_tap_level
    linkageType: ''
    returnType: int
    signature: 'int run_tests(const char *test_prog_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:72,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:77,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: strip_spaces
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c
    functionUses: []
    functionsReached:
    - isspace
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *strip_spaces(char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:31,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: test_end_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c
    functionUses: []
    functionsReached:
    - BIO_free
    - TEST_info
    linkageType: ''
    returnType: int
    signature: 'int test_end_file(STANZA *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:20,1
    - Dst: set_test_title
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:21,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:23,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:23,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - testfile
    argTypes:
    - STANZA*
    - char*
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: test_start_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - TEST_ptr
    - set_test_title
    - TEST_info
    - memset
    linkageType: ''
    returnType: int
    signature: 'int test_start_file(STANZA *s, const char *testfile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:154,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: test_clearstanza
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void test_clearstanza(STANZA *s) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:108,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:94,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:113,1
    - Dst: read_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:133,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:138,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:139,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:91,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:108,1
    - Dst: strip_spaces
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:113,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:114,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:128,1
    - Dst: TEST_int_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:137,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:120,1
    - Dst: strip_spaces
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:117,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:138,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:139,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:93,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:121,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:132,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:93,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:109,1
    - Dst: read_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:129,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 146
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 146
    functionName: test_readstanza
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - OPENSSL_strdup
    - read_key
    - TEST_ptr
    - strchr
    - strcmp
    - strip_spaces
    - TEST_info
    - TEST_int_lt
    linkageType: ''
    returnType: int
    signature: 'int test_readstanza(STANZA *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:45,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:47,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:47,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:45,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:45,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:52,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:54,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:54,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:56,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: read_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/stanza.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - TEST_ptr
    - TEST_int_gt
    - strncmp
    - BIO_s_mem
    - BIO_reset
    - TEST_error
    - BIO_puts
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'static int read_key(STANZA *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:58,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - tracedata*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: tracedata_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: 'static void tracedata_free(tracedata *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_tracedata_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: cleanup_trace
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c
    functionUses: []
    functionsReached:
    - sk_tracedata_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_trace(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:33,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:36,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:35,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:34,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:37,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:38,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:41,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:46,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - buf
    - cnt
    - category
    - cmd
    - vdata
    argTypes:
    - char*
    - size_t
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: internal_trace_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c
    functionUses: []
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - BIO_snprintf
    - CRYPTO_THREAD_get_current_id
    - BIO_set_prefix
    - OPENSSL_buf2hexstr
    - OSSL_trace_get_category_name
    linkageType: ''
    returnType: size_t
    signature: 'static size_t internal_trace_cb(const char *buf, size_t cnt, int category,
      int cmd, void *vdata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_trace_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:75,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:79,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:80,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:78,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:78,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:81,1
    - Dst: OSSL_trace_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:86,1
    - Dst: sk_tracedata_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:88,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:90,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:92,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:95,1
    - Dst: OSSL_trace_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: setup_trace_category
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - BIO_new
    - OSSL_trace_set_callback
    - OPENSSL_zalloc
    - OSSL_trace_enabled
    - BIO_push
    - fprintf
    - sk_tracedata_push
    - BIO_new_fp
    - OSSL_trace_get_category_name
    - BIO_f_prefix
    linkageType: ''
    returnType: void
    signature: 'static void setup_trace_category(int category) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:108,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:118,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:111,1
    - Dst: sk_tracedata_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:110,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:117,1
    - Dst: setup_trace_category
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:122,1
    - Dst: setup_trace_category
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:125,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:127,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 134
    functionName: setup_trace
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - setup_trace_category
    - strtok
    - OPENSSL_free
    - sk_tracedata_new_null
    - OSSL_trace_get_category_num
    - atexit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void setup_trace(const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:140,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: global_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/testutil/testutil_init.c
    functionUses: []
    functionsReached:
    - setup_trace
    - getenv
    linkageType: ''
    returnType: int
    signature: 'int global_init(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:20,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:28,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:25,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:29,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:30,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:32,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:35,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:37,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:41,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:42,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:43,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 29
    argCount: 5
    argNames:
    - libctx
    - type
    - p
    - g
    - q
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: get_dh_from_pg_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *get_dh_from_pg_bn(OSSL_LIB_CTX *libctx, const char
      *type, BIGNUM *p, BIGNUM *g, BIGNUM *q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dh_from_pg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: get_dh512
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 149
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 149
    functionName: get_dh1024dsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c
    functionUses: []
    functionsReached:
    - get_dh_from_pg
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *get_dh1024dsa(OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:55,1
    - Dst: get_dh_from_pg_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:62,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:56,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:59,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:65,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:66,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:67,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 18
    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
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: get_dh_from_pg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_bin2bn
    - get_dh_from_pg_bn
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *get_dh_from_pg(OSSL_LIB_CTX *libctx, const char *type,
      unsigned char *pdata, size_t plen, unsigned char *gdata, size_t glen, unsigned
      char *qdata, size_t qlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dh_from_pg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: get_dhx512
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c
    functionUses: []
    functionsReached:
    - get_dh_from_pg
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *get_dhx512(OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:156,1
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:160,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:157,1
    - Dst: get_dh_from_pg_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:164,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:167,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: get_dh2048
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c
    functionUses: []
    functionsReached:
    - get_dh_from_pg_bn
    - BN_get_rfc3526_prime_2048
    - BN_new
    - BN_set_word
    - BN_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *get_dh2048(OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:177,1
    - Dst: BN_get_rfc3526_prime_4096
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:181,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:178,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:188,1
    - Dst: get_dh_from_pg_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:185,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c:189,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: get_dh4096
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/predefined_dhparams.c
    functionUses: []
    functionsReached:
    - get_dh_from_pg_bn
    - BN_new
    - BN_set_word
    - BN_free
    - BN_get_rfc3526_prime_4096
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *get_dh4096(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: client_srp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *client_srp_cb(SSL *s, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:29,1
    - Dst: SSL_set_srp_server_param_pw
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:31,1
    - Dst: SSL_get_srp_username
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:29,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: server_srp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c
    functionUses: []
    functionsReached:
    - strcmp
    - SSL_get_srp_username
    - SSL_set_srp_server_param_pw
    linkageType: ''
    returnType: int
    signature: 'static int server_srp_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:48,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:50,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:49,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:53,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:52,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:58,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:61,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:63,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:64,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:65,1
    - Dst: SSL_CTX_set_srp_username
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:76,1
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:79,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:73,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:67,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:83,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:68,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c:76,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    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*
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: configure_handshake_ctx_for_srp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake_srp.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_srp_cb_arg
    - OPENSSL_strdup
    - SSL_CTX_set_srp_username
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - SSL_CTX_set_srp_client_pwd_callback
    - SSL_CTX_set_srp_username_callback
    linkageType: ''
    returnType: int
    signature: 'int configure_handshake_ctx_for_srp(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,
      SSL_CTX *client_ctx, const SSL_TEST_EXTRA_CONF *extra, CTX_DATA *server_ctx_data,
      CTX_DATA *server2_ctx_data, CTX_DATA *client_ctx_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: verify_accept_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int verify_accept_cb(X509_STORE_CTX *ctx, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:767,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:777,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    constantsTouched: []
    func_position:
      end: 785
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 785
    functionName: do_handshake_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_get_error
    - TEST_int_eq
    - SSL_do_handshake
    linkageType: ''
    returnType: void
    signature: 'static void do_handshake_step(PEER *peer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:273,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:281,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 286
    functionName: server_ocsp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_set_tlsext_status_ocsp_resp
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int server_ocsp_cb(SSL *s, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - EVP_MAC_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: broken_session_ticket_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int broken_session_ticket_cb(SSL *s, unsigned char *key_name,
      unsigned char *iv, EVP_CIPHER_CTX *ctx, EVP_MAC_CTX *hctx, int enc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:103,1
    - Dst: SSL_clear_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:120,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:114,1
    - Dst: SSL_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:105,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:112,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:121,1
    - Dst: SSL_CTX_get_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:121,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - s
    - arg
    - ignore
    argTypes:
    - SSL*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: select_server_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_CTX_get_options
    - SSL_set_SSL_CTX
    - strcmp
    - SSL_get_ex_data
    - SSL_set_options
    - SSL_clear_options
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: 'static int select_server_ctx(SSL *s, void *arg, int ignore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: do_not_call_session_ticket_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: 'static int do_not_call_session_ticket_cb(SSL *s, unsigned char *key_name,
      unsigned char *iv, EVP_CIPHER_CTX *ctx, EVP_MAC_CTX *hctx, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 446
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 446
    functionName: server_alpn_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: 'static int server_alpn_cb(SSL *s, const unsigned char **out, unsigned
      char *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:703,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:706,1
    - Dst: ssl_servername_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - server
    - client
    - extra
    argTypes:
    - SSL*
    - SSL*
    - SSL_TEST_EXTRA_CONF*
    constantsTouched: []
    func_position:
      end: 707
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 707
    functionName: configure_handshake_ssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - ssl_servername_name
    - SSL_set_tlsext_host_name
    - SSL_set_post_handshake_auth
    linkageType: ''
    returnType: void
    signature: 'static void configure_handshake_ssl(SSL *server, SSL *client, const
      SSL_TEST_EXTRA_CONF *extra) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:737,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:737,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:739,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:738,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:738,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:739,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:748,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:749,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:750,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - peer
    - ctx
    argTypes:
    - PEER*
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 752
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 752
    functionName: create_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_free
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_zalloc
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'static int create_peer(PEER *peer, SSL_CTX *ctx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:876,1
    - Dst: SSL_renegotiate_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:902,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:909,1
    - Dst: do_handshake_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:934,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1015,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:875,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:895,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:908,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:914,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:979,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:975,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1000,1
    - Dst: do_handshake_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:871,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:897,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:918,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:926,1
    - Dst: SSL_renegotiate_abbreviated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:928,1
    - Dst: do_handshake_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:985,1
    - Dst: do_handshake_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:966,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:954,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:961,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1009,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 105
    argCount: 2
    argNames:
    - test_ctx
    - peer
    argTypes:
    - SSL_TEST_CTX*
    - PEER*
    constantsTouched: []
    func_position:
      end: 1020
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 1020
    functionName: do_reneg_setup_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_set_cipher_list
    - SSL_read
    - TEST_int_eq
    - do_handshake_step
    - TEST_true
    - SSL_verify_client_post_handshake
    - SSL_renegotiate
    - SSL_renegotiate_abbreviated
    - SSL_key_update
    - SSL_in_init
    - SSL_renegotiate_pending
    - SSL_set_options
    - SSL_is_server
    - SSL_get_error
    linkageType: ''
    returnType: void
    signature: 'static void do_reneg_setup_step(const SSL_TEST_CTX *test_ctx, PEER
      *peer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1238,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1242,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1246,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1247
    functionName: pkey_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - OBJ_txt2nid
    - EVP_PKEY_get_group_name
    - EVP_PKEY_get_id
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: 'static int pkey_type(EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:83,1
    - Dst: SSL_alert_desc_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:87,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:87,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:86,1
    - Dst: SSL_alert_type_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: info_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_alert_type_string
    - strcmp
    - SSL_get_ex_data
    - SSL_alert_desc_string
    linkageType: ''
    returnType: void
    signature: 'static void info_cb(const SSL *s, int where, int ret) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:143,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:176,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:149,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:176,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:178,1
    - Dst: SSL_clear_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:184,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:185,1
    - Dst: SSL_CTX_get_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:185,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:189,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:190,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - s
    - arg
    - ignore
    argTypes:
    - SSL*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 198
    functionName: client_hello_select_server_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_client_hello_get0_ext
    - SSL_CTX_get_options
    - SSL_set_SSL_CTX
    - SSL_get_ex_data
    - SSL_set_options
    - strncmp
    - SSL_clear_options
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int client_hello_select_server_ctx(SSL *s, void *arg, int ignore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:756,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:758,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    constantsTouched: []
    func_position:
      end: 759
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 759
    functionName: peer_free_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - SSL_free
    linkageType: ''
    returnType: void
    signature: 'static void peer_free_data(PEER *peer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_peer_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1251,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1254,1
    - Dst: pkey_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1256
    functionName: peer_pkey_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_get0_peer_certificate
    - X509_get0_pubkey
    - pkey_type
    linkageType: ''
    returnType: int
    signature: 'static int peer_pkey_type(SSL *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:65,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:73,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:67,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:71,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx_data
    argTypes:
    - CTX_DATA*
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ctx_data_free_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ctx_data_free_data(CTX_DATA *ctx_data) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:529,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:561,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:562,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:554,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:542,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:545,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:585,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:593,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:598,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:602,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:650,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:671,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:675,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:499,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:499,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:510,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:514,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:546,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:557,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:564,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:565,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:580,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:619,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:631,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:651,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:664,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:680,1
    - Dst: parse_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:611,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:643,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:660,1
    - Dst: configure_handshake_ctx_for_srp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:688,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:495,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:504,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:495,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:504,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:517,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:563,1
    - Dst: parse_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:585,1
    - Dst: parse_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:593,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:596,1
    - Dst: parse_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:602,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:634,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:647,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:661,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:675,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:551,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:541,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:576,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:589,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:606,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:615,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:618,1
    - Dst: parse_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:619,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:624,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:637,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:660,1
    - Dst: parse_protos
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:631,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:667,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:611,1
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:671,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:634,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:680,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:661,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:642,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:659,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 125
    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*
    constantsTouched: []
    func_position:
      end: 696
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 696
    functionName: configure_handshake_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_tlsext_status_type
    - SSL_CTX_set_tlsext_ticket_keys
    - SSL_CTX_set_default_ctlog_list_file
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - OPENSSL_strdup
    - SSL_CTX_set_max_send_fragment
    - OPENSSL_free
    - TEST_true
    - SSL_CTX_set_next_proto_select_cb
    - OPENSSL_zalloc
    - SSL_CTX_set_alpn_protos
    - SSL_CTX_set_tlsext_status_cb
    - SSL_CTX_set_cert_verify_callback
    - configure_handshake_ctx_for_srp
    - SSL_CTX_set_tlsext_max_fragment_length
    - SSL_CTX_set_tlsext_status_arg
    - TEST_int_eq
    - SSL_CTX_set_tlsext_servername_callback
    - parse_protos
    - SSL_CTX_set_npn_advertised_cb
    - SSL_CTX_set_session_ticket_cb
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_enable_ct
    - SSL_CTX_set_client_hello_cb
    - TEST_ptr
    - SSL_CTX_set_tlsext_servername_arg
    linkageType: ''
    returnType: int
    signature: 'static int configure_handshake_ctx(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,
      SSL_CTX *client_ctx, const SSL_TEST_CTX *test, const SSL_TEST_EXTRA_CONF *extra,
      CTX_DATA *server_ctx_data, CTX_DATA *server2_ctx_data, CTX_DATA *client_ctx_data) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:800,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:818,1
    - Dst: TEST_int_le
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:809,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:807,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:830,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:833,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    constantsTouched: []
    func_position:
      end: 857
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 857
    functionName: do_app_data_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_write
    - TEST_int_le
    - SSL_read
    - TEST_int_eq
    - SSL_get_error
    linkageType: ''
    returnType: void
    signature: 'static void do_app_data_step(PEER *peer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_server_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: servername_ignore_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - select_server_ctx
    linkageType: ''
    returnType: int
    signature: 'static int servername_ignore_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_hello_select_server_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: client_hello_ignore_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - client_hello_select_server_ctx
    linkageType: ''
    returnType: int
    signature: 'static int client_hello_ignore_cb(SSL *s, int *al, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: client_ocsp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_get_tlsext_status_ocsp_resp
    linkageType: ''
    returnType: int
    signature: 'static int client_ocsp_cb(SSL *s, void *arg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 4
    argCount: 3
    argNames:
    - last_status
    - previous_status
    - client_spoke_last
    argTypes:
    - peer_status_t
    - peer_status_t
    - int
    constantsTouched: []
    func_position:
      end: 1220
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1220
    functionName: handshake_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: handshake_status_t
    signature: 'static handshake_status_t handshake_status(peer_status_t last_status,
      peer_status_t previous_status, int client_spoke_last) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: create_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1446,1
    - Dst: configure_handshake_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1458,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1500,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1511,1
    - Dst: SSL_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1512,1
    - Dst: SSL_get_peer_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1684,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1491,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1428,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1434,1
    - Dst: SSL_CTX_add_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1463,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1465,1
    - Dst: SSL_get0_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1625,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1623,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1503,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1486,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1668,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1423,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1478,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1504,1
    - Dst: dup_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1655,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1692,1
    - Dst: peer_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1715,1
    - Dst: next_phase
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1547,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1573,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1487,1
    - Dst: SSL_get0_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1660,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1622,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1451,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1654,1
    - Dst: SSL_set_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1511,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1669,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1689,1
    - Dst: SSL_dup_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1705,1
    - Dst: ctx_data_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1710,1
    - Dst: handshake_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1534,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1424,1
    - Dst: configure_handshake_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1430,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1447,1
    - Dst: create_sctp_socks
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1476,1
    - Dst: SSL_SESSION_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1627,1
    - Dst: do_connect_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1539,1
    - Dst: peer_pkey_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1708,1
    - Dst: dup_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1648,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1463,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1477,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1483,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1494,1
    - Dst: TEST_int_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1510,1
    - Dst: SSL_SESSION_get0_ticket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1626,1
    - Dst: peer_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1714,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1695,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1425,1
    - Dst: SSL_CTX_set_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1440,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1662,1
    - Dst: dup_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1658,1
    - Dst: peer_pkey_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1707,1
    - Dst: SSL_CTX_set_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1442,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1492,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1482,1
    - Dst: SSL_get_ex_new_index
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1509,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1521,1
    - Dst: SSL_set_info_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1515,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1686,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1693,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1657,1
    - Dst: TEST_note
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1433,1
    - Dst: SSL_get1_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1672,1
    - Dst: SSL_dup_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1699,1
    - Dst: dup_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1651,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1426,1
    - Dst: SSL_set_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1465,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1668,1
    - Dst: SSL_SESSION_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1681,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1690,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1701,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1499,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1502,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1512,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1647,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1674,1
    - Dst: ctx_data_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1712,1
    - Dst: handshake_status
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1540,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1503,1
    - Dst: SSL_set_info_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1516,1
    - Dst: SSL_SESSION_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1460,1
    - Dst: SSL_get_current_compression
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1633,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1650,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1483,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1666,1
    - Dst: dup_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1669,1
    - Dst: SSL_SESSION_get0_ticket_appdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1661,1
    - Dst: HANDSHAKE_RESULT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1402,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1427,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1504,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1506,1
    - Dst: do_connect_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1533,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1665,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1495,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1422,1
    - Dst: create_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1450,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1482,1
    - Dst: pkey_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1685,1
    - Dst: ctx_data_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1711,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 258
    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**
    constantsTouched: []
    func_position:
      end: 1717
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1717
    functionName: do_handshake_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_set_accept_state
    - SSL_set_ex_data
    - SSL_SESSION_get0_ticket_appdata
    - BIO_up_ref
    - SSL_get1_session
    - EVP_PKEY_free
    - BIO_set_nbio
    - SSL_dup_CA_list
    - BIO_s_mem
    - peer_pkey_type
    - BIO_new
    - SSL_get_current_cipher
    - dup_str
    - peer_free_data
    - SSL_get_ex_new_index
    - configure_handshake_ssl
    - SSL_version
    - configure_handshake_ctx
    - SSL_get_peer_signature_nid
    - TEST_true
    - SSL_get_session
    - SSL_get0_alpn_selected
    - do_connect_step
    - TEST_int_ge
    - SSL_CIPHER_get_name
    - ctx_data_free_data
    - SSL_set_session
    - SSL_set_bio
    - SSL_set_info_callback
    - time
    - TEST_int_eq
    - SSL_get_peer_signature_type_nid
    - SSL_session_reused
    - HANDSHAKE_RESULT_new
    - BIO_new_dgram_sctp
    - HANDSHAKE_RESULT_free
    - SSL_get0_next_proto_negotiated
    - SSL_SESSION_get_id
    - OPENSSL_strndup
    - SSL_get_peer_tmp_key
    - create_sctp_socks
    - SSL_set_connect_state
    - SSL_CTX_add_session
    - SSL_get_current_compression
    - pkey_type
    - TEST_note
    - handshake_status
    - strlen
    - SSL_SESSION_get0_ticket
    - next_phase
    - TEST_ptr
    - SSL_get0_session
    - SSL_CTX_set_mode
    - TEST_int_gt
    - SSL_get0_peer_CA_list
    - create_peer
    - SSL_SESSION_dup
    - memset
    linkageType: ''
    returnType: HANDSHAKE_RESULT*
    signature: 'static HANDSHAKE_RESULT *do_handshake_internal( SSL_CTX *server_ctx,
      SSL_CTX *server2_ctx, SSL_CTX *client_ctx, const SSL_TEST_CTX *test_ctx, const
      SSL_TEST_EXTRA_CONF *extra, SSL_SESSION *session_in, SSL_SESSION *serv_sess_in,
      SSL_SESSION **session_out, SSL_SESSION **serv_sess_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_server_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: servername_reject_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - select_server_ctx
    linkageType: ''
    returnType: int
    signature: 'static int servername_reject_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_hello_select_server_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: client_hello_reject_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - client_hello_select_server_ctx
    linkageType: ''
    returnType: int
    signature: 'static int client_hello_reject_cb(SSL *s, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: verify_reject_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_set_error
    linkageType: ''
    returnType: int
    signature: 'static 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/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:307,1
    - Dst: SSL_set_retry_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:318,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: verify_retry_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_get_ex_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - SSL_set_retry_verify
    linkageType: ''
    returnType: int
    signature: 'static int verify_retry_cb(X509_STORE_CTX *ctx, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:348,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:361,1
    - Dst: TEST_ptr_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:351,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:353,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:353,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:367,1
    - Dst: TEST_int_gt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:374,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:380,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - protos
    - out
    - outlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 383
    functionName: parse_protos
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - memcpy
    - TEST_int_gt
    - TEST_ptr_null
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int parse_protos(const char *protos, unsigned char **out, size_t
      *outlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1042,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1051,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1046,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1056
    functionName: do_shutdown_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - SSL_shutdown
    - SSL_get_error
    linkageType: ''
    returnType: void
    signature: 'static void do_shutdown_step(PEER *peer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:30,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: HANDSHAKE_RESULT_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: HANDSHAKE_RESULT*
    signature: 'HANDSHAKE_RESULT *HANDSHAKE_RESULT_new(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_legacy_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:244,1
    - Dst: SSL_client_hello_get0_random
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:251,1
    - Dst: SSL_client_hello_get0_compression_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:253,1
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:252,1
    - Dst: SSL_client_hello_get0_session_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:249,1
    - Dst: client_hello_select_server_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:257,1
    - Dst: SSL_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: client_hello_nov12_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_client_hello_get0_legacy_version
    - SSL_client_hello_get0_compression_methods
    - SSL_client_hello_get0_random
    - client_hello_select_server_ctx
    - SSL_client_hello_get0_ciphers
    - SSL_set_max_proto_version
    - SSL_client_hello_get0_session_id
    linkageType: ''
    returnType: int
    signature: 'static int client_hello_nov12_cb(SSL *s, int *al, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:399,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 405
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 405
    functionName: client_npn_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - TEST_true
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: 'static int client_npn_cb(SSL *s, unsigned char **out, unsigned char
      *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:451,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:457,1
    - Dst: SSL_SESSION_set1_ticket_appdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: generate_session_ticket_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_set1_ticket_appdata
    - SSL_get_session
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int generate_session_ticket_cb(SSL *s, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - test_ctx
    argTypes:
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1089
    functionName: post_handshake_op
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int post_handshake_op(const SSL_TEST_CTX *test_ctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1123,1
    - Dst: do_handshake_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1132,1
    - Dst: do_app_data_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1135,1
    - Dst: do_reneg_setup_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1129,1
    - Dst: do_app_data_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1126,1
    - Dst: do_shutdown_step
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1138,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 3
    argNames:
    - test_ctx
    - peer
    - phase
    argTypes:
    - SSL_TEST_CTX*
    - PEER*
    - connect_phase_t
    constantsTouched: []
    func_position:
      end: 1144
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1144
    functionName: do_connect_step
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - do_handshake_step
    - do_shutdown_step
    - TEST_error
    - do_app_data_step
    - do_reneg_setup_step
    linkageType: ''
    returnType: void
    signature: 'static void do_connect_step(const SSL_TEST_CTX *test_ctx, PEER *peer,
      connect_phase_t phase) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1269,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1277,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1287,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1275,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1273,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1291,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1294
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1294
    functionName: set_sock_as_sctp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - setsockopt
    - BIO_new_dgram_sctp
    - BIO_free
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int set_sock_as_sctp(int sock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:38,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:39,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:41,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:42,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:40,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:43,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:44,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:45,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - HANDSHAKE_RESULT*
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: HANDSHAKE_RESULT_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_X509_NAME_pop_free
    linkageType: ''
    returnType: void
    signature: 'void HANDSHAKE_RESULT_free(HANDSHAKE_RESULT *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: server_npn_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int server_npn_cb(SSL *s, const unsigned char **data, unsigned
      int *len, void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ss
    - keyname
    - keyname_len
    - status
    - arg
    argTypes:
    - SSL*
    - SSL_SESSION*
    - unsigned char*
    - size_t
    - SSL_TICKET_STATUS
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 478
    functionName: decrypt_session_ticket_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int decrypt_session_ticket_cb(SSL *s, SSL_SESSION *ss, const
      unsigned char *keyname, size_t keyname_len, SSL_TICKET_STATUS status, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - test_ctx
    argTypes:
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1078
    functionName: renegotiate_op
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int renegotiate_op(const SSL_TEST_CTX *test_ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: renegotiate_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1096,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1112,1
    - Dst: post_handshake_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1102,1
    - Dst: post_handshake_op
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1096,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 2
    argNames:
    - test_ctx
    - phase
    argTypes:
    - SSL_TEST_CTX*
    - connect_phase_t
    constantsTouched: []
    func_position:
      end: 1116
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1116
    functionName: next_phase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - post_handshake_op
    - renegotiate_op
    - TEST_error
    linkageType: ''
    returnType: connect_phase_t
    signature: 'static connect_phase_t next_phase(const SSL_TEST_CTX *test_ctx, connect_phase_t
      phase) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_listen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1328,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1368,1
    - Dst: BIO_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1354,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1318,1
    - Dst: BIO_lookup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1313,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1370,1
    - Dst: BIO_sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1305,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1317,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1319,1
    - Dst: set_sock_as_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1327,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1328,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1330,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1342,1
    - Dst: set_sock_as_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1353,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1349,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1354,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1372,1
    - Dst: BIO_socket_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1355,1
    - Dst: BIO_lookup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1345,1
    - Dst: BIO_accept_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1358,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1374,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 2
    argNames:
    - ssock
    - csock
    argTypes:
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1376
    functionName: create_sctp_socks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - BIO_lookup_ex
    - BIO_accept_ex
    - BIO_socket_nbio
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_listen
    - BIO_connect
    - BIO_ADDRINFO_family
    - BIO_ADDRINFO_address
    - BIO_closesocket
    - BIO_socket
    - BIO_sock_init
    - set_sock_as_sctp
    linkageType: ''
    returnType: int
    signature: 'static int create_sctp_socks(int *ssock, int *csock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1727,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1746,1
    - Dst: do_handshake_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1742,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1740,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1747,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    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*
    constantsTouched: []
    func_position:
      end: 1749
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1749
    functionName: do_handshake
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - do_handshake_internal
    - SSL_SESSION_free
    - HANDSHAKE_RESULT_free
    linkageType: ''
    returnType: HANDSHAKE_RESULT*
    signature: 'HANDSHAKE_RESULT *do_handshake(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,
      SSL_CTX *client_ctx, SSL_CTX *resume_server_ctx, SSL_CTX *resume_client_ctx,
      const SSL_TEST_CTX *test_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1231,1
    - Dst: OPENSSL_strnlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1231,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1232,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c:1232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1234
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: dup_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/handshake.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - TEST_size_t_eq
    - OPENSSL_strndup
    - OPENSSL_strnlen
    linkageType: ''
    returnType: char*
    signature: 'static char *dup_str(const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:80,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: load_cert_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - d2i_X509
    - TEST_ptr
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *load_cert_asn1(const unsigned char *bytes, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: start_pkcs12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void start_pkcs12(PKCS12_BUILDER *pb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:240,1
    - Dst: d2i_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:244,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:246,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:245,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:249,1
    - Dst: PKCS12_mac_present
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:249,1
    - Dst: check_p12_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:252,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 2
    argNames:
    - infile
    - mac
    argTypes:
    - char*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: read_p12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - check_p12_mac
    - d2i_PKCS12_bio
    - BIO_free
    - PKCS12_free
    - TEST_ptr
    - TEST_false
    - PKCS12_mac_present
    linkageType: ''
    returnType: PKCS12*
    signature: 'static PKCS12 *read_p12(const char *infile, const PKCS12_ENC *mac) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:293,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:303,1
    - Dst: PKCS12_add_safe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:293,1
    - Dst: PKCS12_add_safe_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:297,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pb
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: end_contentinfo_encrypted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_add_safe_ex
    - PKCS12_add_safe
    - sk_PKCS12_SAFEBAG_pop_free
    - TEST_true
    linkageType: ''
    returnType: void
    signature: 'void end_contentinfo_encrypted(PKCS12_BUILDER *pb, const PKCS12_ENC
      *enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:645,1
    - Dst: check_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:651,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:652,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:651,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:646,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:652,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:653,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:653,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:654,1
    - Dst: check_asn1_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:654,1
    - Dst: PKCS12_SAFEBAG_get0_bag_obj
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - pb
    - secret_nid
    - secret
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - int
    - char*
    - PKCS12_ATTR*
    constantsTouched: []
    func_position:
      end: 656
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 656
    functionName: check_secretbag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - check_attrs
    - PKCS12_SAFEBAG_get_bag_nid
    - check_asn1_string
    - TEST_ptr
    - TEST_int_eq
    - TEST_true
    - sk_PKCS12_SAFEBAG_value
    - PKCS12_SAFEBAG_get0_attrs
    - PKCS12_SAFEBAG_get0_bag_obj
    - PKCS12_SAFEBAG_get_nid
    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: read_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:726,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:731,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:736,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:727,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 737
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 737
    functionName: start_check_pkcs12_file_with_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_free
    - TEST_ptr
    - PKCS12_unpack_authsafes
    - read_p12
    linkageType: ''
    returnType: void
    signature: 'void start_check_pkcs12_file_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC
      *mac) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_AutoPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:91,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: load_pkey_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - d2i_AutoPrivateKey
    - TEST_ptr
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_pkey_asn1(const unsigned char *bytes, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: end_pkcs12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - generate_p12
    linkageType: ''
    returnType: void
    signature: 'void end_pkcs12(PKCS12_BUILDER *pb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:263,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:264,1
    - Dst: PKCS12_mac_present
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:263,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:264,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p12
    - mac
    argTypes:
    - PKCS12*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: check_p12_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_verify_mac
    - TEST_true
    - PKCS12_mac_present
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_p12_mac(PKCS12 *p12, const PKCS12_ENC *mac) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS7_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:312,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:321,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:314,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:317,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:319,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:321,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:323,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:325,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:327,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 3
    argNames:
    - safes
    - idx
    - enc
    argTypes:
    - STACK_OF(PKCS7)*
    - int
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 333
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 333
    functionName: decode_contentinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_value
    - OBJ_obj2nid
    - TEST_int_eq
    - TEST_ptr
    - PKCS12_unpack_p7data
    - PKCS12_unpack_p7encdata
    - strlen
    linkageType: ''
    returnType: STACK_OF(PKCS12_SAFEBAG)*
    signature: 'static STACK_OF(PKCS12_SAFEBAG) *decode_contentinfo(STACK_OF(PKCS7)
      *safes, int idx, const PKCS12_ENC *enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: from_bio_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:666,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:671,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:676,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:667,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 677
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 677
    functionName: start_check_pkcs12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_free
    - TEST_ptr
    - PKCS12_unpack_authsafes
    - from_bio_p12
    linkageType: ''
    returnType: void
    signature: 'void start_check_pkcs12(PKCS12_BUILDER *pb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 745
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 745
    functionName: end_check_pkcs12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_pop_free
    linkageType: ''
    returnType: void
    signature: 'void end_check_pkcs12(PKCS12_BUILDER *pb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: start_contentinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void start_contentinfo(PKCS12_BUILDER *pb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:469,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:481,1
    - Dst: TEST_str_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:476,1
    - Dst: OPENSSL_uni2asc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:474,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:481,1
    - Dst: TEST_mem_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:487,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:487,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:499,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 16
    argCount: 2
    argNames:
    - av
    - txt
    argTypes:
    - ASN1_TYPE*
    - char*
    constantsTouched: []
    func_position:
      end: 501
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 501
    functionName: check_asn1_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - TEST_mem_eq
    - OPENSSL_uni2asc
    - TEST_str_eq
    - TEST_ptr
    - OPENSSL_free
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_asn1_string(const ASN1_TYPE *av, const char *txt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:551,1
    - Dst: check_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:556,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:557,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:556,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:552,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:557,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:558,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:558,1
    - Dst: PKCS12_SAFEBAG_get1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:562,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:563,1
    - Dst: load_cert_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:567,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:572,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:571,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:568,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:568,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - pb
    - bytes
    - len
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    constantsTouched: []
    func_position:
      end: 573
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 573
    functionName: check_certbag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_cmp
    - check_attrs
    - PKCS12_SAFEBAG_get_bag_nid
    - TEST_ptr
    - TEST_int_eq
    - PKCS12_SAFEBAG_get1_cert
    - sk_PKCS12_SAFEBAG_value
    - PKCS12_SAFEBAG_get0_attrs
    - TEST_false
    - PKCS12_SAFEBAG_get_nid
    - load_cert_asn1
    linkageType: ''
    returnType: void
    signature: 'void check_certbag(PKCS12_BUILDER *pb, const unsigned char *bytes,
      int len, const PKCS12_ATTR *attrs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:281,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:284,1
    - Dst: PKCS12_add_safe
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: end_contentinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_add_safe
    - sk_PKCS12_SAFEBAG_pop_free
    - TEST_true
    linkageType: ''
    returnType: void
    signature: 'void end_contentinfo(PKCS12_BUILDER *pb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:511,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:517,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:516,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:521,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:515,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:522,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:522,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:525,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:527,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:528,1
    - Dst: check_asn1_string
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:528,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - bag_attrs
    - attrs
    argTypes:
    - STACK_OF(X509_ATTRIBUTE)*
    - PKCS12_ATTR*
    constantsTouched: []
    func_position:
      end: 539
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 539
    functionName: check_attrs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - check_asn1_string
    - strcmp
    - TEST_int_eq
    - TEST_true
    - X509_ATTRIBUTE_get0_type
    - X509_ATTRIBUTE_get0_object
    - sk_X509_ATTRIBUTE_value
    - OBJ_obj2txt
    - X509_ATTRIBUTE_count
    linkageType: ''
    returnType: int
    signature: 'static int check_attrs(const STACK_OF(X509_ATTRIBUTE) *bag_attrs,
      const PKCS12_ATTR *attrs) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:593,1
    - Dst: check_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:593,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:601,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:621,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:612,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:617,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:611,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:616,1
    - Dst: EVP_PKEY_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:631,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:587,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:588,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:600,1
    - Dst: PKCS12_decrypt_skey
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:609,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:609,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:616,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:634,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:598,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:601,1
    - Dst: PKCS12_decrypt_skey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:611,1
    - Dst: load_pkey_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:630,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:631,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:635,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 5
    argNames:
    - pb
    - bytes
    - len
    - attrs
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 636
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 636
    functionName: check_keybag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - check_attrs
    - PKCS12_SAFEBAG_get0_p8inf
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - PKCS12_decrypt_skey_ex
    - EVP_PKEY_eq
    - strlen
    - PKCS12_decrypt_skey
    - sk_PKCS12_SAFEBAG_value
    - PKCS12_SAFEBAG_get0_attrs
    - load_pkey_asn1
    - PKCS12_SAFEBAG_get_nid
    - EVP_PKCS82PKEY
    linkageType: ''
    returnType: void
    signature: 'void check_keybag(PKCS12_BUILDER *pb, const unsigned char *bytes,
      int len, const PKCS12_ATTR *attrs, const PKCS12_ENC *enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:782,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:784,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: end_check_contentinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - sk_PKCS12_SAFEBAG_num
    - sk_PKCS12_SAFEBAG_pop_free
    linkageType: ''
    returnType: void
    signature: 'void end_check_contentinfo(PKCS12_BUILDER *pb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: PKCS12_helper_set_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS12_helper_set_libctx(OSSL_LIB_CTX *libctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:350,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:351,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:357,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:354,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:354,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:357,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:358,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:362,1
    - Dst: PKCS12_add1_attr_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:362,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - bag
    - attrs
    argTypes:
    - PKCS12_SAFEBAG*
    - PKCS12_ATTR*
    constantsTouched: []
    func_position:
      end: 372
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 372
    functionName: add_attributes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_add_localkeyid
    - OBJ_txt2nid
    - TEST_true
    - PKCS12_add_friendlyname
    - TEST_info
    - PKCS12_add1_attr_by_txt
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int add_attributes(PKCS12_SAFEBAG *bag, const PKCS12_ATTR *attrs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:417,1
    - Dst: PKCS12_add_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:428,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:420,1
    - Dst: load_pkey_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:419,1
    - Dst: PKCS12_add_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:426,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:430,1
    - Dst: add_attributes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:434,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 5
    argNames:
    - pb
    - bytes
    - len
    - attrs
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 438
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 438
    functionName: add_keybag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_add_key_ex
    - TEST_ptr
    - EVP_PKEY_free
    - PKCS12_add_key
    - add_attributes
    - TEST_info
    - load_pkey_asn1
    linkageType: ''
    returnType: void
    signature: 'void add_keybag(PKCS12_BUILDER *pb, const unsigned char *bytes, int
      len, const PKCS12_ATTR *attrs, const PKCS12_ENC *enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - propq
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: PKCS12_helper_set_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS12_helper_set_propq(const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:384,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:390,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:385,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:390,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:391,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:392,1
    - Dst: PKCS12_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:394,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:395,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:400,1
    - Dst: add_attributes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:400,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:405,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - pb
    - bytes
    - len
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    constantsTouched: []
    func_position:
      end: 406
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 406
    functionName: add_certbag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_NAME_oneline
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - add_attributes
    - TEST_info
    - load_cert_asn1
    - PKCS12_add_cert
    - X509_get_subject_name
    linkageType: ''
    returnType: void
    signature: 'void add_certbag(PKCS12_BUILDER *pb, const unsigned char *bytes, int
      len, const PKCS12_ATTR *attrs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:448,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:450,1
    - Dst: PKCS12_add_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:450,1
    - Dst: add_attributes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:455,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - pb
    - secret_nid
    - secret
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - int
    - char*
    - PKCS12_ATTR*
    constantsTouched: []
    func_position:
      end: 457
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 457
    functionName: add_secretbag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_add_secret
    - TEST_ptr
    - add_attributes
    - TEST_info
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void add_secretbag(PKCS12_BUILDER *pb, int secret_nid, const char
      *secret, const PKCS12_ATTR *attrs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: PKCS12_helper_set_write_files
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS12_helper_set_write_files(int enable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:104,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: new_pkcs12_builder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: PKCS12_BUILDER*
    signature: 'PKCS12_BUILDER *new_pkcs12_builder(const char *filename) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:153,1
    - Dst: PKCS12_add_safes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:159,1
    - Dst: PKCS12_add_safes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:161,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:153,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:154,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:162,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:166,1
    - Dst: EVP_get_digestbynid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:170,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:172,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:172,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:174,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:187,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:188,1
    - Dst: PKCS12_set_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:174,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:174,1
    - Dst: i2d_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:180,1
    - Dst: write_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:184,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 189
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 189
    functionName: generate_p12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - EVP_get_digestbynid
    - i2d_PKCS12_bio
    - PKCS12_set_mac
    - write_p12
    - OBJ_nid2sn
    - PKCS12_free
    - TEST_ptr
    - TEST_true
    - PKCS12_add_safes_ex
    - sk_PKCS7_pop_free
    - PKCS12_add_safes
    - BIO_s_mem
    - EVP_MD_free
    - BIO_new
    - EVP_MD_fetch
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void generate_p12(PKCS12_BUILDER *pb, const PKCS12_ENC *mac) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:195,1
    - Dst: i2d_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:200,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:200,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - p12
    - outfile
    argTypes:
    - PKCS12*
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: write_p12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - TEST_int_eq
    - BIO_free
    - i2d_PKCS12_bio
    linkageType: ''
    returnType: int
    signature: 'static int write_p12(PKCS12 *p12, const char *outfile) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: from_bio_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:686,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:687,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:692,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:696,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 697
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 697
    functionName: start_check_pkcs12_with_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_free
    - TEST_ptr
    - PKCS12_unpack_authsafes
    - from_bio_p12
    linkageType: ''
    returnType: void
    signature: 'void start_check_pkcs12_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC
      *mac) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:754,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:759,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:759,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 760
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 760
    functionName: start_check_contentinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - decode_contentinfo
    - sk_PKCS12_SAFEBAG_num
    - TEST_info
    linkageType: ''
    returnType: void
    signature: 'void start_check_contentinfo(PKCS12_BUILDER *pb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: PKCS12_helper_set_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void PKCS12_helper_set_legacy(int enable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: end_pkcs12_builder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int end_pkcs12_builder(PKCS12_BUILDER *pb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:214,1
    - Dst: d2i_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:218,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:215,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:219,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:220,1
    - Dst: TEST_false
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:223,1
    - Dst: PKCS12_mac_present
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:223,1
    - Dst: check_p12_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:226,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:231,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - bio
    - mac
    argTypes:
    - BIO*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: from_bio_p12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - check_p12_mac
    - d2i_PKCS12_bio
    - BIO_free
    - PKCS12_free
    - TEST_ptr
    - PKCS12_mac_present
    - TEST_false
    - PKCS12_init_ex
    linkageType: ''
    returnType: PKCS12*
    signature: 'static PKCS12 *from_bio_p12(BIO *bio, const PKCS12_ENC *mac) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:706,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:716,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:711,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:712,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    constantsTouched: []
    func_position:
      end: 717
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 717
    functionName: start_check_pkcs12_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - PKCS12_free
    - TEST_ptr
    - PKCS12_unpack_authsafes
    - read_p12
    linkageType: ''
    returnType: void
    signature: 'void start_check_pkcs12_file(PKCS12_BUILDER *pb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_contentinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:768,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:773,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:769,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pb
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 774
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 774
    functionName: start_check_contentinfo_encrypted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - decode_contentinfo
    - sk_PKCS12_SAFEBAG_num
    - TEST_info
    linkageType: ''
    returnType: void
    signature: 'void start_check_contentinfo_encrypted(PKCS12_BUILDER *pb, const PKCS12_ENC
      *enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: end_pkcs12_with_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/pkcs12.c
    functionUses: []
    functionsReached:
    - generate_p12
    linkageType: ''
    returnType: void
    signature: 'void end_pkcs12_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC *mac) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:68,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:70,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - sk
    - cert
    argTypes:
    - STACK_OF(X509)*
    - X509*
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: STACK_OF_X509_push1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_up_ref
    - sk_X509_push
    linkageType: ''
    returnType: int
    signature: 'int STACK_OF_X509_push1(STACK_OF(X509) *sk, X509 *cert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_OSSL_CMP_MSG
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: valid_asn1_encoding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c
    functionUses: []
    functionsReached:
    - i2d_OSSL_CMP_MSG
    linkageType: ''
    returnType: int
    signature: 'int valid_asn1_encoding(const OSSL_CMP_MSG *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: print_to_bio_out
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_print_to_bio
    linkageType: ''
    returnType: int
    signature: 'int print_to_bio_out(const char *func, const char *file, int line,
      OSSL_CMP_severity level, const char *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:18,1
    - Dst: OSSL_CMP_MSG_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:18,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: load_pkimsg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c
    functionUses: []
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:45,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:45,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:49,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:48,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:47,1
    - Dst: X509_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c:51,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - sk1
    - sk2
    argTypes:
    - STACK_OF(X509)*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: STACK_OF_X509_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/cmp_testlib.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - X509_cmp
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: 'int STACK_OF_X509_cmp(const STACK_OF(X509) *sk1, const STACK_OF(X509)
      *sk2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:131,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:141,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:139,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:149,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:150,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:152,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:160,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:167,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:195,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:138,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:146,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:154,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:162,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:182,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:165,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:190,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:199,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:184,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:186,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:145,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:176,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:170,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:180,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:171,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:198,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 79
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 200
    functionName: dump_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void dump_data(const char *data, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:220,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:222,1
    - Dst: copy_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: tls_dump_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_write
    - copy_flags
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int tls_dump_write(BIO *bio, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: bio_s_always_retry_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'void bio_s_always_retry_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:767,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: always_retry_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: 'static int always_retry_free(BIO *bio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:205,1
    - Dst: dump_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:211,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:207,1
    - Dst: copy_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: tls_dump_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_read
    - copy_flags
    - dump_data
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int tls_dump_read(BIO *bio, char *out, int outl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:231,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: tls_dump_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long tls_dump_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: always_retry_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int always_retry_new(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: set_always_retry_err_val
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void set_always_retry_err_val(int err) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_dtls
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1081,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1092,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1088,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1094,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1086,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1102,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1104,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1110,1
    - Dst: TEST_openssl_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1112,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1124,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1131,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1133,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1139,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1126,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1148,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 87
    argCount: 4
    argNames:
    - serverssl
    - clientssl
    - want
    - read
    argTypes:
    - SSL*
    - SSL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1153
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1153
    functionName: create_bare_ssl_connection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - SSL_connect
    - SSL_read
    - SSL_accept
    - ossl_sleep
    - TEST_info
    - SSL_get_error
    - SSL_is_dtls
    - TEST_openssl_errors
    linkageType: ''
    returnType: int
    signature: 'int create_bare_ssl_connection(SSL *serverssl, SSL *clientssl, int
      want, int read) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:297,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:300,1
    - Dst: BIO_meth_set_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:299,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:299,1
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:297,1
    - Dst: BIO_meth_set_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:300,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:301,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:301,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:302,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:302,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:305,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:304,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:305,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:303,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:304,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: bio_s_mempacket_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - TEST_ptr
    - BIO_meth_set_read
    - TEST_true
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *bio_s_mempacket_test(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:428,1
    - Dst: sk_MEMPACKET_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:442,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:468,1
    - Dst: sk_MEMPACKET_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:433,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:464,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:473,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:481,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:483,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:490,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:491,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:492,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 503
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 503
    functionName: mempacket_swap_epoch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - memmove
    - sk_MEMPACKET_num
    - OPENSSL_free
    - memcpy
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_value
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int mempacket_swap_epoch(BIO *bio) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:508,1
    - Dst: sk_MEMPACKET_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:510,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:530,1
    - Dst: sk_MEMPACKET_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:526,1
    - Dst: sk_MEMPACKET_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:521,1
    - Dst: sk_MEMPACKET_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - bio
    - d
    - s
    argTypes:
    - BIO*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 539
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 539
    functionName: mempacket_move_packet
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - sk_MEMPACKET_delete
    - sk_MEMPACKET_num
    - sk_MEMPACKET_value
    - BIO_get_data
    - sk_MEMPACKET_insert
    linkageType: ''
    returnType: int
    signature: 'int mempacket_move_packet(BIO *bio, int d, int s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempacket_test_inject
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: mempacket_test_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - mempacket_test_inject
    linkageType: ''
    returnType: int
    signature: 'static int mempacket_test_write(BIO *bio, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: mempacket_test_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int mempacket_test_gets(BIO *bio, char *buf, int size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:795,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 807
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 807
    functionName: always_retry_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_retry_write
    linkageType: ''
    returnType: long
    signature: 'static long always_retry_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:905,1
    - Dst: fcntl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 910
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 910
    functionName: set_nb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: 'static int set_nb(int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: bio_s_mempacket_test_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'void bio_s_mempacket_test_free(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:544,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:580,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:576,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:576,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:580,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:590,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:593,1
    - Dst: sk_MEMPACKET_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:600,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:601,1
    - Dst: sk_MEMPACKET_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:601,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:605,1
    - Dst: sk_MEMPACKET_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:639,1
    - Dst: mempacket_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:650,1
    - Dst: sk_MEMPACKET_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:618,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 79
    argCount: 5
    argNames:
    - bio
    - in
    - inl
    - pktnum
    - type
    argTypes:
    - BIO*
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 652
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 652
    functionName: mempacket_test_inject
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - sk_MEMPACKET_push
    - sk_MEMPACKET_num
    - TEST_ptr
    - mempacket_free
    - memcpy
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_value
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int mempacket_test_inject(BIO *bio, const char *in, int inl, int pktnum,
      int type) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:662,1
    - Dst: sk_MEMPACKET_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:679,1
    - Dst: sk_MEMPACKET_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:667,1
    - Dst: BIO_set_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:673,1
    - Dst: BIO_get_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:670,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 21
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 709
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 709
    functionName: mempacket_test_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - sk_MEMPACKET_num
    - sk_MEMPACKET_value
    - BIO_get_shutdown
    - BIO_set_shutdown
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long mempacket_test_ctrl(BIO *bio, int cmd, long num, void
      *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempacket_test_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:719,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: mempacket_test_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - mempacket_test_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int mempacket_test_puts(BIO *bio, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:733,1
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:733,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:737,1
    - Dst: BIO_meth_set_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:735,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:735,1
    - Dst: BIO_meth_set_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:737,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:739,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:739,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:741,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:741,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:747,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:745,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:747,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:743,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:745,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:743,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 752
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 752
    functionName: bio_s_always_retry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - TEST_ptr
    - BIO_meth_set_read
    - TEST_true
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *bio_s_always_retry(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: always_retry_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_retry_read
    linkageType: ''
    returnType: int
    signature: 'static int always_retry_gets(BIO *bio, char *buf, int size) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:920,1
    - Dst: bind
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:928,1
    - Dst: inet_addr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:922,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:924,1
    - Dst: getsockname
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:931,1
    - Dst: listen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:934,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:937,1
    - Dst: set_nb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:941,1
    - Dst: accept
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:945,1
    - Dst: connect
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:949,1
    - Dst: set_nb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:955,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:969,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:966,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:964,1
    - Dst: set_nb
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:955,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 47
    argCount: 2
    argNames:
    - cfdp
    - sfdp
    argTypes:
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 971
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 971
    functionName: create_test_sockets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - socket
    - accept
    - close
    - inet_addr
    - listen
    - bind
    - connect
    - set_nb
    - getsockname
    - memset
    linkageType: ''
    returnType: int
    signature: 'int create_test_sockets(int *cfdp, int *sfdp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:981,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:985,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:988,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:981,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:985,1
    - Dst: BIO_new_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:988,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:989,1
    - Dst: BIO_new_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:989,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:992,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:993,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1000,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1001,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1002,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:999,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 6
    argNames:
    - serverctx
    - clientctx
    - sssl
    - cssl
    - sfd
    - cfd
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL**
    - SSL**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1004
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1004
    functionName: create_ssl_objects2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - SSL_set_bio
    - SSL_free
    - BIO_free
    - TEST_ptr
    - BIO_new_socket
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'int create_ssl_objects2(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL
      **sssl, SSL **cssl, int sfd, int cfd) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:355,1
    - Dst: sk_MEMPACKET_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:362,1
    - Dst: sk_MEMPACKET_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:368,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:365,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:361,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:404,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:408,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:417,1
    - Dst: mempacket_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:418,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 420
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 420
    functionName: mempacket_test_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - memmove
    - mempacket_free
    - memcpy
    - sk_MEMPACKET_value
    - sk_MEMPACKET_shift
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int mempacket_test_read(BIO *bio, char *out, int outl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1199,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1203,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1199,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1202,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1207,1
    - Dst: ENGINE_register_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1207,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1216
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1216
    functionName: load_dasync
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - ENGINE_by_id
    - TEST_true
    - ENGINE_init
    - ENGINE_free
    - ENGINE_register_ciphers
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *load_dasync(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:59,1
    - Dst: BIO_meth_set_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:63,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:64,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:65,1
    - Dst: BIO_meth_set_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:62,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:66,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:67,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: bio_f_tls_dump_filter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_read
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *bio_f_tls_dump_filter(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:95,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:99,1
    - Dst: BIO_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:97,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: copy_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_flags
    - BIO_clear_flags
    - BIO_test_flags
    - BIO_next
    linkageType: ''
    returnType: void
    signature: 'static void copy_flags(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: tls_dump_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tls_dump_gets(BIO *bio, char *buf, int size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:320,1
    - Dst: sk_MEMPACKET_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:322,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:322,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:323,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:320,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:328,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: mempacket_test_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - BIO_set_data
    - OPENSSL_zalloc
    - BIO_set_init
    - sk_MEMPACKET_new_null
    linkageType: ''
    returnType: int
    signature: 'static int mempacket_test_new(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: bio_f_tls_dump_filter_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'void bio_f_tls_dump_filter_free(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_dump_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:255,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: tls_dump_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - strlen
    - tls_dump_write
    linkageType: ''
    returnType: int
    signature: 'static int tls_dump_puts(BIO *bio, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:335,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:339,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:338,1
    - Dst: sk_MEMPACKET_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:337,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: mempacket_test_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - sk_MEMPACKET_pop_free
    - BIO_set_data
    - OPENSSL_free
    - BIO_set_init
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int mempacket_test_free(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: tls_dump_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int tls_dump_new(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: always_retry_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_retry_read
    linkageType: ''
    returnType: int
    signature: 'static int always_retry_read(BIO *bio, char *out, int outl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: always_retry_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_retry_write
    linkageType: ''
    returnType: int
    signature: 'static int always_retry_puts(BIO *bio, const char *str) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1018,1
    - Dst: SSL_is_dtls
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1025,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1026,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1027,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1030,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1036,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1039,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1048,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1056,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1060,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1026,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1031,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1036,1
    - Dst: bio_s_mempacket_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1027,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1039,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1047,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1049,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1050,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1057,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1061,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1022,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1018,1
    - Dst: bio_s_mempacket_test
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1026,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1031,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1030,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1058,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1022,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1027,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1031,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1030,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1043,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1044,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1059,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 64
    argCount: 6
    argNames:
    - serverctx
    - clientctx
    - sssl
    - cssl
    - s_to_c_fbio
    - c_to_s_fbio
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL**
    - SSL**
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1064
    functionName: create_ssl_objects
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - SSL_set_bio
    - SSL_free
    - bio_s_mempacket_test
    - BIO_free
    - TEST_ptr
    - BIO_up_ref
    - SSL_is_dtls
    - BIO_set_mem_eof_return
    - BIO_s_mem
    - BIO_push
    - BIO_new
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'int create_ssl_objects(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL
      **sssl, SSL **cssl, BIO *s_to_c_fbio, BIO *c_to_s_fbio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_bare_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1165,1
    - Dst: TEST_ulong_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1175,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1177,1
    - Dst: SSL_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1174,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - serverssl
    - clientssl
    - want
    argTypes:
    - SSL*
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 1184
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1184
    functionName: create_ssl_connection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - TEST_int_eq
    - SSL_read_ex
    - create_bare_ssl_connection
    - TEST_ulong_eq
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: 'int create_ssl_connection(SSL *serverssl, SSL *clientssl, int want) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: tls_dump_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int tls_dump_free(BIO *bio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:269,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - MEMPACKET*
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: mempacket_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void mempacket_free(MEMPACKET *pkt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: always_retry_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - BIO_set_retry_write
    linkageType: ''
    returnType: int
    signature: 'static int always_retry_write(BIO *bio, const char *in, int inl) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:880,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:832,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:833,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:853,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:859,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:870,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:867,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:892,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:880,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:832,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:841,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:894,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:877,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:841,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:833,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:853,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:859,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:862,1
    - Dst: TEST_true
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:862,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:870,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:877,1
    - Dst: TEST_int_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:875,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:867,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:875,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 87
    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*
    constantsTouched: []
    func_position:
      end: 896
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 896
    functionName: create_ssl_ctx_pair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_use_certificate_file
    - SSL_CTX_set_max_proto_version
    - TEST_ptr
    - TEST_int_eq
    - SSL_CTX_use_PrivateKey_file
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_CTX_check_private_key
    - SSL_CTX_set_options
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'int create_ssl_ctx_pair(OSSL_LIB_CTX *libctx, const SSL_METHOD *sm,
      const SSL_METHOD *cm, int min_proto_version, int max_proto_version, SSL_CTX
      **sctx, SSL_CTX **cctx, char *certfile, char *privkeyfile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1188,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1189,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1191,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - serverssl
    - clientssl
    argTypes:
    - SSL*
    - SSL*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1192
    functionName: shutdown_ssl_connection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssltestlib.c
    functionUses: []
    functionsReached:
    - SSL_free
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: 'void shutdown_ssl_connection(SSL *serverssl, SSL *clientssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - num_enums
    - value
    argTypes:
    - test_enum*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: enum_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *enum_name(const test_enum *enums, size_t num_enums,
      int value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:103,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: parse_expected_result
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_result(SSL_TEST_CTX *test_ctx, const
      char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:290,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_session_ticket_t
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: ssl_session_ticket_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_session_ticket_name(ssl_session_ticket_t server) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:499,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: parse_max_fragment_len_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_max_fragment_len_mode(SSL_TEST_CLIENT_CONF
      *client_conf, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 551
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 551
    functionName: parse_expected_server_cert_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_server_cert_type(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: parse_expected_client_cert_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_client_cert_type(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_sign_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: parse_expected_client_sign_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_sign_hash
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_client_sign_hash(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:779,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:782,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:784,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:779,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:785,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:786,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:788,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:797,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - client
    - conf
    - client_section
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 803
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 803
    functionName: parse_client_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strcmp
    - sk_CONF_VALUE_num
    - TEST_info
    - sk_CONF_VALUE_value
    - OSSL_NELEM
    - NCONF_get_section
    linkageType: ''
    returnType: int
    signature: 'static int parse_client_options(SSL_TEST_CLIENT_CONF *client, const
      CONF *conf, const char *client_section) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:113,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - ssl_test_result_t
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: ssl_test_result_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_test_result_name(ssl_test_result_t result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:185,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: parse_client_verify_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_client_verify_callback(SSL_TEST_CLIENT_CONF
      *client_conf, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:280,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: parse_session_ticket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_session_ticket(SSL_TEST_CTX *test_ctx, const
      char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:430,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: parse_ct_validation
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_ct_validation(SSL_TEST_CLIENT_CONF *client_conf,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:509,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - MFL_mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: ssl_max_fragment_len_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_max_fragment_len_name(int MFL_mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: parse_expected_server_sign_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_server_sign_type(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: parse_expected_client_sign_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_client_sign_type(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:612,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:613,1
    - Dst: SSL_load_client_CA_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pnames
    - value
    - libctx
    argTypes:
    - STACK_OF(X509_NAME)**
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: parse_expected_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - strcmp
    - SSL_load_client_CA_file_ex
    - sk_X509_NAME_new_null
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_ca_names(STACK_OF(X509_NAME) **pnames,
      const char *value, OSSL_LIB_CTX *libctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:812,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:817,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:815,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:818,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:812,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:819,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:821,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:830,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - server
    - conf
    - server_section
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 836
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 836
    functionName: parse_server_options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - TEST_ptr
    - strcmp
    - sk_CONF_VALUE_num
    - TEST_info
    - sk_CONF_VALUE_value
    - OSSL_NELEM
    - NCONF_get_section
    linkageType: ''
    returnType: int
    signature: 'static int parse_server_options(SSL_TEST_SERVER_CONF *server, const
      CONF *conf, const char *server_section) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: parse_client_alert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_alert
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_client_alert(SSL_TEST_CTX *test_ctx, const
      char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:440,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ssl_ct_validation_t
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: ssl_ct_validation_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_ct_validation_name(ssl_ct_validation_t mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_test_extra_conf_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:754,1
    - Dst: ssl_test_extra_conf_free_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: ssl_test_ctx_free_extra_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - ssl_test_extra_conf_free_data
    linkageType: ''
    returnType: void
    signature: 'static void ssl_test_ctx_free_extra_data(SSL_TEST_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: parse_server_alert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_alert
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_server_alert(SSL_TEST_CTX *test_ctx, const
      char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:410,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: parse_key_update_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_key_update_type(SSL_TEST_CTX *test_ctx, const
      char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_test_ctx_free_extra_data
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:762,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:766,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:765,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:764,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:763,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:767,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:768,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_TEST_CTX*
    constantsTouched: []
    func_position:
      end: 770
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 770
    functionName: SSL_TEST_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - ssl_test_ctx_free_extra_data
    - OPENSSL_free
    - sk_X509_NAME_pop_free
    linkageType: ''
    returnType: void
    signature: 'void SSL_TEST_CTX_free(SSL_TEST_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:24,1
    - Dst: TEST_error
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:32,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: parse_boolean
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - TEST_error
    linkageType: ''
    returnType: int
    signature: 'static int parse_boolean(const char *value, int *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:212,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: parse_servername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_servername(SSL_TEST_CLIENT_CONF *client_conf,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:320,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_session_id_t
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: ssl_session_id_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_session_id_name(ssl_session_id_t server) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:472,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cert_status
    argTypes:
    - ssl_cert_status_t
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: ssl_certstatus_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_certstatus_name(ssl_cert_status_t cert_status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:523,1
    - Dst: EC_curve_nist2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:532,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:527,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:529,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - ptype
    - value
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 538
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 538
    functionName: parse_expected_key_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - EC_curve_nist2nid
    - OBJ_ln2nid
    - EVP_PKEY_asn1_get0_info
    - OBJ_sn2nid
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_key_type(int *ptype, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: parse_expected_server_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_ca_names
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_server_ca_names(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:224,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: parse_expected_servername
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_servername(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:310,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: parse_session_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_session_id(SSL_TEST_CTX *test_ctx, const char
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: parse_expected_tmp_key_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_tmp_key_type(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: parse_expected_client_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_ca_names
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_client_ca_names(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:392,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ssl_handshake_mode_t
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: ssl_handshake_mode_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_handshake_mode_name(ssl_handshake_mode_t mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:145,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - alert
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: ssl_alert_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_alert_name(int alert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:162,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: parse_protocol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_protocol(SSL_TEST_CTX *test_ctx, const char
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:195,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - callback
    argTypes:
    - ssl_verify_callback_t
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: ssl_verify_callback_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_verify_callback_name(ssl_verify_callback_t callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:234,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_servername_t
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ssl_servername_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_servername_name(ssl_servername_t server) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:255,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - server_conf
    - value
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: parse_servername_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_servername_callback(SSL_TEST_SERVER_CONF *server_conf,
      const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:335,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: parse_test_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_test_method(SSL_TEST_CTX *test_ctx, const
      char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:583,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ptype
    - value
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 590
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 590
    functionName: parse_expected_sign_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OBJ_sn2nid
    - OBJ_ln2nid
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_sign_hash(int *ptype, const char
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 731
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 731
    functionName: SSL_TEST_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SSL_TEST_CTX*
    signature: 'SSL_TEST_CTX *SSL_TEST_CTX_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - enums
    - num_enums
    - value
    - name
    argTypes:
    - test_enum*
    - size_t
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: parse_enum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_enum(const test_enum *enums, size_t num_enums,
      int *value, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:130,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - alert
    - value
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: parse_alert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_alert(int *alert, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:168,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: ssl_protocol_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_protocol_name(int protocol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:265,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - callback
    argTypes:
    - ssl_servername_callback_t
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: ssl_servername_callback_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_servername_callback_name(ssl_servername_callback_t
      callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:345,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - ssl_test_method_t
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: ssl_test_method_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - enum_name
    linkageType: ''
    returnType: char*
    signature: 'const char *ssl_test_method_name(ssl_test_method_t method) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:382,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: parse_handshake_mode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_handshake_mode(SSL_TEST_CTX *test_ctx, const
      char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:462,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - server_conf
    - value
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: parse_certstatus
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_certstatus(SSL_TEST_SERVER_CONF *server_conf,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_sign_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: parse_expected_server_sign_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - parse_expected_sign_hash
    linkageType: ''
    returnType: __owur
    signature: '__owur static int parse_expected_server_sign_hash(SSL_TEST_CTX *test_ctx,
      const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:735,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:737,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:739,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:736,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:738,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:740,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:741,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:742,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:743,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:744,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:746,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:745,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:749,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:747,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - SSL_TEST_EXTRA_CONF*
    constantsTouched: []
    func_position:
      end: 750
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 750
    functionName: ssl_test_extra_conf_free_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ssl_test_extra_conf_free_data(SSL_TEST_EXTRA_CONF *conf) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_TEST_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:847,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:850,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:852,1
    - Dst: parse_server_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:859,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:877,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:872,1
    - Dst: parse_server_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:873,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:898,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:846,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:855,1
    - Dst: parse_client_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:856,1
    - Dst: parse_server_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:862,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:861,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:846,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:858,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:864,1
    - Dst: parse_client_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:865,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:878,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:880,1
    - Dst: TEST_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:847,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:868,1
    - Dst: parse_server_options
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:869,1
    - Dst: TEST_info
      Src: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c:889,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 63
    argCount: 3
    argNames:
    - conf
    - test_section
    - libctx
    argTypes:
    - CONF*
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 902
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 902
    functionName: SSL_TEST_CTX_create
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/test/helpers/ssl_test_ctx.c
    functionUses: []
    functionsReached:
    - SSL_TEST_CTX_free
    - TEST_ptr
    - strcmp
    - sk_CONF_VALUE_num
    - SSL_TEST_CTX_new
    - TEST_info
    - sk_CONF_VALUE_value
    - parse_client_options
    - OSSL_NELEM
    - NCONF_get_section
    - parse_server_options
    linkageType: ''
    returnType: SSL_TEST_CTX*
    signature: 'SSL_TEST_CTX *SSL_TEST_CTX_create(const CONF *conf, const char *test_section,
      OSSL_LIB_CTX *libctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:24,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:27,1
    - Dst: PEM_read_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:33,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:41,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:45,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:29,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:28,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:31,1
    - Dst: rewind
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:34,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:44,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:25,1
    - Dst: PEM_read_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:35,1
    - Dst: PKCS12_create
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:37,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:40,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:46,1
    - Dst: i2d_PKCS12_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:48,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:49,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:30,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:36,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:43,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:39,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c:50,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 52
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkwrite.c
    functionUses: []
    functionsReached:
    - PKCS12_create
    - rewind
    - exit
    - PKCS12_free
    - ERR_print_errors_fp
    - i2d_PKCS12_fp
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - PEM_read_PrivateKey
    - fprintf
    - fopen
    - fclose
    - PEM_read_X509
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:23,1
    - Dst: sk_PKCS7_value
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:30,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:31,1
    - Dst: sk_PKCS7_num
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:29,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:26,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:32,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:35,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:36,1
    - Dst: PKCS12_get_friendlyname
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:37,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:39,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:42,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - p12
    argTypes:
    - PKCS12*
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: find_friendly_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c
    functionUses: []
    functionsReached:
    - sk_PKCS7_value
    - PKCS12_get_friendlyname
    - OBJ_obj2nid
    - PKCS12_unpack_p7data
    - sk_PKCS12_SAFEBAG_num
    - STACK_OF
    - sk_PKCS7_pop_free
    - PKCS12_unpack_authsafes
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS12_SAFEBAG_value
    - sk_PKCS7_num
    linkageType: ''
    returnType: char*
    signature: 'static char *find_friendly_name(PKCS12 *p12) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:63,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:75,1
    - Dst: find_friendly_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:78,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:80,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:79,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:91,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:94,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:96,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:97,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:106,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:58,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:64,1
    - Dst: PKCS12_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:73,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:99,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:105,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:107,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:62,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:59,1
    - Dst: d2i_PKCS12_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:66,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:67,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:69,1
    - Dst: PEM_write_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:88,1
    - Dst: PEM_write_X509_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:92,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:104,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:52,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:70,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:74,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:81,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:87,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:85,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:95,1
    - Dst: PEM_write_X509_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c:97,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 110
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkcs12/pkread.c
    functionUses: []
    functionsReached:
    - X509_free
    - d2i_PKCS12_fp
    - sk_X509_pop_free
    - exit
    - PKCS12_free
    - sk_X509_num
    - OPENSSL_free
    - ERR_print_errors_fp
    - EVP_PKEY_free
    - PKCS12_parse
    - find_friendly_name
    - PEM_write_X509_AUX
    - PEM_write_PrivateKey
    - fprintf
    - fopen
    - sk_X509_value
    - fclose
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:32,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:45,1
    - Dst: CMS_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:57,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:85,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:93,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:22,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:84,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:70,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:88,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:90,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:94,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:23,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:34,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:38,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:47,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:52,1
    - Dst: CMS_add1_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:67,1
    - Dst: CMS_add1_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:64,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:89,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:91,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:95,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:30,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:25,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:36,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:43,1
    - Dst: SMIME_write_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:76,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c:92,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 97
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign2.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - CMS_ContentInfo_free
    - PEM_read_bio_X509
    - BIO_free
    - CMS_add1_signer
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - CMS_sign
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:29,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:36,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:45,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:57,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:76,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:84,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:34,1
    - Dst: PEM_read_bio_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:51,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:79,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:75,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:81,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:85,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:38,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:82,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:80,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:25,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:26,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:62,1
    - Dst: CMS_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:67,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c:83,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 87
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ddec.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - CMS_ContentInfo_free
    - PEM_read_bio_CMS
    - PEM_read_bio_X509
    - BIO_free
    - ERR_print_errors_fp
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - CMS_decrypt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:29,1
    - Dst: SMIME_write_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:72,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:88,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:32,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:81,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:18,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:37,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:43,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:45,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:62,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:84,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:86,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:67,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:80,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:28,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:56,1
    - Dst: CMS_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:62,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:87,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:85,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c:89,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 91
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_enc.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - CMS_ContentInfo_free
    - PEM_read_bio_X509
    - sk_X509_pop_free
    - BIO_free
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - fprintf
    - sk_X509_push
    - ERR_load_crypto_strings
    - sk_X509_new_null
    - EVP_des_ede3_cbc
    - OpenSSL_add_all_algorithms
    - CMS_encrypt
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:38,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:33,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:48,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:60,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:83,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:77,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:43,1
    - Dst: CMS_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:64,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:82,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:28,1
    - Dst: SMIME_read_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:54,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:81,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:69,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:85,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:23,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:24,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:65,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:76,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:84,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c:80,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 87
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_ver.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_STORE_new
    - CMS_ContentInfo_free
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - CMS_verify
    - ERR_print_errors_fp
    - fprintf
    - ERR_load_crypto_strings
    - SMIME_read_CMS
    - X509_STORE_add_cert
    - OpenSSL_add_all_algorithms
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:21,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:28,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:42,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:44,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:57,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:72,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:89,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:91,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:93,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:31,1
    - Dst: PEM_write_bio_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:76,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:92,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:94,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:36,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:68,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:85,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:63,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:27,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:55,1
    - Dst: CMS_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:63,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:84,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:88,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c:90,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 96
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_denc.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - CMS_ContentInfo_free
    - PEM_read_bio_X509
    - sk_X509_pop_free
    - BIO_free
    - PEM_write_bio_CMS
    - ERR_print_errors_fp
    - fprintf
    - sk_X509_push
    - CMS_final
    - ERR_load_crypto_strings
    - sk_X509_new_null
    - EVP_des_ede3_cbc
    - OpenSSL_add_all_algorithms
    - CMS_encrypt
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:22,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:26,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:33,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:31,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:23,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:35,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:42,1
    - Dst: SMIME_read_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:48,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:53,1
    - Dst: CMS_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:58,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:67,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:70,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:71,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:72,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:66,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:74,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:73,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c:75,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_dec.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - CMS_ContentInfo_free
    - PEM_read_bio_X509
    - BIO_free
    - ERR_print_errors_fp
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - SMIME_read_CMS
    - OpenSSL_add_all_algorithms
    - CMS_decrypt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:26,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:42,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:31,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:27,1
    - Dst: CMS_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:37,1
    - Dst: SMIME_write_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:47,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:55,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:56,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:59,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:60,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c:61,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 63
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_comp.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - CMS_ContentInfo_free
    - CMS_compress
    - BIO_free
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - fprintf
    - ERR_load_crypto_strings
    - OpenSSL_add_all_algorithms
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:20,1
    - Dst: SMIME_read_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:31,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:21,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:25,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:36,1
    - Dst: CMS_uncompress
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:41,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:49,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:50,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:53,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:54,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c:55,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 57
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_uncomp.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - CMS_ContentInfo_free
    - BIO_free
    - ERR_print_errors_fp
    - fprintf
    - ERR_load_crypto_strings
    - CMS_uncompress
    - SMIME_read_CMS
    - OpenSSL_add_all_algorithms
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:38,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:81,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:85,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:29,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:40,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:49,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:60,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:65,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:82,1
    - Dst: SMIME_write_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:68,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:30,1
    - Dst: CMS_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:55,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:77,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:83,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:33,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:42,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:80,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:76,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c:84,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 87
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cms/cms_sign.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - CMS_ContentInfo_free
    - PEM_read_bio_X509
    - BIO_free
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - CMS_sign
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:45,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:66,1
    - Dst: OSSL_DECODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:63,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:49,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:65,1
    - Dst: OSSL_DECODER_from_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:72,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:73,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:79,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:87,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - libctx
    - f
    - passphrase
    argTypes:
    - OSSL_LIB_CTX*
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 92
    functionName: load_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_CTX_set_passphrase
    - OSSL_DECODER_from_fp
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - fprintf
    - OSSL_DECODER_CTX_new_for_pkey
    - strlen
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_key(OSSL_LIB_CTX *libctx, FILE *f, const char
      *passphrase) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:185,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:198,1
    - Dst: store_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:191,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:192,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:187,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:199,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 201
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    - load_key
    - store_key
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:124,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:145,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:126,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:144,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:150,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:152,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:153,1
    - Dst: OSSL_ENCODER_to_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:159,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:160,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c:166,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - pkey
    - f
    - passphrase
    argTypes:
    - EVP_PKEY*
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 168
    functionName: store_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/encode/rsa_encode.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_to_fp
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_free
    - fprintf
    - OSSL_ENCODER_CTX_new_for_pkey
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int store_key(EVP_PKEY *pkey, FILE *f, const char *passphrase) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:45,1
    - Dst: OSSL_DECODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:63,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:66,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:49,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:65,1
    - Dst: OSSL_DECODER_from_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:72,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:73,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:79,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:87,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - libctx
    - f
    - passphrase
    argTypes:
    - OSSL_LIB_CTX*
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 92
    functionName: load_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_CTX_set_passphrase
    - OSSL_DECODER_from_fp
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - fprintf
    - OSSL_DECODER_CTX_new_for_pkey
    - strlen
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static 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/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:124,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:153,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:126,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:147,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:148,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:155,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:156,1
    - Dst: OSSL_ENCODER_to_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:162,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:163,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - pkey
    - f
    - passphrase
    argTypes:
    - EVP_PKEY*
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 171
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 171
    functionName: store_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_to_fp
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_free
    - fprintf
    - OSSL_ENCODER_CTX_new_for_pkey
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int store_key(EVP_PKEY *pkey, FILE *f, const char *passphrase) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:188,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:201,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:190,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:195,1
    - Dst: store_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:194,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c:202,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/encode/ec_encode.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    - load_key
    - store_key
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:84,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:100,1
    - Dst: BIO_f_md
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:77,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:93,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:91,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:105,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:115,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:65,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:112,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:116,1
    - Dst: BIO_new_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:49,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:49,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:51,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:67,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:73,1
    - Dst: BIO_set_md
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:83,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:101,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:77,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:107,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:117,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:54,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:56,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:70,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:71,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:79,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:114,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c:118,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/digest/BIO_f_md.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - BIO_free
    - OSSL_LIB_CTX_free
    - EVP_MD_free
    - BIO_read
    - BIO_new_fd
    - OPENSSL_free
    - ERR_print_errors_fp
    - EVP_MD_get_size
    - OSSL_LIB_CTX_new
    - BIO_f_md
    - BIO_push
    - fprintf
    - BIO_set_md
    - BIO_new
    - EVP_MD_fetch
    - OPENSSL_malloc
    - fileno
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char * argv[]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:70,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:99,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:104,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:128,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:68,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:57,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:83,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:92,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:119,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:110,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:127,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:77,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:91,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:105,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:109,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:126,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:118,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:55,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:75,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:82,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:97,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c:129,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 131
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_xof.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestFinalXOF
    - atoi
    - EVP_DigestInit
    - printf
    - fprintf
    - CRYPTO_memcmp
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:109,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:132,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:144,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:137,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:160,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:162,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:100,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:103,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:124,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:149,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:154,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:169,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:171,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:175,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:89,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:91,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:107,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:122,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:131,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:140,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:136,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:140,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:141,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:136,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:145,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:173,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:113,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:115,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:151,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:158,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:172,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:156,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 177
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 177
    functionName: demonstrate_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - memcmp
    - OSSL_LIB_CTX_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - ERR_print_errors_fp
    - EVP_MD_get_size
    - OSSL_LIB_CTX_new
    - EVP_DigestInit
    - fprintf
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int demonstrate_digest(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demonstrate_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_demo.c
    functionUses: []
    functionsReached:
    - demonstrate_digest
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:61,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:67,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:92,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:45,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:47,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:71,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:73,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:96,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:91,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:95,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:102,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:107,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:116,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:56,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:59,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:83,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:80,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:117,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:60,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:65,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:90,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:97,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:82,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:101,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:109,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:113,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:115,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:119,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 1
    argNames:
    - input
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 121
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 121
    functionName: demonstrate_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - OSSL_LIB_CTX_free
    - EVP_MD_CTX_new
    - BIO_read
    - EVP_MD_CTX_free
    - OPENSSL_free
    - ERR_print_errors_fp
    - EVP_MD_get_size
    - OSSL_LIB_CTX_new
    - EVP_DigestInit
    - fprintf
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int demonstrate_digest(BIO *input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:126,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:126,1
    - Dst: demonstrate_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:129,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/digest/EVP_MD_stdin.c
    functionUses: []
    functionsReached:
    - demonstrate_digest
    - BIO_new_fd
    - BIO_free
    - fileno
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:89,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:128,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:143,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:151,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:84,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:93,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:100,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:107,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:127,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:139,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:86,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:85,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:97,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:111,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:119,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:135,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:123,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:149,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:115,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:131,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:137,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:144,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:152,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 155
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 155
    functionName: aes_ccm_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_params
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - EVP_EncryptInit_ex2
    - ERR_print_errors_fp
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_EncryptUpdate
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptInit_ex
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aes_ccm_encrypt(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:169,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:177,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:173,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:170,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:171,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:181,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:184,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:191,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:195,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:199,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:214,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:222,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:223,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:207,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:212,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:211,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:203,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 226
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 226
    functionName: aes_ccm_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - ERR_print_errors_fp
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_DecryptInit_ex2
    - OSSL_PARAM_construct_octet_string
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aes_ccm_decrypt(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_ccm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:230,1
    - Dst: aes_ccm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesccm.c
    functionUses: []
    functionsReached:
    - aes_ccm_decrypt
    - aes_ccm_encrypt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:63,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:71,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:65,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:64,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:68,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:74,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:81,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:85,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:89,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:94,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:97,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:98,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:105,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:95,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:108,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:100,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:107,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 111
    functionName: aes_wrap_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - ERR_print_errors_fp
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_EncryptUpdate
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_set_flags
    - EVP_EncryptInit_ex2
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aes_wrap_encrypt(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:121,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:128,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:122,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:123,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:125,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:131,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:138,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:142,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:146,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:151,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:155,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:157,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:164,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:154,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:162,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:152,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 168
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 168
    functionName: aes_wrap_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - EVP_CIPHER_free
    - ERR_print_errors_fp
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_DecryptInit_ex2
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_set_flags
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aes_wrap_decrypt(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:172,1
    - Dst: aes_wrap_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aeskeywrap.c
    functionUses: []
    functionsReached:
    - aes_wrap_encrypt
    - aes_wrap_decrypt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:84,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:83,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:105,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:109,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:113,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:121,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:128,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:133,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:91,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:87,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:95,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:141,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:118,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:82,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:117,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:132,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:140,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:125,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:138,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 144
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_CTX_get_params
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - ERR_print_errors_fp
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_EncryptUpdate
    - EVP_EncryptInit_ex2
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aes_gcm_encrypt(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:220,1
    - Dst: aes_gcm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:158,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:166,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:160,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:162,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:159,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:170,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:177,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:181,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:185,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:189,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:190,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:193,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:212,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:213,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:196,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:210,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:200,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c:205,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 216
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 216
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/aesgcm.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_size_t
    - ERR_print_errors_fp
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_DecryptInit_ex2
    - EVP_DecryptFinal_ex
    - OSSL_PARAM_construct_octet_string
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aes_gcm_decrypt(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:64,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:73,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:69,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:66,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:65,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:80,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:84,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:88,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:93,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:94,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:96,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:97,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:106,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:104,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:107,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:99,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 110
    functionName: aria_cbc_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - ERR_print_errors_fp
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_EncryptUpdate
    - CRYPTO_memcmp
    - EVP_EncryptInit_ex2
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aria_cbc_encrypt(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aria_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:170,1
    - Dst: aria_cbc_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c
    functionUses: []
    functionsReached:
    - aria_cbc_encrypt
    - aria_cbc_decrypt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:121,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:122,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:129,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:125,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:123,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:136,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:140,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:144,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:149,1
    - Dst: BIO_dump_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:150,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:160,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:163,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:155,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:162,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:153,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c:152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 166
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 166
    functionName: aria_cbc_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/cipher/ariacbc.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - EVP_CIPHER_free
    - ERR_print_errors_fp
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_fetch
    - printf
    - EVP_DecryptInit_ex2
    - EVP_DecryptFinal_ex
    - BIO_dump_fp
    linkageType: ''
    returnType: int
    signature: 'int aria_cbc_decrypt(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:54,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:59,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:65,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:92,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:52,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:61,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:74,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:79,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:85,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:99,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:44,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:47,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:63,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:73,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:87,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:93,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:103,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:80,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_PKEY_free
    - EVP_DigestSignUpdate
    - OSSL_PARAM_construct_utf8_string
    - d2i_PrivateKey_ex
    - EVP_DigestSignFinal
    - fprintf
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int sign(OSSL_LIB_CTX *libctx, unsigned char **sig, size_t
      *sig_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:123,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:137,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:130,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:125,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:132,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:139,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:141,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:143,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:151,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:152,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:166,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:157,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:158,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:165,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 168
    functionName: verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestVerifyUpdate
    - EVP_PKEY_free
    - EVP_DigestVerifyFinal
    - OSSL_PARAM_construct_utf8_string
    - fprintf
    - d2i_PublicKey
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'static int verify(OSSL_LIB_CTX *libctx, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:177,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:186,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:185,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_hash.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    - verify
    - sign
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:60,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:63,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:62,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - libctx
    - propq
    - public
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: get_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c
    functionUses: []
    functionsReached:
    - fprintf
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    - OSSL_DECODER_CTX_free
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *get_key(OSSL_LIB_CTX *libctx, const char *propq,
      int public) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:91,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:117,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:126,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:124,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:130,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:136,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:137,1
    - Dst: get_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:80,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:98,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:107,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:107,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:111,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:111,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:144,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:82,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:116,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:129,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:145,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:89,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:100,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:108,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:112,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:121,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:135,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:143,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 51
    argCount: 4
    argNames:
    - libctx
    - sig_name
    - sig_out_len
    - sig_out_value
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - size_t*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 147
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 147
    functionName: demo_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c
    functionUses: []
    functionsReached:
    - get_key
    - EVP_DigestSignInit_ex
    - BIO_dump_indent_fp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_PKEY_free
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - fprintf
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int demo_sign(OSSL_LIB_CTX *libctx, const char *sig_name, size_t
      *sig_out_len, unsigned char **sig_out_value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:212,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:214,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:218,1
    - Dst: demo_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:221,1
    - Dst: demo_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:217,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:222,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:229,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:231,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 234
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - OPENSSL_free
    - ERR_print_errors_fp
    - OSSL_LIB_CTX_new
    - demo_verify
    - fprintf
    - demo_sign
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:161,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:169,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:173,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:163,1
    - Dst: get_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:167,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:175,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:182,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:182,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:183,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:186,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:190,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:191,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:194,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:186,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:199,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:187,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c:200,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 4
    argNames:
    - libctx
    - sig_name
    - sig_len
    - sig_value
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 202
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 202
    functionName: demo_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/EVP_Signature_demo.c
    functionUses: []
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - get_key
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - EVP_DigestVerifyFinal
    - fprintf
    - EVP_DigestVerifyUpdate
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int demo_verify(OSSL_LIB_CTX *libctx, const char *sig_name,
      size_t sig_len, unsigned char *sig_value) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:49,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:59,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:52,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:71,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:77,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:109,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:87,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:89,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:82,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:110,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:64,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:72,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:76,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:96,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:101,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:111,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:114,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:57,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:66,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:81,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:94,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:103,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 117
    functionName: sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_sign
    - OPENSSL_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_new_from_pkey
    - d2i_PrivateKey_ex
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - fprintf
    - EVP_MD_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    - EVP_PKEY_CTX_set_rsa_padding
    linkageType: ''
    returnType: int
    signature: 'static int sign(OSSL_LIB_CTX *libctx, unsigned char **sig, size_t
      *sig_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:133,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:140,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:142,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:147,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:135,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:149,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:154,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:155,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:159,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:160,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:164,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:165,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:180,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:172,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:179,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:170,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:181,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 183
    functionName: verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_verify_init
    - EVP_PKEY_verify
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - fprintf
    - d2i_PublicKey
    - EVP_MD_free
    - EVP_MD_fetch
    - EVP_PKEY_CTX_set_rsa_padding
    linkageType: ''
    returnType: int
    signature: 'static int verify(OSSL_LIB_CTX *libctx, const unsigned char *sig,
      size_t sig_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:192,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:200,1
    - Dst: verify
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:195,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/signature/rsa_pss_direct.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    - verify
    - sign
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:38,1
    - Dst: PKCS7_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:55,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:79,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:83,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:33,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:42,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:75,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:78,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:82,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:30,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:76,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:81,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:29,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:40,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:49,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:60,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:65,1
    - Dst: SMIME_write_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:68,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c:80,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 87
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - ERR_print_errors_fp
    - PKCS7_free
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - SMIME_write_PKCS7
    - PKCS7_sign
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:22,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:23,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:26,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:33,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:31,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:35,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:42,1
    - Dst: SMIME_read_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:48,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:53,1
    - Dst: PKCS7_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:58,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:70,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:73,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:66,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:71,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:68,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:72,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:65,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c:69,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smdec.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - ERR_print_errors_fp
    - PKCS7_free
    - EVP_PKEY_free
    - PKCS7_decrypt
    - PEM_read_bio_PrivateKey
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - SMIME_read_PKCS7
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:70,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:83,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:86,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:90,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:92,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:23,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:34,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:38,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:47,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:67,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:64,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:87,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:93,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:22,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:30,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:25,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:36,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:43,1
    - Dst: SMIME_write_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:76,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:88,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:32,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:45,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:84,1
    - Dst: PKCS7_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:57,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:52,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:89,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c:91,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 95
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smsign2.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - ERR_print_errors_fp
    - PKCS7_free
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - SMIME_write_PKCS7
    - PKCS7_sign
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - PKCS7_sign_add_signer
    - OpenSSL_add_all_algorithms
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:32,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:80,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:87,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:29,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:43,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:45,1
    - Dst: SMIME_write_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:72,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:86,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:28,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:56,1
    - Dst: PKCS7_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:62,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:83,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:85,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:18,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:37,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:62,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:79,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:67,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:82,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c:84,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 90
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smenc.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_free
    - PEM_read_bio_X509
    - sk_X509_pop_free
    - BIO_free
    - ERR_print_errors_fp
    - PKCS7_free
    - SMIME_write_PKCS7
    - sk_X509_push
    - fprintf
    - ERR_load_crypto_strings
    - sk_X509_new_null
    - PKCS7_encrypt
    - EVP_des_ede3_cbc
    - OpenSSL_add_all_algorithms
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:23,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:24,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:79,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:65,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:75,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:83,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:28,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:48,1
    - Dst: SMIME_read_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:54,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:69,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:80,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:84,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:43,1
    - Dst: PKCS7_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:64,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:81,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:33,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:38,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:60,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:76,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c:82,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 86
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/smime/smver.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - X509_STORE_new
    - X509_free
    - PEM_read_bio_X509
    - BIO_free
    - PKCS7_verify
    - ERR_print_errors_fp
    - PKCS7_free
    - fprintf
    - ERR_load_crypto_strings
    - X509_STORE_add_cert
    - OpenSSL_add_all_algorithms
    - X509_STORE_free
    - SMIME_read_PKCS7
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:23,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:34,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:38,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:45,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:46,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:51,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:56,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:47,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:86,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:97,1
    - Dst: BIO_new_ssl_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:81,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:103,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:58,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:48,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:70,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:94,1
    - Dst: BIO_do_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:95,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:108,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:111,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:112,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:114,1
    - Dst: NCONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:30,1
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:28,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:41,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:45,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:49,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:50,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:61,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:52,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:64,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:71,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:32,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:69,1
    - Dst: BIO_set_conn_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:92,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:96,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:105,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:113,1
    - Dst: BIO_get_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c:83,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 116
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-conf.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_get_ssl
    - NCONF_get_section
    - fprintf
    - NCONF_new
    - STACK_OF
    - SSL_CONF_CTX_free
    - BIO_write
    - BIO_do_connect
    - BIO_free_all
    - NCONF_free
    - BIO_set_conn_hostname
    - strcmp
    - BIO_new_ssl_connect
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_finish
    - BIO_new_fp
    - ERR_print_errors_fp
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - SSL_CONF_cmd
    - SSL_CONF_CTX_set_flags
    - SSL_CONF_CTX_new
    - BIO_read
    - SSL_CTX_new
    - NCONF_load
    - BIO_puts
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:60,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:64,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:61,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:83,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:119,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:135,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:111,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:37,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:59,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:82,1
    - Dst: BIO_new_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:88,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:120,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:124,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:129,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:107,1
    - Dst: NCONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:41,1
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:39,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:45,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:49,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:52,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:68,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:58,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:73,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:76,1
    - Dst: BIO_new_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:90,1
    - Dst: BIO_set_accept_bios
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:98,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:136,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:31,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:37,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:43,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:56,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:63,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:70,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:57,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:81,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:128,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c:118,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-conf.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_new_ssl
    - NCONF_get_section
    - fprintf
    - TLS_server_method
    - NCONF_new
    - STACK_OF
    - BIO_set_accept_bios
    - BIO_free_all
    - strcmp
    - BIO_do_accept
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_finish
    - BIO_should_retry
    - ERR_print_errors_fp
    - sk_CONF_VALUE_num
    - BIO_new_accept
    - sk_CONF_VALUE_value
    - BIO_pop
    - fwrite
    - printf
    - SSL_CONF_cmd
    - SSL_CONF_CTX_set_flags
    - fflush
    - SSL_CONF_CTX_new
    - BIO_read
    - SSL_CTX_new
    - NCONF_load
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: interrupt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void interrupt(int sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:43,1
    - Dst: sigaction
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: sigsetup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c
    functionUses: []
    functionsReached:
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: void
    signature: 'void sigsetup(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:61,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:64,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:62,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:66,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:61,1
    - Dst: BIO_new_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:70,1
    - Dst: BIO_new_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:72,1
    - Dst: BIO_set_accept_bios
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:80,1
    - Dst: sigsetup
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:83,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:92,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:111,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:96,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:105,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:103,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:117,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:118,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:110,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c:104,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/saccept.c
    functionUses: []
    functionsReached:
    - SSL_CTX_use_certificate_chain_file
    - BIO_set_accept_bios
    - BIO_free_all
    - fflush
    - BIO_free
    - BIO_new_ssl
    - BIO_read
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_new
    - BIO_new_accept
    - ERR_print_errors_fp
    - BIO_pop
    - SSL_CTX_check_private_key
    - BIO_do_accept
    - fwrite
    - printf
    - sigsetup
    - TLS_server_method
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:34,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:39,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:43,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:74,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:84,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:89,1
    - Dst: BIO_new_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:98,1
    - Dst: BIO_set_accept_bios
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:106,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:115,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:127,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:141,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:38,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:45,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:50,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:60,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:57,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:67,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:73,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:87,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:90,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:128,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:134,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:36,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:34,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:37,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:49,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:86,1
    - Dst: X509_NAME_print_ex_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:87,1
    - Dst: BIO_new_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:96,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:119,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:126,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:133,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:72,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:92,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c:140,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-arg.c
    functionUses: []
    functionsReached:
    - X509_NAME_print_ex_fp
    - BIO_free
    - BIO_new_ssl
    - fprintf
    - TLS_server_method
    - X509_get_subject_name
    - BIO_set_accept_bios
    - BIO_free_all
    - strcmp
    - SSL_CTX_set_current_cert
    - BIO_do_accept
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_finish
    - SSL_CTX_get0_certificate
    - ERR_print_errors_fp
    - BIO_new_accept
    - BIO_pop
    - fwrite
    - printf
    - SSL_CONF_CTX_set_flags
    - fflush
    - SSL_CONF_CTX_new
    - BIO_read
    - SSL_CTX_new
    - SSL_CONF_cmd_argv
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:28,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:32,1
    - Dst: BIO_get_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:75,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:63,1
    - Dst: BIO_new_ssl_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:73,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:25,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:61,1
    - Dst: BIO_set_conn_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:84,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:49,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:88,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:100,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:105,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:38,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:78,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:89,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:95,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:97,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:103,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:104,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:25,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:27,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:26,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:34,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:39,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:46,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:56,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:62,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:86,1
    - Dst: BIO_do_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c:87,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 107
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/client-arg.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_get_ssl
    - fprintf
    - SSL_CONF_CTX_free
    - BIO_write
    - BIO_do_connect
    - BIO_free_all
    - BIO_set_conn_hostname
    - strcmp
    - BIO_new_ssl_connect
    - SSL_CONF_CTX_set_ssl_ctx
    - BIO_new_fp
    - SSL_CONF_CTX_finish
    - ERR_print_errors_fp
    - SSL_CONF_CTX_set_flags
    - SSL_CONF_CTX_new
    - BIO_read
    - SSL_CTX_new
    - SSL_CONF_cmd_argv
    - BIO_puts
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:50,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:53,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:54,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:63,1
    - Dst: BIO_s_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:66,1
    - Dst: BIO_set_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:74,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:119,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:124,1
    - Dst: sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:47,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:57,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:62,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:62,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:75,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:78,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:82,1
    - Dst: sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:86,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:103,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:104,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:50,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:66,1
    - Dst: BIO_get_conn_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:70,1
    - Dst: SSL_set1_host
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:71,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:110,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:125,1
    - Dst: dbug_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:46,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:58,1
    - Dst: BIO_set_conn_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:67,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:84,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:85,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:99,1
    - Dst: sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:105,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:117,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:118,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c:121,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/sconnect.c
    functionUses: []
    functionsReached:
    - dbug_init
    - BIO_set_nbio
    - fprintf
    - BIO_new
    - SSL_new
    - BIO_write
    - perror
    - BIO_free_all
    - BIO_get_conn_hostname
    - ERR_peek_error
    - BIO_set_conn_hostname
    - SSL_set1_host
    - sock_init
    - BIO_should_retry
    - sleep
    - BIO_f_ssl
    - ERR_print_errors_fp
    - SSL_CTX_free
    - fwrite
    - SSL_set_connect_state
    - strlen
    - SSL_CTX_set_verify
    - BIO_read
    - SSL_CTX_new
    - BIO_s_connect
    - BIO_set_ssl
    - BIO_push
    - SSL_CTX_load_verify_locations
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:30,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:73,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:91,1
    - Dst: CONF_modules_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:32,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:38,1
    - Dst: BIO_new_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:45,1
    - Dst: BIO_set_accept_bios
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:53,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:62,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:75,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:79,1
    - Dst: fwrite
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:83,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:30,1
    - Dst: BIO_new_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:43,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:74,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:90,1
    - Dst: SSL_CTX_config
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:37,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:33,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:84,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c:66,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/bio/server-cmod.c
    functionUses: []
    functionsReached:
    - BIO_set_accept_bios
    - BIO_free_all
    - fflush
    - BIO_free
    - BIO_new_ssl
    - BIO_read
    - SSL_CTX_new
    - ERR_print_errors_fp
    - SSL_CTX_config
    - BIO_new_accept
    - BIO_should_retry
    - BIO_pop
    - BIO_do_accept
    - fwrite
    - printf
    - fprintf
    - CONF_modules_load_file
    - TLS_server_method
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:66,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:75,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:68,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:80,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:73,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:82,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:87,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:90,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:93,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:95,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:97,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:100,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:101,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:105,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:112,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:114,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:113,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c:106,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 116
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/pbkdf2.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_new
    - CRYPTO_memcmp
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_uint
    - OSSL_LIB_CTX_free
    - EVP_KDF_fetch
    - EVP_KDF_derive
    - OSSL_PARAM_construct_utf8_string
    - OSSL_LIB_CTX_new
    - EVP_KDF_free
    - fprintf
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:52,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:66,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:61,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:59,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:54,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:68,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:73,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:76,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:79,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:82,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:84,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:87,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:92,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:99,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:101,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:88,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:93,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c:100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 103
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/hkdf.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_new
    - CRYPTO_memcmp
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_free
    - EVP_KDF_fetch
    - EVP_KDF_derive
    - OSSL_PARAM_construct_utf8_string
    - OSSL_LIB_CTX_new
    - EVP_KDF_free
    - fprintf
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:75,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:109,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:99,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:104,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:115,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:68,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:77,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:89,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:116,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:70,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:82,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:92,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:95,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:117,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:103,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:84,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:97,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:100,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c:108,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 119
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/kdf/scrypt.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_new
    - CRYPTO_memcmp
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_uint
    - OSSL_LIB_CTX_free
    - EVP_KDF_fetch
    - EVP_KDF_derive
    - OSSL_LIB_CTX_new
    - EVP_KDF_free
    - fprintf
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:69,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:84,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:95,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:108,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:124,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:64,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:83,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:89,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:107,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:111,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:123,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:62,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:76,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:86,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:102,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:106,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:116,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:122,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:55,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:57,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:71,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:90,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:96,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:101,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:115,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c:126,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 128
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/mac/siphash.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - BIO_dump_indent_fp
    - CRYPTO_memcmp
    - OSSL_PARAM_construct_uint
    - OSSL_LIB_CTX_free
    - EVP_MAC_free
    - EVP_MAC_update
    - putchar
    - ERR_print_errors_fp
    - EVP_MAC_CTX_free
    - OSSL_LIB_CTX_new
    - EVP_MAC_init
    - printf
    - fprintf
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:83,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:103,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:109,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:124,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:131,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:76,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:78,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:85,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:92,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:99,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:115,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:138,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:149,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:90,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:102,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:125,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:129,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:139,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:150,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:97,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:108,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:114,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:120,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:118,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:130,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:134,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:146,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:148,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c:151,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 153
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/mac/cmac-aes256.c
    functionUses: []
    functionsReached:
    - fprintf
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - OPENSSL_malloc
    - EVP_MAC_update
    - OPENSSL_free
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_init
    - printf
    - CRYPTO_memcmp
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - putchar
    - EVP_MAC_CTX_free
    - EVP_MAC_free
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:96,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:98,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:112,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:119,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:143,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:132,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:186,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:194,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:200,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:204,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:110,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:117,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:164,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:168,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:174,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:185,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:193,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:203,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:105,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:126,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:144,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:154,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:131,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:173,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:180,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:184,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:202,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:103,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:124,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:167,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:152,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:179,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:189,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:201,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c:206,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/mac/poly1305.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_new
    - fprintf
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - EVP_EncryptInit_ex
    - EVP_CIPHER_free
    - EVP_MAC_update
    - OSSL_LIB_CTX_new
    - memcpy
    - EVP_CIPHER_CTX_free
    - ERR_print_errors_fp
    - EVP_MAC_init
    - printf
    - CRYPTO_memcmp
    - EVP_MAC_fetch
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - putchar
    - EVP_MAC_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_set_padding
    - EVP_EncryptUpdate
    - EVP_MAC_free
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:74,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:105,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:117,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:139,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:67,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:69,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:76,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:100,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:111,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:118,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:122,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:140,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:81,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:88,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:96,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:106,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:123,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:112,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:127,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:131,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:142,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:83,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:102,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:124,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:132,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c:138,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 144
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/mac/gmac.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - BIO_dump_indent_fp
    - CRYPTO_memcmp
    - OSSL_LIB_CTX_free
    - EVP_MAC_free
    - EVP_MAC_update
    - putchar
    - ERR_print_errors_fp
    - EVP_MAC_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - OSSL_LIB_CTX_new
    - EVP_MAC_init
    - printf
    - fprintf
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:87,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:89,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:96,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:110,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:126,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:149,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:160,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:94,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:114,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:120,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:142,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:163,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:162,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:103,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:108,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:129,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:125,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:131,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:119,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:141,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:145,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:157,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:159,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:101,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:113,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:135,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:136,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:140,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:150,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c:161,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 165
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/mac/hmac-sha512.c
    functionUses: []
    functionsReached:
    - fprintf
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - OPENSSL_malloc
    - EVP_MAC_update
    - OPENSSL_free
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_init
    - printf
    - CRYPTO_memcmp
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - EVP_MD_CTX_free
    - putchar
    - EVP_MAC_CTX_free
    - EVP_MAC_free
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:43,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:45,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:49,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:50,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:54,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:60,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:62,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:63,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:64,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:68,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:74,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:69,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:70,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 76
    functionName: do_ec_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_generate
    - fprintf
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *do_ec_keygen(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:93,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:103,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:107,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:96,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:100,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:108,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:112,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:114,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:118,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:119,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:122,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:127,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:121,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 129
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 129
    functionName: get_key_values
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c
    functionUses: []
    functionsReached:
    - BIO_dump_indent_fp
    - EVP_PKEY_get_utf8_string_param
    - BN_clear_free
    - BN_bn2bin
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int get_key_values(EVP_PKEY *pkey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_ec_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:136,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:152,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:150,1
    - Dst: get_key_values
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_EC_keygen.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - ERR_print_errors_fp
    - do_ec_keygen
    - get_key_values
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:29,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:31,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:37,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:36,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:35,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:41,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: dsa_genparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_paramgen_init
    - fprintf
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - 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/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:55,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:62,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:68,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:60,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:67,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:69,1
    - Dst: dsa_print_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:73,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:78,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:79,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:80,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c
    functionUses: []
    functionsReached:
    - dsa_print_key
    - dsa_genparams
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - fprintf
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:67,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:68,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:77,1
    - Dst: OSSL_PARAM_merge
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:71,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:73,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:79,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:82,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:83,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:85,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:88,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:90,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:97,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:98,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:95,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:96,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 4
    argNames:
    - dsaparams
    - newparams
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 100
    functionName: create_merged_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_todata
    - OSSL_PARAM_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_merge
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - fprintf
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'EVP_PKEY_CTX *create_merged_key(EVP_PKEY *dsaparams, const OSSL_PARAM
      *newparams, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:129,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:122,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:147,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:179,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:162,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:169,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:185,1
    - Dst: dsa_print_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:190,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:197,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:199,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:116,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:158,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:181,1
    - Dst: create_merged_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:182,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:196,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:124,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:146,1
    - Dst: create_merged_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:165,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:170,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:161,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:155,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:186,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:190,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:195,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:122,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:131,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:135,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:137,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:160,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:198,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 201
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c
    functionUses: []
    functionsReached:
    - PEM_read_bio_Parameters_ex
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - dsa_print_key
    - BIO_free
    - OPENSSL_hexstr2buf_ex
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_construct_utf8_string
    - create_merged_key
    - EVP_PKEY_CTX_free
    - fprintf
    - OSSL_PARAM_construct_end
    - BIO_new_mem_buf
    - EVP_PKEY_param_check
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:41,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:49,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:43,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:48,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:57,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:58,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_primes
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:70,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:71,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:85,1
    - Dst: EVP_PKEY_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:86,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:94,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:87,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - libctx
    - bits
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 96
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 96
    functionName: generate_rsa_key_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_generate
    - fprintf
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *generate_rsa_key_long(OSSL_LIB_CTX *libctx, unsigned
      int bits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:111,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:115,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - bits
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: generate_rsa_key_short
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: []
    functionsReached:
    - fprintf
    - EVP_PKEY_Q_keygen
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static 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/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:154,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:177,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:190,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:197,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:200,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:201,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:207,1
    - Dst: PEM_write_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:224,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:232,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:234,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:137,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:146,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:163,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:193,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:185,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:196,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:203,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:210,1
    - Dst: PEM_write_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:214,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:155,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:176,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:192,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:191,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:206,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:209,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:211,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:225,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:233,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:235,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:136,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:145,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:164,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:184,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:194,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:198,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:202,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:205,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:215,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:231,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 237
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 237
    functionName: dump_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: []
    functionsReached:
    - PEM_write_PUBKEY
    - BN_clear_free
    - EVP_PKEY_get_bn_param
    - BN_free
    - EVP_PKEY_get_int_param
    - BN_print_fp
    - PEM_write_PrivateKey
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int dump_key(const EVP_PKEY *pkey) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:248,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:255,1
    - Dst: generate_rsa_key_short
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:270,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:257,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:266,1
    - Dst: generate_rsa_key_long
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:272,1
    - Dst: dump_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:278,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:279,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:285,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:286,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 288
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 288
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - strcmp
    - EVP_PKEY_free
    - generate_rsa_key_short
    - dump_key
    - atoi
    - fprintf
    - generate_rsa_key_long
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:31,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:44,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:55,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:65,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:54,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:71,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:32,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:40,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:48,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:50,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:68,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:70,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:37,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:41,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:42,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:67,1
    - Dst: dsa_print_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:60,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:69,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:30,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:56,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:66,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 74
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - dsa_print_key
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - fprintf
    - BN_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:29,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:42,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:40,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:41,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:38,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:43,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:45,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:47,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:50,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:51,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:52,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:53,1
    - Dst: dsa_print_key
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:57,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:63,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:62,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 65
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - dsa_print_key
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_free
    - fprintf
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_end
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:73,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:85,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:77,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:90,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:80,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:96,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - libctx
    - kat_privk_data
    - local_peer
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - PEER_DATA*
    constantsTouched: []
    func_position:
      end: 109
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 109
    functionName: keyexch_x25519_before
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_new_raw_private_key_ex
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int keyexch_x25519_before( OSSL_LIB_CTX *libctx, const unsigned
      char *kat_privk_data, PEER_DATA *local_peer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:267,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:272,1
    - Dst: keyexch_x25519
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:268,1
    - Dst: keyexch_x25519
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c
    functionUses: []
    functionsReached:
    - keyexch_x25519
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: keyexch_x25519_before
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:213,1
    - Dst: keyexch_x25519_after
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:229,1
    - Dst: keyexch_x25519_before
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:217,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:240,1
    - Dst: keyexch_x25519_after
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:226,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:241,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:246,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:248,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:255,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:256,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:258,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:259,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - use_kat
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: keyexch_x25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    - keyexch_x25519_before
    - OPENSSL_clear_free
    - fprintf
    - CRYPTO_memcmp
    - keyexch_x25519_after
    linkageType: ''
    returnType: int
    signature: 'static int keyexch_x25519(int use_kat) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:158,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:182,1
    - Dst: BIO_dump_indent_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:187,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:130,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:138,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:146,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:151,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:188,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:192,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:186,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:195,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:140,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:133,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:157,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:168,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:175,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:180,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:173,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:193,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:145,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c:152,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 4
    argNames:
    - libctx
    - use_kat
    - local_peer
    - remote_peer_pubk_data
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - PEER_DATA*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 200
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 200
    functionName: keyexch_x25519_after
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/demos/keyexch/x25519.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - BIO_dump_indent_fp
    - putchar
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_derive
    - EVP_PKEY_new_raw_public_key_ex
    - printf
    - fprintf
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int keyexch_x25519_after( OSSL_LIB_CTX *libctx, int use_kat,
      PEER_DATA *local_peer, const unsigned char *remote_peer_pubk_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:71,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:79,1
    - Dst: EC_get_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:74,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:73,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:86,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:87,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - out
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: list_builtin_curves
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_nid2sn
    - app_malloc
    - OPENSSL_free
    - EC_get_builtin_curves
    linkageType: ''
    returnType: int
    signature: 'static int list_builtin_curves(BIO *out) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:119,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:197,1
    - Dst: list_builtin_curves
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:202,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:239,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:318,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:303,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:330,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:240,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:321,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:212,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:287,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:232,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:293,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:343,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:349,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:272,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:329,1
    - Dst: EVP_PKEY_set_octet_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:265,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:232,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:322,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:278,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:319,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:340,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:339,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:346,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:288,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:289,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:320,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:211,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:267,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:137,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:231,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:281,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:342,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:348,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:284,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:133,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:182,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:158,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:166,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:345,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:304,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:161,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:192,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:215,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:216,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:318,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:287,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:113,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:236,1
    - Dst: load_keyparams
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:245,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:122,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:133,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:223,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:325,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:344,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:130,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:220,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:246,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:249,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:252,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:235,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:126,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:178,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:226,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:229,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:235,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:241,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:290,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:326,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:126,1
    - Dst: opt_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:167,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:273,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:238,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:300,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:233,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:174,1
    - Dst: opt_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:162,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:257,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:341,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:114,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:188,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:259,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c:347,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 193
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 351
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 351
    functionName: ecparam_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ecparam.c
    functionUses: []
    functionsReached:
    - opt_rand
    - opt_format
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - OSSL_ENCODER_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - load_keyparams
    - EVP_PKEY_CTX_new_from_name
    - OSSL_ENCODER_CTX_new_for_pkey
    - opt_provider
    - EVP_PKEY_param_check
    - BIO_printf
    - BIO_free_all
    - bio_open_owner
    - ERR_print_errors
    - EVP_PKEY_CTX_set_params
    - strcmp
    - EVP_PKEY_set_octet_string_param
    - setup_engine
    - opt_num_rest
    - OSSL_ENCODER_to_bio
    - app_RAND_load
    - EVP_PKEY_print_params
    - opt_help
    - app_get0_libctx
    - EVP_PKEY_set_utf8_string_param
    - OPENSSL_strcasecmp
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - list_builtin_curves
    - release_engine
    - assert
    - app_get0_propq
    - EVP_PKEY_keygen
    - opt_arg
    - opt_init
    - OSSL_DECODER_CTX_free
    - opt_string
    - opt_next
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'int ecparam_main(int argc, char **argv) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:82,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:103,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:104,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:117,1
    - Dst: X509_PURPOSE_get0_sname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:109,1
    - Dst: X509_VERIFY_PARAM_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:114,1
    - Dst: X509_VERIFY_PARAM_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:118,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:128,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:147,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:161,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:239,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:211,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:177,1
    - Dst: X509_PURPOSE_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:105,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:106,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:147,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:156,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:202,1
    - Dst: check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:228,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:234,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:237,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:235,1
    - Dst: store_setup_crl_download
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:219,1
    - Dst: setup_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:208,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:91,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:100,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:108,1
    - Dst: X509_VERIFY_PARAM_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:115,1
    - Dst: X509_PURPOSE_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:110,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:134,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:156,1
    - Dst: load_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:161,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:177,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:183,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:190,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:198,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:240,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:216,1
    - Dst: check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:223,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:238,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:95,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:83,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:94,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:123,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:113,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:131,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:168,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:168,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:183,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:197,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:236,1
    - Dst: X509_STORE_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:214,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 242
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 242
    functionName: verify_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c
    functionUses: []
    functionsReached:
    - X509_VERIFY_PARAM_get0_name
    - X509_PURPOSE_get0
    - X509_PURPOSE_get0_sname
    - opt_rest
    - X509_STORE_set_verify_cb
    - sk_OPENSSL_STRING_free
    - check
    - setup_verify
    - opt_provider
    - STACK_OF
    - BIO_printf
    - sk_X509_CRL_pop_free
    - sk_X509_pop_free
    - opt_next
    - X509_VERIFY_PARAM_free
    - setup_engine
    - set_nameopt
    - store_setup_crl_download
    - opt_num_rest
    - X509_STORE_set1_param
    - sk_OPENSSL_STRING_new_null
    - ERR_clear_error
    - opt_verify
    - sk_OPENSSL_STRING_push
    - opt_help
    - X509_VERIFY_PARAM_get_count
    - X509_PURPOSE_get0_name
    - X509_STORE_free
    - release_engine
    - X509_VERIFY_PARAM_new
    - opt_arg
    - opt_init
    - load_crls
    - X509_PURPOSE_get_count
    - load_certs
    - X509_VERIFY_PARAM_get0
    linkageType: ''
    returnType: int
    signature: 'int verify_main(int argc, char **argv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: x509_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:262,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:263,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:265,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:273,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:292,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:279,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:302,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:317,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:313,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:255,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:264,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:280,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:287,1
    - Dst: X509_STORE_CTX_get_num_untrusted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:298,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:299,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:301,1
    - Dst: X509_NAME_print_ex_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:303,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:305,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:322,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:261,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:291,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:304,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:307,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:310,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:321,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:252,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:260,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:271,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:281,1
    - Dst: X509_STORE_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:278,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:290,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:289,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:297,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:300,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:308,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 7
    argNames:
    - ctx
    - file
    - uchain
    - tchain
    - crls
    - show_chain
    - opts
    argTypes:
    - X509_STORE*
    - char*
    - STACK_OF(X509)*
    - STACK_OF(X509)*
    - STACK_OF(X509_CRL)*
    - int
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 325
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 325
    functionName: check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c
    functionUses: []
    functionsReached:
    - X509_NAME_print_ex_fp
    - sk_OPENSSL_STRING_value
    - X509_STORE_CTX_get1_chain
    - sk_X509_value
    - X509_STORE_CTX_get_error
    - STACK_OF
    - BIO_printf
    - load_cert
    - X509_free
    - X509_STORE_CTX_set0_crls
    - X509_get_subject_name
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - sk_X509_pop_free
    - sk_X509_num
    - X509_verify_cert
    - X509_STORE_CTX_free
    - x509_ctrl_string
    - X509_STORE_CTX_new
    - get_nameopt
    - X509_STORE_set_flags
    - X509_STORE_CTX_get_num_untrusted
    - X509_STORE_CTX_init
    - X509_STORE_CTX_set0_trusted_stack
    linkageType: ''
    returnType: int
    signature: 'static int check(X509_STORE *ctx, const char *file, STACK_OF(X509)
      *uchain, STACK_OF(X509) *tchain, STACK_OF(X509_CRL) *crls, int show_chain, STACK_OF(OPENSSL_STRING)
      *opts) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:329,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:336,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:330,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:335,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:334,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:337,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:339,1
    - Dst: X509_STORE_CTX_get0_parent_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:340,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:342,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:343,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:390,1
    - Dst: policies_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:388,1
    - Dst: policies_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c:353,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 24
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 392
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 392
    functionName: cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/verify.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - ERR_clear_error
    - X509_STORE_CTX_get_error_depth
    - get_nameopt
    - X509_STORE_CTX_get0_parent_ctx
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get_current_cert
    - policies_print
    - X509_STORE_CTX_get_error
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int cb(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:80,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:83,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:83,1
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:113,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:118,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:136,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:136,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:138,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:151,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:159,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:164,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:165,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:166,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:77,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:103,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:153,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:161,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:163,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:167,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:152,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:70,1
    - Dst: load_keyparams
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:123,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:119,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:104,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:129,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:136,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:141,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:143,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:144,1
    - Dst: app_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:147,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:64,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:65,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:74,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:86,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:90,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:109,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:125,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:94,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:131,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:134,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c:162,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 169
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 169
    functionName: gendsa_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/gendsa.c
    functionUses: []
    functionsReached:
    - opt_rand
    - BIO_free
    - opt_rest
    - EVP_PKEY_free
    - app_keygen
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - load_keyparams
    - opt_provider
    - opt_cipher
    - BIO_printf
    - BIO_free_all
    - bio_open_owner
    - PEM_write_bio_PrivateKey
    - ERR_print_errors
    - EVP_CIPHER_free
    - OPENSSL_free
    - setup_engine
    - opt_unknown
    - opt_num_rest
    - app_RAND_load
    - opt_help
    - app_get0_libctx
    - release_engine
    - assert
    - app_get0_propq
    - opt_arg
    - opt_init
    - app_passwd
    - EVP_PKEY_get_bits
    - opt_next
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'int gendsa_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_tminterval
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: tm_Time_F
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c
    functionUses: []
    functionsReached:
    - app_tminterval
    linkageType: ''
    returnType: double
    signature: 'static double tm_Time_F(int s) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:192,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:204,1
    - Dst: ctx_set_verify_locations
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:261,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:406,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:306,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:156,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:229,1
    - Dst: SSL_set_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:290,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:380,1
    - Dst: fputc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:305,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:346,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:134,1
    - Dst: set_cert_stuff
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:258,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:297,1
    - Dst: SSL_set_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:372,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:317,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:399,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:287,1
    - Dst: tm_Time_F
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:311,1
    - Dst: SSL_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:291,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:358,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:140,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:168,1
    - Dst: SSL_CTX_set_quiet_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:246,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:157,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:171,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:241,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:247,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:351,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:369,1
    - Dst: tm_Time_F
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:355,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:161,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:174,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:254,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:256,1
    - Dst: SSL_set_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:344,1
    - Dst: doConnection
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:332,1
    - Dst: tm_Time_F
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:391,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:407,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:377,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:183,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:314,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:339,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:402,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:263,1
    - Dst: SSL_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:373,1
    - Dst: doConnection
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:361,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:249,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:273,1
    - Dst: fputc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:388,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:389,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:308,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:291,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:319,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:143,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:164,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:198,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:338,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:294,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:393,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:135,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:268,1
    - Dst: SSL_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:345,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:353,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:132,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:147,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:253,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:201,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:276,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:285,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:333,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:397,1
    - Dst: tm_Time_F
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:274,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:367,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:313,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:341,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:365,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:329,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:202,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:236,1
    - Dst: doConnection
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:279,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:401,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:374,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:164,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:189,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:243,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:283,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 240
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 409
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 409
    functionName: s_time_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    - tm_Time_F
    - opt_provider
    - BIO_printf
    - SSL_write
    - ctx_set_verify_locations
    - SSL_version
    - ERR_print_errors
    - fputc
    - BIO_closesocket
    - set_nameopt
    - SSL_CTX_set_options
    - SSL_CTX_set_quiet_shutdown
    - opt_num_rest
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_cipher_list
    - doConnection
    - time
    - opt_help
    - SSL_session_reused
    - SSL_CTX_free
    - SSL_set_shutdown
    - set_cert_stuff
    - printf
    - strlen
    - SSL_free
    - fflush
    - SSL_CTX_set_max_proto_version
    - SSL_read
    - opt_arg
    - SSL_CTX_new
    - SSL_CTX_set_ciphersuites
    - opt_init
    - SSL_get_fd
    - opt_int_arg
    - getenv
    - opt_next
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: 'int s_time_main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:420,1
    - Dst: BIO_set_conn_hostname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:423,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:425,1
    - Dst: BIO_set_conn_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:424,1
    - Dst: BIO_s_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:420,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:430,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:432,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:437,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:440,1
    - Dst: SSL_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:443,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:445,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:447,1
    - Dst: SSL_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:463,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:452,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:465,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:450,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c:448,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - scon
    - host
    - ctx
    argTypes:
    - SSL*
    - char*
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 471
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 471
    functionName: doConnection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_time.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_set_bio
    - SSL_set_connect_state
    - SSL_free
    - BIO_free
    - BIO_set_conn_hostname
    - SSL_connect
    - ERR_print_errors
    - BIO_s_connect
    - X509_verify_cert_error_string
    - SSL_get_fd
    - SSL_new
    - BIO_new
    - BIO_set_conn_mode
    - setsockopt
    linkageType: ''
    returnType: SSL*
    signature: 'static SSL *doConnection(SSL *scon, const char *host, SSL_CTX *ctx) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:179,1
    - Dst: PEM_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:182,1
    - Dst: ASN1_tag2str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:255,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:312,1
    - Dst: ASN1_item_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:293,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:98,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:120,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:277,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:82,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:81,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:94,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:135,1
    - Dst: ASN1_ITEM_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:142,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:245,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:304,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:309,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:234,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:132,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:152,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:91,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:142,1
    - Dst: ASN1_ITEM_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:149,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:196,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:255,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:297,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:146,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:204,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:126,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:117,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:306,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:311,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:287,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:237,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:183,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:214,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:289,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:268,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:248,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:279,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:147,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:308,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:120,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:114,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:216,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:146,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:79,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:236,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:234,1
    - Dst: do_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:194,1
    - Dst: ASN1_TYPE_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:251,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:170,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:176,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:190,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:98,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:129,1
    - Dst: OBJ_create_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:169,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:290,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:244,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:294,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:206,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:86,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:126,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:129,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:117,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:161,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:256,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:247,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:278,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:305,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:310,1
    - Dst: BIO_f_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:204,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:228,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:231,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:65,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:102,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:166,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:184,1
    - Dst: ASN1_parse_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:296,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:313,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 212
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 315
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 315
    functionName: asn1parse_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c
    functionUses: []
    functionsReached:
    - ASN1_ITEM_get
    - ASN1_parse_dump
    - BIO_free
    - sk_OPENSSL_STRING_value
    - opt_format
    - sk_OPENSSL_STRING_free
    - ASN1_item_free
    - do_generate
    - BUF_MEM_free
    - ASN1_ITEM_lookup
    - BIO_new
    - STACK_OF
    - BIO_printf
    - strtol
    - ASN1_tag2str
    - BIO_write
    - OBJ_create_objects
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - BUF_MEM_grow
    - ASN1_TYPE_free
    - OPENSSL_free
    - BIO_f_base64
    - PEM_read_bio
    - ASN1_item_d2i
    - BUF_MEM_new
    - opt_num_rest
    - sk_OPENSSL_STRING_new_null
    - ASN1_TYPE_get
    - sk_OPENSSL_STRING_push
    - opt_help
    - bio_open_default
    - ASN1_item_print
    - BIO_read
    - opt_arg
    - opt_init
    - d2i_ASN1_TYPE
    - BIO_push
    - opt_next
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int asn1parse_main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:325,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:330,1
    - Dst: ASN1_generate_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:335,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:336,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:328,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:342,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:347,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:352,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:354,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:358,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c:359,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 3
    argNames:
    - genstr
    - genconf
    - buf
    argTypes:
    - char*
    - char*
    - BUF_MEM*
    constantsTouched: []
    func_position:
      end: 361
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 361
    functionName: do_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/asn1parse.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - NCONF_free
    - NCONF_get_string
    - app_load_config
    - i2d_ASN1_TYPE
    - BUF_MEM_grow
    - ASN1_TYPE_free
    - ASN1_generate_nconf
    linkageType: ''
    returnType: int
    signature: 'static int do_generate(char *genstr, const char *genconf, BUF_MEM
      *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_STRING*
    - OPENSSL_STRING*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: ext_name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int ext_name_cmp(const OPENSSL_STRING *a, const OPENSSL_STRING
      *b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:201,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:204,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:207,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:201,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:212,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:212,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:215,1
    - Dst: lh_OPENSSL_STRING_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:221,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:223,1
    - Dst: lh_OPENSSL_STRING_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:225,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:226,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - addexts
    - kv
    argTypes:
    - LHASH_OF(OPENSSL_STRING)*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 231
    functionName: duplicated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - lh_OPENSSL_STRING_insert
    - strchr
    - OPENSSL_free
    - isspace
    - _UC
    - lh_OPENSSL_STRING_error
    linkageType: ''
    returnType: int
    signature: 'static int duplicated(LHASH_OF(OPENSSL_STRING) *addexts, char *kv) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1075,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1083,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1078,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1077,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1081,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1085,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1087,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1092,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1094,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1096,1
    - Dst: auto_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1110,1
    - Dst: prompt_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1112,1
    - Dst: X509_REQ_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1104,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1108,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1117,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1098,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 6
    argNames:
    - req
    - pkey
    - fsubj
    - multirdn
    - attribs
    - chtype
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - X509_NAME*
    - int
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1123
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1123
    functionName: make_REQ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_clear_error
    - NCONF_get_string
    - X509_REQ_set_pubkey
    - auto_info
    - strcmp
    - X509_REQ_set_subject_name
    - prompt_info
    - NCONF_get_section
    - X509_REQ_set_version
    linkageType: ''
    returnType: int
    signature: 'static int make_REQ(X509_REQ *req, EVP_PKEY *pkey, X509_NAME *fsubj,
      int multirdn, int attribs, unsigned long chtype) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1302,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1304,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1337,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1306,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1344,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1345,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1349,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1350,1
    - Dst: X509_REQ_add1_attr_by_txt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1351,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 5
    argNames:
    - req
    - dn_sk
    - attr_sk
    - attribs
    - chtype
    argTypes:
    - X509_REQ*
    - STACK_OF(CONF_VALUE)*
    - STACK_OF(CONF_VALUE)*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1357
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1357
    functionName: auto_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_add_entry_by_txt
    - X509_REQ_get_subject_name
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - X509_NAME_entry_count
    - X509_REQ_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: 'static int auto_info(X509_REQ *req, STACK_OF(CONF_VALUE) *dn_sk, STACK_OF(CONF_VALUE)
      *attr_sk, int attribs, unsigned long chtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1386,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1392,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 8
    argNames:
    - req
    - text
    - def
    - value
    - nid
    - n_min
    - n_max
    - chtype
    argTypes:
    - X509_REQ*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1399
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1399
    functionName: add_attribute_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_REQ_add1_attr_by_NID
    - build_data
    linkageType: ''
    returnType: int
    signature: 'static int add_attribute_object(X509_REQ *req, char *text, const char
      *def, char *value, int nid, int n_min, int n_max, unsigned long chtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1456,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - len
    - n_min
    - n_max
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1466
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1466
    functionName: req_check_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'static int req_check_len(int len, int n_min, int n_max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1489,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1492,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1489,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1495,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - buf
    - buf_size
    - name
    - tail
    - desc
    argTypes:
    - char
    - size_t
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1498
    functionName: join
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int join(char buf[], size_t buf_size, const char *name, const
      char *tail, const char *desc) '
  - BBCount: 208
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:277,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:346,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:353,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:365,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:424,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:517,1
    - Dst: set_cert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:398,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:359,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:551,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:571,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1056,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:737,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:969,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1036,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:716,1
    - Dst: load_csr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:749,1
    - Dst: copy_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:834,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:981,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1043,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:873,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1050,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1053,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:848,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:271,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:496,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:457,1
    - Dst: set_ext_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:441,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:521,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:549,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:570,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:605,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:610,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:803,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:833,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1019,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:774,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1038,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:479,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:488,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:296,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:316,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:451,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:788,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:794,1
    - Dst: rand_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:816,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:718,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:890,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1042,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1048,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:618,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1003,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1061,1
    - Dst: do_X509_REQ_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:902,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:973,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:435,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:427,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:313,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:319,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:558,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:619,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:629,1
    - Dst: app_RAND_load_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:635,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:727,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:762,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:800,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:858,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1039,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:332,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:427,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:451,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:473,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:408,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:543,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:587,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:604,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:650,1
    - Dst: app_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:686,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1029,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:983,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:997,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:284,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:329,1
    - Dst: app_load_config_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:506,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:559,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:602,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:620,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:637,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:664,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:676,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:677,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:782,1
    - Dst: X509_REQ_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:788,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:808,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:696,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:938,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:962,1
    - Dst: PEM_write_bio_X509_REQ_NEW
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1015,1
    - Dst: lh_OPENSSL_STRING_doall
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1047,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1058,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:982,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:296,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:319,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:326,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:448,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:658,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:703,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:729,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:735,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:771,1
    - Dst: X509_set_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:813,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:992,1
    - Dst: X509_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:871,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:967,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:412,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:495,1
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:241,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:323,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:394,1
    - Dst: add_oid_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:529,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:541,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:580,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:649,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:684,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1059,1
    - Dst: X509_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:820,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:612,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:863,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:975,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:850,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:990,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:950,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:959,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:998,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:666,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:920,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:284,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:292,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:442,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:490,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:589,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:592,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:647,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:675,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:711,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:915,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1041,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:899,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:657,1
    - Dst: i2d_X509_REQ_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1013,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1004,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:272,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:394,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:398,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:534,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:573,1
    - Dst: app_RAND_load_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:632,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:638,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:775,1
    - Dst: make_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:793,1
    - Dst: set_cert_times
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:825,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:911,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:914,1
    - Dst: PEM_write_bio_X509_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1017,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:809,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1040,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:835,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:865,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:594,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1045,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:467,1
    - Dst: lh_OPENSSL_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:450,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:441,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:280,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:338,1
    - Dst: app_load_config_verbose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:500,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:525,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:683,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:690,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:701,1
    - Dst: X509V3_set_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:840,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1063,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:948,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:415,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:483,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:464,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:504,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:268,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:288,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:335,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:582,1
    - Dst: set_keygen_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:642,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:745,1
    - Dst: X509_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:827,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:846,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:847,1
    - Dst: do_X509_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:878,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:920,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1001,1
    - Dst: i2d_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1025,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:928,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:892,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:292,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:298,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:304,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:358,1
    - Dst: duplicated
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:455,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:364,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:443,1
    - Dst: OBJ_create_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:524,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:538,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:557,1
    - Dst: ASN1_STRING_set_default_mask_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:596,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:956,1
    - Dst: X509_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:829,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1027,1
    - Dst: X509V3_set_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:885,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:967,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:808,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:415,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:417,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:460,1
    - Dst: app_load_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:509,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:515,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:656,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:694,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:727,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:804,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:806,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1006,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:714,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:886,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:994,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1046,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:911,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:513,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:288,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:342,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:560,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:597,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:621,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:674,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:725,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:788,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:844,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:940,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1008,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:856,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:897,1
    - Dst: do_X509_REQ_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:933,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1055,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1057,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:351,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:353,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:359,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:365,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:535,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:572,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:648,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:705,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:707,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:759,1
    - Dst: X509_REQ_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:969,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1044,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:713,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1052,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:998,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:910,1
    - Dst: X509_get_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:816,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1054,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:852,1
    CyclomaticComplexity: 376
    EdgeCount: 376
    ICount: 678
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1065
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 1065
    functionName: req_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - print_name
    - sk_OPENSSL_STRING_value
    - X509_get0_pubkey
    - sk_OPENSSL_STRING_free
    - ERR_set_mark
    - EVP_PKEY_CTX_free
    - BIO_new
    - PEM_write_bio_X509
    - NCONF_free
    - lh_OPENSSL_STRING_free
    - ERR_print_errors
    - pkey_ctrl_string
    - rand_serial
    - X509_REQ_set_subject_name
    - set_nameopt
    - app_load_config_verbose
    - PEM_write_bio_X509_REQ
    - app_RAND_load
    - get_nameopt
    - X509_REQ_free
    - app_get0_libctx
    - X509_REQ_print_ex
    - EVP_PKEY_get_bn_param
    - app_load_modules
    - add_oid_section
    - PEM_write_bio_PUBKEY
    - release_engine
    - X509_new_ex
    - app_get0_propq
    - X509_set_pubkey
    - opt_arg
    - opt_init
    - X509V3_set_ctx_test
    - s2i_ASN1_INTEGER
    - do_X509_sign
    - app_keygen
    - set_ext_copy
    - BIO_s_mem
    - X509_add1_ext_i2d
    - opt_provider
    - NCONF_get_string
    - ERR_peek_error
    - X509V3_set_issuer_pkey
    - sk_OPENSSL_STRING_num
    - X509_get_serialNumber
    - OPENSSL_free
    - X509_set_issuer_name
    - EVP_MD_free
    - X509V3_set_ctx
    - X509_set_serialNumber
    - ERR_clear_error
    - PEM_write_bio_X509_REQ_NEW
    - set_cert_ex
    - sk_OPENSSL_STRING_push
    - ASN1_STRING_set_default_mask_asc
    - bio_open_default
    - EVP_des_ede3_cbc
    - load_csr
    - EVP_PKEY_CTX_set_cb
    - ERR_pop_to_mark
    - do_X509_REQ_sign
    - X509_check_private_key
    - NCONF_get_number
    - make_REQ
    - BN_free
    - app_passwd
    - BIO_puts
    - ASN1_INTEGER_free
    - opt_rand
    - ERR_GET_REASON
    - opt_md
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - X509_print_ex
    - BIO_printf
    - BN_print
    - bio_open_owner
    - OBJ_create_objects
    - PEM_write_bio_PrivateKey
    - load_cert_pass
    - atoi
    - parse_name
    - sk_OPENSSL_STRING_new_null
    - BIO_new_file
    - X509_REQ_get_subject_name
    - lh_OPENSSL_STRING_doall
    - EVP_PKEY_CTX_is_a
    - X509V3_set_nconf
    - duplicated
    - i2d_X509_REQ_bio
    - LHASH_OF
    - X509V3_EXT_REQ_add_nconf
    - X509_REQ_get0_pubkey
    - copy_extensions
    - BIO_free
    - opt_format
    - load_key
    - i2d_X509_bio
    - X509_get_subject_name
    - X509_free
    - BIO_free_all
    - X509_set_subject_name
    - strcmp
    - setup_engine
    - opt_unknown
    - app_RAND_load_conf
    - opt_num_rest
    - set_cert_times
    - X509_REQ_new_ex
    - opt_help
    - EVP_PKEY_CTX_set_app_data
    - lh_OPENSSL_STRING_new
    - do_X509_REQ_verify
    - X509_NAME_free
    - app_load_config_bio
    - opt_next
    - set_keygen_ctx
    - X509V3_EXT_add_nconf
    linkageType: ''
    returnType: int
    signature: 'int req_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OPENSSL_STRING*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: exts_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void exts_cleanup(OPENSSL_STRING *x) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1143,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1150,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1191,1
    - Dst: check_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1167,1
    - Dst: check_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1166,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1199,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1203,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1205,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1229,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1239,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1284,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1242,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1251,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1272,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1148,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1155,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1189,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1192,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1210,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1212,1
    - Dst: add_DN_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1217,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1221,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1231,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1247,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1259,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1255,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1141,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1146,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1187,1
    - Dst: check_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1167,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1196,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1206,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1244,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1257,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1263,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1265,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1270,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1249,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1138,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1152,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1160,1
    - Dst: check_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1166,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1163,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1198,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1213,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1222,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1227,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1266,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1273,1
    - Dst: add_attribute_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1277,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 141
    argCount: 7
    argNames:
    - req
    - dn_sk
    - dn_sect
    - attr_sk
    - attr_sect
    - attribs
    - chtype
    argTypes:
    - X509_REQ*
    - STACK_OF(CONF_VALUE)*
    - char*
    - STACK_OF(CONF_VALUE)*
    - char*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1290
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1290
    functionName: prompt_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - join
    - ERR_clear_error
    - NCONF_get_string
    - X509_REQ_get_subject_name
    - OBJ_txt2nid
    - add_DN_object
    - sk_CONF_VALUE_num
    - NCONF_get_number
    - sk_CONF_VALUE_value
    - check_end
    - add_attribute_object
    - X509_NAME_entry_count
    linkageType: ''
    returnType: int
    signature: 'static int prompt_info(X509_REQ *req, STACK_OF(CONF_VALUE) *dn_sk,
      const char *dn_sect, STACK_OF(CONF_VALUE) *attr_sk, const char *attr_sect, int
      attribs, unsigned long chtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1366,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    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
    constantsTouched: []
    func_position:
      end: 1377
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1377
    functionName: add_DN_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - X509_NAME_add_entry_by_NID
    - build_data
    linkageType: ''
    returnType: int
    signature: 'static int add_DN_object(X509_NAME *n, char *text, const char *def,
      char *value, int nid, int n_min, int n_max, unsigned long chtype, int mval) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1408,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1417,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1409,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1413,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1411,1
    - Dst: join
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1430,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1436,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1438,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1443,1
    - Dst: req_check_len
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1445,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    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*
    constantsTouched: []
    func_position:
      end: 1451
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1451
    functionName: build_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - join
    - req_check_len
    - fgets
    - BIO_flush
    - ebcdic2ascii
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int build_data(char *text, const char *def, char *value, int
      n_min, int n_max, char *buf, const int buf_size, const char *desc1, const char
      *desc2) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1598,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1588,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1581,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1604,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1613,1
    - Dst: get_legacy_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1627,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1639,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1645,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1649,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1657,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1627,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1623,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1631,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1660,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1534,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1532,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1557,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1565,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1574,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1591,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1576,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1614,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1619,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1621,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1643,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1537,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1590,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1612,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1624,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1633,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1633,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1634,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1644,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1648,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1658,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1526,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1563,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1568,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1573,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1584,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1600,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1577,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1603,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1621,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1622,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1659,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 137
    argCount: 4
    argNames:
    - gstr
    - pkeytype
    - pkeylen
    - keygen_engine
    argTypes:
    - char*
    - char**
    - long*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1666
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1666
    functionName: set_keygen_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - BIO_free
    - strchr
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - X509_get_pubkey
    - EVP_PKEY_CTX_new_from_name
    - BIO_printf
    - X509_free
    - OPENSSL_strdup
    - PEM_read_bio_Parameters
    - EVP_PKEY_CTX_set_params
    - get_legacy_pkey_id
    - EVP_PKEY_CTX_new_id
    - BIO_new_file
    - atol
    - EVP_PKEY_get0_type_name
    - PEM_read_bio_X509
    - OSSL_PARAM_construct_size_t
    - EVP_PKEY_CTX_is_a
    - app_get0_libctx
    - EVP_PKEY_CTX_new
    - strncmp
    - OPENSSL_strndup
    - BIO_reset
    - strlen
    - app_get0_propq
    - EVP_PKEY_get_bits
    - EVP_PKEY_keygen_init
    - BIO_puts
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'static EVP_PKEY_CTX *set_keygen_ctx(const char *gstr, char **pkeytype,
      long *pkeylen, ENGINE *keygen_engine) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1671,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1683,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1682,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1673,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1685
    functionName: genpkey_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_app_data
    - EVP_PKEY_CTX_get_keygen_info
    - BIO_write
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'static int genpkey_cb(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_STRING*
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: ext_name_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long ext_name_hash(const OPENSSL_STRING *a) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1474,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1479,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/req.c:1475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1480
    functionName: check_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/req.c
    functionUses: []
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int check_end(const char *str, const char *end) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:113,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:232,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:243,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:344,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:390,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:302,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:101,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:117,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:231,1
    - Dst: X509_CRL_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:248,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:273,1
    - Dst: load_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:264,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:379,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:393,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:109,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:120,1
    - Dst: setup_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:224,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:227,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:321,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:242,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:230,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:237,1
    - Dst: corrupt_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:288,1
    - Dst: load_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:219,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:274,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:308,1
    - Dst: X509_NAME_hash_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:313,1
    - Dst: X509_CRL_get0_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:287,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:120,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:145,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:166,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:253,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:242,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:341,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:124,1
    - Dst: X509_CRL_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:272,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:306,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:299,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:343,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:355,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:381,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:335,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:255,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:334,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:127,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:197,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:340,1
    - Dst: i2d_X509_CRL_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:377,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:106,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:134,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:216,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:245,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:300,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:313,1
    - Dst: X509_CRL_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:351,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:369,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:100,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:197,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:303,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:304,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:329,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:85,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:141,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:127,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:352,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:356,1
    - Dst: X509_CRL_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:369,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:319,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:330,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:294,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:269,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:131,1
    - Dst: X509_LOOKUP_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:227,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:317,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:341,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:391,1
    - Dst: set_dateopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:166,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:204,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:276,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:313,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:267,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:249,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:364,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:113,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:328,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:261,1
    - Dst: X509_NAME_hash_old
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:330,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:388,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:389,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:279,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:358,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:392,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:314,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:137,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:211,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:236,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:239,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:294,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:335,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:336,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c:339,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 223
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 395
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 395
    functionName: crl_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/crl.c
    functionUses: []
    functionsReached:
    - X509_CRL_get0_lastUpdate
    - print_name
    - opt_md
    - opt_format
    - EVP_PKEY_free
    - load_key
    - X509_get_pubkey
    - setup_verify
    - opt_provider
    - corrupt_signature
    - BIO_printf
    - BIO_free_all
    - X509_NAME_hash_ex
    - ERR_print_errors
    - X509_CRL_get0_signature
    - EVP_MD_get0_name
    - X509_STORE_CTX_free
    - set_nameopt
    - i2a_ASN1_INTEGER
    - opt_unknown
    - EVP_MD_free
    - X509_STORE_CTX_new
    - opt_num_rest
    - load_crl
    - X509_OBJECT_get0_X509
    - i2d_X509_CRL_bio
    - X509_CRL_get_issuer
    - get_nameopt
    - X509_CRL_get0_nextUpdate
    - X509_CRL_digest
    - PEM_write_bio_X509_CRL
    - opt_help
    - X509_STORE_CTX_get_obj_by_subject
    - X509_CRL_free
    - app_get0_libctx
    - EVP_sha1
    - ASN1_TIME_print_ex
    - bio_open_default
    - X509_CRL_verify
    - X509_STORE_free
    - X509_NAME_hash_old
    - X509_STORE_add_lookup
    - X509_STORE_CTX_init
    - app_get0_propq
    - opt_arg
    - X509_OBJECT_free
    - opt_init
    - X509_CRL_print_ex
    - X509_LOOKUP_file
    - opt_next
    - X509_CRL_diff
    - BIO_puts
    - X509_CRL_get_ext_d2i
    - ASN1_INTEGER_free
    - set_dateopt
    linkageType: ''
    returnType: int
    signature: 'int crl_main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - name
    - result
    - pairs
    - nbelem
    argTypes:
    - char*
    - unsigned int*
    - OPT_PAIR
    - unsigned int
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: opt_found
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int opt_found(const char *name, unsigned int *result, const
      OPT_PAIR pairs[], unsigned int nbelem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:594,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:599,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:597,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - algindex
    - args
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 603
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 603
    functionName: EVP_MAC_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_MAC_final
    - EVP_MAC_update
    - COND
    - EVP_MAC_init
    linkageType: ''
    returnType: int
    signature: 'static int EVP_MAC_loop(int algindex, void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: CMAC_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_MAC_loop
    linkageType: ''
    returnType: int
    signature: 'static int CMAC_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:664,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:665,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 669
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 669
    functionName: GHASH_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_MAC_update
    - COND
    linkageType: ''
    returnType: int
    signature: 'static int GHASH_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:840,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:842,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:845,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:844,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 851
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 851
    functionName: RSA_sign_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - COND
    - EVP_PKEY_sign
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int RSA_sign_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3385,1
    - Dst: alarm
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3390,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - s
    - num
    - length
    - tm
    argTypes:
    - char*
    - long
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3391
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3391
    functionName: print_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_flush
    - alarm
    linkageType: ''
    returnType: void
    signature: 'static void print_message(const char *s, long num, int length, int
      tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: HMAC_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_MAC_loop
    linkageType: ''
    returnType: int
    signature: 'static int HMAC_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: SHA1_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int SHA1_loop(void *args) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_silent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:682,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:685,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:688,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:689,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:694,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:695,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:700,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:701,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:707,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - ciphername
    - key
    - keylen
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 709
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 709
    functionName: init_evp_cipher_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - opt_cipher_silent
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: EVP_CIPHER_CTX*
    signature: 'static EVP_CIPHER_CTX *init_evp_cipher_ctx(const char *ciphername,
      const unsigned char *key, int keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:862,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:863,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:866,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:865,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 872
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 872
    functionName: RSA_verify_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_verify
    - COND
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int RSA_verify_loop(void *args) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1290,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1304,1
    - Dst: ERR_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1321,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1323,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1322,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1331,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1344,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1293,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1319,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1330,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1336,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1340,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1347,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1314,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1318,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1320,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1332,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1335,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1337,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1348,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1350,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1353,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1291,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1316,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1325,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1334,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1343,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1349,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 1
    argNames:
    - curve
    argTypes:
    - EC_CURVE*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1355
    functionName: get_ecdsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_GET_REASON
    - ERR_peek_error
    - ERR_get_error
    - ERR_print_errors
    - EVP_PKEY_keygen
    - EVP_PKEY_paramgen_init
    - ERR_GET_LIB
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - ERR_peek_last_error
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *get_ecdsa(const EC_CURVE *curve) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3396,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3399,1
    - Dst: alarm
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - str
    - str2
    - num
    - bits
    - tm
    argTypes:
    - char*
    - char*
    - long
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3402
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3402
    functionName: pkey_print_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_flush
    - alarm
    linkageType: ''
    returnType: void
    signature: 'static void pkey_print_message(const char *str, const char *str2,
      long num, unsigned int bits, int tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:717,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 720
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 720
    functionName: RAND_bytes_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - COND
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: 'static int RAND_bytes_loop(void *args) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:732,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:736,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:733,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:732,1
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:735,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:739,1
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:743,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:744,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:747,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:752,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:754,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 756
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 756
    functionName: EVP_Update_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_get_flags
    - COND
    - EVP_EncryptFinal_ex
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - EVP_EncryptUpdate
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Update_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:810,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:814,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:811,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:815,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:812,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:816,1
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:819,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:820,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:821,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:822,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:823,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 827
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 827
    functionName: EVP_Update_loop_aead
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - COND
    - EVP_EncryptFinal_ex
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_EncryptUpdate
    - EVP_DecryptFinal_ex
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Update_loop_aead(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:994,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 998
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 998
    functionName: ECDH_EVP_derive_key_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_derive
    - COND
    linkageType: ''
    returnType: int
    signature: 'static int ECDH_EVP_derive_key_loop(void *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1010,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1018,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1011,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1014,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1013,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1020,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1027
    functionName: EdDSA_sign_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_DigestSignInit
    - ERR_print_errors
    - COND
    - EVP_DigestSign
    linkageType: ''
    returnType: int
    signature: 'static int EdDSA_sign_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3407,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3408,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - alg
    - run_no
    - count
    - time_used
    argTypes:
    - int
    - int
    - int
    - double
    constantsTouched: []
    func_position:
      end: 3415
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3415
    functionName: print_result
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_print_errors
    linkageType: ''
    returnType: void
    signature: 'static void print_result(int alg, int run_no, int count, double time_used) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - secs
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: alarm_win32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void alarm_win32(unsigned int secs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:884,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 891
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 891
    functionName: FFDH_derive_key_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_derive
    - COND
    linkageType: ''
    returnType: int
    signature: 'static int FFDH_derive_key_loop(void *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1038,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1039,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1042,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1041,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1046,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1048,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1055
    functionName: EdDSA_verify_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_print_errors
    - COND
    - EVP_DigestVerifyInit
    - EVP_DigestVerify
    linkageType: ''
    returnType: int
    signature: 'static int EdDSA_verify_loop(void *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1068,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1075,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1073,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1073,1
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1070,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1076,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1080,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1083,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1084,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1093
    functionName: SM2_sign_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_DigestSignInit
    - ERR_print_errors
    - EVP_sm3
    - COND
    - EVP_DigestSign
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'static int SM2_sign_loop(void *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1105,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1109,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1108,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1106,1
    - Dst: EVP_sm3
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1106,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1113,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1116,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1123
    functionName: SM2_verify_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_print_errors
    - EVP_sm3
    - COND
    - EVP_DigestVerifyInit
    - EVP_DigestVerify
    linkageType: ''
    returnType: int
    signature: 'static int SM2_verify_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: SHA256_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int SHA256_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: WHIRLPOOL_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int WHIRLPOOL_loop(void *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - string
    - delim
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 3443
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3443
    functionName: sstrsep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: char*
    signature: 'static char *sstrsep(char **string, const char *delim) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:170,1
    - Dst: ExitProcess
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:174,1
    - Dst: GetLastError
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:172,1
    - Dst: Sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:173,1
    - Dst: app_tminterval
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:178,1
    - Dst: app_tminterval
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:180,1
    - Dst: TerminateThread
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:182,1
    - Dst: CloseHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: Time_F
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - TerminateThread
    - app_tminterval
    - ExitProcess
    - CreateThread
    - GetLastError
    - Sleep
    - CloseHandle
    linkageType: ''
    returnType: double
    signature: 'static double Time_F(int s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: SHA512_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int SHA512_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: EVP_Digest_RMD160_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Digest_RMD160_loop(void *args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:650,1
    - Dst: EVP_Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 654
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 654
    functionName: EVP_Cipher_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - COND
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Cipher_loop(void *args) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3471,1
    - Dst: fdopen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3486,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3487,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3520,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3566,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3546,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3624,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3573,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3460,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3492,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3530,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3556,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3622,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3576,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3497,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3503,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3517,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3543,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3508,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3581,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3600,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3456,1
    - Dst: fork
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3461,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3466,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3585,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3567,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3603,1
    - Dst: wait
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3615,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3617,1
    - Dst: WEXITSTATUS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3621,1
    - Dst: WTERMSIG
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3625,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3493,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3511,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3512,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3533,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3568,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3559,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3597,1
    - Dst: WEXITSTATUS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3622,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3588,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3546,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3453,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3457,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3459,1
    - Dst: pipe
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3455,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3520,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3525,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3551,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3613,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3538,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3556,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3530,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3573,1
    - Dst: dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3467,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3489,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3474,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3509,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3536,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3477,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3517,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3543,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3549,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3523,1
    - Dst: WIFEXITED
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3621,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3462,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3468,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3570,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3582,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3600,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3566,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3583,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3592,1
    - Dst: WIFSIGNALED
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3623,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3531,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3469,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3502,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3557,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3597,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3611,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3518,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3544,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3588,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3508,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3536,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3581,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3549,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3523,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3585,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3559,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3533,1
    - Dst: atof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3570,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3465,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3511,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3561,1
    - Dst: sstrsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3598,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3606,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 201
    argCount: 2
    argNames:
    - multi
    - size_num
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3629
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3629
    functionName: do_multi
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - WEXITSTATUS
    - app_malloc
    - strchr
    - wait
    - WIFEXITED
    - fdopen
    - BIO_printf
    - close
    - OPENSSL_free
    - atoi
    - atof
    - pipe
    - WTERMSIG
    - exit
    - fgets
    - fork
    - dup
    - strncmp
    - printf
    - sstrsep
    - fflush
    - WIFSIGNALED
    - BIO_flush
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int do_multi(int multi, int size_num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:772,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:773,1
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:781,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:776,1
    - Dst: EVP_DecryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:778,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:783,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:785,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:789,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:791,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 793
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 793
    functionName: EVP_Update_loop_ccm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - COND
    - EVP_EncryptFinal_ex
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_EncryptUpdate
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Update_loop_ccm(void *args) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1185,1
    - Dst: loop_function
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1137,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1175,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1181,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1184,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1189,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1225,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1206,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1237,1
    - Dst: PeekNamedPipe
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1241,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1266,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1161,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1191,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1212,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1201,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1229,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1246,1
    - Dst: ASYNC_start_job
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1160,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1197,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1211,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1228,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1233,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:1267,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 96
    argCount: 3
    argNames:
    - async_jobs
    - (*loop_function)
    - loopargs
    argTypes:
    - int
    - int
    - loopargs_t*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1275
    functionName: run_benchmark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - FD_SET
    - FD_ISSET
    - ERR_print_errors
    - FD_ZERO
    - select
    - ASYNC_WAIT_CTX_get_all_fds
    - loop_function
    - PeekNamedPipe
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: 'static int run_benchmark(int async_jobs, int (*loop_function) (void
      *), loopargs_t * loopargs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: alarmed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: 'static void alarmed(int sig) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_md_silent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:512,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:517,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:515,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:518,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: have_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - opt_md_silent
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit
    - EVP_MD_free
    linkageType: ''
    returnType: int
    signature: 'static int have_md(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_md_silent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:548,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:557,1
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:550,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - mdname
    - algindex
    - args
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 559
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 559
    functionName: EVP_Digest_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest
    - EVP_MD_free
    - COND
    - opt_md_silent
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Digest_loop(const char *mdname, int algindex, void
      *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: EVP_Digest_MD2_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Digest_MD2_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: EVP_Digest_MD4_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Digest_MD4_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:904,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:909,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:908,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:906,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 915
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 915
    functionName: DSA_sign_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - COND
    - EVP_PKEY_sign
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int DSA_sign_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:970,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:971,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:975,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:974,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 981
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 981
    functionName: ECDSA_verify_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_verify
    - COND
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int ECDSA_verify_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_tminterval
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:136,1
    - Dst: alarm
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: Time_F
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - app_tminterval
    - alarm
    linkageType: ''
    returnType: double
    signature: 'static double Time_F(int s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - VOID*
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: sleepy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: DWORD
    signature: 'static DWORD WINAPI sleepy(VOID * arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_silent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:528,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:532,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:529,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:534,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 538
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 538
    functionName: have_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - opt_cipher_silent
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int have_cipher(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: EVP_Digest_md_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Digest_md_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: EVP_Digest_MDC2_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int EVP_Digest_MDC2_loop(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: MD5_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: 'static int MD5_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:926,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:929,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:930,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:927,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 936
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 936
    functionName: DSA_verify_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_verify
    - COND
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int DSA_verify_loop(void *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:948,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:953,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:952,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:950,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 959
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 959
    functionName: ECDSA_sign_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - COND
    - EVP_PKEY_sign
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int ECDSA_sign_loop(void *args) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3653,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3654,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3656,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3671,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3711,1
    - Dst: Time_F
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3716,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3723,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3725,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3729,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3737,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3736,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3746,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3652,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3657,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3661,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3662,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3700,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3707,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3717,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3726,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3727,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3732,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3750,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3638,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3651,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3650,1
    - Dst: Time_F
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3675,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3682,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3693,1
    - Dst: EVP_Cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3713,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3734,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3752,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3742,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3730,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3738,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3649,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3660,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3665,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3667,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3669,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3664,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3670,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3663,1
    - Dst: print_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3674,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3706,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3751,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c:3744,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 124
    argCount: 3
    argNames:
    - evp_cipher
    - lengths_single
    - seconds
    argTypes:
    - EVP_CIPHER*
    - int
    - openssl_speed_sec_t*
    constantsTouched: []
    func_position:
      end: 3753
      start: 3632
    functionDepth: 0
    functionLinenumber: 3632
    functionLinenumberEnd: 3753
    functionName: multiblock_speed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/speed.c
    functionUses: []
    functionsReached:
    - app_malloc
    - RAND_bytes
    - EVP_Cipher
    - EVP_CIPHER_CTX_new
    - OPENSSL_clear_free
    - fprintf
    - EVP_CIPHER_CTX_get_key_length
    - EVP_EncryptInit_ex
    - BIO_printf
    - OPENSSL_free
    - app_bail_out
    - EVP_CIPHER_CTX_rand_key
    - print_message
    - EVP_CIPHER_CTX_free
    - Time_F
    - OSSL_NELEM
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get0_name
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void multiblock_speed(const EVP_CIPHER *evp_cipher, int lengths_single,
      const openssl_speed_sec_t *seconds) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:53,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:61,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:57,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:53,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:62,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:63,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:65,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - optp
    - name
    - arg
    argTypes:
    - STACK_OF(OPENSSL_STRING)**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: alloc_kdf_algorithm_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - sk_OPENSSL_STRING_push
    - app_malloc
    - OPENSSL_free
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *alloc_kdf_algorithm_name(STACK_OF(OPENSSL_STRING) **optp,
      const char *name, const char *arg) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:105,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:106,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:122,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:123,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:111,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:110,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:111,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:123,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:136,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:160,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:180,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:203,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:176,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:205,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:188,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:98,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:140,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:140,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:141,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:142,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:159,1
    - Dst: app_params_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:163,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:199,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:202,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:206,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:193,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:168,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:73,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:91,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:117,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:116,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:117,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:128,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:146,1
    - Dst: app_params_new_from_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:153,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:153,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:190,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:204,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:83,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:84,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:88,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:98,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:101,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:106,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:135,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:158,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:181,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:200,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:207,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c:208,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 107
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 210
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 210
    functionName: kdf_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/kdf.c
    functionUses: []
    functionsReached:
    - BIO_free
    - app_malloc
    - opt_rest
    - sk_OPENSSL_STRING_free
    - app_params_new_from_opts
    - OPENSSL_clear_free
    - OPENSSL_buf2hexstr
    - opt_provider
    - STACK_OF
    - BIO_printf
    - BIO_write
    - EVP_KDF_settable_ctx_params
    - ERR_print_errors
    - EVP_KDF_fetch
    - OPENSSL_free
    - EVP_KDF_derive
    - atoi
    - opt_num_rest
    - alloc_kdf_algorithm_name
    - sk_OPENSSL_STRING_new_null
    - app_params_free
    - EVP_KDF_CTX_new
    - sk_OPENSSL_STRING_push
    - opt_help
    - app_get0_libctx
    - EVP_KDF_CTX_set_params
    - EVP_KDF_free
    - bio_open_default
    - EVP_KDF_CTX_free
    - app_get0_propq
    - opt_arg
    - opt_init
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int kdf_main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:228,1
    - Dst: SSL_get_servername_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:229,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: ssl_servername_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - SSL_get_servername_type
    - BIO_printf
    - SSL_get_servername
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: 'static int ssl_servername_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:743,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: freeandcopy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void freeandcopy(char **dest, const char *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3369,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3377,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3372,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3375,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3370,1
    - Dst: BIO_dump_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3378,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3381,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3382,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3383,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 3386
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3386
    functionName: ocsp_resp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - SSL_get_tlsext_status_ocsp_resp
    - OCSP_RESPONSE_free
    - BIO_dump_indent
    - d2i_OCSP_RESPONSE
    - OCSP_RESPONSE_print
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int ocsp_resp_cb(SSL *s, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:753,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:758,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:767,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:756,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:759,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:768,1
    - Dst: SSL_SESSION_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:770,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 779
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 779
    functionName: new_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - SSL_version
    - BIO_free
    - SSL_SESSION_print
    - PEM_write_bio_SSL_SESSION
    linkageType: ''
    returnType: int
    signature: 'static int new_session_cb(SSL *s, SSL_SESSION *sess) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:256,1
    - Dst: SSL_select_next_proto
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:267,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:263,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:259,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: next_proto_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: 'static int next_proto_cb(SSL *s, unsigned char **out, unsigned char
      *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3426,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3447,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3429,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3436,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3439,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3450,1
    - Dst: ASN1_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3456,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3459,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - buf
    - rem
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 3471
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3471
    functionName: ldap_ExtendedResponse_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_get_object
    linkageType: ''
    returnType: int
    signature: 'static int ldap_ExtendedResponse_parse(const char *buf, long rem) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:122,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:109,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:118,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:112,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:126,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:128,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:133,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:136,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:140,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:144,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:141,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 151
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 151
    functionName: psk_client_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - memcpy
    - BIO_snprintf
    - OPENSSL_hexstr2buf
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int psk_client_cb(SSL *ssl, const char *hint, char
      *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:285,1
    - Dst: PEM_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:289,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 291
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 291
    functionName: serverinfo_cli_parse_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - PEM_write_bio
    - memcpy
    - BIO_snprintf
    linkageType: ''
    returnType: int
    signature: 'static int serverinfo_cli_parse_cb(SSL *s, unsigned int ext_type,
      const unsigned char *in, size_t inlen, int *al, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: save_errno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:348,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:349,1
    - Dst: restore_errno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:350,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:353,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:353,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:357,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:357,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - inptr
    - out
    argTypes:
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 362
    functionName: checked_uint8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - strtol
    - restore_errno
    - save_errno
    - isspace
    - _UC
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t checked_uint8(const char **inptr, void *out) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3168,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3205,1
    - Dst: BIO_number_written
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3232,1
    - Dst: sk_SCT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3215,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3253,1
    - Dst: BIO_ADDR_rawport
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3272,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3274,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3290,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3238,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3142,1
    - Dst: print_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3190,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3221,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3251,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3257,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3259,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3292,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3235,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3271,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3354,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3238,1
    - Dst: X509_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3165,1
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3188,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3157,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3158,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3160,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3246,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3284,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3296,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3165,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3344,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3155,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3166,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3172,1
    - Dst: ssl_print_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3192,1
    - Dst: SSL_get0_peer_scts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3206,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3228,1
    - Dst: SSL_COMP_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3252,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3283,1
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3302,1
    - Dst: sk_SCT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3207,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3132,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3148,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3155,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3156,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3158,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3163,1
    - Dst: SSL_CTX_get0_ctlog_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3211,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3209,1
    - Dst: SCT_validation_status_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3218,1
    - Dst: SCT_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3219,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3242,1
    - Dst: SSL_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3268,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3281,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3356,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3360,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3231,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3174,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3237,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3164,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3135,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3152,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3160,1
    - Dst: SSL_get_current_expansion
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3250,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3260,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3294,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3317,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3351,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3342,1
    - Dst: SSL_get_current_compression
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3249,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3282,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3293,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3313,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3339,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3340,1
    - Dst: dump_cert_text
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3186,1
    - Dst: ssl_print_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3217,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3244,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3158,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3165,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3258,1
    - Dst: BIO_ADDR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3269,1
    - Dst: BIO_sock_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3270,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3321,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3155,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3155,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3169,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3179,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3181,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3232,1
    - Dst: print_verify_detail
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3234,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3235,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3263,1
    - Dst: SSL_SESSION_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3336,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3347,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3170,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3158,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3159,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3171,1
    - Dst: SSL_COMP_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3254,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3257,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3336,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3169,1
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3171,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3185,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3305,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3213,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3243,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3154,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3162,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3223,1
    - Dst: SSL_ct_is_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3205,1
    - Dst: BIO_number_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3231,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3247,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3358,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3174,1
    - Dst: ntohs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3272,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3341,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3153,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3163,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3236,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3259,1
    - Dst: SSL_get_verify_result
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3331,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3333,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3343,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3349,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3353,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3332,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 198
    argCount: 3
    argNames:
    - bio
    - s
    - full
    argTypes:
    - BIO*
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 3361
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3361
    functionName: print_stuff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - SSL_get0_peer_certificate
    - EVP_PKEY_get_base_id
    - dump_cert_text
    - ntohs
    - SSL_ct_is_enabled
    - X509_get0_pubkey
    - app_malloc
    - SSL_get_early_data_status
    - EVP_PKEY_free
    - X509_get_issuer_name
    - sk_SCT_value
    - SSL_CIPHER_get_version
    - X509_get0_notAfter
    - SSL_get_wbio
    - BIO_ADDR_new
    - BIO_number_written
    - SSL_get_current_expansion
    - X509_get_pubkey
    - sk_X509_value
    - SSL_get_current_cipher
    - X509_get0_notBefore
    - X509_get_subject_name
    - BIO_printf
    - X509_NAME_print_ex
    - STACK_OF
    - SSL_version
    - ASN1_TIME_print
    - PEM_write_bio_X509
    - print_verify_detail
    - OBJ_nid2sn
    - BIO_write
    - sk_X509_num
    - OPENSSL_free
    - X509_verify_cert_error_string
    - SSL_get_session
    - SSL_get0_alpn_selected
    - BIO_get_ktls_send
    - ssl_print_sigalgs
    - SSL_CIPHER_get_name
    - BIO_get_ktls_recv
    - get_nameopt
    - SSL_get_secure_renegotiation_support
    - SSL_session_reused
    - SSL_get_rbio
    - SSL_COMP_get_name
    - SSL_get0_next_proto_negotiated
    - SSL_get_selected_srtp_profile
    - OSSL_TRACE_ENABLED
    - SSL_get_verify_result
    - SSL_get0_peer_scts
    - X509_get_signature_nid
    - SSL_CTX_get0_ctlog_store
    - SSL_get_current_compression
    - strlen
    - SCT_validation_status_string
    - BIO_sock_info
    - sk_SCT_num
    - SSL_get_SSL_CTX
    - BIO_ADDR_free
    - SCT_print
    - BIO_number_read
    - SSL_get_fd
    - SSL_SESSION_print
    - print_ca_names
    - BIO_flush
    - SSL_get_peer_cert_chain
    - BIO_ADDR_rawport
    - EVP_PKEY_get_bits
    - SSL_export_keying_material
    - ssl_print_tmp_key
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'static void print_stuff(BIO *bio, SSL *s, int full) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3482,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3537
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3537
    functionName: is_dNS_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int is_dNS_name(const char *host) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: save_errno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void save_errno(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:402,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:392,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:398,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:399,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:403,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:408,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:409,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - con
    - rrdata
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 414
    functionName: tlsa_import_rr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_dane_tlsa_add
    - OPENSSL_free
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int tlsa_import_rr(SSL *con, const char *rrdata) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: raw_read_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3001,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3015,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3024,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3030,1
    - Dst: raw_read_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3017,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3031,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3035,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3036,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:3044,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - (fileno_stdin(), &readfds)
    argTypes:
    - FD_ISSET
    constantsTouched: []
    func_position:
      end: 3050
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 3050
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - assert
    - SSL_renegotiate
    - SSL_key_update
    - ebcdic2ascii
    - raw_read_stdin
    linkageType: ''
    returnType: else
    signature: 'else if (FD_ISSET(fileno_stdin(), &readfds)) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: restore_errno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int restore_errno(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:418,1
    - Dst: tlsa_import_rr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:424,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - con
    - rrset
    argTypes:
    - SSL*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 428
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 428
    functionName: tlsa_import_rrset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - tlsa_import_rr
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    linkageType: ''
    returnType: int
    signature: 'static int tlsa_import_rrset(SSL *con, STACK_OF(OPENSSL_STRING) *rrset) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2933,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2940,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2938,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2951,1
    - Dst: wait_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2952,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2959,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2964,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2971,1
    - Dst: get_last_socket_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2974,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2976,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2981,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2987,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:2978,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 1
    argNames:
    - FD_ISSET
    argTypes:
    - ssl_pending
    constantsTouched: []
    func_position:
      end: 2990
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 2990
    functionName: if
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_read
    - ERR_print_errors
    - SSL_renegotiate
    - get_last_socket_error
    - wait_for_async
    - BIO_puts
    - SSL_get_error
    linkageType: ''
    returnType: else
    signature: 'else if (ssl_pending || FD_ISSET(SSL_get_fd(con), &readfds)) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:165,1
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:180,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:172,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:169,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:181,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:185,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:187,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:188,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:189,1
    - Dst: SSL_CIPHER_get_handshake_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:200,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:205,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:196,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:209,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:190,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:193,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:215,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 5
    argNames:
    - s
    - md
    - id
    - idlen
    - sess
    argTypes:
    - SSL*
    - EVP_MD*
    - unsigned char**
    - size_t*
    - SSL_SESSION**
    constantsTouched: []
    func_position:
      end: 217
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 217
    functionName: psk_use_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_SESSION_get0_cipher
    - SSL_CIPHER_find
    - OPENSSL_free
    - SSL_SESSION_set_protocol_version
    - SSL_SESSION_new
    - SSL_SESSION_set1_master_key
    - SSL_SESSION_free
    - SSL_SESSION_set_cipher
    - OPENSSL_hexstr2buf
    - SSL_SESSION_up_ref
    - SSL_CIPHER_get_handshake_digest
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int psk_use_session_cb(SSL *s, const EVP_MD *md, const unsigned
      char **id, size_t *idlen, SSL_SESSION **sess) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:301,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:312,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:301,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:314,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:312,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:316,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c:328,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - inptr
    - result
    argTypes:
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 334
    functionName: hexdecode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_client.c
    functionUses: []
    functionsReached:
    - OPENSSL_hexchar2int
    - app_malloc
    - OPENSSL_free
    - isspace
    - _UC
    - strlen
    linkageType: ''
    returnType: ossl_ssize_t
    signature: 'static ossl_ssize_t hexdecode(const char **inptr, void *result) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:115,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:188,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:256,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:271,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:273,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:281,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:296,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:300,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:189,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:206,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:226,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:269,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:109,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:118,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:168,1
    - Dst: EVP_read_pw_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:242,1
    - Dst: do_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:261,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:250,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:280,1
    - Dst: do_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:284,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:298,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:110,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:124,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:177,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:181,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:215,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:257,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:299,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 122
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 302
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 302
    functionName: passwd_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c
    functionUses: []
    functionsReached:
    - opt_rand
    - BIO_gets
    - BIO_free
    - app_malloc
    - opt_rest
    - strchr
    - opt_provider
    - BIO_printf
    - EVP_read_pw_string
    - ERR_print_errors
    - OPENSSL_free
    - do_passwd
    - opt_num_rest
    - app_RAND_load
    - opt_help
    - bio_open_default
    - assert
    - opt_arg
    - opt_init
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int passwd_main(int argc, char **argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:782,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:799,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:783,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:800,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:796,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:808,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:812,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:815,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:820,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:825,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:834,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:837,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:839,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:841,1
    - Dst: shacrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:833,1
    - Dst: md5crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:829,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:825,1
    - Dst: md5crypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:831,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    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
    constantsTouched: []
    func_position:
      end: 846
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 846
    functionName: do_passwd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - shacrypt
    - md5crypt
    - assert
    - ascii2ebcdic
    - app_malloc
    - RAND_bytes
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
      char *passwd, BIO *out, int quiet, int table, int reverse, size_t pw_maxlen,
      passwd_modes mode) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:330,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:334,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:353,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:376,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:382,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:383,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:391,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:392,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:393,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:394,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:475,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:485,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:477,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:341,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:348,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:362,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:376,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:377,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:389,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:399,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:407,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:411,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:426,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:429,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:455,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:433,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:486,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:477,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:339,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:345,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:358,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:374,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:386,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:402,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:415,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:437,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:459,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:436,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:484,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:459,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:471,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:327,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:331,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:338,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:359,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:364,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:381,1
    - Dst: EVP_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:391,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:395,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:415,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:417,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:475,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:422,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 177
    argCount: 3
    argNames:
    - passwd
    - magic
    - salt
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 488
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 488
    functionName: md5crypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - EVP_DigestUpdate
    - assert
    - ascii2ebcdic
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - EVP_md5
    - EVP_DigestInit_ex
    - ebcdic2ascii
    - EVP_DigestFinal_ex
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *md5crypt(const char *passwd, const char *magic, const
      char *salt) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:606,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:618,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:731,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:724,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:526,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:572,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:655,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:735,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:748,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:752,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:610,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:668,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:729,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:564,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:595,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:696,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:700,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:567,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:721,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:740,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:744,1
    - Dst: EVP_sha512
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:539,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:581,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:600,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:613,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:617,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:725,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:772,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:578,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:637,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:736,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:745,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:749,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:753,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:769,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:654,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:730,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:726,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:571,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:609,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:641,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:675,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:682,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:737,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:672,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:586,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:631,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:645,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:648,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:705,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:741,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:754,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:755,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:549,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:587,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:574,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:658,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:734,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:722,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:768,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:527,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:597,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:623,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:626,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:689,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:746,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:750,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:693,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:546,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:598,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:603,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:608,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:616,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:651,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:727,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:762,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:677,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:619,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:738,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:742,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:771,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:697,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:723,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:701,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:588,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:747,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:751,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:671,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:728,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:535,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:595,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:615,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:762,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:770,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:739,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:686,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:591,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:662,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:665,1
    - Dst: b64_from_24bit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c:743,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 226
    argCount: 3
    argNames:
    - passwd
    - magic
    - salt
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 774
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 774
    functionName: shacrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/passwd.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcat
    - EVP_DigestInit_ex
    - OPENSSL_strdup
    - EVP_DigestUpdate
    - ascii2ebcdic
    - EVP_MD_CTX_new
    - OPENSSL_free
    - OPENSSL_zalloc
    - EVP_sha256
    - b64_from_24bit
    - EVP_sha512
    - OPENSSL_strlcpy
    - memcpy
    - strncmp
    - ebcdic2ascii
    - sprintf
    - strlen
    - EVP_MD_CTX_free
    - EVP_DigestFinal_ex
    - strtoul
    linkageType: ''
    returnType: char*
    signature: 'static char *shacrypt(const char *passwd, const char *magic, const
      char *salt) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:94,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:111,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:134,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:136,1
    - Dst: SSL_SESSION_print_keylog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:146,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:148,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:161,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:66,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:74,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:118,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:124,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:113,1
    - Dst: SSL_SESSION_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:130,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:144,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:171,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:172,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:57,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:70,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:58,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:74,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:79,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:100,1
    - Dst: i2d_SSL_SESSION_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:142,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:152,1
    - Dst: i2d_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:165,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:63,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:70,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:82,1
    - Dst: SSL_SESSION_get0_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:108,1
    - Dst: load_sess_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:104,1
    - Dst: SSL_SESSION_set1_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:116,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 99
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 174
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 174
    functionName: sess_id_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c
    functionUses: []
    functionsReached:
    - opt_format
    - SSL_SESSION_set1_id_context
    - i2d_X509_bio
    - load_sess_id
    - BIO_printf
    - PEM_write_bio_X509
    - BIO_free_all
    - SSL_SESSION_free
    - opt_num_rest
    - opt_help
    - i2d_SSL_SESSION_bio
    - bio_open_default
    - PEM_write_bio_SSL_SESSION
    - SSL_SESSION_get0_peer
    - strlen
    - SSL_SESSION_print_keylog
    - opt_arg
    - opt_init
    - SSL_SESSION_print
    - opt_next
    - BIO_puts
    - X509_print
    linkageType: ''
    returnType: int
    signature: 'int sess_id_main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:181,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:187,1
    - Dst: d2i_SSL_SESSION_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:185,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:190,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:189,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - infile
    - format
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: load_sess_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/sess_id.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - d2i_SSL_SESSION_bio
    - ERR_print_errors
    - BIO_free
    - PEM_read_bio_SSL_SESSION
    - bio_open_default
    linkageType: ''
    returnType: SSL_SESSION*
    signature: 'static SSL_SESSION *load_sess_id(char *infile, int format) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:102,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:106,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:115,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:160,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:166,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:207,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:212,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:227,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:234,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:258,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:303,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:309,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:326,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:276,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:290,1
    - Dst: i2d_PUBKEY_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:295,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:283,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:91,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:98,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:151,1
    - Dst: opt_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:161,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:181,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:198,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:219,1
    - Dst: EVP_PKEY_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:238,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:273,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:278,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:322,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:323,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:328,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:246,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:313,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:85,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:98,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:86,1
    - Dst: opt_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:152,1
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:202,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:208,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:231,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:248,1
    - Dst: EVP_PKEY_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:255,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:264,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:325,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:265,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:327,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:321,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:253,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:94,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:102,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:109,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:112,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:112,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:145,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:118,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:173,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:217,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:237,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:299,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:312,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:298,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c:324,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 177
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 331
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 331
    functionName: pkey_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkey.c
    functionUses: []
    functionsReached:
    - opt_format
    - EVP_PKEY_free
    - load_key
    - EVP_PKEY_is_a
    - EVP_PKEY_print_private
    - EVP_PKEY_CTX_free
    - opt_provider
    - opt_cipher
    - BIO_printf
    - load_pubkey
    - BIO_free_all
    - bio_open_owner
    - PEM_write_bio_PrivateKey
    - ERR_print_errors
    - EVP_CIPHER_free
    - OPENSSL_free
    - PEM_write_bio_PrivateKey_traditional
    - setup_engine
    - EVP_PKEY_print_public
    - opt_unknown
    - opt_num_rest
    - opt_help
    - EVP_PKEY_set_params
    - EVP_PKEY_check
    - i2d_PUBKEY_bio
    - EVP_PKEY_CTX_new
    - EVP_PKEY_public_check
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - PEM_write_bio_PUBKEY
    - release_engine
    - i2d_PrivateKey_bio
    - assert
    - opt_arg
    - opt_init
    - app_passwd
    - opt_string
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int pkey_main(int argc, char **argv) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:107,1
    - Dst: app_load_config_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:129,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:141,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:160,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:180,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:191,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:195,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:197,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:210,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:194,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:228,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:85,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:92,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:102,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:99,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:102,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:134,1
    - Dst: init_keygen_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:147,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:147,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:157,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:161,1
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:166,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:172,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:212,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:223,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:225,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:227,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:73,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:80,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:74,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:76,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:89,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:92,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:96,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:113,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:126,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:110,1
    - Dst: init_gen_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:151,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:181,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:189,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:192,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:224,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:151,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:229,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:77,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:113,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:158,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:171,1
    - Dst: app_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:183,1
    - Dst: app_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:184,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:204,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:221,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:226,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:230,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:231,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:215,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:129,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:176,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 131
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 233
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 233
    functionName: genpkey_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - BIO_free
    - opt_format
    - init_keygen_file
    - app_paramgen
    - app_keygen
    - sk_OPENSSL_STRING_free
    - EVP_PKEY_free
    - EVP_PKEY_print_private
    - EVP_PKEY_CTX_free
    - opt_provider
    - STACK_OF
    - BIO_printf
    - opt_cipher
    - BIO_free_all
    - NCONF_free
    - bio_open_owner
    - init_gen_str
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - PEM_write_bio_PrivateKey
    - EVP_CIPHER_free
    - OPENSSL_free
    - pkey_ctrl_string
    - setup_engine
    - app_load_config_modules
    - opt_unknown
    - opt_num_rest
    - sk_OPENSSL_STRING_new_null
    - sk_OPENSSL_STRING_push
    - EVP_PKEY_print_params
    - opt_help
    - app_get0_libctx
    - EVP_PKEY_CTX_set_app_data
    - PEM_write_bio_Parameters
    - EVP_PKEY_CTX_set_cb
    - release_engine
    - i2d_PrivateKey_bio
    - assert
    - app_get0_propq
    - opt_arg
    - opt_init
    - app_passwd
    - opt_next
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int genpkey_main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:242,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:253,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:246,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:252,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:248,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:256,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:261,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:263,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:266,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:268,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:276,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:273,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:275,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:274,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 5
    argNames:
    - pctx
    - file
    - e
    - libctx
    - propq
    argTypes:
    - EVP_PKEY_CTX**
    - char*
    - ENGINE*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 279
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 279
    functionName: init_keygen_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - PEM_read_bio_Parameters_ex
    - BIO_free
    - ERR_print_errors
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int init_keygen_file(EVP_PKEY_CTX **pctx, const char *file,
      ENGINE *e, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:289,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:295,1
    - Dst: get_legacy_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:293,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:297,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:302,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:305,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:313,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:314,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:315,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 6
    argNames:
    - pctx
    - algname
    - e
    - do_param
    - libctx
    - propq
    argTypes:
    - EVP_PKEY_CTX**
    - char*
    - ENGINE*
    - int
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 318
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 318
    functionName: init_gen_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_print_errors
    - EVP_PKEY_paramgen_init
    - get_legacy_pkey_id
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int init_gen_str(EVP_PKEY_CTX **pctx, const char *algname, ENGINE
      *e, int do_param, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:323,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:328,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:340,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 343
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 343
    functionName: genpkey_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/genpkey.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_app_data
    - EVP_PKEY_CTX_get_keygen_info
    - BIO_write
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'static int genpkey_cb(EVP_PKEY_CTX *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:245,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:245,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:245,1
    - Dst: SMIME_read_CMS_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:252,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:247,1
    - Dst: PEM_read_bio_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:255,1
    - Dst: d2i_CMS_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:258,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:261,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:265,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:270,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 5
    argNames:
    - informat
    - in
    - flags
    - indata
    - name
    argTypes:
    - int
    - BIO*
    - int
    - BIO**
    - char*
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: load_content_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - CMS_ContentInfo_free
    - PEM_read_bio_CMS
    - app_get0_propq
    - d2i_CMS_bio
    - app_get0_libctx
    - CMS_ContentInfo_new_ex
    - SMIME_read_CMS_ex
    linkageType: ''
    returnType: CMS_ContentInfo*
    signature: 'static CMS_ContentInfo *load_content_info(int informat, BIO *in, int
      flags, BIO **indata, const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1300,1
    - Dst: policies_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1312
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1312
    functionName: cms_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - policies_print
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: 'static int cms_cb(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAMES_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1320,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1323,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1322,1
    - Dst: sk_GENERAL_NAMES_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1321,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1324,1
    - Dst: GENERAL_NAME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1325,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - gns
    argTypes:
    - STACK_OF(GENERAL_NAMES)*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1330
    functionName: gnames_stack_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAMES_num
    - sk_GENERAL_NAME_num
    - GENERAL_NAME_print
    - sk_GENERAL_NAMES_value
    - sk_GENERAL_NAME_value
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'static void gnames_stack_print(STACK_OF(GENERAL_NAMES) *gns) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1381,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1387,1
    - Dst: sk_GENERAL_NAMES_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1384,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1388,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1389,1
    - Dst: GENERAL_NAMES_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1392,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1395,1
    - Dst: sk_GENERAL_NAMES_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1398,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1406,1
    - Dst: GENERAL_NAMES_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1407,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 1
    argNames:
    - ns
    argTypes:
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1410
    functionName: make_names_stack
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAMES_new_null
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_num
    - sk_GENERAL_NAMES_push
    - GENERAL_NAME_free
    - GENERAL_NAMES_new
    - sk_GENERAL_NAMES_pop_free
    - a2i_GENERAL_NAME
    - GENERAL_NAMES_free
    - sk_GENERAL_NAME_push
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(GENERAL_NAMES)*
    signature: 'static STACK_OF(GENERAL_NAMES) *make_names_stack(STACK_OF(OPENSSL_STRING)
      *ns) '
  - BBCount: 269
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:287,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:322,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:490,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:556,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:644,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:735,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:749,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:756,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:938,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:957,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1206,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1262,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1249,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1275,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1101,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:991,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:983,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:613,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:316,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:487,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:508,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:553,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:649,1
    - Dst: opt_cipher_any
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:701,1
    - Dst: CMS_get1_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:905,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:850,1
    - Dst: setup_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:935,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1106,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1244,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1269,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:990,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1049,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1243,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1266,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:577,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:496,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:519,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:527,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:588,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:585,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:630,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:662,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:665,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:711,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:866,1
    - Dst: CMS_EncryptedData_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1162,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1205,1
    - Dst: ASN1_PCTX_set_str_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1205,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1254,1
    - Dst: CMS_EncryptedData_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1020,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1248,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:848,1
    - Dst: CMS_add1_recipient
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:971,1
    - Dst: CMS_uncompress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1152,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1274,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:461,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:494,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:496,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:513,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:517,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:532,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:729,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:817,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:825,1
    - Dst: load_content_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:924,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:864,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1156,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1265,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1192,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1260,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:475,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:568,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:591,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:626,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:697,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:751,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:897,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:899,1
    - Dst: X509_STORE_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:940,1
    - Dst: CMS_final
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1016,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1247,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1273,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:954,1
    - Dst: CMS_verify_receipt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1191,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1218,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:601,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:636,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:329,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:360,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:472,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:606,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:565,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:553,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:834,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1030,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1034,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1058,1
    - Dst: cms_set_pkey_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1094,1
    - Dst: receipt_request_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1188,1
    - Dst: CMS_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1214,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1259,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1194,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1251,1
    - Dst: ASN1_PCTX_set_nm_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1206,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1263,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1185,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:546,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:618,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:562,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:290,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:469,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:519,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:622,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:579,1
    - Dst: app_load_config_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:678,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:778,1
    - Dst: CMS_add0_recipient_password
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1009,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1071,1
    - Dst: i2d_CMS_bio_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1226,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1204,1
    - Dst: ASN1_PCTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1210,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:898,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1242,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1268,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:466,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:514,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:548,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:559,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:635,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:670,1
    - Dst: opt_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:689,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:693,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:767,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:819,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1021,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1112,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1170,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1201,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1270,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1256,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1240,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1158,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1239,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:329,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:530,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:542,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:610,1
    - Dst: opt_cipher_any
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:705,1
    - Dst: CMS_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:954,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:975,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:981,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:987,1
    - Dst: CMS_set1_eContentType
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1053,1
    - Dst: CMS_SignerInfo_get0_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1093,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1132,1
    - Dst: CMS_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1149,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1241,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1027,1
    - Dst: CMS_digest_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:948,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1006,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1125,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1099,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:317,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:311,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:583,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:641,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:662,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:783,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:791,1
    - Dst: make_receipt_request
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1056,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1180,1
    - Dst: SMIME_write_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1220,1
    - Dst: CMS_sign_receipt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1031,1
    - Dst: CMS_data_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:946,1
    - Dst: SMIME_write_CMS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1222,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1228,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1069,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:743,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:546,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:325,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1064,1
    - Dst: CMS_decrypt_set1_password
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1138,1
    - Dst: CMS_ContentInfo_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1216,1
    - Dst: PEM_write_bio_CMS_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1224,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:571,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:333,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:548,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:674,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:683,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:882,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:919,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:920,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:830,1
    - Dst: CMS_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1049,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1139,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1267,1
    - Dst: CMS_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1119,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:461,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:543,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:678,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:714,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:719,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:723,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:774,1
    - Dst: save_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:906,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:907,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:912,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1167,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1264,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:948,1
    - Dst: CMS_digest_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1155,1
    - Dst: ASN1_PCTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1202,1
    - Dst: CMS_get0_signers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1177,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1076,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:502,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:517,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:650,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:651,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:752,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:773,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:800,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:841,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:929,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:963,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1261,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1068,1
    - Dst: save_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1179,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1246,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1272,1
    - Dst: CMS_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:950,1
    - Dst: CMS_add1_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1088,1
    - Dst: cms_set_pkey_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:977,1
    - Dst: CMS_add1_ReceiptRequest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1097,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:530,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:603,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:618,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:608,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:333,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:500,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:502,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:526,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:613,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:538,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:858,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:946,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1145,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:597,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:337,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:508,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:532,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:710,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:759,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:782,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:797,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:887,1
    - Dst: load_content_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:893,1
    - Dst: CMS_decrypt_set1_pkey_and_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1131,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1250,1
    - Dst: CMS_decrypt_set1_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1122,1
    - Dst: CMS_add0_recipient_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:996,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1025,1
    - Dst: CMS_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1166,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:842,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:856,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1245,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1271,1
    CyclomaticComplexity: 485
    EdgeCount: 485
    ICount: 860
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 1277
    functionName: cms_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - app_malloc
    - opt_rest
    - sk_OPENSSL_STRING_free
    - CMS_EncryptedData_decrypt
    - sk_CMS_SignerInfo_value
    - CMS_final
    - CMS_decrypt
    - NCONF_free
    - ERR_print_errors
    - sk_X509_num
    - receipt_request_print
    - set_nameopt
    - CMS_add0_recipient_password
    - CMS_sign_receipt
    - make_receipt_request
    - X509_STORE_set1_param
    - app_RAND_load
    - get_nameopt
    - app_get0_libctx
    - CMS_verify
    - opt_cipher_any
    - release_engine
    - X509_VERIFY_PARAM_new
    - app_get0_propq
    - opt_arg
    - CMS_add1_signer
    - opt_init
    - sk_X509_new_null
    - CMS_get0_SignerInfos
    - CMS_ContentInfo_print_ctx
    - X509_STORE_set_verify_cb
    - sk_X509_push
    - CMS_get1_certs
    - opt_provider
    - STACK_OF
    - CMS_compress
    - sk_OPENSSL_STRING_num
    - EVP_CIPHER_free
    - OPENSSL_free
    - cms_set_pkey_param
    - ASN1_PCTX_new
    - ASN1_PCTX_set_str_flags
    - PEM_write_bio_CMS_stream
    - CMS_decrypt_set1_pkey_and_peer
    - EVP_MD_free
    - load_content_info
    - sk_OPENSSL_STRING_push
    - opt_verify
    - ASN1_PCTX_free
    - CMS_digest_create_ex
    - SMIME_write_CMS
    - CMS_RecipientInfo_type
    - CMS_RecipientInfo_kari_get0_ctx
    - bio_open_default
    - EVP_des_ede3_cbc
    - X509_STORE_free
    - app_passwd
    - BIO_puts
    - load_certs
    - i2d_CMS_bio_stream
    - CMS_add1_ReceiptRequest
    - opt_rand
    - opt_flag
    - opt_md
    - EVP_PKEY_free
    - CMS_decrypt_set1_key
    - CMS_SignerInfo_get0_pkey_ctx
    - CMS_get0_signers
    - sk_X509_value
    - setup_verify
    - CMS_digest_verify
    - BIO_printf
    - OPENSSL_strdup
    - app_load_config_modules
    - CMS_data_create_ex
    - CMS_uncompress
    - sk_OPENSSL_STRING_new_null
    - BIO_new_file
    - CMS_decrypt_set1_password
    - CMS_add1_recipient
    - ASN1_PCTX_set_flags
    - CMS_sign_ex
    - CMS_verify_receipt
    - CMS_data
    - CMS_RecipientInfo_get0_pkey_ctx
    - CMS_ContentInfo_free
    - CMS_EncryptedData_encrypt_ex
    - BIO_free
    - opt_format
    - ASN1_OBJECT_free
    - load_key
    - CMS_add0_recipient_key
    - OPENSSL_hexstr2buf
    - EVP_EncryptInit_ex
    - X509_free
    - load_cert
    - BIO_free_all
    - save_certs
    - sk_X509_pop_free
    - X509_VERIFY_PARAM_free
    - ASN1_PCTX_set_nm_flags
    - EVP_CIPHER_get_nid
    - setup_engine
    - opt_unknown
    - opt_num_rest
    - EVP_PKEY_CTX_ctrl
    - opt_help
    - OBJ_txt2obj
    - CMS_ReceiptRequest_free
    - CMS_set1_eContentType
    - sk_X509_free
    - CMS_encrypt_ex
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int cms_main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_SignerInfos
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1341,1
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1344,1
    - Dst: CMS_ReceiptRequest_get0_values
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1354,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1358,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1357,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1374,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1345,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1343,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1349,1
    - Dst: BIO_dump_indent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1359,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1367,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1360,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1371,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1350,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1362,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1342,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1347,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1356,1
    - Dst: gnames_stack_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1363,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1369,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1365,1
    - Dst: gnames_stack_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1372,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1376
    functionName: receipt_request_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_print_errors
    - ASN1_STRING_length
    - sk_CMS_SignerInfo_value
    - sk_CMS_SignerInfo_num
    - CMS_ReceiptRequest_get0_values
    - BIO_dump_indent
    - CMS_ReceiptRequest_free
    - CMS_get1_ReceiptRequest
    - gnames_stack_print
    - ASN1_STRING_get0_data
    - CMS_get0_SignerInfos
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'static void receipt_request_print(CMS_ContentInfo *cms) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_names_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1419,1
    - Dst: CMS_ReceiptRequest_create0_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1429,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1435,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1430,1
    - Dst: make_names_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1423,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - rr_to
    - rr_allorfirst
    - rr_from
    argTypes:
    - STACK_OF(OPENSSL_STRING)*
    - int
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1438
    functionName: make_receipt_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAMES_pop_free
    - CMS_ReceiptRequest_create0_ex
    - make_names_stack
    - app_get0_libctx
    linkageType: ''
    returnType: CMS_ReceiptRequest*
    signature: 'static CMS_ReceiptRequest *make_receipt_request(STACK_OF(OPENSSL_STRING)
      *rr_to, int rr_allorfirst, STACK_OF(OPENSSL_STRING) *rr_from) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1445,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1448,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1450,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1447,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1449,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pctx
    - param
    argTypes:
    - EVP_PKEY_CTX*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1456
    functionName: cms_set_pkey_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - sk_OPENSSL_STRING_value
    - pkey_ctrl_string
    linkageType: ''
    returnType: int
    signature: 'static int cms_set_pkey_param(EVP_PKEY_CTX *pctx, STACK_OF(OPENSSL_STRING)
      *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1285,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1288,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1290,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1289,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c:1289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - signerfile
    - signers
    argTypes:
    - char*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1292
    functionName: save_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cms.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_free
    - sk_X509_num
    - sk_X509_value
    - PEM_write_bio_X509
    linkageType: ''
    returnType: int
    signature: 'static int save_certs(char *signerfile, STACK_OF(X509) *signers) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - set
    - bit
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: bit_isset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int bit_isset(unsigned char *set, unsigned int bit) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:251,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:261,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:316,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:247,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:256,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:279,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:287,1
    - Dst: X509_CRL_get_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:285,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:277,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:267,1
    - Dst: sk_X509_INFO_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:274,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:300,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:305,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:257,1
    - Dst: sk_X509_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:266,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:270,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:300,1
    - Dst: X509_NAME_hash_old
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:311,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:245,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:255,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:248,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:262,1
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:278,1
    - Dst: X509_CRL_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:286,1
    - Dst: X509_NAME_hash_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:299,1
    - Dst: add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:303,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:306,1
    - Dst: add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:311,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 73
    argCount: 3
    argNames:
    - filename
    - fullpath
    - h
    argTypes:
    - char*
    - char*
    - enum Hash
    constantsTouched: []
    func_position:
      end: 318
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 318
    functionName: do_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - BIO_free
    - PEM_X509_INFO_read_bio
    - strrchr
    - sk_X509_INFO_pop_free
    - X509_get_subject_name
    - BIO_printf
    - X509_digest
    - X509_NAME_hash_ex
    - BIO_new_file
    - add_entry
    - X509_CRL_digest
    - sk_X509_INFO_value
    - app_get0_libctx
    - OPENSSL_strcasecmp
    - X509_NAME_hash_old
    - sk_X509_INFO_num
    - app_get0_propq
    - OSSL_NELEM
    - opt_getprog
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: 'static int do_file(const char *filename, const char *fullpath, enum
      Hash h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: str_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void str_free(char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: sk_strcmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int sk_strcmp(const char * const *a, const char * const *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - target
    - linkpath
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: symlink
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int symlink(const char *target, const char *linkpath) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pathname
    - buf
    - bufsiz
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: readlink
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: 'ssize_t readlink(const char *pathname, char *buf, size_t bufsiz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - set
    - bit
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: bit_set
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void bit_set(unsigned char *set, unsigned int bit) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: ends_with_dirsep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int ends_with_dirsep(const char *path) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:542,1
    - Dst: do_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:557,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:558,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:563,1
    - Dst: do_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:562,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:519,1
    - Dst: X509_get_default_cert_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:565,1
    - Dst: do_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:565,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:560,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:561,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:561,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:524,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:550,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:552,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:553,1
    - Dst: X509_get_default_cert_dir_env
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:558,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:520,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:527,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:549,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 570
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 570
    functionName: rehash_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - X509_get_default_cert_dir_env
    - strtok
    - X509_get_default_cert_dir
    - opt_rest
    - opt_help
    - OPENSSL_free
    - opt_init
    - EVP_sha1
    - EVP_MD_get_size
    - getenv
    - opt_next
    - do_dir
    - opt_provider
    - opt_num_rest
    linkageType: ''
    returnType: int
    signature: 'int rehash_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: rehash_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'int rehash_main(int argc, char **argv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:127,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:133,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:143,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:142,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:145,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:158,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:160,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:163,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:166,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:168,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:170,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:185,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 6
    argNames:
    - type
    - hash
    - filename
    - digest
    - need_symlink
    - old_id
    argTypes:
    - enum Type
    - unsigned int
    - char*
    - unsigned char*
    - int
    - unsigned short
    constantsTouched: []
    func_position:
      end: 188
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 188
    functionName: add_entry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - memcmp
    - app_malloc
    - strcmp
    - OPENSSL_free
    - memcpy
    - OSSL_NELEM
    - opt_getprog
    linkageType: ''
    returnType: int
    signature: 'static int add_entry(enum Type type, unsigned int hash, const char
      *filename, const unsigned char *digest, int need_symlink, unsigned short old_id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:204,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:211,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:207,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:213,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:213,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:216,1
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:218,1
    - Dst: readlink
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:222,1
    - Dst: add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:227,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - filename
    - fullpath
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 228
    functionName: handle_symlink
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - OPENSSL_hexchar2int
    - add_entry
    - isxdigit
    - OSSL_NELEM
    - readlink
    - strtoul
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int handle_symlink(const char *filename, const char *fullpath) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:365,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:362,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:372,1
    - Dst: sk_OPENSSL_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:374,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:375,1
    - Dst: OPENSSL_DIR_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:379,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:380,1
    - Dst: sk_OPENSSL_STRING_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:394,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:397,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:399,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:466,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:479,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:382,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:470,1
    - Dst: OPENSSL_DIR_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:385,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:450,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:359,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:384,1
    - Dst: S_ISLNK
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:407,1
    - Dst: bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:419,1
    - Dst: bit_isset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:432,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:439,1
    - Dst: unlink
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:441,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:444,1
    - Dst: bit_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:454,1
    - Dst: OPENSSL_DIR_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:393,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:401,1
    - Dst: lstat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:405,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:425,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:435,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:442,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:444,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:448,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:451,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:457,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:402,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:473,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:471,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:461,1
    - Dst: app_access
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:361,1
    - Dst: ends_with_dirsep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:366,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:383,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:386,1
    - Dst: handle_symlink
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:407,1
    - Dst: do_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:409,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:412,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:416,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:464,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:466,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:480,1
    - Dst: unlink
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:463,1
    - Dst: symlink
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:447,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c:428,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 126
    argCount: 2
    argNames:
    - dirname
    - h
    argTypes:
    - char*
    - enum Hash
    constantsTouched: []
    func_position:
      end: 482
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 482
    functionName: do_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rehash.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - app_malloc
    - strerror
    - app_access
    - BIO_snprintf
    - do_file
    - symlink
    - STACK_OF
    - BIO_printf
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_num
    - OPENSSL_free
    - sk_OPENSSL_STRING_sort
    - lstat
    - bit_isset
    - bit_set
    - sk_OPENSSL_STRING_push
    - ends_with_dirsep
    - sk_OPENSSL_STRING_new
    - S_ISLNK
    - strlen
    - sk_OPENSSL_STRING_pop_free
    - OPENSSL_DIR_end
    - handle_symlink
    - OPENSSL_DIR_read
    - OSSL_NELEM
    - unlink
    - BIO_puts
    - opt_getprog
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int do_dir(const char *dirname, enum Hash h) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:96,1
    - Dst: PEM_write_bio_RSAPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:108,1
    - Dst: i2d_RSAPublicKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:103,1
    - Dst: i2d_RSA_PUBKEY_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:105,1
    - Dst: PEM_write_bio_RSA_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:110,1
    - Dst: i2b_PublicKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - pkey
    - outformat
    - pubout
    - out
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - BIO*
    constantsTouched: []
    func_position:
      end: 119
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 119
    functionName: try_legacy_encoding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c
    functionUses: []
    functionsReached:
    - PEM_write_bio_RSA_PUBKEY
    - i2b_PublicKey_bio
    - EVP_PKEY_get0_RSA
    - i2d_RSA_PUBKEY_bio
    - i2d_RSAPublicKey_bio
    - PEM_write_bio_RSAPublicKey
    linkageType: ''
    returnType: int
    signature: 'static int try_legacy_encoding(EVP_PKEY *pkey, int outformat, int
      pubout, BIO *out) '
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:224,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:260,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:269,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:270,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:271,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:272,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:283,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:295,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:298,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:392,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:410,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:304,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:401,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:376,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:400,1
    - Dst: get_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:380,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:340,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:316,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:150,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:161,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:165,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:219,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:234,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:250,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:252,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:259,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:285,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:286,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:292,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:376,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:407,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:294,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:408,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:412,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:282,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:302,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:399,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:332,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:353,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:141,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:154,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:142,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:158,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:161,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:168,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:264,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:273,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:284,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:305,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:368,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:380,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:307,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:394,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:411,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:383,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:362,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:385,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:327,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:147,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:154,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:206,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:174,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:229,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:174,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:230,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:256,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:259,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:393,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:299,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:365,1
    - Dst: try_legacy_encoding
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:367,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:406,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c:409,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 216
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 414
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 414
    functionName: rsa_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rsa.c
    functionUses: []
    functionsReached:
    - opt_format
    - EVP_PKEY_free
    - load_key
    - EVP_PKEY_is_a
    - try_legacy_encoding
    - OSSL_ENCODER_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_print_private
    - EVP_PKEY_CTX_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - opt_provider
    - opt_cipher
    - BIO_printf
    - load_pubkey
    - perror
    - BN_print
    - bio_open_owner
    - OSSL_PARAM_construct_int
    - BIO_free_all
    - ERR_print_errors
    - OSSL_ENCODER_CTX_get_num_encoders
    - EVP_CIPHER_free
    - OPENSSL_free
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_cipher
    - setup_engine
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - EVP_PKEY_print_public
    - opt_unknown
    - opt_num_rest
    - OSSL_ENCODER_to_bio
    - opt_help
    - EVP_PKEY_check
    - EVP_PKEY_get_bn_param
    - get_ui_method
    - strlen
    - release_engine
    - assert
    - opt_arg
    - opt_init
    - BN_free
    - app_passwd
    - opt_next
    - EVP_CIPHER_get0_name
    - OSSL_ENCODER_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'int rsa_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:91,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:92,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:92,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:91,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_CIPHER**
    - EVP_CIPHER**
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: cipher_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_CIPHER)
    signature: 'DEFINE_STACK_OF(EVP_CIPHER) static int cipher_cmp(const EVP_CIPHER
      * const *a, const EVP_CIPHER * const *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_MD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:190,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:194,1
    - Dst: sk_EVP_MD_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:207,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:217,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:216,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:220,1
    - Dst: EVP_MD_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:223,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:227,1
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:199,1
    - Dst: include_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:198,1
    - Dst: sk_EVP_MD_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:208,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:214,1
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:232,1
    - Dst: sk_EVP_MD_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:206,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:211,1
    - Dst: EVP_MD_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:215,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:220,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:219,1
    - Dst: EVP_MD_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:228,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:229,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:231,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:235,1
    - Dst: EVP_MD_do_all_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:200,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:204,1
    - Dst: EVP_MD_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:205,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:205,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:226,1
    - Dst: sk_EVP_MD_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 238
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 238
    functionName: list_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_MD_settable_ctx_params
    - sk_EVP_MD_num
    - EVP_MD_gettable_ctx_params
    - EVP_MD_do_all_provided
    - STACK_OF
    - BIO_printf
    - EVP_MD_get0_provider
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - EVP_MD_names_do_all
    - EVP_MD_get0_description
    - include_legacy
    - print_names
    - OSSL_PROVIDER_get0_name
    - sk_EVP_MD_value
    - sk_EVP_MD_new
    - sk_EVP_MD_sort
    - EVP_MD_gettable_params
    - print_param_types
    - sk_EVP_MD_pop_free
    - EVP_MD_is_a
    - EVP_MD_do_all_sorted
    - sk_OPENSSL_CSTRING_free
    linkageType: ''
    returnType: void
    signature: 'static void list_digests(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:307,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:307,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:308,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:308,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KDF**
    - EVP_KDF**
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: kdf_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_KDF_get0_provider
    - strcmp
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_KDF)
    signature: 'DEFINE_STACK_OF(EVP_KDF) static int kdf_cmp(const EVP_KDF * const
      *a, const EVP_KDF * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_rand_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:385,1
    - Dst: EVP_RAND_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:387,1
    - Dst: sk_EVP_RAND_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - rand
    - stack
    argTypes:
    - EVP_RAND*
    - void*
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: collect_rands
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - is_rand_fetchable
    - EVP_RAND_up_ref
    - sk_EVP_RAND_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_rands(EVP_RAND *rand, void *stack) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:329,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:330,1
    - Dst: sk_EVP_KDF_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:333,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:351,1
    - Dst: sk_EVP_KDF_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:362,1
    - Dst: sk_EVP_KDF_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:331,1
    - Dst: EVP_KDF_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:336,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:342,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:345,1
    - Dst: EVP_KDF_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:348,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:341,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:352,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:354,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:356,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:360,1
    - Dst: EVP_KDF_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:330,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:339,1
    - Dst: sk_EVP_KDF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:322,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:326,1
    - Dst: sk_EVP_KDF_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:332,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:334,1
    - Dst: EVP_KDF_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:340,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:345,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:344,1
    - Dst: EVP_KDF_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:353,1
    - Dst: EVP_KDF_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:355,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:357,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 363
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 363
    functionName: list_kdfs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_KDF_do_all_provided
    - sk_EVP_KDF_num
    - sk_EVP_KDF_sort
    - sk_EVP_KDF_value
    - STACK_OF
    - BIO_printf
    - EVP_KDF_settable_ctx_params
    - EVP_KDF_gettable_params
    - EVP_KDF_gettable_ctx_params
    - sk_EVP_KDF_new
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - sk_EVP_KDF_pop_free
    - print_names
    - OSSL_PROVIDER_get0_name
    - EVP_KDF_names_do_all
    - EVP_KDF_is_a
    - EVP_KDF_get0_provider
    - print_param_types
    - EVP_KDF_get0_description
    - sk_OPENSSL_CSTRING_free
    linkageType: ''
    returnType: void
    signature: 'static void list_kdfs(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:892,1
    - Dst: EVP_KEYEXCH_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:899,1
    - Dst: EVP_KEYEXCH_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:903,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:908,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:909,1
    - Dst: EVP_KEYEXCH_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:917,1
    - Dst: EVP_KEYEXCH_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:919,1
    - Dst: sk_EVP_KEYEXCH_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:924,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:890,1
    - Dst: sk_EVP_KEYEXCH_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:893,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:915,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:926,1
    - Dst: EVP_KEYEXCH_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:892,1
    - Dst: sk_EVP_KEYEXCH_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:896,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:897,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:906,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:916,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:909,1
    - Dst: EVP_KEYEXCH_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:912,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:905,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:918,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:922,1
    - Dst: sk_EVP_KEYEXCH_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:890,1
    - Dst: sk_EVP_KEYEXCH_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:895,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 927
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 927
    functionName: list_keyexchanges
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - STACK_OF
    - BIO_printf
    - EVP_KEYEXCH_settable_ctx_params
    - sk_EVP_KEYEXCH_num
    - EVP_KEYEXCH_gettable_ctx_params
    - sk_EVP_KEYEXCH_sort
    - EVP_KEYEXCH_do_all_provided
    - EVP_KEYEXCH_get0_provider
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - print_names
    - OSSL_PROVIDER_get0_name
    - EVP_KEYEXCH_is_a
    - sk_EVP_KEYEXCH_new
    - EVP_KEYEXCH_get0_description
    - print_param_types
    - sk_EVP_KEYEXCH_pop_free
    - sk_OPENSSL_CSTRING_free
    - EVP_KEYEXCH_names_do_all
    - sk_EVP_KEYEXCH_value
    linkageType: ''
    returnType: void
    signature: 'static void list_keyexchanges(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1176,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1177,1
    - Dst: sk_OSSL_STORE_LOADER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1181,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1196,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1187,1
    - Dst: sk_OSSL_STORE_LOADER_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1179,1
    - Dst: OSSL_STORE_LOADER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1184,1
    - Dst: OSSL_STORE_LOADER_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1188,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1194,1
    - Dst: OSSL_STORE_LOADER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1177,1
    - Dst: sk_OSSL_STORE_LOADER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1198,1
    - Dst: sk_OSSL_STORE_LOADER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1173,1
    - Dst: sk_OSSL_STORE_LOADER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1180,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1182,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1191,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1194,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1190,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1199
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1199
    functionName: list_store_loaders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OPENSSL_CSTRING_free
    - OSSL_STORE_LOADER_is_a
    - sk_OSSL_STORE_LOADER_value
    - OSSL_STORE_LOADER_names_do_all
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - print_names
    - sk_OSSL_STORE_LOADER_sort
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_STORE_LOADER_new
    - sk_OSSL_STORE_LOADER_num
    - sk_OSSL_STORE_LOADER_pop_free
    - OSSL_STORE_LOADER_do_all_provided
    - OSSL_STORE_LOADER_get0_provider
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: 'static void list_store_loaders(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - provider
    - stack
    argTypes:
    - OSSL_PROVIDER*
    - void*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1216
    functionName: collect_providers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - sk_OSSL_PROVIDER_push
    linkageType: ''
    returnType: int
    signature: 'static int collect_providers(OSSL_PROVIDER *provider, void *stack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:99,1
    - Dst: sk_EVP_CIPHER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:100,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - cipher
    - stack
    argTypes:
    - EVP_CIPHER*
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: collect_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - is_cipher_fetchable
    - EVP_CIPHER_up_ref
    - sk_EVP_CIPHER_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_ciphers(EVP_CIPHER *cipher, void *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:243,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:243,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:244,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:243,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_MAC**
    - EVP_MAC**
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: mac_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_MAC)
    signature: 'DEFINE_STACK_OF(EVP_MAC) static int mac_cmp(const EVP_MAC * const
      *a, const EVP_MAC * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_kdf_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:315,1
    - Dst: EVP_KDF_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:317,1
    - Dst: sk_EVP_KDF_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - kdf
    - stack
    argTypes:
    - EVP_KDF*
    - void*
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: collect_kdfs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - sk_EVP_KDF_push
    - EVP_KDF_up_ref
    - is_kdf_fetchable
    linkageType: ''
    returnType: void
    signature: 'static void collect_kdfs(EVP_KDF *kdf, void *stack) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:399,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:400,1
    - Dst: sk_EVP_RAND_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:403,1
    - Dst: sk_EVP_RAND_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:392,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:396,1
    - Dst: sk_EVP_RAND_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:401,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:406,1
    - Dst: EVP_RAND_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:406,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:408,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:409,1
    - Dst: EVP_RAND_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:408,1
    - Dst: EVP_RAND_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:418,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:410,1
    - Dst: EVP_RAND_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:400,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:416,1
    - Dst: sk_EVP_RAND_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:425,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:421,1
    - Dst: sk_EVP_RAND_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:402,1
    - Dst: EVP_RAND_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:413,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:417,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:410,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:419,1
    - Dst: EVP_RAND_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:420,1
    - Dst: EVP_RAND_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 426
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 426
    functionName: list_random_generators
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - sk_EVP_RAND_new
    - BIO_printf
    - EVP_RAND_settable_ctx_params
    - EVP_RAND_gettable_params
    - sk_EVP_RAND_sort
    - EVP_RAND_gettable_ctx_params
    - print_param_types
    - EVP_RAND_do_all_provided
    - app_get0_libctx
    - OPENSSL_strcasecmp
    - EVP_RAND_get0_provider
    - EVP_RAND_get0_description
    - sk_EVP_RAND_value
    - OSSL_PROVIDER_get0_name
    - sk_EVP_RAND_num
    - EVP_RAND_get0_name
    - sk_EVP_RAND_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void list_random_generators(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_new_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:931,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:938,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:940,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:939,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:948,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:950,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:953,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:954,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:961,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:963,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:970,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:976,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:971,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:968,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:973,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 977
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 977
    functionName: list_objects
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - OBJ_new_nid
    - ERR_clear_error
    - BIO_printf
    - OBJ_nid2sn
    - OBJ_obj2nid
    - OPENSSL_realloc
    - strcmp
    - OPENSSL_free
    - OBJ_nid2obj
    - OBJ_nid2ln
    - OBJ_obj2txt
    linkageType: ''
    returnType: void
    signature: 'static void list_objects(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1205,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1205,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_PROVIDER**
    - OSSL_PROVIDER**
    constantsTouched: []
    func_position:
      end: 1206
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1206
    functionName: provider_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_PROVIDER)
    signature: 'DEFINE_STACK_OF(OSSL_PROVIDER) static int provider_cmp(const OSSL_PROVIDER
      * const *a, const OSSL_PROVIDER * const *b) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1240,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1250,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1254,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1266,1
    - Dst: OSSL_PROVIDER_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1271,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1275,1
    - Dst: sk_OSSL_PROVIDER_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1238,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1253,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1255,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1262,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1264,1
    - Dst: sk_OSSL_PROVIDER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1220,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1233,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1227,1
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1231,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1241,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1243,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1248,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1246,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1261,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1263,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1269,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1232,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1237,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1239,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1251,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1256,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1265,1
    - Dst: OSSL_PARAM_modified
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1268,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1276
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1276
    functionName: list_provider_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OSSL_PROVIDER_num
    - OSSL_PARAM_construct_int
    - OSSL_PROVIDER_get_params
    - print_param_types
    - sk_OSSL_PROVIDER_sort
    - sk_OSSL_PROVIDER_value
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PROVIDER_gettable_params
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_PROVIDER_new
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PARAM_modified
    - sk_OSSL_PROVIDER_free
    - OSSL_PROVIDER_do_all
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: void
    signature: 'static void list_provider_info(void) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1557,1
    - Dst: list_options_for_command
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1643,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1563,1
    - Dst: list_random_instances
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1666,1
    - Dst: list_kdfs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1674,1
    - Dst: list_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1680,1
    - Dst: list_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1684,1
    - Dst: list_signatures
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1688,1
    - Dst: list_keyexchanges
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1692,1
    - Dst: list_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1696,1
    - Dst: list_disabled
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1708,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1652,1
    - Dst: list_keymanagers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1686,1
    - Dst: list_kems
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1694,1
    - Dst: list_provider_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1702,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1566,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1643,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1649,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1660,1
    - Dst: list_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1664,1
    - Dst: list_random_generators
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1668,1
    - Dst: list_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1670,1
    - Dst: list_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1672,1
    - Dst: list_macs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1676,1
    - Dst: list_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1678,1
    - Dst: list_store_loaders
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1700,1
    - Dst: list_engines
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1705,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1558,1
    - Dst: list_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1710,1
    - Dst: list_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1682,1
    - Dst: list_asymciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1690,1
    - Dst: list_pkey_meth
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1698,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1716
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1716
    functionName: list_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - list_pkey
    - list_encoders
    - list_store_loaders
    - list_keyexchanges
    - list_objects
    - list_random_generators
    - opt_provider
    - BIO_printf
    - list_decoders
    - list_kdfs
    - list_random_instances
    - opt_num_rest
    - list_kems
    - opt_help
    - list_options_for_command
    - list_keymanagers
    - list_asymciphers
    - list_ciphers
    - list_engines
    - list_disabled
    - opt_arg
    - opt_init
    - list_macs
    - list_type
    - list_digests
    - list_provider_info
    - list_pkey_meth
    - opt_next
    - list_signatures
    linkageType: ''
    returnType: int
    signature: 'int list_main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_CIPHER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:106,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:110,1
    - Dst: sk_EVP_CIPHER_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:122,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:132,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:125,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:133,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:136,1
    - Dst: EVP_CIPHER_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:139,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:143,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:145,1
    - Dst: EVP_CIPHER_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:115,1
    - Dst: include_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:114,1
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:121,1
    - Dst: sk_EVP_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:123,1
    - Dst: sk_EVP_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:124,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:130,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:136,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:127,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:135,1
    - Dst: EVP_CIPHER_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:131,1
    - Dst: EVP_CIPHER_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:144,1
    - Dst: EVP_CIPHER_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:146,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:147,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:151,1
    - Dst: sk_EVP_CIPHER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:153,1
    - Dst: EVP_CIPHER_do_all_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:116,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:120,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:121,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 154
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 154
    functionName: list_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_do_all_provided
    - sk_EVP_CIPHER_num
    - EVP_CIPHER_is_a
    - STACK_OF
    - BIO_printf
    - EVP_CIPHER_gettable_params
    - sk_EVP_CIPHER_sort
    - EVP_CIPHER_settable_ctx_params
    - EVP_CIPHER_get0_description
    - EVP_CIPHER_do_all_sorted
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - include_legacy
    - print_names
    - OSSL_PROVIDER_get0_name
    - EVP_CIPHER_get0_provider
    - EVP_CIPHER_names_do_all
    - print_param_types
    - sk_EVP_CIPHER_pop_free
    - EVP_CIPHER_gettable_ctx_params
    - sk_EVP_CIPHER_new
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_CIPHER_value
    linkageType: ''
    returnType: void
    signature: 'static void list_ciphers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:175,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:175,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:175,1
    - Dst: EVP_MD_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:176,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_MD**
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: md_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_provider
    - strcmp
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_MD)
    signature: 'DEFINE_STACK_OF(EVP_MD) static int md_cmp(const EVP_MD * const *a,
      const EVP_MD * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:251,1
    - Dst: EVP_MAC_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:253,1
    - Dst: sk_EVP_MAC_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - mac
    - stack
    argTypes:
    - EVP_MAC*
    - void*
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: collect_macs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_MAC_up_ref
    - is_mac_fetchable
    - sk_EVP_MAC_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_macs(EVP_MAC *mac, void *stack) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:437,1
    - Dst: EVP_RAND_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:441,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:439,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:442,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:441,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:443,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:443,1
    - Dst: EVP_RAND_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:445,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:459,1
    - Dst: EVP_RAND_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:461,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:465,1
    - Dst: print_param_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:484,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:483,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 2
    argNames:
    - name
    - drbg
    argTypes:
    - char*
    - EVP_RAND_CTX*
    constantsTouched: []
    func_position:
      end: 487
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 487
    functionName: display_random
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_RAND_gettable_ctx_params
    - EVP_RAND_CTX_get_params
    - EVP_RAND_CTX_get0_rand
    - OPENSSL_strcasecmp
    - EVP_RAND_get0_provider
    - print_param_value
    - OSSL_PROVIDER_get0_name
    - EVP_RAND_get0_name
    - EVP_RAND_get_state
    linkageType: ''
    returnType: void
    signature: 'static void display_random(const char *name, EVP_RAND_CTX *drbg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_decoder_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:576,1
    - Dst: sk_OSSL_DECODER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:577,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - decoder
    - stack
    argTypes:
    - OSSL_DECODER*
    - void*
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: collect_decoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - OSSL_DECODER_up_ref
    - is_decoder_fetchable
    - sk_OSSL_DECODER_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_decoders(OSSL_DECODER *decoder, void *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:630,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:631,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:630,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:630,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEYMGMT**
    - EVP_KEYMGMT**
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: keymanager_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_KEYMGMT)
    signature: 'DEFINE_STACK_OF(EVP_KEYMGMT) static int keymanager_cmp(const EVP_KEYMGMT
      * const *a, const EVP_KEYMGMT * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_signature_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:701,1
    - Dst: sk_EVP_SIGNATURE_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:702,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:703,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - sig
    - stack
    argTypes:
    - EVP_SIGNATURE*
    - void*
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: collect_signatures
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - sk_EVP_SIGNATURE_push
    - EVP_SIGNATURE_up_ref
    - is_signature_fetchable
    linkageType: ''
    returnType: void
    signature: 'static void collect_signatures(EVP_SIGNATURE *sig, void *stack) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_KEM_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:775,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:776,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:787,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:788,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:795,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:797,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:801,1
    - Dst: sk_EVP_KEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:769,1
    - Dst: sk_EVP_KEM_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:774,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:781,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:794,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:784,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:771,1
    - Dst: EVP_KEM_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:778,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:785,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:788,1
    - Dst: EVP_KEM_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:791,1
    - Dst: EVP_KEM_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:782,1
    - Dst: EVP_KEM_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:796,1
    - Dst: EVP_KEM_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:798,1
    - Dst: sk_EVP_KEM_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:803,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:769,1
    - Dst: sk_EVP_KEM_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:772,1
    - Dst: EVP_KEM_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:771,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 806
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 806
    functionName: list_kems
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_KEM_names_do_all
    - sk_EVP_KEM_value
    - STACK_OF
    - sk_EVP_KEM_sort
    - BIO_printf
    - EVP_KEM_is_a
    - sk_EVP_KEM_pop_free
    - EVP_KEM_get0_provider
    - app_get0_libctx
    - EVP_KEM_do_all_provided
    - sk_OPENSSL_CSTRING_new
    - sk_EVP_KEM_new
    - print_names
    - sk_EVP_KEM_num
    - OSSL_PROVIDER_get0_name
    - EVP_KEM_get0_description
    - EVP_KEM_settable_ctx_params
    - print_param_types
    - sk_OPENSSL_CSTRING_free
    - EVP_KEM_gettable_ctx_params
    linkageType: ''
    returnType: void
    signature: 'static void list_kems(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_digest_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:183,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:185,1
    - Dst: sk_EVP_MD_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - digest
    - stack
    argTypes:
    - EVP_MD*
    - void*
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: collect_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - is_digest_fetchable
    - EVP_MD_up_ref
    - sk_EVP_MD_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_digests(EVP_MD *digest, void *stack) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_MAC_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:267,1
    - Dst: EVP_MAC_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:272,1
    - Dst: EVP_MAC_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:276,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:281,1
    - Dst: EVP_MAC_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:284,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:288,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:290,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:292,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:293,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:296,1
    - Dst: EVP_MAC_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:266,1
    - Dst: sk_EVP_MAC_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:258,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:262,1
    - Dst: sk_EVP_MAC_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:268,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:270,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:278,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:281,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:277,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:280,1
    - Dst: EVP_MAC_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:289,1
    - Dst: EVP_MAC_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:291,1
    - Dst: sk_EVP_MAC_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:298,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:266,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:265,1
    - Dst: sk_EVP_MAC_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:269,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:287,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:275,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 299
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 299
    functionName: list_macs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_MAC_gettable_params
    - sk_EVP_MAC_pop_free
    - STACK_OF
    - BIO_printf
    - EVP_MAC_is_a
    - EVP_MAC_settable_ctx_params
    - sk_EVP_MAC_sort
    - sk_EVP_MAC_num
    - EVP_MAC_get0_provider
    - sk_EVP_MAC_value
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - print_names
    - OSSL_PROVIDER_get0_name
    - sk_EVP_MAC_new
    - EVP_MAC_names_do_all
    - print_param_types
    - EVP_MAC_get0_description
    - sk_OPENSSL_CSTRING_free
    - EVP_MAC_gettable_ctx_params
    - EVP_MAC_do_all_provided
    linkageType: ''
    returnType: void
    signature: 'static void list_macs(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_random
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:491,1
    - Dst: RAND_get0_public
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:492,1
    - Dst: display_random
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:493,1
    - Dst: RAND_get0_primary
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:491,1
    - Dst: display_random
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:492,1
    - Dst: RAND_get0_private
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: list_random_instances
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - RAND_get0_public
    - RAND_get0_primary
    - RAND_get0_private
    - display_random
    linkageType: ''
    returnType: void
    signature: 'static void list_random_instances(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:592,1
    - Dst: sk_OSSL_DECODER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:597,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:598,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:613,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:609,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:617,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:621,1
    - Dst: sk_OSSL_DECODER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:596,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:603,1
    - Dst: OSSL_DECODER_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:618,1
    - Dst: sk_OSSL_DECODER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:586,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:588,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:591,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:592,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:600,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:606,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:610,1
    - Dst: OSSL_DECODER_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:604,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:608,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:609,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:605,1
    - Dst: sk_OSSL_DECODER_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:594,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:616,1
    - Dst: sk_OSSL_DECODER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:623,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 624
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 624
    functionName: list_decoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - sk_OSSL_DECODER_sort
    - sk_OSSL_DECODER_num
    - OSSL_DECODER_get0_properties
    - OSSL_DECODER_is_a
    - STACK_OF
    - BIO_printf
    - OSSL_DECODER_get0_description
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - print_names
    - sk_OSSL_DECODER_pop_free
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_DECODER_value
    - OSSL_DECODER_settable_ctx_params
    - sk_OSSL_DECODER_new
    - print_param_types
    - OSSL_DECODER_do_all_provided
    - OSSL_DECODER_get0_provider
    - OSSL_DECODER_names_do_all
    - sk_OPENSSL_CSTRING_free
    linkageType: ''
    returnType: void
    signature: 'static void list_decoders(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_keymgmt_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:638,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:640,1
    - Dst: sk_EVP_KEYMGMT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - km
    - stack
    argTypes:
    - EVP_KEYMGMT*
    - void*
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: collect_keymanagers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_KEYMGMT_up_ref
    - sk_EVP_KEYMGMT_push
    - is_keymgmt_fetchable
    linkageType: ''
    returnType: void
    signature: 'static void collect_keymanagers(EVP_KEYMGMT *km, void *stack) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_SIGNATURE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:709,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:746,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:711,1
    - Dst: sk_EVP_SIGNATURE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:716,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:717,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:729,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:728,1
    - Dst: EVP_SIGNATURE_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:737,1
    - Dst: EVP_SIGNATURE_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:739,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:742,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:709,1
    - Dst: sk_EVP_SIGNATURE_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:713,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:722,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:735,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:725,1
    - Dst: EVP_SIGNATURE_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:711,1
    - Dst: sk_EVP_SIGNATURE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:715,1
    - Dst: EVP_SIGNATURE_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:719,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:729,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:726,1
    - Dst: EVP_SIGNATURE_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:732,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:736,1
    - Dst: EVP_SIGNATURE_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:723,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:738,1
    - Dst: sk_EVP_SIGNATURE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:744,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 747
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 747
    functionName: list_signatures
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_SIGNATURE_get0_provider
    - EVP_SIGNATURE_gettable_ctx_params
    - EVP_SIGNATURE_names_do_all
    - sk_EVP_SIGNATURE_sort
    - STACK_OF
    - BIO_printf
    - sk_EVP_SIGNATURE_new
    - sk_EVP_SIGNATURE_value
    - EVP_SIGNATURE_get0_description
    - EVP_SIGNATURE_settable_ctx_params
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - EVP_SIGNATURE_do_all_provided
    - print_names
    - OSSL_PROVIDER_get0_name
    - sk_EVP_SIGNATURE_pop_free
    - EVP_SIGNATURE_is_a
    - sk_EVP_SIGNATURE_num
    - print_param_types
    - sk_OPENSSL_CSTRING_free
    linkageType: ''
    returnType: void
    signature: 'static void list_signatures(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:812,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:813,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:812,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:812,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_ASYM_CIPHER**
    - EVP_ASYM_CIPHER**
    constantsTouched: []
    func_position:
      end: 814
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 814
    functionName: asymcipher_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_ASYM_CIPHER_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_ASYM_CIPHER)
    signature: 'DEFINE_STACK_OF(EVP_ASYM_CIPHER) static int asymcipher_cmp(const EVP_ASYM_CIPHER
      * const *a, const EVP_ASYM_CIPHER * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1016,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1020,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1021,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1019,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1020,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1023,1
    - Dst: get_digest_from_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1028
    functionName: is_md_available
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - app_get0_propq
    - app_get0_libctx
    - ERR_set_mark
    - get_digest_from_engine
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int is_md_available(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1125,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1128,1
    - Dst: include_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1127,1
    - Dst: EVP_PKEY_meth_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1130,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1133,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1134,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1134,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1135,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1140,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1141,1
    - Dst: list_keyexchanges
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1145,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1147,1
    - Dst: list_signatures
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1146,1
    - Dst: list_kems
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1143,1
    - Dst: list_asymciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1149
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1149
    functionName: list_pkey_meth
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - list_kems
    - EVP_PKEY_meth_get0
    - include_legacy
    - EVP_PKEY_meth_get0_info
    - list_asymciphers
    - OBJ_nid2ln
    - list_keyexchanges
    - EVP_PKEY_meth_get_count
    - list_signatures
    linkageType: ''
    returnType: void
    signature: 'static void list_pkey_meth(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1284,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1288,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1287,1
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1285,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1287,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1293
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1293
    functionName: list_engines
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ENGINE_get_id
    - ENGINE_get_first
    - BIO_puts
    - ENGINE_get_next
    linkageType: ''
    returnType: void
    signature: 'static void list_engines(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:503,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:503,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:504,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:504,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_ENCODER**
    - OSSL_ENCODER**
    constantsTouched: []
    func_position:
      end: 505
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 505
    functionName: encoder_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OSSL_ENCODER_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_ENCODER)
    signature: 'DEFINE_STACK_OF(OSSL_ENCODER) static int encoder_cmp(const OSSL_ENCODER
      * const *a, const OSSL_ENCODER * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_encoder_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:511,1
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:513,1
    - Dst: sk_OSSL_ENCODER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - encoder
    - stack
    argTypes:
    - OSSL_ENCODER*
    - void*
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: collect_encoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - is_encoder_fetchable
    - OSSL_ENCODER_up_ref
    - sk_OSSL_ENCODER_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_encoders(OSSL_ENCODER *encoder, void *stack) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: include_legacy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1090,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1097,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1092,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1096,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1091,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1100,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1100,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1101,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1102,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1104,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1111,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1116,1
    - Dst: list_keymanagers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1118,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1117,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1108,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1119
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1119
    functionName: list_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_asn1_get_count
    - EVP_PKEY_asn1_get0
    - include_legacy
    - list_keymanagers
    - EVP_PKEY_asn1_get0_info
    - OBJ_nid2ln
    linkageType: ''
    returnType: void
    signature: 'static void list_pkey(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: include_legacy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - app_get0_propq
    linkageType: ''
    returnType: int
    signature: 'static int include_legacy(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:161,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:161,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - m
    - from
    - to
    - arg
    argTypes:
    - EVP_MD*
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: legacy_md_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_MD_get0_name
    linkageType: ''
    returnType: void
    signature: 'static void legacy_md_fn(const EVP_MD *m, const char *from, const
      char *to, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:568,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:569,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:569,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:568,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_DECODER**
    - OSSL_DECODER**
    constantsTouched: []
    func_position:
      end: 570
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 570
    functionName: decoder_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OSSL_DECODER_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_DECODER)
    signature: 'DEFINE_STACK_OF(OSSL_DECODER) static int decoder_cmp(const OSSL_DECODER
      * const *a, const OSSL_DECODER * const *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:646,1
    - Dst: sk_EVP_KEYMGMT_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:650,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:670,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:665,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:669,1
    - Dst: EVP_KEYMGMT_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:661,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:676,1
    - Dst: EVP_KEYMGMT_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:648,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:653,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:654,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:663,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:667,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:667,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:671,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:673,1
    - Dst: EVP_KEYMGMT_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:679,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:681,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:684,1
    - Dst: sk_EVP_KEYMGMT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:646,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:652,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:659,1
    - Dst: EVP_KEYMGMT_gen_settable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:677,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:648,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:656,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:660,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:668,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:672,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:673,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:678,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:680,1
    - Dst: sk_EVP_KEYMGMT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:686,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 687
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 687
    functionName: list_keymanagers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - STACK_OF
    - BIO_printf
    - EVP_KEYMGMT_names_do_all
    - EVP_KEYMGMT_gen_settable_params
    - EVP_KEYMGMT_gettable_params
    - sk_EVP_KEYMGMT_new
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - EVP_KEYMGMT_is_a
    - EVP_KEYMGMT_settable_params
    - print_names
    - sk_OPENSSL_CSTRING_value
    - OSSL_PROVIDER_get0_name
    - EVP_KEYMGMT_get0_provider
    - sk_EVP_KEYMGMT_pop_free
    - sk_EVP_KEYMGMT_num
    - EVP_KEYMGMT_do_all_provided
    - sk_EVP_KEYMGMT_sort
    - print_param_types
    - sk_EVP_KEYMGMT_value
    - EVP_KEYMGMT_get0_description
    - sk_OPENSSL_CSTRING_free
    linkageType: ''
    returnType: void
    signature: 'static void list_keymanagers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:753,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:753,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:754,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:754,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEM**
    - EVP_KEM**
    constantsTouched: []
    func_position:
      end: 755
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 755
    functionName: kem_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_KEM)
    signature: 'DEFINE_STACK_OF(EVP_KEM) static int kem_cmp(const EVP_KEM * const
      *a, const EVP_KEM * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_asym_cipher_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:820,1
    - Dst: EVP_ASYM_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:822,1
    - Dst: sk_EVP_ASYM_CIPHER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:821,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - asym_cipher
    - stack
    argTypes:
    - EVP_ASYM_CIPHER*
    - void*
    constantsTouched: []
    func_position:
      end: 823
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 823
    functionName: collect_asymciph
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - is_asym_cipher_fetchable
    - EVP_ASYM_CIPHER_up_ref
    - sk_EVP_ASYM_CIPHER_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_asymciph(EVP_ASYM_CIPHER *asym_cipher, void *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:874,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:875,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:875,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:874,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEYEXCH**
    - EVP_KEYEXCH**
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: kex_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - EVP_KEYEXCH_get0_provider
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_KEYEXCH)
    signature: 'DEFINE_STACK_OF(EVP_KEYEXCH) static int kex_cmp(const EVP_KEYEXCH
      * const *a, const EVP_KEYEXCH * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1033,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1037,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1037,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1036,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1038,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1040,1
    - Dst: get_cipher_from_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1044,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1045
    functionName: is_cipher_available
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_free
    - app_get0_propq
    - app_get0_libctx
    - ERR_set_mark
    - EVP_CIPHER_fetch
    - get_cipher_from_engine
    linkageType: ''
    returnType: int
    signature: 'static int is_cipher_available(const char *name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:73,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:73,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:82,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:76,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - c
    - from
    - to
    - arg
    argTypes:
    - EVP_CIPHER*
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: legacy_cipher_fn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strcasecmp
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: void
    signature: 'static void legacy_cipher_fn(const EVP_CIPHER *c, const char *from,
      const char *to, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:693,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:694,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:694,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:693,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_SIGNATURE**
    - EVP_SIGNATURE**
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: signature_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_SIGNATURE_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_SIGNATURE)
    signature: 'DEFINE_STACK_OF(EVP_SIGNATURE) static int signature_cmp(const EVP_SIGNATURE
      * const *a, const EVP_SIGNATURE * const *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_kem_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:761,1
    - Dst: sk_EVP_KEM_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:762,1
    - Dst: EVP_KEM_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - kem
    - stack
    argTypes:
    - EVP_KEM*
    - void*
    constantsTouched: []
    func_position:
      end: 764
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 764
    functionName: collect_kem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - is_kem_fetchable
    - EVP_KEM_up_ref
    - sk_EVP_KEM_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_kem(EVP_KEM *kem, void *stack) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_ASYM_CIPHER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:829,1
    - Dst: sk_EVP_ASYM_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:835,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:842,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:846,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:831,1
    - Dst: EVP_ASYM_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:839,1
    - Dst: EVP_ASYM_CIPHER_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:844,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:847,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:850,1
    - Dst: EVP_ASYM_CIPHER_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:858,1
    - Dst: EVP_ASYM_CIPHER_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:860,1
    - Dst: sk_EVP_ASYM_CIPHER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:865,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:828,1
    - Dst: sk_EVP_ASYM_CIPHER_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:833,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:856,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:867,1
    - Dst: EVP_ASYM_CIPHER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:831,1
    - Dst: sk_EVP_ASYM_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:836,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:837,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:849,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:857,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:850,1
    - Dst: EVP_ASYM_CIPHER_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:853,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:859,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:863,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 868
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 868
    functionName: list_asymciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - EVP_ASYM_CIPHER_settable_ctx_params
    - EVP_ASYM_CIPHER_names_do_all
    - STACK_OF
    - BIO_printf
    - sk_EVP_ASYM_CIPHER_sort
    - EVP_ASYM_CIPHER_get0_description
    - EVP_ASYM_CIPHER_is_a
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - EVP_ASYM_CIPHER_get0_provider
    - print_names
    - OSSL_PROVIDER_get0_name
    - EVP_ASYM_CIPHER_gettable_ctx_params
    - EVP_ASYM_CIPHER_do_all_provided
    - print_param_types
    - sk_EVP_ASYM_CIPHER_new
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_ASYM_CIPHER_pop_free
    - sk_EVP_ASYM_CIPHER_num
    - sk_EVP_ASYM_CIPHER_value
    linkageType: ''
    returnType: void
    signature: 'static void list_asymciphers(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_keyexch_fetchable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:882,1
    - Dst: sk_EVP_KEYEXCH_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:883,1
    - Dst: EVP_KEYEXCH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - kex
    - stack
    argTypes:
    - EVP_KEYEXCH*
    - void*
    constantsTouched: []
    func_position:
      end: 885
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 885
    functionName: collect_kex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - is_keyexch_fetchable
    - EVP_KEYEXCH_up_ref
    - sk_EVP_KEYEXCH_push
    linkageType: ''
    returnType: void
    signature: 'static void collect_kex(EVP_KEYEXCH *kex, void *stack) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1053,1
    - Dst: calculate_columns
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1055,1
    - Dst: is_md_available
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1066,1
    - Dst: is_cipher_available
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1062,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1073,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1076,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1077,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1082,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - ft
    - one
    argTypes:
    - FUNC_TYPE
    - int
    constantsTouched: []
    func_position:
      end: 1083
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1083
    functionName: list_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - is_md_available
    - is_cipher_available
    - calculate_columns
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void list_type(FUNC_TYPE ft, int one) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_STORE_LOADER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1163,1
    - Dst: OSSL_STORE_LOADER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - store
    - stack
    argTypes:
    - OSSL_STORE_LOADER*
    - void*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1165
    functionName: collect_store_loaders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - sk_OSSL_STORE_LOADER_push
    - OSSL_STORE_LOADER_up_ref
    linkageType: ''
    returnType: void
    signature: 'static void collect_store_loaders(OSSL_STORE_LOADER *store, void *stack) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1303,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1315,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1321,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1333,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1345,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1360,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1366,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1378,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1390,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1402,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1405,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1393,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1435,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1300,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1312,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1330,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1342,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1357,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1375,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1387,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1399,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1411,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1417,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1309,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1327,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1339,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1354,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1372,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1384,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1396,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1408,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1414,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1420,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1423,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1426,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1298,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1306,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1318,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1324,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1336,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1351,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1348,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1363,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1369,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1381,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1429,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1437
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1437
    functionName: list_disabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'static void list_disabled(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:372,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:375,1
    - Dst: EVP_RAND_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:372,1
    - Dst: EVP_RAND_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:372,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:375,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:375,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:376,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_RAND**
    - EVP_RAND**
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: rand_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OPENSSL_strcasecmp
    - EVP_RAND_get0_provider
    - OSSL_PROVIDER_get0_name
    - EVP_RAND_get0_name
    linkageType: ''
    returnType: DEFINE_STACK_OF(EVP_RAND)
    signature: 'DEFINE_STACK_OF(EVP_RAND) static int rand_cmp(const EVP_RAND * const
      *a, const EVP_RAND * const *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:523,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:526,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:527,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:535,1
    - Dst: OSSL_ENCODER_names_do_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:539,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:543,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:544,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:545,1
    - Dst: OSSL_ENCODER_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:553,1
    - Dst: sk_OSSL_ENCODER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:558,1
    - Dst: sk_OSSL_ENCODER_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:529,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:551,1
    - Dst: sk_OSSL_ENCODER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:521,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:527,1
    - Dst: sk_OSSL_ENCODER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:532,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:533,1
    - Dst: print_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:541,1
    - Dst: OSSL_ENCODER_get0_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:548,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:544,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:540,1
    - Dst: print_param_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:552,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:556,1
    - Dst: sk_OSSL_ENCODER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:531,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:538,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 559
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 559
    functionName: list_encoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - OSSL_ENCODER_do_all_provided
    - sk_OSSL_ENCODER_new
    - OSSL_ENCODER_settable_ctx_params
    - STACK_OF
    - BIO_printf
    - OSSL_ENCODER_get0_properties
    - sk_OSSL_ENCODER_sort
    - sk_OSSL_ENCODER_pop_free
    - OSSL_ENCODER_names_do_all
    - sk_OSSL_ENCODER_num
    - OSSL_ENCODER_get0_provider
    - OSSL_ENCODER_get0_description
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    - print_names
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_ENCODER_value
    - print_param_types
    - sk_OPENSSL_CSTRING_free
    - OSSL_ENCODER_is_a
    linkageType: ''
    returnType: void
    signature: 'static void list_encoders(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1155,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1155,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1156,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1156,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_STORE_LOADER**
    - OSSL_STORE_LOADER**
    constantsTouched: []
    func_position:
      end: 1157
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1157
    functionName: store_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OSSL_STORE_LOADER_get0_provider
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_STORE_LOADER)
    signature: 'DEFINE_STACK_OF(OSSL_STORE_LOADER) static int store_cmp(const OSSL_STORE_LOADER
      * const *a, const OSSL_STORE_LOADER * const *b) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:985,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1007,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:988,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/list.c:1010,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1011
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1011
    functionName: list_options_for_command
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/list.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void list_options_for_command(const char *command) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:83,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:85,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:92,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:87,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:88,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - tmp
    - in
    - out
    - out_len
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - BIO*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: do_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - EVP_MAC_final
    - BIO_read
    - EVP_MAC_update
    - EVP_MAC_init
    - EVP_MAC_CTX_get_mac_size
    linkageType: ''
    returnType: int
    signature: 'static int do_mac(EVP_MAC_CTX *ctx, unsigned char *tmp, BIO *in, unsigned
      char *out, size_t *out_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:156,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:160,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:162,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:158,1
    - Dst: print_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:164,1
    - Dst: print_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:171,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 8
    argNames:
    - out
    - section
    - module_mac
    - module_mac_len
    - conditional_errors
    - security_checks
    - install_mac
    - install_mac_len
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    - int
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: write_config_fips_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - print_mac
    linkageType: ''
    returnType: int
    signature: 'static int write_config_fips_section(BIO *out, const char *section,
      unsigned char *module_mac, size_t module_mac_len, int conditional_errors, int
      security_checks, unsigned char *install_mac, size_t install_mac_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:125,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - label
    - mac
    - len
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: print_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_buf2hexstr
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'static int print_mac(BIO *bio, const char *label, const unsigned char
      *mac, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:218,1
    - Dst: CONF_modules_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: free_config_and_unload
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - CONF_modules_unload
    linkageType: ''
    returnType: void
    signature: 'static void free_config_and_unload(CONF *conf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:261,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:265,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:267,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:279,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:247,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:257,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:260,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:275,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:266,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:278,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:287,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:249,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:252,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:254,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:270,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:272,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:286,1
    - Dst: app_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:243,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:248,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:285,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    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
    constantsTouched: []
    func_position:
      end: 289
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 289
    functionName: verify_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - NCONF_free
    - NCONF_get_string
    - memcmp
    - app_load_config
    - strcmp
    - OPENSSL_free
    - OPENSSL_hexstr2buf
    linkageType: ''
    returnType: int
    signature: 'static int verify_config(const char *infile, const char *section,
      unsigned char *module_mac, size_t module_mac_len, unsigned char *install_mac,
      size_t install_mac_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:132,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:136,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:134,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:135,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - out
    - prov_name
    - section
    argTypes:
    - BIO*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: write_config_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'static int write_config_header(BIO *out, const char *prov_name, const
      char *section) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:104,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:106,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - prov_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: load_fips_prov_and_run_self_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: 'static int load_fips_prov_and_run_self_test(const char *prov_name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:190,1
    - Dst: app_load_config_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:201,1
    - Dst: write_config_fips_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:194,1
    - Dst: write_config_header
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:193,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:190,1
    - Dst: CONF_modules_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:205,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:207,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:210,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:211,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 6
    argNames:
    - prov_name
    - section
    - module_mac
    - module_mac_len
    - conditional_errors
    - security_checks
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 213
    functionName: generate_config_and_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - write_config_header
    - write_config_fips_section
    - BIO_free
    - app_load_config_bio
    - CONF_modules_load
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: CONF*
    signature: 'static CONF *generate_config_and_load(const char *prov_name, const
      char *section, unsigned char *module_mac, size_t module_mac_len, int conditional_errors,
      int security_checks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - parent_config_file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: verify_module_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_load_config
    linkageType: ''
    returnType: int
    signature: 'static int verify_module_load(const char *parent_config_file) '
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:325,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:332,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:347,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:359,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:368,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:370,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:370,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:365,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:385,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:392,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:425,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:490,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:532,1
    - Dst: dup_bio_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:503,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:455,1
    - Dst: do_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:469,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:473,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:465,1
    - Dst: load_fips_prov_and_run_self_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:499,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:441,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:516,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:313,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:329,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:356,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:368,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:362,1
    - Dst: verify_module_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:391,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:408,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:418,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:429,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:433,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:476,1
    - Dst: app_params_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:458,1
    - Dst: generate_config_and_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:493,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:433,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:322,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:353,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:453,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:474,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:506,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:524,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:528,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:531,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:534,1
    - Dst: free_config_and_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:537,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:523,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:423,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:420,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:454,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:530,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:504,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:536,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:303,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:316,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:317,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:350,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:372,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:372,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:394,1
    - Dst: opt_path_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:402,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:404,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:415,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:433,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:435,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:439,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:463,1
    - Dst: write_config_fips_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:509,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:529,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:448,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:533,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:535,1
    - Dst: do_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:479,1
    - Dst: app_params_new_from_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:448,1
    - Dst: verify_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:486,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 182
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 539
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 539
    functionName: fipsinstall_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_set_default_search_path
    - BIO_free
    - app_malloc
    - EVP_MAC_free
    - sk_OPENSSL_STRING_free
    - EVP_MAC_CTX_dup
    - app_params_new_from_opts
    - EVP_MAC_CTX_new
    - verify_config
    - EVP_MAC_CTX_set_params
    - STACK_OF
    - BIO_printf
    - OPENSSL_strdup
    - EVP_MAC_settable_ctx_params
    - ERR_print_errors
    - OPENSSL_free
    - BIO_new_mem_buf
    - dup_bio_out
    - opt_num_rest
    - sk_OPENSSL_STRING_new_null
    - app_params_free
    - load_fips_prov_and_run_self_test
    - write_config_fips_section
    - sk_OPENSSL_STRING_push
    - opt_help
    - app_get0_libctx
    - strncmp
    - do_mac
    - bio_open_default
    - strlen
    - opt_path_end
    - EVP_MAC_fetch
    - OSSL_SELF_TEST_set_callback
    - app_get0_propq
    - opt_arg
    - free_config_and_unload
    - opt_init
    - generate_config_and_load
    - EVP_MAC_CTX_free
    - OSSL_PROVIDER_available
    - opt_next
    - verify_module_load
    linkageType: ''
    returnType: int
    signature: 'int fipsinstall_main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:547,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:552,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:563,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:564,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:557,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:565,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:566,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:567,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:573,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:577,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:580,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c:582,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 46
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM
    - void*
    constantsTouched: []
    func_position:
      end: 589
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 589
    functionName: self_test_events
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/fipsinstall.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - strcmp
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int self_test_events(const OSSL_PARAM params[], void *arg) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:81,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:122,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:125,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:125,1
    - Dst: NETSCAPE_SPKI_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:158,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:176,1
    - Dst: app_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:182,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:189,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:197,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:201,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:227,1
    - Dst: NETSCAPE_SPKI_b64_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:167,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:229,1
    - Dst: NETSCAPE_SPKI_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:209,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:75,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:76,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:119,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:139,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:164,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:173,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:185,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:211,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:214,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:224,1
    - Dst: NETSCAPE_SPKI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:226,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:171,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:177,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:84,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:91,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:106,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:109,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:116,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:135,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:145,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:148,1
    - Dst: NETSCAPE_SPKI_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:152,1
    - Dst: ASN1_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:156,1
    - Dst: NETSCAPE_SPKI_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:162,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:219,1
    - Dst: NETSCAPE_SPKI_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:207,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:228,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:88,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:103,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:109,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:113,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:128,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:140,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:188,1
    - Dst: NETSCAPE_SPKI_b64_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:196,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:159,1
    - Dst: NETSCAPE_SPKI_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:206,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:213,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c:225,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 119
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 232
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 232
    functionName: spkac_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/spkac.c
    functionUses: []
    functionsReached:
    - opt_md
    - opt_format
    - EVP_PKEY_free
    - load_key
    - NETSCAPE_SPKI_set_pubkey
    - NETSCAPE_SPKI_sign
    - opt_provider
    - BIO_printf
    - NCONF_free
    - NETSCAPE_SPKI_new
    - NCONF_get_string
    - NETSCAPE_SPKI_verify
    - BIO_free_all
    - app_load_config
    - ERR_print_errors
    - strcmp
    - OPENSSL_free
    - NETSCAPE_SPKI_get_pubkey
    - setup_engine
    - NETSCAPE_SPKI_free
    - EVP_MD_free
    - opt_num_rest
    - opt_help
    - bio_open_default
    - PEM_write_bio_PUBKEY
    - release_engine
    - strlen
    - NETSCAPE_SPKI_b64_encode
    - opt_arg
    - opt_init
    - NETSCAPE_SPKI_print
    - app_passwd
    - ASN1_STRING_set
    - NETSCAPE_SPKI_b64_decode
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int spkac_main(int argc, char **argv) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:55,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:68,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:98,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:115,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:127,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:78,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:101,1
    - Dst: BN_generate_prime_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:106,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:103,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:131,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:132,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:58,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:68,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:85,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:112,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:116,1
    - Dst: BN_dec2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:124,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:134,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:49,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:50,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:75,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:86,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:110,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:110,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:107,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:122,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c:141,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 143
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 143
    functionName: prime_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/prime.c
    functionUses: []
    functionsReached:
    - opt_rest
    - BN_bn2dec
    - opt_provider
    - BIO_printf
    - BN_print
    - BN_hex2bn
    - OPENSSL_free
    - atoi
    - BN_generate_prime_ex
    - opt_num_rest
    - opt_help
    - BN_check_prime
    - BN_bn2hex
    - opt_arg
    - BN_new
    - opt_init
    - BN_dec2bn
    - BN_free
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int prime_main(int argc, char **argv) '
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:175,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:246,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:313,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:366,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:321,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:353,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:393,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:350,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:114,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:120,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:204,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:269,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:360,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:239,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:247,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:370,1
    - Dst: EVP_MD_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:420,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:128,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:196,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:234,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:252,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:309,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:357,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:469,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:333,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:282,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:351,1
    - Dst: app_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:319,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:199,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:210,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:399,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:466,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:137,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:147,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:224,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:344,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:349,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:297,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:358,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:448,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:472,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:284,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:356,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:308,1
    - Dst: do_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:437,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:343,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:214,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:400,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:421,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:457,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:473,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:217,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:387,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:463,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:470,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:151,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:187,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:274,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:381,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:413,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:467,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:471,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:119,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:154,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:171,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:225,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:386,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:464,1
    - Dst: init_gen_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:305,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:362,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:157,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:168,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:204,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:246,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:380,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:404,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:408,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:449,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:291,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:312,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:115,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:160,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:164,1
    - Dst: BIO_f_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:247,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:417,1
    - Dst: BIO_set_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:436,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:125,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:175,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:210,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:258,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:385,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:396,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:402,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:430,1
    - Dst: do_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:453,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:462,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:132,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:203,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:209,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:367,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:401,1
    - Dst: EVP_MD_CTX_get1_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:414,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:444,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:468,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:171,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:187,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:227,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:257,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:465,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:331,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:254,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:369,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:135,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:230,1
    - Dst: EVP_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:328,1
    CyclomaticComplexity: 163
    EdgeCount: 163
    ICount: 302
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 475
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 475
    functionName: dgst_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c
    functionUses: []
    functionsReached:
    - opt_rand
    - EVP_MD_CTX_get1_md
    - sk_OPENSSL_STRING_value
    - app_malloc
    - opt_rest
    - opt_format
    - opt_md
    - BIO_set_callback_arg
    - app_keygen
    - load_key
    - EVP_PKEY_new_raw_private_key
    - BIO_free
    - EVP_PKEY_free
    - BIO_set_callback_ex
    - sk_OPENSSL_STRING_free
    - BIO_f_md
    - EVP_DigestInit_ex
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - BIO_new
    - opt_provider
    - EVP_MD_get_flags
    - BIO_printf
    - load_pubkey
    - BIO_get_md_ctx
    - perror
    - BIO_free_all
    - init_gen_str
    - sk_OPENSSL_STRING_num
    - BIO_set_fp
    - ERR_print_errors
    - OPENSSL_free
    - pkey_ctrl_string
    - EVP_MD_get0_name
    - setup_engine
    - EVP_sha256
    - atoi
    - opt_unknown
    - EVP_MD_free
    - opt_num_rest
    - sk_OPENSSL_STRING_new_null
    - BIO_new_file
    - app_RAND_load
    - EVP_PKEY_get0_type_name
    - EVP_DigestSignInit_ex
    - EVP_DigestSignInit
    - sk_OPENSSL_STRING_push
    - opt_help
    - app_get0_libctx
    - BIO_s_file
    - EVP_DigestVerifyInit
    - BIO_read_filename
    - bio_open_default
    - BIO_reset
    - OBJ_NAME_do_all_sorted
    - release_engine
    - strlen
    - EVP_DigestVerifyInit_ex
    - do_fp
    - app_get0_propq
    - BIO_read
    - opt_arg
    - EVP_get_digestbyname
    - opt_init
    - app_passwd
    - BIO_push
    - opt_next
    - EVP_PKEY_get_id
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'int dgst_main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:483,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:490,1
    - Dst: islower
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:486,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:490,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:483,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:490,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:492,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:497,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:499,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    constantsTouched: []
    func_position:
      end: 504
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 504
    functionName: show_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - app_get0_propq
    - EVP_get_digestbyname
    - app_get0_libctx
    - EVP_MD_fetch
    - islower
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void show_digests(const OBJ_NAME *name, void *arg) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:565,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:555,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:570,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:583,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:629,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:630,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:633,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:635,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:640,1
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:554,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:554,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:566,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:608,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:594,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:584,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:613,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:619,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:638,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:644,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:653,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:568,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:602,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:590,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:624,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:636,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:645,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:557,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:573,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:593,1
    - Dst: BIO_get_md_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:606,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:609,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:585,1
    - Dst: newline_escape_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:621,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:627,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:647,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 96
    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*
    constantsTouched: []
    func_position:
      end: 656
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 656
    functionName: do_fp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_get_md_ctx
    - BIO_gets
    - BIO_write
    - app_malloc
    - BIO_pending
    - BIO_read
    - newline_escape_filename
    - OPENSSL_free
    - EVP_DigestFinalXOF
    - EVP_DigestVerifyFinal
    - EVP_DigestSignFinal
    - OPENSSL_clear_free
    - BIO_eof
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
      int xoflen, EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name,
      const char *md_name, const char *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:518,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c:526,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - file
    - backslash
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 542
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 542
    functionName: newline_escape_filename
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dgst.c
    functionUses: []
    functionsReached:
    - app_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static const char *newline_escape_filename(const char *file, int *
      backslash) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:62,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:77,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:121,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:106,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:124,1
    - Dst: d2i_PKCS7_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:129,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:138,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:179,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:204,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:207,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:215,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:214,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:73,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:81,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:88,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:103,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:103,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:133,1
    - Dst: PKCS7_print_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:143,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:170,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:173,1
    - Dst: dump_cert_text
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:175,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:208,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:192,1
    - Dst: sk_X509_CRL_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:186,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:65,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:64,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:81,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:85,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:134,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:147,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:149,1
    - Dst: X509_CRL_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:188,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:188,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:191,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:70,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:77,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:117,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:113,1
    - Dst: PKCS7_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:121,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:123,1
    - Dst: PEM_read_bio_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:131,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:171,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:178,1
    - Dst: sk_X509_CRL_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:185,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:217,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:216,1
    - Dst: i2d_PKCS7_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c:202,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 115
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 219
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 219
    functionName: pkcs7_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs7.c
    functionUses: []
    functionsReached:
    - dump_cert_text
    - BIO_free
    - opt_format
    - PEM_write_bio_PKCS7
    - sk_X509_value
    - opt_provider
    - STACK_OF
    - BIO_printf
    - PEM_write_bio_X509
    - BIO_free_all
    - ERR_print_errors
    - sk_X509_num
    - PKCS7_free
    - setup_engine
    - PEM_read_bio_PKCS7
    - opt_num_rest
    - get_nameopt
    - PEM_write_bio_X509_CRL
    - OBJ_obj2nid
    - opt_help
    - app_get0_libctx
    - i2d_PKCS7_bio
    - PKCS7_new_ex
    - bio_open_default
    - release_engine
    - sk_X509_CRL_value
    - sk_X509_CRL_num
    - PKCS7_print_ctx
    - app_get0_propq
    - opt_arg
    - d2i_PKCS7_bio
    - opt_init
    - X509_CRL_print_ex
    - opt_next
    - BIO_puts
    - X509_print
    linkageType: ''
    returnType: int
    signature: 'int pkcs7_main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: islower
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:661,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:667,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:665,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:668,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:671,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:673,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:676,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    constantsTouched: []
    func_position:
      end: 677
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 677
    functionName: show_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_CIPHER_get_flags
    - EVP_get_cipherbyname
    - EVP_CIPHER_get_mode
    - islower
    linkageType: ''
    returnType: void
    signature: 'static void show_ciphers(const OBJ_NAME *name, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:685,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:690,1
    - Dst: isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:696,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:693,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:687,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:697,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c:700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - in
    - out
    - size
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 707
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 707
    functionName: set_hex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/enc.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_hexchar2int
    - isxdigit
    - strlen
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int set_hex(const char *in, unsigned char *out, int size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:43,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:88,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:44,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:51,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:48,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:91,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:95,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:99,1
    - Dst: OPENSSL_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/info.c:99,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 103
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 103
    functionName: info_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/info.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - opt_help
    - opt_init
    - OPENSSL_info
    - opt_next
    - opt_num_rest
    linkageType: ''
    returnType: int
    signature: 'int info_main(int argc, char **argv) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:542,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:559,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:615,1
    - Dst: EVP_PKEY_verify_recover_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:631,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:649,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:654,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:556,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:610,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:594,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:623,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:635,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:552,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:548,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:543,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:558,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:574,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:599,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:587,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:585,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:606,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:579,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:639,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:539,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:577,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:596,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:592,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:627,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:643,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 82
    argCount: 15
    argNames:
    - kdfalg
    - pkeysize
    - keyfile
    - keyform
    - key_type
    - passinarg
    - pkey_op
    - e
    - engine_impl
    - rawin
    - ppkey
    - mctx
    - digestname
    - libctx
    - propq
    argTypes:
    - char*
    - int*
    - char*
    - int
    - int
    - char*
    - int
    - ENGINE*
    - int
    - int
    - EVP_PKEY**
    - EVP_MD_CTX*
    - char*
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 657
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 657
    functionName: init_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - load_key
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - EVP_PKEY_CTX_new_from_name
    - X509_get_pubkey
    - EVP_PKEY_derive_init
    - BIO_printf
    - load_pubkey
    - load_cert
    - X509_free
    - EVP_MD_CTX_set_pkey_ctx
    - OPENSSL_free
    - EVP_PKEY_CTX_new_id
    - EVP_DigestSignInit_ex
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_new
    - OBJ_ln2nid
    - EVP_PKEY_verify_recover_init
    - EVP_PKEY_decrypt_init
    - OBJ_sn2nid
    - EVP_PKEY_verify_init
    - EVP_DigestVerifyInit_ex
    - app_passwd
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: EVP_PKEY_CTX*
    signature: 'static EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize, const
      char *keyfile, int keyform, int key_type, char *passinarg, int pkey_op, ENGINE
      *e, const int engine_impl, int rawin, EVP_PKEY **ppkey, EVP_MD_CTX *mctx, const
      char *digestname, OSSL_LIB_CTX *libctx, const char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_verify_recover
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:687,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:699,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:703,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:695,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:691,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - pkey_op
    - out
    - poutlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 708
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 708
    functionName: do_keyop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_sign
    - EVP_PKEY_decrypt
    - EVP_PKEY_derive
    - EVP_PKEY_encrypt
    - EVP_PKEY_verify_recover
    linkageType: ''
    returnType: int
    signature: 'static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, unsigned char
      *out, size_t *poutlen, const unsigned char *in, size_t inlen) '
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:132,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:150,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:233,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:300,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:353,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:355,1
    - Dst: do_raw_keyop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:452,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:459,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:462,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:501,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:312,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:322,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:289,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:369,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:391,1
    - Dst: ASN1_parse_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:496,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:517,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:479,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:123,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:144,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:169,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:363,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:425,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:445,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:510,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:284,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:320,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:401,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:124,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:140,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:147,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:165,1
    - Dst: app_load_config_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:177,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:231,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:232,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:299,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:334,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:499,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:516,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:335,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:240,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:306,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:323,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:370,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:455,1
    - Dst: do_keyop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:475,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:506,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:507,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:513,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:159,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:165,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:224,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:259,1
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:395,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:348,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:162,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:221,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:415,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:131,1
    - Dst: do_keyop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:480,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:512,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:137,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:156,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:177,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:186,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:249,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:293,1
    - Dst: bio_to_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:412,1
    - Dst: init_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:304,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:343,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:350,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:240,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:413,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:129,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:232,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:385,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:239,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:518,1
    - Dst: setup_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:263,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:330,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:241,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:316,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:509,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:515,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:224,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:277,1
    - Dst: bio_to_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:423,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:489,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:270,1
    - Dst: EVP_read_pw_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:344,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:409,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:379,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:364,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:308,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:173,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:182,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:508,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:514,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:255,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:374,1
    - Dst: do_raw_keyop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:468,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:487,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:497,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:511,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:406,1
    CyclomaticComplexity: 176
    EdgeCount: 176
    ICount: 318
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 520
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 520
    functionName: pkeyutl_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c
    functionUses: []
    functionsReached:
    - opt_rand
    - ASN1_parse_dump
    - sk_OPENSSL_STRING_value
    - BIO_free
    - app_malloc
    - opt_format
    - strchr
    - EVP_PKEY_CTX_ctrl_str
    - sk_OPENSSL_STRING_free
    - do_keyop
    - BIO_snprintf
    - EVP_PKEY_CTX_free
    - init_ctx
    - opt_provider
    - STACK_OF
    - BIO_printf
    - OPENSSL_strdup
    - EVP_read_pw_string
    - bio_to_mem
    - BIO_write
    - BIO_free_all
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - EVP_MD_CTX_new
    - NCONF_free
    - OPENSSL_free
    - pkey_ctrl_string
    - setup_peer
    - setup_engine
    - stat
    - atoi
    - app_load_config_modules
    - EVP_MD_free
    - opt_num_rest
    - sk_OPENSSL_STRING_new_null
    - BIO_new_file
    - app_RAND_load
    - EVP_PKEY_verify
    - sk_OPENSSL_STRING_push
    - opt_help
    - app_get0_libctx
    - bio_open_default
    - BIO_dump
    - release_engine
    - app_get0_propq
    - do_raw_keyop
    - opt_arg
    - EVP_MD_CTX_free
    - opt_init
    - app_passwd
    - opt_next
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int pkeyutl_main(int argc, char **argv) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:730,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:735,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:772,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:763,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:768,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:785,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:791,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:798,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:723,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:733,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:726,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:743,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:748,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:759,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:749,1
    - Dst: EVP_DigestVerify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:738,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:741,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:780,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:789,1
    - Dst: EVP_DigestSignFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:792,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:724,1
    - Dst: EVP_DigestSign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:746,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:766,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:776,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:783,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 73
    argCount: 9
    argNames:
    - pkey_op
    - mctx
    - pkey
    - in
    - filesize
    - sig
    - siglen
    - out
    - poutlen
    argTypes:
    - int
    - EVP_MD_CTX*
    - EVP_PKEY*
    - BIO*
    - int
    - unsigned char*
    - int
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 800
    functionName: do_raw_keyop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - app_malloc
    - BIO_read
    - OPENSSL_free
    - EVP_DigestVerifyUpdate
    - EVP_DigestVerifyFinal
    - EVP_DigestSign
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - EVP_PKEY_get_id
    - EVP_DigestVerify
    linkageType: ''
    returnType: int
    signature: 'static int do_raw_keyop(int pkey_op, EVP_MD_CTX *mctx, EVP_PKEY *pkey,
      BIO *in, int filesize, unsigned char *sig, int siglen, unsigned char **out,
      size_t *poutlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:668,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:674,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:676,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c:670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - peerform
    - file
    - e
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: setup_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyutl.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - load_pubkey
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: 'static int setup_peer(EVP_PKEY_CTX *ctx, int peerform, const char
      *file, ENGINE *e) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:99,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:107,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:114,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:117,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:155,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:117,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:152,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:187,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:187,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_prime_len
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:213,1
    - Dst: dsa_to_dh
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:299,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:349,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:348,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:232,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:303,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:323,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:103,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:153,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:189,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:195,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:196,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:209,1
    - Dst: app_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:223,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:268,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:270,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:347,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:352,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:342,1
    - Dst: BIO_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:284,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:314,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:351,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:350,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:96,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:103,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:160,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:184,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:187,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:194,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:200,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:214,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:217,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:218,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:331,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:295,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:337,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:317,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:287,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:305,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:304,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:353,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:258,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:90,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:91,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:107,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:111,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:141,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:145,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:167,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:172,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:208,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:226,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:296,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:317,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:326,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:319,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:317,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:242,1
    - Dst: dsa_to_dh
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:229,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:322,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:338,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:339,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:290,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 188
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 355
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 355
    functionName: dhparam_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c
    functionUses: []
    functionsReached:
    - opt_rand
    - BIO_free
    - opt_rest
    - opt_format
    - app_paramgen
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - OSSL_ENCODER_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_ENCODER_CTX_new_for_pkey
    - opt_provider
    - EVP_PKEY_param_check
    - EVP_PKEY_CTX_set_dh_paramgen_prime_len
    - BIO_printf
    - opt_int
    - BIO_free_all
    - ERR_print_errors
    - strcmp
    - setup_engine
    - OSSL_DECODER_CTX_new_for_pkey
    - EVP_PKEY_CTX_set_dh_paramgen_generator
    - opt_num_rest
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - OSSL_ENCODER_to_bio
    - app_RAND_load
    - EVP_PKEY_print_params
    - opt_help
    - app_get0_libctx
    - EVP_PKEY_CTX_set_app_data
    - bio_open_default
    - BIO_reset
    - dsa_to_dh
    - EVP_PKEY_CTX_set_cb
    - release_engine
    - app_get0_propq
    - EVP_PKEY_paramgen_init
    - opt_arg
    - opt_init
    - OSSL_DECODER_CTX_free
    - opt_next
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: int
    signature: 'int dhparam_main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:377,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:372,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:399,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:401,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:385,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:392,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:389,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:402,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:371,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:378,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:380,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:382,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:389,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:393,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:389,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:391,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:403,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:370,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:373,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:384,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:398,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:400,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 1
    argNames:
    - dh
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 405
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 405
    functionName: dsa_to_dh
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - app_get0_propq
    - EVP_PKEY_fromdata_init
    - app_get0_libctx
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_fromdata
    - BN_free
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *dsa_to_dh(EVP_PKEY *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:409,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:414,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:415,1
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: gendh_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dhparam.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_app_data
    - EVP_PKEY_CTX_get_keygen_info
    - BIO_write
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'static int gendh_cb(EVP_PKEY_CTX *ctx) '
  - BBCount: 251
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:408,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:519,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:466,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:843,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:821,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:887,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1209,1
    - Dst: rotate_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1148,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:321,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:382,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:847,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:865,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:903,1
    - Dst: certify_spkac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:966,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:586,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:743,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1130,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:534,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:318,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:913,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:944,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1032,1
    - Dst: BN_hex2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1237,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1215,1
    - Dst: app_load_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:504,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:705,1
    - Dst: X509_CRL_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1211,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:999,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1039,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1347,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:448,1
    - Dst: load_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:563,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:619,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:375,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:669,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:996,1
    - Dst: X509_REVOKED_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1230,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:372,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1159,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:338,1
    - Dst: set_cert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:643,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:804,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1011,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:366,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:408,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:454,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:509,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:834,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1084,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1132,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1168,1
    - Dst: save_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1291,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:305,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:413,1
    - Dst: get_certificate_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:572,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:712,1
    - Dst: set_ext_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:655,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:702,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1037,1
    - Dst: X509_REVOKED_set_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1244,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1054,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:565,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1211,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:591,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:604,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:817,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:915,1
    - Dst: certify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:986,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1354,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1257,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:683,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1137,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1357,1
    - Dst: save_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:763,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:814,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1305,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:500,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1360,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:512,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:622,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:923,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:955,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1019,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1363,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:310,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:529,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:476,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:732,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:879,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1016,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1196,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:608,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:934,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1056,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1169,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:442,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:470,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:631,1
    - Dst: certify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1027,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:853,1
    - Dst: rotate_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1309,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1345,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1043,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1222,1
    - Dst: X509_CRL_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1285,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:360,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:492,1
    - Dst: check_time_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:715,1
    - Dst: load_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:938,1
    - Dst: X509_CRL_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1277,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:601,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:790,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1227,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1062,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1316,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1086,1
    - Dst: OBJ_create_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:521,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:947,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1280,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1202,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:849,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1151,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1185,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:644,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:900,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:933,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:961,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:393,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:414,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:482,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:885,1
    - Dst: certify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1007,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:888,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:976,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1294,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:396,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:544,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:442,1
    - Dst: do_updatedb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:755,1
    - Dst: save_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1332,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:979,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1102,1
    - Dst: X509_CRL_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1253,1
    - Dst: make_revoked
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1232,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1097,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:313,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:325,1
    - Dst: add_oid_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:525,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:656,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1245,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:321,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:458,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:386,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:403,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:436,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:863,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:949,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1142,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1274,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1239,1
    - Dst: X509V3_set_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1264,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1094,1
    - Dst: ASN1_STRING_set_default_mask_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:536,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:488,1
    - Dst: isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:731,1
    - Dst: TXT_DB_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:740,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:492,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:592,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1090,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:956,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:726,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1355,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1346,1
    - Dst: load_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1179,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:922,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:304,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:379,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:581,1
    - Dst: rotate_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:766,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:902,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1073,1
    - Dst: X509_CRL_add0_revoked
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1246,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:375,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:414,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:573,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:741,1
    - Dst: set_crl_lastupdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1214,1
    - Dst: save_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1077,1
    - Dst: free_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1356,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1194,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:587,1
    - Dst: index_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:746,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:911,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1177,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1359,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:731,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:821,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:997,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1123,1
    - Dst: set_dateopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:328,1
    - Dst: app_isdir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:681,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:836,1
    - Dst: write_new_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1135,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1362,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:818,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1000,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1161,1
    - Dst: rotate_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1335,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:940,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1208,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:532,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:516,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:341,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:703,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:716,1
    - Dst: do_revoke
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1327,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:649,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:864,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:369,1
    - Dst: app_RAND_load_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:528,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:554,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:969,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1330,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:617,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1191,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:445,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:335,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1167,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:363,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:499,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:550,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:691,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1038,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1278,1
    - Dst: index_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:569,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:945,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1353,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:514,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:522,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:624,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:757,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:916,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1170,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1044,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1095,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:328,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:753,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1074,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:770,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:742,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:783,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1042,1
    - Dst: do_X509_CRL_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1297,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:462,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:445,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:271,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:633,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1348,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:363,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:407,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1017,1
    - Dst: app_load_config_verbose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:502,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:720,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1228,1
    - Dst: rotate_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1145,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:473,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1020,1
    - Dst: set_crl_nextupdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1220,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1240,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:877,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:841,1
    - Dst: save_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1080,1
    - Dst: rand_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:933,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:396,1
    - Dst: load_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:695,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:990,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:852,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:950,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:682,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:357,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:537,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:667,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:788,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1061,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:269,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:628,1
    - Dst: X509_CRL_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1209,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:978,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1125,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:640,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:837,1
    - Dst: write_new_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1136,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:886,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1067,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1096,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1321,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1349,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:390,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:898,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:761,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1138,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1358,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:542,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:609,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:660,1
    - Dst: make_revoked
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:711,1
    - Dst: app_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:777,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:975,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1361,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:823,1
    - Dst: NCONF_get_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1189,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1059,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:559,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:652,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:697,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1181,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1364,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:928,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1300,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:439,1
    - Dst: parse_yesno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:552,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:634,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1351,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1265,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:545,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1269,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:862,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:960,1
    - Dst: X509V3_EXT_CRL_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1268,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1092,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:448,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1338,1
    CyclomaticComplexity: 462
    EdgeCount: 462
    ICount: 891
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1366
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 1366
    functionName: ca_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - opt_rest
    - TXT_DB_write
    - sk_OPENSSL_STRING_free
    - NCONF_free
    - perror
    - ERR_print_errors
    - sk_X509_num
    - rand_serial
    - set_nameopt
    - app_load_config_verbose
    - do_revoke
    - atol
    - app_RAND_load
    - get_nameopt
    - load_index
    - app_get0_libctx
    - app_load_modules
    - add_oid_section
    - release_engine
    - app_get0_propq
    - opt_arg
    - rotate_index
    - opt_init
    - BN_new
    - write_new_certificate
    - sk_X509_new_null
    - X509V3_set_ctx_test
    - X509_get0_serialNumber
    - OPENSSL_strlcat
    - set_ext_copy
    - do_X509_CRL_sign
    - sk_X509_push
    - X509_CRL_add0_revoked
    - X509_CRL_new_ex
    - opt_provider
    - X509_REVOKED_set_serialNumber
    - STACK_OF
    - BN_hex2bn
    - NCONF_get_string
    - OPENSSL_free
    - X509V3_set_ctx
    - ERR_clear_error
    - set_cert_ex
    - sk_OPENSSL_STRING_push
    - PEM_write_bio_X509_CRL
    - fgets
    - ASN1_STRING_set_default_mask_asc
    - X509_CRL_set_issuer_name
    - bio_open_default
    - app_isdir
    - sk_OPENSSL_PSTRING_num
    - certify_cert
    - strlen
    - X509_check_private_key
    - do_updatedb
    - BN_to_ASN1_INTEGER
    - NCONF_get_number
    - set_crl_lastupdate
    - BN_free
    - app_passwd
    - BIO_puts
    - ASN1_INTEGER_free
    - opt_rand
    - cleanse
    - EVP_PKEY_free
    - certify
    - NCONF_get_section
    - certify_spkac
    - sk_X509_value
    - BIO_printf
    - OBJ_create_objects
    - app_load_config
    - load_cert_pass
    - EVP_PKEY_get_default_digest_name
    - _UC
    - atoi
    - sk_OPENSSL_STRING_new_null
    - BIO_new_file
    - X509V3_set_nconf
    - load_serial
    - sk_OPENSSL_PSTRING_value
    - BN_bn2hex
    - save_serial
    - BN_add_word
    - X509V3_EXT_CRL_add_nconf
    - free_index
    - parse_yesno
    - set_dateopt
    - save_index
    - BIO_free
    - opt_format
    - BN_is_zero
    - load_key
    - lookup_conf
    - get_certificate_status
    - X509_get_subject_name
    - X509_free
    - BIO_free_all
    - sk_X509_pop_free
    - ASN1_STRING_length
    - strcmp
    - rotate_serial
    - setup_engine
    - X509_CRL_add1_ext_i2d
    - app_RAND_load_conf
    - opt_num_rest
    - opt_help
    - OPENSSL_strlcpy
    - X509_CRL_free
    - set_crl_nextupdate
    - ASN1_TIME_set_string_X509
    - ASN1_STRING_get0_data
    - X509_CRL_set_version
    - check_time_format
    - X509_CRL_sort
    - isxdigit
    - BIO_flush
    - opt_next
    - make_revoked
    - index_index
    - X509V3_EXT_add_nconf
    - X509_REVOKED_new
    linkageType: ''
    returnType: int
    signature: 'int ca_main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_csr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1393,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1403,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1396,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1397,1
    - Dst: X509_REQ_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1401,1
    - Dst: X509_REQ_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1406,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1407,1
    - Dst: do_X509_REQ_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1411,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1413,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1417,1
    - Dst: do_body
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1423,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1430,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1429,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1421,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 30
    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(OPENSSL_STRING)*
    - STACK_OF(OPENSSL_STRING)*
    - STACK_OF(CONF_VALUE)*
    - CA_DB*
    - BIGNUM*
    - char*
    - unsigned long
    - int
    - int
    - char*
    - char*
    - long
    - int
    - char*
    - CONF*
    - int
    - unsigned long
    - unsigned long
    - int
    - int
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1432
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1432
    functionName: certify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - do_X509_REQ_verify
    - X509_REQ_check_private_key
    - X509_REQ_get0_pubkey
    - do_body
    - ERR_print_errors
    - X509_REQ_free
    - X509_REQ_print_ex
    - load_csr
    linkageType: ''
    returnType: int
    signature: 'static int certify(X509 **xret, const char *infile, int informat,
      EVP_PKEY *pkey, X509 *x509, const char *dgst, STACK_OF(OPENSSL_STRING) *sigopts,
      STACK_OF(OPENSSL_STRING) *vfyopts, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
      BIGNUM *serial, const char *subj, unsigned long chtype, int multirdn, int email_dn,
      const char *startdate, const char *enddate, long days, int batch, const char
      *ext_sect, CONF *lconf, int verbose, unsigned long certopt, unsigned long nameopt,
      int default_op, int ext_copy, int selfsign, unsigned long dateopt) '
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1530,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1586,1
    - Dst: ASN1_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1656,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1622,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1708,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1816,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1819,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1855,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1942,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1974,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1580,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1812,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1861,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1699,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1588,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1593,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1810,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1870,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1910,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1932,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1971,1
    - Dst: TXT_DB_get_by_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1850,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1906,1
    - Dst: X509_get_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1702,1
    - Dst: X509_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1705,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1745,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1796,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1696,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1535,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1537,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1689,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1594,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1821,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1832,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1939,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1653,1
    - Dst: copy_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1773,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1758,1
    - Dst: X509_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1723,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1742,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1756,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1800,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1831,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1834,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1918,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1699,1
    - Dst: X509V3_set_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1732,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1739,1
    - Dst: fgets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1917,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1930,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1945,1
    - Dst: TXT_DB_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1957,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1774,1
    - Dst: X509_NAME_entry_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1533,1
    - Dst: X509_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1708,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1810,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1875,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1898,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1907,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1933,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1969,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1526,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1532,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1579,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1588,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1614,1
    - Dst: do_X509_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1935,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1958,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1687,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1534,1
    - Dst: old_entry_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1575,1
    - Dst: ASN1_PRINTABLE_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1564,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1631,1
    - Dst: X509_NAME_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1791,1
    - Dst: X509_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1803,1
    - Dst: TXT_DB_get_by_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1842,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1931,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1726,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1718,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1660,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1779,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1525,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1624,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1635,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1646,1
    - Dst: X509_NAME_get_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1652,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1702,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1608,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1644,1
    - Dst: set_cert_times
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1712,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1817,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1903,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1914,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1915,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1959,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1536,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1568,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1595,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1746,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1596,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1619,1
    - Dst: X509_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1727,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1844,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1888,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1892,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1952,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1699,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1521,1
    - Dst: ASN1_UNIVERSALSTRING_to_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1543,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1654,1
    - Dst: X509_NAME_add_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1676,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1909,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1948,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1967,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1972,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1766,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1559,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1601,1
    - Dst: ASN1_TIME_diff
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1718,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1759,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1669,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1807,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1852,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1880,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1884,1
    - Dst: X509_NAME_delete_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1799,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1792,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1677,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1752,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1804,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1907,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1924,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1940,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1941,1
    CyclomaticComplexity: 179
    EdgeCount: 179
    ICount: 380
    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(OPENSSL_STRING)*
    - STACK_OF(CONF_VALUE)*
    - 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
    constantsTouched: []
    func_position:
      end: 1978
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1978
    functionName: do_body
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - TXT_DB_get_by_index
    - app_malloc
    - BN_is_zero
    - X509_get0_pubkey
    - do_X509_sign
    - X509_get0_notAfter
    - EVP_PKEY_copy_parameters
    - X509_NAME_entry_count
    - X509_NAME_ENTRY_get_data
    - X509_get_subject_name
    - BIO_printf
    - OPENSSL_strdup
    - X509_NAME_new
    - X509_print_ex
    - X509_set_subject_name
    - X509_free
    - X509_get_serialNumber
    - strcmp
    - OPENSSL_free
    - OBJ_nid2obj
    - X509_REQ_set_subject_name
    - X509_set_issuer_name
    - parse_name
    - TXT_DB_insert
    - ASN1_PRINTABLE_type
    - X509V3_set_ctx
    - set_cert_times
    - X509_NAME_oneline
    - X509_REQ_get_subject_name
    - OBJ_obj2nid
    - OBJ_txt2nid
    - fgets
    - memcpy
    - X509_NAME_dup
    - sk_CONF_VALUE_num
    - app_get0_libctx
    - X509V3_set_nconf
    - EVP_PKEY_missing_parameters
    - sk_CONF_VALUE_value
    - X509_NAME_add_entry
    - ASN1_STRING_cmp
    - X509_NAME_delete_entry
    - ASN1_TIME_print_ex
    - BN_bn2hex
    - old_entry_print
    - X509_NAME_free
    - ASN1_UNIVERSALSTRING_to_string
    - X509_new_ex
    - app_get0_propq
    - X509_REQ_get0_pubkey
    - X509_set_pubkey
    - BN_to_ASN1_INTEGER
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_object
    - BIO_flush
    - X509_NAME_ENTRY_free
    - copy_extensions
    - X509_NAME_get_index_by_OBJ
    - X509_NAME_get_index_by_NID
    - X509V3_EXT_add_nconf
    - ASN1_TIME_diff
    linkageType: ''
    returnType: int
    signature: 'static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const
      char *dgst, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(CONF_VALUE) *policy,
      CA_DB *db, BIGNUM *serial, const char *subj, unsigned long chtype, int multirdn,
      int email_dn, const char *startdate, const char *enddate, long days, int batch,
      int verbose, X509_REQ *req, const char *ext_sect, CONF *lconf, unsigned long
      certopt, unsigned long nameopt, int default_op, int ext_copy, int selfsign,
      unsigned long dateopt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2003,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2022,1
    - Dst: X509_REQ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2039,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2083,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2102,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2106,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2118,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2052,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2067,1
    - Dst: NETSCAPE_SPKI_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2094,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2070,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2078,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2101,1
    - Dst: NETSCAPE_SPKI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2117,1
    - Dst: CONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2026,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2027,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2046,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2049,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2066,1
    - Dst: NETSCAPE_SPKI_b64_decode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2068,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2095,1
    - Dst: CONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2116,1
    - Dst: CONF_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2020,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2028,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2092,1
    - Dst: NETSCAPE_SPKI_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2099,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2108,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2109,1
    - Dst: do_body
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2110,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2115,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 74
    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(OPENSSL_STRING)*
    - STACK_OF(CONF_VALUE)*
    - CA_DB*
    - BIGNUM*
    - char*
    - unsigned long
    - int
    - int
    - char*
    - char*
    - long
    - char*
    - CONF*
    - int
    - unsigned long
    - unsigned long
    - int
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2121
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2121
    functionName: certify_spkac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - X509_REQ_set_pubkey
    - EVP_PKEY_free
    - CONF_get_section
    - BIO_printf
    - NETSCAPE_SPKI_verify
    - X509_NAME_add_entry_by_NID
    - strcmp
    - CONF_free
    - NETSCAPE_SPKI_get_pubkey
    - NETSCAPE_SPKI_free
    - X509_REQ_get_subject_name
    - OBJ_txt2nid
    - X509_REQ_free
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - LHASH_OF
    - do_body
    - X509_REQ_new
    - NETSCAPE_SPKI_b64_decode
    - CONF_load
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: 'static int certify_spkac(X509 **xret, const char *infile, EVP_PKEY
      *pkey, X509 *x509, const char *dgst, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(CONF_VALUE)
      *policy, CA_DB *db, BIGNUM *serial, const char *subj, unsigned long chtype,
      int multirdn, int email_dn, const char *startdate, const char *enddate, long
      days, const char *ext_sect, CONF *lconf, int verbose, unsigned long certopt,
      unsigned long nameopt, int default_op, int ext_copy, unsigned long dateopt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2140,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2168,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2174,1
    - Dst: TXT_DB_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2186,1
    - Dst: do_revoke
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2217,1
    - Dst: make_revocation_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2218,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2230,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2144,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2151,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2154,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2188,1
    - Dst: index_name_cmp_noconst
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2205,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2139,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2143,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2139,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2146,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2150,1
    - Dst: TXT_DB_get_by_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2161,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2187,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2206,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2213,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2140,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2147,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2163,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2169,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2170,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2181,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2189,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2220,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 95
    argCount: 4
    argNames:
    - x509
    - db
    - rev_type
    - value
    argTypes:
    - X509*
    - CA_DB*
    - REVINFO_TYPE
    - char*
    constantsTouched: []
    func_position:
      end: 2232
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2232
    functionName: do_revoke
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - TXT_DB_get_by_index
    - X509_NAME_oneline
    - X509_get0_serialNumber
    - ASN1_INTEGER_to_BN
    - BN_is_zero
    - OPENSSL_free
    - app_malloc
    - memcpy
    - index_name_cmp_noconst
    - X509_get0_notAfter
    - BN_free
    - TXT_DB_insert
    - make_revocation_str
    - BN_bn2hex
    - do_revoke
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int do_revoke(X509 *x509, CA_DB *db, REVINFO_TYPE rev_type,
      const char *value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2307,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2317,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2313,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2318,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2312,1
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2324,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2326,1
    - Dst: ASN1_TIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2330,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2331,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2332,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2343,1
    - Dst: ASN1_TIME_compare
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2336,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2341,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - db
    argTypes:
    - CA_DB*
    constantsTouched: []
    func_position:
      end: 2349
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2349
    functionName: do_updatedb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_TIME_free
    - X509_gmtime_adj
    - ASN1_TIME_set_string
    - sk_OPENSSL_PSTRING_value
    - ASN1_TIME_compare
    - sk_OPENSSL_PSTRING_num
    - ASN1_TIME_new
    linkageType: ''
    returnType: int
    signature: 'static int do_updatedb(CA_DB *db) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unpack_revinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2479,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2491,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2489,1
    - Dst: ASN1_ENUMERATED_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2488,1
    - Dst: X509_REVOKED_set_revocationDate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2484,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2496,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2501,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2513,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2514,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2515,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2516,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2517,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 34
    argCount: 2
    argNames:
    - rev
    - str
    argTypes:
    - X509_REVOKED*
    - char*
    constantsTouched: []
    func_position:
      end: 2520
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2520
    functionName: make_revoked
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - X509_REVOKED_set_revocationDate
    - ASN1_TIME_free
    - unpack_revinfo
    - OPENSSL_free
    - ASN1_OBJECT_free
    - X509_REVOKED_add1_ext_i2d
    - ASN1_ENUMERATED_new
    - ASN1_ENUMERATED_free
    - ASN1_ENUMERATED_set
    - ASN1_GENERALIZEDTIME_free
    linkageType: ''
    returnType: int
    signature: 'static int make_revoked(X509_REVOKED *rev, const char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1451,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1455,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1457,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1460,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1459,1
    - Dst: do_X509_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1463,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1466,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1471,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1474,1
    - Dst: X509_to_X509_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1477,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1487,1
    - Dst: do_body
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1480,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1486,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 30
    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(OPENSSL_STRING)*
    - STACK_OF(OPENSSL_STRING)*
    - STACK_OF(CONF_VALUE)*
    - CA_DB*
    - BIGNUM*
    - char*
    - unsigned long
    - int
    - int
    - char*
    - char*
    - long
    - int
    - char*
    - CONF*
    - int
    - unsigned long
    - unsigned long
    - int
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1489
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1489
    functionName: certify_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - do_X509_verify
    - X509_free
    - do_body
    - load_cert_pass
    - X509_get0_pubkey
    - X509_REQ_free
    - X509_to_X509_REQ
    - X509_print
    linkageType: ''
    returnType: int
    signature: 'static int certify_cert(X509 **xret, const char *infile, int certformat,
      const char *passin, EVP_PKEY *pkey, X509 *x509, const char *dgst, STACK_OF(OPENSSL_STRING)
      *sigopts, STACK_OF(OPENSSL_STRING) *vfyopts, STACK_OF(CONF_VALUE) *policy, CA_DB
      *db, BIGNUM *serial, const char *subj, unsigned long chtype, int multirdn, int
      email_dn, const char *startdate, const char *enddate, long days, int batch,
      const char *ext_sect, CONF *lconf, int verbose, unsigned long certopt, unsigned
      long nameopt, int default_op, int ext_copy, unsigned long dateopt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1370,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - section
    - tag
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1374
    functionName: lookup_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - NCONF_get_string
    linkageType: ''
    returnType: char*
    signature: 'static char *lookup_conf(const CONF *conf, const char *section, const
      char *tag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1984,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1989,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:1988,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - bp
    - x
    - output_der
    - notext
    argTypes:
    - BIO*
    - X509*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1990
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1990
    functionName: write_new_certificate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - X509_print
    - i2d_X509_bio
    - PEM_write_bio_X509
    linkageType: ''
    returnType: void
    signature: 'static void write_new_certificate(BIO *bp, X509 *x, int output_der,
      int notext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2126
    functionName: check_time_format
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_set_string
    linkageType: ''
    returnType: int
    signature: 'static int check_time_format(const char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2238,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2258,1
    - Dst: make_uppercase
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2263,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2254,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2245,1
    - Dst: TXT_DB_get_by_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2268,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2270,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2274,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2278,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2282,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2290,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2286,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2296,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 2
    argNames:
    - serial
    - db
    argTypes:
    - char*
    - CA_DB*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2299
    functionName: get_certificate_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - TXT_DB_get_by_index
    - app_malloc
    - OPENSSL_free
    - memcpy
    - make_uppercase
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int get_certificate_status(const char *serial, CA_DB *db) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2528,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2534,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2539,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2541,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2537,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2543,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2545,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2550,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2552,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2554,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2559,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2556,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - obj
    - str
    argTypes:
    - ASN1_OBJECT*
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 2561
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2561
    functionName: old_entry_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2a_ASN1_OBJECT
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int old_entry_print(const ASN1_OBJECT *obj, const ASN1_STRING
      *str) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2588,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2598,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2602,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2614,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2629,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2638,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2608,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2646,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2622,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2574,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2576,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2641,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2647,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2635,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2643,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2626,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2669,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2580,1
    - Dst: ASN1_UTCTIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2596,1
    - Dst: ASN1_UTCTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2601,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2668,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 81
    argCount: 5
    argNames:
    - prevtm
    - preason
    - phold
    - pinvtm
    - str
    argTypes:
    - ASN1_TIME**
    - int*
    - ASN1_OBJECT**
    - ASN1_GENERALIZEDTIME**
    - char*
    constantsTouched: []
    func_position:
      end: 2672
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2672
    functionName: unpack_revinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - ASN1_UTCTIME_set_string
    - strchr
    - OPENSSL_free
    - ASN1_OBJECT_free
    - ASN1_GENERALIZEDTIME_set_string
    - OPENSSL_strcasecmp
    - OBJ_txt2obj
    - ASN1_UTCTIME_new
    - ASN1_GENERALIZEDTIME_free
    - ASN1_GENERALIZEDTIME_new
    linkageType: ''
    returnType: int
    signature: 'int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold,
      ASN1_GENERALIZEDTIME **pinvtm, const char *str) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2391,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2404,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2397,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2405,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2408,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2419,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2420,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2434,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2442,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2444,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2447,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2453,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2454,1
    - Dst: ASN1_UTCTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2456,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2450,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2449,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c:2446,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 2
    argNames:
    - rev_type
    - rev_arg
    argTypes:
    - REVINFO_TYPE
    - char*
    constantsTouched: []
    func_position:
      end: 2458
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2458
    functionName: make_revocation_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ca.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_UTCTIME_free
    - app_malloc
    - X509_gmtime_adj
    - OPENSSL_strlcpy
    - ASN1_OBJECT_free
    - ASN1_GENERALIZEDTIME_set_string
    - OPENSSL_strlcat
    - OPENSSL_strcasecmp
    - OBJ_txt2obj
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *make_revocation_str(REVINFO_TYPE rev_type, const char
      *rev_arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:184,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:187,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - excluded
    - names
    argTypes:
    - ASN1_OBJECT*
    - char*
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: warn_copying
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - strstr
    - OBJ_obj2nid
    - OBJ_nid2sn
    linkageType: ''
    returnType: void
    signature: 'static void warn_copying(ASN1_OBJECT *excluded, const char *names) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:239,1
    - Dst: X509_STORE_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:245,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:242,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:243,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:246,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE*
    - X509*
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: self_signed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_STORE_CTX_init
    - X509_STORE_CTX_set_flags
    - X509_verify_cert
    - X509_STORE_CTX_free
    - X509_STORE_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int self_signed(X509_STORE *ctx, X509 *cert) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1096,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1100,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1097,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1099,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1101,1
    - Dst: load_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1106,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1110,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1111,1
    - Dst: save_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1116,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1118,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1121,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1122,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - CAfile
    - serialfile
    - create
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1124
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1124
    functionName: x509_load_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BN_add_word
    - app_malloc
    - OPENSSL_free
    - memcpy
    - BN_to_ASN1_INTEGER
    - load_serial
    - BN_free
    - strrchr
    - save_serial
    - strlen
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'static ASN1_INTEGER *x509_load_serial(const char *CAfile, const char
      *serialfile, int create) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1163,1
    - Dst: X509_check_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1166,1
    - Dst: X509_PURPOSE_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1164,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1167,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - bio
    - cert
    - pt
    argTypes:
    - BIO*
    - X509*
    - X509_PURPOSE*
    constantsTouched: []
    func_position:
      end: 1176
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1176
    functionName: purpose_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - X509_PURPOSE_get_id
    - BIO_printf
    - X509_check_purpose
    - X509_PURPOSE_get0_name
    linkageType: ''
    returnType: int
    signature: 'static int purpose_print(BIO *bio, X509 *cert, X509_PURPOSE *pt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:194,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:196,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:195,1
    - Dst: X509_to_X509_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:199,1
    - Dst: X509_REQ_add_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:223,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:232,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:217,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:213,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:216,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:224,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:228,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:221,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:197,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:214,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:198,1
    - Dst: warn_copying
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:208,1
    - Dst: warn_copying
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:209,1
    - Dst: sk_X509_EXTENSION_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:210,1
    - Dst: OBJ_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:216,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:233,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 3
    argNames:
    - cert
    - ext_copy
    - names
    argTypes:
    - X509*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 235
    functionName: x509_to_req
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_cmp
    - sk_X509_EXTENSION_new_reserve
    - sk_X509_EXTENSION_num
    - warn_copying
    - sk_X509_EXTENSION_push
    - X509_REQ_free
    - OBJ_nid2obj
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - X509_get0_extensions
    - X509_to_X509_REQ
    - sk_X509_EXTENSION_free
    - X509_REQ_add_extensions
    - STACK_OF
    linkageType: ''
    returnType: X509_REQ*
    signature: 'static X509_REQ *x509_to_req(X509 *cert, int ext_copy, const char
      *names) '
  - BBCount: 223
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:299,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:313,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:324,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:354,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:364,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:370,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:518,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:578,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:436,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:429,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:991,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1008,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:400,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:416,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:440,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:442,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:567,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:447,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:687,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:708,1
    - Dst: do_X509_REQ_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:711,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:735,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1066,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:916,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1067,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1007,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:584,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:423,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:317,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:328,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:403,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:409,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:432,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:611,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:659,1
    - Dst: WARN_NO_CA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:666,1
    - Dst: X509_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1011,1
    - Dst: X509_add1_reject_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:794,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:747,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:983,1
    - Dst: print_x509v3_exts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1024,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:789,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:836,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:965,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:406,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:443,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:392,1
    - Dst: opt_intmax
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:567,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:581,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:305,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:321,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:347,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:572,1
    - Dst: WARN_NO_CA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:674,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:949,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:994,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1031,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:990,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1068,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:801,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:938,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:914,1
    - Dst: X509_get1_ocsp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:936,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:340,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:363,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:369,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:374,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:385,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:600,1
    - Dst: X509V3_set_ctx_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:693,1
    - Dst: load_csr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:703,1
    - Dst: X509_REQ_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:874,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:894,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:989,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1006,1
    - Dst: X509_cmp_time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1031,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1035,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1070,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1072,1
    - Dst: X509_PURPOSE_get_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:962,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1065,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:981,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:336,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:382,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:413,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:590,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:731,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:763,1
    - Dst: X509_trust_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:783,1
    - Dst: X509_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:800,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:890,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:931,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:972,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1029,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1082,1
    - Dst: X509_add1_trust_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:789,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:925,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:993,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1073,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:349,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:376,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:634,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:718,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:720,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:758,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:798,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:801,1
    - Dst: X509_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:824,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:853,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:865,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:966,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:864,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:803,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1033,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:571,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:455,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:388,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:302,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:317,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:459,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:356,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:620,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:629,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:694,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:727,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:945,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1006,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1054,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:914,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1052,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:973,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1081,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1074,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:416,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:616,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:646,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:707,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:767,1
    - Dst: X509_set_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:818,1
    - Dst: X509V3_set_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:828,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:847,1
    - Dst: do_X509_REQ_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:870,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:880,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:927,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1018,1
    - Dst: print_cert_checks
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1039,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1077,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1078,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1076,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:921,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:917,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:987,1
    - Dst: X509_alias_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:780,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:804,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:863,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:328,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:722,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:835,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:857,1
    - Dst: x509_to_req
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:860,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:874,1
    - Dst: do_X509_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:887,1
    - Dst: X509_get0_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:905,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:917,1
    - Dst: X509_get1_email
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:936,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:985,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:939,1
    - Dst: i2d_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1047,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1069,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:912,1
    - Dst: X509_issuer_name_hash_old
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:958,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1012,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:463,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:310,1
    - Dst: set_dateopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:347,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:348,1
    - Dst: WARN_NO_CA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:670,1
    - Dst: app_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:684,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:696,1
    - Dst: X509_set_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:757,1
    - Dst: X509_set_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:761,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:772,1
    - Dst: X509_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:804,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:845,1
    - Dst: X509_issuer_name_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:955,1
    - Dst: purpose_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:963,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:979,1
    - Dst: X509_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:987,1
    - Dst: X509_subject_name_hash_old
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:952,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:837,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:995,1
    - Dst: x509_load_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:811,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:370,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:304,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:332,1
    - Dst: set_ext_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:354,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:355,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:364,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:615,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:652,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:679,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:744,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:921,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:990,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:978,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:332,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:451,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:431,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:604,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:610,1
    - Dst: X509_STORE_set_default_paths_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:615,1
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:777,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:801,1
    - Dst: set_cert_times
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:822,1
    - Dst: i2d_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:875,1
    - Dst: X509_alias_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:942,1
    - Dst: X509_email_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:940,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:689,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:918,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:961,1
    - Dst: clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1083,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1080,1
    - Dst: do_X509_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:899,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:994,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:426,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:442,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:459,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:624,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:641,1
    - Dst: WARN_NO_CA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:672,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:695,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:720,1
    - Dst: copy_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:746,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:788,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:958,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1075,1
    - Dst: rand_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:739,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1020,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:713,1
    - Dst: corrupt_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:906,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:932,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:977,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:926,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:970,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:939,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:463,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:336,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:374,1
    - Dst: set_cert_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:455,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:433,1
    - Dst: WARN_NO_CA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:668,1
    - Dst: X509_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:735,1
    - Dst: X509_reject_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:785,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:735,1
    - Dst: X509_get_ext_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:799,1
    - Dst: self_signed
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:814,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:930,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:947,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:952,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:966,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:971,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1058,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1071,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:912,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:933,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:955,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:444,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:324,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:396,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:596,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:738,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:752,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:793,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:824,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:831,1
    - Dst: PEM_write_bio_X509_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:877,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:893,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1014,1
    - Dst: X509_ocspid_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1022,1
    - Dst: X509_subject_name_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:949,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:431,1
    - Dst: PEM_write_bio_X509_AUX
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1050,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1079,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:963,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:794,1
    CyclomaticComplexity: 405
    EdgeCount: 405
    ICount: 710
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1085
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 1085
    functionName: x509_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - print_name
    - sk_OPENSSL_STRING_value
    - X509_get0_pubkey
    - X509_get1_email
    - sk_OPENSSL_STRING_free
    - X509_get0_notAfter
    - print_cert_checks
    - OBJ_create
    - PEM_write_bio_X509
    - NCONF_free
    - ERR_print_errors
    - rand_serial
    - sk_ASN1_OBJECT_num
    - set_nameopt
    - PEM_write_bio_X509_REQ
    - ASN1_INTEGER_new
    - app_RAND_load
    - get_nameopt
    - purpose_print
    - ASN1_INTEGER_to_BN
    - X509_email_free
    - X509_REQ_free
    - app_get0_libctx
    - X509_REQ_print_ex
    - EVP_PKEY_get_bn_param
    - PEM_write_bio_PUBKEY
    - EVP_MD_fetch
    - release_engine
    - print_x509v3_exts
    - X509_add1_trust_object
    - X509_new_ex
    - app_get0_propq
    - X509_set_pubkey
    - opt_arg
    - opt_init
    - X509V3_set_ctx_test
    - X509_get0_serialNumber
    - s2i_ASN1_INTEGER
    - X509_STORE_set_verify_cb
    - do_X509_sign
    - set_ext_copy
    - X509_STORE_set_default_paths_ex
    - X509_EXTENSION_free
    - X509_reject_clear
    - opt_provider
    - corrupt_signature
    - X509_digest
    - load_pubkey
    - NCONF_get_string
    - X509V3_set_issuer_pkey
    - sk_OPENSSL_STRING_num
    - x509_to_req
    - X509_get_ext_count
    - X509_set_issuer_name
    - EVP_MD_free
    - X509V3_set_ctx
    - X509_STORE_new
    - ERR_clear_error
    - X509_set_serialNumber
    - set_cert_ex
    - sk_OPENSSL_STRING_push
    - time
    - PEM_write_bio_X509_AUX
    - sk_ASN1_OBJECT_push
    - X509_get0_signature
    - X509_trust_clear
    - opt_intmax
    - bio_open_default
    - load_csr
    - X509_issuer_name_hash
    - X509_STORE_free
    - do_X509_REQ_sign
    - X509_check_private_key
    - BN_to_ASN1_INTEGER
    - X509_EXTENSION_get_object
    - BN_free
    - app_passwd
    - X509_ocspid_print
    - BIO_puts
    - x509_load_serial
    - ASN1_INTEGER_free
    - opt_rand
    - X509_delete_ext
    - EVP_PKEY_free
    - X509_get_issuer_name
    - EVP_PKEY_is_a
    - X509_print_ex
    - BIO_printf
    - BN_print
    - app_load_config
    - OBJ_nid2sn
    - load_cert_pass
    - clear_free
    - atoi
    - parse_name
    - i2a_ASN1_INTEGER
    - sk_OPENSSL_STRING_new_null
    - sk_ASN1_OBJECT_value
    - X509_REQ_get_subject_name
    - OBJ_obj2nid
    - X509V3_set_nconf
    - X509_alias_get0
    - WARN_NO_CA
    - X509_cmp_time
    - X509V3_EXT_REQ_add_nconf
    - X509_add1_reject_object
    - X509_REQ_get0_pubkey
    - X509_get_ext
    - BN_add_word
    - X509_get1_ocsp
    - copy_extensions
    - X509_issuer_name_hash_old
    - X509_PURPOSE_get_count
    - set_dateopt
    - X509_subject_name_hash
    - X509_PURPOSE_get0
    - X509_subject_name_hash_old
    - opt_format
    - load_key
    - X509_alias_set1
    - sk_ASN1_OBJECT_new_null
    - i2d_X509_bio
    - X509_get_subject_name
    - X509_get0_notBefore
    - X509_free
    - BIO_free_all
    - X509_set_subject_name
    - sk_ASN1_OBJECT_pop_free
    - setup_engine
    - opt_unknown
    - opt_num_rest
    - set_cert_times
    - opt_help
    - OBJ_txt2obj
    - ASN1_TIME_print_ex
    - do_X509_REQ_verify
    - X509V3_EXT_add_nconf
    - X509_NAME_free
    - self_signed
    - opt_next
    - strstr
    linkageType: ''
    returnType: int
    signature: 'int x509_main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1135,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1145,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1150,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1150,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1151,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1153,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1157
    functionName: callb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_STORE_CTX_get_error_depth
    - print_name
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get_current_cert
    - X509_STORE_CTX_get_error
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int callb(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - names
    - result
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1203
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1203
    functionName: parse_ext_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int parse_ext_names(char *names, const char **result) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1254,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1263,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1208,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1217,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1223,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1243,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1237,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1238,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1255,1
    - Dst: X509V3_extensions_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1260,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1262,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1226,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1234,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1239,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1216,1
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1215,1
    - Dst: parse_ext_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1225,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1229,1
    - Dst: parse_ext_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1231,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1246,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1238,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1248,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c:1264,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 3
    argNames:
    - bio
    - x
    - ext_names
    argTypes:
    - BIO*
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1266
    functionName: print_x509v3_exts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - OBJ_nid2sn
    - sk_X509_EXTENSION_num
    - parse_ext_names
    - OBJ_obj2nid
    - strcmp
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_push
    - OPENSSL_free
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - X509V3_extensions_print
    - X509_get0_extensions
    - sk_X509_EXTENSION_free
    - OPENSSL_malloc
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int print_x509v3_exts(BIO *bio, X509 *x, const char *ext_names) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:56,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:69,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:57,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:72,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:72,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:101,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:112,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:122,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:146,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:65,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:75,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:85,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:130,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:92,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:95,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:104,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:126,1
    - Dst: BIO_f_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:109,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:136,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:137,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:62,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:109,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:93,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:144,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c:145,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 148
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 148
    functionName: rand_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rand.c
    functionUses: []
    functionsReached:
    - opt_rand
    - opt_rest
    - RAND_bytes
    - BIO_new
    - opt_provider
    - BIO_printf
    - opt_int
    - BIO_write
    - BIO_free_all
    - ERR_print_errors
    - setup_engine
    - BIO_f_base64
    - opt_num_rest
    - app_RAND_load
    - opt_help
    - bio_open_default
    - release_engine
    - opt_arg
    - opt_init
    - BIO_flush
    - BIO_push
    - opt_next
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int rand_main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:57,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:64,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:62,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:73,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:71,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - buf
    - size
    - s
    argTypes:
    - char**
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 89
    functionName: append_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c
    functionUses: []
    functionsReached:
    - app_malloc
    - strcpy
    - OPENSSL_realloc
    - OPENSSL_free
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int append_buf(char **buf, int *size, const char *s) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:158,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:172,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:180,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:181,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:200,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:213,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:206,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:233,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:165,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:210,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:190,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:208,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:221,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:226,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:232,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:160,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:185,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:189,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:205,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:223,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:207,1
    - Dst: util_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:216,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:234,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 81
    argCount: 4
    argNames:
    - e
    - verbose
    - out
    - indent
    argTypes:
    - ENGINE*
    - int
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 236
    functionName: util_verbose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - BIO_printf
    - util_flags
    - app_malloc
    - ENGINE_ctrl
    - OPENSSL_free
    - sk_OPENSSL_STRING_free
    - strlen
    - BIO_puts
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int util_verbose(ENGINE *e, int verbose, BIO *out, const char
      *indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_get0_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:287,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:291,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:289,1
    - Dst: OSSL_STORE_LOADER_get0_scheme
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - loader
    - arg
    argTypes:
    - OSSL_STORE_LOADER*
    - void*
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: util_store_cap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_LOADER_get0_engine
    - OSSL_STORE_LOADER_get0_scheme
    - append_buf
    - BIO_snprintf
    linkageType: ''
    returnType: void
    signature: 'static void util_store_cap(const OSSL_STORE_LOADER *loader, void *arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:95,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:120,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:97,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:109,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:123,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:128,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:131,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:140,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:141,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:145,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - out
    - flags
    - indent
    argTypes:
    - BIO*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 147
    functionName: util_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'static int util_flags(BIO *out, unsigned int flags, const char *indent) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:241,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:250,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:253,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:254,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:244,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:258,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:261,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:265,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:269,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:271,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:272,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - e
    - cmds
    - out
    - indent
    argTypes:
    - ENGINE*
    - STACK_OF(OPENSSL_STRING)*
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 275
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 275
    functionName: util_do_cmds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ENGINE_ctrl_cmd_string
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - ERR_print_errors
    - memcpy
    - strstr
    linkageType: ''
    returnType: void
    signature: 'static void util_do_cmds(ENGINE *e, STACK_OF(OPENSSL_STRING) *cmds,
      BIO *out, const char *indent) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:301,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:302,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:302,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:318,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:325,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:332,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:357,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:369,1
    - Dst: ENGINE_get_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:376,1
    - Dst: ENGINE_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:385,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:391,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:405,1
    - Dst: ENGINE_get_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:426,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:431,1
    - Dst: OSSL_STORE_do_all_loaders
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:451,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:462,1
    - Dst: util_verbose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:473,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:422,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:475,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:486,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:303,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:303,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:323,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:354,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:357,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:364,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:375,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:377,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:382,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:383,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:431,1
    - Dst: ENGINE_get_pkey_meths
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:435,1
    - Dst: util_do_cmds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:464,1
    - Dst: util_do_cmds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:390,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:490,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:488,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:391,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:465,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:470,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:363,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:354,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:377,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:389,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:393,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:392,1
    - Dst: ENGINE_get_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:407,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:411,1
    - Dst: ENGINE_get_RAND
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:413,1
    - Dst: fn_d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:429,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:456,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:487,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:467,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:384,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:414,1
    - Dst: fn_pk
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:438,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:469,1
    - Dst: ENGINE_get_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:410,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:458,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:301,1
    - Dst: dup_bio_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:310,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:329,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:367,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:372,1
    - Dst: ENGINE_get_first
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:376,1
    - Dst: ENGINE_get_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:404,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:408,1
    - Dst: ENGINE_get_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:417,1
    - Dst: fn_c
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:420,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:422,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:440,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:477,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:463,1
    - Dst: ENGINE_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:393,1
    - Dst: append_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:440,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:461,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c:489,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 176
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 492
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 492
    functionName: engine_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/engine.c
    functionUses: []
    functionsReached:
    - ENGINE_get_id
    - sk_OPENSSL_CSTRING_num
    - opt_rest
    - ENGINE_get_ciphers
    - sk_OPENSSL_STRING_free
    - ENGINE_get_first
    - ENGINE_get_pkey_meths
    - ENGINE_get_DSA
    - fn_c
    - STACK_OF
    - BIO_printf
    - BIO_free_all
    - OBJ_nid2sn
    - ENGINE_get_RSA
    - strcmp
    - OPENSSL_free
    - ENGINE_by_id
    - ERR_print_errors
    - ENGINE_get_digests
    - ENGINE_get_RAND
    - ENGINE_finish
    - sk_OPENSSL_CSTRING_push
    - OSSL_STORE_do_all_loaders
    - dup_bio_out
    - opt_num_rest
    - ENGINE_get_name
    - sk_OPENSSL_STRING_new_null
    - sk_OPENSSL_CSTRING_new_null
    - util_do_cmds
    - ERR_clear_error
    - sk_OPENSSL_STRING_push
    - opt_help
    - ENGINE_get_DH
    - ENGINE_init
    - ERR_print_errors_fp
    - sk_OPENSSL_CSTRING_value
    - fn_d
    - ENGINE_free
    - fn_pk
    - opt_arg
    - opt_init
    - append_buf
    - opt_next
    - sk_OPENSSL_CSTRING_free
    - ENGINE_get_next
    - util_verbose
    linkageType: ''
    returnType: int
    signature: 'int engine_main(int argc, char **argv) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:83,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:90,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:138,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:165,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:169,1
    - Dst: i2d_KeyParams_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:197,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:214,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:222,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:224,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:231,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:175,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:234,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:170,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:215,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:77,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:78,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:90,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:94,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:97,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:113,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:131,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:117,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:149,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:149,1
    - Dst: load_keyparams
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:181,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:201,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:236,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:210,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:86,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:97,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:101,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:104,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:130,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:145,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:104,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:133,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:149,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:162,1
    - Dst: app_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:219,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:235,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:207,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:167,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:208,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:163,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:174,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:151,1
    - Dst: app_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:179,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:206,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:207,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:226,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:233,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:189,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:232,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:199,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 238
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 238
    functionName: dsaparam_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c
    functionUses: []
    functionsReached:
    - opt_rand
    - opt_rest
    - opt_format
    - app_paramgen
    - app_keygen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - load_keyparams
    - EVP_PKEY_CTX_new_from_name
    - opt_provider
    - BIO_printf
    - opt_int
    - BIO_free_all
    - bio_open_owner
    - PEM_write_bio_PrivateKey
    - ERR_print_errors
    - setup_engine
    - opt_num_rest
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - app_RAND_load
    - EVP_PKEY_print_params
    - opt_help
    - app_get0_libctx
    - EVP_PKEY_CTX_set_app_data
    - PEM_write_bio_Parameters
    - EVP_PKEY_CTX_set_cb
    - i2d_KeyParams_bio
    - release_engine
    - i2d_PrivateKey_bio
    - assert
    - app_get0_propq
    - EVP_PKEY_paramgen_init
    - opt_arg
    - opt_init
    - opt_next
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: 'int dsaparam_main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:250,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:255,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:254,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 257
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 257
    functionName: gendsa_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dsaparam.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_app_data
    - EVP_PKEY_CTX_get_keygen_info
    - BIO_write
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'static int gendsa_cb(EVP_PKEY_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: dummy_psk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int dummy_psk(SSL *ssl, const char *hint, char *identity,
      unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:92,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:113,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:165,1
    - Dst: OPENSSL_cipher_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:184,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:192,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:183,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:206,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:212,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:243,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:246,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:281,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:252,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:277,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:91,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:107,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:108,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:132,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:176,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:189,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:199,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:189,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:238,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:259,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:280,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:116,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:175,1
    - Dst: set_up_dummy_srp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:203,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:213,1
    - Dst: SSL_get_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:224,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:227,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:228,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:265,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:270,1
    - Dst: SSL_CIPHER_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:270,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:262,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:282,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:268,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:168,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:189,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:194,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:207,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:217,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:222,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:233,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:237,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:240,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c:248,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 284
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 284
    functionName: ciphers_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ciphers.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_psk_client_callback
    - opt_rest
    - SSL_CIPHER_get_id
    - SSL_get1_supported_ciphers
    - OPENSSL_cipher_name
    - opt_provider
    - TLS_server_method
    - STACK_OF
    - BIO_printf
    - SSL_new
    - ERR_print_errors
    - SSL_CTX_new_ex
    - SSL_CIPHER_get_name
    - opt_num_rest
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_cipher_list
    - sk_SSL_CIPHER_free
    - opt_help
    - app_get0_libctx
    - SSL_get_ciphers
    - SSL_CTX_free
    - sk_SSL_CIPHER_value
    - set_up_dummy_srp
    - SSL_free
    - ossl_assert
    - SSL_CTX_set_max_proto_version
    - app_get0_propq
    - sk_SSL_CIPHER_num
    - opt_arg
    - SSL_CTX_set_ciphersuites
    - SSL_CIPHER_standard_name
    - opt_init
    - opt_next
    - BIO_puts
    - SSL_CIPHER_description
    linkageType: ''
    returnType: int
    signature: 'int ciphers_main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:57,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:61,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:57,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:65,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:66,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:67,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - optp
    - name
    - arg
    argTypes:
    - STACK_OF(OPENSSL_STRING)**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: alloc_mac_algorithm_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - sk_OPENSSL_STRING_push
    - app_malloc
    - OPENSSL_free
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *alloc_mac_algorithm_name(STACK_OF(OPENSSL_STRING) **optp,
      const char *name, const char *arg) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:144,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:144,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:188,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:195,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:209,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:186,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:227,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:228,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:232,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:201,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:226,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:210,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:205,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:92,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:101,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:120,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:121,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:132,1
    - Dst: alloc_mac_algorithm_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:121,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:146,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:158,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:162,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:172,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:215,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:231,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:229,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:194,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:218,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:98,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:94,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:93,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:111,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:116,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:139,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:150,1
    - Dst: app_params_new_from_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:157,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:164,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:176,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:180,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:233,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:234,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:200,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:220,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:80,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:108,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:115,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:116,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:127,1
    - Dst: alloc_mac_algorithm_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:127,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:126,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:140,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:163,1
    - Dst: app_params_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:167,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:181,1
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:185,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:189,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c:185,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 126
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 236
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 236
    functionName: mac_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/mac.c
    functionUses: []
    functionsReached:
    - BIO_free
    - app_malloc
    - opt_rest
    - sk_OPENSSL_STRING_free
    - app_params_new_from_opts
    - OPENSSL_clear_free
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - opt_provider
    - EVP_MAC_CTX_set_params
    - STACK_OF
    - BIO_printf
    - BIO_write
    - EVP_MAC_settable_ctx_params
    - ERR_print_errors
    - OPENSSL_free
    - EVP_MAC_update
    - opt_num_rest
    - alloc_mac_algorithm_name
    - sk_OPENSSL_STRING_new_null
    - app_params_free
    - sk_OPENSSL_STRING_push
    - opt_help
    - app_get0_libctx
    - bio_open_default
    - EVP_MAC_init
    - BIO_eof
    - EVP_MAC_fetch
    - app_get0_propq
    - BIO_pending
    - opt_arg
    - BIO_read
    - opt_init
    - EVP_MAC_CTX_free
    - opt_next
    - EVP_MAC_free
    linkageType: ''
    returnType: int
    signature: 'int mac_main(int argc, char **argv) '
  - BBCount: 162
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:185,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:307,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:310,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:432,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:389,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:509,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:556,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:578,1
    - Dst: EVP_read_pw_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:728,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:766,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:765,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:827,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:432,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:193,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:279,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:305,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:307,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:413,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:504,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:524,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:586,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:615,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:717,1
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:786,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:387,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:423,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:248,1
    - Dst: set_pbe
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:271,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:275,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:301,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:316,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:555,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:688,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:700,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:715,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:313,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:343,1
    - Dst: opt_cipher_any
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:366,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:671,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:702,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:741,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:778,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:789,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:799,1
    - Dst: PKCS12_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:825,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:249,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:286,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:322,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:407,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:433,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:518,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:620,1
    - Dst: d2i_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:720,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:721,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:772,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:765,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:283,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:319,1
    - Dst: app_provider_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:433,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:415,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:460,1
    - Dst: PKCS12_init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:715,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:753,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:755,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:759,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:800,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:658,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:403,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:425,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:184,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:292,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:328,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:427,1
    - Dst: EVP_read_pw_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:651,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:684,1
    - Dst: OPENSSL_asc2uni
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:794,1
    - Dst: PKCS12_create_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:666,1
    - Dst: dump_certs_keys_p12
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:818,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:798,1
    - Dst: PKCS12_get0_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:750,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:459,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:395,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:383,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:289,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:325,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:343,1
    - Dst: WARN_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:377,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:548,1
    - Dst: X509_keyid_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:560,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:664,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:788,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:180,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:252,1
    - Dst: WARN_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:375,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:401,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:517,1
    - Dst: setup_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:600,1
    - Dst: sk_X509_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:611,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:613,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:621,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:636,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:703,1
    - Dst: i2d_PKCS12_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:694,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:756,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:828,1
    - Dst: PKCS12_verify_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:774,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:331,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:358,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:391,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:419,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:417,1
    - Dst: EVP_read_pw_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:502,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:628,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:701,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:706,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:715,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:804,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:704,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:668,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:351,1
    - Dst: WARN_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:371,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:399,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:451,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:568,1
    - Dst: EVP_PKEY_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:645,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:668,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:677,1
    - Dst: PKCS12_set_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:682,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:730,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:760,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:812,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:411,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:190,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:271,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:295,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:606,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:758,1
    - Dst: OPENSSL_uni2utf8
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:797,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:833,1
    - Dst: PKCS12_mac_present
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:743,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:814,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:830,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:769,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:268,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:397,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:472,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:488,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:490,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:530,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:549,1
    - Dst: sk_X509_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:563,1
    - Dst: get_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:605,1
    - Dst: EVP_PKEY_add1_attr_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:640,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:711,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:829,1
    - Dst: opt_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:243,1
    - Dst: set_pbe
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:275,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:385,1
    - Dst: WARN_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:373,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:379,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:409,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:557,1
    - Dst: X509_alias_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:561,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:635,1
    - Dst: X509_alias_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:636,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:826,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:801,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:790,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:819,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:683,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:757,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:735,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:820,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:179,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:436,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:362,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:393,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:421,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:471,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:534,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:634,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:653,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:690,1
    - Dst: app_provider_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:436,1
    - Dst: WARN_NO_EXPORT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:405,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:545,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:592,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:595,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:611,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:768,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:832,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:754,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:831,1
    CyclomaticComplexity: 269
    EdgeCount: 269
    ICount: 474
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 835
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 835
    functionName: pkcs12_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_free
    - PKCS12_init_ex
    - dump_certs_keys_p12
    - ERR_print_errors
    - sk_X509_num
    - EVP_KDF_fetch
    - X509_add_certs
    - app_RAND_load
    - app_get0_libctx
    - opt_cipher_any
    - EVP_aes_256_cbc
    - release_engine
    - PKCS12_create_ex
    - app_get0_propq
    - opt_arg
    - opt_init
    - X509_keyid_set1
    - PKCS12_mac_present
    - WARN_EXPORT
    - PKCS12_get0_mac
    - d2i_PKCS12_bio
    - sk_X509_shift
    - PKCS12_verify_mac
    - opt_provider
    - STACK_OF
    - ERR_peek_error
    - sk_OPENSSL_STRING_num
    - OPENSSL_free
    - get_cert_chain
    - EVP_MD_free
    - sk_OPENSSL_STRING_push
    - EVP_KDF_free
    - bio_open_default
    - EVP_des_ede3_cbc
    - X509_STORE_free
    - app_provider_load
    - PKCS12_free
    - X509_check_private_key
    - opt_int_arg
    - app_passwd
    - BIO_puts
    - load_certs
    - opt_rand
    - opt_flag
    - ERR_GET_REASON
    - opt_md
    - EVP_PKEY_free
    - sk_X509_value
    - setup_verify
    - set_pbe
    - i2d_PKCS12_bio
    - BIO_printf
    - EVP_read_pw_string
    - bio_open_owner
    - X509_verify_cert_error_string
    - WARN_NO_EXPORT
    - sk_OPENSSL_STRING_new_null
    - i2a_ASN1_OBJECT
    - EVP_PKEY_add1_attr_by_NID
    - OPENSSL_asc2uni
    - sk_X509_delete
    - ERR_GET_LIB
    - OSSL_PROVIDER_available
    - PKCS12_set_mac
    - BIO_free
    - load_key
    - X509_alias_set1
    - X509_free
    - BIO_free_all
    - sk_X509_pop_free
    - ASN1_STRING_length
    - setup_engine
    - opt_unknown
    - opt_num_rest
    - opt_help
    - OPENSSL_strlcpy
    - assert
    - X509_ALGOR_get0
    - opt_next
    - ASN1_INTEGER_get
    - OPENSSL_uni2utf8
    linkageType: ''
    returnType: int
    signature: 'int pkcs12_main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:891,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:893,1
    - Dst: dump_certs_pkeys_bag
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 7
    argNames:
    - out
    - bags
    - pass
    - passlen
    - options
    - pempass
    - enc
    argTypes:
    - BIO*
    - STACK_OF(PKCS12_SAFEBAG)*
    - char*
    - int
    - int
    - char*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 898
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 898
    functionName: dump_certs_pkeys_bags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - sk_PKCS12_SAFEBAG_value
    - sk_PKCS12_SAFEBAG_num
    - dump_certs_pkeys_bag
    linkageType: ''
    returnType: int
    signature: 'int dump_certs_pkeys_bags(BIO *out, const STACK_OF(PKCS12_SAFEBAG)
      *bags, const char *pass, int passlen, int options, char *pempass, const EVP_CIPHER
      *enc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1006,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1009,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1009,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1014,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1009,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1020,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1021,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1022,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1026,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - cert
    - store
    - untrusted_certs
    - chain
    argTypes:
    - X509*
    - X509_STORE*
    - STACK_OF(X509)*
    - STACK_OF(X509)**
    constantsTouched: []
    func_position:
      end: 1029
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1029
    functionName: get_cert_chain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new_ex
    - app_get0_propq
    - X509_verify_cert
    - X509_STORE_CTX_get1_chain
    - app_get0_libctx
    - X509_STORE_CTX_free
    - X509_STORE_CTX_get_error
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int get_cert_chain(X509 *cert, X509_STORE *store, STACK_OF(X509)
      *untrusted_certs, STACK_OF(X509) **chain) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_uni2asc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1143,1
    - Dst: hex_prin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1155,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1150,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1145,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1146,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1157,1
    - Dst: hex_prin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1161,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1163,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - out
    - av
    argTypes:
    - BIO*
    - ASN1_TYPE*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1170
    functionName: print_attribute
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - hex_prin
    - OPENSSL_uni2asc
    linkageType: ''
    returnType: void
    signature: 'void print_attribute(BIO *out, const ASN1_TYPE *av) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1181,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1185,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1189,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1184,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1188,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1191,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1192,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1194,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1196,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1199,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1209,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1202,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1199,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1197,1
    - Dst: print_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1206,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1205,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - out
    - attrlst
    - name
    argTypes:
    - BIO*
    - STACK_OF(X509_ATTRIBUTE)*
    - char*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1213
    functionName: print_attribs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_X509_ATTRIBUTE_num
    - OBJ_obj2nid
    - X509_ATTRIBUTE_get0_type
    - i2a_ASN1_OBJECT
    - X509_ATTRIBUTE_get0_object
    - sk_X509_ATTRIBUTE_value
    - OBJ_nid2ln
    - print_attribute
    - X509_ATTRIBUTE_count
    linkageType: ''
    returnType: int
    signature: 'int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst,
      const char *name) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:911,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:916,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:913,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:920,1
    - Dst: print_attribs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:923,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:944,1
    - Dst: alg_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:936,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:943,1
    - Dst: PKCS12_decrypt_skey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:941,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:947,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:964,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:993,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:992,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:933,1
    - Dst: print_attribs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:947,1
    - Dst: print_attribs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:940,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:948,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:950,1
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:958,1
    - Dst: PKCS12_SAFEBAG_get1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:966,1
    - Dst: dump_cert_text
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:968,1
    - Dst: PKCS12_SAFEBAG_get0_bag_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:978,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:985,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:975,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:979,1
    - Dst: print_attribs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:919,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:925,1
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:935,1
    - Dst: PKCS12_SAFEBAG_get0_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:934,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:949,1
    - Dst: print_attribs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:963,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:970,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:978,1
    - Dst: PKCS12_SAFEBAG_get0_bag_obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:980,1
    - Dst: PKCS12_SAFEBAG_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:992,1
    - Dst: print_attribs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:986,1
    - Dst: print_attribs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:976,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:921,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:923,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:924,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:955,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:969,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:977,1
    - Dst: print_attribute
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:980,1
    - Dst: dump_certs_pkeys_bags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:987,1
    - Dst: PKCS12_SAFEBAG_get0_safes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:987,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:991,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 77
    argCount: 7
    argNames:
    - out
    - bag
    - pass
    - passlen
    - options
    - pempass
    - enc
    argTypes:
    - BIO*
    - PKCS12_SAFEBAG*
    - char*
    - int
    - int
    - char*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 997
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 997
    functionName: dump_certs_pkeys_bag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - dump_cert_text
    - EVP_PKEY_free
    - dump_certs_pkeys_bags
    - PKCS12_SAFEBAG_get0_pkcs8
    - PKCS12_SAFEBAG_get0_attr
    - PKCS12_SAFEBAG_get0_safes
    - PEM_write_bio_X509
    - BIO_printf
    - X509_free
    - PKCS12_SAFEBAG_get0_p8inf
    - PEM_write_bio_PrivateKey
    - PKCS12_SAFEBAG_get0_type
    - PKCS12_SAFEBAG_get1_cert
    - PKCS12_SAFEBAG_get0_bag_type
    - X509_SIG_get0
    - print_attribs
    - PKCS8_PRIV_KEY_INFO_free
    - i2a_ASN1_OBJECT
    - PKCS8_pkey_get0_attrs
    - PKCS12_decrypt_skey
    - PKCS12_SAFEBAG_get0_attrs
    - PKCS12_SAFEBAG_get0_bag_obj
    - PKCS12_SAFEBAG_get_nid
    - EVP_PKCS82PKEY
    - PKCS12_SAFEBAG_get_bag_nid
    - alg_print
    - print_attribute
    linkageType: ''
    returnType: int
    signature: 'int dump_certs_pkeys_bag(BIO *out, const PKCS12_SAFEBAG *bag, const
      char *pass, int passlen, int options, char *pempass, const EVP_CIPHER *enc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:842,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:851,1
    - Dst: sk_PKCS7_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:850,1
    - Dst: sk_PKCS7_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:849,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:847,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:853,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:855,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:858,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:860,1
    - Dst: alg_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:862,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:865,1
    - Dst: dump_certs_pkeys_bags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:871,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:873,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:876,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:882,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 7
    argNames:
    - out
    - p12
    - pass
    - passlen
    - options
    - pempass
    - enc
    argTypes:
    - BIO*
    - PKCS12*
    - char*
    - int
    - int
    - char*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 884
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 884
    functionName: dump_certs_keys_p12
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_PKCS7_value
    - OBJ_obj2nid
    - PKCS12_unpack_p7data
    - alg_print
    - PKCS12_unpack_p7encdata
    - dump_certs_pkeys_bags
    - STACK_OF
    - sk_PKCS7_pop_free
    - PKCS12_unpack_authsafes
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS7_num
    linkageType: ''
    returnType: int
    signature: 'int dump_certs_keys_p12(BIO *out, const PKCS12 *p12, const char *pass,
      int passlen, int options, char *pempass, const EVP_CIPHER *enc) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1040,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1054,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1057,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1059,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1061,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1095,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1097,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1107,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1110,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1105,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1038,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1042,1
    - Dst: OBJ_nid2ln
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1042,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1068,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1078,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1080,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1081,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1090,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1096,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1099,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1052,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1068,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1062,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1061,1
    - Dst: ASN1_item_unpack
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1088,1
    - Dst: PBE2PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1102,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1114,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1052,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1058,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1077,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1070,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1060,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1081,1
    - Dst: PBKDF2PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1082,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1088,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1093,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1098,1
    - Dst: PBEPARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1111,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1110,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1116
    functionName: alg_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_item_unpack
    - PBEPARAM_free
    - OBJ_obj2nid
    - OBJ_nid2sn
    - ASN1_STRING_length
    - PBKDF2PARAM_free
    - X509_ALGOR_get0
    - ASN1_INTEGER_get
    - SCRYPT_PARAMS_free
    - OBJ_nid2ln
    - BIO_puts
    - ASN1_ITEM_rptr
    - PBE2PARAM_free
    linkageType: ''
    returnType: int
    signature: 'static int alg_print(const X509_ALGOR *alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - out
    - buf
    - len
    argTypes:
    - BIO*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1220
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1220
    functionName: hex_prin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: 'void hex_prin(BIO *out, unsigned char *buf, int len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1226,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1230,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ppbe
    - str
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1236
    functionName: set_pbe
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - OBJ_txt2nid
    - strcmp
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'static int set_pbe(int *ppbe, const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1125,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1131,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c:1127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - in
    - sk
    argTypes:
    - BIO*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1133
    functionName: cert_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs12.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - sk_X509_push
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: 'int cert_load(BIO *in, STACK_OF(X509) *sk) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:116,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:119,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:119,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:149,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:164,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:185,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:188,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:197,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:217,1
    - Dst: BN_bn2dec
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:218,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:220,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:231,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:241,1
    - Dst: app_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:204,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:214,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:243,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:122,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:126,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:136,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:130,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:160,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:155,1
    - Dst: init_gen_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:181,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:182,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:192,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:201,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:212,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:239,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:244,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:222,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:237,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_primes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:200,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:224,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:80,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:96,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:95,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:105,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:133,1
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:189,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:196,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:227,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:240,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:242,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:246,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:78,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:101,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:148,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:152,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:172,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:173,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:177,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:181,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:186,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:193,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:238,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:223,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 248
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 248
    functionName: genrsa_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c
    functionUses: []
    functionsReached:
    - opt_rand
    - opt_rest
    - app_keygen
    - EVP_PKEY_free
    - BN_bn2dec
    - BN_set_word
    - EVP_PKEY_CTX_free
    - opt_provider
    - opt_cipher
    - BIO_printf
    - opt_int
    - BN_GENCB_new
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    - bio_open_owner
    - init_gen_str
    - PEM_write_bio_PrivateKey
    - EVP_CIPHER_free
    - BIO_free_all
    - ERR_print_errors
    - OPENSSL_free
    - PEM_write_bio_PrivateKey_traditional
    - setup_engine
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - opt_unknown
    - opt_num_rest
    - app_RAND_load
    - opt_help
    - app_get0_libctx
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_CTX_set_app_data
    - EVP_PKEY_CTX_set_cb
    - BN_bn2hex
    - release_engine
    - app_get0_propq
    - opt_arg
    - BN_new
    - opt_init
    - BN_free
    - opt_int_arg
    - app_passwd
    - opt_next
    - BN_GENCB_free
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    linkageType: ''
    returnType: int
    signature: 'int genrsa_main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:253,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:267,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:254,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 270
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 270
    functionName: genrsa_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/genrsa.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_CTX_get_app_data
    - EVP_PKEY_CTX_get_keygen_info
    - BIO_write
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'static int genrsa_cb(EVP_PKEY_CTX *ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:86,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:116,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:118,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:146,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:61,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:64,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:71,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:74,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:74,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:97,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:113,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:100,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:103,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:138,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:55,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:68,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:56,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:107,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:131,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:150,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:147,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:93,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:106,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:113,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:104,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:103,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:114,1
    - Dst: EVP_PKEY_param_check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:122,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:125,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:132,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:141,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c:149,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 153
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 153
    functionName: pkeyparam_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkeyparam.c
    functionUses: []
    functionsReached:
    - BIO_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_param_check
    - opt_provider
    - BIO_printf
    - PEM_read_bio_Parameters_ex
    - BIO_free_all
    - ERR_print_errors
    - setup_engine
    - opt_num_rest
    - EVP_PKEY_print_params
    - opt_help
    - app_get0_libctx
    - EVP_PKEY_CTX_new
    - PEM_write_bio_Parameters
    - bio_open_default
    - release_engine
    - app_get0_propq
    - opt_arg
    - opt_init
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int pkeyparam_main(int argc, char **argv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:241,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:242,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:243,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:244,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:257,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:259,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:264,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:255,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:253,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:251,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:265,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:261,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:273,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:274,1
    - Dst: set_dsa_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:226,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:238,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:245,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:250,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:269,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:271,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:275,1
    - Dst: set_dsa_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:229,1
    - Dst: set_dsa_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:232,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:270,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:272,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h:276,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 64
    argCount: 1
    argNames:
    - dsa_bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 278
    functionName: get_dsa
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/testdsa.h
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - set_dsa_ptr
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - BN_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *get_dsa(int dsa_bits) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:104,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:155,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:183,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:176,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:228,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:234,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:248,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:300,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:307,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:328,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:294,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:326,1
    - Dst: get_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:318,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:76,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:101,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:134,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:176,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:203,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:209,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:216,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:238,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:239,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:245,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:285,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:308,1
    - Dst: OSSL_STORE_SEARCH_by_key_fingerprint
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:290,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:330,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:325,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:272,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:278,1
    - Dst: OSSL_STORE_SEARCH_by_alias
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:299,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:89,1
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:166,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:172,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:189,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:194,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:245,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:258,1
    - Dst: OSSL_STORE_SEARCH_by_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:271,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:323,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:327,1
    - Dst: process
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:318,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:332,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:259,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:264,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:87,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:94,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:97,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:119,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:159,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:193,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:216,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:218,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:238,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:251,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:331,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:324,1
    - Dst: OSSL_STORE_SEARCH_by_issuer_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:283,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:314,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:329,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 334
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 334
    functionName: storeutl_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_SEARCH_by_issuer_serial
    - opt_md
    - s2i_ASN1_INTEGER
    - opt_rest
    - OPENSSL_assert
    - process
    - OPENSSL_hexstr2buf
    - opt_provider
    - BIO_printf
    - OPENSSL_strdup
    - BIO_free_all
    - OSSL_STORE_SEARCH_by_alias
    - ERR_print_errors
    - OPENSSL_free
    - setup_engine
    - parse_name
    - OSSL_STORE_SEARCH_by_name
    - opt_unknown
    - EVP_MD_free
    - opt_num_rest
    - opt_help
    - app_get0_libctx
    - bio_open_default
    - get_ui_method
    - release_engine
    - X509_NAME_free
    - opt_arg
    - opt_init
    - OSSL_STORE_SEARCH_free
    - OSSL_NELEM
    - OSSL_STORE_SEARCH_by_key_fingerprint
    - app_passwd
    - opt_next
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'int storeutl_main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:341,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:343,1
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:343,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - indent
    - bio
    - format
    - '...'
    argTypes:
    - int
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: indent_printf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'static int indent_printf(int indent, BIO *bio, const char *format,
      ...) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:357,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:381,1
    - Dst: OSSL_STORE_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:390,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:398,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:413,1
    - Dst: OSSL_STORE_INFO_get0_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:451,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:455,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:458,1
    - Dst: OSSL_STORE_INFO_get0_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:465,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:470,1
    - Dst: X509_CRL_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:476,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:472,1
    - Dst: OSSL_STORE_INFO_get0_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:462,1
    - Dst: OSSL_STORE_close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:491,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:492,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:486,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:393,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:410,1
    - Dst: OSSL_STORE_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:407,1
    - Dst: OSSL_STORE_INFO_get0_NAME_description
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:421,1
    - Dst: indent_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:425,1
    - Dst: EVP_PKEY_print_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:447,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:462,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:470,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:476,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:481,1
    - Dst: indent_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:488,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:472,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:478,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:450,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:357,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:360,1
    - Dst: OSSL_STORE_expect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:366,1
    - Dst: OSSL_STORE_supports_search
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:373,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:400,1
    - Dst: OSSL_STORE_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:401,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:414,1
    - Dst: indent_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:422,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:438,1
    - Dst: OSSL_STORE_INFO_get0_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:455,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:478,1
    - Dst: OSSL_STORE_INFO_get0_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:458,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:361,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:367,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:374,1
    - Dst: OSSL_STORE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:380,1
    - Dst: OSSL_STORE_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:396,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:391,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:420,1
    - Dst: indent_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:427,1
    - Dst: process
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:439,1
    - Dst: OSSL_STORE_INFO_get0_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:447,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c:465,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 89
    argCount: 13
    argNames:
    - uri
    - uimeth
    - uidata
    - expected
    - criterion
    - search
    - text
    - noout
    - recursive
    - indent
    - out
    - prog
    - libctx
    argTypes:
    - char*
    - UI_METHOD*
    - PW_CB_DATA*
    - int
    - int
    - OSSL_STORE_SEARCH*
    - int
    - int
    - int
    - int
    - BIO*
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 497
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 497
    functionName: process
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/storeutl.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_expect
    - OSSL_STORE_INFO_get0_NAME
    - process
    - EVP_PKEY_print_private
    - OSSL_STORE_INFO_get0_CRL
    - OSSL_STORE_find
    - PEM_write_bio_X509
    - BIO_printf
    - PEM_write_bio_PrivateKey
    - ERR_print_errors
    - OSSL_STORE_close
    - OSSL_STORE_INFO_free
    - EVP_PKEY_print_public
    - OSSL_STORE_INFO_type_string
    - OSSL_STORE_INFO_get0_PUBKEY
    - OSSL_STORE_error
    - ERR_clear_error
    - PEM_write_bio_X509_CRL
    - OSSL_STORE_load
    - EVP_PKEY_print_params
    - X509_CRL_print
    - OSSL_STORE_eof
    - indent_printf
    - OSSL_STORE_open_ex
    - PEM_write_bio_Parameters
    - OSSL_STORE_INFO_get0_NAME_description
    - PEM_write_bio_PUBKEY
    - OSSL_STORE_INFO_get_type
    - app_get0_propq
    - OSSL_STORE_supports_search
    - OSSL_STORE_INFO_get0_PKEY
    - OSSL_STORE_INFO_get0_PARAMS
    - X509_print
    - OSSL_STORE_INFO_get0_CERT
    linkageType: ''
    returnType: int
    signature: 'static int process(const char *uri, const UI_METHOD *uimeth, PW_CB_DATA
      *uidata, int expected, int criterion, OSSL_STORE_SEARCH *search, int text, int
      noout, int recursive, int indent, BIO *out, const char *prog, OSSL_LIB_CTX *libctx) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:87,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:88,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:100,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:104,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:175,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:184,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:154,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:190,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:225,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:269,1
    - Dst: ASN1_parse_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:274,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:280,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:253,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:96,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:110,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:110,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:256,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:257,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:258,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:263,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:285,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:286,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:289,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:251,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:240,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:261,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:287,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:288,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:183,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:164,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:160,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:194,1
    - Dst: X509_get_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:200,1
    - Dst: EVP_PKEY_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:216,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:219,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:223,1
    - Dst: EVP_PKEY_verify_recover_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:245,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:246,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:275,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:283,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:284,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:290,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:252,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:262,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:268,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:93,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:100,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:107,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:179,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:157,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:198,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:209,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:212,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:218,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:278,1
    - Dst: EVP_PKEY_verify_recover
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c:247,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 164
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 292
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 292
    functionName: rsautl_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/rsautl.c
    functionUses: []
    functionsReached:
    - opt_rand
    - ASN1_parse_dump
    - EVP_PKEY_decrypt
    - app_malloc
    - BIO_free
    - opt_format
    - EVP_PKEY_free
    - load_key
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - X509_get_pubkey
    - opt_provider
    - BIO_printf
    - load_pubkey
    - load_cert
    - X509_free
    - BIO_write
    - BIO_free_all
    - ERR_print_errors
    - OPENSSL_free
    - setup_engine
    - EVP_PKEY_encrypt
    - opt_num_rest
    - EVP_PKEY_verify_recover
    - app_RAND_load
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_sign
    - opt_help
    - EVP_PKEY_verify_recover_init
    - EVP_PKEY_decrypt_init
    - bio_open_default
    - BIO_dump
    - release_engine
    - EVP_PKEY_CTX_set_rsa_padding
    - BIO_read
    - opt_arg
    - opt_init
    - app_passwd
    - opt_next
    - EVP_PKEY_get_size
    linkageType: ''
    returnType: int
    signature: 'int rsautl_main(int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:44,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:51,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:47,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:45,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:52,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:55,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - db
    - id
    - type
    argTypes:
    - CA_DB*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: get_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - strcmp
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_num
    linkageType: ''
    returnType: int
    signature: 'static int get_index(CA_DB *db, char *id, char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - db
    - indexindex
    - verbose
    argTypes:
    - CA_DB*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: print_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - print_entry
    linkageType: ''
    returnType: void
    signature: 'static void print_index(CA_DB *db, int indexindex, int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:99,1
    - Dst: TXT_DB_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:104,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:107,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - db
    - row
    argTypes:
    - CA_DB*
    - char**
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: update_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - TXT_DB_insert
    - app_malloc
    linkageType: ''
    returnType: int
    signature: 'static int update_index(CA_DB *db, char **row) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: password_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:134,1
    - Dst: SRP_create_verifier
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:145,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:142,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:138,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:147,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:149,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:151,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 7
    argNames:
    - user
    - srp_verifier
    - srp_usersalt
    - g
    - N
    - passin
    - verbose
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 156
    functionName: srp_verify_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - strcmp
    - OPENSSL_assert
    - OPENSSL_free
    - OPENSSL_cleanse
    - SRP_create_verifier
    - password_callback
    linkageType: ''
    returnType: char*
    signature: 'static char *srp_verify_user(const char *user, const char *srp_verifier,
      char *srp_usersalt, const char *g, const char *N, const char *passin, int verbose) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:83,1
    - Dst: print_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:87,1
    - Dst: print_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:86,1
    - Dst: get_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - db
    - userindex
    - verbose
    argTypes:
    - CA_DB*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: print_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - get_index
    - sk_OPENSSL_PSTRING_value
    - print_entry
    linkageType: ''
    returnType: void
    signature: 'static void print_user(CA_DB *db, int userindex, int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:67,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:70,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - db
    - indx
    - verbose
    - s
    argTypes:
    - CA_DB*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: print_entry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OPENSSL_PSTRING_value
    linkageType: ''
    returnType: void
    signature: 'static void print_entry(CA_DB *db, int indx, int verbose, char *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:115,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - section
    - tag
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: lookup_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - NCONF_get_string
    linkageType: ''
    returnType: char*
    signature: 'static char *lookup_conf(const CONF *conf, const char *section, const
      char *tag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: password_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:170,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:174,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:178,1
    - Dst: SRP_create_verifier
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:176,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:184,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 7
    argNames:
    - user
    - srp_verifier
    - srp_usersalt
    - g
    - N
    - passout
    - verbose
    argTypes:
    - char*
    - char**
    - char**
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 189
    functionName: srp_create_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SRP_create_verifier
    - OPENSSL_cleanse
    - password_callback
    linkageType: ''
    returnType: char*
    signature: 'static char *srp_create_user(char *user, char **srp_verifier, char
      **srp_usersalt, char *g, char *N, char *passout, int verbose) '
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:246,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:294,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:291,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:326,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:406,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:465,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:509,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:288,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:464,1
    - Dst: rotate_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:606,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:625,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:605,1
    - Dst: free_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:627,1
    - Dst: app_load_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:349,1
    - Dst: app_RAND_load_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:364,1
    - Dst: get_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:422,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:371,1
    - Dst: update_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:475,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:515,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:254,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:297,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:311,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:294,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:308,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:382,1
    - Dst: print_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:395,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:474,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:403,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:387,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:488,1
    - Dst: srp_verify_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:518,1
    - Dst: srp_create_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:536,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:315,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:481,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:549,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:480,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:427,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:458,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:590,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:432,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:301,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:617,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:245,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:332,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:441,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:478,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:388,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:415,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:377,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:392,1
    - Dst: save_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:601,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:622,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:274,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:400,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:429,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:479,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:523,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:531,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:628,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:566,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:355,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:367,1
    - Dst: print_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:404,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:410,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:421,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:557,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:591,1
    - Dst: load_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:380,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:251,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:309,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:320,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:477,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:573,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:610,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:264,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:495,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:571,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:586,1
    - Dst: srp_create_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:453,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:261,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:338,1
    - Dst: app_load_config_verbose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:346,1
    - Dst: SRP_get_default_gN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:405,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:440,1
    - Dst: print_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:595,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:620,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:466,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:285,1
    - Dst: lookup_conf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:359,1
    - Dst: print_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:430,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:600,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:476,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:498,1
    - Dst: print_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:423,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:267,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:282,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:337,1
    - Dst: get_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:513,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:541,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:623,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c:626,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 300
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 630
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 630
    functionName: srp_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/srp.c
    functionUses: []
    functionsReached:
    - opt_rand
    - save_index
    - print_user
    - opt_rest
    - lookup_conf
    - update_index
    - opt_provider
    - BIO_printf
    - OPENSSL_strdup
    - SRP_get_default_gN
    - NCONF_free
    - ERR_print_errors
    - strcmp
    - OPENSSL_free
    - print_index
    - setup_engine
    - app_RAND_load_conf
    - app_load_config_verbose
    - opt_num_rest
    - srp_create_user
    - app_RAND_load
    - load_index
    - opt_help
    - app_load_modules
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_num
    - release_engine
    - opt_arg
    - rotate_index
    - opt_init
    - srp_verify_user
    - get_index
    - app_passwd
    - opt_next
    - free_index
    - print_entry
    linkageType: ''
    returnType: int
    signature: 'int srp_main(int argc, char **argv) '
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:100,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:111,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:183,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:258,1
    - Dst: EVP_read_pw_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:329,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:338,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:361,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:281,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:108,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:131,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:141,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:149,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:208,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:280,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:220,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:176,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:304,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:104,1
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:183,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:349,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:377,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:195,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:321,1
    - Dst: d2i_PKCS8_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:313,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:151,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:159,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:374,1
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:204,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:259,1
    - Dst: EVP_read_pw_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:268,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:320,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:335,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:359,1
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:179,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:285,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:104,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:127,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:138,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:315,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:234,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:376,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:225,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:275,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:356,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:373,1
    - Dst: PKCS5_pbe_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:255,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:209,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:238,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:229,1
    - Dst: PKCS5_pbe2_set_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:252,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:92,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:144,1
    - Dst: i2d_PKCS8_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:289,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:347,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:370,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:228,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:240,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:278,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:287,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:270,1
    - Dst: PKCS8_set0_pbe
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:278,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:330,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:375,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:200,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:156,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:168,1
    - Dst: EVP_aes_256_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:214,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:372,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:97,1
    - Dst: EVP_PBE_find
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:150,1
    - Dst: PEM_read_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:302,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:369,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:291,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:143,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:149,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:179,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:236,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:348,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:115,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:162,1
    - Dst: PEM_read_bio_PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:342,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:371,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:187,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:111,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:165,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:168,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:282,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:216,1
    - Dst: PKCS8_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:338,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:306,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:230,1
    - Dst: PKCS5_pbe2_set_scrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:248,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:353,1
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:187,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:91,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:141,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:152,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:343,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c:363,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 239
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 380
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 380
    functionName: pkcs8_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/pkcs8.c
    functionUses: []
    functionsReached:
    - opt_rand
    - BIO_free
    - opt_format
    - EVP_PKEY_free
    - load_key
    - EVP_PBE_find
    - PEM_read_bio_PKCS8_PRIV_KEY_INFO
    - opt_provider
    - opt_cipher
    - BIO_printf
    - EVP_read_pw_string
    - PKCS5_pbe2_set_iv
    - bio_open_owner
    - BIO_free_all
    - PEM_write_bio_PrivateKey
    - ERR_print_errors
    - EVP_CIPHER_free
    - d2i_PKCS8_PRIV_KEY_INFO_bio
    - PEM_write_bio_PrivateKey_traditional
    - OPENSSL_free
    - PKCS5_pbe2_set_scrypt
    - setup_engine
    - PKCS8_decrypt
    - opt_num_rest
    - PKCS8_PRIV_KEY_INFO_free
    - app_RAND_load
    - X509_ALGOR_free
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - PEM_read_bio_PKCS8
    - OBJ_txt2nid
    - opt_help
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - d2i_PKCS8_bio
    - bio_open_default
    - EVP_aes_256_cbc
    - opt_long
    - strlen
    - EVP_PKCS82PKEY
    - EVP_PKEY2PKCS8
    - release_engine
    - i2d_PrivateKey_bio
    - PKCS8_set0_pbe
    - assert
    - opt_arg
    - X509_SIG_free
    - opt_init
    - i2d_PKCS8_bio
    - PKCS5_pbe_set
    - opt_int_arg
    - app_passwd
    - PEM_write_bio_PKCS8
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int pkcs8_main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:77,1
    - Dst: decc$feature_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:96,1
    - Dst: decc$feature_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:95,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:79,1
    - Dst: decc$feature_get_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:92,1
    - Dst: decc$feature_get_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:97,1
    - Dst: decc$feature_set_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:104,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:108,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:115,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:123,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 131
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 131
    functionName: decc_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/vms_decc_init.c
    functionUses: []
    functionsReached:
    - strtol
    - decc$feature_get_value
    - decc$feature_set_value
    - decc$feature_get_index
    - getenv
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void decc_init(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:363,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 376
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 376
    functionName: ebcdic_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: 'static long ebcdic_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 295
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1841,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1560,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1592,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1607,1
    - Dst: ctx_set_verify_locations
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2004,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2185,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2083,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2242,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1165,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1948,1
    - Dst: set_keylog_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2214,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1162,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1394,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2130,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2255,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2258,1
    - Dst: SSL_CTX_set_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1863,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1901,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1080,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1119,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1207,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1318,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1686,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2072,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2122,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2266,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2011,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1271,1
    - Dst: set_cert_key_stuff
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2092,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2244,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1680,1
    - Dst: SSL_CTX_set_generate_session_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1981,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1747,1
    - Dst: load_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1775,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2058,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2239,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2251,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1210,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1548,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1598,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1674,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2158,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1909,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1151,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1259,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1700,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1818,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2218,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2257,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1978,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2075,1
    - Dst: SSL_CTX_set_not_resumable_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2111,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1598,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1692,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2021,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2055,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2127,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1125,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2246,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1573,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1669,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1607,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1074,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1108,1
    - Dst: BIO_parse_hostserv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1152,1
    - Dst: opt_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1293,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1592,1
    - Dst: next_protos_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1768,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1839,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2177,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1439,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2261,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1230,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2209,1
    - Dst: load_keyparams_suppress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2033,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1779,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1999,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2163,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1221,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1265,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1505,1
    - Dst: SSL_load_client_CA_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2202,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1934,1
    - Dst: ssl_ctx_set_excert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1885,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1201,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1217,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1376,1
    - Dst: print_stats
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2235,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1100,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1184,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1162,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1237,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1394,1
    - Dst: ssl_ctx_security_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1848,1
    - Dst: SSL_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1964,1
    - Dst: do_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2233,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1172,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1234,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1620,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1845,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2249,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1153,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1387,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1577,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1905,1
    - Dst: ssl_ctx_security_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1975,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2037,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2145,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2241,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2267,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1073,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1135,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1396,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1730,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2256,1
    - Dst: IS_PROT_FLAG
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1082,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1294,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1244,1
    - Dst: dup_bio_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1823,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1839,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1814,1
    - Dst: init_session_cache_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1997,1
    - Dst: SSL_CTX_use_serverinfo_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2096,1
    - Dst: SSL_CTX_set_generate_session_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1877,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2050,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1230,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:983,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1360,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1935,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2141,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1176,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1601,1
    - Dst: SSL_CTX_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1946,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2041,1
    - Dst: SSL_CTX_set_not_resumable_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2115,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2169,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1089,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1360,1
    - Dst: SSL_CTX_set_default_read_buffer_len
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1928,1
    - Dst: SSL_CTX_set_split_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1915,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1874,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2180,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1138,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1552,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1585,1
    - Dst: load_keyparams
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2031,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2025,1
    - Dst: SSL_load_client_CA_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2199,1
    - Dst: ssl_load_stores
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1954,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2159,1
    - Dst: TLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:981,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1475,1
    - Dst: SSL_CTX_set_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2002,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2138,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1172,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1879,1
    - Dst: config_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2016,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2081,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2148,1
    - Dst: IS_NO_PROT_FLAG
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1086,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1162,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1441,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1894,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1992,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2247,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1735,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2187,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1194,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1324,1
    - Dst: SSL_CTX_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2009,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:985,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1097,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1283,1
    - Dst: ctx_set_verify_locations
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1941,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2248,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2254,1
    - Dst: SSL_CTX_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1854,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1959,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1396,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1434,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1615,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1716,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1077,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1118,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1291,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2181,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1778,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1536,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1982,1
    - Dst: SSL_CTX_set_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1897,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1943,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1150,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1197,1
    - Dst: SSL_CTX_use_psk_identity_hint
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2129,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1083,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1295,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1327,1
    - Dst: load_excert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1726,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2010,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1964,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2097,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2270,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1438,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1801,1
    - Dst: init_session_cache_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1892,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1805,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2188,1
    - Dst: set_cert_key_stuff
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2106,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2149,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2162,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1107,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1513,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1741,1
    - Dst: ssl_ctx_add_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2015,1
    - Dst: ssl_excert_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2264,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2006,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1210,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2186,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1839,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1262,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1178,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1379,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1446,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1782,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1966,1
    - Dst: SSL_CTX_set_stateless_cookie_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2173,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2131,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1797,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1186,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1217,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1274,1
    - Dst: atol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1536,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1570,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2259,1
    - Dst: next_protos_parse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1761,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1979,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1214,1
    - Dst: set_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1197,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1983,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1814,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1888,1
    - Dst: set_up_srp_verifier_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2193,1
    - Dst: set_keylog_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2240,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2252,1
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2273,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2056,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1176,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1224,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1552,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1601,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1780,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1855,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1933,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1649,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1184,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1365,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1564,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1610,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1916,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1986,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1867,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1294,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1137,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1620,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1293,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1376,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1878,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1752,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1300,1
    - Dst: DTLS_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1499,1
    - Dst: load_keyparams_suppress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2066,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1653,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2199,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1227,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1613,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1664,1
    - Dst: SSL_CTX_set_stateless_cookie_generate_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2172,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1922,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2243,1
    - Dst: free_sessions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2253,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1253,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2039,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1890,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2263,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1781,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1857,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1241,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1430,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1613,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1958,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2059,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1908,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1237,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1283,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1792,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2206,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2238,1
    - Dst: BIO_parse_hostserv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1137,1
    - Dst: args_excert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1305,1
    - Dst: isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1439,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1450,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1581,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1658,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1964,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2210,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2054,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1972,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2080,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2168,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1622,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1710,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1870,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2245,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2250,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2268,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2051,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2142,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1191,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2084,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1247,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1136,1
    - Dst: SSL_CTX_set_recv_max_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2220,1
    - Dst: unlink
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2231,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1604,1
    - Dst: config_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1850,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1072,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1370,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1457,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1875,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1947,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2044,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2156,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2073,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2176,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1081,1
    - Dst: ssl_ctx_add_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1952,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2202,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1715,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1604,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1995,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1152,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1556,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1589,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2265,1
    - Dst: set_cert_key_stuff
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2102,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2082,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2207,1
    - Dst: ssl_ctx_set_excert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1989,1
    - Dst: SSL_CTX_set_max_pipelines
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1921,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1882,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2089,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2146,1
    - Dst: dup_bio_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:1816,1
    CyclomaticComplexity: 468
    EdgeCount: 468
    ICount: 848
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2276
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 2276
    functionName: s_server_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_free
    - SSL_CTX_set_default_read_buffer_len
    - SSL_CTX_set_psk_server_callback
    - ssl_excert_free
    - load_keyparams
    - BIO_new
    - TLS_server_method
    - SSL_CTX_set_session_cache_mode
    - sk_X509_CRL_pop_free
    - ERR_print_errors
    - SSL_load_client_CA_file
    - set_nameopt
    - dup_bio_out
    - SSL_CTX_set_min_proto_version
    - atol
    - app_RAND_load
    - set_keylog_file
    - app_get0_libctx
    - SSL_CTX_set_tlsext_use_srtp
    - SSL_CTX_set_not_resumable_session_callback
    - BIO_meth_free
    - ssl_ctx_add_crls
    - SSL_CTX_set_cookie_generate_cb
    - release_engine
    - X509_VERIFY_PARAM_new
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_CTX_set_max_early_data
    - app_get0_propq
    - opt_arg
    - opt_init
    - unlink
    - SSL_CTX_set_tlsext_servername_arg
    - OSSL_HTTP_parse_url
    - SSL_CTX_clear_mode
    - SSL_CTX_set_dh_auto
    - SSL_CTX_set_max_pipelines
    - load_keyparams_suppress
    - opt_provider
    - STACK_OF
    - SSL_CONF_CTX_free
    - OPENSSL_free
    - SSL_CTX_new_ex
    - SSL_CTX_set_tlsext_status_cb
    - sk_OPENSSL_STRING_push
    - opt_verify
    - SSL_CTX_set_tlsext_status_arg
    - SSL_CTX_set_session_id_context
    - load_excert
    - strlen
    - SSL_CTX_set_alpn_select_cb
    - ssl_load_stores
    - ssl_ctx_security_debug
    - do_server
    - SSL_CTX_config
    - SSL_CTX_set_mode
    - app_passwd
    - BIO_puts
    - sk_X509_CRL_push
    - load_certs
    - opt_rand
    - opt_flag
    - IS_PROT_FLAG
    - SSL_CTX_use_psk_identity_hint
    - EVP_PKEY_free
    - config_ctx
    - SSL_CTX_set_client_CA_list
    - args_excert
    - DTLS_server_method
    - BIO_printf
    - OPENSSL_strdup
    - SSL_CTX_set_generate_session_id
    - SSL_CTX_set_max_send_fragment
    - load_cert_pass
    - _UC
    - SSL_CTX_set_cookie_verify_cb
    - atoi
    - SSL_CTX_set_options
    - IS_NO_PROT_FLAG
    - SSL_CTX_use_serverinfo_file
    - init_session_cache_ctx
    - sk_OPENSSL_STRING_new_null
    - BIO_new_file
    - set_cert_key_stuff
    - SSL_CTX_sess_set_cache_size
    - SSL_CTX_set_recv_max_early_data
    - free_sessions
    - SSL_CTX_set_tlsext_servername_callback
    - sk_X509_CRL_new_null
    - SSL_CTX_set_verify
    - print_stats
    - SSL_CTX_set_stateless_cookie_verify_cb
    - SSL_CONF_CTX_new
    - BIO_parse_hostserv
    - SSL_CTX_set_max_proto_version
    - next_protos_parse
    - set_up_srp_verifier_file
    - SSL_CTX_set0_tmp_dh_pkey
    - SSL_CTX_set_psk_find_session_callback
    - BIO_s_null
    - SSL_CTX_set1_param
    - BIO_free
    - opt_format
    - SSL_CTX_set_split_send_fragment
    - load_key
    - EVP_PKEY_up_ref
    - X509_free
    - ctx_set_verify_locations
    - sk_X509_pop_free
    - X509_VERIFY_PARAM_free
    - setup_engine
    - SSL_SESSION_free
    - opt_num_rest
    - load_crl
    - SSL_CTX_set_stateless_cookie_generate_cb
    - opt_help
    - PEM_read_bio_SSL_SESSION
    - X509_CRL_free
    - SSL_CTX_free
    - ssl_ctx_set_excert
    - SSL_CONF_CTX_set_flags
    - isxdigit
    - BIO_flush
    - SSL_CTX_set_info_callback
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int s_server_main(int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2309,1
    - Dst: bio_dump_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2323,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2324,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 2328
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2328
    functionName: count_reads_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - bio_dump_callback
    - BIO_set_callback_arg
    - BIO_get_callback_arg
    linkageType: ''
    returnType: long int
    signature: 'static long int count_reads_callback(BIO *bio, int cmd, const char
      *argp, size_t len, int argi, long argl, int ret, size_t *processed) '
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3091,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3129,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3130,1
    - Dst: BIO_get_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3153,1
    - Dst: SSL_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3179,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3269,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3299,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3360,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3361,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3434,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3443,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3240,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3064,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3104,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3130,1
    - Dst: lookup_srp_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3156,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3154,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3281,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3294,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3340,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3341,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3369,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3080,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3199,1
    - Dst: print_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3280,1
    - Dst: print_stats
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3288,1
    - Dst: app_isdir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3359,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3374,1
    - Dst: BIO_get_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3400,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3452,1
    - Dst: SSL_waiting_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3457,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3487,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3489,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3454,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3177,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3188,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3238,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3085,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3121,1
    - Dst: ssl_print_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3276,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3288,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3289,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3347,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3348,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3380,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3129,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3183,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3236,1
    - Dst: BIO_should_io_special
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3152,1
    - Dst: SSL_get_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3247,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3251,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3290,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3292,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3389,1
    - Dst: SSL_sendfile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3413,1
    - Dst: openssl_fdset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3194,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3071,1
    - Dst: BIO_new_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3095,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3084,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3107,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3121,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3125,1
    - Dst: SSL_set_msg_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3138,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3182,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3254,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3222,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3065,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3113,1
    - Dst: SSL_set_msg_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3135,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3150,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3208,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3189,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3246,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3250,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3377,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3416,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3477,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3234,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3171,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3216,1
    - Dst: BIO_socket_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3070,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3257,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3284,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3401,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3488,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3065,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3117,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3145,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3147,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3161,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3252,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3286,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3287,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3378,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3404,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3440,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3063,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3185,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3195,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3256,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3259,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3267,1
    - Dst: ssl_print_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3278,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3368,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3409,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3444,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3225,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3196,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3077,1
    - Dst: SSL_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3089,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3111,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3178,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3252,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3281,1
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3293,1
    - Dst: do_ssl_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3484,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3285,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3197,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3064,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3193,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3285,1
    - Dst: SSL_SESSION_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3286,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3353,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3354,1
    - Dst: fstat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3402,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3475,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3390,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3366,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3073,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3114,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3248,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3367,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3460,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3469,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3425,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3118,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3174,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3231,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3228,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3297,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3379,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3456,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3403,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3090,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3139,1
    - Dst: SSL_waiting_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3145,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3170,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3213,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3264,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3381,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3384,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3389,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3415,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3211,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3187,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3097,1
    - Dst: BIO_f_nbio_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3104,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3106,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3143,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3214,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3274,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3283,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3302,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 391
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 3491
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3491
    functionName: www_body
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - SSL_set_msg_callback_arg
    - app_malloc
    - openssl_fdset
    - BIO_set_callback_ex
    - BIO_get_fp
    - BIO_new
    - SSL_sendfile
    - SSL_new
    - lookup_srp_user
    - PEM_write_bio_X509
    - ERR_print_errors
    - SSL_get_shared_ciphers
    - fileno
    - SSL_free
    - sk_SSL_CIPHER_num
    - BIO_read
    - SSL_SESSION_print
    - BIO_set_ssl
    - X509_print
    - BIO_f_buffer
    - SSL_waiting_for_async
    - SSL_set_accept_state
    - BIO_set_callback_arg
    - SSL_set_verify
    - SSL_get_wbio
    - STACK_OF
    - BIO_write
    - FD_ISSET
    - OPENSSL_free
    - SSL_CIPHER_get_name
    - BIO_set_write_buffer_size
    - select
    - strncmp
    - app_isdir
    - SSL_get_error
    - strlen
    - do_ssl_shutdown
    - ossl_sleep
    - ssl_print_groups
    - BIO_puts
    - SSL_get0_peer_certificate
    - BIO_gets
    - SSL_CIPHER_get_version
    - SSL_do_handshake
    - BIO_printf
    - BIO_socket_nbio
    - SSL_get_session
    - SSL_set_tlsext_debug_arg
    - SSL_set_tlsext_debug_callback
    - SSL_set_bio
    - BIO_new_file
    - SSL_get_secure_renegotiation_support
    - BIO_f_ssl
    - SSL_set_msg_callback
    - SSL_set_session_id_context
    - SSL_session_reused
    - SSL_get_ciphers
    - BIO_new_socket
    - BIO_get_retry_reason
    - sk_SSL_CIPHER_value
    - print_stats
    - FD_ZERO
    - BIO_should_io_special
    - BIO_free
    - SSL_renegotiate
    - BIO_f_ebcdic_filter
    - SSL_get_current_cipher
    - BIO_free_all
    - strcmp
    - BIO_get_ktls_send
    - ssl_print_sigalgs
    - fstat
    - BIO_should_retry
    - SSL_get_rbio
    - SSL_get_SSL_CTX
    - BIO_flush
    - print_ca_names
    - BIO_push
    - BIO_f_nbio_test
    linkageType: ''
    returnType: int
    signature: 'static int www_body(int s, int stype, int prot, unsigned char *context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:381,1
    - Dst: ebcdic_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: ebcdic_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - ebcdic_read
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int ebcdic_gets(BIO *bp, char *buf, int size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:658,1
    - Dst: SSL_select_next_proto
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:668,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:661,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:665,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:662,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:675,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:676,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:677,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 681
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 681
    functionName: alpn_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: 'static int alpn_cb(SSL *s, const unsigned char **out, unsigned char
      *outlen, const unsigned char *in, unsigned int inlen, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2280,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2286,1
    - Dst: SSL_CTX_sess_connect_good
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2287,1
    - Dst: SSL_CTX_sess_hits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2294,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2292,1
    - Dst: SSL_CTX_sess_misses
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2296,1
    - Dst: SSL_CTX_sess_timeouts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2298,1
    - Dst: SSL_CTX_sess_get_cache_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2303,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2284,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2297,1
    - Dst: SSL_CTX_sess_accept_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2291,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2294,1
    - Dst: SSL_CTX_sess_accept_good
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2293,1
    - Dst: SSL_CTX_sess_cb_hits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2300,1
    - Dst: SSL_CTX_sess_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2283,1
    - Dst: SSL_CTX_sess_connect_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2285,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2290,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2295,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2301,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2282,1
    - Dst: SSL_CTX_sess_number
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2281,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2288,1
    - Dst: SSL_CTX_sess_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2289,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2299,1
    - Dst: SSL_CTX_sess_cache_full
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - bio
    - ssl_ctx
    argTypes:
    - BIO*
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 2304
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2304
    functionName: print_stats
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_CTX_sess_cache_full
    - SSL_CTX_sess_get_cache_size
    - SSL_CTX_sess_misses
    - SSL_CTX_sess_accept_renegotiate
    - SSL_CTX_sess_accept_good
    - SSL_CTX_sess_connect_good
    - SSL_CTX_sess_timeouts
    - SSL_CTX_sess_number
    - SSL_CTX_sess_hits
    - SSL_CTX_sess_cb_hits
    - SSL_CTX_sess_accept
    - SSL_CTX_sess_connect_renegotiate
    - SSL_CTX_sess_connect
    linkageType: ''
    returnType: void
    signature: 'static void print_stats(BIO *bio, SSL_CTX *ssl_ctx) '
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2359,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2455,1
    - Dst: SSL_has_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2527,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2620,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2653,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2676,1
    - Dst: SSL_is_init_finished
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2736,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2768,1
    - Dst: raw_write_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2780,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2744,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2410,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2412,1
    - Dst: DTLS_set_link_mtu
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2416,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2503,1
    - Dst: fileno_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2518,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2612,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2631,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2681,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2744,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2772,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2821,1
    - Dst: print_connection_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2515,1
    - Dst: openssl_fdset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2533,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2456,1
    - Dst: SSL_get_early_data_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2507,1
    - Dst: SSL_is_dtls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2558,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2647,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2652,1
    - Dst: lookup_srp_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2770,1
    - Dst: wait_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2788,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2817,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2808,1
    - Dst: SSL_waiting_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2528,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2471,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2531,1
    - Dst: BIO_new_dgram
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2390,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2393,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2408,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2594,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2609,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2611,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2682,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2689,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2373,1
    - Dst: SSL_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2378,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2387,1
    - Dst: fileno_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2570,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2493,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2512,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2640,1
    - Dst: print_stats
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2663,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2746,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2765,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2354,1
    - Dst: BIO_new_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2433,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2552,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2602,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2621,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2649,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2660,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2663,1
    - Dst: SSL_has_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2782,1
    - Dst: do_ssl_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2818,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2717,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2802,1
    - Dst: fileno_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2533,1
    - Dst: SSL_is_init_finished
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2514,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2351,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2366,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2367,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2379,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2452,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2603,1
    - Dst: SSL_key_update
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2637,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2700,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2787,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2437,1
    - Dst: fileno_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2519,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2419,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2430,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2573,1
    - Dst: BIO_socket_nbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2353,1
    - Dst: SSL_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2371,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2392,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2459,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2424,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2792,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2444,1
    - Dst: DTLSv1_get_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2558,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2566,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2641,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2711,1
    - Dst: SSL_waiting_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2735,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2775,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2767,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2803,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2400,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2409,1
    - Dst: SSL_set_msg_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2463,1
    - Dst: SSL_set_msg_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2466,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2778,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2822,1
    - Dst: raw_write_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2502,1
    - Dst: FD_ISSET
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2570,1
    - Dst: SSL_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2626,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2709,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2716,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2801,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2807,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2786,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2448,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2446,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2481,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2372,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2404,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2610,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2630,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2667,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2693,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2701,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2356,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2436,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2459,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2508,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2472,1
    - Dst: close_accept_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2604,1
    - Dst: SSL_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2646,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2650,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2660,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2686,1
    - Dst: init_ssl_connection
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2745,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2499,1
    - Dst: BIO_f_nbio_test
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2444,1
    - Dst: has_stdin_waiting
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2553,1
    - Dst: openssl_fdset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2535,1
    - Dst: raw_read_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2596,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2601,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2629,1
    - Dst: lookup_srp_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2684,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2746,1
    - Dst: SSL_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2679,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2563,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2510,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2781,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2819,1
    - Dst: DTLSv1_handle_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2565,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2467,1
    - Dst: raw_read_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2580,1
    - Dst: SSL_set_options
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2415,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2417,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2492,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2485,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2619,1
    - Dst: wait_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2695,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2710,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2694,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2793,1
    CyclomaticComplexity: 147
    EdgeCount: 147
    ICount: 386
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2824
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2824
    functionName: sv_body
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - SSL_set_msg_callback_arg
    - SSL_waiting_for_async
    - BIO_free
    - app_malloc
    - SSL_set_accept_state
    - openssl_fdset
    - BIO_set_callback_arg
    - SSL_get_early_data_status
    - close_accept_socket
    - SSL_set_verify
    - SSL_renegotiate
    - BIO_set_callback_ex
    - SSL_get_wbio
    - BIO_ctrl
    - SSL_key_update
    - SSL_do_handshake
    - OPENSSL_clear_free
    - SSL_is_init_finished
    - raw_write_stdout
    - BIO_new
    - SSL_new
    - lookup_srp_user
    - BIO_printf
    - DTLSv1_get_timeout
    - BIO_write
    - FD_ISSET
    - SSL_version
    - SSL_write
    - fileno_stdin
    - ERR_print_errors
    - BIO_socket_nbio
    - ascii2ebcdic
    - SSL_verify_client_post_handshake
    - init_ssl_connection
    - BIO_closesocket
    - SSL_has_pending
    - DTLSv1_handle_timeout
    - print_connection_info
    - wait_for_async
    - SSL_set_tlsext_debug_arg
    - has_stdin_waiting
    - BIO_new_dgram
    - SSL_set_tlsext_debug_callback
    - SSL_set_bio
    - SSL_read_early_data
    - DTLS_get_link_min_mtu
    - SSL_set_msg_callback
    - SSL_set_session_id_context
    - BIO_new_dgram_sctp
    - DTLS_set_link_mtu
    - BIO_new_socket
    - SSL_get_rbio
    - select
    - ebcdic2ascii
    - printf
    - SSL_set_options
    - SSL_is_dtls
    - raw_read_stdin
    - SSL_get_error
    - strlen
    - print_stats
    - SSL_free
    - do_ssl_shutdown
    - assert
    - SSL_read
    - SSL_get_SSL_CTX
    - FD_ZERO
    - BIO_flush
    - BIO_push
    - SSL_clear
    - BIO_f_nbio_test
    linkageType: ''
    returnType: int
    signature: 'static int sv_body(int s, int stype, int prot, unsigned char *context) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3507,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3538,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3543,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3546,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3571,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3595,1
    - Dst: BIO_should_io_special
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3600,1
    - Dst: BIO_get_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3601,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3629,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3631,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3646,1
    - Dst: lookup_srp_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3604,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3614,1
    - Dst: lookup_srp_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3581,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3647,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3508,1
    - Dst: SSL_set_session_id_context
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3524,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3525,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3527,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3534,1
    - Dst: BIO_set_callback_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3554,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3554,1
    - Dst: BIO_set_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3555,1
    - Dst: BIO_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3568,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3573,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3622,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3627,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3624,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3506,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3507,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3520,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3521,1
    - Dst: BIO_new_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3531,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3546,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3550,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3555,1
    - Dst: SSL_set_msg_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3563,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3572,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3598,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3609,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3634,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3587,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3591,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3508,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3513,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3516,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3526,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3533,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3539,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3542,1
    - Dst: SSL_set_msg_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3560,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3564,1
    - Dst: BIO_should_io_special
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3577,1
    - Dst: BIO_get_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3578,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3579,1
    - Dst: print_ssl_summary
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3588,1
    - Dst: do_ssl_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3641,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3645,1
    - Dst: BIO_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3593,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3602,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 130
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 3649
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 3649
    functionName: rev_body
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_f_buffer
    - SSL_set_msg_callback_arg
    - BIO_gets
    - SSL_set_accept_state
    - app_malloc
    - BIO_free
    - BIO_set_callback_arg
    - BIO_set_callback_ex
    - BIO_f_ebcdic_filter
    - BIO_new
    - SSL_new
    - lookup_srp_user
    - BIO_printf
    - BIO_write
    - BIO_free_all
    - ERR_print_errors
    - OPENSSL_free
    - SSL_set_tlsext_debug_arg
    - BIO_should_retry
    - BIO_set_write_buffer_size
    - SSL_set_tlsext_debug_callback
    - SSL_set_bio
    - BIO_f_ssl
    - SSL_set_msg_callback
    - SSL_set_session_id_context
    - SSL_get_rbio
    - BIO_new_socket
    - BUF_reverse
    - strncmp
    - BIO_get_retry_reason
    - strlen
    - BIO_should_io_special
    - SSL_free
    - do_ssl_shutdown
    - print_ssl_summary
    - ossl_sleep
    - BIO_flush
    - BIO_do_handshake
    - BIO_set_ssl
    - BIO_push
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int rev_body(int s, int stype, int prot, unsigned char *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3786,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3790,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3793
      start: 3782
    functionDepth: 0
    functionLinenumber: 3782
    functionLinenumberEnd: 3793
    functionName: free_sessions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void free_sessions(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:287,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:292,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: ebcdic_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - app_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ebcdic_new(BIO *bi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3756,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3763,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3758,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3764,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3765,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - sctx
    - session
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 3770
      start: 3751
    functionDepth: 0
    functionLinenumber: 3751
    functionLinenumberEnd: 3770
    functionName: del_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - SSL_SESSION_get_id
    - OPENSSL_free
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void del_session(SSL_CTX *sctx, SSL_SESSION *session) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:268,1
    - Dst: BIO_meth_set_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:271,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:273,1
    - Dst: BIO_meth_set_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:272,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:274,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:275,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:276,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 281
    functionName: BIO_f_ebcdic_filter
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_read
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'static const BIO_METHOD *BIO_f_ebcdic_filter() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:198,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:205,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:210,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:199,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:212,1
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:218,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:220,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:221,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:225,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:227,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:230,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:231,1
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:234,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:228,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:229,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 4
    argNames:
    - ssl
    - identity
    - identity_len
    - sess
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - SSL_SESSION**
    constantsTouched: []
    func_position:
      end: 238
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 238
    functionName: psk_find_session_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_version
    - memcmp
    - SSL_CIPHER_find
    - OPENSSL_free
    - SSL_SESSION_set_protocol_version
    - SSL_SESSION_new
    - SSL_SESSION_set1_master_key
    - SSL_SESSION_free
    - SSL_SESSION_set_cipher
    - OPENSSL_hexstr2buf
    - SSL_SESSION_up_ref
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int psk_find_session_cb(SSL *ssl, const unsigned char *identity,
      size_t identity_len, SSL_SESSION **sess) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:302,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:303,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:305,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: ebcdic_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int ebcdic_free(BIO *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:418,1
    - Dst: isprint
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:427,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:424,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:428,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:426,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:435,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:438,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:439,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: ssl_servername_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_set_SSL_CTX
    - isprint
    - OPENSSL_strcasecmp
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: 'static int ssl_servername_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3774,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3777,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3779,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 3780
      start: 3772
    functionDepth: 0
    functionLinenumber: 3772
    functionLinenumberEnd: 3780
    functionName: init_session_cache_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    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: 'static void init_session_cache_ctx(SSL_CTX *sctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:133,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:144,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:152,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:153,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:168,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:175,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:163,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:184,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:131,1
    - Dst: SSL_is_dtls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:133,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:148,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:149,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:161,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:176,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:183,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:179,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:185,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:171,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 187
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 187
    functionName: psk_server_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_version
    - strcmp
    - OPENSSL_free
    - memcpy
    - BIO_flush
    - OPENSSL_hexstr2buf
    - SSL_is_dtls
    - strlen
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int psk_server_cb(SSL *ssl, const char *identity,
      unsigned char *psk, unsigned int max_psk_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:313,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:320,1
    - Dst: ascii2ebcdic
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: ebcdic_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_read
    - ascii2ebcdic
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int ebcdic_read(BIO *b, char *out, int outl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:583,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:592,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:588,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:586,1
    - Dst: d2i_OCSP_RESPONSE_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:591,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:594,1
    - Dst: get_ocsp_resp_from_responder
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:598,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:603,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:607,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:609,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:619,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:617,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:610,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 622
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 622
    functionName: cert_status_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - i2d_OCSP_RESPONSE
    - BIO_free
    - ERR_print_errors
    - get_ocsp_resp_from_responder
    - OCSP_RESPONSE_free
    - SSL_set_tlsext_status_ocsp_resp
    - d2i_OCSP_RESPONSE_bio
    - bio_open_default
    - OCSP_RESPONSE_print
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int cert_status_cb(SSL *s, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - s
    - is_forward_secure
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: not_resumable_sess_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int not_resumable_sess_cb(SSL *s, int is_forward_secure) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2828,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2832
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2832
    functionName: close_accept_socket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_closesocket
    linkageType: ''
    returnType: void
    signature: 'static void close_accept_socket(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3698,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3705,1
    - Dst: i2d_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3702,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3704,1
    - Dst: SSL_SESSION_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3701,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3709,1
    - Dst: SSL_SESSION_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3709,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3710,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3712,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3713,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3714,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3724,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3715,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3723,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3731,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3722,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3725,1
    - Dst: i2d_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3721,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 3733
      start: 3696
    functionDepth: 0
    functionLinenumber: 3696
    functionLinenumberEnd: 3733
    functionName: add_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - app_malloc
    - OPENSSL_free
    - i2d_SSL_SESSION
    - OPENSSL_memdup
    - SSL_SESSION_get_id
    linkageType: ''
    returnType: int
    signature: 'static int add_session(SSL *ssl, SSL_SESSION *session) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:329,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:350,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:345,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:338,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:344,1
    - Dst: ebcdic2ascii
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:353,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 358
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 358
    functionName: ebcdic_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_write
    - app_malloc
    - BIO_set_data
    - OPENSSL_free
    - ebcdic2ascii
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int ebcdic_write(BIO *b, const char *in, int inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - con
    - i
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 2842
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2842
    functionName: is_retryable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: 'static int is_retryable(SSL *con, int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3741,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3747,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3743,1
    - Dst: d2i_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3744,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - ssl
    - id
    - idlen
    - do_copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 3749
      start: 3735
    functionDepth: 0
    functionLinenumber: 3735
    functionLinenumberEnd: 3749
    functionName: get_session
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - d2i_SSL_SESSION
    - memcmp
    linkageType: ''
    returnType: SSL_SESSION*
    signature: 'static SSL_SESSION *get_session(SSL *ssl, const unsigned char *id,
      int idlen, int *do_copy) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:480,1
    - Dst: X509_get1_ocsp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:486,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:488,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:498,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:514,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:518,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:520,1
    - Dst: OCSP_cert_to_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:523,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:523,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:517,1
    - Dst: OCSP_REQUEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:564,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:474,1
    - Dst: SSL_get_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:485,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:488,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:513,1
    - Dst: X509_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:524,1
    - Dst: OCSP_request_add0_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:530,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:535,1
    - Dst: process_responder
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:540,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:563,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:490,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:494,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:495,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:510,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:514,1
    - Dst: OCSP_REQUEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:527,1
    - Dst: SSL_get_tlsext_status_exts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:534,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:559,1
    - Dst: X509_email_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:561,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:558,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:536,1
    - Dst: OCSP_REQUEST_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:537,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:543,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:560,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:565,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 3
    argNames:
    - s
    - srctx
    - resp
    argTypes:
    - SSL*
    - tlsextstatusctx*
    - OCSP_RESPONSE**
    constantsTouched: []
    func_position:
      end: 567
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 567
    functionName: get_ocsp_resp_from_responder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_value
    - X509_get_issuer_name
    - STACK_OF
    - BIO_printf
    - SSL_get_certificate
    - OPENSSL_free
    - X509_STORE_CTX_free
    - OCSP_request_add0_id
    - sk_X509_EXTENSION_value
    - SSL_get_tlsext_status_exts
    - X509_STORE_CTX_new
    - SSL_CTX_get_cert_store
    - X509_OBJECT_get0_X509
    - OCSP_cert_to_id
    - X509_email_free
    - X509_STORE_CTX_get_obj_by_subject
    - OCSP_REQUEST_free
    - OCSP_REQUEST_add_ext
    - OCSP_REQUEST_new
    - X509_STORE_CTX_init
    - sk_X509_EXTENSION_num
    - SSL_get_SSL_CTX
    - X509_OBJECT_free
    - X509_get1_ocsp
    - process_responder
    - OCSP_CERTID_free
    - BIO_puts
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: int
    signature: 'static int get_ocsp_resp_from_responder(SSL *s, tlsextstatusctx *srctx,
      OCSP_RESPONSE **resp) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2869,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2873,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2886,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2901,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2890,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2884,1
    - Dst: is_retryable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2893,1
    - Dst: lookup_srp_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2914,1
    - Dst: is_retryable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2918,1
    - Dst: SSL_waiting_for_async
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2921,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2867,1
    - Dst: BIO_ctrl_set_connected
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2878,1
    - Dst: SSL_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2898,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2910,1
    - Dst: SSL_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2916,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2855,1
    - Dst: SSL_stateless
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2860,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2897,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2879,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2899,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2911,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2935,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2936,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2939,1
    - Dst: print_connection_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2943,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2931,1
    - Dst: BIO_ADDR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2854,1
    - Dst: DTLSv1_listen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2858,1
    - Dst: BIO_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2872,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2874,1
    - Dst: is_retryable
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2903,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2927,1
    - Dst: SSL_get_verify_result
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2933,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 1
    argNames:
    - con
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 2945
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2945
    functionName: init_ssl_connection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - SSL_waiting_for_async
    - BIO_ADDR_new
    - SSL_get_wbio
    - lookup_srp_user
    - BIO_printf
    - is_retryable
    - ERR_print_errors
    - SSL_stateless
    - X509_verify_cert_error_string
    - print_connection_info
    - BIO_get_fd
    - SSL_accept
    - SSL_get_state
    - BIO_connect
    - SSL_get_verify_result
    - SSL_get_error
    - BIO_ADDR_free
    - BIO_ctrl_set_connected
    - DTLSv1_listen
    linkageType: ''
    returnType: int
    signature: 'static int init_ssl_connection(SSL *con) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:402,1
    - Dst: ebcdic_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:404,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: ebcdic_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - strlen
    - ebcdic_write
    - BIO_next
    linkageType: ''
    returnType: int
    signature: 'static int ebcdic_puts(BIO *bp, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    constantsTouched: []
    func_position:
      end: 641
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 641
    functionName: next_proto_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int next_proto_cb(SSL *s, const unsigned char **data, unsigned
      int *len, void *arg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2967,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2972,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2974,1
    - Dst: ssl_print_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2978,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2981,1
    - Dst: print_ca_names
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2980,1
    - Dst: SSL_session_reused
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3001,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3010,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3012,1
    - Dst: SSL_export_keying_material
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3013,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3018,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3034,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3031,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2962,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2973,1
    - Dst: ssl_print_point_formats
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2977,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2997,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3004,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3006,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3009,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3029,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3030,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3020,1
    - Dst: print_ssl_summary
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2960,1
    - Dst: SSL_get_session
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2962,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2966,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2964,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2974,1
    - Dst: ssl_print_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2975,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2987,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2988,1
    - Dst: SSL_get_options
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3005,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3011,1
    - Dst: BIO_get_ktls_send
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3028,1
    - Dst: SSL_get_wbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3028,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3016,1
    - Dst: dump_cert_text
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2968,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2986,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2984,1
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:2994,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3002,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3003,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3022,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3023,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3025,1
    - Dst: BIO_get_ktls_recv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3030,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 1
    argNames:
    - con
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 3035
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 3035
    functionName: print_connection_info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - SSL_get0_peer_certificate
    - dump_cert_text
    - app_malloc
    - SSL_get_wbio
    - SSL_get_current_cipher
    - PEM_write_bio_X509
    - BIO_printf
    - ssl_print_point_formats
    - BIO_write
    - OPENSSL_free
    - SSL_get_session
    - BIO_get_ktls_send
    - ssl_print_sigalgs
    - SSL_get_shared_ciphers
    - SSL_CIPHER_get_name
    - BIO_get_ktls_recv
    - SSL_get_secure_renegotiation_support
    - SSL_session_reused
    - SSL_get_rbio
    - SSL_get0_next_proto_negotiated
    - SSL_get_selected_srtp_profile
    - PEM_write_bio_SSL_SESSION
    - SSL_get_options
    - strlen
    - print_ssl_summary
    - ssl_print_groups
    - BIO_flush
    - print_ca_names
    - SSL_export_keying_material
    linkageType: ''
    returnType: void
    signature: 'static void print_connection_info(SSL *con) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3656,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3659,1
    - Dst: SSL_has_matching_session_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3672,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c:3668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - id
    - id_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 3677
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3677
    functionName: generate_session_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/s_server.c
    functionUses: []
    functionsReached:
    - memcpy
    - RAND_bytes
    - SSL_has_matching_session_id
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int generate_session_id(SSL *ssl, unsigned char *id, unsigned
      int *id_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:40,1
    - Dst: OPENSSL_init_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:58,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:48,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:41,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:45,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:63,1
    - Dst: sscanf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:64,1
    - Dst: ERR_error_string_n
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:67,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c:68,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 73
    functionName: errstr_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/errstr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - opt_rest
    - opt_help
    - OPENSSL_init_ssl
    - sscanf
    - opt_init
    - opt_next
    - ERR_error_string_n
    linkageType: ''
    returnType: int
    signature: 'int errstr_main(int argc, char **argv) '
  - BBCount: 149
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_PKCS7_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:506,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:521,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:632,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:664,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:317,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:322,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:347,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:361,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:493,1
    - Dst: X509_STORE_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:539,1
    - Dst: SMIME_write_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:637,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:667,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:673,1
    - Dst: PKCS7_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:500,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:407,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:168,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:299,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:390,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:517,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:522,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:523,1
    - Dst: PEM_write_bio_PKCS7_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:639,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:670,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:373,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:319,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:162,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:261,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:273,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:296,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:312,1
    - Dst: opt_cipher_any
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:369,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:413,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:488,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:270,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:281,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:293,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:305,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:599,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:655,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:660,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:612,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:182,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:267,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:463,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:537,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:577,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:614,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:619,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:643,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:663,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:397,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:447,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:252,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:264,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:186,1
    - Dst: setup_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:534,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:567,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:588,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:630,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:666,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:502,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:261,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:443,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:625,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:669,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:287,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:290,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:385,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:529,1
    - Dst: PKCS7_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:547,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:574,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:662,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:179,1
    - Dst: app_load_config_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:256,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:359,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:562,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:628,1
    - Dst: i2d_PKCS7_bio_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:641,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:656,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:659,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:393,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:400,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:350,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:175,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:182,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:248,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:279,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:310,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:315,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:335,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:441,1
    - Dst: PEM_read_bio_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:508,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:332,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:500,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:163,1
    - Dst: PKCS7_add_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:568,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:580,1
    - Dst: PKCS7_final
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:593,1
    - Dst: PKCS7_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:611,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:665,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:157,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:171,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:322,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:329,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:418,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:365,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:606,1
    - Dst: save_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:618,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:668,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:674,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:470,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:175,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:326,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:377,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:472,1
    - Dst: PKCS7_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:562,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:584,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:586,1
    - Dst: PKCS7_get0_signers
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:617,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:671,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:672,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:512,1
    - Dst: PKCS7_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:605,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:392,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:419,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:358,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:464,1
    - Dst: d2i_PKCS7_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:510,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:566,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:623,1
    - Dst: SMIME_write_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:635,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:647,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:657,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:575,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:455,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:159,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:256,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:285,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:451,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:547,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:576,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:661,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:658,1
    CyclomaticComplexity: 260
    EdgeCount: 260
    ICount: 437
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 676
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 676
    functionName: smime_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c
    functionUses: []
    functionsReached:
    - PKCS7_final
    - opt_rand
    - PKCS7_encrypt_ex
    - BIO_free
    - opt_md
    - opt_rest
    - opt_format
    - X509_STORE_set_verify_cb
    - sk_OPENSSL_STRING_value
    - EVP_PKEY_free
    - load_key
    - PKCS7_verify
    - PEM_write_bio_PKCS7
    - sk_OPENSSL_STRING_free
    - sk_X509_push
    - sk_X509_value
    - setup_verify
    - opt_provider
    - BIO_printf
    - load_cert
    - X509_free
    - BIO_free_all
    - NCONF_free
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - save_certs
    - sk_X509_num
    - sk_X509_pop_free
    - X509_VERIFY_PARAM_free
    - PEM_write_bio_PKCS7_stream
    - EVP_CIPHER_free
    - PKCS7_free
    - OPENSSL_free
    - setup_engine
    - app_load_config_modules
    - opt_unknown
    - PEM_read_bio_PKCS7
    - EVP_MD_free
    - opt_num_rest
    - X509_STORE_set1_param
    - sk_OPENSSL_STRING_new_null
    - BIO_new_file
    - app_RAND_load
    - i2d_PKCS7_bio_stream
    - sk_OPENSSL_STRING_push
    - opt_verify
    - PKCS7_get0_signers
    - opt_help
    - app_get0_libctx
    - PKCS7_decrypt
    - PKCS7_new_ex
    - bio_open_default
    - EVP_des_ede3_cbc
    - PKCS7_sign_add_signer
    - SMIME_read_PKCS7_ex
    - X509_STORE_free
    - opt_cipher_any
    - release_engine
    - X509_VERIFY_PARAM_new
    - PKCS7_add_certificate
    - PKCS7_sign_ex
    - app_get0_propq
    - opt_arg
    - d2i_PKCS7_bio
    - opt_init
    - sk_X509_free
    - SMIME_write_PKCS7
    - sk_X509_new_null
    - app_passwd
    - opt_next
    - BIO_puts
    - load_certs
    linkageType: ''
    returnType: int
    signature: 'int smime_main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:685,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:689,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:690,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:688,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - signerfile
    - signers
    argTypes:
    - char*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 692
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 692
    functionName: save_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_free
    - sk_X509_num
    - sk_X509_value
    - PEM_write_bio_X509
    linkageType: ''
    returnType: int
    signature: 'static int save_certs(char *signerfile, STACK_OF(X509) *signers) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:700,1
    - Dst: policies_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: smime_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/smime.c
    functionUses: []
    functionsReached:
    - policies_print
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: 'static int smime_cb(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:367,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:375,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:377,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:372,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:373,1
    - Dst: OBJ_create_objects
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:379,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:380,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:383,1
    - Dst: add_oid_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:384,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:385,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - configfile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 388
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 388
    functionName: load_config_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_new_file
    - BIO_free_all
    - NCONF_get_string
    - ERR_clear_error
    - OBJ_create_objects
    - ERR_print_errors
    - app_load_config
    - add_oid_section
    linkageType: ''
    returnType: CONF*
    signature: 'static CONF *load_config_file(const char *configfile) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:462,1
    - Dst: TS_MSG_IMPRINT_set_algo
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:467,1
    - Dst: txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:475,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:493,1
    - Dst: TS_MSG_IMPRINT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:496,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:500,1
    - Dst: TS_REQ_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:456,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:494,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:499,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:452,1
    - Dst: X509_ALGOR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:460,1
    - Dst: TS_MSG_IMPRINT_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:458,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:462,1
    - Dst: TS_REQ_set_msg_imprint
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:473,1
    - Dst: TS_REQ_set_policy_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:477,1
    - Dst: TS_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:491,1
    - Dst: TS_REQ_set_cert_req
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:485,1
    - Dst: TS_REQ_set_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:483,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:498,1
    - Dst: TS_REQ_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:454,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:464,1
    - Dst: create_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:469,1
    - Dst: TS_MSG_IMPRINT_set_msg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:471,1
    - Dst: create_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:481,1
    - Dst: X509_ALGOR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:497,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 63
    argCount: 6
    argNames:
    - data_bio
    - digest
    - md
    - policy
    - no_nonce
    - cert
    argTypes:
    - BIO*
    - char*
    - EVP_MD*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 502
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 502
    functionName: create_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - TS_MSG_IMPRINT_set_msg
    - ASN1_OBJECT_free
    - TS_REQ_set_cert_req
    - BIO_printf
    - TS_MSG_IMPRINT_set_algo
    - TS_REQ_set_msg_imprint
    - ERR_print_errors
    - OPENSSL_free
    - OBJ_nid2obj
    - EVP_MD_get_type
    - TS_REQ_set_policy_id
    - ASN1_TYPE_new
    - txt2obj
    - create_nonce
    - TS_MSG_IMPRINT_free
    - X509_ALGOR_free
    - TS_MSG_IMPRINT_new
    - X509_ALGOR_new
    - EVP_get_digestbyname
    - TS_REQ_set_version
    - TS_REQ_free
    - TS_REQ_new
    - ASN1_INTEGER_free
    - create_digest
    - TS_REQ_set_nonce
    linkageType: ''
    returnType: TS_REQ*
    signature: 'static TS_REQ *create_query(BIO *data_bio, const char *digest, const
      EVP_MD *md, const char *policy, int no_nonce, int cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:359,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: txt2obj
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_txt2obj
    linkageType: ''
    returnType: ASN1_OBJECT*
    signature: 'static ASN1_OBJECT *txt2obj(const char *oid) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:601,1
    - Dst: read_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:604,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:612,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:614,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:649,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:651,1
    - Dst: create_response
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:609,1
    - Dst: TS_TST_INFO_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:625,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:648,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:621,1
    - Dst: TS_RESP_get_tst_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:624,1
    - Dst: TS_RESP_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:628,1
    - Dst: i2d_PKCS7_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:636,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:647,1
    - Dst: TS_RESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:653,1
    - Dst: d2i_TS_RESP_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:606,1
    - Dst: i2d_TS_RESP_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:639,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:632,1
    - Dst: TS_RESP_get_token
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:635,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:650,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:652,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 49
    argCount: 15
    argNames:
    - conf
    - section
    - engine
    - queryfile
    - passin
    - inkey
    - md
    - signer
    - chain
    - policy
    - in
    - token_in
    - out
    - token_out
    - text
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - char*
    - char*
    - EVP_MD*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 655
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 655
    functionName: reply_command
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - TS_TST_INFO_print_bio
    - create_response
    - BIO_free_all
    - ERR_print_errors
    - i2d_TS_RESP_bio
    - i2d_PKCS7_bio
    - TS_RESP_get_tst_info
    - TS_RESP_get_token
    - bio_open_default
    - read_PKCS7
    - TS_RESP_free
    - d2i_TS_RESP_bio
    - TS_RESP_print_bio
    linkageType: ''
    returnType: int
    signature: 'static int reply_command(CONF *conf, const char *section, const char
      *engine, const char *queryfile, const char *passin, const char *inkey, const
      EVP_MD *md, const char *signer, const char *chain, const char *policy, const
      char *in, int token_in, const char *out, int token_out, int text) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS7_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:666,1
    - Dst: TS_STATUS_INFO_set_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:674,1
    - Dst: PKCS7_to_TS_TST_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:668,1
    - Dst: TS_STATUS_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:672,1
    - Dst: TS_RESP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:670,1
    - Dst: TS_RESP_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:676,1
    - Dst: TS_RESP_set_tst_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:678,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:684,1
    - Dst: TS_TST_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:685,1
    - Dst: TS_RESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:687,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:690,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 1
    argNames:
    - in_bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 692
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 692
    functionName: read_PKCS7
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - TS_TST_INFO_free
    - TS_RESP_new
    - PKCS7_to_TS_TST_INFO
    - TS_RESP_set_tst_info
    - d2i_PKCS7_bio
    - TS_STATUS_INFO_free
    - PKCS7_free
    - TS_STATUS_INFO_new
    - TS_RESP_free
    - TS_STATUS_INFO_set_status
    - TS_RESP_set_status_info
    linkageType: ''
    returnType: TS_RESP*
    signature: 'static TS_RESP *read_PKCS7(BIO *in_bio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:765,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:771,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:768,1
    - Dst: save_ts_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:773,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - TS_RESP_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: serial_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - next_serial
    - TS_RESP_CTX_add_failure_info
    - save_ts_serial
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'static ASN1_INTEGER *serial_cb(TS_RESP_CTX *ctx, void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:828,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:839,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:830,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:832,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:837,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - serialfile
    - serial
    argTypes:
    - char*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 841
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 841
    functionName: save_ts_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - BIO_free_all
    - i2a_ASN1_INTEGER
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'static int save_ts_serial(const char *serialfile, ASN1_INTEGER *serial) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:903,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:917,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:936,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:920,1
    - Dst: load_certs_multifile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:955,1
    - Dst: TS_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:968,1
    - Dst: TS_VERIFY_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:910,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:928,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:934,1
    - Dst: TS_VERIFY_CTX_set_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:957,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:967,1
    - Dst: TS_VERIFY_CTX_set_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:948,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:964,1
    - Dst: TS_VERIFY_CTX_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:919,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:925,1
    - Dst: TS_VERIFY_CTX_set_imprint
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:927,1
    - Dst: TS_VERIFY_CTX_add_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:945,1
    - Dst: create_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:949,1
    - Dst: TS_REQ_to_TS_VERIFY_CTX
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:938,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 62
    argCount: 8
    argNames:
    - data
    - digest
    - queryfile
    - CApath
    - CAfile
    - CAstore
    - untrusted
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 970
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 970
    functionName: create_verify_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - BIO_free_all
    - TS_VERIFY_CTX_add_flags
    - TS_VERIFY_CTX_set_imprint
    - d2i_TS_REQ_bio
    - TS_VERIFY_CTX_set_certs
    - TS_REQ_to_TS_VERIFY_CTX
    - load_certs_multifile
    - TS_REQ_free
    - TS_VERIFY_CTX_free
    - OPENSSL_hexstr2buf
    - TS_VERIFY_CTX_set_store
    - create_cert_store
    - TS_VERIFY_CTX_new
    - TS_VERIFY_CTX_set_data
    - STACK_OF
    linkageType: ''
    returnType: TS_VERIFY_CTX*
    signature: 'static TS_VERIFY_CTX *create_verify_ctx(const char *data, const char
      *digest, const char *queryfile, const char *CApath, const char *CAfile, const
      char *CAstore, char *untrusted, X509_VERIFY_PARAM *vpm) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:511,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:525,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:519,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:522,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:523,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:526,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:529,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:531,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:535,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:537,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:549,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:545,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 4
    argNames:
    - input
    - digest
    - md
    - md_value
    argTypes:
    - BIO*
    - char*
    - EVP_MD*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 551
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 551
    functionName: create_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - app_malloc
    - EVP_MD_CTX_new
    - BIO_read
    - OPENSSL_free
    - EVP_MD_CTX_free
    - EVP_MD_get_size
    - EVP_DigestInit
    - OPENSSL_hexstr2buf
    linkageType: ''
    returnType: int
    signature: 'static int create_digest(BIO *input, const char *digest, const EVP_MD
      *md, unsigned char **md_value) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TS_CONF_set_signer_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:716,1
    - Dst: TS_CONF_set_ess_cert_id_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:730,1
    - Dst: TS_RESP_create_response
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:748,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:704,1
    - Dst: TS_CONF_set_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:710,1
    - Dst: TS_RESP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:708,1
    - Dst: TS_CONF_get_tsa_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:706,1
    - Dst: TS_CONF_set_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:718,1
    - Dst: TS_CONF_set_signer_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:720,1
    - Dst: TS_RESP_CTX_set_signer_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:724,1
    - Dst: TS_CONF_set_policies
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:734,1
    - Dst: TS_CONF_set_ess_cert_id_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:746,1
    - Dst: TS_CONF_set_accuracy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:738,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:758,1
    - Dst: TS_CONF_set_ordering
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:742,1
    - Dst: TS_CONF_set_crypto_device
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:713,1
    - Dst: TS_CONF_set_signer_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:726,1
    - Dst: TS_CONF_set_clock_precision_digits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:740,1
    - Dst: TS_CONF_set_def_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:732,1
    - Dst: TS_CONF_set_tsa_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:744,1
    - Dst: TS_CONF_set_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:736,1
    - Dst: TS_RESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:754,1
    - Dst: TS_RESP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:757,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 54
    argCount: 10
    argNames:
    - conf
    - section
    - engine
    - queryfile
    - passin
    - inkey
    - md
    - signer
    - chain
    - policy
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - char*
    - char*
    - EVP_MD*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 760
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 760
    functionName: create_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - TS_CONF_set_ordering
    - TS_CONF_set_accuracy
    - TS_CONF_set_ess_cert_id_chain
    - TS_RESP_create_response
    - TS_CONF_set_signer_digest
    - BIO_free_all
    - TS_CONF_set_signer_key
    - TS_CONF_get_tsa_section
    - TS_CONF_set_certs
    - TS_RESP_CTX_free
    - TS_CONF_set_serial
    - BIO_new_file
    - TS_CONF_set_tsa_name
    - TS_CONF_set_signer_cert
    - TS_CONF_set_clock_precision_digits
    - TS_CONF_set_ess_cert_id_digest
    - TS_RESP_CTX_set_signer_digest
    - TS_RESP_CTX_new
    - TS_RESP_free
    - TS_CONF_set_digests
    - TS_CONF_set_crypto_device
    - TS_CONF_set_def_policy
    - TS_CONF_set_policies
    linkageType: ''
    returnType: TS_RESP*
    signature: 'static TS_RESP *create_response(CONF *conf, const char *section, const
      char *engine, const char *queryfile, const char *passin, const char *inkey,
      const EVP_MD *md, const char *signer, const char *chain, const char *policy) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:786,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:793,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:789,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:790,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:791,1
    - Dst: a2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:797,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:798,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:802,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:804,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:806,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:808,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:815,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:819,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:818,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 1
    argNames:
    - serialfile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 821
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 821
    functionName: next_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_clear_error
    - BIO_printf
    - BIO_free_all
    - BN_add_word
    - ASN1_INTEGER_to_BN
    - BN_to_ASN1_INTEGER
    - ASN1_INTEGER_set
    - BN_free
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - a2i_ASN1_INTEGER
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'static ASN1_INTEGER *next_serial(const char *serialfile) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:985,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1012,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1004,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1001,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:989,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:992,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:999,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1006,1
    - Dst: X509_LOOKUP_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1012,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:978,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:987,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:993,1
    - Dst: X509_LOOKUP_load_store_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1017,1
    - Dst: X509_LOOKUP_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:999,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1029,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:977,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:980,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:982,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:987,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1014,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1018,1
    - Dst: X509_STORE_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:1024,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 4
    argNames:
    - CApath
    - CAfile
    - CAstore
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 1031
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1031
    functionName: create_cert_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_STORE_new
    - X509_STORE_add_lookup
    - X509_LOOKUP_load_file_ex
    - app_get0_propq
    - X509_STORE_set_verify_cb
    - X509_LOOKUP_add_dir
    - app_get0_libctx
    - X509_LOOKUP_load_store_ex
    - X509_LOOKUP_file
    - X509_STORE_free
    - X509_LOOKUP_hash_dir
    - X509_LOOKUP_store
    - X509_STORE_set1_param
    linkageType: ''
    returnType: X509_STORE*
    signature: 'static X509_STORE *create_cert_store(const char *CApath, const char
      *CAfile, const char *CAstore, X509_VERIFY_PARAM *vpm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: verify_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int verify_cb(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:192,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:201,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:217,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:240,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:258,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:276,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:282,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:290,1
    - Dst: load_config_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:307,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:345,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:344,1
    - Dst: query_command
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:318,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:302,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:198,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:214,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:255,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:234,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:267,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:273,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:294,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:303,1
    - Dst: reply_command
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:329,1
    - Dst: EXACTLY_ONE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:334,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:180,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:189,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:194,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:211,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:221,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:225,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:252,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:264,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:270,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:298,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:183,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:184,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:249,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:261,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:279,1
    - Dst: app_load_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:309,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:346,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:347,1
    - Dst: verify_command
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:336,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 125
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 349
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 349
    functionName: ts_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - opt_rand
    - opt_md
    - reply_command
    - opt_provider
    - BIO_printf
    - NCONF_free
    - X509_VERIFY_PARAM_free
    - OPENSSL_free
    - query_command
    - opt_unknown
    - EVP_MD_free
    - opt_num_rest
    - verify_command
    - app_RAND_load
    - opt_verify
    - opt_help
    - app_load_modules
    - EXACTLY_ONE
    - X509_VERIFY_PARAM_new
    - load_config_file
    - opt_arg
    - opt_init
    - app_passwd
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int ts_main(int argc, char **argv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:405,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:410,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:418,1
    - Dst: create_query
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:412,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:407,1
    - Dst: TS_REQ_print_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:420,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:423,1
    - Dst: i2d_TS_REQ_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:425,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:432,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:433,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:435,1
    - Dst: TS_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:436,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:434,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 35
    argCount: 9
    argNames:
    - data
    - digest
    - md
    - policy
    - no_nonce
    - cert
    - in
    - out
    - text
    argTypes:
    - char*
    - char*
    - EVP_MD*
    - char*
    - int
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 438
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 438
    functionName: query_command
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - TS_REQ_print_bio
    - BIO_free_all
    - create_query
    - d2i_TS_REQ_bio
    - ERR_print_errors
    - TS_REQ_free
    - bio_open_default
    - i2d_TS_REQ_bio
    linkageType: ''
    returnType: int
    signature: 'static int query_command(const char *data, const char *digest, const
      EVP_MD *md, const char *policy, int no_nonce, int cert, const char *in, const
      char *out, int text) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:562,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:572,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:568,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:570,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:573,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:577,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:578,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 580
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 580
    functionName: create_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - app_malloc
    - OPENSSL_free
    - memcpy
    - RAND_bytes
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: ASN1_INTEGER*
    signature: 'static ASN1_INTEGER *create_nonce(int bits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:860,1
    - Dst: d2i_PKCS7_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:863,1
    - Dst: create_verify_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:870,1
    - Dst: d2i_TS_RESP_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:866,1
    - Dst: TS_RESP_verify_token
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:876,1
    - Dst: TS_RESP_verify_response
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:877,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:880,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:882,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:884,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:885,1
    - Dst: TS_RESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:890,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:888,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:891,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c:889,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 27
    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*
    constantsTouched: []
    func_position:
      end: 893
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 893
    functionName: verify_command
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ts.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_free_all
    - TS_RESP_verify_token
    - ERR_print_errors
    - d2i_PKCS7_bio
    - PKCS7_free
    - TS_RESP_verify_response
    - printf
    - TS_VERIFY_CTX_free
    - TS_RESP_free
    - d2i_TS_RESP_bio
    - create_verify_ctx
    linkageType: ''
    returnType: int
    signature: 'static int verify_command(const char *data, const char *digest, const
      char *queryfile, const char *in, int token_in, const char *CApath, const char
      *CAfile, const char *CAstore, char *untrusted, X509_VERIFY_PARAM *vpm) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:68,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:75,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:132,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:138,1
    - Dst: add_certs_from_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:152,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:153,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:160,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:134,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:151,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:53,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:62,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:63,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:54,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:79,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:95,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:83,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:99,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:111,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:130,1
    - Dst: PKCS7_SIGNED_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:128,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:167,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:175,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:154,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:55,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:71,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:106,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:86,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:93,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:79,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:95,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:118,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:121,1
    - Dst: PKCS7_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:126,1
    - Dst: i2d_PKCS7_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:165,1
    - Dst: PKCS7_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:178,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:75,1
    - Dst: d2i_X509_CRL_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:116,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:120,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:141,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:146,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:150,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:169,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:176,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:179,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:170,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 116
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 182
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 182
    functionName: crl2pkcs7_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c
    functionUses: []
    functionsReached:
    - PKCS7_new
    - sk_OPENSSL_STRING_value
    - BIO_free
    - opt_format
    - add_certs_from_file
    - sk_OPENSSL_STRING_free
    - PEM_write_bio_PKCS7
    - opt_provider
    - STACK_OF
    - BIO_printf
    - BIO_free_all
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - OBJ_nid2obj
    - PKCS7_free
    - ASN1_INTEGER_set
    - opt_num_rest
    - sk_OPENSSL_STRING_new_null
    - sk_OPENSSL_STRING_push
    - opt_help
    - X509_CRL_free
    - i2d_PKCS7_bio
    - d2i_X509_CRL_bio
    - bio_open_default
    - sk_X509_CRL_new_null
    - opt_arg
    - opt_init
    - PKCS7_SIGNED_new
    - sk_X509_new_null
    - opt_next
    - PEM_read_bio_X509_CRL
    - sk_X509_CRL_push
    linkageType: ''
    returnType: int
    signature: 'int crl2pkcs7_main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:199,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:202,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:204,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:211,1
    - Dst: sk_X509_INFO_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:216,1
    - Dst: sk_X509_INFO_shift
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:217,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:219,1
    - Dst: X509_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:223,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:229,1
    - Dst: sk_X509_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - stack
    - certfile
    argTypes:
    - STACK_OF(X509)*
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 232
    functionName: add_certs_from_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/crl2pkcs7.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - sk_X509_INFO_num
    - BIO_free
    - sk_X509_push
    - sk_X509_INFO_free
    - PEM_X509_INFO_read_bio
    - sk_X509_INFO_shift
    - X509_INFO_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:52,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:79,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:82,1
    - Dst: PEM_write_bio_NETSCAPE_CERT_SEQUENCE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:104,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:101,1
    - Dst: NETSCAPE_CERT_SEQUENCE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:87,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:113,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:118,1
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:120,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:125,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:46,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:47,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:56,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:68,1
    - Dst: PEM_read_bio_NETSCAPE_CERT_SEQUENCE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:109,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:117,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:124,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:65,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:75,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:93,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:62,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:90,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:99,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:94,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:98,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:111,1
    - Dst: dump_cert_text
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:119,1
    - Dst: NETSCAPE_CERT_SEQUENCE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c:126,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 129
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 129
    functionName: nseq_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/nseq.c
    functionUses: []
    functionsReached:
    - dump_cert_text
    - BIO_free
    - sk_X509_push
    - sk_X509_value
    - NETSCAPE_CERT_SEQUENCE_free
    - opt_provider
    - PEM_write_bio_X509
    - BIO_printf
    - BIO_free_all
    - ERR_print_errors
    - sk_X509_num
    - PEM_read_bio_NETSCAPE_CERT_SEQUENCE
    - NETSCAPE_CERT_SEQUENCE_new
    - opt_num_rest
    - PEM_read_bio_X509
    - opt_help
    - PEM_write_bio_NETSCAPE_CERT_SEQUENCE
    - bio_open_default
    - opt_arg
    - opt_init
    - sk_X509_new_null
    - opt_next
    linkageType: ''
    returnType: int
    signature: 'int nseq_main(int argc, char **argv) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:83,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:95,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:99,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:102,1
    - Dst: opt_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:142,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:133,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:141,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:124,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:203,1
    - Dst: get_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:264,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:283,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:201,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:271,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:289,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:246,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:291,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:88,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:95,1
    - Dst: opt_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:137,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:136,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:127,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:172,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:181,1
    - Dst: EVP_PKEY_set_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:208,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:214,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:220,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:272,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:280,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:286,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:291,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:188,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:285,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:238,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:255,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:287,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:82,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:176,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:193,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:231,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:235,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:258,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:262,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:264,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:267,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:284,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:222,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:196,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:269,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:91,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:102,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:106,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:130,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:130,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:152,1
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:164,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:171,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:179,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:184,1
    - Dst: EVP_PKEY_check
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:234,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:237,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:262,1
    - Dst: EVP_PKEY_set_int_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:213,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:221,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:282,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:223,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:289,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:229,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c:281,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 165
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 293
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 293
    functionName: ec_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ec.c
    functionUses: []
    functionsReached:
    - opt_format
    - EVP_PKEY_free
    - load_key
    - OSSL_ENCODER_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_print_private
    - EVP_PKEY_CTX_free
    - OPENSSL_clear_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - opt_provider
    - opt_cipher
    - BIO_printf
    - load_pubkey
    - BIO_free_all
    - bio_open_owner
    - EVP_CIPHER_free
    - ERR_print_errors
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_cipher
    - setup_engine
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - EVP_PKEY_print_public
    - opt_unknown
    - opt_num_rest
    - OSSL_ENCODER_to_bio
    - opt_help
    - EVP_PKEY_check
    - EVP_PKEY_set_utf8_string_param
    - EVP_PKEY_set_int_param
    - get_ui_method
    - strlen
    - release_engine
    - assert
    - opt_arg
    - opt_init
    - OSSL_DECODER_CTX_free
    - app_passwd
    - opt_string
    - opt_next
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: 'int ec_main(int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:61,1
    - Dst: setup_engine_loader
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:70,1
    - Dst: OPENSSL_init_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:65,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:76,1
    - Dst: setup_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:69,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:79,1
    - Dst: app_create_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 86
    functionName: apps_startup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - app_create_libctx
    - strcmp
    - setup_engine_loader
    - OPENSSL_init_ssl
    - getenv
    - setup_ui_method
    - signal
    linkageType: ''
    returnType: int
    signature: 'static int apps_startup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:155,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - tracedata*
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: tracedata_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: 'static void tracedata_free(tracedata *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_tracedata_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: cleanup_trace
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - sk_tracedata_pop_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_trace(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:238,1
    - Dst: dup_bio_in
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:249,1
    - Dst: win32_utf8argv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:257,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:261,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:306,1
    - Dst: apps_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:308,1
    - Dst: EXIT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:310,1
    - Dst: apps_startup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:264,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:277,1
    - Dst: CONF_get1_default_config_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:275,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:285,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:269,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:286,1
    - Dst: opt_progname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:273,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:286,1
    - Dst: do_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:296,1
    - Dst: lh_FUNCTION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:301,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:309,1
    - Dst: app_RAND_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:303,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:266,1
    - Dst: lh_FUNCTION_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:281,1
    - Dst: do_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:297,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:300,1
    - Dst: copy_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:254,1
    - Dst: dup_bio_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:250,1
    - Dst: dup_bio_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:251,1
    - Dst: setup_trace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:261,1
    - Dst: prog_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:265,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:285,1
    - Dst: opt_appname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:289,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:302,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:307,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 311
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 311
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - lh_FUNCTION_retrieve
    - BIO_free
    - opt_progname
    - setup_trace
    - CONF_get1_default_config_file
    - BIO_printf
    - EXIT
    - BIO_free_all
    - do_cmd
    - ERR_print_errors
    - strcmp
    - OPENSSL_free
    - app_bail_out
    - opt_appname
    - dup_bio_out
    - dup_bio_err
    - apps_startup
    - win32_utf8argv
    - LHASH_OF
    - dup_bio_in
    - prog_init
    - lh_FUNCTION_free
    - app_RAND_write
    - apps_shutdown
    - getenv
    - copy_argv
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:400,1
    - Dst: warn_deprecated
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:416,1
    - Dst: lh_FUNCTION_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:402,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:404,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:408,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:419,1
    - Dst: lh_FUNCTION_retrieve
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:425,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:426,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:429,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - prog
    - argc
    - argv
    argTypes:
    - LHASH_OF(FUNCTION)*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 436
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 436
    functionName: do_cmd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - lh_FUNCTION_retrieve
    - BIO_printf
    - EVP_get_cipherbyname
    - EVP_get_digestbyname
    - memset
    - strncmp
    - warn_deprecated
    linkageType: ''
    returnType: int
    signature: 'static int do_cmd(LHASH_OF(FUNCTION) *prog, int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - FUNCTION*
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: function_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long function_hash(const FUNCTION * a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:48,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:53,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:54,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:52,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FUNCTION*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: warn_deprecated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void warn_deprecated(const FUNCTION *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_providers_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:90,1
    - Dst: destroy_engine_loader
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:92,1
    - Dst: destroy_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:93,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:91,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: apps_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - destroy_ui_method
    - app_get0_libctx
    - app_providers_cleanup
    - destroy_engine_loader
    linkageType: ''
    returnType: void
    signature: 'static void apps_shutdown(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:114,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:121,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:120,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:123,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:119,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:124,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:125,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:129,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:133,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:137,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 5
    argNames:
    - buf
    - cnt
    - category
    - cmd
    - vdata
    argTypes:
    - char*
    - size_t
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 148
    functionName: internal_trace_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_write
    - OPENSSL_free
    - BIO_snprintf
    - CRYPTO_THREAD_get_current_id
    - BIO_set_prefix
    - OPENSSL_buf2hexstr
    - OSSL_trace_get_category_name
    linkageType: ''
    returnType: size_t
    signature: 'static size_t internal_trace_cb(const char *buf, size_t cnt, int category,
      int cmd, void *vdata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_trace_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:172,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:176,1
    - Dst: dup_bio_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:176,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:175,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:175,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:177,1
    - Dst: OSSL_trace_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:182,1
    - Dst: sk_tracedata_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:184,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:186,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:188,1
    - Dst: OSSL_trace_set_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:190,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 193
    functionName: setup_trace_category
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - BIO_free_all
    - OSSL_trace_set_callback
    - dup_bio_err
    - OPENSSL_zalloc
    - OSSL_trace_enabled
    - BIO_push
    - fprintf
    - sk_tracedata_push
    - BIO_new
    - OSSL_trace_get_category_name
    - BIO_f_prefix
    linkageType: ''
    returnType: void
    signature: 'static void setup_trace_category(int category) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:204,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:207,1
    - Dst: strtok
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:213,1
    - Dst: sk_tracedata_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:206,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:214,1
    - Dst: setup_trace_category
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:218,1
    - Dst: setup_trace_category
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:221,1
    - Dst: fprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:223,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 230
    functionName: setup_trace
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - setup_trace_category
    - strtok
    - OPENSSL_free
    - sk_tracedata_new_null
    - OSSL_trace_get_category_num
    - atexit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void setup_trace(const char *str) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:339,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:353,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:344,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:340,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:347,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:354,1
    - Dst: do_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:357,1
    - Dst: prog_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:357,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:359,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:360,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:384,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:380,1
    - Dst: calculate_columns
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:364,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:377,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:388,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:371,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:365,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:390,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 392
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 392
    functionName: help_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - do_cmd
    - prog_init
    - opt_rest
    - opt_help
    - opt_init
    - calculate_columns
    - opt_next
    - opt_num_rest
    linkageType: ''
    returnType: int
    signature: 'int help_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FUNCTION*
    - FUNCTION*
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: function_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: 'static int function_cmp(const FUNCTION * a, const FUNCTION * b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - _f1
    - _f2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: SortFnByName
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int SortFnByName(const void *_f1, const void *_f2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:473,1
    - Dst: lh_FUNCTION_insert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:479,1
    - Dst: lh_FUNCTION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c:475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 481
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 481
    functionName: prog_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/openssl.c
    functionUses: []
    functionsReached:
    - lh_FUNCTION_new
    - lh_FUNCTION_insert
    - qsort
    linkageType: ''
    returnType: LHASH_OF(FUNCTION)*
    signature: 'static LHASH_OF(FUNCTION) *prog_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: fork
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: pid_t
    signature: 'pid_t fork(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:938,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:946,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:945,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:947,1
    - Dst: OCSP_REQUEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:942,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:949,1
    - Dst: OCSP_cert_id_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:952,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:953,1
    - Dst: sk_OCSP_CERTID_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:954,1
    - Dst: OCSP_request_add0_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:956,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:961,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 5
    argNames:
    - req
    - serial
    - cert_id_md
    - issuer
    - ids
    argTypes:
    - OCSP_REQUEST**
    - char*
    - EVP_MD*
    - X509*
    - STACK_OF(OCSP_CERTID)*
    constantsTouched: []
    func_position:
      end: 963
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 963
    functionName: add_ocsp_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_get0_pubkey_bitstr
    - s2i_ASN1_INTEGER
    - OCSP_request_add0_id
    - OCSP_REQUEST_new
    - OCSP_cert_id_new
    - sk_OCSP_CERTID_push
    - ASN1_INTEGER_free
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int add_ocsp_serial(OCSP_REQUEST **req, char *serial, const
      EVP_MD *cert_id_md, X509 *issuer, STACK_OF(OCSP_CERTID) *ids) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1078,1
    - Dst: OCSP_basic_add1_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1095,1
    - Dst: OCSP_copy_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1138,1
    - Dst: EVP_DigestSignInit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1141,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1142,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1146,1
    - Dst: OCSP_resp_get0_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1162,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1169,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1171,1
    - Dst: OCSP_SINGLERESP_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1128,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1148,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1170,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1046,1
    - Dst: OCSP_BASICRESP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1050,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1073,1
    - Dst: OCSP_cert_to_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1084,1
    - Dst: OCSP_cert_to_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1079,1
    - Dst: unpack_revinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1115,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1131,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1135,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1150,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1151,1
    - Dst: corrupt_signature
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1163,1
    - Dst: OCSP_basic_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1156,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1140,1
    - Dst: OCSP_request_onereq_count
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1042,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1051,1
    - Dst: EVP_get_digestbyobj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1071,1
    - Dst: lookup_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1089,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1077,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1086,1
    - Dst: OCSP_id_issuer_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1081,1
    - Dst: OCSP_basic_add1_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1101,1
    - Dst: OCSP_basic_add1_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1105,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1120,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1149,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1166,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1132,1
    - Dst: X509_time_adj_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1053,1
    - Dst: OCSP_request_onereq_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1066,1
    - Dst: OCSP_onereq_get0_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1067,1
    - Dst: OCSP_id_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1069,1
    - Dst: OCSP_id_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1088,1
    - Dst: OCSP_basic_add1_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1116,1
    - Dst: OCSP_SINGLERESP_add1_ext_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1125,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1133,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1145,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1157,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1172,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 112
    argCount: 15
    argNames:
    - err
    - resp
    - req
    - db
    - ca
    - rcert
    - rkey
    - rmd
    - sigopts
    - rother
    - flags
    - nmin
    - ndays
    - badsig
    - resp_md
    argTypes:
    - BIO*
    - OCSP_RESPONSE**
    - OCSP_REQUEST*
    - CA_DB*
    - STACK_OF(X509)*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - STACK_OF(OPENSSL_STRING)*
    - STACK_OF(X509)*
    - unsigned long
    - int
    - int
    - int
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1173
    functionName: make_ocsp_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_free
    - sk_OPENSSL_STRING_value
    - lookup_serial
    - OCSP_onereq_get0_id
    - ASN1_OBJECT_free
    - OCSP_SINGLERESP_add1_ext_i2d
    - OCSP_basic_sign_ctx
    - sk_X509_value
    - corrupt_signature
    - OCSP_basic_add1_status
    - BIO_printf
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - EVP_MD_CTX_new
    - sk_X509_num
    - unpack_revinfo
    - X509_time_adj_ex
    - pkey_ctrl_string
    - ASN1_GENERALIZEDTIME_free
    - OCSP_id_get0_info
    - OCSP_request_onereq_count
    - OCSP_resp_get0_signature
    - OCSP_copy_nonce
    - OCSP_cert_to_id
    - EVP_DigestSignInit
    - X509_gmtime_adj
    - OCSP_id_issuer_cmp
    - OCSP_response_create
    - EVP_get_digestbyobj
    - OCSP_request_onereq_get0
    - EVP_MD_CTX_free
    - OCSP_CERTID_free
    - OCSP_BASICRESP_new
    - OCSP_BASICRESP_free
    linkageType: ''
    returnType: void
    signature: 'static void make_ocsp_response(BIO *err, OCSP_RESPONSE **resp, OCSP_REQUEST
      *req, CA_DB *db, STACK_OF(X509) *ca, X509 *rcert, EVP_PKEY *rkey, const EVP_MD
      *rmd, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(X509) *rother, unsigned long
      flags, int nmin, int ndays, int badsig, const EVP_MD *resp_md) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_server_get_asn1_req
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1202,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1207,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - preq
    - pcbio
    - acbio
    - port
    - timeout
    argTypes:
    - OCSP_REQUEST**
    - BIO**
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1212
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1212
    functionName: do_responder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_ITEM_rptr
    - http_server_get_asn1_req
    linkageType: ''
    returnType: int
    signature: 'static int do_responder(OCSP_REQUEST **preq, BIO **pcbio, BIO *acbio,
      const char *port, int timeout) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1240,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1240,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1250,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1242,1
    - Dst: app_http_post_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1248,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1252,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1255,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1258,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    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(CONF_VALUE)*
    - int
    constantsTouched: []
    func_position:
      end: 1260
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1260
    functionName: process_responder
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_CTX_new
    - SSL_CTX_free
    - app_http_post_asn1
    - ASN1_ITEM_rptr
    - TLS_client_method
    linkageType: ''
    returnType: OCSP_RESPONSE*
    signature: 'OCSP_RESPONSE *process_responder(OCSP_REQUEST *req, const char *host,
      const char *port, const char *path, const char *proxy, const char *no_proxy,
      int use_ssl, STACK_OF(CONF_VALUE) *headers, int req_timeout) '
  - BBCount: 164
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:260,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:446,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:434,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:502,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:443,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:483,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:548,1
    - Dst: http_server_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:578,1
    - Dst: index_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:621,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:695,1
    - Dst: print_ocsp_summary
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:845,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:638,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:837,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:855,1
    - Dst: send_ocsp_response
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:729,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:486,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:495,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:520,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:595,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:856,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:866,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:872,1
    - Dst: OCSP_request_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:704,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:859,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:851,1
    - Dst: add_ocsp_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:444,1
    - Dst: sk_OCSP_CERTID_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:259,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:489,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:742,1
    - Dst: process_responder
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:732,1
    - Dst: make_ocsp_response
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:723,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:746,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:768,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:775,1
    - Dst: X509_STORE_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:804,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:806,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:418,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:427,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:500,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:431,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:471,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:228,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:288,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:515,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:520,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:590,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:822,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:857,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:230,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:276,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:280,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:302,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:312,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:455,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:602,1
    - Dst: send_ocsp_response
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:668,1
    - Dst: OCSP_request_add1_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:682,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:715,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:862,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:288,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:305,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:439,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:474,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:569,1
    - Dst: i2d_OCSP_RESPONSE_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:762,1
    - Dst: OCSP_basic_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:832,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:834,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:852,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:853,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:858,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:477,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:264,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:309,1
    - Dst: add_ocsp_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:453,1
    - Dst: d2i_OCSP_REQUEST_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:568,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:706,1
    - Dst: OCSP_response_status_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:769,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:784,1
    - Dst: OCSP_basic_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:830,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:849,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:869,1
    - Dst: OCSP_response_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:766,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:438,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:480,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:493,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:217,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:526,1
    - Dst: load_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:620,1
    - Dst: do_responder
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:659,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:763,1
    - Dst: OCSP_check_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:820,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:854,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:865,1
    - Dst: free_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:648,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:870,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:225,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:379,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:386,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:495,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:460,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:412,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:453,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:537,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:592,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:634,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:850,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:860,1
    - Dst: OCSP_response_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:666,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:226,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:389,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:446,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:463,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:530,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:614,1
    - Dst: free_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:651,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:652,1
    - Dst: OCSP_REQUEST_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:712,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:737,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:874,1
    - Dst: sk_OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:871,1
    - Dst: d2i_OCSP_RESPONSE_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:745,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:873,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:284,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:291,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:392,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:407,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:466,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:603,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:622,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:748,1
    - Dst: setup_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:798,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:838,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:824,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:875,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:861,1
    - Dst: OCSP_REQUEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:786,1
    - Dst: OCSP_REQUEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:867,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:395,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:499,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:427,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:286,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:299,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:415,1
    - Dst: X509V3_add_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:506,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:565,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:606,1
    - Dst: index_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:647,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:841,1
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:412,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:421,1
    - Dst: EVP_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:452,1
    - Dst: load_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:645,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:699,1
    - Dst: OCSP_response_get1_basic
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:811,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:813,1
    - Dst: free_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:863,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:868,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:876,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:759,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:285,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:370,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:424,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:439,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:455,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:510,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:526,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:571,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:598,1
    - Dst: spawn_loop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:632,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:864,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:877,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:263,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:280,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:273,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:373,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:582,1
    - Dst: index_changed
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:644,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:677,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:689,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:691,1
    - Dst: i2d_OCSP_REQUEST_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:718,1
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:415,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:474,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:224,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:258,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:269,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:376,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:383,1
    - Dst: opt_md
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:510,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:542,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:557,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:788,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:719,1
    CyclomaticComplexity: 308
    EdgeCount: 308
    ICount: 516
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 880
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 880
    functionName: ocsp_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - strchr
    - add_ocsp_cert
    - sk_OPENSSL_STRING_free
    - sk_CONF_VALUE_pop_free
    - ERR_print_errors
    - X509_STORE_set1_param
    - load_index
    - OCSP_REQUEST_free
    - X509_VERIFY_PARAM_new
    - add_ocsp_serial
    - opt_arg
    - opt_init
    - sk_X509_new_null
    - OCSP_request_sign
    - OSSL_HTTP_parse_url
    - OCSP_BASICRESP_free
    - signal
    - OCSP_basic_verify
    - i2d_OCSP_RESPONSE_bio
    - sk_OCSP_CERTID_free
    - http_server_init_bio
    - sk_X509_push
    - opt_provider
    - STACK_OF
    - OPENSSL_free
    - OCSP_REQUEST_print
    - i2d_OCSP_REQUEST_bio
    - EVP_MD_free
    - ERR_clear_error
    - opt_verify
    - sk_OPENSSL_STRING_push
    - d2i_OCSP_RESPONSE_bio
    - bio_open_default
    - OCSP_response_status
    - X509_STORE_free
    - print_ocsp_summary
    - send_ocsp_response
    - log_message
    - opt_int_arg
    - app_passwd
    - OCSP_RESPONSE_print
    - load_certs
    - opt_md
    - make_ocsp_response
    - EVP_PKEY_free
    - setup_verify
    - BIO_printf
    - sk_OCSP_CERTID_new_null
    - d2i_OCSP_REQUEST_bio
    - atoi
    - sk_OPENSSL_STRING_new_null
    - X509V3_add_value
    - EVP_sha1
    - free_index
    - OCSP_response_status_str
    - spawn_loop
    - do_responder
    - BIO_free
    - index_changed
    - OCSP_request_add1_nonce
    - load_key
    - X509_free
    - load_cert
    - BIO_free_all
    - OCSP_response_get1_basic
    - sk_X509_pop_free
    - X509_VERIFY_PARAM_free
    - opt_unknown
    - opt_num_rest
    - OCSP_check_nonce
    - opt_help
    - OCSP_response_create
    - OCSP_RESPONSE_free
    - opt_long
    - process_responder
    - opt_next
    - index_index
    linkageType: ''
    returnType: int
    signature: 'int ocsp_main(int argc, char **argv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:909,1
    - Dst: OCSP_cert_to_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:916,1
    - Dst: sk_OCSP_CERTID_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:917,1
    - Dst: OCSP_REQUEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:913,1
    - Dst: OCSP_request_add0_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:919,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:924,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 17
    argCount: 5
    argNames:
    - req
    - cert
    - cert_id_md
    - issuer
    - ids
    argTypes:
    - OCSP_REQUEST**
    - X509*
    - EVP_MD*
    - X509*
    - STACK_OF(OCSP_CERTID)*
    constantsTouched: []
    func_position:
      end: 926
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 926
    functionName: add_ocsp_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OCSP_cert_to_id
    - OCSP_request_add0_id
    - OCSP_REQUEST_new
    - sk_OCSP_CERTID_push
    linkageType: ''
    returnType: int
    signature: 'static int add_ocsp_cert(OCSP_REQUEST **req, X509 *cert, const EVP_MD
      *cert_id_md, X509 *issuer, STACK_OF(OCSP_CERTID) *ids) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_CERTID_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:982,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:976,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:984,1
    - Dst: OCSP_resp_find_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:987,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1002,1
    - Dst: OCSP_cert_status_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1002,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1006,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1010,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1000,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1022,1
    - Dst: sk_OCSP_CERTID_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:983,1
    - Dst: sk_OCSP_CERTID_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:979,1
    - Dst: OCSP_check_validity
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:998,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:999,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1004,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1018,1
    - Dst: OCSP_crl_reason_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1018,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1020,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:985,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:989,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1011,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1005,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1009,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1021,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 7
    argNames:
    - out
    - bs
    - req
    - names
    - ids
    - nsec
    - maxage
    argTypes:
    - BIO*
    - OCSP_BASICRESP*
    - OCSP_REQUEST*
    - STACK_OF(OPENSSL_STRING)*
    - STACK_OF(OCSP_CERTID)*
    - long
    - long
    constantsTouched: []
    func_position:
      end: 1025
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 1025
    functionName: print_ocsp_summary
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OCSP_CERTID_num
    - sk_OCSP_CERTID_value
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - OCSP_check_validity
    - ERR_print_errors
    - ASN1_GENERALIZEDTIME_print
    - OCSP_crl_reason_str
    - OCSP_resp_find_status
    - BIO_puts
    - OCSP_cert_status_str
    linkageType: ''
    returnType: int
    signature: 'static int print_ocsp_summary(BIO *out, OCSP_BASICRESP *bs, OCSP_REQUEST
      *req, STACK_OF(OPENSSL_STRING) *names, STACK_OF(OCSP_CERTID) *ids, long nsec,
      long maxage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1182,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1185,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1186,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1187,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1183,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1189,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1192,1
    - Dst: TXT_DB_get_by_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1193,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1194,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - db
    - ser
    argTypes:
    - CA_DB*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1196
    functionName: lookup_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - TXT_DB_get_by_index
    - ASN1_INTEGER_to_BN
    - BN_is_zero
    - OPENSSL_assert
    - OPENSSL_free
    - BN_free
    - BN_bn2hex
    linkageType: ''
    returnType: char**
    signature: 'static char **lookup_serial(CA_DB *db, ASN1_INTEGER *ser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_server_send_asn1_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1217,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1223,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:1220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cbio
    - resp
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1227
    functionName: send_ocsp_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - http_server_send_asn1_resp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int send_ocsp_response(BIO *cbio, const OCSP_RESPONSE *resp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pid
    - pgid
    argTypes:
    - pid_t
    - pid_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: setpgid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int setpgid(pid_t pid, pid_t pgid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:888,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c:893,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - rdb
    argTypes:
    - CA_DB*
    constantsTouched: []
    func_position:
      end: 898
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 898
    functionName: index_changed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/ocsp.c
    functionUses: []
    functionsReached:
    - syslog
    - stat
    linkageType: ''
    returnType: int
    signature: 'static int index_changed(CA_DB *rdb) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1859,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1872,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1874,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1870,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1879,1
    - Dst: OSSL_CMP_CTX_set1_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1892,1
    - Dst: OSSL_CMP_CTX_set_serverPort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1893,1
    - Dst: OSSL_CMP_CTX_set1_no_proxy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1897,1
    - Dst: transform_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1912,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1905,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2015,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1863,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1918,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1919,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1929,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1938,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1962,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1965,1
    - Dst: OSSL_CMP_CTX_set_http_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1972,1
    - Dst: setup_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1973,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1980,1
    - Dst: set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1994,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2018,1
    - Dst: setup_request_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1991,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2013,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1885,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1903,1
    - Dst: OSSL_CMP_CTX_set1_serverPath
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1910,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1899,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1976,1
    - Dst: set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1995,1
    - Dst: CMP_info2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2004,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2014,1
    - Dst: handle_opt_geninfo
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1999,1
    - Dst: OSSL_CMP_CTX_set1_proxy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1895,1
    - Dst: setup_protection_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1988,1
    - Dst: CMP_info2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2008,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1881,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1889,1
    - Dst: strncat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1918,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1920,1
    - Dst: setup_verification_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1925,1
    - Dst: CMP_err2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1933,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1941,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1947,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1950,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1953,1
    - Dst: OSSL_CMP_CTX_set_http_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1984,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1970,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 147
    argCount: 2
    argNames:
    - ctx
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 2020
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 2020
    functionName: setup_client_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - handle_opt_geninfo
    - BIO_snprintf
    - OSSL_CMP_CTX_set_option
    - CMP_err1
    - OSSL_CMP_CTX_set1_server
    - OPENSSL_strdup
    - OSSL_CMP_CTX_get_option
    - OPENSSL_free
    - OSSL_CMP_CTX_set_transfer_cb
    - OPENSSL_zalloc
    - transform_opts
    - CMP_err
    - setup_request_ctx
    - set_name
    - CMP_info2
    - CMP_warn
    - setup_verification_ctx
    - CMP_err2
    - OSSL_CMP_CTX_set1_serverPath
    - OBJ_sn2nid
    - setup_ssl_ctx
    - strlen
    - strncat
    - OSSL_CMP_CTX_set_http_cb_arg
    - OSSL_HTTP_adapt_proxy
    - OSSL_CMP_CTX_set1_no_proxy
    - OSSL_CMP_CTX_set_http_cb
    - OSSL_CMP_CTX_set_serverPort
    - setup_protection_ctx
    - OSSL_CMP_CTX_set1_proxy
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: int
    signature: 'static int setup_client_ctx(OSSL_CMP_CTX *ctx, ENGINE *engine) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2029,1
    - Dst: i2d_X509_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2030,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2033,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - cert
    argTypes:
    - BIO*
    - X509*
    constantsTouched: []
    func_position:
      end: 2037
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2037
    functionName: write_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - i2d_X509_bio
    - PEM_write_bio_X509
    linkageType: ''
    returnType: int
    signature: 'static int write_cert(BIO *bio, X509 *cert) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2086,1
    - Dst: CMP_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2089,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2094,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2095,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2095,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2097,1
    - Dst: CMP_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2099,1
    - Dst: CMP_info1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - itavs
    argTypes:
    - STACK_OF(OSSL_CMP_ITAV)*
    constantsTouched: []
    func_position:
      end: 2103
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2103
    functionName: print_itavs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_ITAV_num
    - OSSL_CMP_ITAV_get0_type
    - CMP_info
    - CMP_err
    - CMP_info1
    - OBJ_obj2txt
    - sk_OSSL_CMP_ITAV_value
    linkageType: ''
    returnType: void
    signature: 'static void print_itavs(STACK_OF(OSSL_CMP_ITAV) *itavs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2117,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2132,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2128,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2117,1
    - Dst: CMP_warn3
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2124,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2132,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - opt
    - end
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2138
    functionName: prev_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - CMP_warn3
    - memcpy
    - isspace
    - _UC
    linkageType: ''
    returnType: char*
    signature: 'static const char *prev_item(const char *opt, const char *end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: print_to_bio_out
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_print_to_bio
    linkageType: ''
    returnType: int
    signature: 'static int print_to_bio_out(const char *func, const char *file, int
      line, OSSL_CMP_severity level, const char *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:722,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:727,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:726,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:729,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:725,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:732,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ts
    - host
    argTypes:
    - X509_STORE*
    - char*
    constantsTouched: []
    func_position:
      end: 734
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 734
    functionName: truststore_set_host_etc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - X509_STORE_get0_param
    - X509_VERIFY_PARAM_set1_ip
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set1_host
    - X509_VERIFY_PARAM_set1_ip_asc
    - X509_VERIFY_PARAM_set_hostflags
    linkageType: ''
    returnType: int
    signature: 'static int truststore_set_host_etc(X509_STORE *ts, const char *host) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1783,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1793,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1800,1
    - Dst: ASN1_TYPE_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1818,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1821,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1806,1
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1810,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1813,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1815,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1826,1
    - Dst: OSSL_CMP_CTX_push0_geninfo_ITAV
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1825,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1798,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1786,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1804,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1833,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1792,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1819,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1832,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1814,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1835
    functionName: handle_opt_geninfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - strtol
    - OSSL_CMP_ITAV_free
    - ASN1_TYPE_set
    - ASN1_TYPE_free
    - strchr
    - ASN1_OBJECT_free
    - OSSL_CMP_ITAV_create
    - OSSL_CMP_CTX_push0_geninfo_ITAV
    - ASN1_INTEGER_set
    - OBJ_txt2obj
    - CMP_err
    - ASN1_TYPE_new
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: 'static int handle_opt_geninfo(OSSL_CMP_CTX *ctx) '
  - BBCount: 111
    BranchProfiles: []
    Callsites:
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2356,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2593,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2488,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2350,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2373,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2491,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2532,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2529,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2596,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2395,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2482,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2509,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2485,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2353,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2398,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2633,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2339,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2389,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2517,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2630,1
    - Dst: set_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2345,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2392,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2526,1
    - Dst: opt_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2562,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2476,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2331,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2383,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2424,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2452,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2497,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2573,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2624,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2645,1
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2673,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2500,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2479,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2514,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2386,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2427,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2455,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2627,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2648,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2418,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2440,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2469,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2554,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2539,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2618,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2639,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2421,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2443,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2473,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2570,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2558,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2621,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2642,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2463,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2547,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2366,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2412,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2434,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2582,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2612,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2585,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2615,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2466,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2550,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2345,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2415,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2437,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2360,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2368,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2406,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2506,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2606,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2363,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2409,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2609,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2544,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2672,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2535,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2329,1
    - Dst: opt_int_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2376,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2459,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2600,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2579,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2603,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2336,1
    - Dst: opt_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2403,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 207
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2677
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2677
    functionName: get_opts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - opt_rand
    - opt_verify
    - opt_rest
    - opt_help
    - set_verbosity
    - opt_str
    - opt_init
    - CMP_err
    - opt_int_arg
    - opt_next
    - opt_provider
    - opt_num_rest
    linkageType: ''
    returnType: int
    signature: 'static int get_opts(int argc, char **argv) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1268,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1273,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1282,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1298,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1308,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1296,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1311,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1290,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1318,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1327,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1368,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1389,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1260,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1323,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1324,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1341,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1343,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1345,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1347,1
    - Dst: load_key_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1354,1
    - Dst: CMP_err2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1366,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1372,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1340,1
    - Dst: load_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1265,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1292,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1295,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1349,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1356,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1364,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1364,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1373,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1378,1
    - Dst: truststore_set_host_etc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1382,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1374,1
    - Dst: OSSL_CMP_CTX_get0_untrusted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1254,1
    - Dst: TLS_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1260,1
    - Dst: load_cert_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1276,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1283,1
    - Dst: SSL_CTX_set0_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1289,1
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1309,1
    - Dst: SSL_CTX_add1_chain_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1297,1
    - Dst: CMP_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1317,1
    - Dst: CMP_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1321,1
    - Dst: load_certs_multifile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1332,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1385,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 108
    argCount: 3
    argNames:
    - ctx
    - host
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1391
    functionName: setup_ssl_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cert_store
    - SSL_CTX_use_certificate
    - X509_STORE_get0_param
    - OSSL_CMP_CTX_get0_untrusted
    - X509_VERIFY_PARAM_set_flags
    - cleanse
    - EVP_PKEY_free
    - SSL_CTX_use_PrivateKey
    - CMP_err1
    - sk_X509_value
    - X509_VERIFY_PARAM_get_flags
    - STACK_OF
    - X509_free
    - BIO_printf
    - load_cert_certs
    - SSL_CTX_build_cert_chain
    - sk_X509_pop_free
    - sk_X509_num
    - SSL_CTX_set0_chain
    - SSL_CTX_add_extra_chain_cert
    - OSSL_CMP_CTX_print_errors
    - SSL_CTX_add1_chain_cert
    - CMP_err
    - load_trusted
    - CMP_warn
    - SSL_CTX_get0_certificate
    - truststore_set_host_etc
    - SSL_CTX_free
    - load_certs_multifile
    - CMP_err2
    - CMP_debug
    - load_key_pwd
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - X509_check_private_key
    - sk_X509_free
    - X509_VERIFY_PARAM_clear_flags
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX*
    signature: 'static SSL_CTX *setup_ssl_ctx(OSSL_CMP_CTX *ctx, const char *host,
      ENGINE *engine) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: setup_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1177,1
    - Dst: load_cert_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1195,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1188,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1192,1
    - Dst: OSSL_CMP_CTX_set1_srvCert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1197,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1198,1
    - Dst: load_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1207,1
    - Dst: OSSL_CMP_CTX_set0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1209,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1210,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1217,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1234,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1241,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1238,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1232,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1220,1
    - Dst: load_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1225,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1231,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1244
    functionName: setup_verification_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_CMP_CTX_set0_trustedStore
    - CMP_warn
    - X509_STORE_get0_param
    - OSSL_CMP_CTX_set_certConf_cb_arg
    - setup_certs
    - OSSL_CMP_CTX_set1_srvCert
    - OSSL_CMP_CTX_set_option
    - load_cert_pwd
    - X509_VERIFY_PARAM_clear_flags
    - X509_STORE_free
    - load_trusted
    linkageType: ''
    returnType: int
    signature: 'static int setup_verification_ctx(OSSL_CMP_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2760,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2783,1
    - Dst: CMP_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2772,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2763,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2784
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2784
    functionName: print_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - app_malloc
    - OPENSSL_free
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_snprint_PKIStatus
    - CMP_print
    linkageType: ''
    returnType: void
    signature: 'static void print_status(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2051,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2060,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2058,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2060,1
    - Dst: CMP_info3
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2055,1
    - Dst: BIO_write_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2061,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2062,1
    - Dst: write_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2068,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2068,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2069,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2076,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2077,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - certs
    - destFile
    - desc
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF(X509)*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2079
    functionName: save_free_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - CMP_warn
    - BIO_free
    - sk_X509_pop_free
    - sk_X509_num
    - BIO_s_file
    - BIO_write_filename
    - sk_X509_value
    - CMP_info3
    - CMP_err1
    - BIO_new
    - write_cert
    linkageType: ''
    returnType: int
    signature: 'static int save_free_certs(OSSL_CMP_CTX *ctx, STACK_OF(X509) *certs,
      char *destFile, char *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2145,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2150,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2148,1
    - Dst: prev_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - src_conf
    - groups
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2153
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2153
    functionName: conf_get_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - prev_item
    - NCONF_get_string
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *conf_get_string(const CONF *src_conf, const char *groups,
      const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:674,1
    - Dst: clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:677,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - uri
    - format
    - pass
    - eng
    - desc
    argTypes:
    - char*
    - int
    - char*
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 679
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 679
    functionName: load_key_pwd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - get_passwd
    - clear_free
    - load_key
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'static EVP_PKEY *load_key_pwd(const char *uri, int format, const char
      *pass, ENGINE *eng, const char *desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: print_to_bio_err
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_print_to_bio
    linkageType: ''
    returnType: int
    signature: 'static int print_to_bio_err(const char *func, const char *file, int
      line, OSSL_CMP_severity level, const char *msg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:766,1
    - Dst: next_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:775,1
    - Dst: OSSL_CMP_MSG_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:777,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:770,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:777,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:777,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:779,1
    - Dst: CMP_info2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:781,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - desc
    - filenames
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 783
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 783
    functionName: read_PKIMESSAGE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - app_get0_propq
    - OSSL_CMP_MSG_read
    - next_item
    - app_get0_libctx
    - CMP_err
    - CMP_err1
    - CMP_info2
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *read_PKIMESSAGE(const char *desc, char **filenames) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:901,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:902,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:911,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:903,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:910,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:913,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:914,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:916,1
    - Dst: CMP_err2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:919,1
    - Dst: OSSL_CMP_CTX_push1_subjectAltName
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:922,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:923,1
    - Dst: GENERAL_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:927,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:924,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - names
    - desc
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 930
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 930
    functionName: set_gennames
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - strcmp
    - next_item
    - strchr
    - OSSL_CMP_CTX_push1_subjectAltName
    - GENERAL_NAME_free
    - ERR_set_mark
    - CMP_err2
    - a2i_GENERAL_NAME
    - OSSL_CMP_CTX_set_option
    - CMP_err
    linkageType: ''
    returnType: int
    signature: 'static int set_gennames(OSSL_CMP_CTX *ctx, char *names, const char
      *desc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:975,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:977,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:983,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:981,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:979,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:985,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:988,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:992,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1003,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1004,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1011,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1012,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1017
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1017
    functionName: transform_opts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - strcmp
    - opt_format
    - CMP_err1
    - CMP_err
    linkageType: ''
    returnType: int
    signature: 'static int transform_opts(void) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1553,1
    - Dst: CMP_warn2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1589,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1573,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1571,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1577,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1585,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1594,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1615,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1670,1
    - Dst: X509V3_set_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1673,1
    - Dst: load_cert_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1742,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1754,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1771,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1760,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1700,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1707,1
    - Dst: POLICYINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1721,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1770,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1753,1
    - Dst: POLICYINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1729,1
    - Dst: OSSL_CMP_CTX_push0_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1727,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1527,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1550,1
    - Dst: set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1554,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1575,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1579,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1607,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1637,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1641,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1648,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1650,1
    - Dst: X509V3_set_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1672,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1676,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1757,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1681,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1691,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1716,1
    - Dst: next_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1714,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1532,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1565,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1617,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1619,1
    - Dst: load_key_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1630,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1633,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1640,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1675,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1682,1
    - Dst: X509_REQ_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1688,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1665,1
    - Dst: set_gennames
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1695,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1740,1
    - Dst: OSSL_CMP_CTX_set0_reqExtensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1686,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1736,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1752,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1692,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1545,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1539,1
    - Dst: set_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1562,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1569,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1598,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1601,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1613,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1642,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1655,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1661,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1722,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1728,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1701,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1708,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1768,1
    - Dst: load_csr_autofmt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1663,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1762,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1717,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 246
    argCount: 2
    argNames:
    - ctx
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1773
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1773
    functionName: setup_request_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - load_csr_autofmt
    - POLICYINFO_free
    - OSSL_CMP_CTX_set0_newPkey
    - cleanse
    - EVP_PKEY_free
    - sk_X509_EXTENSION_new_null
    - ASN1_OBJECT_free
    - OSSL_CMP_CTX_set_option
    - CMP_err1
    - OSSL_CMP_CTX_set1_p10CSR
    - set_gennames
    - OSSL_CMP_CTX_set0_reqExtensions
    - POLICYINFO_new
    - load_pubkey
    - X509_free
    - X509V3_EXT_add_nconf_sk
    - next_item
    - CMP_warn2
    - CMP_err
    - X509V3_set_ctx
    - set_name
    - ERR_clear_error
    - CMP_warn
    - X509_REQ_free
    - X509V3_set_nconf
    - OSSL_CMP_CTX_push0_policy
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    - OBJ_txt2obj
    - OSSL_CMP_CTX_set1_oldCert
    - load_key_pwd
    - CMP_warn1
    - sk_X509_EXTENSION_pop_free
    - load_cert_pwd
    linkageType: ''
    returnType: int
    signature: 'static int setup_request_ctx(OSSL_CMP_CTX *ctx, ENGINE *engine) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2195,1
    - Dst: conf_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2267,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2244,1
    - Dst: opt_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2275,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2275,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2198,1
    - Dst: conf_get_number_e
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2224,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2229,1
    - Dst: CMP_err2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2249,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2274,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2191,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2212,1
    - Dst: conf_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2242,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2271,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2259,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2234,1
    - Dst: CMP_err2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2276,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2288,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2196,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2198,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2211,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2225,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2274,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 105
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2308
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2308
    functionName: read_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_clear_error
    - opt_verify
    - opt_next
    - strcmp
    - OPENSSL_assert
    - conf_get_number_e
    - BIO_snprintf
    - opt_init
    - CMP_err2
    - OSSL_NELEM
    - conf_get_string
    - opt_printf_stderr
    - opt_provider
    linkageType: ''
    returnType: int
    signature: 'static int read_config(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:684,1
    - Dst: clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:687,1
    - Dst: load_cert_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - uri
    - pass
    - desc
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 689
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 689
    functionName: load_cert_pwd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - get_passwd
    - load_cert_pass
    - clear_free
    linkageType: ''
    returnType: X509*
    signature: 'static X509 *load_cert_pwd(const char *uri, const char *pass, const
      char *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 669
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 669
    functionName: set_verbosity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - CMP_err1
    linkageType: ''
    returnType: int
    signature: 'static int set_verbosity(int level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_certstore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:934,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:938,1
    - Dst: truststore_set_host_etc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:942,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:944,1
    - Dst: X509_STORE_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:941,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:945,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - input
    - for_new_cert
    - desc
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 948
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 948
    functionName: load_trusted
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - truststore_set_host_etc
    - X509_STORE_set_verify_cb
    - OSSL_CMP_CTX_print_errors
    - load_certstore
    - X509_STORE_free
    - X509_STORE_set1_param
    linkageType: ''
    returnType: X509_STORE*
    signature: 'static X509_STORE *load_trusted(char *input, int for_new_cert, const
      char *desc) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1036,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1037,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1047,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1048,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1057,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1069,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1062,1
    - Dst: load_key_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1076,1
    - Dst: setup_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1123,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1129,1
    - Dst: ossl_cmp_mock_srv_set_statusInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1146,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1154,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1151,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1032,1
    - Dst: get_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1043,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1046,1
    - Dst: clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1049,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1080,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1093,1
    - Dst: setup_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1099,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1117,1
    - Dst: setup_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1119,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1127,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1160,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1138,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1162,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1114,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1070,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1073,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1054,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1086,1
    - Dst: load_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1090,1
    - Dst: load_cert_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1107,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1133,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1143,1
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1126,1
    - Dst: OSSL_CMP_SRV_CTX_set_send_unprotected_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1156,1
    - Dst: ossl_cmp_mock_srv_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1022,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1027,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1023,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1022,1
    - Dst: load_cert_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1066,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1081,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1084,1
    - Dst: OSSL_CMP_CTX_set0_trustedStore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1092,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1097,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1105,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1158,1
    - Dst: ossl_cmp_mock_srv_set1_certOut
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1113,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1167,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 114
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1169
    functionName: setup_srv_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_cert
    - ossl_cmp_mock_srv_set_statusInfo
    - cleanse
    - EVP_PKEY_free
    - ossl_cmp_mock_srv_set_pollCount
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - get_passwd
    - OSSL_CMP_CTX_set_option
    - CMP_err1
    - ossl_cmp_mock_srv_set_checkAfterTime
    - X509_free
    - ossl_cmp_mock_srv_set1_certOut
    - OSSL_CMP_CTX_set1_secretValue
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    - clear_free
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - CMP_err
    - load_trusted
    - OSSL_CMP_CTX_set0_trustedStore
    - ossl_cmp_mock_srv_new
    - CMP_warn
    - app_get0_libctx
    - ossl_cmp_mock_srv_set_sendError
    - OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    - load_key_pwd
    - ossl_cmp_mock_srv_free
    - X509_STORE_free
    - strlen
    - OSSL_CMP_CTX_set1_pkey
    - app_get0_propq
    - setup_certs
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - load_cert_pwd
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: OSSL_CMP_SRV_CTX*
    signature: 'static OSSL_CMP_SRV_CTX *setup_srv_ctx(ENGINE *engine) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:742,1
    - Dst: OSSL_CMP_MSG_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:752,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:753,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:746,1
    - Dst: next_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:751,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - filenames
    argTypes:
    - OSSL_CMP_MSG*
    - char**
    constantsTouched: []
    func_position:
      end: 757
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 757
    functionName: write_PKIMESSAGE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - CMP_err1
    - next_item
    - CMP_err
    - OSSL_CMP_MSG_write
    linkageType: ''
    returnType: int
    signature: 'static int write_PKIMESSAGE(const OSSL_CMP_MSG *msg, char **filenames) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1402,1
    - Dst: clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1424,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1429,1
    - Dst: load_key_pwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1437,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1473,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1477,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1492,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1496,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1503,1
    - Dst: get_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1416,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1412,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1447,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1460,1
    - Dst: load_cert_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1455,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1440,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1463,1
    - Dst: load_trusted
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1466,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1408,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1420,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1451,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1461,1
    - Dst: OSSL_CMP_CTX_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1470,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1472,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1483,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1486,1
    - Dst: OBJ_ln2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1489,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1497,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1505,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1421,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1423,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1432,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1433,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1444,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1441,1
    - Dst: setup_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1480,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1495,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:1508,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 111
    argCount: 2
    argNames:
    - ctx
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1511
    functionName: setup_protection_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_set1_cert
    - cleanse
    - EVP_PKEY_free
    - get_passwd
    - OSSL_CMP_CTX_set_option
    - CMP_err1
    - OSSL_CMP_CTX_build_cert_chain
    - STACK_OF
    - X509_free
    - load_cert_certs
    - OSSL_CMP_CTX_set1_secretValue
    - sk_X509_pop_free
    - clear_free
    - CMP_err
    - load_trusted
    - CMP_warn
    - OBJ_ln2nid
    - load_key_pwd
    - X509_STORE_free
    - strlen
    - OSSL_CMP_CTX_set1_pkey
    - setup_certs
    - OSSL_CMP_CTX_set1_referenceValue
    linkageType: ''
    returnType: int
    signature: 'static int setup_protection_ctx(OSSL_CMP_CTX *ctx, ENGINE *engine) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2159,1
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - conf_
    - groups
    - name
    - result
    argTypes:
    - CONF*
    - char*
    - char*
    - long*
    constantsTouched: []
    func_position:
      end: 2172
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2172
    functionName: conf_get_number_e
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - conf_get_string
    - strtol
    linkageType: ''
    returnType: int
    signature: 'static int conf_get_number_e(const CONF *conf_, const char *groups,
      const char *name, long *result) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_csr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:697,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:700,1
    - Dst: load_csr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:701,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:705,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:704,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:708,1
    - Dst: do_X509_REQ_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:709,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:712,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:714,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - infile
    - desc
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 717
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 717
    functionName: load_csr_autofmt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_clear_error
    - do_X509_REQ_verify
    - CMP_warn
    - X509_REQ_get0_pubkey
    - ERR_print_errors
    - load_csr
    linkageType: ''
    returnType: X509_REQ*
    signature: 'static X509_REQ *load_csr_autofmt(const char *infile, const char *desc) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: write_PKIMESSAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:800,1
    - Dst: read_PKIMESSAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:803,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:830,1
    - Dst: OSSL_CMP_MSG_http_perform
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:839,1
    - Dst: OSSL_CMP_HDR_get0_recipNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:855,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:856,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:859,1
    - Dst: OSSL_CMP_MSG_update_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:811,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:834,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:838,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:857,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:858,1
    - Dst: read_PKIMESSAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:823,1
    - Dst: OSSL_CMP_MSG_update_recipNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:818,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:829,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:866,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:841,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:854,1
    - Dst: write_PKIMESSAGE
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:865,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:871,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 65
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 873
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 873
    functionName: read_write_req_resp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_server_perform
    - write_PKIMESSAGE
    - CMP_warn
    - OSSL_CMP_CTX_set1_senderNonce
    - OSSL_CMP_MSG_http_perform
    - OSSL_CMP_MSG_free
    - OSSL_CMP_MSG_update_transactionID
    - OSSL_CMP_HDR_get0_transactionID
    - OSSL_CMP_CTX_set1_transactionID
    - read_PKIMESSAGE
    - CMP_err
    - OSSL_CMP_HDR_get0_recipNonce
    - OSSL_CMP_MSG_update_recipNonce
    - OSSL_CMP_MSG_get0_header
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *read_write_req_resp(OSSL_CMP_CTX *ctx, const
      OSSL_CMP_MSG *req) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2312,1
    - Dst: opt_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2316,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2319,1
    - Dst: opt_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2319,1
    - Dst: CMP_warn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2322
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2322
    functionName: opt_str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - opt_arg
    - CMP_warn1
    - opt_flag
    linkageType: ''
    returnType: char*
    signature: 'static char *opt_str(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: http_server_init_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2688,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2714,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2723,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2740,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2752,1
    - Dst: http_server_get_asn1_req
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2695,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2714,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2695,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2701,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2715,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2718,1
    - Dst: http_server_send_asn1_resp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2730,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2732,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2746,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2719,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2734,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2741,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2726,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2724,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2716,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2722,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2744,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2751,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 1
    argNames:
    - srv_cmp_ctx
    argTypes:
    - OSSL_CMP_CTX*
    constantsTouched: []
    func_position:
      end: 2754
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2754
    functionName: cmp_server
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_CTX_server_perform
    - BIO_free_all
    - http_server_init_bio
    - http_server_send_status
    - OSSL_CMP_CTX_set1_senderNonce
    - strcmp
    - OPENSSL_free
    - http_server_send_asn1_resp
    - OSSL_CMP_MSG_free
    - ossl_sleep
    - http_server_get_asn1_req
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_set1_transactionID
    - CMP_err1
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: 'static int cmp_server(OSSL_CMP_CTX *srv_cmp_ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:880,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:885,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:889,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:886,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 4
    argNames:
    - str
    - (*set_fn)
    - ctx
    - desc
    argTypes:
    - char*
    - int
    - OSSL_CMP_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 892
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 892
    functionName: set_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - CMP_err
    - X509_NAME_free
    - parse_name
    linkageType: ''
    returnType: int
    signature: 'static int set_name(const char *str, int (*set_fn) (OSSL_CMP_CTX *ctx,
      const X509_NAME *name), OSSL_CMP_CTX *ctx, const char *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_certs_multifile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:960,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:963,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - files
    - desc
    - ctx
    - set1_fn
    argTypes:
    - char*
    - char*
    - void*
    - add_X509_stack_fn_t
    constantsTouched: []
    func_position:
      end: 965
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 965
    functionName: setup_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - load_certs_multifile
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'static int setup_certs(char *files, const char *desc, void *ctx, add_X509_stack_fn_t
      set1_fn) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2821,1
    - Dst: CMP_info2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2831,1
    - Dst: CMP_info2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2839,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2862,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2882,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3012,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3070,1
    - Dst: OSSL_CMP_exec_IR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2968,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2857,1
    - Dst: save_free_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3016,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2996,1
    - Dst: APP_HTTP_TLS_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3072,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2988,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3029,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3026,1
    - Dst: get_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2864,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3050,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2996,1
    - Dst: set_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2853,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3046,1
    - Dst: OSSL_CMP_CTX_get_certConf_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3065,1
    - Dst: set_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2814,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2838,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2896,1
    - Dst: cmp_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2946,1
    - Dst: OSSL_CMP_CTX_get1_caPubs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3022,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2930,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3002,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2807,1
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2797,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2843,1
    - Dst: setup_engine_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2875,1
    - Dst: setup_client_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2960,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3054,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3077,1
    - Dst: opt_appname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2795,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2809,1
    - Dst: OSSL_CMP_exec_KUR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2973,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3004,1
    - Dst: save_free_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3022,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3057,1
    - Dst: print_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3015,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2954,1
    - Dst: OSSL_CMP_CTX_get1_newChain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3035,1
    - Dst: set_base_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2872,1
    - Dst: setup_srv_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2928,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2931,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3053,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3076,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2882,1
    - Dst: save_free_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3035,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2932,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3048,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3064,1
    - Dst: OSSL_CMP_log_close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3080,1
    - Dst: OSSL_CMP_exec_CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2978,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2911,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2956,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2814,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2885,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2903,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2907,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3028,1
    - Dst: CMP_warn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2941,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2823,1
    - Dst: CMP_err2
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2846,1
    - Dst: read_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2852,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2877,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2886,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3065,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3071,1
    - Dst: app_RAND_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2868,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2882,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3039,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2999,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2933,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3047,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2812,1
    - Dst: UI_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2872,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2916,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2936,1
    - Dst: print_itavs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3003,1
    - Dst: save_free_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3032,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3067,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2837,1
    - Dst: prev_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2844,1
    - Dst: app_load_config
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2833,1
    - Dst: CMP_err1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2887,1
    - Dst: OSSL_CMP_exec_P10CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2983,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2961,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3061,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3064,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3079,1
    - Dst: access
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2830,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2845,1
    - Dst: CMP_err
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:2899,1
    - Dst: OSSL_CMP_CTX_get1_extraCertsIn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3016,1
    - Dst: cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c:3052,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 265
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3083
      start: 2786
    functionDepth: 0
    functionLinenumber: 2786
    functionLinenumberEnd: 3083
    functionName: cmp_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_exec_GENM_ses
    - OSSL_CMP_exec_RR_ses
    - set_verbosity
    - cleanse
    - set_base_ui_method
    - OSSL_CMP_CTX_get_certConf_cb_arg
    - OSSL_CMP_exec_KUR_ses
    - OSSL_CMP_CTX_get_status
    - CMP_err1
    - OSSL_CMP_CTX_get_http_cb_arg
    - NCONF_get_section
    - prev_item
    - OSSL_CMP_CTX_get_transfer_cb_arg
    - BIO_printf
    - X509_VERIFY_PARAM_free
    - NCONF_free
    - OSSL_CMP_CTX_new
    - sk_OSSL_CMP_ITAV_pop_free
    - app_load_config
    - OSSL_CMP_CTX_set_log_cb
    - strcmp
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - print_itavs
    - OBJ_nid2obj
    - OSSL_CMP_CTX_print_errors
    - OSSL_CMP_ITAV_create
    - OSSL_CMP_CTX_reinit
    - OSSL_CMP_exec_IR_ses
    - read_config
    - setup_engine_methods
    - atoi
    - CMP_err
    - OSSL_CMP_CTX_get1_newChain
    - setup_srv_ctx
    - opt_appname
    - APP_HTTP_TLS_INFO_free
    - get_opts
    - CMP_info2
    - app_RAND_load
    - OSSL_CMP_CTX_push0_genm_ITAV
    - save_free_certs
    - CMP_warn
    - access
    - OSSL_CMP_CTX_get1_caPubs
    - opt_help
    - OSSL_CMP_CTX_free
    - app_get0_libctx
    - CMP_err2
    - ossl_cmp_mock_srv_free
    - X509_STORE_free
    - UI_null
    - OSSL_CMP_exec_P10CR_ses
    - strlen
    - X509_VERIFY_PARAM_new
    - cmp_server
    - release_engine
    - OSSL_CMP_exec_CR_ses
    - app_get0_propq
    - OPENSSL_free
    - setup_client_ctx
    - sk_X509_free
    - BIO_flush
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OSSL_CMP_CTX_set_log_verbosity
    - sk_X509_new_null
    - X509_add_cert
    - OSSL_CMP_CTX_get1_extraCertsIn
    - OSSL_CMP_log_close
    - print_status
    linkageType: ''
    returnType: int
    signature: 'int cmp_main(int argc, char **argv) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:59,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:112,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:114,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:123,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:121,1
    - Dst: OPENSSL_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:129,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:130,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:117,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:118,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:116,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:125,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:127,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:101,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:56,1
    - Dst: BN_options
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:117,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:125,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:127,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:133,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:50,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:51,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:109,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:110,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:112,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:114,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:121,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:123,1
    - Dst: OpenSSL_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/version.c:133,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 137
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 137
    functionName: version_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/version.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OpenSSL_version
    - opt_help
    - opt_init
    - OPENSSL_info
    - printf
    - opt_next
    - opt_num_rest
    - BN_options
    linkageType: ''
    returnType: int
    signature: 'int version_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: OPENSSL_VPROC_FUNC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void OPENSSL_VPROC_FUNC(void) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: opt_help
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:104,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:128,1
    - Dst: opt_num_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:163,1
    - Dst: opt_unknown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:153,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:188,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:191,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:201,1
    - Dst: EVP_PKEY_print_public
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:202,1
    - Dst: EVP_PKEY_print_private
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:203,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:204,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:214,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:271,1
    - Dst: get_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:275,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:302,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:278,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:303,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:289,1
    - Dst: opt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:94,1
    - Dst: opt_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:95,1
    - Dst: opt_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:156,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:176,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:184,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:217,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:218,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:256,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:262,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:236,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:305,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:308,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:288,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:294,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:264,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:280,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:271,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:304,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:101,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:108,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:115,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:119,1
    - Dst: setup_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:122,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:122,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:180,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:192,1
    - Dst: bio_open_owner
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:196,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:205,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:220,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:295,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:287,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:301,1
    - Dst: release_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:306,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:307,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:108,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:112,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:115,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:125,1
    - Dst: opt_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:168,1
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:175,1
    - Dst: load_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:187,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:213,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:219,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:265,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:227,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:275,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c:241,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 310
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 310
    functionName: dsa_main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/dsa.c
    functionUses: []
    functionsReached:
    - opt_format
    - EVP_PKEY_free
    - load_key
    - EVP_PKEY_is_a
    - OSSL_ENCODER_CTX_free
    - EVP_PKEY_print_private
    - OSSL_ENCODER_CTX_new_for_pkey
    - opt_provider
    - opt_cipher
    - BIO_printf
    - load_pubkey
    - perror
    - BN_print
    - bio_open_owner
    - OSSL_PARAM_construct_int
    - BIO_free_all
    - ERR_print_errors
    - OSSL_ENCODER_CTX_get_num_encoders
    - EVP_CIPHER_free
    - OPENSSL_free
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_cipher
    - setup_engine
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - EVP_PKEY_print_public
    - opt_unknown
    - opt_num_rest
    - OSSL_ENCODER_to_bio
    - opt_help
    - EVP_PKEY_get_bn_param
    - get_ui_method
    - strlen
    - release_engine
    - assert
    - opt_arg
    - opt_init
    - BN_free
    - app_passwd
    - opt_next
    - EVP_CIPHER_get0_name
    - OSSL_ENCODER_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'int dsa_main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: FMT_istext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/fmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int FMT_istext(int format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: dummy_srp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *dummy_srp(SSL *ssl, void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_srp_N
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:69,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:74,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:73,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:72,1
    - Dst: SSL_get_srp_g
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:69,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:75,1
    - Dst: BN_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:77,1
    - Dst: SRP_check_known_gN_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:80,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:85,1
    - Dst: srp_Verify_N_and_g
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:93,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:93,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:96,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 98
    functionName: ssl_srp_verify_param_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BN_print
    - SSL_get_srp_N
    - BN_num_bits
    - SRP_check_known_gN_param
    - srp_Verify_N_and_g
    - SSL_get_srp_g
    linkageType: ''
    returnType: int
    signature: 'static int ssl_srp_verify_param_cb(SSL *s, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:105,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:113,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:112,1
    - Dst: password_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: ssl_give_srp_client_pwd_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - password_callback
    - app_malloc
    linkageType: ''
    returnType: char*
    signature: 'static char *ssl_give_srp_client_pwd_cb(SSL *s, void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_srp_username
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:163,1
    - Dst: SSL_set_srp_server_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:164,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:179,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:169,1
    - Dst: SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: ssl_srp_server_param_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_get_srp_username
    - SSL_set_srp_server_param
    - SRP_user_pwd_free
    linkageType: ''
    returnType: int
    signature: 'static int ssl_srp_server_param_cb(SSL *s, int *ad, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:28,1
    - Dst: BN_is_odd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:32,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:33,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:30,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:29,1
    - Dst: BN_rshift1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:34,1
    - Dst: BN_check_prime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:36,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:39,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:40,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:40,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:44,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:43,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:42,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 2
    argNames:
    - N
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: srp_Verify_N_and_g
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - BN_add_word
    - BN_new
    - BN_CTX_free
    - BN_rshift1
    - BN_CTX_new
    - BN_free
    - BN_check_prime
    - BN_mod_exp
    - BN_is_odd
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int srp_Verify_N_and_g(const BIGNUM *N, const BIGNUM *g) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_srp_username
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:124,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:130,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:125,1
    - Dst: SSL_CTX_set_srp_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:132,1
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:131,1
    - Dst: SSL_CTX_set_srp_verify_param_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - srp_arg
    - srp_lateuser
    - c_msg
    - c_debug
    argTypes:
    - SSL_CTX*
    - SRP_ARG*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: set_up_srp_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_srp_username
    - BIO_printf
    - SSL_CTX_set_srp_cb_arg
    - SSL_CTX_set_srp_client_pwd_callback
    - SSL_CTX_set_srp_verify_param_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, int c_debug) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: set_up_dummy_srp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_srp_client_pwd_callback
    linkageType: ''
    returnType: void
    signature: 'void set_up_dummy_srp(SSL_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SRP_VBASE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:196,1
    - Dst: SRP_VBASE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:205,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:207,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:201,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:212,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:213,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - srp_callback_parm
    - srpuserseed
    - srp_verifier_file
    argTypes:
    - SSL_CTX*
    - srpsrvparm*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 217
    functionName: set_up_srp_verifier_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_CTX_set_srp_cb_arg
    - SRP_VBASE_init
    - SSL_CTX_set_srp_username_callback
    - SRP_VBASE_new
    - SSL_CTX_set_verify
    linkageType: ''
    returnType: int
    signature: 'int set_up_srp_verifier_file(SSL_CTX *ctx, srpsrvparm *srp_callback_parm,
      char *srpuserseed, char *srp_verifier_file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SRP_user_pwd_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:221,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:226,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:229,1
    - Dst: SRP_VBASE_get1_by_user
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - srp_callback_parm
    - bio_s_out
    argTypes:
    - srpsrvparm*
    - BIO*
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: lookup_srp_user
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/tlssrp_depr.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SRP_VBASE_get1_by_user
    - 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: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_decc_argv.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: cleanup_argv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_decc_argv.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_argv(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_decc_argv.c:50,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_decc_argv.c:58,1
    - Dst: OPENSSL_atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_decc_argv.c:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 71
    functionName: copy_argv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_decc_argv.c
    functionUses: []
    functionsReached:
    - OPENSSL_atexit
    - OPENSSL_malloc
    - cleanup_argv
    linkageType: ''
    returnType: char**
    signature: 'char **copy_argv(int *argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:52,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:54,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:53,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: loadfiles
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - RAND_load_file
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'static int loadfiles(char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_write_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:86,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:87,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:91,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: app_RAND_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - RAND_write_file
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: 'int app_RAND_write(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:20,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:23,1
    - Dst: RAND_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:26,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:28,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:27,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:31,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:34,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:35,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - c
    - section
    argTypes:
    - CONF*
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: app_RAND_load_conf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_clear_error
    - OPENSSL_strdup
    - NCONF_get_string
    - RAND_load_file
    - ERR_print_errors
    linkageType: ''
    returnType: void
    signature: 'void app_RAND_load_conf(CONF *c, const char *section) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:71,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:76,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:72,1
    - Dst: loadfiles
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: app_RAND_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c
    functionUses: []
    functionsReached:
    - loadfiles
    - sk_OPENSSL_STRING_free
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    linkageType: ''
    returnType: int
    signature: 'int app_RAND_load(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:110,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:112,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:112,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:117,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:116,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - opt
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: opt_rand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_rand.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_push
    - opt_arg
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: 'int opt_rand(int opt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: opt_path_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'const char *opt_path_end(const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: opt_getprog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *opt_getprog(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_silent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:401,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: opt_cipher_any
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_printf_stderr
    - opt_cipher_silent
    linkageType: ''
    returnType: int
    signature: 'int opt_cipher_any(const char *name, EVP_CIPHER **cipherp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoimax
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:574,1
    - Dst: opt_number_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:580,1
    - Dst: opt_number_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:587,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_intmax_t*
    constantsTouched: []
    func_position:
      end: 593
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 593
    functionName: opt_intmax
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_number_error
    - strtoimax
    linkageType: ''
    returnType: int
    signature: 'int opt_intmax(const char *value, ossl_intmax_t *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: opt_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *opt_flag(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_path_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:137,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: opt_progname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_path_end
    - strncpy
    linkageType: ''
    returnType: char*
    signature: 'char *opt_progname(const char *argv0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:147,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: opt_appname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *opt_appname(const char *argv0) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_any
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:412,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:414,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:418,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:416,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    constantsTouched: []
    func_position:
      end: 426
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 426
    functionName: opt_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_printf_stderr
    - EVP_CIPHER_get_flags
    - opt_cipher_any
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: 'int opt_cipher(const char *name, EVP_CIPHER **cipherp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1194,1
    - Dst: S_ISDIR
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1201
    functionName: opt_isdir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - stat
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: 'int opt_isdir(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:379,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:381,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:380,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:380,1
    - Dst: opt_legacy_okay
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:382,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:383,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:384,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:386,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:389,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: opt_cipher_silent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_free
    - app_get0_propq
    - EVP_get_cipherbyname
    - app_get0_libctx
    - ERR_set_mark
    - EVP_CIPHER_fetch
    - opt_legacy_okay
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'int opt_cipher_silent(const char *name, EVP_CIPHER **cipherp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:655,1
    - Dst: opt_number_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:660,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 667
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 667
    functionName: opt_ulong
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_number_error
    - strtoul
    linkageType: ''
    returnType: int
    signature: 'int opt_ulong(const char *value, unsigned long *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: opt_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *opt_arg(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: opt_path_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'const char *opt_path_end(const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:368,1
    - Dst: format2str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - format
    - flags
    argTypes:
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: print_format_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_format_error
    - format2str
    linkageType: ''
    returnType: void
    signature: 'void print_format_error(int format, unsigned long flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:435,1
    - Dst: opt_legacy_okay
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:437,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:436,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:436,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:436,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:438,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:439,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:441,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:444,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - name
    - mdp
    argTypes:
    - char*
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: opt_md_silent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - app_get0_propq
    - EVP_get_digestbyname
    - app_get0_libctx
    - ERR_set_mark
    - ERR_clear_last_mark
    - opt_legacy_okay
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'int opt_md_silent(const char *name, EVP_MD **mdp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:484,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:486,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - name
    - options
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: opt_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strcmp
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'int opt_string(const char *name, const char **options) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:548,1
    - Dst: opt_number_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:553,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - long*
    constantsTouched: []
    func_position:
      end: 560
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 560
    functionName: opt_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strtol
    - opt_number_error
    linkageType: ''
    returnType: int
    signature: 'int opt_long(const char *value, long *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_intmax_t*
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: opt_intmax
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_long
    linkageType: ''
    returnType: int
    signature: 'int opt_intmax(const char *value, ossl_intmax_t *result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_path_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:108,1
    - Dst: strrchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:109,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: opt_progname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_path_end
    - strncpy
    - strrchr
    linkageType: ''
    returnType: char*
    signature: 'char *opt_progname(const char *argv0) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_md_silent
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:456,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - name
    - mdp
    argTypes:
    - char*
    - EVP_MD**
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: opt_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_printf_stderr
    - opt_md_silent
    linkageType: ''
    returnType: int
    signature: 'int opt_md(const char *name, EVP_MD **mdp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_uintmax_t*
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: opt_uintmax
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_ulong
    linkageType: ''
    returnType: int
    signature: 'int opt_uintmax(const char *value, ossl_uintmax_t *result) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:684,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:699,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:726,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:737,1
    - Dst: X509_VERIFY_PARAM_set_auth_level
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:742,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:755,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:776,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:784,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:805,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:820,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:793,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:749,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:685,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:707,1
    - Dst: X509_PURPOSE_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:714,1
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:732,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:735,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:740,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:745,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:748,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:759,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:759,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:808,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:787,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:752,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:773,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:817,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:796,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:823,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:763,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:693,1
    - Dst: OBJ_txt2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:693,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:686,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:695,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:695,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:709,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:709,1
    - Dst: X509_VERIFY_PARAM_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:726,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:728,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:729,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:755,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:811,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:790,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:763,1
    - Dst: opt_intmax
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:745,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:799,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:826,1
    - Dst: X509_VERIFY_PARAM_add0_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:698,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:700,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:701,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:720,1
    - Dst: X509_PURPOSE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:717,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:707,1
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:719,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:721,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:735,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:740,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:767,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:781,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:829,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:814,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:802,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 93
    argCount: 2
    argNames:
    - opt
    - vpm
    argTypes:
    - int
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 834
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 834
    functionName: opt_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - X509_PURPOSE_get0
    - X509_PURPOSE_get_by_sname
    - X509_VERIFY_PARAM_set_flags
    - OPENSSL_assert
    - ASN1_OBJECT_free
    - X509_VERIFY_PARAM_set1_host
    - X509_VERIFY_PARAM_add0_policy
    - X509_VERIFY_PARAM_set_time
    - atoi
    - X509_VERIFY_PARAM_set1_ip_asc
    - X509_VERIFY_PARAM_set1
    - X509_PURPOSE_get_id
    - OBJ_txt2obj
    - opt_intmax
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set_depth
    - opt_arg
    - X509_VERIFY_PARAM_set_purpose
    - X509_VERIFY_PARAM_set_auth_level
    - X509_VERIFY_PARAM_lookup
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'int opt_verify(int opt, X509_VERIFY_PARAM *vpm) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 363
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 363
    functionName: format2str
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *format2str(int format) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:468,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:474,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - name
    - pairs
    - result
    argTypes:
    - char*
    - OPT_PAIR*
    - int*
    constantsTouched: []
    func_position:
      end: 476
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 476
    functionName: opt_pair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    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: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:529,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:536,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:531,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:530,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 538
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 538
    functionName: opt_number_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strncmp
    - opt_printf_stderr
    - OSSL_NELEM
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void opt_number_error(const char *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1007
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1007
    functionName: opt_rest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char**
    signature: 'char **opt_rest(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: opt_path_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'const char *opt_path_end(const char *filename) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:272,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:279,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:292,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:304,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:316,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:309,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:325,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:328,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:266,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:280,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:286,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:314,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:318,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:320,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:323,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:318,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:322,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:261,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:279,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:278,1
    - Dst: opt_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:298,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:314,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:322,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:323,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 81
    argCount: 3
    argNames:
    - s
    - flags
    - result
    argTypes:
    - char*
    - unsigned long
    - int*
    constantsTouched: []
    func_position:
      end: 334
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 334
    functionName: opt_format
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strcmp
    - opt_format_error
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'int opt_format(const char *s, unsigned long flags, int *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: opt_unknown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *opt_unknown(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1069,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1074,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1083,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1073,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1078,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1089,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1099,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1099,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1104,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1104,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1113,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1110,1
    - Dst: valtype2param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1104,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1109,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - o
    - doingparams
    - width
    argTypes:
    - OPTIONS*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1114
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1114
    functionName: opt_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strcpy
    - memset
    - valtype2param
    - opt_printf_stderr
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void opt_print(const OPTIONS *o, int doingparams, int width) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_path_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:71,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:74,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:76,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:76,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: opt_progname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_path_end
    - strcmp
    - tolower
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *opt_progname(const char *argv0) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1130,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1135,1
    - Dst: valtype2param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1132,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1132,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1139,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1141,1
    - Dst: opt_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - list
    argTypes:
    - OPTIONS*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1150
    functionName: opt_help
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_printf_stderr
    - OPENSSL_assert
    - valtype2param
    - opt_print
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void opt_help(const OPTIONS *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:244,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:251,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: opt_format_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'static int opt_format_error(const char *s, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: opt_int_arg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_int
    linkageType: ''
    returnType: int
    signature: 'int opt_int_arg(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:497,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: opt_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_printf_stderr
    - opt_long
    linkageType: ''
    returnType: int
    signature: 'int opt_int(const char *value, int *result) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:899,1
    - Dst: opt_isdir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:917,1
    - Dst: opt_int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:930,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:869,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:882,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:889,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:963,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:981,1
    - Dst: opt_intmax
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:944,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:938,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:883,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:969,1
    - Dst: opt_uintmax
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:948,1
    - Dst: opt_ulong
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:956,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:878,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:882,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:919,1
    - Dst: opt_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:952,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:933,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 70
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 983
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 983
    functionName: opt_next
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_int
    - opt_uintmax
    - strcmp
    - strchr
    - opt_format
    - opt_intmax
    - opt_ulong
    - opt_isdir
    - opt_printf_stderr
    - opt_long
    linkageType: ''
    returnType: int
    signature: 'int opt_next(void) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - OPTIONS*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1059
    functionName: valtype2param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *valtype2param(const OPTIONS *o) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1159,1
    - Dst: GetFileAttributes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1171,1
    - Dst: MultiByteToWideChar
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1166,1
    - Dst: GetFileAttributes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1178
    functionName: opt_isdir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - MultiByteToWideChar
    - GetFileAttributes
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int opt_isdir(const char *name) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: opt_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:165,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:191,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:187,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:189,1
    - Dst: opt_progname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:170,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:199,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:208,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:210,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:212,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:217,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:219,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 49
    argCount: 3
    argNames:
    - ac
    - av
    - o
    argTypes:
    - int
    - char**
    - OPTIONS*
    constantsTouched: []
    func_position:
      end: 223
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 223
    functionName: opt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - strcmp
    - OPENSSL_assert
    - opt_begin
    - opt_progname
    - opt_printf_stderr
    linkageType: ''
    returnType: char*
    signature: 'char *opt_init(int ac, char **av, const OPTIONS *o) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoumax
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:603,1
    - Dst: opt_number_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:615,1
    - Dst: opt_number_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:608,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_uintmax_t*
    constantsTouched: []
    func_position:
      end: 621
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 621
    functionName: opt_uintmax
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_number_error
    - strtoumax
    linkageType: ''
    returnType: int
    signature: 'int opt_uintmax(const char *value, ossl_uintmax_t *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: opt_begin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void opt_begin(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_rest
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c:1015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: opt_num_rest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/opt.c
    functionUses: []
    functionsReached:
    - opt_rest
    linkageType: ''
    returnType: int
    signature: 'int opt_num_rest(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - argc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: validate_argv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c
    functionUses: []
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: 'static int validate_argv(int argc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetConsoleOutputCP
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:24,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:27,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c
    functionUses: []
    functionsReached:
    - SetConsoleOutputCP
    - free
    linkageType: ''
    returnType: void
    signature: 'static void cleanup(void) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:147,1
    - Dst: wcslen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:161,1
    - Dst: validate_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:152,1
    - Dst: _alloca
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:162,1
    - Dst: GetCommandLineW
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:155,1
    - Dst: wcscpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:163,1
    - Dst: process_glob
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:252,1
    - Dst: validate_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:253,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:260,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:266,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:273,1
    - Dst: GetConsoleOutputCP
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:282,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:295,1
    - Dst: SetConsoleOutputCP
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:283,1
    - Dst: atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:288,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:293,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 100
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 302
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 302
    functionName: win32_utf8argv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c
    functionUses: []
    functionsReached:
    - GetEnvironmentVariableW
    - WideCharToMultiByte
    - GetConsoleOutputCP
    - SetConsoleOutputCP
    - process_glob
    - GetCommandLineW
    - free
    - validate_argv
    - _alloca
    - malloc
    - atexit
    - wcscpy
    - wcslen
    linkageType: ''
    returnType: void
    signature: 'void win32_utf8argv(int *argc, char **argv[]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFileW
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:87,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:93,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:121,1
    - Dst: validate_argv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:111,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:118,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:126,1
    - Dst: WideCharToMultiByte
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:129,1
    - Dst: FindNextFileW
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:133,1
    - Dst: CloseHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c:135,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - wstr
    - wlen
    argTypes:
    - WCHAR*
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 138
    functionName: process_glob
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c
    functionUses: []
    functionsReached:
    - WideCharToMultiByte
    - FindNextFileW
    - validate_argv
    - malloc
    - FindFirstFileW
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: 'static int process_glob(WCHAR *wstr, int wlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: win32_utf8argv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/win32_init.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void win32_utf8argv(int *argc, char **argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/columns.c:20,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - functions
    - dc
    argTypes:
    - FUNCTION*
    - DISPLAY_COLUMNS*
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: calculate_columns
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/columns.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void calculate_columns(FUNCTION *functions, DISPLAY_COLUMNS *dc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - expected
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: engine_expect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int engine_expect(OSSL_STORE_LOADER_CTX *ctx, int expected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:57,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: OSSL_STORE_LOADER_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'static void OSSL_STORE_LOADER_CTX_free(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: engine_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int engine_eof(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: engine_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_LOADER_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int engine_close(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: setup_engine_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int setup_engine_loader(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - e
    - keyid
    argTypes:
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: OSSL_STORE_LOADER_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX*
    signature: 'static OSSL_STORE_LOADER_CTX *OSSL_STORE_LOADER_CTX_new(ENGINE *e,
      char *keyid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:73,1
    - Dst: strncpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:86,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:90,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:79,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:88,1
    - Dst: OSSL_STORE_LOADER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:94,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:97,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:98,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 4
    argNames:
    - loader
    - uri
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 102
    functionName: engine_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - OPENSSL_strdup
    - strchr
    - OPENSSL_free
    - ENGINE_by_id
    - OSSL_STORE_LOADER_CTX_new
    - ENGINE_free
    - strncpy
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX*
    signature: 'static OSSL_STORE_LOADER_CTX *engine_open(const OSSL_STORE_LOADER
      *loader, const char *uri, const UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:122,1
    - Dst: ENGINE_load_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:126,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:133,1
    - Dst: OSSL_STORE_INFO_new_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:140,1
    - Dst: ENGINE_load_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:131,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:142,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:144,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:145,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - UI_METHOD*
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 148
    functionName: engine_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_INFO_new_PUBKEY
    - OSSL_STORE_INFO_new_PKEY
    - ENGINE_init
    - EVP_PKEY_free
    - ENGINE_finish
    - ENGINE_load_private_key
    - ENGINE_load_public_key
    linkageType: ''
    returnType: OSSL_STORE_INFO*
    signature: 'static OSSL_STORE_INFO *engine_load(OSSL_STORE_LOADER_CTX *ctx, const
      UI_METHOD *ui_method, void *ui_data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: engine_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int engine_error(OSSL_STORE_LOADER_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:170,1
    - Dst: OSSL_STORE_LOADER_set_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:174,1
    - Dst: OSSL_STORE_LOADER_set_open
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:171,1
    - Dst: OSSL_STORE_LOADER_set_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:173,1
    - Dst: OSSL_STORE_LOADER_set_expect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:172,1
    - Dst: OSSL_STORE_LOADER_set_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:175,1
    - Dst: OSSL_STORE_LOADER_set_close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:176,1
    - Dst: OSSL_STORE_register_loader
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:177,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: setup_engine_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_LOADER_set_open
    - OSSL_STORE_LOADER_set_load
    - OSSL_STORE_LOADER_new
    - OSSL_STORE_LOADER_set_close
    - OSSL_STORE_register_loader
    - OSSL_STORE_LOADER_set_error
    - OSSL_STORE_LOADER_set_eof
    - OSSL_STORE_LOADER_set_expect
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: int
    signature: 'int setup_engine_loader(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_unregister_loader
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:187,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: destroy_engine_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached:
    - OSSL_STORE_unregister_loader
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: void
    signature: 'void destroy_engine_loader(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: destroy_engine_loader
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine_loader.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void destroy_engine_loader(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:37,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:39,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:41,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:38,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:40,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mock_srv_ctx*
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: mock_srv_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - X509_free
    - sk_X509_pop_free
    - OPENSSL_free
    - OSSL_CMP_MSG_free
    - OSSL_CMP_PKISI_free
    linkageType: ''
    returnType: void
    signature: 'static void mock_srv_ctx_free(mock_srv_ctx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:100,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:107,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:104,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - srv_ctx
    - caPubs
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: ossl_cmp_mock_srv_set1_caPubsOut
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_pop_free
    - X509_chain_up_ref
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_mock_srv_set1_caPubsOut(OSSL_CMP_SRV_CTX *srv_ctx, STACK_OF(X509)
      *caPubs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:66,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:73,1
    - Dst: X509_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:72,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - srv_ctx
    - cert
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - X509*
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: ossl_cmp_mock_srv_set1_certOut
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - X509_free
    - X509_up_ref
    - ERR_raise
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_mock_srv_set1_certOut(OSSL_CMP_SRV_CTX *srv_ctx, X509
      *cert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - srv_ctx
    - bodytype
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: ossl_cmp_mock_srv_set_sendError
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    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/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - srv_ctx
    - sec
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: ossl_cmp_mock_srv_set_checkAfterTime
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    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/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:266,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:274,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:273,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:280,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:269,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:283,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:283,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:284,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:285,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:286,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:290,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - srv_ctx
    - rr
    - issuer
    - serial
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - X509_NAME*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 291
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 291
    functionName: process_rr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    - X509_get_issuer_name
    - ERR_raise_data
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_PKISI_dup
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: OSSL_CMP_PKISI*
    signature: 'static OSSL_CMP_PKISI *process_rr(OSSL_CMP_SRV_CTX *srv_ctx, const
      OSSL_CMP_MSG *rr, const X509_NAME *issuer, const ASN1_INTEGER *serial) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:321,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:342,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:344,1
    - Dst: ASN1_INTEGER_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:344,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:352,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:353,1
    - Dst: OSSL_CMP_snprint_PKIStatusInfo
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:336,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:358,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:355,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:347,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:349,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:331,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:327,1
    - Dst: ASN1_STRING_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:354,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:356,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:350,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:334,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:337,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:346,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    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*
    constantsTouched: []
    func_position:
      end: 360
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 360
    functionName: process_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_raise
    - sk_ASN1_UTF8STRING_value
    - sk_ASN1_UTF8STRING_num
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_snprint_PKIStatusInfo
    - ASN1_STRING_print
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: void
    signature: 'static void process_error(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *error, const OSSL_CMP_PKISI *statusInfo, const ASN1_INTEGER *errorCode, const
      OSSL_CMP_PKIFREETEXT *errorDetails) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:414,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:402,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:406,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:408,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 5
    argNames:
    - srv_ctx
    - pollReq
    - certReqId
    - certReq
    - check_after
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - ossl_unused
    - OSSL_CMP_MSG**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 428
    functionName: process_pollReq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int process_pollReq(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *pollReq, ossl_unused int certReqId, OSSL_CMP_MSG **certReq, int64_t *check_after) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:87,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:84,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:90,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - srv_ctx
    - chain
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: ossl_cmp_mock_srv_set1_chainOut
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - sk_X509_pop_free
    - X509_chain_up_ref
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_mock_srv_set1_chainOut(OSSL_CMP_SRV_CTX *srv_ctx, STACK_OF(X509)
      *chain) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:47,1
    - Dst: mock_srv_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:60,1
    - Dst: OSSL_CMP_PKISI_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: mock_srv_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - mock_srv_ctx_free
    - OSSL_CMP_PKISI_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: mock_srv_ctx*
    signature: 'static mock_srv_ctx *mock_srv_ctx_new(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:117,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:124,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:121,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - srv_ctx
    - status
    - fail_info
    - text
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: ossl_cmp_mock_srv_set_statusInfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_STATUSINFO_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_mock_srv_set_statusInfo(OSSL_CMP_SRV_CTX *srv_ctx, int
      status, int fail_info, const char *text) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:146,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - srv_ctx
    - count
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: ossl_cmp_mock_srv_set_pollCount
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    linkageType: ''
    returnType: int
    signature: 'int ossl_cmp_mock_srv_set_pollCount(OSSL_CMP_SRV_CTX *srv_ctx, int
      count) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:190,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:206,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:214,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:217,1
    - Dst: X509_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:218,1
    - Dst: OSSL_CRMF_CERTID_get0_issuer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:225,1
    - Dst: OSSL_CRMF_CERTID_get0_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:231,1
    - Dst: X509_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:238,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:254,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:191,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:186,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:208,1
    - Dst: X509_NAME_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:225,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:241,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:256,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:230,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:221,1
    - Dst: X509_chain_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:244,1
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:203,1
    - Dst: OSSL_CRMF_MSG_get0_regCtrl_oldCertID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:216,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:232,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:247,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:252,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 88
    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(X509)**
    - STACK_OF(X509)**
    constantsTouched: []
    func_position:
      end: 259
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 259
    functionName: process_cert_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - X509_free
    - OSSL_CMP_MSG_dup
    - ERR_raise
    - X509_dup
    - OSSL_CRMF_CERTID_get0_issuer
    - sk_X509_pop_free
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    - OSSL_CRMF_CERTID_get0_serialNumber
    - X509_get_issuer_name
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_STATUSINFO_new
    - X509_chain_up_ref
    - OSSL_CRMF_MSG_get0_regCtrl_oldCertID
    - OSSL_CMP_PKISI_dup
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: OSSL_CMP_PKISI*
    signature: 'static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,
      const OSSL_CMP_MSG *cert_req, ossl_unused int certReqId, const OSSL_CRMF_MSG
      *crm, const X509_REQ *p10cr, X509 **certOut, STACK_OF(X509) **chainOut, STACK_OF(X509)
      **caPubs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:298,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:307,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:305,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:306,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:301,1
    - Dst: sk_OSSL_CMP_ITAV_deep_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - srv_ctx
    - genm
    - in
    - out
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - STACK_OF(OSSL_CMP_ITAV)*
    - STACK_OF(OSSL_CMP_ITAV)**
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: process_genm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - sk_OSSL_CMP_ITAV_num
    - ERR_raise
    - sk_OSSL_CMP_ITAV_deep_copy
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int process_genm(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *genm, const STACK_OF(OSSL_CMP_ITAV) *in, STACK_OF(OSSL_CMP_ITAV) **out) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:368,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:372,1
    - Dst: X509_digest_sig
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:382,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:376,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:378,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:384,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:385,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:386,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:389,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    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*
    constantsTouched: []
    func_position:
      end: 391
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 391
    functionName: process_certConf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - X509_digest_sig
    - ERR_raise
    - ASN1_OCTET_STRING_cmp
    - ASN1_OCTET_STRING_free
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: 'static int process_certConf(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *certConf, ossl_unused int certReqId, const ASN1_OCTET_STRING *certHash, const
      OSSL_CMP_PKISI *si) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:432,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:436,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:442,1
    - Dst: mock_srv_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:433,1
    - Dst: mock_srv_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 444
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 444
    functionName: ossl_cmp_mock_srv_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_SRV_CTX_new
    - OSSL_CMP_SRV_CTX_init
    - mock_srv_ctx_new
    - mock_srv_ctx_free
    - OSSL_CMP_SRV_CTX_free
    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/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:449,1
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:449,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: ossl_cmp_mock_srv_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/cmp_mock_srv.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_SRV_CTX_free
    - mock_srv_ctx_free
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    linkageType: ''
    returnType: void
    signature: 'void ossl_cmp_mock_srv_free(OSSL_CMP_SRV_CTX *srv_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: app_set_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int app_set_propq(const char *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: app_get0_propq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *app_get0_propq(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_provider_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c:37,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c:38,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c:41,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: app_create_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c
    functionUses: []
    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: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: app_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_libctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *app_get0_libctx(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: __union
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: __struct
    signature: '__struct { __union '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys$cancel
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:495,1
    - Dst: sys$cancel
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - astparm
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: SocketPairTimeoutAst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c
    functionUses: []
    functionsReached:
    - sys$cancel
    linkageType: ''
    returnType: void
    signature: 'static void SocketPairTimeoutAst (int astparm) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:311,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:321,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:341,1
    - Dst: sys$bintim
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:358,1
    - Dst: socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:401,1
    - Dst: sys$dassgn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:406,1
    - Dst: sys$setimr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:420,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:426,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:428,1
    - Dst: sys$dassgn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:449,1
    - Dst: sys$dassgn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:469,1
    - Dst: inet_addr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:439,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:444,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:480,1
    - Dst: sys$synch
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:458,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:313,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:342,1
    - Dst: listen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:350,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:371,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:360,1
    - Dst: sys$qio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:384,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:392,1
    - Dst: sys$dassgn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:394,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:403,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:405,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:448,1
    - Dst: socket_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:482,1
    - Dst: sys$cantim
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:478,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:461,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:468,1
    - Dst: $DESCRIPTOR
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:306,1
    - Dst: bind
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:329,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:332,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:356,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:361,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:372,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:393,1
    - Dst: sys$cancel
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:404,1
    - Dst: sys$dassgn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:430,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:437,1
    - Dst: sys$cancel
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:427,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:447,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:463,1
    - Dst: inet_addr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:323,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:331,1
    - Dst: getsockname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:339,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:355,1
    - Dst: sys$assign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:369,1
    - Dst: decc$get_sdc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:379,1
    - Dst: decc$get_sdc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:414,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:429,1
    - Dst: sys$cantim
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:445,1
    - Dst: sys$cancel
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:446,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:467,1
    - Dst: sys$cantim
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:465,1
    - Dst: connect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:442,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 110
    argCount: 4
    argNames:
    - SocketFamily
    - SocketType
    - SocketProtocol
    - SocketPair
    argTypes:
    - int
    - int
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 486
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 486
    functionName: CreateSocketPair
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c
    functionUses: []
    functionsReached:
    - socket
    - socket_fd
    - bind
    - sys$dassgn
    - close
    - sys$assign
    - sys$qio
    - sys$cancel
    - sys$cantim
    - getsockname
    - sys$bintim
    - inet_addr
    - listen
    - connect
    - decc$get_sdc
    - sprintf
    - strlen
    - $DESCRIPTOR
    - sys$setimr
    - LogMessage
    - sys$synch
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int CreateSocketPair (int SocketFamily, int SocketType, int
      SocketProtocol, int *SocketPair) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sys$assign
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:192,1
    - Dst: sys$dassgn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:242,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:183,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:216,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:233,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:254,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:181,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:185,1
    - Dst: CreateSocketPair
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:179,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:197,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:217,1
    - Dst: sys$cancel
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:231,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:215,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:234,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:245,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:253,1
    - Dst: $DESCRIPTOR
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:169,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:196,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:198,1
    - Dst: sys$qio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:205,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:244,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:235,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:246,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:266,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - FunctionCode
    - ReturnSocket
    argTypes:
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 276
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 276
    functionName: TerminalSocket
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c
    functionUses: []
    functionsReached:
    - close
    - sys$assign
    - sys$qio
    - sys$cancel
    - $DESCRIPTOR
    - sys$dassgn
    - CreateSocketPair
    - LogMessage
    linkageType: ''
    returnType: int
    signature: 'int TerminalSocket (int FunctionCode, int *ReturnSocket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:513,1
    - Dst: send
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:518,1
    - Dst: sys$qio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - astparm
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 539
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 539
    functionName: TerminalDeviceAst
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c
    functionUses: []
    functionsReached:
    - strcat
    - sys$qio
    - send
    linkageType: ''
    returnType: int
    signature: 'static int TerminalDeviceAst (int astparm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:558,1
    - Dst: localtime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:564,1
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:578,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:563,1
    - Dst: sprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:569,1
    - Dst: vfprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:579,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:580,1
    - Dst: fsync
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:585,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - msg
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 589
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 589
    functionName: LogMessage
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c
    functionUses: []
    functionsReached:
    - time
    - va_start
    - vfprintf
    - fsync
    - getpid
    - localtime
    - va_end
    - sprintf
    - fileno
    linkageType: ''
    returnType: void
    signature: 'static void LogMessage (char *msg, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:133,1
    - Dst: TerminalSocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:138,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:145,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:140,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:134,1
    - Dst: recv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:146,1
    - Dst: LogMessage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:148,1
    - Dst: TerminalSocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:153,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - argc
    - argv
    - envp
    argTypes:
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 160
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 160
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/vms_term_sock.c
    functionUses: []
    functionsReached:
    - exit
    - recv
    - OPENSSL_strcasecmp
    - TerminalSocket
    - LogMessage
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[], char *envp[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: release_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: 'void release_engine(ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: finish_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: 'int finish_engine(ENGINE *e) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:143,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:147,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:157,1
    - Dst: ENGINE_get_pkey_asn1_meth_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:150,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:144,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - libctx
    - algname
    - e
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 164
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 164
    functionName: get_legacy_pkey_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - ERR_pop_to_mark
    - ENGINE_get_pkey_asn1_meth_str
    - ENGINE_finish
    - ERR_set_mark
    - EVP_PKEY_asn1_get0_info
    linkageType: ''
    returnType: int
    signature: 'int get_legacy_pkey_id(OSSL_LIB_CTX *libctx, const char *algname,
      ENGINE *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: init_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - ENGINE_init
    linkageType: ''
    returnType: int
    signature: 'int init_engine(ENGINE *e) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:48,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:53,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:49,1
    - Dst: ENGINE_register_all_complete
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:50,1
    - Dst: try_load_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:54,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:55,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:56,1
    - Dst: ENGINE_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:60,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:61,1
    - Dst: get_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:62,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:65,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:64,1
    - Dst: ENGINE_set_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:63,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:70,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:66,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:70,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - id
    - methods
    - debug
    argTypes:
    - char*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 74
    functionName: setup_engine_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ENGINE_get_id
    - ENGINE_set_default
    - ERR_print_errors
    - strcmp
    - ENGINE_ctrl
    - ENGINE_by_id
    - try_load_engine
    - ENGINE_register_all_complete
    - ENGINE_free
    - ENGINE_ctrl_cmd
    - get_ui_method
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *setup_engine_methods(const char *id, unsigned int methods,
      int debug) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:110,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:112,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:114,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:119,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:117,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:123,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:125,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:126,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:127,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:128,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - e
    - key_id
    - desc
    argTypes:
    - ENGINE*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 135
    functionName: make_engine_uri
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ENGINE_get_id
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - OPENSSL_malloc
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char *make_engine_uri(ENGINE *e, const char *key_id, const char *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_digest_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:171,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:173,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:174,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: get_digest_from_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - OBJ_sn2nid
    - ENGINE_get_digest_engine
    - EVP_get_digestbyname
    - ENGINE_finish
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *get_digest_from_engine(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_cipher_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:185,1
    - Dst: OBJ_sn2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:185,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:188,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: get_cipher_from_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - ENGINE_get_cipher_engine
    - EVP_get_cipherbyname
    - OBJ_sn2nid
    - ENGINE_finish
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *get_cipher_from_engine(const char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:31,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:33,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:32,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c:34,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - engine
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: try_load_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/engine.c
    functionUses: []
    functionsReached:
    - ENGINE_ctrl_cmd_string
    - ENGINE_by_id
    - ENGINE_free
    linkageType: ''
    returnType: ENGINE*
    signature: 'static ENGINE *try_load_engine(const char *engine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:17,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'int name_cmp(const char * const *a, const char * const *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - name
    - vdata
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: collect_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_push
    linkageType: ''
    returnType: void
    signature: 'void collect_names(const char *name, void *vdata) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:29,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:34,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:39,1
    - Dst: sk_OPENSSL_CSTRING_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:32,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:36,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:40,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c:43,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - out
    - names
    argTypes:
    - BIO*
    - STACK_OF(OPENSSL_CSTRING)*
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: print_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/names.c
    functionUses: []
    functionsReached:
    - sk_OPENSSL_CSTRING_sort
    - BIO_printf
    - sk_OPENSSL_CSTRING_value
    - sk_OPENSSL_CSTRING_num
    linkageType: ''
    returnType: void
    signature: 'void print_names(BIO *out, STACK_OF(OPENSSL_CSTRING) *names) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1198,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1200,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - copy_type
    - arg
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1207
    functionName: set_ext_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'int set_ext_copy(int *copy_type, const char *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1616,1
    - Dst: BN_rand
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1620,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1622,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1630,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - b
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1633
    functionName: rand_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BN_rand
    - BN_free
    - BN_new
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: 'int rand_serial(BIGNUM *b, ASN1_INTEGER *ai) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1218,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1220,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1222,1
    - Dst: X509_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1223,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1221,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1232,1
    - Dst: X509_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1232,1
    - Dst: X509_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1233,1
    - Dst: X509_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1236,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1242,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - x
    - req
    - copy_type
    argTypes:
    - X509*
    - X509_REQ*
    - int
    constantsTouched: []
    func_position:
      end: 1244
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1244
    functionName: copy_extensions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - sk_X509_EXTENSION_pop_free
    - sk_X509_EXTENSION_num
    - X509_delete_ext
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - X509_add_ext
    - X509_get_ext_by_OBJ
    - X509_REQ_get_extensions
    - X509_EXTENSION_free
    linkageType: ''
    returnType: int
    signature: 'int copy_extensions(X509 *x, X509_REQ *req, int copy_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1647,1
    - Dst: fstat
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1653,1
    - Dst: BIO_get_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1652,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1654,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1653,1
    - Dst: TXT_DB_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1660,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1664,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1666,1
    - Dst: app_load_config_quiet
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1668,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1670,1
    - Dst: parse_yesno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1682,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1696,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1684,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1695,1
    - Dst: TXT_DB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1697,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1698,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1680,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1689,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 2
    argNames:
    - dbfile
    - db_attr
    argTypes:
    - char*
    - DB_ATTR*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1700
    functionName: load_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - ERR_clear_error
    - OPENSSL_strdup
    - NCONF_get_string
    - app_load_config_quiet
    - NCONF_free
    - TXT_DB_free
    - app_malloc
    - ERR_print_errors
    - BIO_free_all
    - BIO_snprintf
    - BIO_get_fp
    - ERR_raise_data
    - parse_yesno
    - fstat
    - TXT_DB_read
    - fileno
    linkageType: ''
    returnType: CA_DB*
    signature: 'CA_DB *load_index(const char *dbfile, DB_ATTR *db_attr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2886,1
    - Dst: fileno_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2887
      start: 2884
    functionDepth: 0
    functionLinenumber: 2884
    functionLinenumberEnd: 2887
    functionName: raw_read_stdin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - recv
    - fileno_stdin
    linkageType: ''
    returnType: int
    signature: 'int raw_read_stdin(void *buf, int siz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2325,1
    - Dst: X509_CRL_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2328,1
    - Dst: do_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2327,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - x
    - pkey
    - md
    - sigopts
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - char*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2331
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2331
    functionName: do_X509_CRL_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - do_sign_init
    - X509_CRL_sign_ctx
    linkageType: ''
    returnType: int
    signature: 'int do_X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const char *md,
      STACK_OF(OPENSSL_STRING) *sigopts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default_
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:388,1
    - Dst: app_load_config_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:390,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:391,1
    - Dst: NCONF_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:394,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - filename
    - quiet
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 397
    functionName: app_load_config_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_free
    - app_get0_libctx
    - app_load_config_bio
    - NCONF_new_ex
    - 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/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:404,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:411,1
    - Dst: CONF_modules_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:408,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:410,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:409,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - config
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: app_load_modules
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - NCONF_free
    - app_load_config_quiet
    - ERR_print_errors
    - CONF_modules_load
    linkageType: ''
    returnType: int
    signature: 'int app_load_modules(const CONF *config) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:177,1
    - Dst: SSL_CTX_set_ctlog_list_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - SSL_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: ctx_set_ctlog_list_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_default_verify_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:153,1
    - Dst: SSL_CTX_set_default_verify_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:155,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:163,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:165,1
    - Dst: SSL_CTX_set_default_verify_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:157,1
    - Dst: SSL_CTX_load_verify_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:167,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 7
    argNames:
    - ctx
    - CAfile
    - noCAfile
    - CApath
    - noCApath
    - CAstore
    - noCAstore
    argTypes:
    - SSL_CTX*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: ctx_set_verify_locations
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_default_verify_store
    - SSL_CTX_set_default_verify_dir
    - SSL_CTX_load_verify_file
    - SSL_CTX_set_default_verify_file
    - SSL_CTX_load_verify_store
    - SSL_CTX_load_verify_dir
    linkageType: ''
    returnType: int
    signature: 'int ctx_set_verify_locations(SSL_CTX *ctx, const char *CAfile, int
      noCAfile, const char *CApath, int noCApath, const char *CAstore, int noCAstore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls_suppress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1100,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 2
    argCount: 12
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - desc
    - ppkey
    - ppubkey
    - pparams
    - pcert
    - pcerts
    - pcrl
    - pcrls
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    - EVP_PKEY**
    - EVP_PKEY**
    - EVP_PKEY**
    - X509**
    - STACK_OF(X509)**
    - X509_CRL**
    - STACK_OF(X509_CRL)**
    constantsTouched: []
    func_position:
      end: 1103
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1103
    functionName: load_key_certs_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - load_key_certs_crls_suppress
    linkageType: ''
    returnType: int
    signature: 'int load_key_certs_crls(const char *uri, int format, int maybe_stdin,
      const char *pass, const char *desc, EVP_PKEY **ppkey, EVP_PKEY **ppubkey, EVP_PKEY
      **pparams, X509 **pcert, STACK_OF(X509) **pcerts, X509_CRL **pcrl, STACK_OF(X509_CRL)
      **pcrls) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TXT_DB_create_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1707,1
    - Dst: LHASH_HASH_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1708,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1710,1
    - Dst: LHASH_COMP_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1709,1
    - Dst: TXT_DB_create_index
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1717,1
    - Dst: LHASH_HASH_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1718,1
    - Dst: LHASH_COMP_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1719,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1720,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - db
    argTypes:
    - CA_DB*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1728
    functionName: index_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - LHASH_HASH_FN
    - TXT_DB_create_index
    - ERR_print_errors
    - LHASH_COMP_FN
    linkageType: ''
    returnType: int
    signature: 'int index_index(CA_DB *db) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:222,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:223,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:229,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:227,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pass
    - desc
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: get_passwd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - app_passwd
    linkageType: ''
    returnType: char*
    signature: 'char *get_passwd(const char *pass, const char *desc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1736,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1736,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1747,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1750,1
    - Dst: TXT_DB_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1756,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1773,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1743,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1752,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1764,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1763,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1757,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1738,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1744,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1746,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1761,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1742,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1748,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1753,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1769,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1767,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - dbfile
    - suffix
    - db
    argTypes:
    - char*
    - char*
    - CA_DB*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1775
    functionName: save_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_new_file
    - perror
    - BIO_free
    - ERR_print_errors
    - TXT_DB_write
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int save_index(const char *dbfile, const char *suffix, CA_DB *db) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: times
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2785,1
    - Dst: sysconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2799
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2799
    functionName: app_tminterval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - times
    - sysconf
    linkageType: ''
    returnType: double
    signature: 'double app_tminterval(int stop, int usertime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2876,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2880
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2880
    functionName: raw_read_stdin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - ReadFile
    - GetStdHandle
    linkageType: ''
    returnType: int
    signature: 'int raw_read_stdin(void *buf, int siz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:629,1
    - Dst: app_bail_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:632,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: app_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - app_bail_out
    - opt_getprog
    - OPENSSL_malloc
    linkageType: ''
    returnType: void*
    signature: 'void *app_malloc(size_t sz, const char *what) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:640,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:646,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:640,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: next_item
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - isspace
    - _UC
    linkageType: ''
    returnType: char*
    signature: 'char *next_item(char *opt) /* in list separated by comma and/or space
      */ '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:100,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:130,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:105,1
    - Dst: OPENSSL_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:114,1
    - Dst: isspace
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:105,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:130,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 2
    argNames:
    - arg
    - buf
    argTypes:
    - ARGS*
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 138
    functionName: chopup_args
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_realloc
    - isspace
    - _UC
    - app_malloc
    linkageType: ''
    returnType: int
    signature: 'int chopup_args(ARGS *arg, char *buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1299,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1311,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1312,1
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1310,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1304,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1313,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1316,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1317,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - out
    - title
    - nm
    argTypes:
    - BIO*
    - char*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 1320
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1320
    functionName: print_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - X509_NAME_print_ex
    - X509_NAME_oneline
    - get_nameopt
    - OPENSSL_free
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'void print_name(BIO *out, const char *title, const X509_NAME *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1453
    functionName: index_name_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int index_name_cmp(const OPENSSL_CSTRING *a, const OPENSSL_CSTRING
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2533,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - APP_HTTP_TLS_INFO*
    constantsTouched: []
    func_position:
      end: 2536
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2536
    functionName: APP_HTTP_TLS_INFO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void APP_HTTP_TLS_INFO_free(APP_HTTP_TLS_INFO *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2969,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2973,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2970,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2973,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2972,1
    - Dst: BIO_f_linebuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2976
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2976
    functionName: dup_bio_err
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_f_linebuffer
    - FMT_istext
    - BIO_push
    - BIO_new_fp
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *dup_bio_err(int format) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1325,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1327,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1333,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1326,1
    - Dst: BN_bn2bin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1331,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1335,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1337,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - out
    - in
    - var
    - len
    - buffer
    argTypes:
    - BIO*
    - BIGNUM*
    - char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1341
    functionName: print_bignum_var
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BN_is_zero
    - BN_bn2bin
    linkageType: ''
    returnType: void
    signature: 'void print_bignum_var(BIO *out, const BIGNUM *in, const char *var,
      int len, unsigned char *buffer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1469,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1478,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1511,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1510,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1488,1
    - Dst: IMPLEMENT_LHASH_COMP_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1458,1
    - Dst: load_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1461,1
    - Dst: a2i_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1492,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1499,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1512,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1493,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1486,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1497,1
    - Dst: IMPLEMENT_LHASH_HASH_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1457,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1473,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1484,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1481,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1482,1
    - Dst: rand_serial
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1485,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - index_serial
    - OPENSSL_CSTRING
    argTypes:
    - index_serial
    - OPENSSL_CSTRING
    constantsTouched: []
    func_position:
      end: 1514
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1514
    functionName: IMPLEMENT_LHASH_COMP_FN
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - IMPLEMENT_LHASH_HASH_FN
    - BIO_new_file
    - perror
    - ERR_clear_error
    - BIO_printf
    - BIO_free
    - ERR_print_errors
    - ASN1_INTEGER_to_BN
    - BN_new
    - rand_serial
    - load_serial
    - BN_free
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - IMPLEMENT_LHASH_COMP_FN
    - a2i_ASN1_INTEGER
    linkageType: ''
    returnType: IMPLEMENT_LHASH_HASH_FN(index_serial, OPENSSL_CSTRING)
    signature: 'static IMPLEMENT_LHASH_HASH_FN(index_serial, OPENSSL_CSTRING) static
      IMPLEMENT_LHASH_COMP_FN(index_serial, OPENSSL_CSTRING)static IMPLEMENT_LHASH_HASH_FN(index_name,
      OPENSSL_CSTRING)static IMPLEMENT_LHASH_COMP_FN(index_name, OPENSSL_CSTRING)#undef
      BSIZE#define BSIZE 256BIGNUM *load_serial(const char *serialfile, int *exists,
      int create, ASN1_INTEGER **retai) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2552,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2565,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2573,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2560,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2556,1
    - Dst: OSSL_HTTP_get
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2576,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2580,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2581,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2584,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2585,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 8
    argNames:
    - url
    - proxy
    - no_proxy
    - ssl_ctx
    - headers
    - timeout
    - expected_content_type
    - it
    argTypes:
    - char*
    - char*
    - char*
    - SSL_CTX*
    - STACK_OF(CONF_VALUE)*
    - long
    - char*
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 2588
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2588
    functionName: app_http_get_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_HTTP_get
    - OSSL_HTTP_adapt_proxy
    - BIO_free
    - OPENSSL_free
    - ERR_raise_data
    - ASN1_item_d2i_bio
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *app_http_get_asn1(const char *url, const char *proxy,
      const char *no_proxy, SSL_CTX *ssl_ctx, const STACK_OF(CONF_VALUE) *headers,
      long timeout, const char *expected_content_type, const ASN1_ITEM *it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2917,1
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2918
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2918
    functionName: raw_write_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - write
    - fileno
    linkageType: ''
    returnType: int
    signature: 'int raw_write_stdout(const void *buf,int siz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 2995
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 2995
    functionName: unbuffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - setbuf
    linkageType: ''
    returnType: void
    signature: 'void unbuffer(FILE *fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2054,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2056,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2057,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2059,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2058,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2062,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - name
    - nodes
    argTypes:
    - char*
    - STACK_OF(X509_POLICY_NODE)*
    constantsTouched: []
    func_position:
      end: 2064
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2064
    functionName: nodes_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_X509_POLICY_NODE_num
    - X509_POLICY_NODE_print
    - sk_X509_POLICY_NODE_value
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'static void nodes_print(const char *name, STACK_OF(X509_POLICY_NODE)
      *nodes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_req_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2357,1
    - Dst: X509_REQ_verify_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2358,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2359,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - x
    - pkey
    - vfyopts
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2363
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2363
    functionName: do_X509_REQ_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - app_get0_propq
    - do_x509_req_init
    - app_get0_libctx
    - X509_REQ_verify_ex
    linkageType: ''
    returnType: int
    signature: 'int do_X509_REQ_verify(X509_REQ *x, EVP_PKEY *pkey, STACK_OF(OPENSSL_STRING)
      *vfyopts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get0_policy_tree
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2070,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2073,1
    - Dst: nodes_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2076,1
    - Dst: X509_STORE_CTX_get_explicit_policy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2071,1
    - Dst: X509_policy_tree_get0_policies
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2076,1
    - Dst: nodes_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2077,1
    - Dst: X509_policy_tree_get0_user_policies
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 2078
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2078
    functionName: policies_print
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_policy_tree_get0_policies
    - nodes_print
    - X509_STORE_CTX_get_explicit_policy
    - X509_policy_tree_get0_user_policies
    - X509_STORE_CTX_get0_policy_tree
    linkageType: ''
    returnType: void
    signature: 'void policies_print(X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - mesgwin
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: app_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int app_init(long mesgwin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2341,1
    - Dst: X509_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - x
    - pkey
    - vfyopts
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2346
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2346
    functionName: do_X509_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - do_x509_init
    - X509_verify
    linkageType: ''
    returnType: int
    signature: 'int do_X509_verify(X509 *x, EVP_PKEY *pkey, STACK_OF(OPENSSL_STRING)
      *vfyopts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:204,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:204,1
    - Dst: print_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:205,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - BIO*
    - X509*
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: dump_cert_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - X509_get_issuer_name
    - print_name
    - X509_get_subject_name
    linkageType: ''
    returnType: void
    signature: 'void dump_cert_text(BIO *out, X509 *x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:421,1
    - Dst: NCONF_get_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:425,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:430,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:426,1
    - Dst: NCONF_get_section
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:429,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:433,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:434,1
    - Dst: OBJ_create
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:435,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: add_oid_section
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_clear_error
    - NCONF_get_string
    - OBJ_create
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - NCONF_get_section
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'int add_oid_section(CONF *conf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:515,1
    - Dst: print_format_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:524,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:528,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:522,1
    - Dst: d2i_X509_REQ_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:520,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:529,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:531,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - file
    - format
    - desc
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 533
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 533
    functionName: load_csr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_free
    - print_format_error
    - ERR_print_errors
    - bio_open_default
    - d2i_X509_REQ_bio
    - PEM_read_bio_X509_REQ
    linkageType: ''
    returnType: X509_REQ*
    signature: 'X509_REQ *load_csr(const char *file, int format, const char *desc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2376,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2377,1
    - Dst: GENERAL_NAME_get0_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2378,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2379,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2380,1
    - Dst: IS_HTTP
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2382,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - dp
    argTypes:
    - DIST_POINT*
    constantsTouched: []
    func_position:
      end: 2387
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2387
    functionName: get_dp_url
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - sk_GENERAL_NAME_num
    - IS_HTTP
    - ASN1_STRING_length
    - GENERAL_NAME_get0_value
    - ASN1_STRING_get0_data
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_dp_url(DIST_POINT *dp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2999,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3005,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3003,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3007,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - mode
    - format
    argTypes:
    - char
    - int
    constantsTouched: []
    func_position:
      end: 3011
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3011
    functionName: modestr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    - FMT_istext
    linkageType: ''
    returnType: char*
    signature: 'static const char *modestr(char mode, int format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: password_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsiz
    - verify
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: wrap_password_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - password_callback
    linkageType: ''
    returnType: int
    signature: 'int wrap_password_callback(char *buf, int bufsiz, int verify, void
      *userdata) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config_verbose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:449,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:452,1
    - Dst: app_load_modules
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - configfile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 457
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 457
    functionName: app_load_config_modules
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - NCONF_free
    - app_load_config_verbose
    - app_load_modules
    linkageType: ''
    returnType: CONF*
    signature: 'CONF *app_load_config_modules(const char *configfile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:538,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: cleanse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void cleanse(char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2870
      start: 2867
    functionDepth: 0
    functionLinenumber: 2867
    functionLinenumberEnd: 2870
    functionName: fileno_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: 'int fileno_stdout(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 3024
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3024
    functionName: modeverb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *modeverb(char mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3292,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3294,1
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3296
      start: 3287
    functionDepth: 0
    functionLinenumber: 3287
    functionLinenumberEnd: 3296
    functionName: opt_printf_stderr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int opt_printf_stderr(const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_provider_option_given
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3390,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3391,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3399
      start: 3388
    functionDepth: 0
    functionLinenumber: 3388
    functionLinenumberEnd: 3399
    functionName: opt_legacy_okay
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - app_get0_propq
    - opt_provider_option_given
    - app_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'int opt_legacy_okay(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3177,1
    - Dst: PeekConsoleInput
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3187,1
    - Dst: feof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3190,1
    - Dst: _kbhit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3197
      start: 3174
    functionDepth: 0
    functionLinenumber: 3174
    functionLinenumberEnd: 3197
    functionName: has_stdin_waiting
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - PeekConsoleInput
    - _kbhit
    - GetStdHandle
    - feof
    linkageType: ''
    returnType: int
    signature: 'int has_stdin_waiting(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1347,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1354,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1350,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1356,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - out
    - title
    - len
    - d
    argTypes:
    - BIO*
    - char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1357
    functionName: print_array
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: 'void print_array(BIO *out, const char* title, int len, const unsigned
      char* d) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1794,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1801,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1813,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1799,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1810,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1816,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1826,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1832,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1834,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1784,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1784,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1793,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1795,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1800,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1802,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1827,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1833,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1835,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1783,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1788,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1783,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1796,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1798,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1814,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1819,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1824,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1840,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1792,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1809,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1804,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1815,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1825,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1830,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1831,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 3
    argNames:
    - dbfile
    - new_suffix
    - old_suffix
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1842
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1842
    functionName: rotate_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - perror
    - ERR_print_errors
    - BIO_snprintf
    - rename
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int rotate_index(const char *dbfile, const char *new_suffix, const
      char *old_suffix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2312,1
    - Dst: do_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2314,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2316,1
    - Dst: X509_REQ_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - x
    - pkey
    - md
    - sigopts
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - char*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2318
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2318
    functionName: do_X509_REQ_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - do_sign_init
    - X509_REQ_sign_ctx
    linkageType: ''
    returnType: int
    signature: 'int do_X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const char *md,
      STACK_OF(OPENSSL_STRING) *sigopts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3355,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3359,1
    - Dst: RAND_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3361,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3357,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3362,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3364,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3365,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - alg
    - bits
    - verbose
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3368
      start: 3350
    functionDepth: 0
    functionLinenumber: 3350
    functionLinenumberEnd: 3368
    functionName: app_keygen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - RAND_status
    - opt_getprog
    - EVP_PKEY_keygen
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *app_keygen(EVP_PKEY_CTX *ctx, const char *alg, int bits,
      int verbose) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TXT_DB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1847,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1848,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - CA_DB*
    constantsTouched: []
    func_position:
      end: 1851
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1851
    functionName: free_index
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - TXT_DB_free
    linkageType: ''
    returnType: void
    signature: 'void free_index(CA_DB *db) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1372,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1388,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1397,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1402,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1415,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1363,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1366,1
    - Dst: X509_STORE_add_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1388,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1393,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1407,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1416,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1365,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1378,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1405,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1412,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1392,1
    - Dst: X509_LOOKUP_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1372,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1376,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1382,1
    - Dst: X509_LOOKUP_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1402,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 53
    argCount: 6
    argNames:
    - CAfile
    - noCAfile
    - CApath
    - noCApath
    - CAstore
    - noCAstore
    argTypes:
    - char*
    - int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1418
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1418
    functionName: setup_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - BIO_printf
    - X509_STORE_add_lookup
    - ERR_clear_error
    - X509_LOOKUP_load_file_ex
    - ERR_print_errors
    - app_get0_propq
    - X509_LOOKUP_add_dir
    - app_get0_libctx
    - X509_LOOKUP_file
    - X509_STORE_free
    - X509_LOOKUP_add_store_ex
    - X509_LOOKUP_hash_dir
    - X509_LOOKUP_store
    linkageType: ''
    returnType: X509_STORE*
    signature: 'X509_STORE *setup_verify(const char *CAfile, int noCAfile, const char
      *CApath, int noCApath, const char *CAstore, int noCAstore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TerminalSocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2854,1
    - Dst: atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2859
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2859
    functionName: fileno_stdin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - TerminalSocket
    - atexit
    linkageType: ''
    returnType: int
    signature: 'int fileno_stdin(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3374,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3375,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3377,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3378,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 3381
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3381
    functionName: app_paramgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_DIST_POINT_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2398,1
    - Dst: get_dp_url
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2400,1
    - Dst: load_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2402,1
    - Dst: sk_DIST_POINT_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - crldp
    argTypes:
    - STACK_OF(DIST_POINT)*
    constantsTouched: []
    func_position:
      end: 2405
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2405
    functionName: load_crl_crldp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - load_crl
    - sk_DIST_POINT_value
    - get_dp_url
    - sk_DIST_POINT_num
    linkageType: ''
    returnType: X509_CRL*
    signature: 'static X509_CRL *load_crl_crldp(STACK_OF(DIST_POINT) *crldp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTTPS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:471,1
    - Dst: X509_load_http
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:474,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:472,1
    - Dst: load_key_certs_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:476,1
    - Dst: IS_HTTP
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:473,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:479,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:480,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 483
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 483
    functionName: load_cert_pass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - IS_HTTP
    - ERR_print_errors
    - load_key_certs_crls
    - IS_HTTPS
    - X509_load_http
    linkageType: ''
    returnType: X509*
    signature: 'X509 *load_cert_pass(const char *uri, int format, int maybe_stdin,
      const char *pass, const char *desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_keyparams_suppress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - uri
    - format
    - maybe_stdin
    - keytype
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 614
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 614
    functionName: load_keyparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - load_keyparams_suppress
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *load_keyparams(const char *uri, int format, int maybe_stdin,
      const char *keytype, const char *desc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3038,1
    - Dst: open
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3068,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3041,1
    - Dst: open
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3065,1
    - Dst: bio_open_default
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3039,1
    - Dst: fdopen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3071,1
    - Dst: modestr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3071,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3074,1
    - Dst: modestr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3074,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3081,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3087,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3091,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3088,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3087,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3086,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - format
    - private
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3097
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3097
    functionName: bio_open_owner
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - modestr
    - open
    - ERR_print_errors
    - strcmp
    - FMT_istext
    - strerror
    - fdopen
    - bio_open_default
    - fopen
    - BIO_new_fp
    - opt_getprog
    - fclose
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *bio_open_owner(const char *filename, int format, int private) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3302,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3310,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3315,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3317,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3316,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3323,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3324,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3326,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3328,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3331,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3332,1
    - Dst: app_params_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3335,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3334,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - opts
    - paramdefs
    argTypes:
    - STACK_OF(OPENSSL_STRING)*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 3337
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3337
    functionName: app_params_new_from_opts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - app_params_free
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - strchr
    - OPENSSL_free
    - OPENSSL_zalloc
    - OSSL_PARAM_allocate_from_text
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'OSSL_PARAM *app_params_new_from_opts(STACK_OF(OPENSSL_STRING) *opts,
      const OSSL_PARAM *paramdefs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTTPS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:492,1
    - Dst: X509_CRL_load_http
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:495,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:493,1
    - Dst: IS_HTTP
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:494,1
    - Dst: load_key_certs_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:497,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:500,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:501,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - uri
    - format
    - maybe_stdin
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 504
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 504
    functionName: load_crl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - IS_HTTP
    - ERR_print_errors
    - load_key_certs_crls
    - IS_HTTPS
    - X509_CRL_load_http
    linkageType: ''
    returnType: X509_CRL*
    signature: 'X509_CRL *load_crl(const char *uri, int format, int maybe_stdin, const
      char *desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:620,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:624,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:623,1
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:621,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: app_bail_out
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_vprintf
    - ERR_print_errors
    - exit
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void app_bail_out(char *fmt, ...) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrusage
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2813,1
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2815,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2824
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2824
    functionName: app_tminterval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - gettimeofday
    - getrusage
    linkageType: ''
    returnType: double
    signature: 'double app_tminterval(int stop, int usertime) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3104,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3112,1
    - Dst: dup_bio_in
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3105,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3107,1
    - Dst: dup_bio_out
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3105,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3114,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3116,1
    - Dst: modestr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3116,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3118,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3123,1
    - Dst: modeverb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3125,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3127,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - filename
    - mode
    - format
    - quiet
    argTypes:
    - char*
    - char
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3129
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3129
    functionName: bio_open_default_
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - dup_bio_in
    - ERR_clear_error
    - BIO_new_file
    - modestr
    - modeverb
    - ERR_print_errors
    - strcmp
    - strerror
    - dup_bio_out
    linkageType: ''
    returnType: BIO*
    signature: 'static BIO *bio_open_default_(const char *filename, char mode, int
      format, int quiet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3345,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 3348
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3348
    functionName: app_params_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void app_params_free(OSSL_PARAM *params) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2483,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2493,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2497,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2502,1
    - Dst: BIO_ssl_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2520,1
    - Dst: tls_error_hint
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2514,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2496,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2504,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2522,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2505,1
    - Dst: X509_STORE_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2484,1
    - Dst: X509_VERIFY_PARAM_get0_host
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2486,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2493,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2521,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2519,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2492,1
    - Dst: OSSL_HTTP_proxy_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2490,1
    - Dst: ERR_add_error_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2516,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2507,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2523,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 4
    argNames:
    - bio
    - arg
    - connect
    - detail
    argTypes:
    - BIO*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2528
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2528
    functionName: app_http_tls_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - X509_STORE_get0_param
    - BIO_free
    - ERR_set_mark
    - BIO_new
    - SSL_new
    - OSSL_HTTP_proxy_connect
    - tls_error_hint
    - SSL_CTX_get_cert_store
    - BIO_f_ssl
    - X509_VERIFY_PARAM_get0_host
    - BIO_pop
    - SSL_set_connect_state
    - ERR_add_error_data
    - ERR_pop_to_mark
    - BIO_ssl_shutdown
    - BIO_set_ssl
    - BIO_push
    - SSL_set_tlsext_host_name
    - opt_getprog
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *app_http_tls_cb(BIO *bio, void *arg, int connect, int detail) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:654,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:654,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:656,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - uri
    - cert
    - msg
    argTypes:
    - char*
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 659
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 659
    functionName: warn_cert_msg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - X509_NAME_oneline
    - X509_get_subject_name
    linkageType: ''
    returnType: void
    signature: 'static void warn_cert_msg(const char *uri, X509 *cert, const char
      *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:803,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - uri
    - maybe_stdin
    - certs
    - pass
    - desc
    argTypes:
    - char*
    - int
    - STACK_OF(X509)**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: load_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - load_key_certs_crls
    - sk_X509_pop_free
    linkageType: ''
    returnType: int
    signature: 'int load_certs(const char *uri, int maybe_stdin, STACK_OF(X509) **certs,
      const char *pass, const char *desc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:822,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:827,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - uri
    - crls
    - pass
    - desc
    argTypes:
    - char*
    - STACK_OF(X509_CRL)**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 831
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 831
    functionName: load_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - load_key_certs_crls
    - sk_X509_CRL_pop_free
    linkageType: ''
    returnType: int
    signature: 'int load_crls(const char *uri, STACK_OF(X509_CRL) **crls, const char
      *pass, const char *desc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2416,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2420,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2424,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2423,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2418,1
    - Dst: load_crl_crldp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2425,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2426,1
    - Dst: sk_X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2428,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2431,1
    - Dst: X509_get_ext_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2433,1
    - Dst: load_crl_crldp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2434,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2437,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    constantsTouched: []
    func_position:
      end: 2439
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2439
    functionName: crls_http_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - X509_STORE_CTX_get_current_cert
    - sk_X509_CRL_free
    - sk_DIST_POINT_pop_free
    - X509_get_ext_d2i
    - load_crl_crldp
    - sk_X509_CRL_push
    - sk_X509_CRL_new_null
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF(X509_CRL)*
    signature: 'static STACK_OF(X509_CRL) *crls_http_cb(const X509_STORE_CTX *ctx,
      const X509_NAME *nm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - signature
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 3205
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3205
    functionName: corrupt_signature
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void corrupt_signature(const ASN1_STRING *signature) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3230,1
    - Dst: X509_CRL_set1_lastUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3243,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3236,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3248,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3239,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - crl
    - lastupdate
    argTypes:
    - X509_CRL*
    - char*
    constantsTouched: []
    func_position:
      end: 3250
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3250
    functionName: set_crl_lastupdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_free
    - X509_gmtime_adj
    - X509_CRL_set1_lastUpdate
    - ASN1_TIME_set_string_X509
    - ASN1_TIME_new
    linkageType: ''
    returnType: int
    signature: 'int set_crl_lastupdate(X509_CRL *crl, const char *lastupdate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:664,1
    - Dst: warn_cert_msg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:669,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:666,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:665,1
    - Dst: X509_cmp_timeframe
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:665,1
    - Dst: warn_cert_msg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:671,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - uri
    - cert
    - warn_EE
    - vpm
    argTypes:
    - char*
    - X509*
    - int
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 672
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 672
    functionName: warn_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - warn_cert_msg
    - X509_get0_notAfter
    - X509_cmp_timeframe
    - X509_get_extension_flags
    - X509_get0_notBefore
    linkageType: ''
    returnType: void
    signature: 'static void warn_cert(const char *uri, X509 *cert, int warn_EE, X509_VERIFY_PARAM
      *vpm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 842
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 842
    functionName: format2string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *format2string(int format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_set_lookup_crls_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 2444
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2444
    functionName: store_setup_crl_download
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - X509_STORE_set_lookup_crls_cb
    linkageType: ''
    returnType: void
    signature: 'void store_setup_crl_download(X509_STORE *st) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3210,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3214,1
    - Dst: X509_getm_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3211,1
    - Dst: X509_getm_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3214,1
    - Dst: X509_gmtime_adj
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3211,1
    - Dst: X509_time_adj_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3218,1
    - Dst: X509_getm_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3218,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3221,1
    - Dst: X509_getm_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - x
    - startdate
    - enddate
    - days
    argTypes:
    - X509*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3225
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3225
    functionName: set_cert_times
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - strcmp
    - X509_gmtime_adj
    - X509_time_adj_ex
    - ASN1_TIME_set_string_X509
    - X509_getm_notAfter
    - X509_getm_notBefore
    linkageType: ''
    returnType: int
    signature: 'int set_cert_times(X509 *x, const char *startdate, const char *enddate,
      int days) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3256,1
    - Dst: ASN1_TIME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3274,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3265,1
    - Dst: X509_CRL_set1_nextUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3269,1
    - Dst: X509_time_adj_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - crl
    - nextupdate
    - days
    - hours
    - secs
    argTypes:
    - X509_CRL*
    - char*
    - long
    - long
    - long
    constantsTouched: []
    func_position:
      end: 3276
      start: 3252
    functionDepth: 0
    functionLinenumber: 3252
    functionLinenumberEnd: 3276
    functionName: set_crl_nextupdate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - ASN1_TIME_free
    - X509_time_adj_ex
    - X509_CRL_set1_nextUpdate
    - ASN1_TIME_set_string_X509
    - ASN1_TIME_new
    linkageType: ''
    returnType: int
    signature: 'int set_crl_nextupdate(X509_CRL *crl, const char *nextupdate, long
      days, long hours, long secs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:775,1
    - Dst: next_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:778,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:782,1
    - Dst: load_cert_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:781,1
    - Dst: sk_X509_to_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:785,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - input
    - pass
    - desc
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 793
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 793
    functionName: load_certstore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - load_cert_certs
    - sk_X509_pop_free
    - next_item
    - sk_X509_to_store
    - X509_STORE_free
    - STACK_OF
    linkageType: ''
    returnType: X509_STORE*
    signature: 'X509_STORE *load_certstore(char *input, const char *pass, const char
      *desc, X509_VERIFY_PARAM *vpm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: set_nameopt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - set_name_ex
    linkageType: ''
    returnType: int
    signature: 'int set_nameopt(const char *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2245,1
    - Dst: X509V3_EXT_nconf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2246,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2252,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2252,1
    - Dst: X509v3_get_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2254,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2255,1
    - Dst: ASN1_STRING_length
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2256,1
    - Dst: X509_delete_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2259,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2260,1
    - Dst: X509_add_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2264,1
    - Dst: X509_EXTENSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2266,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - cert
    - ext_ctx
    - name
    - value
    - add_default
    argTypes:
    - X509*
    - X509V3_CTX*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2268
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2268
    functionName: adapt_keyid_ext
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - ASN1_STRING_length
    - X509_delete_ext
    - X509V3_EXT_nconf
    - X509_EXTENSION_get_object
    - X509_add_ext
    - X509v3_get_ext
    - X509_get0_extensions
    - X509v3_get_ext_by_OBJ
    - X509_EXTENSION_free
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: int
    signature: 'static int adapt_keyid_ext(X509 *cert, X509V3_CTX *ext_ctx, const
      char *name, const char *value, int add_default) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_all_async_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3151,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3155,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3161,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3157,1
    - Dst: SSL_get_all_async_fds
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3156,1
    - Dst: openssl_fdset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3165,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3167,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 3170
      start: 3141
    functionDepth: 0
    functionLinenumber: 3141
    functionLinenumberEnd: 3170
    functionName: wait_for_async
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - app_malloc
    - openssl_fdset
    - OPENSSL_free
    - SSL_get_all_async_fds
    - FD_ZERO
    - select
    linkageType: ''
    returnType: void
    signature: 'void wait_for_async(SSL *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: get_nameopt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long get_nameopt(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2601,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2621,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2620,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2610,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2613,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2622,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    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(CONF_VALUE)*
    - char*
    - ASN1_VALUE*
    - ASN1_ITEM*
    - char*
    - long
    - ASN1_ITEM*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2624
    functionName: app_http_post_asn1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OSSL_HTTP_adapt_proxy
    - BIO_free
    - ASN1_item_i2d_mem_bio
    - OSSL_HTTP_transfer
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: ASN1_VALUE*
    signature: 'ASN1_VALUE *app_http_post_asn1(const char *host, const char *port,
      const char *path, const char *proxy, const char *no_proxy, SSL_CTX *ssl_ctx,
      const STACK_OF(CONF_VALUE) *headers, const char *content_type, ASN1_VALUE *req,
      const ASN1_ITEM *req_it, const char *expected_content_type, long timeout, const
      ASN1_ITEM *rsp_it) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2896,1
    - Dst: fileno_stdin
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2897
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2897
    functionName: raw_read_stdin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - read
    - fileno_stdin
    linkageType: ''
    returnType: int
    signature: 'int raw_read_stdin(void *buf, int siz) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_winnt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2703,1
    - Dst: OpenProcess
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2704,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2719,1
    - Dst: GetProcessTimes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2712,1
    - Dst: GetCurrentProcessId
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2705,1
    - Dst: GetSystemTime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2723,1
    - Dst: SystemTimeToFileTime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2724,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2740
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2740
    functionName: app_tminterval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - GetProcessTimes
    - SystemTimeToFileTime
    - GetSystemTime
    - GetCurrentProcessId
    - check_winnt
    - OpenProcess
    linkageType: ''
    returnType: double
    signature: 'double app_tminterval(int stop, int usertime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2904,1
    - Dst: GetStdHandle
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2908
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 2908
    functionName: raw_write_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - WriteFile
    - GetStdHandle
    linkageType: ''
    returnType: int
    signature: 'int raw_write_stdout(const void *buf, int siz) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1526,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1530,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1528,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1535,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1528,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1538,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1540,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1543,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1548,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1549,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1552,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1561,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1553,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1562,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 4
    argNames:
    - serialfile
    - suffix
    - serial
    - retai
    argTypes:
    - char*
    - char*
    - BIGNUM*
    - ASN1_INTEGER**
    constantsTouched: []
    func_position:
      end: 1565
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1565
    functionName: save_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_new_file
    - BIO_free_all
    - ERR_print_errors
    - OPENSSL_strlcpy
    - BIO_snprintf
    - BN_to_ASN1_INTEGER
    - i2a_ASN1_INTEGER
    - BIO_puts
    - ASN1_INTEGER_free
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int save_serial(const char *serialfile, const char *suffix, const
      BIGNUM *serial, ASN1_INTEGER **retai) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:720,1
    - Dst: load_cert_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:730,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:720,1
    - Dst: next_item
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:728,1
    - Dst: X509_add_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:732,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:735,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:742,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:744,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:745,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 4
    argNames:
    - files
    - pass
    - desc
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 747
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 747
    functionName: load_certs_multifile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - load_cert_certs
    - sk_X509_pop_free
    - next_item
    - STACK_OF
    - sk_X509_new_null
    - X509_add_certs
    linkageType: ''
    returnType: STACK_OF(X509)*
    signature: 'STACK_OF(X509) *load_certs_multifile(char *files, const char *pass,
      const char *desc, X509_VERIFY_PARAM *vpm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2940,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2942
      start: 2938
    functionDepth: 0
    functionLinenumber: 2938
    functionLinenumberEnd: 2942
    functionName: dup_bio_in
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_new_fp
    - FMT_istext
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *dup_bio_in(int format) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:755,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:760,1
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:758,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:759,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:759,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - store
    - /* may be NULL */
    - certs
    - /* may NULL */
    argTypes:
    - X509_STORE*
    - STACK_OF(X509)*
    constantsTouched: []
    func_position:
      end: 765
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 765
    functionName: sk_X509_to_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - sk_X509_num
    - X509_STORE_add_cert
    - X509_STORE_free
    - sk_X509_value
    linkageType: ''
    returnType: X509_STORE*
    signature: 'static X509_STORE *sk_X509_to_store(X509_STORE *store /* may be NULL
      */, const STACK_OF(X509) *certs /* may NULL */) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1573,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1578,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1574,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1574,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1573,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1582,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1583,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1585,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1586,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1588,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1595,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1602,1
    - Dst: perror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1601,1
    - Dst: rename
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1598,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1593,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1607,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1599,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - serialfile
    - new_suffix
    - old_suffix
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1609
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1609
    functionName: rotate_serial
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - perror
    - ERR_print_errors
    - BIO_snprintf
    - rename
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int rotate_serial(const char *serialfile, const char *new_suffix,
      const char *old_suffix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2927,1
    - Dst: fileno_stdout
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2928
      start: 2925
    functionDepth: 0
    functionLinenumber: 2925
    functionLinenumberEnd: 2928
    functionName: raw_write_stdout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - fileno_stdout
    - write
    linkageType: ''
    returnType: int
    signature: 'int raw_write_stdout(const void *buf, int siz) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2946,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2947,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2955,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2955,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2954,1
    - Dst: BIO_f_linebuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2955,1
    - Dst: FMT_istext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2958,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2959,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2960,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2960,1
    - Dst: BIO_set_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2961,1
    - Dst: BIO_f_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2960,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2965
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2965
    functionName: dup_bio_out
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_f_linebuffer
    - FMT_istext
    - BIO_push
    - getenv
    - BIO_set_prefix
    - BIO_new_fp
    - BIO_new
    - BIO_f_prefix
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *dup_bio_out(int format) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_extensions
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2274,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2279,1
    - Dst: adapt_keyid_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2289,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2275,1
    - Dst: X509_set_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2281,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2292,1
    - Dst: X509_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2293,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2294,1
    - Dst: adapt_keyid_ext
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2295,1
    - Dst: do_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2300,1
    - Dst: X509_sign_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2301,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2303,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 5
    argNames:
    - cert
    - pkey
    - md
    - sigopts
    - ext_ctx
    argTypes:
    - X509*
    - EVP_PKEY*
    - char*
    - STACK_OF(OPENSSL_STRING)*
    - X509V3_CTX*
    constantsTouched: []
    func_position:
      end: 2305
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2305
    functionName: do_X509_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - adapt_keyid_ext
    - X509_set_version
    - EVP_MD_CTX_new
    - sk_X509_EXTENSION_num
    - EVP_MD_CTX_free
    - X509_check_private_key
    - ERR_set_mark
    - X509_get0_extensions
    - X509_sign_ctx
    - do_sign_init
    linkageType: ''
    returnType: int
    signature: 'int do_X509_sign(X509 *cert, EVP_PKEY *pkey, const char *md, STACK_OF(OPENSSL_STRING)
      *sigopts, X509V3_CTX *ext_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:679,1
    - Dst: sk_X509_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:680,1
    - Dst: warn_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - uri
    - certs
    - warn_EE
    - vpm
    argTypes:
    - char*
    - STACK_OF(X509)*
    - int
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: warn_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - sk_X509_num
    - sk_X509_value
    - warn_cert
    linkageType: ''
    returnType: void
    signature: 'static void warn_certs(const char *uri, STACK_OF(X509) *certs, int
      warn_EE, X509_VERIFY_PARAM *vpm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 1443
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1443
    functionName: index_name_qual
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int index_name_qual(char **a) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1997,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2007,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2005,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2012,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1997,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2013,1
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2022,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2023,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2024,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - out
    - maxlen
    - in
    argTypes:
    - unsigned char**
    - int
    - BIO*
    constantsTouched: []
    func_position:
      end: 2026
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2026
    functionName: bio_to_mem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_get_mem_data
    - BIO_write
    - BIO_free
    - BIO_read
    - BIO_set_flags
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int bio_to_mem(unsigned char **out, int maxlen, BIO *in) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 3
    argCount: 2
    argNames:
    - str
    - def
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1872
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1872
    functionName: parse_yesno
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int parse_yesno(const char *str, int def) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:691,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:692,1
    - Dst: load_key_certs_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:697,1
    - Dst: get_passwd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:696,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:693,1
    - Dst: clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:700,1
    - Dst: warn_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:704,1
    - Dst: warn_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:706,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:709,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 7
    argNames:
    - uri
    - pcert
    - pcerts
    - exclude_http
    - pass
    - desc
    - vpm
    argTypes:
    - char*
    - X509**
    - STACK_OF(X509)**
    - int
    - char*
    - char*
    - X509_VERIFY_PARAM*
    constantsTouched: []
    func_position:
      end: 714
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 714
    functionName: load_cert_certs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - BIO_printf
    - warn_certs
    - sk_X509_pop_free
    - load_key_certs_crls
    - clear_free
    - get_passwd
    - warn_cert
    linkageType: ''
    returnType: int
    signature: 'int load_cert_certs(const char *uri, X509 **pcert, STACK_OF(X509)
      **pcerts, int exclude_http, const char *pass, const char *desc, X509_VERIFY_PARAM
      *vpm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_CSTRING*
    constantsTouched: []
    func_position:
      end: 1448
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1448
    functionName: index_name_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long index_name_hash(const OPENSSL_CSTRING *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2033,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2036,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2042,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2045,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 2047
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2047
    functionName: pkey_ctrl_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - EVP_PKEY_CTX_ctrl_str
    - strchr
    linkageType: ''
    returnType: int
    signature: 'int pkey_ctrl_string(EVP_PKEY_CTX *ctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TerminalSocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2849
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2849
    functionName: close_stdin_sock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - TerminalSocket
    linkageType: ''
    returnType: void
    signature: 'static void close_stdin_sock(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2864
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2864
    functionName: fileno_stdin
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: 'int fileno_stdin(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:544,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - strlen
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void clear_free(char *str) '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:870,1
    - Dst: SET_EXPECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:893,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:906,1
    - Dst: format2string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:935,1
    - Dst: unbuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:950,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:938,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:927,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:959,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:963,1
    - Dst: OSSL_STORE_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:972,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1043,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1085,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1075,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1084,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:871,1
    - Dst: SET_EXPECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:888,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:907,1
    - Dst: SET_EXPECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:924,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:936,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:956,1
    - Dst: OSSL_STORE_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:973,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:987,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1000,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1018,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1076,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1080,1
    - Dst: SET_EXPECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:903,1
    - Dst: SET_EXPECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:916,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:919,1
    - Dst: get_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:959,1
    - Dst: OSSL_STORE_expect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:966,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:967,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:991,1
    - Dst: OSSL_STORE_INFO_get1_PARAMS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1012,1
    - Dst: OSSL_STORE_INFO_get1_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1029,1
    - Dst: OSSL_STORE_INFO_get1_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1033,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1042,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1083,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1078,1
    - Dst: SET_EXPECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:898,1
    - Dst: SET_EXPECT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:911,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:920,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:946,1
    - Dst: BIO_new_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:951,1
    - Dst: OSSL_STORE_attach
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:953,1
    - Dst: get_ui_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:954,1
    - Dst: OSSL_STORE_INFO_get1_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1006,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1023,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1033,1
    - Dst: X509_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1022,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1069,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1071,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1089,1
    - Dst: OSSL_STORE_close
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1049,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1040,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 239
    argCount: 13
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - desc
    - ppkey
    - ppubkey
    - pparams
    - pcert
    - pcerts
    - pcrl
    - pcrls
    - suppress_decode_errors
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    - EVP_PKEY**
    - EVP_PKEY**
    - EVP_PKEY**
    - X509**
    - STACK_OF(X509)**
    - X509_CRL**
    - STACK_OF(X509_CRL)**
    - int
    constantsTouched: []
    func_position:
      end: 1091
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 1091
    functionName: load_key_certs_crls_suppress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_free
    - OSSL_STORE_expect
    - OSSL_STORE_INFO_get1_CERT
    - BIO_printf
    - OSSL_STORE_INFO_get1_PUBKEY
    - ERR_print_errors
    - format2string
    - OSSL_STORE_close
    - OSSL_STORE_INFO_free
    - OSSL_STORE_INFO_type_string
    - BIO_new_fp
    - ERR_clear_error
    - unbuffer
    - OSSL_STORE_load
    - app_get0_libctx
    - OSSL_STORE_eof
    - OSSL_STORE_open_ex
    - OSSL_STORE_INFO_get1_CRL
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - sk_X509_CRL_new_null
    - OSSL_STORE_INFO_get_type
    - get_ui_method
    - OSSL_STORE_attach
    - app_get0_propq
    - sk_X509_new_null
    - OSSL_STORE_INFO_get1_PARAMS
    - SET_EXPECT
    - OSSL_STORE_INFO_get1_PKEY
    - X509_add_cert
    - sk_X509_CRL_push
    - strstr
    linkageType: ''
    returnType: int
    signature: 'static int load_key_certs_crls_suppress(const char *uri, int format,
      int maybe_stdin, const char *pass, const char *desc, EVP_PKEY **ppkey, EVP_PKEY
      **ppubkey, EVP_PKEY **pparams, X509 **pcert, STACK_OF(X509) **pcerts, X509_CRL
      **pcrl, STACK_OF(X509_CRL) **pcrls, int suppress_decode_errors) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2207,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2208,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2211,1
    - Dst: x509_req_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2209,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - x
    - opts
    argTypes:
    - X509_REQ*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2217
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2217
    functionName: do_x509_req_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - sk_OPENSSL_STRING_value
    - x509_req_ctrl_string
    linkageType: ''
    returnType: int
    signature: 'static int do_x509_req_init(X509_REQ *x, STACK_OF(OPENSSL_STRING)
      *opts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_engine_uri
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:557,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:562,1
    - Dst: load_key_certs_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - uri
    - format
    - may_stdin
    - pass
    - e
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 564
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 564
    functionName: load_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - make_engine_uri
    - OPENSSL_free
    - load_key_certs_crls
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *load_key(const char *uri, int format, int may_stdin, const
      char *pass, ENGINE *e, const char *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2231,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2237,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2237,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2232,1
    - Dst: app_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2238,1
    - Dst: do_pkey_ctx_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - pkey
    - md
    - sigopts
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY*
    - char*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2240
    functionName: do_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - EVP_DigestSignInit_ex
    - do_pkey_ctx_init
    - app_get0_propq
    - strcmp
    - EVP_PKEY_get_default_digest_name
    - app_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int do_sign_init(EVP_MD_CTX *ctx, EVP_PKEY *pkey, const char
      *md, STACK_OF(OPENSSL_STRING) *sigopts) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1887,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1891,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1903,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1963,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1938,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1953,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1970,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1982,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1902,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1920,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1936,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1969,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1972,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1900,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1961,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1951,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1966,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1977,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1897,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1895,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1897,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1922,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1955,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1957,1
    - Dst: OBJ_txt2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1949,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1967,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1981,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 69
    argCount: 4
    argNames:
    - cp
    - chtype
    - canmulti
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1984
    functionName: parse_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - X509_NAME_new
    - X509_NAME_free
    - X509_NAME_add_entry_by_NID
    - ERR_print_errors
    - OBJ_txt2nid
    - OPENSSL_free
    - opt_getprog
    - strlen
    linkageType: ''
    returnType: X509_NAME*
    signature: 'X509_NAME *parse_name(const char *cp, int chtype, int canmulti, const
      char *desc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:236,1
    - Dst: app_get_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:239,1
    - Dst: app_get_pass
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:246,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 4
    argNames:
    - arg1
    - arg2
    - pass1
    - pass2
    argTypes:
    - char*
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: app_passwd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - strcmp
    - app_get_pass
    linkageType: ''
    returnType: int
    signature: 'int app_passwd(const char *arg1, const char *arg2, char **pass1, char
      **pass2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:351,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:357,1
    - Dst: NCONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:352,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:351,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:357,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:359,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:359,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:363,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:365,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - in
    - filename
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 369
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 369
    functionName: app_load_config_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - NCONF_load_bio
    - BIO_printf
    - NCONF_free
    - app_get0_libctx
    - NCONF_new_ex
    - opt_getprog
    linkageType: ''
    returnType: CONF*
    signature: 'CONF *app_load_config_bio(BIO *in, const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _access
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2830,1
    - Dst: access
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - name
    - flag
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2834
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2834
    functionName: app_access
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - _access
    - access
    linkageType: ''
    returnType: int
    signature: 'int app_access(const char* name, int flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default_
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - mode
    - format
    argTypes:
    - char*
    - char
    - int
    constantsTouched: []
    func_position:
      end: 3134
      start: 3131
    functionDepth: 0
    functionLinenumber: 3131
    functionLinenumberEnd: 3134
    functionName: bio_open_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - bio_open_default_
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *bio_open_default(const char *filename, char mode, int format) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:263,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:274,1
    - Dst: BIO_new_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:292,1
    - Dst: unbuffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:310,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:276,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:304,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:300,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:307,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:313,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:318,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:320,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:342,1
    - Dst: getenv
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:265,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:270,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:273,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:288,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:302,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:290,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:324,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:336,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:262,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:267,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:264,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:294,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:309,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:300,1
    - Dst: dup_bio_in
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:311,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:330,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:332,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:339,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 2
    argNames:
    - arg
    - keepbio
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 343
    functionName: app_get_pass
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_strdup
    - BIO_new_file
    - BIO_f_buffer
    - BIO_free_all
    - unbuffer
    - dup_bio_in
    - BIO_gets
    - strcmp
    - BIO_new_fd
    - strchr
    - strncmp
    - atoi
    - BIO_push
    - getenv
    - BIO_new
    linkageType: ''
    returnType: char*
    signature: 'static char *app_get_pass(const char *arg, int keepbio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:375,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:377,1
    - Dst: app_load_config_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - filename
    - verbose
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: app_load_config_verbose
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - app_load_config_internal
    linkageType: ''
    returnType: CONF*
    signature: 'CONF *app_load_config_verbose(const char *filename, int verbose) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_isdir
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2839
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2839
    functionName: app_isdir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - opt_isdir
    linkageType: ''
    returnType: int
    signature: 'int app_isdir(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default_
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - mode
    - format
    argTypes:
    - char*
    - char
    - int
    constantsTouched: []
    func_position:
      end: 3139
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3139
    functionName: bio_open_default_quiet
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - bio_open_default_
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *bio_open_default_quiet(const char *filename, char mode, int format) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2169,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2170,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2173,1
    - Dst: pkey_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pkctx
    - opts
    argTypes:
    - EVP_PKEY_CTX*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2179
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2179
    functionName: do_pkey_ctx_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - sk_OPENSSL_STRING_value
    - pkey_ctrl_string
    linkageType: ''
    returnType: int
    signature: 'static int do_pkey_ctx_init(EVP_PKEY_CTX *pkctx, STACK_OF(OPENSSL_STRING)
      *opts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: typedef
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_STACK_OF(CONF)
    signature: 'DEFINE_STACK_OF(CONF) typedef struct '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_engine_uri
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:576,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:581,1
    - Dst: load_key_certs_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - e
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - ENGINE*
    - char*
    constantsTouched: []
    func_position:
      end: 583
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 583
    functionName: load_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - make_engine_uri
    - OPENSSL_free
    - load_key_certs_crls
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *load_pubkey(const char *uri, int format, int maybe_stdin,
      const char *pass, ENGINE *e, const char *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_multi_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - unsigned long*
    - char*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1183
    functionName: set_name_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - set_multi_opts
    linkageType: ''
    returnType: int
    signature: 'int set_name_ex(unsigned long *flags, const char *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1254,1
    - Dst: set_table_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1257,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1256,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1255,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - flags
    - arg
    - in_tbl
    argTypes:
    - unsigned long*
    - char*
    - NAME_EX_TBL*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1262
    functionName: set_multi_opts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - set_table_opts
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - X509V3_parse_list
    - sk_CONF_VALUE_pop_free
    linkageType: ''
    returnType: int
    signature: 'static int set_multi_opts(unsigned long *flags, const char *arg, const
      NAME_EX_TBL * in_tbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_CSTRING*
    constantsTouched: []
    func_position:
      end: 1428
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1428
    functionName: index_serial_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: 'static unsigned long index_serial_hash(const OPENSSL_CSTRING *a) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2096,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2129,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2118,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2100,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - outlen
    - in
    argTypes:
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2135
    functionName: next_protos_parse
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - app_malloc
    - strlen
    linkageType: ''
    returnType: unsigned char*
    signature: 'unsigned char *next_protos_parse(size_t *outlen, const char *in) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2449,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2452,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2453,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2456,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2451,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2470
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2470
    functionName: tls_error_hint
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - ERR_GET_LIB
    - ERR_GET_REASON
    - ERR_peek_error
    - ERR_peek_last_error
    linkageType: ''
    returnType: char*
    signature: 'static const char *tls_error_hint(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2151,1
    - Dst: X509_check_email
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2152,1
    - Dst: X509_check_host
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2146,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2157,1
    - Dst: X509_check_ip_asc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - bio
    - x
    - checkhost
    - checkemail
    - checkip
    argTypes:
    - BIO*
    - X509*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2160
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2160
    functionName: print_cert_checks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_check_host
    - X509_check_email
    - X509_check_ip_asc
    linkageType: ''
    returnType: void
    signature: 'void print_cert_checks(BIO *bio, X509 *x, const char *checkhost, const
      char *checkemail, const char *checkip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2188,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2189,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2192,1
    - Dst: x509_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2190,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - x
    - opts
    argTypes:
    - X509*
    - STACK_OF(OPENSSL_STRING)*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2198
    functionName: do_x509_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_OPENSSL_STRING_num
    - ERR_print_errors
    - sk_OPENSSL_STRING_value
    - x509_ctrl_string
    linkageType: ''
    returnType: int
    signature: 'static int do_x509_init(X509 *x, STACK_OF(OPENSSL_STRING) *opts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls_suppress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:594,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:602,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:599,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:604,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:597,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 6
    argNames:
    - uri
    - format
    - maybe_stdin
    - keytype
    - desc
    - suppress_decode_errors
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: load_keyparams_suppress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_print_errors
    - load_key_certs_crls_suppress
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *load_keyparams_suppress(const char *uri, int format, int
      maybe_stdin, const char *keytype, const char *desc, int suppress_decode_errors) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_multi_opts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - unsigned long*
    - char*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1142
    functionName: set_cert_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - set_multi_opts
    linkageType: ''
    returnType: int
    signature: 'int set_cert_ex(unsigned long *flags, const char *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1187,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dateopt
    - arg
    argTypes:
    - unsigned long*
    - char*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1194
    functionName: set_dateopt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'int set_dateopt(unsigned long *dateopt, const char *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - flags
    - arg
    - in_tbl
    argTypes:
    - unsigned long*
    - char*
    - NAME_EX_TBL*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1292
    functionName: set_table_opts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'static int set_table_opts(unsigned long *flags, const char *arg, const
      NAME_EX_TBL * in_tbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:1437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1438
    functionName: index_serial_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int index_serial_cmp(const OPENSSL_CSTRING *a, const OPENSSL_CSTRING
      *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2757,1
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2762,1
    - Dst: sysClkRateGet
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2773,1
    - Dst: tickGet
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:2769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2776
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2776
    functionName: app_tminterval
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - clock_gettime
    - sysClkRateGet
    - tickGet
    linkageType: ''
    returnType: double
    signature: 'double app_tminterval(int stop, int usertime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c:3283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3284
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3284
    functionName: make_uppercase
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps.c
    functionUses: []
    functionsReached:
    - toupper
    linkageType: ''
    returnType: void
    signature: 'void make_uppercase(char *string) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:36,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:38,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:41,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:40,1
    - Dst: sk_OSSL_PROVIDER_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:45,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:47,1
    - Dst: app_providers_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - libctx
    - provider_name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: app_provider_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c
    functionUses: []
    functionsReached:
    - ERR_print_errors
    - opt_getprog
    - sk_OSSL_PROVIDER_push
    - app_providers_cleanup
    - sk_OSSL_PROVIDER_new_null
    - OSSL_PROVIDER_load
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: 'int app_provider_load(OSSL_LIB_CTX *libctx, const char *provider_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:64,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: opt_provider_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_set_default_search_path
    - app_get0_libctx
    linkageType: ''
    returnType: int
    signature: 'static int opt_provider_path(const char *path) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:29,1
    - Dst: opt_printf_stderr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:38,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:41,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:36,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:40,1
    - Dst: sk_OSSL_PROVIDER_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:45,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:47,1
    - Dst: app_providers_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:48,1
    - Dst: sk_OSSL_PROVIDER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:56,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:64,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:77,1
    - Dst: app_provider_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:77,1
    - Dst: opt_provider_path
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:79,1
    - Dst: app_set_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:81,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:79,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:81,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:77,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:64,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 91
    functionName: prov_range
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c
    functionUses: []
    functionsReached:
    - app_provider_load
    - OSSL_PROVIDER_set_default_search_path
    - ERR_print_errors
    - opt_arg
    - OSSL_PROVIDER_unload
    - app_get0_libctx
    - opt_getprog
    - sk_OSSL_PROVIDER_push
    - app_providers_cleanup
    - sk_OSSL_PROVIDER_new_null
    - OSSL_PROVIDER_load
    - sk_OSSL_PROVIDER_pop_free
    - app_set_propq
    - opt_provider_path
    - opt_printf_stderr
    linkageType: ''
    returnType: DEFINE_STACK_OF(OSSL_PROVIDER)
    signature: 'DEFINE_STACK_OF(OSSL_PROVIDER) /* * See comments in opt_verify for
      explanation of this. */ enum prov_range '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: app_providers_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c
    functionUses: []
    functionsReached:
    - sk_OSSL_PROVIDER_pop_free
    linkageType: ''
    returnType: void
    signature: 'void app_providers_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: provider_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: 'static void provider_free(OSSL_PROVIDER *prov) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_provider_load
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:77,1
    - Dst: app_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:77,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:79,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:77,1
    - Dst: opt_provider_path
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:79,1
    - Dst: app_set_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:81,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - opt
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: opt_provider
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c
    functionUses: []
    functionsReached:
    - app_provider_load
    - opt_arg
    - app_get0_libctx
    - app_set_propq
    - opt_provider_path
    linkageType: ''
    returnType: int
    signature: 'int opt_provider(int opt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: opt_provider_option_given
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_provider.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int opt_provider_option_given(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:44,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:64,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:49,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:62,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:55,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - buf
    - bufsz
    - param
    argTypes:
    - char*
    - size_t
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 72
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 72
    functionName: describe_param_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c
    functionUses: []
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: int
    signature: 'static int describe_param_type(char *buf, size_t bufsz, const OSSL_PARAM
      *param) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:101,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:105,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:107,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:110,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:104,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:111,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:113,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:116,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:119,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:123,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - p
    - indent
    argTypes:
    - OSSL_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 130
    functionName: print_param_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_get_uint64
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_param_value(const OSSL_PARAM *p, int indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:83,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:90,1
    - Dst: describe_param_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:89,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - thing
    - pdefs
    - indent
    argTypes:
    - char*
    - OSSL_PARAM*
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: print_param_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_params.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - describe_param_type
    linkageType: ''
    returnType: int
    signature: 'int print_param_types(const char *thing, const OSSL_PARAM *pdefs,
      int indent) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:98,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:113,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:115,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:128,1
    - Dst: BIO_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:163,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:176,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:101,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:112,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:137,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:139,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:178,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:180,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:181,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:191,1
    - Dst: BIO_sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:87,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:111,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:118,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:163,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:164,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:165,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:185,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:196,1
    - Dst: BIO_lookup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:90,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:93,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:107,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:127,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:127,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:127,1
    - Dst: BIO_bind
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:137,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:119,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:119,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:153,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:156,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:188,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:198,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:159,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 105
    argCount: 8
    argNames:
    - sock
    - host
    - port
    - bindhost
    - bindport
    - family
    - type
    - protocol
    argTypes:
    - int*
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 200
    functionName: init_client
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ERR_clear_error
    - BIO_lookup_ex
    - BIO_free
    - ERR_print_errors
    - BIO_ADDRINFO_next
    - BIO_bind
    - OPENSSL_assert
    - BIO_ADDRINFO_free
    - BIO_new_dgram_sctp
    - BIO_connect
    - BIO_ADDRINFO_family
    - BIO_ADDRINFO_address
    - BIO_closesocket
    - BIO_ADDRINFO_socktype
    - BIO_socket
    - BIO_sock_init
    - BIO_ADDRINFO_protocol
    linkageType: ''
    returnType: int
    signature: 'int init_client(int *sock, const char *host, const char *port, const
      char *bindhost, const char *bindport, int family, int type, int protocol) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:286,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:287,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:289,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:290,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:291,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:292,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:309,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:307,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:317,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:293,1
    - Dst: readsocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:408,1
    - Dst: BIO_accept_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:375,1
    - Dst: BIO_sock_init
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:274,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:285,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:299,1
    - Dst: BIO_socket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:315,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:322,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:325,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:344,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:355,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:370,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:379,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:405,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:341,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:428,1
    - Dst: unlink
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:426,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:285,1
    - Dst: BIO_lookup_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:277,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:298,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:337,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:340,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:350,1
    - Dst: report_server_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:353,1
    - Dst: BIO_ADDR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:368,1
    - Dst: BIO_sock_should_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:376,1
    - Dst: openssl_fdset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:406,1
    - Dst: BIO_set_tcp_ndelay
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:382,1
    - Dst: BIO_ADDR_rawport
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:348,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:410,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:407,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:279,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:301,1
    - Dst: BIO_listen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:321,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:323,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:354,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:367,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:371,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:378,1
    - Dst: shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:395,1
    - Dst: BIO_closesocket
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:418,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 147
    argCount: 10
    argNames:
    - accept_sock
    - host
    - port
    - family
    - type
    - protocol
    - cb
    - context
    - naccept
    - bio_s_out
    argTypes:
    - int*
    - char*
    - char*
    - int
    - int
    - int
    - do_server_cb
    - unsigned char*
    - int
    - BIO*
    constantsTouched: []
    func_position:
      end: 431
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 431
    functionName: do_server
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c
    functionUses: []
    functionsReached:
    - BIO_accept_ex
    - BIO_free
    - BIO_ADDRINFO_free
    - openssl_fdset
    - OPENSSL_assert
    - BIO_ADDRINFO_address
    - BIO_ADDR_new
    - BIO_sock_init
    - ERR_print_errors
    - BIO_ADDRINFO_next
    - BIO_listen
    - shutdown
    - BIO_closesocket
    - BIO_ADDRINFO_protocol
    - report_server_accept
    - BIO_new_dgram_sctp
    - select
    - BIO_ADDRINFO_socktype
    - BIO_set_tcp_ndelay
    - BIO_socket
    - BIO_sock_should_retry
    - BIO_lookup_ex
    - BIO_ADDR_free
    - FD_ZERO
    - BIO_ADDRINFO_family
    - BIO_ADDR_rawport
    - unlink
    - readsocket
    linkageType: ''
    returnType: int
    signature: 'int do_server(int *accept_sock, const char *host, const char *port,
      int family, int type, int protocol, do_server_cb cb, unsigned char *context,
      int naccept, BIO *bio_s_out) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:439,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 452
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 452
    functionName: do_ssl_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c
    functionUses: []
    functionsReached:
    - SSL_shutdown
    - SSL_get_error
    linkageType: ''
    returnType: void
    signature: 'void do_ssl_shutdown(SSL *ssl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:206,1
    - Dst: BIO_sock_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:214,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:215,1
    - Dst: BIO_ADDR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:213,1
    - Dst: BIO_ADDR_service_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:216,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:217,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:218,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:223,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:226,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:227,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:228,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:231,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:232,1
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:231,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - out
    - asock
    - with_address
    - with_pid
    argTypes:
    - BIO*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 236
    functionName: report_server_accept
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_socket.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_ADDR_service_string
    - BIO_sock_info
    - strchr
    - BIO_ADDR_hostname_string
    - OPENSSL_free
    - BIO_ADDR_free
    - BIO_ADDR_new
    - BIO_flush
    - getpid
    linkageType: ''
    returnType: int
    signature: 'int report_server_accept(BIO *out, int asock, int with_address, int
      with_pid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: socket_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - shutdown
    linkageType: ''
    returnType: void
    signature: 'void socket_timeout(int signum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:63,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:69,1
    - Dst: ERR_print_errors_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:71,1
    - Dst: vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:68,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:75,1
    - Dst: BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:76,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:77,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:78,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - prog
    - level
    - fmt
    - '...'
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: log_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_vprintf
    - va_start
    - ERR_print_errors_cb
    - va_end
    - syslog
    - BIO_flush
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void log_message(const char *prog, int level, const char *fmt, ...) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: setpgid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:123,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:133,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:152,1
    - Dst: killall
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:155,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:185,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:191,1
    - Dst: _exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:192,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:204,1
    - Dst: openlog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:121,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:126,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:128,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:132,1
    - Dst: WIFSIGNALED
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:161,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:168,1
    - Dst: WTERMSIG
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:163,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:182,1
    - Dst: fork
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:179,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:162,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:187,1
    - Dst: _exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:189,1
    - Dst: RAND_poll
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:190,1
    - Dst: killall
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:205,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:212,1
    - Dst: killall
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:213,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:125,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:124,1
    - Dst: waitpid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:143,1
    - Dst: WIFEXITED
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:158,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:159,1
    - Dst: WCOREDUMP
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:165,1
    - Dst: WEXITSTATUS
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:160,1
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:172,1
    - Dst: strerror
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:172,1
    - Dst: killall
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:173,1
    - Dst: signal
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:186,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 214
    functionName: spawn_loop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - WEXITSTATUS
    - openlog
    - app_malloc
    - strerror
    - WIFEXITED
    - WCOREDUMP
    - OPENSSL_free
    - WTERMSIG
    - exit
    - waitpid
    - fork
    - RAND_poll
    - killall
    - WIFSIGNALED
    - setpgid
    - ossl_sleep
    - syslog
    - _exit
    - signal
    linkageType: ''
    returnType: void
    signature: 'void spawn_loop(const char *prog) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:267,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:269,1
    - Dst: isxdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:267,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:267,1
    - Dst: _UC
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:267,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: urldecode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - isxdigit
    - OPENSSL_hexchar2int
    - _UC
    linkageType: ''
    returnType: int
    signature: 'static int urldecode(char *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:511,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:519,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:516,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - cbio
    - keep_alive
    - content_type
    - it
    - resp
    argTypes:
    - BIO*
    - int
    - char*
    - ASN1_ITEM*
    - ASN1_VALUE*
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: http_server_send_asn1_resp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_flush
    - ASN1_item_i2d
    - ASN1_item_i2d_bio
    linkageType: ''
    returnType: int
    signature: 'int http_server_send_asn1_resp(BIO *cbio, int keep_alive, const char
      *content_type, const ASN1_ITEM *it, const ASN1_VALUE *resp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - str
    - len
    - levPtr
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: print_syslog
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - syslog
    linkageType: ''
    returnType: int
    signature: 'static int print_syslog(const char *str, size_t len, void *levPtr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:96,1
    - Dst: ossl_sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:98,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:99,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ret
    - kidpids
    argTypes:
    - int
    - pid_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: killall
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - exit
    - OPENSSL_free
    - ossl_sleep
    - kill
    linkageType: ''
    returnType: void
    signature: 'static void killall(int ret, pid_t *kidpids) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: noteterm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void noteterm(int sig) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:525,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - cbio
    - status
    - reason
    argTypes:
    - BIO*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: http_server_send_status
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: 'int http_server_send_status(BIO *cbio, int status, const char *reason) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:223,1
    - Dst: BIO_s_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:226,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:226,1
    - Dst: BIO_set_bind_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:228,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:223,1
    - Dst: BIO_set_accept_port
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:229,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:230,1
    - Dst: BIO_set_accept_bios
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:234,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:236,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:237,1
    - Dst: BIO_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:242,1
    - Dst: report_server_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:243,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:251,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:252,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:244,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - prog
    - port
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 254
    functionName: http_server_init_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - BIO_set_accept_bios
    - BIO_f_buffer
    - BIO_free_all
    - BIO_get_fd
    - report_server_accept
    - BIO_free
    - BIO_s_accept
    - BIO_set_bind_mode
    - BIO_do_accept
    - log_message
    - BIO_set_accept_port
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *http_server_init_bio(const char *prog, const char *port) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:324,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:330,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:353,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:386,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:395,1
    - Dst: BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:422,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:435,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:456,1
    - Dst: alarm
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:466,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:471,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:478,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:475,1
    - Dst: alarm
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:319,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:333,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:336,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:366,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:392,1
    - Dst: BIO_new_mem_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:393,1
    - Dst: BIO_f_base64
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:394,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:404,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:425,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:443,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:437,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:401,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:486,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:479,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:407,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:449,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:457,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:473,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:329,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:350,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:334,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:341,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:379,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:380,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:389,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:400,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:424,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:433,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:476,1
    - Dst: http_server_send_status
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:495,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:300,1
    - Dst: BIO_pop
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:306,1
    - Dst: BIO_get_fd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:318,1
    - Dst: BIO_do_accept
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:302,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:308,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:362,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:363,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:340,1
    - Dst: urldecode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:384,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:394,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:447,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:497,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:445,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:459,1
    - Dst: log_message
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:477,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:500,1
    - Dst: alarm
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c:489,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 180
    argCount: 10
    argNames:
    - it
    - preq
    - ppath
    - pcbio
    - acbio
    - found_keep_alive
    - prog
    - port
    - accept_get
    - timeout
    argTypes:
    - ASN1_ITEM*
    - ASN1_VALUE**
    - char**
    - BIO**
    - BIO*
    - int*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 504
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 504
    functionName: http_server_get_asn1_req
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/http_server.c
    functionUses: []
    functionsReached:
    - BIO_gets
    - alarm
    - strchr
    - ASN1_item_free
    - ASN1_item_d2i_bio
    - BIO_new
    - OPENSSL_strdup
    - BIO_free_all
    - http_server_send_status
    - BIO_set_flags
    - OPENSSL_free
    - BIO_f_base64
    - BIO_do_accept
    - urldecode
    - BIO_new_mem_buf
    - BIO_get_fd
    - OPENSSL_strcasecmp
    - BIO_pop
    - strncmp
    - strlen
    - log_message
    - BIO_push
    linkageType: ''
    returnType: int
    signature: 'int http_server_get_asn1_req(const ASN1_ITEM *it, ASN1_VALUE **preq,
      char **ppath, BIO **pcbio, BIO *acbio, int *found_keep_alive, const char *prog,
      const char *port, int accept_get, int timeout) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:93,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:103,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:100,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:96,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:107,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:112,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:113,1
    - Dst: ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:124,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - (*ctrl)
    - object
    - value
    argTypes:
    - int
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 126
    functionName: do_x509_ctrl_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ctrl
    - strcmp
    - strchr
    - OPENSSL_free
    - OPENSSL_hexstr2buf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int do_x509_ctrl_string(int (*ctrl)(void *object, int cmd,
      void *value, size_t value_n), void *object, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mk_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:42,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:45,1
    - Dst: X509_set0_distinguishing_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:50,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - object
    - cmd
    - value
    - value_n
    argTypes:
    - void*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: x509_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_set0_distinguishing_id
    - mk_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int x509_ctrl(void *object, int cmd, void *value, size_t value_n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - value
    argTypes:
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: x509_ctrl_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c
    functionUses: []
    functionsReached:
    - do_x509_ctrl_string
    linkageType: ''
    returnType: int
    signature: 'int x509_ctrl_string(X509 *x, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mk_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:66,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:69,1
    - Dst: X509_REQ_set0_distinguishing_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - object
    - cmd
    - value
    - value_n
    argTypes:
    - void*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: x509_req_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_REQ_set0_distinguishing_id
    - mk_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int x509_req_ctrl(void *object, int cmd, void *value, size_t
      value_n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_ctrl_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - value
    argTypes:
    - X509_REQ*
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: x509_req_ctrl_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c
    functionUses: []
    functionsReached:
    - do_x509_ctrl_string
    linkageType: ''
    returnType: int
    signature: 'int x509_req_ctrl_string(X509_REQ *x, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:24,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:27,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:29,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - value
    - value_n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: mk_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/app_x509.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_set
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: ASN1_OCTET_STRING*
    signature: 'static ASN1_OCTET_STRING *mk_octet_string(void *value, size_t value_n) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:57,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:65,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:66,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:59,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:80,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:88,1
    - Dst: X509_get0_notBefore
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:89,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:81,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:96,1
    - Dst: X509_get0_notAfter
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:97,1
    - Dst: policies_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:103,1
    - Dst: policies_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:107,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:51,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:56,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:50,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:54,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:58,1
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:89,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:90,1
    - Dst: ASN1_TIME_print
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:97,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:98,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:109,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:49,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:61,1
    - Dst: X509_get_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:80,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:79,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:82,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 111
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 111
    functionName: verify_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - X509_STORE_CTX_get_error_depth
    - get_nameopt
    - ASN1_TIME_print
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get_current_cert
    - X509_get_issuer_name
    - X509_get0_notAfter
    - policies_print
    - BIO_puts
    - X509_STORE_CTX_get_error
    - X509_get0_notBefore
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'int verify_callback(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:744,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:748,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:749,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - s
    - client_server
    - type
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - int
    - int
    - unsigned char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 750
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 750
    functionName: tlsext_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_flush
    - lookup
    - BIO_dump
    linkageType: ''
    returnType: void
    signature: 'void tlsext_cb(SSL *s, int client_server, int type, const unsigned
      char *data, int len, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1292,1
    - Dst: add_crls_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1293,1
    - Dst: store_setup_crl_download
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - crls
    - crl_download
    argTypes:
    - SSL_CTX*
    - STACK_OF(X509_CRL)*
    - int
    constantsTouched: []
    func_position:
      end: 1297
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1297
    functionName: ssl_ctx_add_crls
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - add_crls_store
    - store_setup_crl_download
    - SSL_CTX_get_cert_store
    linkageType: ''
    returnType: int
    signature: 'int ssl_ctx_add_crls(SSL_CTX *ctx, STACK_OF(X509_CRL) *crls, int crl_download) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:116,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:125,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:126,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:118,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:120,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:128,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:141,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - cert_file
    - key_file
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 148
    functionName: set_cert_stuff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_CTX_use_certificate_file
    - ERR_print_errors
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_check_private_key
    linkageType: ''
    returnType: int
    signature: 'int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1310,1
    - Dst: X509_STORE_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1313,1
    - Dst: X509_STORE_load_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1317,1
    - Dst: X509_STORE_load_path
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1315,1
    - Dst: add_crls_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1319,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1320,1
    - Dst: store_setup_crl_download
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1323,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1326,1
    - Dst: X509_STORE_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1329,1
    - Dst: X509_STORE_load_path
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1331,1
    - Dst: X509_STORE_load_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1333,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1335,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1341,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1340,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 52
    argCount: 9
    argNames:
    - ctx
    - vfyCApath
    - vfyCAfile
    - vfyCAstore
    - chCApath
    - chCAfile
    - chCAstore
    - crls
    - crl_download
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - STACK_OF(X509_CRL)*
    - int
    constantsTouched: []
    func_position:
      end: 1343
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1343
    functionName: ssl_load_stores
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - SSL_CTX_set1_chain_cert_store
    - X509_STORE_load_store
    - X509_STORE_load_file
    - add_crls_store
    - X509_STORE_load_path
    - X509_STORE_free
    - store_setup_crl_download
    - SSL_CTX_set1_verify_cert_store
    linkageType: ''
    returnType: int
    signature: 'int ssl_load_stores(SSL_CTX *ctx, const char *vfyCApath, const char
      *vfyCAfile, const char *vfyCAstore, const char *chCApath, const char *chCAfile,
      const char *chCAstore, STACK_OF(X509_CRL) *crls, int crl_download) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_certificate_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:207,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:211,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:217,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:214,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:219,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:221,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: ssl_print_client_cert_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_puts
    - lookup
    - SSL_get0_certificate_types
    linkageType: ''
    returnType: void
    signature: 'static void ssl_print_client_cert_types(BIO *bio, SSL *s) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:265,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:274,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:277,1
    - Dst: SSL_get_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:269,1
    - Dst: SSL_get_shared_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:267,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:278,1
    - Dst: SSL_get_shared_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:284,1
    - Dst: SSL_get_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:287,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:289,1
    - Dst: get_sigtype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:290,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:294,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:300,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:292,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:296,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:298,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - out
    - s
    - shared
    argTypes:
    - BIO*
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 302
    functionName: do_print_sigalgs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OBJ_nid2sn
    - SSL_get_shared_sigalgs
    - SSL_get_sigalgs
    - get_sigtype
    - BIO_puts
    - SSL_is_server
    linkageType: ''
    returnType: int
    signature: 'static int do_print_sigalgs(BIO *out, SSL *s, int shared) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dgram_get_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:779,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:779,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:786,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:790,1
    - Dst: RAND_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:764,1
    - Dst: BIO_ADDR_new
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:772,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:774,1
    - Dst: SSL_is_dtls
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:771,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:787,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:801,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:785,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:793,1
    - Dst: BIO_ADDR_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:808,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:796,1
    - Dst: EVP_Q_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:798,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:765,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:807,1
    - Dst: BIO_ADDR_rawport
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:791,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:795,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 811
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 811
    functionName: generate_stateless_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_Q_mac
    - app_malloc
    - BIO_dgram_get_peer
    - BIO_ADDR_free
    - SSL_get_rbio
    - OPENSSL_assert
    - RAND_bytes
    - memcpy
    - BIO_ADDR_new
    - OPENSSL_free
    - BIO_ADDR_rawport
    - SSL_is_dtls
    - BIO_ADDR_rawaddress
    linkageType: ''
    returnType: int
    signature: 'int generate_stateless_cookie_callback(SSL *ssl, unsigned char *cookie,
      size_t *cookie_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:995,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1000,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:996,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - exc
    argTypes:
    - SSL_EXCERT*
    constantsTouched: []
    func_position:
      end: 1002
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1002
    functionName: ssl_excert_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - X509_free
    - OPENSSL_free
    - EVP_PKEY_free
    - sk_X509_pop_free
    linkageType: ''
    returnType: void
    signature: 'void ssl_excert_free(SSL_EXCERT *exc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1150,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1151,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1152,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1162
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1162
    functionName: hexencode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - app_malloc
    - opt_getprog
    - exit
    linkageType: ''
    returnType: char*
    signature: 'static char *hexencode(const unsigned char *data, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1168,1
    - Dst: SSL_get0_peername
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1171,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1175,1
    - Dst: X509_verify_cert_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1179,1
    - Dst: SSL_get0_dane_authority
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1182,1
    - Dst: SSL_get0_dane_tlsa
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1188,1
    - Dst: hexencode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1199,1
    - Dst: hexencode
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1201,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1208,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - s
    - bio
    argTypes:
    - SSL*
    - BIO*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1210
    functionName: print_verify_detail
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - X509_verify_cert_error_string
    - hexencode
    - SSL_get0_peername
    - SSL_get0_dane_authority
    - SSL_get_verify_result
    - SSL_get0_dane_tlsa
    linkageType: ''
    returnType: void
    signature: 'void print_verify_detail(SSL *s, BIO *bio) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1255,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1257,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1260,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1256,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1258,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1261,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1263,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1267,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1268,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - cctx
    - str
    - ctx
    argTypes:
    - SSL_CONF_CTX*
    - STACK_OF(OPENSSL_STRING)*
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1273
    functionName: config_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_CONF_cmd
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - ERR_print_errors
    - SSL_CONF_CTX_set_ssl_ctx
    - BIO_puts
    - SSL_CONF_CTX_finish
    linkageType: ''
    returnType: int
    signature: 'int config_ctx(SSL_CONF_CTX *cctx, STACK_OF(OPENSSL_STRING) *str,
      SSL_CTX *ctx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EC_curve_nid2nist
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1430,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1432,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1433,1
    - Dst: EVP_PKEY_get0_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1452,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1451,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1453,1
    - Dst: X509_get_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1440,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1454,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1473,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1483,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1391,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1423,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1471,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1490,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1402,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1402,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1393,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1423,1
    - Dst: X509_get0_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1444,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1442,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1467,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1477,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1491,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1418,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1442,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1447,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1469,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1478,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1481,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 68
    argCount: 7
    argNames:
    - s
    - ctx
    - op
    - bits
    - nid
    - other
    - ex
    argTypes:
    - SSL*
    - SSL_CTX*
    - int
    - int
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1493
    functionName: security_callback_debug
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_get0_asn1
    - lookup
    - OBJ_nid2sn
    - X509_get0_pubkey
    - EC_curve_nid2nist
    - EVP_PKEY_asn1_get0_info
    - EVP_PKEY_get_bits
    - SSL_CIPHER_get_name
    - BIO_puts
    - X509_get_signature_nid
    linkageType: ''
    returnType: int
    signature: 'static int security_callback_debug(const SSL *s, const SSL_CTX *ctx,
      int op, int bits, int nid, void *other, void *ex) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 259
    functionName: get_sigtype
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *get_sigtype(int nid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:308,1
    - Dst: ssl_print_client_cert_types
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:309,1
    - Dst: do_print_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:310,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:312,1
    - Dst: do_print_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:311,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:313,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:313,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:314,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:315,1
    - Dst: get_sigtype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: ssl_print_sigalgs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ssl_print_client_cert_types
    - OBJ_nid2sn
    - SSL_get_peer_signature_nid
    - do_print_sigalgs
    - SSL_get_peer_signature_type_nid
    - get_sigtype
    - SSL_is_server
    linkageType: ''
    returnType: int
    signature: 'int ssl_print_sigalgs(BIO *out, SSL *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_stateless_cookie_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:822,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 828
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 828
    functionName: verify_stateless_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - generate_stateless_cookie_callback
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int verify_stateless_cookie_callback(SSL *ssl, const unsigned char
      *cookie, size_t cookie_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssl_excert_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1012,1
    - Dst: load_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1021,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1026,1
    - Dst: load_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1029,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1018,1
    - Dst: load_certs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1035,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - pexc
    argTypes:
    - SSL_EXCERT**
    constantsTouched: []
    func_position:
      end: 1040
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1040
    functionName: load_excert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - load_cert
    - load_key
    - ssl_excert_free
    - load_certs
    linkageType: ''
    returnType: int
    signature: 'int load_excert(SSL_EXCERT **pexc) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1048,1
    - Dst: ssl_excert_prepend
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1065,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1074,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1074,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1095,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1053,1
    - Dst: ssl_excert_prepend
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1052,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1054,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1049,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1066,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1066,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1070,1
    - Dst: opt_getprog
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1082,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1081,1
    - Dst: opt_format
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1091,1
    - Dst: ssl_excert_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1103,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1077,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1102,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1085,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1095,1
    - Dst: opt_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1091,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 2
    argNames:
    - opt
    - pexc
    argTypes:
    - int
    - SSL_EXCERT**
    constantsTouched: []
    func_position:
      end: 1106
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1106
    functionName: args_excert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - assert
    - ERR_print_errors
    - opt_format
    - opt_arg
    - ssl_excert_free
    - ssl_excert_prepend
    - opt_getprog
    linkageType: ''
    returnType: int
    signature: 'int args_excert(int opt, SSL_EXCERT **pexc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: print_raw_cipherlist
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1218,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1227,1
    - Dst: ssl_print_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1241,1
    - Dst: ssl_print_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1243,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1222,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1231,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1232,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1231,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1236,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1245,1
    - Dst: ssl_print_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1246,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1217,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1220,1
    - Dst: SSL_get_current_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1219,1
    - Dst: SSL_get_version
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1217,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1220,1
    - Dst: do_print_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1221,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1227,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1228,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1229,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1226,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1230,1
    - Dst: get_sigtype
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1233,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1233,1
    - Dst: print_verify_detail
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1234,1
    - Dst: ssl_print_point_formats
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1239,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1240,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1248
    functionName: print_ssl_summary
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - SSL_get0_peer_certificate
    - SSL_get_current_cipher
    - X509_get_subject_name
    - BIO_printf
    - X509_NAME_print_ex
    - ssl_print_point_formats
    - print_verify_detail
    - OBJ_nid2sn
    - SSL_get_peer_signature_nid
    - SSL_CIPHER_get_name
    - SSL_is_server
    - get_nameopt
    - do_print_sigalgs
    - SSL_get_peer_signature_type_nid
    - SSL_get_version
    - print_raw_cipherlist
    - ssl_print_groups
    - get_sigtype
    - ssl_print_tmp_key
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: 'void print_ssl_summary(SSL *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_CRL_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1280,1
    - Dst: sk_X509_CRL_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1281,1
    - Dst: X509_STORE_add_crl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - st
    - crls
    argTypes:
    - X509_STORE*
    - STACK_OF(X509_CRL)*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1286
    functionName: add_crls_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - sk_X509_CRL_num
    - X509_STORE_add_crl
    - sk_X509_CRL_value
    linkageType: ''
    returnType: int
    signature: 'static int add_crls_store(X509_STORE *st, STACK_OF(X509_CRL) *crls) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_security_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1501,1
    - Dst: SSL_CTX_set0_security_ex_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1503,1
    - Dst: SSL_CTX_set_security_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - verbose
    argTypes:
    - SSL_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 1504
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1504
    functionName: ssl_ctx_security_debug
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_security_callback
    - SSL_CTX_get_security_callback
    - SSL_CTX_set0_security_ex_data
    linkageType: ''
    returnType: void
    signature: 'void ssl_ctx_security_debug(SSL_CTX *ctx, int verbose) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:911,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:934,1
    - Dst: SSL_check_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:933,1
    - Dst: SSL_certs_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:917,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:935,1
    - Dst: X509_get_subject_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:935,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:936,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:937,1
    - Dst: print_chain_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:938,1
    - Dst: SSL_use_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:940,1
    - Dst: SSL_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:950,1
    - Dst: SSL_set1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:953,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:941,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 960
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 960
    functionName: set_cert_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - get_nameopt
    - SSL_use_certificate
    - SSL_set1_chain
    - SSL_certs_clear
    - SSL_build_cert_chain
    - print_chain_flags
    - BIO_puts
    - SSL_check_chain
    - SSL_use_PrivateKey
    - X509_get_subject_name
    linkageType: ''
    returnType: int
    signature: 'static int set_cert_cb(SSL *ssl, void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1114,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1117,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1119,1
    - Dst: SSL_get0_raw_cipherlist
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1118,1
    - Dst: SSL_get0_raw_cipherlist
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1116,1
    - Dst: SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1121,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1123,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1125,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1125,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1126,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1127,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1135,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1130,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1136
    functionName: print_raw_cipherlist
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - memcmp
    - OPENSSL_assert
    - SSL_get0_raw_cipherlist
    - SSL_CIPHER_get_name
    - SSL_CIPHER_find
    - BIO_puts
    - SSL_is_server
    linkageType: ''
    returnType: void
    signature: 'static void print_raw_cipherlist(SSL *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:433,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:448,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:441,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:439,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:443,1
    - Dst: BIO_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:450,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 457
    functionName: bio_dump_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_get_callback_arg
    - BIO_dump
    linkageType: ''
    returnType: long
    signature: 'long bio_dump_callback(BIO *bio, int cmd, const char *argp, size_t
      len, int argi, long argl, int ret, size_t *processed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:888,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:895,1
    - Dst: SSL_set_cert_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:892,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:891,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 896
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 896
    functionName: print_chain_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_puts
    - SSL_set_cert_flags
    linkageType: ''
    returnType: void
    signature: 'static void print_chain_flags(SSL *s, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - exc
    argTypes:
    - SSL_CTX*
    - SSL_EXCERT*
    constantsTouched: []
    func_position:
      end: 965
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 965
    functionName: ssl_ctx_set_excert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    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: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1509,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1518,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 1519
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1519
    functionName: keylog_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_flush
    linkageType: ''
    returnType: void
    signature: 'static void keylog_callback(const SSL *ssl, const char *line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - val
    - list
    - def
    argTypes:
    - int
    - STRINT_PAIR*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *lookup(int val, const STRINT_PAIR* list, const
      char* def) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:474,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:480,1
    - Dst: SSL_alert_type_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:479,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:474,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:477,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:483,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:484,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:486,1
    - Dst: SSL_state_string_long
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:487,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 489
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 489
    functionName: apps_ssl_info_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_alert_type_string_long
    - SSL_alert_desc_string_long
    - SSL_state_string_long
    linkageType: ''
    returnType: void
    signature: 'void apps_ssl_info_callback(const SSL *s, int where, int ret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:969,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:971,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pexc
    argTypes:
    - SSL_EXCERT**
    constantsTouched: []
    func_position:
      end: 986
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 986
    functionName: ssl_excert_prepend
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - memset
    - app_malloc
    linkageType: ''
    returnType: int
    signature: 'static int ssl_excert_prepend(SSL_EXCERT **pexc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1524,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1537,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1545,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1539,1
    - Dst: BIO_tell
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1544,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1547,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - keylog_file
    argTypes:
    - SSL_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1551
    functionName: set_keylog_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_new_file
    - BIO_printf
    - BIO_free_all
    - BIO_tell
    - BIO_flush
    - BIO_puts
    - SSL_CTX_set_keylog_callback
    linkageType: ''
    returnType: int
    signature: 'int set_keylog_file(SSL_CTX *ctx, const char *keylog_file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:157,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:159,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:164,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:158,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:163,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:165,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:172,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:173,1
    - Dst: SSL_CTX_set1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:178,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:179,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:182,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:183,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:184,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - cert
    - key
    - chain
    - build_chain
    argTypes:
    - SSL_CTX*
    - X509*
    - EVP_PKEY*
    - STACK_OF(X509)*
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: set_cert_key_stuff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - SSL_CTX_use_certificate
    - SSL_CTX_build_cert_chain
    - ERR_print_errors
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_check_private_key
    - SSL_CTX_set1_chain
    linkageType: ''
    returnType: int
    signature: 'int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key, STACK_OF(X509)
      *chain, int build_chain) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_ec_point_formats
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:325,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:331,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:334,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:328,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:338,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:342,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:346,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:351,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    constantsTouched: []
    func_position:
      end: 353
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 353
    functionName: ssl_print_point_formats
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_puts
    - SSL_get0_ec_point_formats
    linkageType: ''
    returnType: int
    signature: 'int ssl_print_point_formats(BIO *out, SSL *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:359,1
    - Dst: app_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:362,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:365,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:368,1
    - Dst: SSL_get1_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:363,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:370,1
    - Dst: SSL_group_to_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:370,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:372,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:374,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:377,1
    - Dst: SSL_group_to_name
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:383,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:383,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:386,1
    - Dst: SSL_get_shared_group
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:382,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:381,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:387,1
    - Dst: SSL_get_shared_group
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - out
    - s
    - noshared
    argTypes:
    - BIO*
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 389
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 389
    functionName: ssl_print_groups
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - app_malloc
    - OPENSSL_free
    - SSL_get1_groups
    - SSL_group_to_name
    - SSL_get_shared_group
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int ssl_print_groups(BIO *out, SSL *s, int noshared) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:396,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:401,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:399,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:401,1
    - Dst: BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:398,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:405,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:405,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:413,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:415,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:416,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:424,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:422,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:416,1
    - Dst: EVP_PKEY_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:421,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:421,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:421,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    constantsTouched: []
    func_position:
      end: 426
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 426
    functionName: ssl_print_tmp_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EVP_PKEY_get_utf8_string_param
    - strcpy
    - OBJ_nid2sn
    - EVP_PKEY_free
    - EVP_PKEY_get_bits
    - SSL_get_peer_tmp_key
    - BIO_puts
    - EVP_PKEY_get_id
    linkageType: ''
    returnType: int
    signature: 'int ssl_print_tmp_key(BIO *out, SSL *s) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:580,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:626,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:607,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:622,1
    - Dst: lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:599,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:630,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:637,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:641,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:642,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:645,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:648,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:646,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 61
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 649
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 649
    functionName: msg_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BIO_flush
    - lookup
    - BIO_snprintf
    linkageType: ''
    returnType: void
    signature: 'void msg_cb(int write_p, int version, int content_type, const void
      *buf, size_t len, SSL *ssl, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_stateless_cookie_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 839
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 839
    functionName: generate_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - generate_stateless_cookie_callback
    linkageType: ''
    returnType: int
    signature: 'int generate_cookie_callback(SSL *ssl, unsigned char *cookie, unsigned
      int *cookie_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_stateless_cookie_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: verify_cookie_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - verify_stateless_cookie_callback
    linkageType: ''
    returnType: int
    signature: 'int verify_cookie_callback(SSL *ssl, const unsigned char *cookie,
      unsigned int cookie_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1555,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1559,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1556,1
    - Dst: SSL_is_server
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1560,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1561,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1565,1
    - Dst: sk_X509_NAME_num
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1566,1
    - Dst: X509_NAME_print_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1567,1
    - Dst: sk_X509_NAME_value
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1567,1
    - Dst: get_nameopt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1567,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c:1568,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1570
    functionName: print_ca_names
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/s_cb.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - X509_NAME_print_ex
    - BIO_write
    - get_nameopt
    - sk_X509_NAME_num
    - SSL_get0_peer_CA_list
    - SSL_is_server
    - sk_X509_NAME_value
    linkageType: ''
    returnType: void
    signature: 'void print_ca_names(BIO *bio, SSL *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_opener
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:19,1
    - Dst: opener
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:22,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: ui_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - opener
    - UI_method_get_opener
    linkageType: ''
    returnType: int
    signature: 'static int ui_open(UI *ui) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_input_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:65,1
    - Dst: UI_method_get_writer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:86,1
    - Dst: UI_get_string_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:67,1
    - Dst: UI_get0_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:66,1
    - Dst: UI_get0_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:72,1
    - Dst: writer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:88,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 15
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: ui_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - UI_method_get_writer
    - UI_get0_user_data
    - UI_get_input_flags
    - writer
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: 'static int ui_write(UI *ui, UI_STRING *uis) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UI_get0_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:105,1
    - Dst: UI_construct_prompt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - ui
    - phrase_desc
    - object_name
    argTypes:
    - UI*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: ui_prompt_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - UI_get0_user_data
    - UI_construct_prompt
    linkageType: ''
    returnType: char*
    signature: 'static char *ui_prompt_construct(UI *ui, const char *phrase_desc,
      const char *object_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:124,1
    - Dst: UI_method_set_reader
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:131,1
    - Dst: UI_method_set_opener
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:130,1
    - Dst: UI_create_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:128,1
    - Dst: UI_OpenSSL
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:126,1
    - Dst: UI_method_set_writer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:132,1
    - Dst: UI_method_set_closer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:133,1
    - Dst: UI_method_set_prompt_constructor
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: setup_ui_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - UI_OpenSSL
    - UI_method_set_reader
    - UI_create_method
    - UI_method_set_prompt_constructor
    - UI_method_set_writer
    - UI_method_set_closer
    - UI_null
    - UI_method_set_opener
    linkageType: ''
    returnType: int
    signature: 'int setup_ui_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: get_ui_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD*
    signature: 'const UI_METHOD *get_ui_method(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_input_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:30,1
    - Dst: UI_get_string_type
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:32,1
    - Dst: UI_get0_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:31,1
    - Dst: UI_get0_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:37,1
    - Dst: UI_set_result
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:40,1
    - Dst: UI_method_get_reader
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:53,1
    - Dst: reader
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:55,1
    - Dst: UI_set_result
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:57,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 18
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    constantsTouched: []
    func_position:
      end: 59
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 59
    functionName: ui_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - reader
    - UI_get0_user_data
    - UI_get_input_flags
    - UI_set_result
    - UI_method_get_reader
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: 'static int ui_read(UI *ui, UI_STRING *uis) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_closer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:94,1
    - Dst: closer
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: ui_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - closer
    - UI_method_get_closer
    linkageType: ''
    returnType: int
    signature: 'static int ui_close(UI *ui) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_null
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ui_meth
    argTypes:
    - UI_METHOD*
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: set_base_ui_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - UI_null
    linkageType: ''
    returnType: int
    signature: 'int set_base_ui_method(const UI_METHOD *ui_meth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_destroy_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: destroy_ui_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - UI_destroy_method
    linkageType: ''
    returnType: void
    signature: 'void destroy_ui_method(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:153,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:157,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:156,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: ui_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - exit
    - OPENSSL_malloc
    - ERR_print_errors
    linkageType: ''
    returnType: void*
    signature: 'static void *ui_malloc(int sz, const char *what) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UI_new_method
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:173,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:180,1
    - Dst: UI_construct_prompt
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:178,1
    - Dst: UI_add_user_data
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:189,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:216,1
    - Dst: ERR_print_errors
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:210,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:215,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:181,1
    - Dst: UI_add_input_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:191,1
    - Dst: ui_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:195,1
    - Dst: UI_process
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:201,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:209,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:204,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:207,1
    - Dst: UI_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:219,1
    - Dst: UI_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:186,1
    - Dst: UI_add_verify_string
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:196,1
    - Dst: UI_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:202,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:211,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c:220,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 4
    argNames:
    - buf
    - bufsiz
    - verify
    - cb_data
    argTypes:
    - char*
    - int
    - int
    - PW_CB_DATA*
    constantsTouched: []
    func_position:
      end: 222
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 222
    functionName: password_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/apps/lib/apps_ui.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - UI_ctrl
    - UI_free
    - UI_add_verify_string
    - UI_new_method
    - ERR_print_errors
    - OPENSSL_free
    - UI_construct_prompt
    - UI_add_input_string
    - OPENSSL_cleanse
    - UI_process
    - ui_malloc
    - OPENSSL_clear_free
    - UI_add_user_data
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA
      *cb_data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:161,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:150,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:163,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:149,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:171,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:180,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - c
    - data_
    - len
    argTypes:
    - HASH_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 183
    functionName: HASH_UPDATE
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h
    functionUses: []
    functionsReached:
    - memcpy
    - HASH_BLOCK_DATA_ORDER
    - memset
    linkageType: ''
    returnType: int
    signature: 'int HASH_UPDATE(HASH_CTX *c, const void *data_, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - HASH_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: HASH_TRANSFORM
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h
    functionUses: []
    functionsReached:
    - HASH_BLOCK_DATA_ORDER
    linkageType: ''
    returnType: void
    signature: 'void HASH_TRANSFORM(HASH_CTX *c, const unsigned char *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:199,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:201,1
    - Dst: HOST_l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:208,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:203,1
    - Dst: HOST_l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:207,1
    - Dst: HOST_l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:210,1
    - Dst: HOST_l2c
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:211,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:214,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:216,1
    - Dst: HASH_MAKE_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - HASH_CTX*
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: HASH_FINAL
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/crypto/md32_common.h
    functionUses: []
    functionsReached:
    - HASH_BLOCK_DATA_ORDER
    - memset
    - OPENSSL_cleanse
    - HOST_l2c
    - HASH_MAKE_STRING
    linkageType: ''
    returnType: int
    signature: 'int HASH_FINAL(unsigned char *md, HASH_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: PACKET_end
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *PACKET_end(const PACKET *pkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:519,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    constantsTouched: []
    func_position:
      end: 529
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 529
    functionName: PACKET_get_length_prefixed_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_bytes
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_length_prefixed_1(PACKET *pkt, PACKET *subpkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: PACKET_get_net_2_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_net_2
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_net_2_len(PACKET *pkt, size_t *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: PACKET_peek_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_1(const PACKET *pkt, unsigned int *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:568,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    constantsTouched: []
    func_position:
      end: 578
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 578
    functionName: PACKET_get_length_prefixed_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_bytes
    - PACKET_get_net_2
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_length_prefixed_2(PACKET *pkt, PACKET *subpkt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: PACKET_remaining
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t PACKET_remaining(const PACKET *pkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - buf
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: PACKET_buf_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int PACKET_buf_init(PACKET *pkt, const unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: PACKET_contains_zero_byte
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - memchr
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int PACKET_contains_zero_byte(const PACKET *pkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_4
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: PACKET_get_net_4_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_net_4
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_net_4_len(PACKET *pkt, size_t *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:96,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - ptr
    - num
    argTypes:
    - PACKET*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: PACKET_equal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_equal(const PACKET *pkt, const void *ptr, size_t num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: PACKET_peek_net_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_net_2(const PACKET *pkt, unsigned int *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: PACKET_peek_net_3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_net_3(const PACKET *pkt, unsigned long *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_3
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:192,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: PACKET_get_net_3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_peek_net_3
    - packet_forward
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_net_3(PACKET *pkt, unsigned long *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: PACKET_get_1_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_1_len(PACKET *pkt, size_t *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 338
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 338
    functionName: PACKET_peek_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_4(const PACKET *pkt, unsigned long *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_4
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:347,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: PACKET_get_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - packet_forward
    - PACKET_peek_4
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_4(PACKET *pkt, unsigned long *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: PACKET_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *PACKET_data(const PACKET *pkt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:453,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:462,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 468
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 468
    functionName: PACKET_memdup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - PACKET_remaining
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'int PACKET_memdup(const PACKET *pkt, unsigned char **data, size_t
      *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:482,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:485,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - char**
    constantsTouched: []
    func_position:
      end: 487
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 487
    functionName: PACKET_strndup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strndup
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_strndup(const PACKET *pkt, char **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - PACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: packet_forward
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void packet_forward(PACKET *pkt, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_3
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: PACKET_get_net_3_len
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_net_3
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_net_3_len(PACKET *pkt, size_t *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:109,1
    - Dst: PACKET_buf_init
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - subpkt
    - len
    argTypes:
    - PACKET*
    - PACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: PACKET_peek_sub_packet
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_buf_init
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_sub_packet(const PACKET *pkt, PACKET *subpkt, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:151,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: PACKET_get_net_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_peek_net_2
    - packet_forward
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_net_2(PACKET *pkt, unsigned int *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: PACKET_peek_net_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_net_4(const PACKET *pkt, unsigned long *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_4
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:256,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: PACKET_get_net_4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_peek_net_4
    - packet_forward
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_net_4(PACKET *pkt, unsigned long *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 250
    functionName: PACKET_peek_net_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_net_8(const PACKET *pkt, uint64_t *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:383,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: PACKET_get_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_peek_bytes
    - packet_forward
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_bytes(PACKET *pkt, const unsigned char **data, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:396,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: PACKET_peek_copy_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - memcpy
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_copy_bytes(const PACKET *pkt, unsigned char *data,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: PACKET_null_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void PACKET_null_init(PACKET *pkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_copy_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:411,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: PACKET_copy_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_peek_copy_bytes
    - packet_forward
    linkageType: ''
    returnType: int
    signature: 'int PACKET_copy_bytes(PACKET *pkt, unsigned char *data, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:498,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - PACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: PACKET_forward
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - packet_forward
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_forward(PACKET *pkt, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:541,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:543,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    constantsTouched: []
    func_position:
      end: 552
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 552
    functionName: PACKET_as_length_prefixed_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_bytes
    - PACKET_remaining
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: 'int PACKET_as_length_prefixed_1(PACKET *pkt, PACKET *subpkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_3
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:617,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: PACKET_get_length_prefixed_3
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_bytes
    - PACKET_get_net_3
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_length_prefixed_3(PACKET *pkt, PACKET *subpkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_sub_packet
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:123,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - subpkt
    - len
    argTypes:
    - PACKET*
    - PACKET*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: PACKET_get_sub_packet
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_peek_sub_packet
    - packet_forward
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_sub_packet(PACKET *pkt, PACKET *subpkt, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_8
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:279,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: PACKET_get_net_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - packet_forward
    - PACKET_peek_net_8
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_net_8(PACKET *pkt, uint64_t *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_1
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:302,1
    - Dst: packet_forward
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: PACKET_get_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_peek_1
    - packet_forward
    linkageType: ''
    returnType: int
    signature: 'int PACKET_get_1(PACKET *pkt, unsigned int *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: PACKET_peek_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_peek_bytes(const PACKET *pkt, const unsigned char **data,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:430,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pkt
    - dest
    - dest_len
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: PACKET_copy_all
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - memcpy
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: 'int PACKET_copy_all(const PACKET *pkt, unsigned char *dest, size_t
      dest_len, size_t *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:591,1
    - Dst: PACKET_get_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:592,1
    - Dst: PACKET_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    constantsTouched: []
    func_position:
      end: 602
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 602
    functionName: PACKET_as_length_prefixed_2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/packet.h
    functionUses: []
    functionsReached:
    - PACKET_get_bytes
    - PACKET_remaining
    - PACKET_get_net_2
    linkageType: ''
    returnType: int
    signature: 'int PACKET_as_length_prefixed_2(PACKET *pkt, PACKET *subpkt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:67,1
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - tls_en
    - is_tx
    argTypes:
    - int
    - ktls_crypto_info_t*
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: ktls_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_start(int fd, ktls_crypto_info_t *tls_en,
      int is_tx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:90,1
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:98,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:99,1
    - Dst: sendmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:107,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - fd
    - record_type
    - data
    - length
    argTypes:
    - int
    - unsigned char
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: ktls_send_ctrl_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - CMSG_LEN
    - sendmsg
    - CMSG_SPACE
    - CMSG_FIRSTHDR
    - CMSG_DATA
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_send_ctrl_message(int fd, unsigned char
      record_type, const void *data, size_t length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sendfile
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - s
    - fd
    - 'off'
    - size
    - flags
    argTypes:
    - int
    - int
    - off_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: ktls_sendfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - sendfile
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline ossl_ssize_t ktls_sendfile(int s, int fd, off_t
      off, size_t size, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - crypto_info
    - is_tx
    argTypes:
    - int
    - ktls_crypto_info_t*
    - int
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: ktls_start
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_start(int fd, ktls_crypto_info_t *crypto_info,
      int is_tx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:305,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:316,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:312,1
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:315,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:309,1
    - Dst: sendmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - fd
    - record_type
    - data
    - length
    argTypes:
    - int
    - unsigned char
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 325
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 325
    functionName: ktls_send_ctrl_message
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - CMSG_LEN
    - sendmsg
    - CMSG_SPACE
    - CMSG_FIRSTHDR
    - CMSG_DATA
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_send_ctrl_message(int fd, unsigned char
      record_type, const void *data, size_t length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:358,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:379,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:386,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:384,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 397
    functionName: ktls_read_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - recvmsg
    - CMSG_SPACE
    - CMSG_FIRSTHDR
    - CMSG_DATA
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_read_record(int fd, void *data, size_t
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: ktls_enable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_enable(int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ktls_read_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_read_record(int fd, void *data, size_t
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: ktls_enable
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_enable(int fd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendfile
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - s
    - fd
    - 'off'
    - size
    - flags
    argTypes:
    - int
    - int
    - off_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: ktls_sendfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - sendfile
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline ossl_ssize_t ktls_sendfile(int s, int fd, off_t
      off, size_t size, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: ktls_read_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_read_record(int fd, void *data, size_t
      length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:132,1
    - Dst: CMSG_LEN
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:167,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:165,1
    - Dst: recvmsg
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:151,1
    - Dst: CMSG_DATA
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:172,1
    - Dst: htons
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h:176,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 179
    functionName: ktls_read_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/ktls.h
    functionUses: []
    functionsReached:
    - CMSG_LEN
    - recvmsg
    - CMSG_SPACE
    - CMSG_FIRSTHDR
    - CMSG_DATA
    - htons
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ktls_read_record(int fd, void *data, size_t
      length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_die
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/cryptlib.h:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - expr
    - exprstr
    - file
    - line
    argTypes:
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: ossl_assert_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/cryptlib.h
    functionUses: []
    functionsReached:
    - OPENSSL_die
    linkageType: ''
    returnType: int
    signature: 'int ossl_assert_int(int expr, const char *exprstr, const char *file,
      int line) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/cryptlib.h:249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: ossl_is_absolute_path
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/cryptlib.h
    functionUses: []
    functionsReached:
    - strchr
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ossl_is_absolute_path(const char *path) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/cryptlib.h:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 244
    functionName: ossl_ends_with_dirsep
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/cryptlib.h
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ossl_ends_with_dirsep(const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: int
    signature: 'static inline int CRYPTO_UP_REF(_Atomic int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_fetch_sub
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:70,1
    - Dst: __atomic_thread_fence
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - __atomic_thread_fence
    - __atomic_fetch_sub
    linkageType: ''
    returnType: int
    signature: 'static __inline__ int CRYPTO_DOWN_REF(int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: 'static __inline int CRYPTO_UP_REF(volatile int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_fetch_add
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - __atomic_fetch_add
    linkageType: ''
    returnType: int
    signature: 'static __inline__ int CRYPTO_UP_REF(int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: 'static __inline int CRYPTO_DOWN_REF(volatile int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd_nf
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedExchangeAdd_nf
    linkageType: ''
    returnType: int
    signature: 'static __inline int CRYPTO_UP_REF(volatile int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd_nf
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:115,1
    - Dst: __dmb
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedExchangeAdd_nf
    - __dmb
    linkageType: ''
    returnType: int
    signature: 'static __inline int CRYPTO_DOWN_REF(volatile int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: 'static __inline int CRYPTO_UP_REF(volatile int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub_explicit
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:49,1
    - Dst: atomic_thread_fence
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - atomic_thread_fence
    - atomic_fetch_sub_explicit
    linkageType: ''
    returnType: int
    signature: 'static inline int CRYPTO_DOWN_REF(_Atomic int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: 'static __inline int CRYPTO_DOWN_REF(volatile int *val, int *ret, ossl_unused
      void *lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: constant_time_lt_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb_s
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t constant_time_lt_s(size_t a, size_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: constant_time_is_zero_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_is_zero
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_is_zero_8(unsigned
      int a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: constant_time_eq_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_is_zero_s
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t constant_time_eq_s(size_t a, size_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:309,1
    - Dst: value_barrier_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: constant_time_select_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - value_barrier_s
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t constant_time_select_s(size_t mask, size_t
      a, size_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: constant_time_lt_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_lt
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_lt_8(unsigned int a,
      unsigned int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_32
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: constant_time_is_zero_32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb_32
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: constant_time_eq_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_eq
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_eq_8(unsigned int a,
      unsigned int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: constant_time_select_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_select
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_select_8(unsigned char
      mask, unsigned char a, unsigned char b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: constant_time_msb_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t constant_time_msb_s(size_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: constant_time_msb_32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t constant_time_msb_32(uint32_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: constant_time_msb_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline BN_ULONG constant_time_msb_bn(BN_ULONG a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: constant_time_ge_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_ge
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
      unsigned int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_64
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: constant_time_is_zero_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb_64
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t constant_time_is_zero_64(uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_32
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:334,1
    - Dst: value_barrier_32
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: constant_time_select_32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - value_barrier_32
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t constant_time_select_32(uint32_t mask,
      uint32_t a, uint32_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: constant_time_msb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int constant_time_msb(unsigned int a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: constant_time_lt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int constant_time_lt(unsigned int a, unsigned
      int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: constant_time_msb_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t constant_time_msb_64(uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: constant_time_lt_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb_bn
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline BN_ULONG constant_time_lt_bn(BN_ULONG a, BN_ULONG
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: constant_time_eq_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_is_zero_bn
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline BN_ULONG constant_time_eq_bn(BN_ULONG a, BN_ULONG
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_ge_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: constant_time_ge_8_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_ge_s
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_ge_8_s(size_t a, size_t
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: constant_time_eq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_is_zero
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int constant_time_eq(unsigned int a, unsigned
      int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_64
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:340,1
    - Dst: value_barrier_64
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: constant_time_select_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - value_barrier_64
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t constant_time_select_64(uint64_t mask,
      uint64_t a, uint64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_64
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: constant_time_lt_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb_64
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t constant_time_lt_64(uint64_t a, uint64_t
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: constant_time_eq_8_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_eq_s
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_eq_8_s(size_t a, size_t
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: value_barrier_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t value_barrier_64(uint64_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: value_barrier_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t value_barrier_s(size_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:427,1
    - Dst: constant_time_is_zero_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:431,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - out
    - table
    - rowsize
    - numrows
    - idx
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: constant_time_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_select_8
    - constant_time_is_zero_s
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void constant_time_lookup(void *out, const void
      *table, size_t rowsize, size_t numrows, size_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: constant_time_is_zero_bn
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb_bn
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline BN_ULONG constant_time_is_zero_bn(BN_ULONG a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: constant_time_eq_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_eq
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int constant_time_eq_int(int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:302,1
    - Dst: value_barrier
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: constant_time_select
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - value_barrier
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int constant_time_select(unsigned int
      mask, unsigned int a, unsigned int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: value_barrier_32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t value_barrier_32(uint32_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: constant_time_cond_swap_64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void constant_time_cond_swap_64(uint64_t mask,
      uint64_t *a, uint64_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - mask
    - a
    - b
    - len
    argTypes:
    - unsigned char
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 409
    functionName: constant_time_cond_swap_buff
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void constant_time_cond_swap_buff(unsigned char
      mask, unsigned char *a, unsigned char *b, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lt
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: constant_time_ge
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_lt
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int constant_time_ge(unsigned int a, unsigned
      int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: constant_time_is_zero
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int constant_time_is_zero(unsigned int
      a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: value_barrier
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned int value_barrier(unsigned int a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - unsigned int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: constant_time_select_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_select
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int constant_time_select_int(unsigned int mask,
      int a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: constant_time_cond_swap_32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void constant_time_cond_swap_32(uint32_t mask,
      uint32_t *a, uint32_t *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lt_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: constant_time_ge_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_lt_s
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t constant_time_ge_s(size_t a, size_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_s
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: constant_time_is_zero_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_msb_s
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t constant_time_is_zero_s(size_t a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: constant_time_select_int_s
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_select
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int constant_time_select_int_s(size_t mask, int
      a, int b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq_8
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: constant_time_eq_int_8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/constant_time.h
    functionUses: []
    functionsReached:
    - constant_time_eq_8
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: 'static ossl_inline unsigned char constant_time_eq_int_8(int a, int
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: is_unicode_surrogate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/unicode.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int is_unicode_surrogate(unsigned long value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_surrogate
      Src: /src/libspdm/os_stub/openssllib/openssl/include/internal/unicode.h:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: is_unicode_valid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/unicode.h
    functionUses: []
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: int
    signature: 'int is_unicode_valid(unsigned long value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: dane_ctx_st
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/internal/dane.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_STACK_OF(danetls_record)
    signature: 'DEFINE_STACK_OF(danetls_record) /* * Shared DANE context */ struct
      dane_ctx_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 1
    argNames:
    - RSA_PSS_PARAMS
    argTypes:
    - RSA_PSS_PARAMS
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: DECLARE_ASN1_DUP_FUNCTION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/include/openssl/rsa.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
    signature: 'DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) DECLARE_ASN1_DUP_FUNCTION(RSA_PSS_PARAMS)typedef
      struct rsa_oaep_params_st '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: null_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *null_gettable_params(const OSSL_PROVIDER
      *prov) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: null_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *null_query(OSSL_PROVIDER *prov, int operation_id,
      int *no_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: ossl_null_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_null_provider_init(const OSSL_CORE_HANDLE *handle, const
      OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:38,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:44,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:42,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:41,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:39,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:45,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:47,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:48,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c:48,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: null_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/nullprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_ptr
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int null_get_params(const OSSL_PROVIDER *provctx, OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: deflt_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *deflt_gettable_params(void *provctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 519
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 519
    functionName: deflt_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *deflt_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:58,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:59,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:61,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:62,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:64,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:65,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:67,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:68,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: deflt_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_ptr
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int deflt_get_params(void *provctx, OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_from_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:549,1
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:555,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:561,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:558,1
    - Dst: ossl_prov_seeding_from_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:550,1
    - Dst: ossl_prov_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:580,1
    - Dst: ossl_bio_prov_init_bio_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:581,1
    - Dst: ossl_prov_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:582,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:586,1
    - Dst: c_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:587,1
    - Dst: ossl_prov_ctx_set0_core_bio_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:589,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:588,1
    - Dst: ossl_prov_cache_exported_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:592,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 595
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 595
    functionName: ossl_default_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_seeding_from_dispatch
    - ossl_prov_bio_from_dispatch
    - ossl_prov_cache_exported_algorithms
    - OSSL_FUNC_core_get_libctx
    - OSSL_FUNC_core_get_params
    - OSSL_FUNC_core_gettable_params
    - ossl_prov_ctx_free
    - ossl_prov_ctx_set0_handle
    - ossl_prov_ctx_set0_core_bio_method
    - ossl_prov_ctx_new
    - ossl_bio_prov_init_bio_method
    - ossl_prov_ctx_set0_libctx
    - c_get_libctx
    linkageType: ''
    returnType: int
    signature: 'int ossl_default_provider_init(const OSSL_CORE_HANDLE *handle, const
      OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:524,1
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:524,1
    - Dst: ossl_prov_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: deflt_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/defltprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_free
    - ossl_prov_ctx_get0_core_bio_method
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void deflt_teardown(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: base_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *base_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:53,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:55,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:57,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:60,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:58,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:61,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:63,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:64,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: base_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_ptr
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int base_get_params(void *provctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: base_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *base_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:110,1
    - Dst: ossl_prov_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:111,1
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: base_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_free
    - ossl_prov_ctx_get0_core_bio_method
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: 'static void base_teardown(void *provctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_from_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:133,1
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:138,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:144,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:141,1
    - Dst: ossl_prov_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:163,1
    - Dst: ossl_bio_prov_init_bio_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:164,1
    - Dst: ossl_prov_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:165,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:169,1
    - Dst: c_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:170,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:171,1
    - Dst: ossl_prov_ctx_set0_core_bio_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c:172,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 177
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 177
    functionName: ossl_base_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/baseprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_bio_from_dispatch
    - OSSL_FUNC_core_get_params
    - OSSL_FUNC_core_get_libctx
    - OSSL_FUNC_core_gettable_params
    - ossl_prov_ctx_free
    - ossl_prov_ctx_set0_handle
    - ossl_prov_ctx_set0_core_bio_method
    - ossl_prov_ctx_new
    - ossl_bio_prov_init_bio_method
    - ossl_prov_ctx_set0_libctx
    - c_get_libctx
    linkageType: ''
    returnType: int
    signature: 'int ossl_base_provider_init(const OSSL_CORE_HANDLE *handle, const
      OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: ossl_set_error_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/prov_running.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_set_error_state(const char *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ossl_prov_is_running
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/prov_running.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_is_running(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: legacy_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *legacy_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:167,1
    - Dst: ossl_prov_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:168,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: legacy_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_free
    - PROV_LIBCTX_OF
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void legacy_teardown(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:187,1
    - Dst: legacy_teardown
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:190,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:194,1
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:188,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:189,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: OSSL_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_free
    - legacy_teardown
    - ossl_prov_ctx_new
    - ossl_prov_ctx_set0_libctx
    - OSSL_LIB_CTX_new_child
    - ossl_prov_ctx_set0_handle
    linkageType: ''
    returnType: int
    signature: 'int OSSL_provider_init(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH
      *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: legacy_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *legacy_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:53,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:59,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:54,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:57,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:56,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:60,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:62,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:63,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c:63,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: legacy_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/legacyprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_ptr
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int legacy_get_params(void *provctx, OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:25,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:32,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:26,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:33,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:28,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:34,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:38,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:41,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:45,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:46,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:47,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_DIGEST*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 49
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 49
    functionName: self_test_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - OSSL_SELF_TEST_onend
    - memcmp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_DigestInit_ex
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int self_test_digest(const ST_KAT_DIGEST *t, OSSL_SELF_TEST
      *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:93,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:105,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:98,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:95,1
    - Dst: cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:104,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:107,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:110,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:113,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:119,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:121,1
    - Dst: cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:128,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:143,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:142,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:131,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:133,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:136,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:129,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:144,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_CIPHER*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 146
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 146
    functionName: self_test_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_onend
    - memcmp
    - EVP_CIPHER_free
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - cipher_init
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int self_test_cipher(const ST_KAT_CIPHER *t, OSSL_SELF_TEST
      *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:205,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:211,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:215,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:207,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:219,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:222,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:224,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:230,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:233,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:235,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:240,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:243,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:241,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:244,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:245,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:242,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 32
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_KDF*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 247
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 247
    functionName: self_test_kdf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - OSSL_PARAM_BLD_free
    - add_params
    - EVP_KDF_CTX_new
    - OSSL_PARAM_free
    - memcmp
    - OSSL_SELF_TEST_onend
    - EVP_KDF_fetch
    - BN_CTX_free
    - EVP_KDF_derive
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_KDF_free
    - OSSL_PARAM_BLD_new
    - EVP_KDF_CTX_free
    - BN_CTX_new_ex
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int self_test_kdf(const ST_KAT_KDF *t, OSSL_SELF_TEST *st,
      OSSL_LIB_CTX *libctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:465,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:474,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:510,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:497,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:516,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:520,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:522,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:461,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:469,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:498,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:507,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:493,1
    - Dst: EVP_PKEY_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:496,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:490,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:515,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:519,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:459,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:471,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:484,1
    - Dst: EVP_PKEY_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:511,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:518,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:477,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:478,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:482,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:488,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:492,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:517,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:521,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 64
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_SIGN*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 524
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 524
    functionName: self_test_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - memcmp
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_utf8_string
    - BN_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign_init
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_CTX_set_params
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_PKEY_verify
    - add_params
    - OSSL_PARAM_free
    - EVP_PKEY_sign
    - OSSL_PARAM_BLD_new
    - strlen
    - EVP_PKEY_verify_init
    - OSSL_SELF_TEST_onbegin
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int self_test_sign(const ST_KAT_SIGN *t, OSSL_SELF_TEST *st,
      OSSL_LIB_CTX *libctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:544,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:556,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:559,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:560,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:567,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:596,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:604,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:608,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:555,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:572,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:575,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:603,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:607,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:609,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:551,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:564,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:577,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:602,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:606,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:546,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:553,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:566,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:580,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:594,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:589,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:585,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:601,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:605,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 68
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_ASYM_CIPHER*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 611
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 611
    functionName: self_test_asym_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_decrypt
    - memcmp
    - EVP_PKEY_fromdata_init
    - BN_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_to_param
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_CTX_set_params
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_PKEY_encrypt
    - add_params
    - EVP_PKEY_encrypt_init
    - OSSL_PARAM_free
    - EVP_PKEY_decrypt_init
    - OSSL_PARAM_BLD_new
    - OSSL_SELF_TEST_onbegin
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int self_test_asym_cipher(const ST_KAT_ASYM_CIPHER *t, OSSL_SELF_TEST
      *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:633,1
    - Dst: self_test_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 638
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 638
    functionName: self_test_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - self_test_cipher
    linkageType: ''
    returnType: int
    signature: 'static int self_test_ciphers(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:655,1
    - Dst: self_test_kdf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 660
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 660
    functionName: self_test_kdfs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - self_test_kdf
    linkageType: ''
    returnType: int
    signature: 'static int self_test_kdfs(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:679,1
    - Dst: self_test_ka
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 686
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 686
    functionName: self_test_kas
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - self_test_ka
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int self_test_kas(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:160,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:175,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:169,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:163,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:164,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:181,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 25
    argCount: 3
    argNames:
    - bld
    - params
    - ctx
    argTypes:
    - OSSL_PARAM_BLD*
    - ST_KAT_PARAM*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 192
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 192
    functionName: add_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_int
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int add_params(OSSL_PARAM_BLD *bld, const ST_KAT_PARAM *params,
      BN_CTX *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:269,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:282,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:294,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:306,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:349,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:355,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:268,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:273,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:264,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:314,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:323,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:354,1
    - Dst: EVP_RAND_get_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:287,1
    - Dst: EVP_RAND_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:304,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:317,1
    - Dst: EVP_RAND_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:333,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:338,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:340,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:356,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:343,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:262,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:275,1
    - Dst: EVP_RAND_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:278,1
    - Dst: EVP_RAND_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:283,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:302,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:293,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:298,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:311,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:289,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:326,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 59
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_DRBG*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 358
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 358
    functionName: self_test_drbg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - EVP_RAND_fetch
    - EVP_RAND_generate
    - EVP_RAND_instantiate
    - memcmp
    - OSSL_PARAM_construct_uint
    - EVP_RAND_verify_zeroization
    - EVP_RAND_CTX_free
    - OSSL_SELF_TEST_onend
    - EVP_RAND_CTX_set_params
    - EVP_RAND_uninstantiate
    - EVP_RAND_CTX_new
    - EVP_RAND_get_strength
    - OSSL_PARAM_construct_utf8_string
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_RAND_free
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int self_test_drbg(const ST_KAT_DRBG *t, OSSL_SELF_TEST *st,
      OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:644,1
    - Dst: self_test_asym_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 649
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 649
    functionName: self_test_asym_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - self_test_asym_cipher
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int self_test_asym_ciphers(OSSL_SELF_TEST *st, OSSL_LIB_CTX
      *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:666,1
    - Dst: self_test_drbg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: self_test_drbgs
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - self_test_drbg
    linkageType: ''
    returnType: int
    signature: 'static int self_test_drbgs(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:692,1
    - Dst: self_test_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 697
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 697
    functionName: self_test_signatures
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - self_test_sign
    linkageType: ''
    returnType: int
    signature: 'static int self_test_signatures(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:62,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:73,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:66,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:65,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:74,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:76,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:78,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:79,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:80,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - cipher
    - t
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ST_KAT_CIPHER*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: cipher_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit_ex
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_CTX_set_flags
    linkageType: ''
    returnType: int
    signature: 'static int cipher_init(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      const ST_KAT_CIPHER *t, int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:622,1
    - Dst: self_test_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: self_test_digests
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - self_test_digest
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int self_test_digests(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_test_digests
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:708,1
    - Dst: self_test_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:710,1
    - Dst: self_test_signatures
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:712,1
    - Dst: self_test_drbgs
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:716,1
    - Dst: self_test_kdfs
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:714,1
    - Dst: self_test_kas
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:718,1
    - Dst: self_test_asym_ciphers
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 724
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 724
    functionName: SELF_TEST_kats
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - self_test_signatures
    - self_test_ciphers
    - self_test_kas
    - self_test_kdfs
    - self_test_drbgs
    - self_test_asym_ciphers
    - self_test_digests
    linkageType: ''
    returnType: int
    signature: 'int SELF_TEST_kats(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:380,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:429,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:432,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:430,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:384,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:376,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:385,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:389,1
    - Dst: add_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:390,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:398,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:415,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:404,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:409,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:405,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:374,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:425,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:427,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:431,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:433,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:387,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:393,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:413,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:402,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:414,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:418,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:401,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:421,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:426,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c:428,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 64
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_KAS*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 435
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 435
    functionName: self_test_ka
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test_kats.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - memcmp
    - EVP_PKEY_fromdata_init
    - BN_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_derive_init
    - OSSL_PARAM_BLD_to_param
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_PKEY_derive_set_peer
    - add_params
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_new
    - OSSL_SELF_TEST_onbegin
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int self_test_ka(const ST_KAT_KAS *t, OSSL_SELF_TEST *st, OSSL_LIB_CTX
      *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_provider_init_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fips_entry.c:17,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: OSSL_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fips_entry.c
    functionUses: []
    functionsReached:
    - OSSL_provider_init_int
    linkageType: ''
    returnType: int
    signature: 'int OSSL_provider_init(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH
      *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: fips_prov_ossl_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *fips_prov_ossl_ctx_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:126,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:134,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:142,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:130,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:138,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:146,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:150,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:154,1
    - Dst: c_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - FIPS_GLOBAL*
    constantsTouched: []
    func_position:
      end: 162
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 162
    functionName: fips_get_params_from_core
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_ptr
    - ERR_raise
    - c_get_params
    linkageType: ''
    returnType: int
    signature: 'static int fips_get_params_from_core(FIPS_GLOBAL *fgbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:789,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - lib
    - reason
    - fmt
    - args
    argTypes:
    - int
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: ERR_vset_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_vset_error
    - ERR_PACK
    linkageType: ''
    returnType: void
    signature: 'void ERR_vset_error(int lib, int reason, const char *fmt, va_list
      args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 834
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 834
    functionName: CRYPTO_zalloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_CRYPTO_zalloc
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_zalloc(size_t num, const char *file, int line) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: fips_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *fips_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: fips_prov_ossl_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void fips_prov_ossl_ctx_free(void *fgbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_set_error_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: ERR_set_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_set_error_mark
    linkageType: ''
    returnType: int
    signature: 'int ERR_set_mark(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 839
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 839
    functionName: CRYPTO_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_CRYPTO_free
    linkageType: ''
    returnType: void
    signature: 'void CRYPTO_free(void *ptr, const char *file, int line) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:548,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:561,1
    - Dst: ossl_prov_seeding_from_dispatch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:550,1
    - Dst: OSSL_FUNC_core_thread_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:570,1
    - Dst: OSSL_FUNC_core_set_error_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:576,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:579,1
    - Dst: OSSL_FUNC_core_pop_error_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:589,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:592,1
    - Dst: OSSL_FUNC_CRYPTO_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:601,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:604,1
    - Dst: OSSL_FUNC_BIO_vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:646,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:649,1
    - Dst: SELF_TEST_post
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:707,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:671,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:631,1
    - Dst: fips_teardown
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:718,1
    - Dst: OSSL_FUNC_self_test_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:649,1
    - Dst: ossl_prov_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:660,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:702,1
    - Dst: OSSL_FUNC_BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:640,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:561,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:567,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:570,1
    - Dst: OSSL_FUNC_core_new_error
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:573,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:576,1
    - Dst: OSSL_FUNC_core_clear_last_error_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:586,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:589,1
    - Dst: OSSL_FUNC_CRYPTO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:598,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:601,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:607,1
    - Dst: OSSL_FUNC_CRYPTO_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:624,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:643,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:667,1
    - Dst: OSSL_FUNC_CRYPTO_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:620,1
    - Dst: OSSL_FUNC_CRYPTO_secure_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:628,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:646,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:611,1
    - Dst: OSSL_FUNC_BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:632,1
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:564,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:567,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:585,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:573,1
    - Dst: OSSL_FUNC_core_set_error_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:582,1
    - Dst: OSSL_FUNC_CRYPTO_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:595,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:598,1
    - Dst: OSSL_FUNC_CRYPTO_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:616,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:619,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:635,1
    - Dst: fips_get_params_from_core
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:688,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:713,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:712,1
    - Dst: OSSL_FUNC_BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:643,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:661,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:623,1
    - Dst: ossl_prov_cache_exported_algorithms
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:705,1
    - Dst: OPENSSL_cpuid_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:657,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:708,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:719,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:564,1
    - Dst: OSSL_FUNC_core_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:579,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:582,1
    - Dst: OSSL_FUNC_CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:592,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:595,1
    - Dst: OSSL_FUNC_CRYPTO_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:604,1
    - Dst: OSSL_FUNC_CRYPTO_clear_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:608,1
    - Dst: OSSL_FUNC_CRYPTO_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:612,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:615,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:627,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:697,1
    - Dst: SELF_TEST_disable_conditional_error_state
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:698,1
    - Dst: OSSL_FUNC_BIO_new_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:636,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:639,1
    - Dst: set_self_test_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:686,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 102
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 722
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 722
    functionName: OSSL_provider_init_int
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_CRYPTO_secure_clear_free
    - OSSL_FUNC_core_pop_error_to_mark
    - OSSL_FUNC_BIO_read_ex
    - OSSL_FUNC_core_new_error
    - OSSL_FUNC_CRYPTO_secure_free
    - OSSL_FUNC_core_gettable_params
    - OSSL_FUNC_core_thread_start
    - ossl_prov_ctx_new
    - OSSL_FUNC_CRYPTO_realloc
    - ossl_lib_ctx_get_data
    - SELF_TEST_disable_conditional_error_state
    - OSSL_FUNC_self_test_cb
    - ossl_prov_cache_exported_algorithms
    - OSSL_FUNC_core_get_libctx
    - OSSL_FUNC_core_get_params
    - memset
    - strcmp
    - OSSL_LIB_CTX_new
    - OSSL_FUNC_core_vset_error
    - ossl_prov_ctx_set0_libctx
    - OSSL_FUNC_BIO_new_membuf
    - OSSL_FUNC_core_clear_last_error_mark
    - OSSL_FUNC_CRYPTO_secure_allocated
    - OSSL_FUNC_BIO_new_file
    - fips_teardown
    - OSSL_FUNC_CRYPTO_clear_free
    - OSSL_FUNC_CRYPTO_secure_zalloc
    - OSSL_FUNC_BIO_free
    - fips_get_params_from_core
    - OSSL_FUNC_CRYPTO_malloc
    - OSSL_FUNC_BIO_vsnprintf
    - ossl_prov_ctx_set0_handle
    - ossl_prov_seeding_from_dispatch
    - set_func
    - OSSL_FUNC_CRYPTO_free
    - OSSL_FUNC_CRYPTO_clear_realloc
    - OPENSSL_cpuid_setup
    - SELF_TEST_post
    - OSSL_LIB_CTX_free
    - ERR_raise
    - OSSL_FUNC_core_set_error_debug
    - OSSL_FUNC_CRYPTO_secure_malloc
    - set_self_test_cb
    - OSSL_FUNC_CRYPTO_zalloc
    - OSSL_FUNC_core_set_error_mark
    linkageType: ''
    returnType: int
    signature: 'int OSSL_provider_init_int(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH
      *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:210,1
    - Dst: SELF_TEST_post
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:215,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:210,1
    - Dst: set_self_test_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: fips_self_test
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - set_self_test_cb
    - ossl_prov_ctx_get0_libctx
    - ossl_lib_ctx_get_data
    - SELF_TEST_post
    linkageType: ''
    returnType: int
    signature: 'static int fips_self_test(void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:742,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:762,1
    - Dst: c_internal_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:761,1
    - Dst: ossl_prov_ctx_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:752,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:760,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 766
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 766
    functionName: ossl_fips_intern_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_internal_get_libctx
    - OSSL_FUNC_core_get_libctx
    - ossl_prov_ctx_new
    - ossl_prov_ctx_set0_libctx
    - ossl_prov_ctx_set0_handle
    linkageType: ''
    returnType: int
    signature: 'int ossl_fips_intern_provider_init(const OSSL_CORE_HANDLE *handle,
      const OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_clear_last_error_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_clear_last_error_mark
    linkageType: ''
    returnType: int
    signature: 'int ERR_clear_last_mark(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: CRYPTO_secure_zalloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    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_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 875
    functionName: CRYPTO_secure_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    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: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:887,1
    - Dst: c_BIO_vsnprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:888,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - n
    - format
    - '...'
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: BIO_snprintf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - va_end
    - c_BIO_vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int BIO_snprintf(char *buf, size_t n, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_new_error
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: ERR_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_new_error
    linkageType: ''
    returnType: void
    signature: 'void ERR_new(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_pop_error_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_pop_error_to_mark
    linkageType: ''
    returnType: int
    signature: 'int ERR_pop_to_mark(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_secure_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 870
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 870
    functionName: CRYPTO_secure_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    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_allocated
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: CRYPTO_secure_allocated
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_CRYPTO_secure_allocated
    linkageType: ''
    returnType: int
    signature: 'int CRYPTO_secure_allocated(const void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 900
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 900
    functionName: FIPS_security_check_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: int
    signature: 'int FIPS_security_check_enabled(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: fips_intern_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_free
    linkageType: ''
    returnType: void
    signature: 'static void fips_intern_teardown(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:172,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:179,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:177,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:176,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:172,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:180,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:182,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:183,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:185,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:186,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:186,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:189,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: fips_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_utf8_ptr
    - ossl_prov_ctx_get0_libctx
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - ossl_lib_ctx_get_data
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int fips_get_params(void *provctx, OSSL_PARAM params[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:461,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 5
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 487
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 487
    functionName: fips_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *fips_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_set_error_debug
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: ERR_set_debug
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_set_error_debug
    linkageType: ''
    returnType: void
    signature: 'void ERR_set_debug(const char *file, int line, const char *func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: FIPS_get_core_handle
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_CORE_HANDLE*
    signature: 'const OSSL_CORE_HANDLE *FIPS_get_core_handle(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 844
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 844
    functionName: CRYPTO_clear_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    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_clear_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - addr
    - old_num
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: CRYPTO_clear_realloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_CRYPTO_clear_realloc
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num,
      const char *file, int line) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_get_core_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:197,1
    - Dst: c_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:200,1
    - Dst: c_stcbfn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - FIPS_GLOBAL*
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: set_self_test_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_stcbfn
    - FIPS_get_core_handle
    - c_get_libctx
    linkageType: ''
    returnType: void
    signature: 'static void set_self_test_cb(FIPS_GLOBAL *fgbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:491,1
    - Dst: ossl_prov_ctx_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:492,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: fips_teardown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_free
    - PROV_LIBCTX_OF
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void fips_teardown(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:782,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:784,1
    - Dst: ERR_PACK
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:783,1
    - Dst: c_vset_error
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    - '...'
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 785
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 785
    functionName: ERR_set_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_vset_error
    - va_end
    - ERR_PACK
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void ERR_set_error(int lib, int reason, const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: CRYPTO_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    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_realloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - addr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 849
    functionName: CRYPTO_realloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    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_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: CRYPTO_secure_malloc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_CRYPTO_secure_malloc
    linkageType: ''
    returnType: void*
    signature: 'void *CRYPTO_secure_malloc(size_t num, const char *file, int line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:905,1
    - Dst: c_stcbfn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:909,1
    - Dst: FIPS_get_core_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:909,1
    - Dst: c_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c:909,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CALLBACK**
    - void**
    constantsTouched: []
    func_position:
      end: 916
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 916
    functionName: OSSL_SELF_TEST_get_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/fipsprov.c
    functionUses: []
    functionsReached:
    - c_stcbfn
    - FIPS_get_core_handle
    - c_get_libctx
    - assert
    linkageType: ''
    returnType: void
    signature: 'void OSSL_SELF_TEST_get_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK
      **cb, void **cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: __TERM__cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: 'void __TERM__cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: DEP_FINI_ATTRIBUTE
    signature: 'DEP_FINI_ATTRIBUTE void cleanup(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:190,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:199,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:195,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:200,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:192,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:202,1
    - Dst: read_ex_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:206,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:209,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:212,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:215,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:217,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:222,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:223,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:221,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    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*
    constantsTouched: []
    func_position:
      end: 225
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 225
    functionName: verify_integrity
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_onend
    - memcmp
    - EVP_MAC_free
    - EVP_MAC_update
    - EVP_MAC_CTX_free
    - read_ex_cb
    - OSSL_PARAM_construct_utf8_string
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_MAC_init
    - OSSL_PARAM_construct_end
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int verify_integrity(OSSL_CORE_BIO *bio, OSSL_FUNC_BIO_read_ex_fn
      read_ex_cb, unsigned char *expected, size_t expected_len, OSSL_LIB_CTX *libctx,
      OSSL_SELF_TEST *ev, const char *event_type) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:267,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:295,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:318,1
    - Dst: SELF_TEST_kats
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:337,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:345,1
    - Dst: set_fips_state
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:353,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:253,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:257,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:259,1
    - Dst: set_fips_state
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:265,1
    - Dst: verify_integrity
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:292,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:324,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:344,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:244,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:247,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:262,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:274,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:306,1
    - Dst: verify_integrity
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:320,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:338,1
    - Dst: ossl_set_error_state
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:355,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:356,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:268,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:309,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:312,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:285,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:278,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:282,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:346,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 85
    argCount: 2
    argNames:
    - st
    - on_demand_test
    argTypes:
    - SELF_TEST_POST_PARAMS*
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 359
    functionName: SELF_TEST_post
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - tsan_load
    - ERR_raise
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ossl_set_error_state
    - OPENSSL_free
    - verify_integrity
    - SELF_TEST_kats
    - OSSL_SELF_TEST_new
    - OPENSSL_hexstr2buf
    - RUN_ONCE
    - OSSL_SELF_TEST_free
    - set_fips_state
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int SELF_TEST_post(SELF_TEST_POST_PARAMS *st, int on_demand_test) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: SELF_TEST_disable_conditional_error_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SELF_TEST_disable_conditional_error_state(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: (do_fips_self_test_init)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_fips_self_test_init) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: _init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: 'void _init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: _cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: 'void _cleanup(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:94,1
    - Dst: cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: DllMain
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - cleanup
    - init
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:368,1
    - Dst: set_fips_state
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:371,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:374,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: ossl_set_error_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - strcmp
    - ERR_raise
    - set_fips_state
    linkageType: ''
    returnType: void
    signature: 'void ossl_set_error_state(const char *type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:383,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:387,1
    - Dst: tsan_counter
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: ossl_prov_is_running
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - tsan_load
    - ERR_raise
    - tsan_counter
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_is_running(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: __INIT__init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: 'void __INIT__init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsan_store
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: set_fips_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - tsan_store
    linkageType: ''
    returnType: void
    signature: 'static void set_fips_state(int state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsan_store
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/fips/self_test.c
    functionUses: []
    functionsReached:
    - tsan_store
    linkageType: ''
    returnType: DEP_INIT_ATTRIBUTE
    signature: 'DEP_INIT_ATTRIBUTE void init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:79,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: rsakem_opname2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - name2id
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_opname2id(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:98,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: rsakem_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - RSA_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void rsakem_freectx(void *vprsactx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:127,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:132,1
    - Dst: rsakem_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:135,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - vprsactx
    - vrsa
    - params
    - operation
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: rsakem_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - RSA_free
    - ossl_rsa_check_key
    - RSA_up_ref
    - rsakem_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_init(void *vprsactx, void *vrsa, const OSSL_PARAM
      params[], int operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsakem_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: rsakem_decapsulate_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - rsakem_init
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_decapsulate_init(void *vprsactx, void *vrsa, const
      OSSL_PARAM params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:179,1
    - Dst: rsakem_opname2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: rsakem_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - rsakem_opname2id
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_set_ctx_params(void *vprsactx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: rsakem_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsakem_settable_ctx_params(ossl_unused void
      *vprsactx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:298,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:315,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - prsactx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 316
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 316
    functionName: rsasve_recover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - RSA_size
    - ERR_raise
    - RSA_private_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int rsasve_recover(PROV_RSA_CTX *prsactx, unsigned char *out,
      size_t *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsasve_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 5
    argNames:
    - vprsactx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: rsakem_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - rsasve_generate
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_generate(void *vprsactx, unsigned char *out, size_t
      *outlen, unsigned char *secret, size_t *secretlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - name
    - map
    - sz
    argTypes:
    - char*
    - OSSL_ITEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: name2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: 'static int name2id(const char *name, const OSSL_ITEM *map, size_t
      sz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:107,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:112,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: rsakem_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - RSA_up_ref
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *rsakem_dupctx(void *vprsactx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:84,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: rsakem_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *rsakem_newctx(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsakem_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: rsakem_encapsulate_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - rsakem_init
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_encapsulate_init(void *vprsactx, void *vrsa, const
      OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: rsakem_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_get_ctx_params(void *vprsactx, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: rsakem_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsakem_gettable_ctx_params(ossl_unused void
      *vprsactx, ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsasve_recover
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:338,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 5
    argNames:
    - vprsactx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: rsakem_recover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - rsasve_recover
    linkageType: ''
    returnType: int
    signature: 'static int rsakem_recover(void *vprsactx, unsigned char *out, size_t
      *outlen, const unsigned char *in, size_t inlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:215,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:227,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:226,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:225,1
    - Dst: ossl_rsa_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:215,1
    - Dst: BN_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:229,1
    - Dst: RSA_get0_n
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:229,1
    - Dst: BN_sub_word
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:230,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:231,1
    - Dst: BN_add_word
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:232,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:235,1
    - Dst: BN_bn2binpad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:233,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - rsa_pub
    - out
    - outlen
    argTypes:
    - RSA*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: rsasve_gen_rand_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - BN_CTX_get
    - BN_sub_word
    - BN_CTX_end
    - BN_add_word
    - BN_priv_rand_range_ex
    - BN_copy
    - BN_CTX_free
    - BN_bn2binpad
    - RSA_get0_n
    - BN_CTX_start
    - ossl_rsa_get0_libctx
    - BN_CTX_secure_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int rsasve_gen_rand_bytes(RSA *rsa_pub, unsigned char *out,
      int outlen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:251,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:282,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:255,1
    - Dst: rsasve_gen_rand_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:270,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c:274,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 5
    argNames:
    - prsactx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 285
    functionName: rsasve_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - RSA_size
    - OPENSSL_cleanse
    - rsasve_gen_rand_bytes
    - RSA_public_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int rsasve_generate(PROV_RSA_CTX *prsactx, unsigned char *out,
      size_t *outlen, unsigned char *secret, size_t *secretlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: x25519_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - ecx_newctx
    linkageType: ''
    returnType: void*
    signature: 'static void *x25519_newctx(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:77,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:83,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:88,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - vecxctx
    - vkey
    - OSSL_PARAM
    argTypes:
    - void*
    - void*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: ecx_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_up_ref
    - ossl_ecx_key_free
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_init(void *vecxctx, void *vkey, ossl_unused const OSSL_PARAM
      params[]) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:132,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:126,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:141,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:148,1
    - Dst: s390x_x25519_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:151,1
    - Dst: ossl_x25519
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:158,1
    - Dst: s390x_x448_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:165,1
    - Dst: ossl_x448
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:167,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:174,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - vecxctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 181
    functionName: ecx_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    - ERR_raise
    - ossl_assert
    - ossl_x25519
    - s390x_x448_mul
    - ossl_x448
    - s390x_x25519_mul
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_derive(void *vecxctx, unsigned char *secret, size_t
      *secretlen, size_t outlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:209,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:208,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:201,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:210,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:214,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:215,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:216,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - vecxctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 222
    functionName: ecx_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_ecx_key_up_ref
    - ossl_ecx_key_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecx_dupctx(void *vecxctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:47,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:50,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - provctx
    - keylen
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: ecx_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecx_newctx(void *provctx, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_newctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: x448_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - ecx_newctx
    linkageType: ''
    returnType: void*
    signature: 'static void *x448_newctx(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:99,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:106,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - vecxctx
    - vkey
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: ecx_set_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_up_ref
    - ossl_ecx_key_free
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_set_peer(void *vecxctx, void *vkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:187,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:190,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - vecxctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: ecx_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_ecx_key_free
    linkageType: ''
    returnType: void
    signature: 'static void ecx_freectx(void *vecxctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:130,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:136,1
    - Dst: dh_match_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:133,1
    - Dst: DH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - vpdhctx
    - vdh
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: dh_set_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - dh_match_params
    - DH_up_ref
    - DH_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_set_peer(void *vpdhctx, void *vdh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:99,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:104,1
    - Dst: DH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:102,1
    - Dst: dh_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:107,1
    - Dst: ossl_dh_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - vpdhctx
    - vdh
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: dh_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - ossl_dh_check_key
    - DH_free
    - DH_up_ref
    - dh_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_init(void *vpdhctx, void *vdh, const OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:191,1
    - Dst: dh_plain_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:197,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:196,1
    - Dst: dh_plain_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:194,1
    - Dst: ossl_dh_kdf_X9_42_asn1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:205,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:217,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 4
    argNames:
    - vpdhctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 219
    functionName: dh_X9_42_kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_dh_kdf_X9_42_asn1
    - dh_plain_derive
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    linkageType: ''
    returnType: int
    signature: 'static int dh_X9_42_kdf_derive(void *vpdhctx, unsigned char *secret,
      size_t *secretlen, size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:245,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:249,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:247,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:246,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:248,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - vpdhctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: dh_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - OPENSSL_free
    - DH_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void dh_freectx(void *vpdhctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:321,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:329,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:343,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:389,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:361,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:375,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:387,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:370,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:398,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:403,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:324,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:347,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:401,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:339,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:354,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:380,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:334,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:351,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:352,1
    - Dst: ossl_digest_is_allowed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:353,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:394,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:365,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 2
    argNames:
    - vpdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 409
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 409
    functionName: dh_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OSSL_PARAM_get_size_t
    - strcmp
    - OPENSSL_free
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - ossl_digest_is_allowed
    - OSSL_PARAM_get_uint
    - EVP_MD_free
    - EVP_MD_fetch
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int dh_set_ctx_params(void *vpdhctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: dh_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_settable_ctx_params(ossl_unused void *vpdhctx,
      ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: dh_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_gettable_ctx_params(ossl_unused void *vpdhctx,
      ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:84,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:87,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: dh_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_newctx(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:151,1
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:161,1
    - Dst: DH_compute_key_padded
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:167,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:155,1
    - Dst: DH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - vpdhctx
    - secret
    - secretlen
    - outlen
    - pad
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: dh_plain_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - DH_compute_key_padded
    - DH_size
    - DH_get0_key
    - DH_compute_key
    linkageType: ''
    returnType: int
    signature: 'static int dh_plain_derive(void *vpdhctx, unsigned char *secret, size_t
      *secretlen, size_t outlen, unsigned int pad) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:226,1
    - Dst: dh_X9_42_kdf_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:234,1
    - Dst: dh_plain_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 4
    argNames:
    - vpdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: dh_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - dh_X9_42_kdf_derive
    - dh_plain_derive
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_derive(void *vpdhctx, unsigned char *secret, size_t
      *psecretlen, size_t outlen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:259,1
    - Dst: DH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:278,1
    - Dst: DH_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:273,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:262,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:283,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:290,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:297,1
    - Dst: dh_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:304,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 1
    argNames:
    - vpdhctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 306
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 306
    functionName: dh_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - EVP_MD_up_ref
    - OPENSSL_memdup
    - OPENSSL_zalloc
    - dh_freectx
    - DH_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_dupctx(void *vpdhctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:452,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:467,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:473,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:475,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:471,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:479,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:480,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:483,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:485,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:488,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:490,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - vpdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 495
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 495
    functionName: dh_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_name
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int dh_get_ctx_params(void *vpdhctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:115,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:116,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - peer
    argTypes:
    - DH*
    - DH*
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: dh_match_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: []
    functionsReached:
    - ossl_dh_get0_params
    - ossl_ffc_params_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int dh_match_params(DH *priv, DH *peer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:87,1
    - Dst: kdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:94,1
    - Dst: ossl_kdf_data_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - vpkdfctx
    - vkdf
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: kdf_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - ossl_kdf_data_up_ref
    - kdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_init(void *vpkdfctx, void *vkdf, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:134,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:137,1
    - Dst: ossl_kdf_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - vpkdfctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: kdf_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - ossl_kdf_data_free
    - EVP_KDF_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_freectx(void *vpkdfctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - vpkdfctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: kdf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int kdf_set_ctx_params(void *vpkdfctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:186,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:193,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:194,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - vpkdfctx
    - provctx
    - kdfname
    argTypes:
    - ossl_unused*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: kdf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - EVP_KDF_fetch
    - EVP_KDF_free
    - EVP_KDF_settable_ctx_params
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_settable_ctx_params(ossl_unused void
      *vpkdfctx, void *provctx, const char *kdfname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:49,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:61,1
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:58,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:52,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:58,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:62,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - kdfname
    - provctx
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: kdf_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_new
    - EVP_KDF_fetch
    - OPENSSL_free
    - OPENSSL_zalloc
    - EVP_KDF_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_newctx(const char *kdfname, void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:145,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:156,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:148,1
    - Dst: ossl_kdf_data_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:159,1
    - Dst: EVP_KDF_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:154,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:160,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - vpkdfctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 166
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 166
    functionName: kdf_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - EVP_KDF_CTX_free
    - ossl_kdf_data_up_ref
    - EVP_KDF_CTX_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_dupctx(void *vpkdfctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:116,1
    - Dst: EVP_KDF_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:122,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - vpkdfctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_get_kdf_size
    - ERR_raise
    - EVP_KDF_derive
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_derive(void *vpkdfctx, unsigned char *secret, size_t
      *secretlen, size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - vpkdfctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: kdf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - EVP_KDF_CTX_get_params
    linkageType: ''
    returnType: int
    signature: 'static int kdf_get_ctx_params(void *vpkdfctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:214,1
    - Dst: EVP_KDF_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:221,1
    - Dst: EVP_KDF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:222,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - vpkdfctx
    - provctx
    - kdfname
    argTypes:
    - ossl_unused*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: kdf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: []
    functionsReached:
    - EVP_KDF_fetch
    - EVP_KDF_free
    - EVP_KDF_gettable_ctx_params
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_gettable_ctx_params(ossl_unused void
      *vpkdfctx, void *provctx, const char *kdfname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:86,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:89,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: ecdh_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecdh_newctx(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:128,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:126,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:124,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:126,1
    - Dst: EC_GROUP_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:135,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - peer
    argTypes:
    - EC_KEY*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: ecdh_match_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EC_GROUP_cmp
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_match_params(const EC_KEY *priv, const EC_KEY *peer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:163,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:167,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:164,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:166,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vpecdhctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: ecdh_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_MD_free
    - EC_KEY_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void ecdh_freectx(void *vpecdhctx) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:239,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:255,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:243,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:260,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:252,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:266,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:271,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:275,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:279,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:283,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:297,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:302,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:309,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:307,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:293,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:286,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:284,1
    - Dst: ossl_digest_is_allowed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:285,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 2
    argNames:
    - vpecdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 315
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 315
    functionName: ecdh_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - strcmp
    - OPENSSL_free
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - ossl_digest_is_allowed
    - EVP_MD_free
    - EVP_MD_fetch
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_set_ctx_params(void *vpecdhctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpecdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: ecdh_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecdh_settable_ctx_params(ossl_unused void
      *vpecdhctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:419,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - k
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: ecdh_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_get_degree
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline size_t ecdh_size(const EC_KEY *k) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:520,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:526,1
    - Dst: ecdh_plain_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:523,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:525,1
    - Dst: ecdh_plain_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:529,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:533,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:544,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - vpecdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 546
    functionName: ecdh_X9_63_kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - ossl_ecdh_kdf_X9_63
    - ERR_raise
    - ecdh_plain_derive
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ecdh_X9_63_kdf_derive(void *vpecdhctx, unsigned
      char *secret, size_t *psecretlen, size_t outlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:145,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:150,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:153,1
    - Dst: ecdh_match_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:148,1
    - Dst: ossl_ec_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - vpecdhctx
    - vecdh
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: ecdh_set_peer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - ossl_ec_check_key
    - EC_KEY_up_ref
    - ecdh_match_params
    - EC_KEY_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_set_peer(void *vpecdhctx, void *vecdh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:105,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:108,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:110,1
    - Dst: ossl_ec_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:115,1
    - Dst: ecdh_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - vpecdhctx
    - vecdh
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: ecdh_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - ossl_ec_check_key
    - ecdh_set_ctx_params
    - EC_KEY_up_ref
    - EC_KEY_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_init(void *vpecdhctx, void *vecdh, const OSSL_PARAM
      params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:178,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:201,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:206,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:196,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:181,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:213,1
    - Dst: ecdh_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:222,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 1
    argNames:
    - vpecdhctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 224
    functionName: ecdh_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - EVP_MD_up_ref
    - OPENSSL_memdup
    - EC_KEY_up_ref
    - OPENSSL_zalloc
    - ecdh_freectx
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecdh_dupctx(void *vpecdhctx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:343,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:352,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:371,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:356,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:349,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:375,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:377,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:379,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:383,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:384,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:389,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:387,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 2
    argNames:
    - vpecdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 393
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 393
    functionName: ecdh_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - EVP_MD_get0_name
    - EC_KEY_get_flags
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_get_ctx_params(void *vpecdhctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpecdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: ecdh_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecdh_gettable_ctx_params(ossl_unused void
      *vpecdhctx, ossl_unused void *provctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:441,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:451,1
    - Dst: ecdh_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:445,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:452,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:474,1
    - Dst: BN_is_one
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:477,1
    - Dst: EC_KEY_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:478,1
    - Dst: EC_KEY_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:482,1
    - Dst: EC_KEY_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:484,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:489,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:501,1
    - Dst: ECDH_compute_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:491,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 4
    argNames:
    - vpecdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 503
    functionName: ecdh_plain_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - ecdh_size
    - EC_KEY_get0_public_key
    - ECDH_compute_key
    - BN_is_one
    - EC_GROUP_get0_cofactor
    - EC_KEY_get_flags
    - EC_KEY_dup
    - EC_KEY_set_flags
    - EC_KEY_clear_flags
    - EC_KEY_free
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int ecdh_plain_derive(void *vpecdhctx, unsigned
      char *secret, size_t *psecretlen, size_t outlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_plain_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:556,1
    - Dst: ecdh_X9_63_kdf_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c:558,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - vpecdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 563
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 563
    functionName: ecdh_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: []
    functionsReached:
    - ecdh_X9_63_kdf_derive
    - ecdh_plain_derive
    linkageType: ''
    returnType: int
    signature: 'static int ecdh_derive(void *vpecdhctx, unsigned char *secret, size_t
      *psecretlen, size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:52,1
    - Dst: aesni_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:54,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 66
    functionName: aesni_cbc_hmac_sha1_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - SHA1_Init
    - aesni_set_decrypt_key
    - aesni_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_init_key(PROV_CIPHER_CTX *vctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:638,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:641,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:642,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:645,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:643,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:650,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:651,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:655,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:656,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - vctx
    - mac
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 659
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 659
    functionName: aesni_cbc_hmac_sha1_set_mac_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - SHA1_Final
    - memcpy
    - OPENSSL_cleanse
    - SHA1_Init
    - sha1_update
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void aesni_cbc_hmac_sha1_set_mac_key(void *vctx, const unsigned
      char *mac, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 709
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 709
    functionName: aesni_cbc_hmac_sha1_tls1_multiblock_max_bufsize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_tls1_multiblock_max_bufsize(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_capable_aes_cbc_hmac_sha1(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:77,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:86,1
    - Dst: SHA1_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: sha1_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - SHA1_Update
    - sha1_block_data_order
    linkageType: ''
    returnType: void
    signature: 'static void sha1_update(SHA_CTX *c, const void *data, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA*
    signature: 'const PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha1(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:145,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:171,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:177,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:208,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:217,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:236,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:262,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:270,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:292,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:296,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:172,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:178,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:255,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:277,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:290,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:311,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:335,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:337,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:361,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:327,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:314,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:164,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:235,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:268,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:285,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:294,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:301,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:305,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:321,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:333,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:298,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:363,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:165,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:194,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:245,1
    - Dst: sha1_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:253,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:275,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:287,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:307,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:309,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:334,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:336,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:364,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:303,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 277
    argCount: 5
    argNames:
    - vctx
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 368
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 368
    functionName: tls1_multi_block_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - BSWAP8
    - sha1_multi_block
    - memcpy
    - memset
    - BSWAP4
    - OPENSSL_cleanse
    - PUTU32
    - aesni_multi_cbc_encrypt
    - RAND_bytes_ex
    linkageType: ''
    returnType: size_t
    signature: 'static size_t tls1_multi_block_encrypt(void *vctx, unsigned char *out,
      const unsigned char *inp, size_t inp_len, int n4x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA*
    signature: 'const PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha1(void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:424,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:435,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:462,1
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:487,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:540,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:579,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:581,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:400,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:415,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:419,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:556,1
    - Dst: sha1_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:568,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:594,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:623,1
    - Dst: aesni_cbc_sha1_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:402,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:425,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:432,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:503,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:564,1
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:479,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:578,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:580,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:593,1
    - Dst: SHA1_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:422,1
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:496,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:512,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:471,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:577,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:622,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 340
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 628
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 628
    functionName: aesni_cbc_hmac_sha1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - sha1_block_data_order
    - SHA1_Final
    - memcpy
    - constant_time_select
    - BSWAP4
    - memset
    - aesni_cbc_encrypt
    - constant_time_ge
    - sha1_update
    - aesni_cbc_sha1_enc
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_cipher(PROV_CIPHER_CTX *vctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:686,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - vctx
    - aad_rec
    - aad_len
    argTypes:
    - void*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 697
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 697
    functionName: aesni_cbc_hmac_sha1_set_tls1_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - memcpy
    - sha1_update
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_set_tls1_aad(void *vctx, unsigned char
      *aad_rec, int aad_len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:739,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 2
    argNames:
    - vctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    constantsTouched: []
    func_position:
      end: 762
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 762
    functionName: aesni_cbc_hmac_sha1_tls1_multiblock_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - sha1_update
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_tls1_multiblock_aad( void *vctx, EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM
      *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_multi_block_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    constantsTouched: []
    func_position:
      end: 771
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 771
    functionName: aesni_cbc_hmac_sha1_tls1_multiblock_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: []
    functionsReached:
    - tls1_multi_block_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha1_tls1_multiblock_encrypt( void *ctx,
      EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sm4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:17,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 26
    functionName: cipher_hw_sm4_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4_hw.c
    functionUses: []
    functionsReached:
    - ossl_sm4_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_sm4_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_copy_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_AES_OCB_CTX*
    - PROV_AES_OCB_CTX*
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: aes_generic_ocb_copy_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_copy_ctx
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int aes_generic_ocb_copy_ctx(PROV_AES_OCB_CTX *dst,
      PROV_AES_OCB_CTX *src) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:266,1
    - Dst: update_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:270,1
    - Dst: aes_generic_ocb_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:279,1
    - Dst: aes_generic_ocb_setaad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:285,1
    - Dst: aes_generic_ocb_gettag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:291,1
    - Dst: aes_generic_ocb_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:297,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 303
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 303
    functionName: aes_ocb_block_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - update_iv
    - aes_generic_ocb_setaad
    - aes_generic_ocb_gettag
    - aes_generic_ocb_final
    - aes_generic_ocb_cipher
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_block_final(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:504,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:508,1
    - Dst: aes_generic_ocb_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:512,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:513,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 519
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 519
    functionName: aes_ocb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - aes_generic_ocb_cipher
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_cipher(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:310,1
    - Dst: ossl_prov_cipher_hw_aes_ocb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:316,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:313,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - mode
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - unsigned int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 320
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 320
    functionName: aes_ocb_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - ossl_prov_cipher_hw_aes_ocb
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_ocb_newctx(void *provctx, size_t kbits, size_t blkbits,
      size_t ivbits, unsigned int mode, uint64_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: cipher_ocb_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *cipher_ocb_gettable_ctx_params(ossl_unused
      void *cctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - tag
    - tlen
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: aes_generic_ocb_gettag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_tag
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int aes_generic_ocb_gettag(PROV_AES_OCB_CTX *ctx,
      unsigned char *tag, size_t tlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_generic_ocb_setaad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: cipher_updateaad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - aes_generic_ocb_setaad
    linkageType: ''
    returnType: int
    signature: 'static int cipher_updateaad(PROV_AES_OCB_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: aes_generic_ocb_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_finish
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int aes_generic_ocb_final(PROV_AES_OCB_CTX *ctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_fillblock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:168,1
    - Dst: ciph
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:177,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:189,1
    - Dst: ciph
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:193,1
    - Dst: ossl_cipher_trailingdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:200,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    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
    constantsTouched: []
    func_position:
      end: 207
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 207
    functionName: aes_ocb_block_update_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - ciph
    - ERR_raise
    - ossl_cipher_fillblock
    - ossl_cipher_trailingdata
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_block_update_internal(PROV_AES_OCB_CTX *ctx, unsigned
      char *buf, size_t *bufsz, unsigned char *out, size_t *outl, size_t outsize,
      const unsigned char *in, size_t inl, OSSL_ocb_cipher_fn ciph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - iv
    - ivlen
    - taglen
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: aes_generic_ocb_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_setiv
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int aes_generic_ocb_setiv(PROV_AES_OCB_CTX *ctx,
      const unsigned char *iv, size_t ivlen, size_t taglen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: aes_generic_ocb_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_cleanup
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void aes_generic_ocb_cleanup(PROV_AES_OCB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_ocb_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: aes_ocb_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - aes_ocb_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_einit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aes_generic_ocb_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: update_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - aes_generic_ocb_setiv
    linkageType: ''
    returnType: int
    signature: 'static int update_iv(PROV_AES_OCB_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_generic_ocb_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:327,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:329,1
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: aes_ocb_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - aes_generic_ocb_cleanup
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_ocb_freectx(void *vctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:363,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:380,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:377,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:366,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:382,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:383,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:394,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:399,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:403,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 408
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 408
    functionName: aes_ocb_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - memcpy
    - OSSL_PARAM_locate_const
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: aes_generic_ocb_setaad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_aad
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int aes_generic_ocb_setaad(PROV_AES_OCB_CTX *ctx,
      const unsigned char *aad, size_t alen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:84,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: aes_generic_ocb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - CRYPTO_ocb128_encrypt
    - CRYPTO_ocb128_decrypt
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int aes_generic_ocb_cipher(PROV_AES_OCB_CTX *ctx,
      const unsigned char *in, unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_ocb_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: aes_ocb_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - aes_ocb_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_dinit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: update_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:239,1
    - Dst: aes_ocb_block_update_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: aes_ocb_block_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - update_iv
    - aes_ocb_block_update_internal
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_block_update(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:338,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:343,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:348,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:341,1
    - Dst: aes_generic_ocb_copy_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: aes_ocb_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - aes_generic_ocb_copy_ctx
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_ocb_dupctx(void *vctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:416,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:453,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:448,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:440,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:428,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:436,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:452,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:467,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:415,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:422,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:425,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:445,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:451,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:421,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:417,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:420,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:427,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:433,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:439,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:441,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:457,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:460,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:464,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 470
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 470
    functionName: aes_ocb_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    - memcpy
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: cipher_ocb_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *cipher_ocb_settable_ctx_params(ossl_unused
      void *cctx, ossl_unused void *p_ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:109,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:131,1
    - Dst: aes_ocb_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    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
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: aes_ocb_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initiv
    - ERR_raise
    - aes_ocb_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_ocb_init(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int
      enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:32,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: rc4_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void rc4_freectx(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:58,1
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: rc4_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_einit
    - ossl_cipher_var_keylen_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc4_einit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:41,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:44,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: rc4_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rc4_dupctx(void *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:67,1
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: rc4_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_dinit
    - ossl_cipher_var_keylen_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc4_dinit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes.c:29,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: aes_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes.c:38,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: aes_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: ossl_cipher_hw_generic_cfb8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_generic_cfb8(PROV_CIPHER_CTX *dat, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: ossl_cipher_hw_generic_ofb128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_generic_ofb128(PROV_CIPHER_CTX *dat, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:135,1
    - Dst: ossl_cipher_hw_generic_cbc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: ossl_cipher_hw_chunked_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - ossl_cipher_hw_generic_cbc
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_chunked_cbc(PROV_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_cfb8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: ossl_cipher_hw_chunked_cfb8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - ossl_cipher_hw_generic_cfb8
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_chunked_cfb8(PROV_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: ossl_cipher_hw_generic_cfb128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_generic_cfb128(PROV_CIPHER_CTX *dat, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: ossl_cipher_hw_generic_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_generic_ecb(PROV_CIPHER_CTX *dat, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:88,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:95,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: ossl_cipher_hw_generic_cfb1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_generic_cfb1(PROV_CIPHER_CTX *dat, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_cfb128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: ossl_cipher_hw_chunked_cfb128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - ossl_cipher_hw_generic_cfb128
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_chunked_cfb128(PROV_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_ofb128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:185,1
    - Dst: ossl_cipher_hw_generic_ofb128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: ossl_cipher_hw_chunked_ofb128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - ossl_cipher_hw_generic_ofb128
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_chunked_ofb128(PROV_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:23,1
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:21,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: ossl_cipher_hw_generic_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_cbc128_decrypt
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_generic_cbc(PROV_CIPHER_CTX *dat, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:116,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: ossl_cipher_hw_generic_ctr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_ctr128_encrypt_ctr32
    - CRYPTO_ctr128_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_generic_ctr(PROV_CIPHER_CTX *dat, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:51,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:54,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:56,1
    - Dst: ossl_prov_cipher_hw_rc4_hmac_md5
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: rc4_hmac_md5_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - ossl_prov_cipher_hw_rc4_hmac_md5
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rc4_hmac_md5_newctx(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:96,1
    - Dst: rc4_hmac_md5_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: rc4_hmac_md5_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_dinit
    - rc4_hmac_md5_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_dinit(void *ctx, const unsigned char *key,
      size_t keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: rc4_hmac_md5_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *rc4_hmac_md5_dupctx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: rc4_hmac_md5_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *rc4_hmac_md5_gettable_ctx_params(ossl_unused void
      *cctx, ossl_unused void *provctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:173,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:198,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:195,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:158,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:165,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:185,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:206,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:177,1
    - Dst: GET_HW
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:188,1
    - Dst: GET_HW
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:201,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:190,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:205,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 212
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 212
    functionName: rc4_hmac_md5_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - GET_HW
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:87,1
    - Dst: rc4_hmac_md5_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: rc4_hmac_md5_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_einit
    - rc4_hmac_md5_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_einit(void *ctx, const unsigned char *key,
      size_t keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:70,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: rc4_hmac_md5_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void rc4_hmac_md5_freectx(void *vctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:118,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:120,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:119,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:124,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:126,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:129,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: rc4_hmac_md5_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: rc4_hmac_md5_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *rc4_hmac_md5_settable_ctx_params(ossl_unused void
      *cctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: rc4_hmac_md5_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: 'static int rc4_hmac_md5_get_params(OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - nonce
    - nlen
    - mlen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: ossl_ccm_generic_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_ccm128_setiv
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_generic_setiv(PROV_CCM_CTX *ctx, const unsigned char
      *nonce, size_t nlen, size_t mlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - tag
    - tlen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ossl_ccm_generic_gettag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:37,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:43,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:40,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - ctx
    - in
    - out
    - len
    - tag
    - taglen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: ossl_ccm_generic_auth_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_ccm128_tag
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_encrypt_ccm64
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_generic_auth_encrypt(PROV_CCM_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len, unsigned char *tag, size_t taglen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:54,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:66,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:57,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:61,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:62,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - in
    - out
    - len
    - expected_tag
    - taglen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: ossl_ccm_generic_auth_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - CRYPTO_ccm128_tag
    - CRYPTO_ccm128_decrypt
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt_ccm64
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_generic_auth_decrypt(PROV_CCM_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len, unsigned char *expected_tag, size_t
      taglen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: ossl_ccm_generic_setaad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_ccm128_aad
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_generic_setaad(PROV_CCM_CTX *ctx, const unsigned char
      *aad, size_t alen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:51,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:53,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - bctx
    - fixed
    - flen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: chacha_poly1305_tls_iv_set_fixed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: []
    functionsReached:
    - CHACHA_U8TOU32
    linkageType: ''
    returnType: int
    signature: 'static int chacha_poly1305_tls_iv_set_fixed(PROV_CIPHER_CTX *bctx,
      unsigned char *fixed, size_t flen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:88,1
    - Dst: ossl_chacha20_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:95,1
    - Dst: ossl_chacha20_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - PROV_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: chacha20_poly1305_initiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: []
    functionsReached:
    - ossl_chacha20_einit
    - memcpy
    - ossl_chacha20_dinit
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_initiv(PROV_CIPHER_CTX *bctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:304,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:328,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:370,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:348,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:380,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:351,1
    - Dst: chacha20_poly1305_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:283,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:296,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:290,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:323,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:372,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:288,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:311,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:343,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:388,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:379,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:377,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 123
    argCount: 5
    argNames:
    - bctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 398
    functionName: chacha20_poly1305_aead_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: []
    functionsReached:
    - Poly1305_Init
    - ChaCha20_ctr32
    - memcpy
    - Poly1305_Final
    - CRYPTO_memcmp
    - Poly1305_Update
    - chacha20_poly1305_tls_cipher
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_aead_cipher(PROV_CIPHER_CTX *bctx, unsigned
      char *out, size_t *outl, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:23,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:37,1
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - bctx
    - aad
    - alen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: chacha_poly1305_tls_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: []
    functionsReached:
    - CHACHA_U8TOU32
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int chacha_poly1305_tls_init(PROV_CIPHER_CTX *bctx, unsigned
      char *aad, size_t alen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:137,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:208,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:194,1
    - Dst: xor128_encrypt_n_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:146,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:164,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:185,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:197,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:214,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:240,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:218,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:247,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:249,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:139,1
    - Dst: xor128_decrypt_n_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:148,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:160,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:207,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:204,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:241,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:242,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:251,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:136,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:162,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:192,1
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:205,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 148
    argCount: 5
    argNames:
    - bctx
    - out
    - out_padlen
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 261
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 261
    functionName: chacha20_poly1305_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - Poly1305_Init
    - ChaCha20_ctr32
    - memcpy
    - Poly1305_Final
    - OPENSSL_cleanse
    - xor128_decrypt_n_pad
    - xor128_encrypt_n_pad
    - Poly1305_Update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_tls_cipher(PROV_CIPHER_CTX *bctx, unsigned
      char *out, size_t *out_padlen, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_chacha20_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:69,1
    - Dst: ossl_chacha20_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: chacha20_poly1305_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: []
    functionsReached:
    - ossl_chacha20_einit
    - ossl_chacha20_dinit
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_initkey(PROV_CIPHER_CTX *bctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: ossl_prov_cipher_hw_chacha20_poly1305
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW*
    signature: 'const PROV_CIPHER_HW *ossl_prov_cipher_hw_chacha20_poly1305(size_t
      keybits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia_hw.c:27,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia_hw.c:29,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - dat
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 42
    functionName: cipher_hw_camellia_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia_hw.c
    functionUses: []
    functionsReached:
    - Camellia_set_key
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_camellia_initkey(PROV_CIPHER_CTX *dat, const
      unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria.c:22,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: aria_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aria_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria.c:31,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria.c:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: aria_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aria_dupctx(void *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:48,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: rc2_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rc2_dupctx(void *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - magic
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: rc2_magic_to_keybits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int rc2_magic_to_keybits(int magic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:102,1
    - Dst: rc2_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: rc2_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_dinit
    - rc2_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc2_dinit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:169,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:174,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:173,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:171,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:188,1
    - Dst: ASN1_TYPE_get_int_octetstring
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:189,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:192,1
    - Dst: rc2_magic_to_keybits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:194,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:197,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 208
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 208
    functionName: rc2_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initiv
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - rc2_magic_to_keybits
    - ASN1_TYPE_free
    - OSSL_PARAM_locate_const
    - d2i_ASN1_TYPE
    - ossl_cipher_var_keylen_set_ctx_params
    - ASN1_TYPE_get_int_octetstring
    linkageType: ''
    returnType: int
    signature: 'static int rc2_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:39,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: rc2_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void rc2_freectx(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:93,1
    - Dst: rc2_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: rc2_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_einit
    - rc2_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc2_einit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: rc2_keybits_to_magic
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int rc2_keybits_to_magic(int keybits) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:112,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:119,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:116,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:115,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:128,1
    - Dst: ASN1_TYPE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:132,1
    - Dst: rc2_keybits_to_magic
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:137,1
    - Dst: ASN1_TYPE_set_int_octetstring
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:138,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:141,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:154,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:140,1
    - Dst: ASN1_TYPE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c:152,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 159
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 159
    functionName: rc2_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: []
    functionsReached:
    - rc2_keybits_to_magic
    - ERR_raise
    - ASN1_TYPE_free
    - ossl_cipher_generic_get_ctx_params
    - i2d_ASN1_TYPE
    - ASN1_TYPE_new
    - OSSL_PARAM_locate
    - ASN1_TYPE_set_int_octetstring
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int rc2_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 149
    functionName: cipher_hw_aes_xts_t4_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: []
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aes_xts_t4_initkey(PROV_CIPHER_CTX *ctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: cipher_hw_aes_xts_copyctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cipher_hw_aes_xts_copyctx(PROV_CIPHER_CTX *dst, const
      PROV_CIPHER_CTX *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: cipher_hw_aesni_xts_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: []
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aesni_xts_initkey(PROV_CIPHER_CTX *ctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:58,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:73,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 86
    functionName: cipher_hw_aes_xts_generic_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: []
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aes_xts_generic_initkey(PROV_CIPHER_CTX *ctx,
      const unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_HW_select_xts
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ossl_prov_cipher_hw_aes_xts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: []
    functionsReached:
    - PROV_CIPHER_HW_select_xts
    linkageType: ''
    returnType: PROV_CIPHER_HW*
    signature: 'const PROV_CIPHER_HW *ossl_prov_cipher_hw_aes_xts(size_t keybits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:32,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:41,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:33,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:42,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:34,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: ossl_cipher_hw_tdes_ede3_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: []
    functionsReached:
    - DES_set_key_unchecked
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_tdes_ede3_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ecb3_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: ossl_cipher_hw_tdes_ecb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: []
    functionsReached:
    - DES_ecb3_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_tdes_ecb(PROV_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:68,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: ossl_cipher_hw_tdes_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: []
    functionsReached:
    - DES_ede3_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_hw_tdes_cbc(PROV_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: ossl_cipher_hw_tdes_copyctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_cipher_hw_tdes_copyctx(PROV_CIPHER_CTX *dst, const PROV_CIPHER_CTX
      *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia.c:28,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: camellia_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void camellia_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia.c:37,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: camellia_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_camellia.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *camellia_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4.c:22,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: sm4_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void sm4_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4.c:31,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4.c:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: sm4_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_sm4.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *sm4_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed.c:28,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: seed_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void seed_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed.c:37,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: seed_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *seed_dupctx(void *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:24,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:28,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 49
    functionName: ccm_tls_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ccm_tls_init(PROV_CCM_CTX *ctx, unsigned char *aad, size_t
      alen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CCM_CTX*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ccm_get_ivlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t ccm_get_ivlen(PROV_CCM_CTX *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ccm_get_ivlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:152,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:174,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:201,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:212,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:152,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:162,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:183,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:194,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:151,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:153,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:167,1
    - Dst: ccm_get_ivlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:169,1
    - Dst: ccm_get_ivlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:182,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:187,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:180,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:195,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:199,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:188,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:173,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:208,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 222
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 222
    functionName: ossl_ccm_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ccm_get_ivlen
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccm_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: ossl_ccm_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ccm_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_einit(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:275,1
    - Dst: ccm_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:279,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: ossl_ccm_stream_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ccm_cipher_internal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_stream_update(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:308,1
    - Dst: ccm_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:316,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 321
    functionName: ossl_ccm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    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, const unsigned char *in, size_t inl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:341,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:352,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:350,1
    - Dst: ccm_set_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:355,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 379
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 379
    functionName: ccm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - memcpy
    - ccm_set_iv
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ccm_tls_cipher(PROV_CCM_CTX *ctx, unsigned char *out, size_t
      *padlen, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - fixed
    - flen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: ccm_tls_iv_set_fixed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int ccm_tls_iv_set_fixed(PROV_CCM_CTX *ctx, unsigned char *fixed,
      size_t flen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:89,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:83,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:79,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:92,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:98,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:108,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:117,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:134,1
    - Dst: ccm_tls_iv_set_fixed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:138,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:131,1
    - Dst: ccm_tls_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:125,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 144
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 144
    functionName: ossl_ccm_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ccm_tls_init
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - memcpy
    - OSSL_PARAM_locate_const
    - ccm_tls_iv_set_fixed
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:230,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:237,1
    - Dst: ccm_get_ivlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:236,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:240,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:245,1
    - Dst: ossl_ccm_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 252
    functionName: ccm_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - memcpy
    - ossl_ccm_set_ctx_params
    - ccm_get_ivlen
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ccm_init(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccm_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: ossl_ccm_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ccm_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_ccm_dinit(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:292,1
    - Dst: ccm_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: ossl_ccm_stream_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    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,
      size_t outsize) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ccm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:394,1
    - Dst: ccm_set_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:405,1
    - Dst: ccm_set_iv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:416,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 442
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 442
    functionName: ccm_cipher_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ccm_tls_cipher
    - ccm_set_iv
    linkageType: ''
    returnType: int
    signature: 'static int ccm_cipher_internal(PROV_CCM_CTX *ctx, unsigned char *out,
      size_t *padlen, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - keybits
    - hw
    argTypes:
    - PROV_CCM_CTX*
    - size_t
    - PROV_CCM_HW*
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: ossl_ccm_initctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    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: ccm_get_ivlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - mlen
    argTypes:
    - PROV_CCM_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: ccm_set_iv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: []
    functionsReached:
    - ccm_get_ivlen
    linkageType: ''
    returnType: int
    signature: 'static int ccm_set_iv(PROV_CCM_CTX *ctx, size_t mlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:26,1
    - Dst: ossl_gcm_initctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:31,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:29,1
    - Dst: ossl_prov_aes_hw_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: aes_gcm_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: []
    functionsReached:
    - ossl_gcm_initctx
    - ossl_prov_aes_hw_gcm
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_gcm_newctx(void *provctx, size_t keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: aes_gcm_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_gcm_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:44,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: aes_gcm_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_gcm_dupctx(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:55,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:61,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - kbits
    - blkbits
    - ivbits
    - mode
    - flags
    argTypes:
    - size_t
    - size_t
    - size_t
    - unsigned int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: aes_wrap_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_wrap_newctx(size_t kbits, size_t blkbits, size_t
      ivbits, unsigned int mode, uint64_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: aes_wrap_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - aes_wrap_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_einit(void *ctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:92,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: aes_wrap_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_wrap_freectx(void *vctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:211,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:187,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:215,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 219
    functionName: aes_wrap_cipher_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_cipher_internal(void *vctx, unsigned char *out,
      const unsigned char *in, size_t inlen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:238,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:247,1
    - Dst: aes_wrap_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 257
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 257
    functionName: aes_wrap_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - aes_wrap_cipher_internal
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_cipher(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:120,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:137,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:140,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:113,1
    - Dst: aes_wrap_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 145
    functionName: aes_wrap_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initiv
    - ERR_raise
    - AES_set_decrypt_key
    - aes_wrap_set_ctx_params
    - AES_set_encrypt_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_init(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int
      enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:75,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:81,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:78,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - wctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: aes_wrap_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_wrap_dupctx(void *wctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: aes_wrap_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - aes_wrap_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_dinit(void *ctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: aes_wrap_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_final(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:268,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:275,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:271,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: aes_wrap_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int aes_wrap_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:26,1
    - Dst: ossl_ccm_initctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:31,1
    - Dst: ossl_prov_aes_hw_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:31,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: aes_ccm_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: []
    functionsReached:
    - ossl_ccm_initctx
    - OPENSSL_zalloc
    - ossl_prov_aes_hw_ccm
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_ccm_newctx(void *provctx, size_t keybits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: aes_ccm_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_ccm_dupctx(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: aes_ccm_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_ccm_freectx(void *vctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:69,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:89,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:84,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:96,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    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
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: tdes_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initiv
    - ERR_raise
    - memcpy
    - ossl_cipher_generic_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int tdes_init(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int
      enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:42,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: ossl_tdes_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_tdes_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdes_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: ossl_tdes_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - tdes_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_tdes_dinit(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:123,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:127,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:129,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames:
    - OSSL_CIPHER_PARAM_RANDOM_KEY
    - 'NULL'
    - 0),
    - CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END
    - (ossl_tdes
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: OSSL_PARAM_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - DES_set_odd_parity
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START(ossl_tdes)
    signature: 'CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START(ossl_tdes) OSSL_PARAM_octet_string(OSSL_CIPHER_PARAM_RANDOM_KEY,
      NULL, 0),CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END(ossl_tdes) static int tdes_generatekey(PROV_CIPHER_CTX
      *ctx, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:27,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:32,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:30,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 7
    argNames:
    - provctx
    - mode
    - kbits
    - blkbits
    - ivbits
    - flags
    - hw
    argTypes:
    - void*
    - int
    - size_t
    - size_t
    - size_t
    - uint64_t
    - PROV_CIPHER_HW*
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: ossl_tdes_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_tdes_newctx(void *provctx, int mode, size_t kbits, size_t
      blkbits, size_t ivbits, uint64_t flags, const PROV_CIPHER_HW *hw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdes_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ossl_tdes_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - tdes_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_tdes_einit(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:59,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: ossl_tdes_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_tdes_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:144,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:142,1
    - Dst: tdes_generatekey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: ossl_tdes_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_get_ctx_params
    - ERR_raise
    - OSSL_PARAM_locate
    - tdes_generatekey
    linkageType: ''
    returnType: int
    signature: 'int ossl_tdes_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:84,1
    - Dst: aes_siv_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:97,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: siv_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - aes_siv_set_ctx_params
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int siv_init(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int enc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: aes_siv_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_siv_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siv_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: siv_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - siv_init
    linkageType: ''
    returnType: int
    signature: 'static int siv_dinit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: siv_stream_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int siv_stream_final(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:209,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:221,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:219,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:222,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:227,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 240
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 240
    functionName: aes_siv_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_locate_const
    - ERR_raise
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: 'static int aes_siv_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: aes_siv_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *aes_siv_settable_ctx_params(ossl_unused void
      *cctx, ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:34,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:37,1
    - Dst: ossl_prov_cipher_hw_aes_siv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:42,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - provctx
    - keybits
    - mode
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: aes_siv_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_prov_cipher_hw_aes_siv
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_siv_newctx(void *provctx, size_t keybits, unsigned
      int mode, uint64_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siv_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: siv_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - siv_init
    linkageType: ''
    returnType: int
    signature: 'static int siv_einit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:63,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:68,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:72,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: siv_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *siv_dupctx(void *vctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: siv_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int siv_cipher(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:166,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:175,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:170,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:171,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:177,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:180,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:181,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c:182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 186
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 186
    functionName: aes_siv_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int aes_siv_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: aes_siv_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *aes_siv_gettable_ctx_params(ossl_unused void
      *cctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:21,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - bctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: chacha20_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: []
    functionsReached:
    - CHACHA_U8TOU32
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_initkey(PROV_CIPHER_CTX *bctx, const uint8_t *key,
      size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA_U8TOU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - PROV_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: chacha20_initiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: []
    functionsReached:
    - CHACHA_U8TOU32
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_initiv(PROV_CIPHER_CTX *bctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:91,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:101,1
    - Dst: ChaCha20_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:102,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 4
    argNames:
    - bctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 110
    functionName: chacha20_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: []
    functionsReached:
    - ChaCha20_ctr32
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_cipher(PROV_CIPHER_CTX *bctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ossl_prov_cipher_hw_chacha20
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW*
    signature: 'const PROV_CIPHER_HW *ossl_prov_cipher_hw_chacha20(size_t keybits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea_hw.c:27,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea_hw.c:33,1
    - Dst: IDEA_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea_hw.c:31,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea_hw.c:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: cipher_hw_idea_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea_hw.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_idea_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:28,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:38,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:45,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:51,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:31,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 59
    functionName: aes_gcm_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c
    functionUses: []
    functionsReached:
    - GCM_HW_SET_KEY_CTR_FN
    linkageType: ''
    returnType: int
    signature: 'static int aes_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char
      *key, size_t keylen) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AES_GCM_ASM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:69,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:82,1
    - Dst: AES_gcm_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:75,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:72,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:86,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:90,1
    - Dst: AES_GCM_ASM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:98,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:101,1
    - Dst: AES_gcm_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:104,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:111,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:115,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:119,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - in
    - len
    - out
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 124
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 124
    functionName: generic_aes_gcm_cipher_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c
    functionUses: []
    functionsReached:
    - AES_gcm_encrypt
    - CRYPTO_gcm128_encrypt_ctr32
    - AES_GCM_ASM
    - CRYPTO_gcm128_decrypt_ctr32
    - CRYPTO_gcm128_decrypt
    - AES_gcm_decrypt
    - CRYPTO_gcm128_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int generic_aes_gcm_cipher_update(PROV_GCM_CTX *ctx, const
      unsigned char *in, size_t len, unsigned char *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: ossl_prov_aes_hw_gcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_GCM_HW*
    signature: 'const PROV_GCM_HW *ossl_prov_aes_hw_gcm(size_t keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - provctx
    - ctx
    - keybits
    - hw
    argTypes:
    - void*
    - PROV_GCM_CTX*
    - size_t
    - PROV_GCM_HW*
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: ossl_gcm_initctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: 'void ossl_gcm_initctx(void *provctx, PROV_GCM_CTX *ctx, size_t keybits,
      const PROV_GCM_HW *hw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: ctr64_inc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr64_inc(unsigned char *counter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcm_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: ossl_gcm_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - gcm_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_einit(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - in
    - inl
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: setivinv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int setivinv(PROV_GCM_CTX *ctx, unsigned char *in, size_t inl) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:239,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:243,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:253,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:247,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:255,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:260,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:274,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:288,1
    - Dst: gcm_tls_iv_set_fixed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:291,1
    - Dst: setivinv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:300,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:285,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:292,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:296,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:279,1
    - Dst: gcm_tls_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:277,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 306
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 306
    functionName: ossl_gcm_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - setivinv
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - gcm_tls_init
    - OSSL_PARAM_locate_const
    - gcm_tls_iv_set_fixed
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:336,1
    - Dst: gcm_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: ossl_gcm_stream_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    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,
      size_t outsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - offset
    argTypes:
    - PROV_GCM_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 390
    functionName: gcm_iv_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int gcm_iv_generate(PROV_GCM_CTX *ctx, int offset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:455,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:460,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - dat
    - aad
    - aad_len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 479
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 479
    functionName: gcm_tls_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int gcm_tls_init(PROV_GCM_CTX *dat, unsigned char *aad, size_t
      aad_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcm_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ossl_gcm_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - gcm_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_dinit(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:118,1
    - Dst: ctr64_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - out
    - olen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: getivgen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - ctr64_inc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int getivgen(PROV_GCM_CTX *ctx, unsigned char *out, size_t
      olen) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:154,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:169,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:201,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:215,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:150,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:164,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:177,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:200,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:149,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:193,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:189,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:184,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:211,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:214,1
    - Dst: getivgen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:223,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:155,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:194,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:179,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:192,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:219,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 227
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 227
    functionName: ossl_gcm_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_locate
    - getivgen
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:319,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:324,1
    - Dst: gcm_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: ossl_gcm_stream_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - gcm_cipher_internal
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_stream_update(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:353,1
    - Dst: gcm_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 366
    functionName: ossl_gcm_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - gcm_cipher_internal
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_cipher(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcm_tls_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:401,1
    - Dst: gcm_iv_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:413,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 36
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 448
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 448
    functionName: gcm_cipher_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - gcm_tls_cipher
    - gcm_iv_generate
    linkageType: ''
    returnType: int
    signature: 'static int gcm_cipher_internal(PROV_GCM_CTX *ctx, unsigned char *out,
      size_t *padlen, const unsigned char *in, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:486,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:496,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:498,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - iv
    - len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 503
    functionName: gcm_tls_iv_set_fixed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - memcpy
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int gcm_tls_iv_set_fixed(PROV_GCM_CTX *ctx, unsigned char *iv,
      size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:53,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:70,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:64,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:60,1
    - Dst: ossl_gcm_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    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
    constantsTouched: []
    func_position:
      end: 78
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 78
    functionName: gcm_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - ossl_gcm_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int gcm_init(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int enc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:519,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:533,1
    - Dst: setivinv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:545,1
    - Dst: getivgen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:542,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:558,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 572
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 572
    functionName: gcm_tls_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: []
    functionsReached:
    - setivinv
    - ERR_raise
    - OPENSSL_cleanse
    - getivgen
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int gcm_tls_cipher(PROV_GCM_CTX *ctx, unsigned char *out, size_t
      *padlen, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC2_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2_hw.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: cipher_hw_rc2_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc2_hw.c
    functionUses: []
    functionsReached:
    - RC2_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_rc2_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:19,1
    - Dst: ossl_gcm_initctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:24,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:22,1
    - Dst: ossl_prov_aria_hw_gcm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:25,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: aria_gcm_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c
    functionUses: []
    functionsReached:
    - ossl_gcm_initctx
    - ossl_prov_aria_hw_gcm
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aria_gcm_newctx(void *provctx, size_t keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: aria_gcm_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aria_gcm_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:37,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: aria_gcm_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *aria_gcm_dupctx(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_hw.c:20,1
    - Dst: ossl_aria_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_hw.c:22,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_hw.c:24,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - dat
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: cipher_hw_aria_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_hw.c
    functionUses: []
    functionsReached:
    - ossl_aria_set_decrypt_key
    - ERR_raise
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aria_initkey(PROV_CIPHER_CTX *dat, const unsigned
      char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:62,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:63,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - buf
    - buflen
    - blocksize
    - in
    - inlen
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: ossl_cipher_fillblock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: []
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_cipher_fillblock(unsigned char *buf, size_t *buflen, size_t
      blocksize, const unsigned char **in, size_t *inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - blocksize
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: ossl_cipher_padblock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - buflen
    - blocksize
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 134
    functionName: ossl_cipher_unpadblock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_unpadblock(unsigned char *buf, size_t *buflen, size_t
      blocksize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:86,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - buf
    - buflen
    - blocksize
    - in
    - inlen
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: ossl_cipher_trailingdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_trailingdata(unsigned char *buf, size_t *buflen, size_t
      blocksize, const unsigned char **in, size_t *inlen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_cbc_remove_padding_and_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:167,1
    - Dst: tls1_cbc_remove_padding_and_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 7
    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
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: ossl_cipher_tlsunpadblock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: []
    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,
      unsigned char *buf, size_t *buflen, size_t blocksize, unsigned char **mac, int
      *alloced, size_t macsize, int aead) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:21,1
    - Dst: ossl_prov_aria_hw_ccm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:26,1
    - Dst: ossl_ccm_initctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:26,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:24,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: aria_ccm_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c
    functionUses: []
    functionsReached:
    - ossl_prov_aria_hw_ccm
    - ossl_ccm_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aria_ccm_newctx(void *provctx, size_t keybits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: aria_ccm_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *aria_ccm_dupctx(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: aria_ccm_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aria_ccm_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:43,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:50,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: cipher_hw_aes_ocb_generic_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: []
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aes_ocb_generic_initkey(PROV_CIPHER_CTX *vctx,
      const unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: cipher_hw_aes_ocb_aesni_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: []
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aes_ocb_aesni_initkey(PROV_CIPHER_CTX *vctx,
      const unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: cipher_hw_aes_ocb_t4_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: []
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aes_ocb_t4_initkey(PROV_CIPHER_CTX *vctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_HW_select
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ossl_prov_cipher_hw_aes_ocb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: []
    functionsReached:
    - PROV_CIPHER_HW_select
    linkageType: ''
    returnType: PROV_CIPHER_HW*
    signature: 'const PROV_CIPHER_HW *ossl_prov_cipher_hw_aes_ocb(size_t keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5.c:31,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: cast5_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void cast5_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5.c:40,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5.c:45,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: cast5_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *cast5_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ossl_cipher_generic_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *ossl_cipher_generic_gettable_params(ossl_unused
      void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:101,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:126,1
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:112,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:120,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:122,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 136
    functionName: (ossl_cipher_generic)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END
    - OSSL_PARAM_locate_const
    - ossl_cipher_var_keylen_set_ctx_params
    - ossl_cipher_generic_set_ctx_params
    linkageType: ''
    returnType: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START
    signature: 'CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START (ossl_cipher_generic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: ossl_cipher_aead_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *ossl_cipher_aead_settable_ctx_params( ossl_unused
      void *cctx, ossl_unused void *provctx ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: ossl_cipher_aead_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *ossl_cipher_aead_gettable_ctx_params( ossl_unused
      void *cctx, ossl_unused void *provctx ) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:197,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:214,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:209,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:201,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:224,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    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
    constantsTouched: []
    func_position:
      end: 225
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 225
    functionName: cipher_generic_init_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initiv
    - ERR_raise
    - memcpy
    - ossl_cipher_generic_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int cipher_generic_init_internal(PROV_CIPHER_CTX *ctx, const
      unsigned char *key, size_t keylen, const unsigned char *iv, size_t ivlen, const
      OSSL_PARAM params[], int enc) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:289,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:363,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:349,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:284,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:313,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:318,1
    - Dst: ossl_cipher_tlsunpadblock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:326,1
    - Dst: ossl_cipher_fillblock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:337,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:295,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:330,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:362,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:353,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:370,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:376,1
    - Dst: ossl_cipher_trailingdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:383,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:306,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 119
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 390
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 390
    functionName: ossl_cipher_generic_block_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    - OPENSSL_free
    - ossl_cipher_fillblock
    - ossl_cipher_tlsunpadblock
    - ossl_cipher_trailingdata
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_block_update(void *vctx, unsigned char *out,
      size_t *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:473,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:488,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:483,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:503,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:512,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 527
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 527
    functionName: ossl_cipher_generic_stream_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_stream_update(void *vctx, unsigned char *out,
      size_t *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:551,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:560,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:555,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 571
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 571
    functionName: ossl_cipher_generic_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_cipher(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:60,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:63,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:72,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:81,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:75,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:82,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:47,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:65,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:83,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:86,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:48,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:51,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:66,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:88,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:91,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:92,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:46,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:53,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:59,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:71,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:93,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 6
    argNames:
    - params
    - md
    - flags
    - kbits
    - blkbits
    - ivbits
    argTypes:
    - OSSL_PARAM
    - unsigned int
    - uint64_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 97
    functionName: ossl_cipher_generic_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_get_params(OSSL_PARAM params[], unsigned int
      md, uint64_t flags, size_t kbits, size_t blkbits, size_t ivbits) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: ossl_cipher_generic_reset_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_cipher_generic_reset_ctx(PROV_CIPHER_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_generic_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: ossl_cipher_generic_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - cipher_generic_init_internal
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_einit(void *vctx, const unsigned char *key,
      size_t keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:398,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:419,1
    - Dst: ossl_cipher_padblock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:414,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:402,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:408,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:424,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:428,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:442,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:457,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:460,1
    - Dst: ossl_cipher_unpadblock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:451,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:447,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 464
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 464
    functionName: ossl_cipher_generic_block_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - 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,
      size_t *outl, size_t outsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:533,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: ossl_cipher_generic_stream_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_stream_final(void *vctx, unsigned char *out,
      size_t *outl, size_t outsize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:579,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:608,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:583,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:580,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:599,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:602,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:609,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:612,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:578,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:584,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:590,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:591,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:598,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:603,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:597,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:614,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:585,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:588,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:592,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:607,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:604,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:595,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:615,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 619
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 619
    functionName: ossl_cipher_generic_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:681,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:686,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - iv
    - ivlen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: ossl_cipher_generic_initiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_initiv(PROV_CIPHER_CTX *ctx, const unsigned
      char *iv, size_t ivlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:709,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    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*
    constantsTouched: []
    func_position:
      end: 710
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 710
    functionName: ossl_cipher_generic_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: 'void ossl_cipher_generic_initkey(void *vctx, size_t kbits, size_t
      blkbits, size_t ivbits, unsigned int mode, uint64_t flags, const PROV_CIPHER_HW
      *hw, void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_generic_init_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: ossl_cipher_generic_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - cipher_generic_init_internal
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_dinit(void *vctx, const unsigned char *key,
      size_t keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:629,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:634,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:633,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:639,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:643,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:644,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:649,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:651,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:652,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:656,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:659,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:663,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:658,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:667,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c:668,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 674
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 674
    functionName: ossl_cipher_generic_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_generic_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEED_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed_hw.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: cipher_hw_seed_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_seed_hw.c
    functionUses: []
    functionsReached:
    - SEED_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_seed_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:48,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:51,1
    - Dst: ossl_chacha20_initctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: chacha20_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - ossl_chacha20_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *chacha20_newctx(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:73,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:75,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:78,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: chacha20_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *chacha20_dupctx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:98,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:100,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:104,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:99,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:103,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: chacha20_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: chacha20_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *chacha20_gettable_ctx_params(ossl_unused void *cctx,
      ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:174,1
    - Dst: chacha20_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: ossl_chacha20_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_einit
    - chacha20_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'int ossl_chacha20_einit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:36,1
    - Dst: ossl_prov_cipher_hw_chacha20
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CHACHA20_CTX*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ossl_chacha20_initctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - ossl_prov_cipher_hw_chacha20
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: 'void ossl_chacha20_initctx(PROV_CHACHA20_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:62,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: chacha20_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void chacha20_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: chacha20_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_get_params(OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:134,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:138,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:133,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:145,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 154
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 154
    functionName: chacha20_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: chacha20_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *chacha20_settable_ctx_params(ossl_unused void *cctx,
      ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:193,1
    - Dst: chacha20_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: ossl_chacha20_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_dinit
    - chacha20_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'int ossl_chacha20_dinit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:71,1
    - Dst: rc5_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: rc5_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_dinit
    - rc5_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc5_dinit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:45,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:50,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: rc5_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rc5_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:36,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: rc5_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void rc5_freectx(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:62,1
    - Dst: rc5_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: rc5_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_einit
    - rc5_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc5_einit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:84,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:87,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:92,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:98,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c:91,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 104
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 104
    functionName: rc5_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - ERR_raise
    - ossl_cipher_var_keylen_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int rc5_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_xts_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: aes_xts_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - aes_xts_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_dinit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:85,1
    - Dst: aes_xts_check_keys_differ
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:88,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:80,1
    - Dst: aes_xts_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:93,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    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
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: aes_xts_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initiv
    - ERR_raise
    - aes_xts_check_keys_differ
    - aes_xts_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_init(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int
      enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:127,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: aes_xts_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_xts_freectx(void *vctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:161,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:177,1
    - Dst: CRYPTO_xts128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:183,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 189
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 189
    functionName: aes_xts_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_xts128_encrypt
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_cipher(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: aes_xts_stream_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_stream_final(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: aes_xts_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *aes_xts_settable_ctx_params(ossl_unused void
      *cctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_xts_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: aes_xts_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - aes_xts_init
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_einit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:113,1
    - Dst: ossl_prov_cipher_hw_aes_xts
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:117,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 6
    argNames:
    - provctx
    - mode
    - flags
    - kbits
    - blkbits
    - ivbits
    argTypes:
    - void*
    - unsigned int
    - uint64_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: aes_xts_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - ossl_prov_cipher_hw_aes_xts
    - ossl_cipher_generic_initkey
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_xts_newctx(void *provctx, unsigned int mode, uint64_t
      flags, size_t kbits, size_t blkbits, size_t ivbits) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:136,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: aes_xts_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_xts_dupctx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:203,1
    - Dst: aes_xts_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: aes_xts_stream_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - aes_xts_cipher
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_stream_update(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:238,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:243,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: aes_xts_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - key
    - bytes
    - enc
    argTypes:
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: aes_xts_check_keys_differ
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int aes_xts_check_keys_differ(const unsigned char *key, size_t
      bytes, int enc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5_hw.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: cipher_hw_cast5_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cast5_hw.c
    functionUses: []
    functionsReached:
    - CAST_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_cast5_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:36,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:39,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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*
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: des_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *des_newctx(void *provctx, size_t kbits, size_t blkbits,
      size_t ivbits, unsigned int mode, uint64_t flags, const PROV_CIPHER_HW *hw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:68,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: des_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void des_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: des_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - des_init
    linkageType: ''
    returnType: int
    signature: 'static int des_einit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:125,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - PROV_CIPHER_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: des_generatekey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - DES_set_odd_parity
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int des_generatekey(PROV_CIPHER_CTX *ctx, void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:140,1
    - Dst: des_generatekey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:145,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames:
    - OSSL_CIPHER_PARAM_RANDOM_KEY
    - 'NULL'
    - 0),
    - CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END
    - (des
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: OSSL_PARAM_octet_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_get_ctx_params
    - des_generatekey
    - ERR_raise
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START(des)
    signature: 'CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START(des) OSSL_PARAM_octet_string(OSSL_CIPHER_PARAM_RANDOM_KEY,
      NULL, 0),CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END(des) static int des_get_ctx_params(void
      *vctx, OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:95,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:90,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:86,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    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
    constantsTouched: []
    func_position:
      end: 103
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 103
    functionName: des_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initiv
    - ERR_raise
    - memcpy
    - ossl_cipher_generic_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int des_init(void *vctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[], int enc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:51,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:56,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: des_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *des_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: des_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: []
    functionsReached:
    - des_init
    linkageType: ''
    returnType: int
    signature: 'static int des_dinit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - iv
    - ivlen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: ossl_gcm_setiv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_setiv
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_setiv(PROV_GCM_CTX *ctx, const unsigned char *iv, size_t
      ivlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:29,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - in
    - len
    - out
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: ossl_gcm_cipher_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_encrypt
    - CRYPTO_gcm128_decrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_cipher_update(PROV_GCM_CTX *ctx, const unsigned char
      *in, size_t len, unsigned char *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    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
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: ossl_gcm_one_shot
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_one_shot(PROV_GCM_CTX *ctx, unsigned char *aad, size_t
      aad_len, const unsigned char *in, size_t in_len, unsigned char *out, unsigned
      char *tag, size_t tag_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:41,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - tag
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: ossl_gcm_cipher_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_finish
    - CRYPTO_gcm128_tag
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_cipher_final(PROV_GCM_CTX *ctx, unsigned char *tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - aad
    - aad_len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: ossl_gcm_aad_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: []
    functionsReached:
    - CRYPTO_gcm128_aad
    linkageType: ''
    returnType: int
    signature: 'int ossl_gcm_aad_update(PROV_GCM_CTX *ctx, const unsigned char *aad,
      size_t aad_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea.c:29,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: idea_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void idea_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea.c:38,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea.c:41,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: idea_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_idea.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *idea_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm_hw.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: aria_gcm_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm_hw.c
    functionUses: []
    functionsReached:
    - GCM_HW_SET_KEY_CTR_FN
    linkageType: ''
    returnType: int
    signature: 'static int aria_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char
      *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ossl_prov_aria_hw_gcm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_gcm_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_GCM_HW*
    signature: 'const PROV_GCM_HW *ossl_prov_aria_hw_gcm(size_t keybits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:45,1
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:54,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:61,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:62,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:63,1
    - Dst: ossl_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:67,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:68,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:72,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:75,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:73,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 78
    functionName: des_ede3_unwrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - OPENSSL_cleanse
    - BUF_reverse
    - ossl_sha1
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_unwrap(PROV_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_ede3_wrap
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:121,1
    - Dst: des_ede3_unwrap
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: tdes_wrap_cipher_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: []
    functionsReached:
    - des_ede3_wrap
    - des_ede3_unwrap
    linkageType: ''
    returnType: int
    signature: 'static int tdes_wrap_cipher_internal(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:163,1
    - Dst: tdes_wrap_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: tdes_wrap_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: []
    functionsReached:
    - tdes_wrap_cipher
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int tdes_wrap_update(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:92,1
    - Dst: ossl_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:94,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:99,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:96,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:97,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:101,1
    - Dst: BUF_reverse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:104,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 108
    functionName: des_ede3_wrap
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: []
    functionsReached:
    - memmove
    - memcpy
    - OPENSSL_cleanse
    - BUF_reverse
    - ossl_sha1
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'static int des_ede3_wrap(PROV_CIPHER_CTX *ctx, unsigned char *out,
      const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:134,1
    - Dst: tdes_wrap_cipher_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: tdes_wrap_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - tdes_wrap_cipher_internal
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int tdes_wrap_cipher(void *vctx, unsigned char *out, size_t
      *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES_HW_CCM_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c:33,1
    - Dst: AES_HW_CCM_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c:43,1
    - Dst: AES_HW_CCM_SET_KEY_FN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: ccm_generic_aes_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c
    functionUses: []
    functionsReached:
    - AES_HW_CCM_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: 'static int ccm_generic_aes_initkey(PROV_CCM_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: ossl_prov_aes_hw_ccm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CCM_HW*
    signature: 'const PROV_CCM_HW *ossl_prov_aes_hw_ccm(size_t keybits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:29,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:36,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: cipher_hw_des_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached:
    - DES_set_key_unchecked
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_des_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:95,1
    - Dst: DES_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: cipher_hw_des_ofb64_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached:
    - DES_ofb64_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_des_ofb64_cipher(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ecb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: cipher_hw_des_ecb_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached:
    - DES_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_des_ecb_cipher(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: cipher_hw_des_cfb1_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached:
    - DES_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_des_cfb1_cipher(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: cipher_hw_des_copyctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cipher_hw_des_copyctx(PROV_CIPHER_CTX *dst, const PROV_CIPHER_CTX
      *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:76,1
    - Dst: DES_ncbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: cipher_hw_des_cbc_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached:
    - DES_ncbc_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_des_cbc_cipher(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: cipher_hw_des_cfb64_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached:
    - DES_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_des_cfb64_cipher(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:167,1
    - Dst: DES_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: cipher_hw_des_cfb8_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: []
    functionsReached:
    - DES_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_des_cfb8_cipher(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:197,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:202,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:200,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:201,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:204,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:209,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:210,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:214,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:215,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bctx
    - key
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 218
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 218
    functionName: cipher_hw_rc4_hmac_md5_init_mackey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: []
    functionsReached:
    - MD5_Update
    - memcpy
    - MD5_Final
    - OPENSSL_cleanse
    - MD5_Init
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void cipher_hw_rc4_hmac_md5_init_mackey(PROV_CIPHER_CTX *bctx,
      const unsigned char *key, size_t len) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:102,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:107,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:122,1
    - Dst: rc4_md5_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:125,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:155,1
    - Dst: rc4_md5_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:79,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:97,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:77,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:93,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:103,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:141,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:147,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:123,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:76,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:100,1
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:105,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:144,1
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:149,1
    - Dst: MD5_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:150,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:152,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 123
    argCount: 4
    argNames:
    - bctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 162
    functionName: cipher_hw_rc4_hmac_md5_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: []
    functionsReached:
    - MD5_Update
    - rc4_md5_enc
    - memcpy
    - RC4
    - MD5_Final
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_rc4_hmac_md5_cipher(PROV_CIPHER_CTX *bctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:39,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: cipher_hw_rc4_hmac_md5_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: []
    functionsReached:
    - MD5_Init
    - RC4_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_rc4_hmac_md5_initkey(PROV_CIPHER_CTX *bctx, const
      uint8_t *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: ossl_prov_cipher_hw_rc4_hmac_md5
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW*
    signature: 'const PROV_CIPHER_HW *ossl_prov_cipher_hw_rc4_hmac_md5(size_t keybits) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - bctx
    - aad
    - aad_len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 187
    functionName: cipher_hw_rc4_hmac_md5_tls_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: []
    functionsReached:
    - MD5_Update
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_rc4_hmac_md5_tls_init(PROV_CIPHER_CTX *bctx,
      unsigned char *aad, size_t aad_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish_hw.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: cipher_hw_blowfish_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish_hw.c
    functionUses: []
    functionsReached:
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_blowfish_initkey(PROV_CIPHER_CTX *ctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC5_32_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5_hw.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: cipher_hw_rc5_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc5_hw.c
    functionUses: []
    functionsReached:
    - RC5_32_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_rc5_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:42,1
    - Dst: ossl_chacha20_initctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:56,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:45,1
    - Dst: ossl_prov_cipher_hw_chacha20_poly1305
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:52,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: chacha20_poly1305_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    - OPENSSL_zalloc
    - ossl_chacha20_initctx
    - ossl_prov_cipher_hw_chacha20_poly1305
    linkageType: ''
    returnType: void*
    signature: 'static void *chacha20_poly1305_newctx(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:85,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: chacha20_poly1305_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void chacha20_poly1305_freectx(void *vctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:103,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:106,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:105,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:112,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:115,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:116,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:117,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:120,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:137,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:126,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:121,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 144
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 144
    functionName: chacha20_poly1305_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_get_ctx_params(void *vctx, OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: chacha20_poly1305_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *chacha20_poly1305_gettable_ctx_params (ossl_unused
      void *cctx, ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:251,1
    - Dst: chacha20_poly1305_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 262
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 262
    functionName: chacha20_poly1305_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - chacha20_poly1305_set_ctx_params
    - ossl_cipher_generic_einit
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_einit(void *vctx, const unsigned char
      *key, size_t keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM
      params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:292,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 309
    functionName: chacha20_poly1305_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_cipher(void *vctx, unsigned char *out,
      size_t *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:68,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:73,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: chacha20_poly1305_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *chacha20_poly1305_dupctx(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: chacha20_poly1305_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_get_params(OSSL_PARAM params[]) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:172,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:174,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:207,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:183,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:185,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:210,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:175,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:179,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:223,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:186,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:190,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:215,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:229,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:232,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:236,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 242
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 242
    functionName: chacha20_poly1305_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - memcpy
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:271,1
    - Dst: chacha20_poly1305_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 282
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 282
    functionName: chacha20_poly1305_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - chacha20_poly1305_set_ctx_params
    - ossl_cipher_generic_dinit
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_dinit(void *vctx, const unsigned char
      *key, size_t keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: chacha20_poly1305_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int chacha20_poly1305_final(void *vctx, unsigned char *out,
      size_t *outl, size_t outsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_copy_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:67,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:70,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - in_vctx
    - out_vctx
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: aes_siv_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: []
    functionsReached:
    - ossl_siv128_copy_ctx
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int aes_siv_dupctx(void *in_vctx, void *out_vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_speed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - speed
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: aes_siv_setspeed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: []
    functionsReached:
    - ossl_siv128_speed
    linkageType: ''
    returnType: void
    signature: 'static void aes_siv_setspeed(void *vctx, int speed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:110,1
    - Dst: ossl_siv128_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:117,1
    - Dst: ossl_siv128_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:119,1
    - Dst: ossl_siv128_aad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: aes_siv_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: []
    functionsReached:
    - ossl_siv128_finish
    - ossl_siv128_encrypt
    - ossl_siv128_decrypt
    - ossl_siv128_aad
    linkageType: ''
    returnType: int
    signature: 'static int aes_siv_cipher(void *vctx, unsigned char *out, const unsigned
      char *in, size_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:27,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:38,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:28,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:34,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:35,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:39,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:42,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:43,1
    - Dst: ossl_siv128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:54,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: aes_siv_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: []
    functionsReached:
    - ossl_siv128_init
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    linkageType: ''
    returnType: int
    signature: 'static int aes_siv_initkey(void *vctx, const unsigned char *key, size_t
      keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:97,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:98,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: aes_siv_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - ossl_siv128_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void aes_siv_cleanup(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_set_tag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - tag
    - tagl
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: aes_siv_settag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: []
    functionsReached:
    - ossl_siv128_set_tag
    linkageType: ''
    returnType: int
    signature: 'static int aes_siv_settag(void *vctx, const unsigned char *tag, size_t
      tagl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: ossl_prov_cipher_hw_aes_siv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_SIV*
    signature: 'const PROV_CIPHER_HW_AES_SIV *ossl_prov_cipher_hw_aes_siv(size_t keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c:20,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: ccm_aria_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c
    functionUses: []
    functionsReached:
    - ossl_aria_set_encrypt_key
    - CRYPTO_ccm128_init
    linkageType: ''
    returnType: int
    signature: 'static int ccm_aria_initkey(PROV_CCM_CTX *ctx, const unsigned char
      *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ossl_prov_aria_hw_ccm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CCM_HW*
    signature: 'const PROV_CCM_HW *ossl_prov_aria_hw_ccm(size_t keybits) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: HWAES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:31,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:46,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:53,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:68,1
    - Dst: AES_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:60,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:91,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:98,1
    - Dst: AES_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:105,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c:116,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 3
    argNames:
    - dat
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 121
    functionName: cipher_hw_aes_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_hw.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - vpaes_set_encrypt_key
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    - vpaes_set_decrypt_key
    - HWAES_set_decrypt_key
    - HWAES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_aes_initkey(PROV_CIPHER_CTX *dat, const unsigned
      char *key, size_t keylen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:231,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:239,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:243,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:258,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:262,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:261,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:282,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:225,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:238,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:257,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:281,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:237,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:245,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:249,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:251,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:268,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:271,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:275,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:278,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:232,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:244,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:250,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:256,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:263,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:266,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:267,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:273,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:274,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:280,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 286
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 286
    functionName: aes_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int aes_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:61,1
    - Dst: aes_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: aes_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - aes_set_ctx_params
    - ossl_cipher_generic_dinit
    linkageType: ''
    returnType: int
    signature: 'static int aes_dinit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: aes_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *aes_settable_ctx_params(ossl_unused void *cctx,
      ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: aes_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *aes_gettable_ctx_params(ossl_unused void *cctx,
      ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:325,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:331,1
    - Dst: base_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:330,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: aes_cbc_hmac_sha1_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - base_init
    - OPENSSL_zalloc
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha1
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_cbc_hmac_sha1_newctx(void *provctx, size_t kbits,
      size_t blkbits, size_t ivbits, uint64_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:351,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: aes_cbc_hmac_sha1_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_cbc_hmac_sha1_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: aes_cbc_hmac_sha256_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_cbc_hmac_sha256_dupctx(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:52,1
    - Dst: aes_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: aes_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - aes_set_ctx_params
    - ossl_cipher_generic_einit
    linkageType: ''
    returnType: int
    signature: 'static int aes_einit(void *ctx, const unsigned char *key, size_t keylen,
      const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:99,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:112,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:109,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:131,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:173,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:152,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:162,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:154,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:197,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:187,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:161,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:150,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:183,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:192,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:102,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:127,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:188,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:199,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:113,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:125,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:176,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 98
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 217
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 217
    functionName: aes_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - ossl_assert
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: 'static int aes_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_initkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    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
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: base_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: 'static void base_init(void *provctx, PROV_AES_HMAC_SHA_CTX *ctx, const
      PROV_CIPHER_HW_AES_HMAC_SHA *meths, size_t kbits, size_t blkbits, size_t ivbits,
      uint64_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: aes_cbc_hmac_sha1_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_cbc_hmac_sha1_dupctx(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:362,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha256
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:368,1
    - Dst: base_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:367,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 371
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 371
    functionName: aes_cbc_hmac_sha256_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha256
    - base_init
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *aes_cbc_hmac_sha256_newctx(void *provctx, size_t kbits,
      size_t blkbits, size_t ivbits, uint64_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:385,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 388
    functionName: aes_cbc_hmac_sha256_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void aes_cbc_hmac_sha256_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:32,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:42,1
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:41,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:34,1
    - Dst: des_t4_key_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:33,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: ossl_cipher_hw_tdes_ede2_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: []
    functionsReached:
    - DES_set_key_unchecked
    - memcpy
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cipher_hw_tdes_ede2_initkey(PROV_CIPHER_CTX *ctx,
      const unsigned char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:123,1
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: ossl_cipher_hw_tdes_cfb8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: []
    functionsReached:
    - DES_ede3_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cipher_hw_tdes_cfb8(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: ossl_cipher_hw_tdes_cfb1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: []
    functionsReached:
    - DES_ede3_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cipher_hw_tdes_cfb1(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:54,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: ossl_cipher_hw_tdes_ofb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: []
    functionsReached:
    - DES_ede3_ofb64_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cipher_hw_tdes_ofb(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:76,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: ossl_cipher_hw_tdes_cfb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: []
    functionsReached:
    - DES_ede3_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int ossl_cipher_hw_tdes_cfb(PROV_CIPHER_CTX *ctx, unsigned
      char *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hw.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: cipher_hw_rc4_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hw.c
    functionUses: []
    functionsReached:
    - RC4_set_key
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_rc4_initkey(PROV_CIPHER_CTX *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ossl_prov_cipher_hw_rc4
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW*
    signature: 'const PROV_CIPHER_HW *ossl_prov_cipher_hw_rc4(size_t keybits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hw.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cipher_hw_rc4_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_rc4_hw.c
    functionUses: []
    functionsReached:
    - RC4
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_rc4_cipher(PROV_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: ossl_cipher_cbc_cts_mode_id2name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char*
    signature: 'const char *ossl_cipher_cbc_cts_mode_id2name(unsigned int id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:117,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: cts128_cs1_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'static size_t cts128_cs1_encrypt(PROV_CIPHER_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:157,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:155,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:160,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:169,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:170,1
    - Dst: do_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:178,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:181,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 193
    functionName: cts128_cs1_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - memcpy
    - do_xor
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'static size_t cts128_cs1_decrypt(PROV_CIPHER_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:261,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:263,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:266,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:275,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:277,1
    - Dst: do_xor
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:285,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:288,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:297,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 299
    functionName: cts128_cs3_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - memcpy
    - do_xor
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'static size_t cts128_cs3_decrypt(PROV_CIPHER_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cts128_cs3_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: cts128_cs2_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - cts128_cs3_decrypt
    linkageType: ''
    returnType: size_t
    signature: 'static size_t cts128_cs2_decrypt(PROV_CIPHER_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - in1
    - in2
    - len
    - out
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: do_xor
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void do_xor(const unsigned char *in1, const unsigned char *in2,
      size_t len, unsigned char *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:92,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: ossl_cipher_cbc_cts_mode_name2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_cbc_cts_mode_name2id(const char *name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:219,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:221,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: cts128_cs3_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'static size_t cts128_cs3_encrypt(PROV_CIPHER_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cts128_cs3_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: cts128_cs2_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - cts128_cs3_encrypt
    linkageType: ''
    returnType: size_t
    signature: 'static size_t cts128_cs2_encrypt(PROV_CIPHER_CTX *ctx, const unsigned
      char *in, unsigned char *out, size_t len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cts128_cs1_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:352,1
    - Dst: cts128_cs2_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:361,1
    - Dst: cts128_cs1_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:359,1
    - Dst: cts128_cs2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:354,1
    - Dst: cts128_cs3_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:356,1
    - Dst: cts128_cs3_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c:363,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 370
    functionName: ossl_cipher_cbc_cts_block_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached:
    - cts128_cs1_decrypt
    - cts128_cs3_decrypt
    - cts128_cs2_encrypt
    - cts128_cs1_encrypt
    - cts128_cs3_encrypt
    - cts128_cs2_decrypt
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_cbc_cts_block_update(void *vctx, unsigned char *out,
      size_t *outl, size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: ossl_cipher_cbc_cts_block_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_cbc_cts_block_final(void *vctx, unsigned char *out,
      size_t *outl, size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: null_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *null_gettable_ctx_params(ossl_unused void
      *cctx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:127,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:132,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:129,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:128,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:134,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:137,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: null_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_ptr
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int null_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:26,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: null_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *null_newctx(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:69,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: null_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int null_cipher(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize, const unsigned char *in, size_t inl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: null_dinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int null_dinit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: null_einit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int null_einit(void *vctx, const unsigned char *key, size_t
      keylen, const unsigned char *iv, size_t ivlen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: null_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void null_freectx(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: null_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int null_final(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: null_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: 'static int null_get_params(OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: null_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *null_settable_ctx_params(ossl_unused void
      *cctx, ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:165,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:167,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: null_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int null_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish.c:30,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: blowfish_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish.c
    functionUses: []
    functionsReached:
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void blowfish_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish.c:39,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish.c:42,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish.c:44,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: blowfish_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_blowfish.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *blowfish_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_capable_aes_cbc_hmac_sha256(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - aesni_cbc_sha256_enc
    linkageType: ''
    returnType: int
    signature: 'int ossl_cipher_capable_aes_cbc_hmac_sha256(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:439,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:462,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:463,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:470,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:473,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:613,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:532,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:548,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:645,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:437,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:460,1
    - Dst: constant_time_ge
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:515,1
    - Dst: constant_time_select
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:523,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:539,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:627,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:629,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:630,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:632,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:644,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:598,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:625,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:453,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:457,1
    - Dst: aesni_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:486,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:609,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:579,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:626,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:628,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:631,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:675,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 376
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 680
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 680
    functionName: aesni_cbc_hmac_sha256_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - sha256_block_data_order
    - memcpy
    - constant_time_select
    - BSWAP4
    - aesni_cbc_encrypt
    - sha256_update
    - SHA256_Final
    - aesni_cbc_sha256_enc
    - constant_time_ge
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_cipher(PROV_CIPHER_CTX *vctx, unsigned
      char *out, const unsigned char *in, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:691,1
    - Dst: SHA256_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:696,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:698,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:694,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:695,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:703,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:704,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:708,1
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:709,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:711,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - vctx
    - mackey
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 712
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 712
    functionName: aesni_cbc_hmac_sha256_set_mac_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    - SHA256_Init
    - sha256_update
    - SHA256_Final
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void aesni_cbc_hmac_sha256_set_mac_key(void *vctx, const unsigned
      char *mackey, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:791,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - vctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    constantsTouched: []
    func_position:
      end: 814
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 814
    functionName: aesni_cbc_hmac_sha256_tls1_multiblock_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - sha256_update
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_tls1_multiblock_aad( void *vctx,
      EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_multi_block_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    constantsTouched: []
    func_position:
      end: 823
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 823
    functionName: aesni_cbc_hmac_sha256_tls1_multiblock_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - tls1_multi_block_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_tls1_multiblock_encrypt( void *ctx,
      EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aesni_set_encrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:54,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:58,1
    - Dst: aesni_set_decrypt_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: aesni_cbc_hmac_sha256_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - SHA256_Init
    - aesni_set_decrypt_key
    - aesni_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_init_key(PROV_CIPHER_CTX *vctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA*
    signature: 'const PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha256(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:81,1
    - Dst: sha256_block_data_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:90,1
    - Dst: SHA256_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: sha256_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - sha256_block_data_order
    - SHA256_Update
    linkageType: ''
    returnType: void
    signature: 'static void sha256_update(SHA256_CTX *c, const void *data, size_t
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:168,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:181,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:276,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:244,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:295,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:300,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:302,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:304,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:306,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:323,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:347,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:356,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:354,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:357,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:285,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:298,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:321,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:325,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:341,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:331,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:353,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:384,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:386,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:358,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:319,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:149,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:175,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:270,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:225,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:243,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:216,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:278,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:293,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:310,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:317,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:359,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:315,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:360,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:327,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:387,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:169,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:176,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:182,1
    - Dst: BSWAP8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:202,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:263,1
    - Dst: sha256_multi_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:261,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:253,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:283,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:329,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:334,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:308,1
    - Dst: BSWAP4
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:312,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:355,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 304
    argCount: 5
    argNames:
    - vctx
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 391
    functionName: tls1_multi_block_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - BSWAP8
    - sha256_multi_block
    - memcpy
    - memset
    - BSWAP4
    - OPENSSL_cleanse
    - PUTU32
    - aesni_multi_cbc_encrypt
    - RAND_bytes_ex
    linkageType: ''
    returnType: size_t
    signature: 'static size_t tls1_multi_block_encrypt(void *vctx, unsigned char *out,
      const unsigned char *inp, size_t inp_len, int n4x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha256
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA*
    signature: 'const PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha256(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:739,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - vctx
    - aad_rec
    - aad_len
    argTypes:
    - void*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 750
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 750
    functionName: aesni_cbc_hmac_sha256_set_tls1_aad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - memcpy
    - sha256_update
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_set_tls1_aad(void *vctx, unsigned
      char *aad_rec, int aad_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 762
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 762
    functionName: aesni_cbc_hmac_sha256_tls1_multiblock_max_bufsize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: []
    functionsReached:
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: 'static int aesni_cbc_hmac_sha256_tls1_multiblock_max_bufsize( void
      *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c:32,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c:34,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: cipher_hw_desx_cbc_initkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: []
    functionsReached:
    - DES_set_key_unchecked
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_desx_cbc_initkey(PROV_CIPHER_CTX *ctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: cipher_hw_desx_copyctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cipher_hw_desx_copyctx(PROV_CIPHER_CTX *dst, const PROV_CIPHER_CTX
      *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ossl_prov_cipher_hw_tdes_desx_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW*
    signature: 'const PROV_CIPHER_HW *ossl_prov_cipher_hw_tdes_desx_cbc(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_xcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c:55,1
    - Dst: DES_xcbc_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: cipher_hw_desx_cbc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: []
    functionsReached:
    - DES_xcbc_encrypt
    linkageType: ''
    returnType: int
    signature: 'static int cipher_hw_desx_cbc(PROV_CIPHER_CTX *ctx, unsigned char
      *out, const unsigned char *in, size_t inl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_hash_to_v
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:339,1
    - Dst: add_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:348,1
    - Dst: hash_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:341,1
    - Dst: add_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:346,1
    - Dst: add_hash_to_v
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - drbg
    - out
    - outlen
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 349
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 349
    functionName: drbg_hash_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - hash_gen
    - add_bytes
    - add_hash_to_v
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_generate(PROV_DRBG *drbg, unsigned char *out,
      size_t outlen, const unsigned char *adin, size_t adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:381,1
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:382,1
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: drbg_hash_verify_zeroization
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - PROV_DRBG_VERYIFY_ZEROIZATION
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_verify_zeroization(void *vdrbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: drbg_hash_generate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_generate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_generate_wrapper (void *vdrbg, unsigned char
      *out, size_t outlen, unsigned int strength, int prediction_resistance, const
      unsigned char *adin, size_t adin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:391,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: drbg_hash_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_zalloc
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_new(PROV_DRBG *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:365,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:366,1
    - Dst: ossl_prov_drbg_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:368,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: drbg_hash_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - ossl_prov_drbg_uninstantiate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_uninstantiate(PROV_DRBG *drbg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:463,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:472,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:469,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:466,1
    - Dst: EVP_MD_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:471,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:477,1
    - Dst: ossl_drbg_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 492
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 492
    functionName: drbg_hash_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_prov_digest_load_from_params
    - EVP_MD_get_size
    - ossl_drbg_set_ctx_params
    - ossl_prov_digest_md
    - PROV_LIBCTX_OF
    - EVP_MD_get_flags
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hash_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: drbg_hash_uninstantiate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - drbg_hash_uninstantiate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_uninstantiate_wrapper(void *vdrbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:498,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: drbg_hash_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *drbg_hash_settable_ctx_params(ossl_unused
      void *vctx, ossl_unused void *p_ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:102,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:103,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:102,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:104,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:105,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:106,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:110,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:112,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:113,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:115,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    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
    constantsTouched: []
    func_position:
      end: 127
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 127
    functionName: hash_df
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - memcpy
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: 'static int hash_df(PROV_DRBG *drbg, unsigned char *out, const unsigned
      char inbyte, const unsigned char *in, size_t inlen, const unsigned char *in2,
      size_t in2len, const unsigned char *in3, size_t in3len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - drbg
    - dst
    - in
    - inlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 171
    functionName: add_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int add_bytes(PROV_DRBG *drbg, unsigned char *dst, unsigned
      char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:180,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:180,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:182,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:181,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:183,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:184,1
    - Dst: add_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - drbg
    - inbyte
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - unsigned char
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: add_hash_to_v
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - add_bytes
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: 'static int add_hash_to_v(PROV_DRBG *drbg, unsigned char inbyte, const
      unsigned char *adin, size_t adinlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_drbg_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: drbg_hash_new_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - ossl_rand_drbg_new
    linkageType: ''
    returnType: void*
    signature: 'static void *drbg_hash_new_wrapper(void *provctx, void *parent, const
      OSSL_DISPATCH *parent_dispatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:424,1
    - Dst: ossl_rand_drbg_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:428,1
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:425,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: drbg_hash_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - ossl_prov_digest_reset
    - ossl_rand_drbg_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void drbg_hash_free(void *vdrbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_df
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - drbg
    - out
    - in_byte
    - in1
    - in1len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - unsigned char
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: hash_df1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - hash_df
    linkageType: ''
    returnType: int
    signature: 'static int hash_df1(PROV_DRBG *drbg, unsigned char *out, const unsigned
      char in_byte, const unsigned char *in1, size_t in1len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:254,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:255,1
    - Dst: hash_df1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:262,1
    - Dst: hash_df
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    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
    constantsTouched: []
    func_position:
      end: 263
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 263
    functionName: drbg_hash_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - hash_df
    - hash_df1
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_instantiate(PROV_DRBG *drbg, const unsigned char
      *ent, size_t ent_len, const unsigned char *nonce, size_t nonce_len, const unsigned
      char *pstr, size_t pstr_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_df
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:295,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:298,1
    - Dst: hash_df1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - drbg
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: drbg_hash_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - hash_df
    - memcpy
    - hash_df1
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_reseed(PROV_DRBG *drbg, const unsigned char *ent,
      size_t ent_len, const unsigned char *adin, size_t adin_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:438,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:441,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:441,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:440,1
    - Dst: ossl_drbg_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - vdrbg
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 446
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 446
    functionName: drbg_hash_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - ossl_drbg_get_ctx_params
    - EVP_MD_get0_name
    - ossl_prov_digest_md
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_get_ctx_params(void *vdrbg, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:273,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:275,1
    - Dst: drbg_hash_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - vdrbg
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: drbg_hash_instantiate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_instantiate
    - drbg_hash_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_instantiate_wrapper(void *vdrbg, unsigned int
      strength, int prediction_resistance, const unsigned char *pstr, size_t pstr_len,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: drbg_hash_reseed_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_reseed
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hash_reseed_wrapper(void *vdrbg, int prediction_resistance,
      const unsigned char *ent, size_t ent_len, const unsigned char *adin, size_t
      adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: drbg_hash_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *drbg_hash_gettable_ctx_params(ossl_unused
      void *vctx, ossl_unused void *p_ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:213,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:217,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:215,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:221,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:215,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:223,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:226,1
    - Dst: add_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - drbg
    - out
    - outlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: hash_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal
    - memcpy
    - add_bytes
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: 'static int hash_gen(PROV_DRBG *drbg, unsigned char *out, size_t outlen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:50,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:56,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: seed_src_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *seed_src_new(void *provctx, void *parent, const OSSL_DISPATCH
      *parent_dispatch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:100,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:113,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:116,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:108,1
    - Dst: ossl_rand_pool_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:106,1
    - Dst: ossl_rand_pool_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:116,1
    - Dst: ossl_rand_pool_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:116,1
    - Dst: ossl_rand_pool_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    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
    constantsTouched: []
    func_position:
      end: 120
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 120
    functionName: seed_src_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_buffer
    - ossl_rand_pool_length
    - ERR_raise
    - memcpy
    - ossl_rand_pool_new
    - ossl_rand_pool_free
    - ossl_pool_acquire_entropy
    linkageType: ''
    returnType: int
    signature: 'static int seed_src_generate(void *vseed, unsigned char *out, size_t
      outlen, unsigned int strength, ossl_unused int prediction_resistance, ossl_unused
      const unsigned char *adin, ossl_unused size_t adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - vseed
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - OSSL_PARAM
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: seed_src_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int seed_src_instantiate(void *vseed, unsigned int strength,
      int prediction_resistance, const unsigned char *pstr, size_t pstr_len, ossl_unused
      const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:145,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:146,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:153,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:150,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:149,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - vseed
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: seed_src_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int seed_src_get_ctx_params(void *vseed, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: seed_src_verify_zeroization
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int seed_src_verify_zeroization(ossl_unused void *vseed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vdrbg
    - out
    - outlen
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: seed_clear_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void seed_clear_seed(ossl_unused void *vdrbg, unsigned char
      *out, size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: seed_src_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int seed_src_lock(ossl_unused void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: seed_src_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void seed_src_free(void *vseed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: seed_src_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int seed_src_uninstantiate(void *vseed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - vseed
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - void*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: seed_src_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int seed_src_reseed(void *vseed, ossl_unused int prediction_resistance,
      ossl_unused const unsigned char *ent, ossl_unused size_t ent_len, ossl_unused
      const unsigned char *adin, ossl_unused size_t adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:163,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:165,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - vseed
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: seed_src_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_uint
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *seed_src_gettable_ctx_params(ossl_unused
      void *vseed, ossl_unused void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:194,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:198,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:208,1
    - Dst: seed_src_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    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
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: seed_get_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    - ERR_raise
    - seed_src_generate
    linkageType: ''
    returnType: size_t
    signature: 'static size_t seed_get_seed(void *vseed, unsigned char **pout, int
      entropy, size_t min_len, size_t max_len, int prediction_resistance, const unsigned
      char *adin, size_t adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: seed_src_enable_locking
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int seed_src_enable_locking(ossl_unused void *vseed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: seed_src_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seed_src.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void seed_src_unlock(ossl_unused void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: ossl_drbg_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: 'void ossl_drbg_unlock(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:299,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - vdngbl
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: prov_drbg_nonce_ossl_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void prov_drbg_nonce_ossl_ctx_free(void *vdngbl) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:389,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:387,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:404,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:406,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:436,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:455,1
    - Dst: tsan_store
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:470,1
    - Dst: cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:465,1
    - Dst: get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:450,1
    - Dst: ossl_prov_cleanup_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:474,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:369,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:381,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:401,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:413,1
    - Dst: prov_drbg_get_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:432,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:443,1
    - Dst: cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:461,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:462,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:469,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 78
    argCount: 5
    argNames:
    - drbg
    - strength
    - prediction_resistance
    - pers
    - perslen
    argTypes:
    - PROV_DRBG*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 478
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 478
    functionName: ossl_prov_drbg_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - tsan_load
    - ERR_raise
    - time
    - ossl_prov_cleanup_nonce
    - cleanup_entropy
    - get_entropy
    - prov_drbg_get_nonce
    - tsan_store
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_drbg_instantiate(PROV_DRBG *drbg, unsigned int strength,
      int prediction_resistance, const unsigned char *pers, size_t perslen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - dispatch
    - function
    argTypes:
    - OSSL_DISPATCH*
    - int
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: find_call
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DISPATCH*
    signature: 'static const OSSL_DISPATCH *find_call(const OSSL_DISPATCH *dispatch,
      int function) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ossl_drbg_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'int ossl_drbg_lock(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: ossl_drbg_lock_parent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ossl_drbg_lock_parent(PROV_DRBG *drbg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:162,1
    - Dst: ossl_prov_drbg_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:175,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    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
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: ossl_drbg_get_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_generate
    - OPENSSL_secure_malloc
    - ERR_raise
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_drbg_get_seed(void *vdrbg, unsigned char **pout, int entropy,
      size_t min_len, size_t max_len, int prediction_resistance, const unsigned char
      *adin, size_t adin_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 722
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 722
    functionName: rand_drbg_restart
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_instantiate
    linkageType: ''
    returnType: int
    signature: 'static int rand_drbg_restart(PROV_DRBG *drbg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:116,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:115,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:121,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: get_parent_reseed_count
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - tsan_load
    - ERR_raise
    - OSSL_PARAM_construct_uint
    - ossl_drbg_unlock_parent
    - ossl_drbg_lock_parent
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int get_parent_reseed_count(PROV_DRBG *drbg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crngt_cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:251,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:259,1
    - Dst: ossl_prov_cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:253,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - drbg
    - out
    - outlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: cleanup_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ossl_crngt_cleanup_entropy
    - ossl_prov_cleanup_entropy
    - ossl_drbg_lock_parent
    - ossl_drbg_unlock_parent
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_entropy(PROV_DRBG *drbg, unsigned char *out, size_t
      outlen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:621,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:629,1
    - Dst: rand_drbg_restart
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:626,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:638,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:633,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:643,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:647,1
    - Dst: openssl_get_fork_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:651,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:663,1
    - Dst: get_parent_reseed_count
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:669,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:684,1
    - Dst: ossl_prov_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:673,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:675,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    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
    constantsTouched: []
    func_position:
      end: 691
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 691
    functionName: ossl_prov_drbg_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - rand_drbg_restart
    - time
    - openssl_get_fork_id
    - ossl_prov_drbg_reseed
    - get_parent_reseed_count
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_drbg_generate(PROV_DRBG *drbg, unsigned char *out, size_t
      outlen, unsigned int strength, int prediction_resistance, const unsigned char
      *adin, size_t adinlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:926,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:931,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:927,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - drbg
    - params
    argTypes:
    - PROV_DRBG*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 934
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 934
    functionName: ossl_drbg_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_time_t
    linkageType: ''
    returnType: int
    signature: 'int ossl_drbg_set_ctx_params(PROV_DRBG *drbg, const OSSL_PARAM params[]) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:507,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:515,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:546,1
    - Dst: get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:578,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:583,1
    - Dst: tsan_store
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:593,1
    - Dst: rand_drbg_restart
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:512,1
    - Dst: get_parent_reseed_count
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:595,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:531,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:540,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:592,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:568,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:519,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:526,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:563,1
    - Dst: cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:598,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 6
    argNames:
    - drbg
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 602
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 602
    functionName: ossl_prov_drbg_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - tsan_load
    - ERR_raise
    - rand_drbg_restart
    - time
    - cleanup_entropy
    - get_entropy
    - tsan_store
    - get_parent_reseed_count
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_drbg_reseed(PROV_DRBG *drbg, int prediction_resistance,
      const unsigned char *ent, size_t ent_len, const unsigned char *adin, size_t
      adinlen) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:782,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:785,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:787,1
    - Dst: OSSL_FUNC_rand_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:803,1
    - Dst: OSSL_FUNC_rand_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:807,1
    - Dst: find_call
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:810,1
    - Dst: get_parent_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:829,1
    - Dst: find_call
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:800,1
    - Dst: OSSL_FUNC_rand_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:809,1
    - Dst: find_call
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:812,1
    - Dst: openssl_get_fork_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:796,1
    - Dst: find_call
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:802,1
    - Dst: find_call
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:806,1
    - Dst: OSSL_FUNC_rand_get_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:811,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:836,1
    - Dst: ossl_drbg_enable_locking
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:841,1
    - Dst: dfree
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:847,1
    - Dst: OSSL_FUNC_rand_enable_locking
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:801,1
    - Dst: find_call
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:804,1
    - Dst: OSSL_FUNC_rand_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:805,1
    - Dst: dnew
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:825,1
    - Dst: find_call
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:808,1
    - Dst: OSSL_FUNC_rand_clear_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:813,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 71
    argCount: 9
    argNames:
    - provctx
    - parent
    - p_dispatch
    - (*dnew)
    - (*dfree)
    - (*instantiate)
    - (*uninstantiate)
    - (*reseed)
    - (*generate)
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    - int
    - void
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 849
    functionName: ossl_rand_drbg_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_FUNC_rand_lock
    - OSSL_FUNC_rand_unlock
    - get_parent_strength
    - dnew
    - find_call
    - openssl_get_fork_id
    - OSSL_FUNC_rand_clear_seed
    - ossl_drbg_enable_locking
    - OPENSSL_zalloc
    - OSSL_FUNC_rand_get_ctx_params
    - OSSL_FUNC_rand_nonce
    - dfree
    - OSSL_FUNC_rand_get_seed
    - OSSL_FUNC_rand_enable_locking
    - ossl_prov_is_running
    linkageType: ''
    returnType: PROV_DRBG*
    signature: 'PROV_DRBG *ossl_rand_drbg_new (void *provctx, void *parent, const
      OSSL_DISPATCH *p_dispatch, int (*dnew)(PROV_DRBG *ctx), void (*dfree)(void *vctx),
      int (*instantiate)(PROV_DRBG *drbg, const unsigned char *entropy, size_t entropylen,
      const unsigned char *nonce, size_t noncelen, const unsigned char *pers, size_t
      perslen), int (*uninstantiate)(PROV_DRBG *ctx), int (*reseed)(PROV_DRBG *drbg,
      const unsigned char *ent, size_t ent_len, const unsigned char *adin, size_t
      adin_len), int (*generate)(PROV_DRBG *, unsigned char *out, size_t outlen, const
      unsigned char *adin, size_t adin_len)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:316,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:331,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:318,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:338,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:343,1
    - Dst: CRYPTO_atomic_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:345,1
    - Dst: ossl_prov_get_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:347,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - drbg
    - pout
    - min_len
    - max_len
    argTypes:
    - PROV_DRBG*
    - unsigned char**
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 349
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 349
    functionName: prov_drbg_get_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ossl_prov_get_nonce
    - CRYPTO_atomic_add
    - OPENSSL_free
    - ossl_prov_ctx_get0_libctx
    - ossl_lib_ctx_get_data
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'static size_t prov_drbg_get_nonce(PROV_DRBG *drbg, unsigned char **pout,
      size_t min_len, size_t max_len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:744,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:747,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:749,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 754
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 754
    functionName: ossl_drbg_enable_locking
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_drbg_enable_locking(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ossl_drbg_unlock_parent
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ossl_drbg_unlock_parent(PROV_DRBG *drbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vdrbg
    - out
    - outlen
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: ossl_drbg_clear_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_drbg_clear_seed(ossl_unused void *vdrbg, unsigned char *out,
      size_t outlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:856,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 858
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 858
    functionName: ossl_rand_drbg_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_drbg_free(PROV_DRBG *drbg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:90,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:94,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:95,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:96,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:100,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - drbg
    - str
    argTypes:
    - PROV_DRBG*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: get_parent_strength
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ossl_drbg_lock_parent
    - ERR_raise
    - ossl_drbg_unlock_parent
    - OSSL_PARAM_construct_uint
    linkageType: ''
    returnType: int
    signature: 'static int get_parent_strength(PROV_DRBG *drbg, unsigned int *str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crngt_get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:202,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:210,1
    - Dst: get_parent_strength
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:213,1
    - Dst: ossl_prov_get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:220,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:229,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 6
    argNames:
    - drbg
    - pout
    - entropy
    - min_len
    - max_len
    - prediction_resistance
    argTypes:
    - PROV_DRBG*
    - unsigned char**
    - int
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 245
    functionName: get_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - get_parent_strength
    - ossl_crngt_get_entropy
    - ossl_drbg_unlock_parent
    - ossl_drbg_lock_parent
    - ossl_prov_get_entropy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t get_entropy(PROV_DRBG *drbg, unsigned char **pout, int
      entropy, size_t min_len, size_t max_len, int prediction_resistance) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:868,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:872,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:900,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:904,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:908,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:912,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:914,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:864,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:873,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:877,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:881,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:889,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:893,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:885,1
    - Dst: tsan_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:914,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:876,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:880,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:884,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:896,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:888,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:892,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:869,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:865,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:897,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:901,1
    - Dst: OSSL_PARAM_set_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:905,1
    - Dst: OSSL_PARAM_set_time_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:909,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 2
    argNames:
    - drbg
    - params
    argTypes:
    - PROV_DRBG*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 917
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 917
    functionName: ossl_drbg_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - tsan_load
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_time_t
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'int ossl_drbg_get_ctx_params(PROV_DRBG *drbg, OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:278,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:285,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c:283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 290
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 290
    functionName: prov_drbg_nonce_ossl_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *prov_drbg_nonce_ossl_ctx_new(OSSL_LIB_CTX *libctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: ossl_prov_drbg_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_drbg_uninstantiate(PROV_DRBG *drbg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:41,1
    - Dst: ossl_prov_cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:46,1
    - Dst: ossl_prov_cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:50,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:43,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:45,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - provctx
    - digest
    - buf
    - md
    - md_size
    argTypes:
    - PROV_CTX*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: crngt_get_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c
    functionUses: []
    functionsReached:
    - EVP_Digest
    - ossl_prov_cleanup_entropy
    - memcpy
    - ossl_prov_get_entropy
    linkageType: ''
    returnType: int
    signature: 'static int crngt_get_entropy(PROV_CTX *provctx, const EVP_MD *digest,
      unsigned char *buf, unsigned char *md, unsigned int *md_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:94,1
    - Dst: ossl_set_error_state
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - prev
    - cur
    - sz
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: prov_crngt_compare_previous
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c
    functionUses: []
    functionsReached:
    - ossl_set_error_state
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int prov_crngt_compare_previous(const unsigned char *prev,
      const unsigned char *cur, size_t sz) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:65,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:71,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:75,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:70,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:76,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: rand_crng_ossl_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - EVP_MD_free
    - EVP_MD_fetch
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void*
    signature: 'static void *rand_crng_ossl_ctx_new(OSSL_LIB_CTX *ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: crngt_get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:128,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:115,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:130,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:146,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:184,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:150,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:155,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:169,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:185,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:152,1
    - Dst: crngt_get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:163,1
    - Dst: prov_crngt_compare_previous
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:170,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:113,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:124,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:166,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:168,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:175,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:186,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:189,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 57
    argCount: 6
    argNames:
    - drbg
    - pout
    - entropy
    - min_len
    - max_len
    - prediction_resistance
    argTypes:
    - PROV_DRBG*
    - unsigned char**
    - int
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 191
    functionName: ossl_crngt_get_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c
    functionUses: []
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_get_callback
    - OSSL_SELF_TEST_onend
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - memcpy
    - OPENSSL_cleanse
    - OPENSSL_secure_clear_free
    - ossl_prov_ctx_get0_libctx
    - OPENSSL_secure_malloc
    - OSSL_SELF_TEST_oncorrupt_byte
    - prov_crngt_compare_previous
    - ossl_lib_ctx_get_data
    - crngt_get_entropy
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_free
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_crngt_get_entropy(PROV_DRBG *drbg, unsigned char **pout,
      int entropy, size_t min_len, size_t max_len, int prediction_resistance) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:58,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:59,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - vcrngt_glob
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: rand_crng_ossl_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_MD_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void rand_crng_ossl_ctx_free(void *vcrngt_glob) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - drbg
    - out
    - outlen
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: ossl_crngt_cleanup_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/crngt.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_crngt_cleanup_entropy(ossl_unused PROV_DRBG *drbg, unsigned
      char *out, size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - drbg
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: drbg_hmac_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - drbg_hmac_update
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_reseed(PROV_DRBG *drbg, const unsigned char *ent,
      size_t ent_len, const unsigned char *adin, size_t adin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:129,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:134,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:136,1
    - Dst: drbg_hmac_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    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
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: drbg_hmac_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - drbg_hmac_update
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_instantiate(PROV_DRBG *drbg, const unsigned char
      *ent, size_t ent_len, const unsigned char *nonce, size_t nonce_len, const unsigned
      char *pstr, size_t pstr_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_hmac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:101,1
    - Dst: do_hmac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 7
    argNames:
    - drbg
    - in1
    - in1len
    - in2
    - in2len
    - in3
    - in3len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: drbg_hmac_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - do_hmac
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_update(PROV_DRBG *drbg, const unsigned char *in1,
      size_t in1len, const unsigned char *in2, size_t in2len, const unsigned char
      *in3, size_t in3len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:204,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:216,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:224,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:215,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:220,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:226,1
    - Dst: drbg_hmac_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:233,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 5
    argNames:
    - drbg
    - out
    - outlen
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 237
    functionName: drbg_hmac_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - drbg_hmac_update
    - EVP_MAC_update
    - memcpy
    - EVP_MAC_init
    - EVP_MAC_final
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_generate(PROV_DRBG *drbg, unsigned char *out,
      size_t outlen, const unsigned char *adin, size_t adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:253,1
    - Dst: ossl_prov_drbg_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:255,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: drbg_hmac_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - ossl_prov_drbg_uninstantiate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_uninstantiate(PROV_DRBG *drbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:268,1
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: drbg_hmac_verify_zeroization
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - PROV_DRBG_VERYIFY_ZEROIZATION
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_verify_zeroization(void *vdrbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_drbg_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: drbg_hmac_new_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - ossl_rand_drbg_new
    linkageType: ''
    returnType: void*
    signature: 'static void *drbg_hmac_new_wrapper(void *provctx, void *parent, const
      OSSL_DISPATCH *parent_dispatch) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:325,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:334,1
    - Dst: EVP_MAC_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:329,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:329,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:330,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:336,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:337,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:337,1
    - Dst: ossl_drbg_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:341,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - vdrbg
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 342
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: drbg_hmac_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - ossl_drbg_get_ctx_params
    - EVP_MAC_CTX_get0_mac
    - EVP_MD_get0_name
    - ossl_prov_digest_md
    - EVP_MAC_get0_name
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_get_ctx_params(void *vdrbg, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:150,1
    - Dst: drbg_hmac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:150,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - vdrbg
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: drbg_hmac_instantiate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - drbg_hmac_set_ctx_params
    - ossl_prov_drbg_instantiate
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_instantiate_wrapper(void *vdrbg, unsigned int
      strength, int prediction_resistance, const unsigned char *pstr, size_t pstr_len,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: drbg_hmac_reseed_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_reseed
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_reseed_wrapper(void *vdrbg, int prediction_resistance,
      const unsigned char *ent, size_t ent_len, const unsigned char *adin, size_t
      adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: drbg_hmac_generate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_generate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_generate_wrapper (void *vdrbg, unsigned char
      *out, size_t outlen, unsigned int strength, int prediction_resistance, const
      unsigned char *adin, size_t adin_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: drbg_hmac_uninstantiate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - drbg_hmac_uninstantiate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_uninstantiate_wrapper(void *vdrbg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:277,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 293
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 293
    functionName: drbg_hmac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_zalloc
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_new(PROV_DRBG *drbg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:310,1
    - Dst: ossl_rand_drbg_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:314,1
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:311,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 315
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 315
    functionName: drbg_hmac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - ossl_prov_digest_reset
    - ossl_rand_drbg_free
    - EVP_MAC_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void drbg_hmac_free(void *vdrbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:348,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: drbg_hmac_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *drbg_hmac_gettable_ctx_params(ossl_unused
      void *vctx, ossl_unused void *p_ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:360,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:373,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:363,1
    - Dst: EVP_MD_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:372,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:371,1
    - Dst: ossl_prov_macctx_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:377,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:383,1
    - Dst: ossl_drbg_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 394
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 394
    functionName: drbg_hmac_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_prov_digest_load_from_params
    - ossl_prov_macctx_load_from_params
    - EVP_MD_get_size
    - ossl_drbg_set_ctx_params
    - ossl_prov_digest_md
    - PROV_LIBCTX_OF
    - EVP_MD_get_flags
    linkageType: ''
    returnType: int
    signature: 'static int drbg_hmac_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:63,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:65,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:66,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:68,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:67,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:69,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:70,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:74,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:75,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:76,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    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
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: do_hmac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - EVP_MAC_update
    - EVP_MAC_final
    - EVP_MAC_init
    linkageType: ''
    returnType: int
    signature: 'static int do_hmac(PROV_DRBG_HMAC *hmac, unsigned char inbyte, const
      unsigned char *in1, size_t in1len, const unsigned char *in2, size_t in2len,
      const unsigned char *in3, size_t in3len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:400,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:402,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: drbg_hmac_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *drbg_hmac_settable_ctx_params(ossl_unused
      void *vctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - PROV_DRBG_CTR*
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: inc_128
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void inc_128(PROV_DRBG_CTR *ctr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inc_128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:385,1
    - Dst: ctr_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:403,1
    - Dst: inc_128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:398,1
    - Dst: ctr_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:387,1
    - Dst: inc_128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:401,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:408,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:411,1
    - Dst: GETU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:425,1
    - Dst: ctr96_inc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:433,1
    - Dst: PUTU32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:435,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:437,1
    - Dst: ctr_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:445,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 5
    argNames:
    - drbg
    - out
    - outlen
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 448
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 448
    functionName: drbg_ctr_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ctr96_inc
    - EVP_CipherUpdate
    - GETU32
    - ctr_update
    - PUTU32
    - inc_128
    - EVP_CipherInit_ex
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_generate(PROV_DRBG *drbg, unsigned char *out,
      size_t outlen, const unsigned char *adin, size_t adinlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:483,1
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:485,1
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:486,1
    - Dst: PROV_DRBG_VERYIFY_ZEROIZATION
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: drbg_ctr_verify_zeroization
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - PROV_DRBG_VERYIFY_ZEROIZATION
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_verify_zeroization(void *vdrbg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ctr
    - in
    - inlen
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: ctr_XOR
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr_XOR(PROV_DRBG_CTR *ctr, const unsigned char *in, size_t
      inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_generate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 459
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 459
    functionName: drbg_ctr_generate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_generate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_generate_wrapper (void *vdrbg, unsigned char *out,
      size_t outlen, unsigned int strength, int prediction_resistance, const unsigned
      char *adin, size_t adin_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 523
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 523
    functionName: drbg_ctr_init_lengths
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_init_lengths(PROV_DRBG *drbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_reseed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: drbg_ctr_reseed_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_reseed
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_reseed_wrapper(void *vdrbg, int prediction_resistance,
      const unsigned char *ent, size_t ent_len, const unsigned char *adin, size_t
      adin_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:531,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:536,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:538,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:540,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:534,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:544,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:546,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:548,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:565,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:567,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:573,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:581,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:580,1
    - Dst: drbg_ctr_init_lengths
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:577,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:571,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 584
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 584
    functionName: drbg_ctr_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex
    - drbg_ctr_init_lengths
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_init(PROV_DRBG *drbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_drbg_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: drbg_ctr_new_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ossl_rand_drbg_new
    linkageType: ''
    returnType: void*
    signature: 'static void *drbg_ctr_new_wrapper(void *provctx, void *parent, const
      OSSL_DISPATCH *parent_dispatch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:633,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:634,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:637,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:640,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:641,1
    - Dst: ossl_drbg_get_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:645,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - vdrbg
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 646
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 646
    functionName: drbg_ctr_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ossl_drbg_get_ctx_params
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_get_ctx_params(void *vdrbg, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: ctr96_inc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ctr96_inc(unsigned char *counter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:590,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:592,1
    - Dst: drbg_ctr_init_lengths
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: drbg_ctr_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_zalloc
    - ERR_raise
    - drbg_ctr_init_lengths
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_new(PROV_DRBG *drbg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:616,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:619,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:618,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:617,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:620,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:622,1
    - Dst: ossl_rand_drbg_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 625
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 625
    functionName: drbg_ctr_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - ossl_rand_drbg_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: 'static void drbg_ctr_free(void *vdrbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:652,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 658
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 658
    functionName: drbg_ctr_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *drbg_ctr_gettable_ctx_params(ossl_unused
      void *vctx, ossl_unused void *provctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:162,1
    - Dst: ctr_BCC_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:173,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:179,1
    - Dst: ctr_BCC_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - ctr
    - in
    - inlen
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 183
    functionName: ctr_BCC_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - memcpy
    - ctr_BCC_blocks
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ctr_BCC_update(PROV_DRBG_CTR *ctr, const unsigned
      char *in, size_t inlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:122,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:123,1
    - Dst: ctr_BCC_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:128,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctr
    - in
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: ctr_BCC_blocks
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - memcpy
    - ctr_BCC_block
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ctr_BCC_blocks(PROV_DRBG_CTR *ctr, const unsigned
      char *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:140,1
    - Dst: ctr_BCC_block
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - PROV_DRBG_CTR*
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: ctr_BCC_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ctr_BCC_block
    - memset
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ctr_BCC_init(PROV_DRBG_CTR *ctr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:188,1
    - Dst: ctr_BCC_blocks
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - PROV_DRBG_CTR*
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: ctr_BCC_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ctr_BCC_blocks
    - memset
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ctr_BCC_final(PROV_DRBG_CTR *ctr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:269,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:271,1
    - Dst: inc_128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:275,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:276,1
    - Dst: inc_128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:270,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:279,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:282,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:283,1
    - Dst: ctr_df
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:288,1
    - Dst: ctr_XOR
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:292,1
    - Dst: ctr_XOR
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:294,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:298,1
    - Dst: ctr_XOR
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:295,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:299,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    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
    constantsTouched: []
    func_position:
      end: 302
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 302
    functionName: ctr_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - memcpy
    - EVP_CipherUpdate
    - inc_128
    - ctr_XOR
    - ctr_df
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ctr_update(PROV_DRBG *drbg, const unsigned char
      *in1, size_t in1len, const unsigned char *in2, size_t in2len, const unsigned
      char *nonce, size_t noncelen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:333,1
    - Dst: drbg_ctr_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:333,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - vdrbg
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: drbg_ctr_instantiate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ossl_prov_drbg_instantiate
    - drbg_ctr_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_instantiate_wrapper(void *vdrbg, unsigned int
      strength, int prediction_resistance, const unsigned char *pstr, size_t pstr_len,
      const OSSL_PARAM params[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:664,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:671,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:677,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:684,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:670,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:692,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:693,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:696,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:697,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:700,1
    - Dst: ossl_drbg_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:716,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:704,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:702,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:707,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:705,1
    - Dst: drbg_ctr_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:713,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:701,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:703,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 717
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 717
    functionName: drbg_ctr_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_free
    - strcpy
    - drbg_ctr_init
    - OPENSSL_free
    - OSSL_PARAM_get_int
    - OPENSSL_strcasecmp
    - OSSL_PARAM_locate_const
    - ossl_drbg_set_ctx_params
    - OPENSSL_strndup
    - EVP_CIPHER_fetch
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctr_BCC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:205,1
    - Dst: ctr_BCC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:227,1
    - Dst: ctr_BCC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:226,1
    - Dst: ctr_BCC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:229,1
    - Dst: ctr_BCC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:228,1
    - Dst: ctr_BCC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:230,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:233,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:236,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:240,1
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:245,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    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
    constantsTouched: []
    func_position:
      end: 250
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 250
    functionName: ctr_df
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - ctr_BCC_init
    - ctr_BCC_final
    - EVP_CipherUpdate
    - EVP_CipherInit_ex
    - ctr_BCC_update
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ctr_df(PROV_DRBG_CTR *ctr, const unsigned char *in1,
      size_t in1len, const unsigned char *in2, size_t in2len, const unsigned char
      *in3, size_t in3len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:314,1
    - Dst: ctr_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:320,1
    - Dst: inc_128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:319,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:315,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    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
    constantsTouched: []
    func_position:
      end: 323
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 323
    functionName: drbg_ctr_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - EVP_CipherInit_ex
    - ctr_update
    - inc_128
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_instantiate(PROV_DRBG *drbg, const unsigned char
      *entropy, size_t entropylen, const unsigned char *nonce, size_t noncelen, const
      unsigned char *pers, size_t perslen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inc_128
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:348,1
    - Dst: ctr_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - drbg
    - entropy
    - entropylen
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: drbg_ctr_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - inc_128
    - ctr_update
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_reseed(PROV_DRBG *drbg, const unsigned char *entropy,
      size_t entropylen, const unsigned char *adin, size_t adinlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:723,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:725,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 730
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 730
    functionName: drbg_ctr_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *drbg_ctr_settable_ctx_params(ossl_unused
      void *vctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ctr
    - out
    - in
    - len
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: ctr_BCC_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - EVP_CipherUpdate
    linkageType: ''
    returnType: __owur
    signature: '__owur static int ctr_BCC_block(PROV_DRBG_CTR *ctr, unsigned char
      *out, const unsigned char *in, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:465,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:468,1
    - Dst: ossl_prov_drbg_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:470,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:467,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: drbg_ctr_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - ossl_prov_drbg_uninstantiate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_uninstantiate(PROV_DRBG *drbg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_ctr_uninstantiate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: drbg_ctr_uninstantiate_wrapper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: []
    functionsReached:
    - drbg_ctr_uninstantiate
    linkageType: ''
    returnType: int
    signature: 'static int drbg_ctr_uninstantiate_wrapper(void *vdrbg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: test_rng_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *test_rng_new(void *provctx, void *parent, const OSSL_DISPATCH
      *parent_dispatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_rng_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 6
    argNames:
    - vtest
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: test_rng_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - test_rng_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_instantiate(void *vtest, unsigned int strength,
      int prediction_resistance, const unsigned char *pstr, size_t pstr_len, const
      OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    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
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: test_rng_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_generate(void *vtest, unsigned char *out, size_t
      outlen, unsigned int strength, int prediction_resistance, const unsigned char
      *adin, size_t adin_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - vtest
    - out
    - strength
    - min_noncelen
    - max_noncelen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    - ossl_unused
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: test_rng_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t test_rng_nonce(void *vtest, unsigned char *out, unsigned
      int strength, ossl_unused size_t min_noncelen, ossl_unused size_t max_noncelen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:162,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:164,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - vtest
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: test_rng_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_uint
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *test_rng_gettable_ctx_params(ossl_unused
      void *vtest, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:215,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:218,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:216,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vtest
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: test_rng_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_uint
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *test_rng_settable_ctx_params(ossl_unused
      void *vtest, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    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
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: test_rng_get_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t test_rng_get_seed(void *vtest, unsigned char **pout,
      int entropy, size_t min_len, size_t max_len, ossl_unused int prediction_resistance,
      ossl_unused const unsigned char *adin, ossl_unused size_t adin_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: test_rng_lock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_lock(void *vtest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: test_rng_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_uninstantiate(void *vtest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:70,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:73,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:71,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: test_rng_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'static void test_rng_free(void *vtest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    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
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: test_rng_reseed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_reseed(ossl_unused void *vtest, ossl_unused int
      prediction_resistance, ossl_unused const unsigned char *ent, ossl_unused size_t
      ent_len, ossl_unused const unsigned char *adin, ossl_unused size_t adin_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:144,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:152,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:148,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:149,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:145,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - vtest
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: test_rng_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_get_ctx_params(void *vtest, OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:180,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:184,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:181,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:186,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:188,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:195,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:197,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:199,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:204,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:205,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - vtest
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 209
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 209
    functionName: test_rng_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - OPENSSL_free
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_set_ctx_params(void *vtest, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: test_rng_verify_zeroization
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_verify_zeroization(ossl_unused void *vtest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:246,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: test_rng_enable_locking
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: 'static int test_rng_enable_locking(void *vtest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: test_rng_unlock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/test_rng.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: 'static void test_rng_unlock(void *vtest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:135,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:146,1
    - Dst: GetCurrentThreadId
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:143,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:144,1
    - Dst: GetCurrentProcessId
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - GetSystemTimeAsFileTime
    - GetCurrentProcessId
    - GetCurrentThreadId
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_pool_add_nonce_data(RAND_POOL *pool) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:70,1
    - Dst: BCryptGenRandom
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:73,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:96,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:113,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:122,1
    - Dst: ossl_prov_acquire_entropy_from_tsc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:57,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:69,1
    - Dst: ossl_prov_acquire_entropy_from_cpu
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:63,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:78,1
    - Dst: CryptAcquireContextW
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:107,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:97,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:102,1
    - Dst: CryptGenRandom
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:110,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:116,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:77,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:83,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:84,1
    - Dst: CryptAcquireContextW
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:88,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:103,1
    - Dst: CryptReleaseContext
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:93,1
    - Dst: CryptGenRandom
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:90,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:115,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 123
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 123
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: []
    functionsReached:
    - CryptReleaseContext
    - ossl_rand_pool_add_end
    - ossl_rand_pool_add_begin
    - ossl_prov_acquire_entropy_from_tsc
    - CryptGenRandom
    - BCryptGenRandom
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    - CryptAcquireContextW
    - ossl_prov_acquire_entropy_from_cpu
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_pool_acquire_entropy(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:157,1
    - Dst: GetCurrentThreadId
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:164,1
    - Dst: QueryPerformanceCounter
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:165,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 167
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 167
    functionName: ossl_rand_pool_add_additional_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: []
    functionsReached:
    - QueryPerformanceCounter
    - ossl_rand_pool_add
    - GetCurrentThreadId
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_add_additional_data(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_keep_random_devices_open(int keep) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - items_input
    - items_input_num
    - items
    - databuffer
    argTypes:
    - struct item_st*
    - size_t
    - ILE3*
    - uint32_t__ptr32
    constantsTouched: []
    func_position:
      end: 308
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 308
    functionName: prepare_item_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t prepare_item_list(const struct item_st *items_input,
      size_t items_input_num, ILE3 *items, uint32_t__ptr32 databuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:494,1
    - Dst: dlopen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: init_get_entropy_address
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached:
    - dlsym
    - dlopen
    linkageType: ''
    returnType: int
    signature: 'static int init_get_entropy_address(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_get_entropy_address
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:544,1
    - Dst: get_entropy_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:545,1
    - Dst: data_collect_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached:
    - get_entropy_method
    - data_collect_method
    - init_get_entropy_address
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_pool_acquire_entropy(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_init(void) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:347,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:354,1
    - Dst: prepare_item_list
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:372,1
    - Dst: prepare_item_list
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:375,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:359,1
    - Dst: $DESCRIPTOR
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:390,1
    - Dst: sys$getdviw
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:392,1
    - Dst: sys$getsyiw
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:407,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:457,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:435,1
    - Dst: sys$synch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:438,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:345,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:348,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:358,1
    - Dst: prepare_item_list
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:377,1
    - Dst: prepare_item_list
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:379,1
    - Dst: prepare_item_list
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:381,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:394,1
    - Dst: sys$getjpiw
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:402,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:409,1
    - Dst: lib$get_ef
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:416,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:471,1
    - Dst: sys$synch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:425,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:443,1
    - Dst: massage_JPI
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:452,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:447,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:349,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:355,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:357,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:364,1
    - Dst: ossl_rand_pool_bytes_remaining
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:365,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:372,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:375,1
    - Dst: sys$getjpiw
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:397,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:404,1
    - Dst: sys$getrmi
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:420,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:430,1
    - Dst: sys$getrmi
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:433,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:439,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:346,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:350,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:356,1
    - Dst: prepare_item_list
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:369,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:369,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:377,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:379,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:381,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:399,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:422,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:426,1
    - Dst: lib$free_ef
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:446,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:473,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:458,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:417,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 119
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 474
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 474
    functionName: data_collect_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached:
    - sys$getdviw
    - ossl_rand_pool_bytes_remaining
    - lib$free_ef
    - sys$getrmi
    - ossl_rand_pool_add
    - ossl_assert
    - prepare_item_list
    - lib$signal
    - lib$get_ef
    - ERR_raise_data
    - $DESCRIPTOR
    - sys$getsyiw
    - OSSL_NELEM
    - massage_JPI
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    - sys$synch
    - sys$getjpiw
    linkageType: ''
    returnType: size_t
    signature: 'size_t data_collect_method(RAND_POOL *pool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:510,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:532,1
    - Dst: lib$signal
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:525,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:529,1
    - Dst: get_entropy_address
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 533
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 533
    functionName: get_entropy_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - lib$signal
    - get_entropy_address
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    linkageType: ''
    returnType: size_t
    signature: 'size_t get_entropy_method(RAND_POOL *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - items
    argTypes:
    - ILE3*
    constantsTouched: []
    func_position:
      end: 333
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 333
    functionName: massage_JPI
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void massage_JPI(ILE3 *items) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:565,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:600,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:589,1
    - Dst: sys$gettim
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:591,1
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c:588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 601
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 601
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached:
    - sys$gettim
    - ossl_rand_pool_add
    - CRYPTO_THREAD_get_current_id
    - getpid
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_pool_add_nonce_data(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:42,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:50,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:44,1
    - Dst: get_hardware_random_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:47,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:48,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: ossl_prov_acquire_entropy_from_cpu
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add_end
    - ossl_rand_pool_add_begin
    - get_hardware_random_value
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_prov_acquire_entropy_from_cpu(RAND_POOL *pool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _rdrand64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:69,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:77,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 88
    functionName: get_hardware_random_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c
    functionUses: []
    functionsReached:
    - _rdrand64
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t get_hardware_random_value(unsigned char *buf, size_t
      len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_ia32_rdseed_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:93,1
    - Dst: OPENSSL_ia32_rdrand_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: get_hardware_random_value
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c
    functionUses: []
    functionsReached:
    - OPENSSL_ia32_rdrand_bytes
    - OPENSSL_ia32_rdseed_bytes
    linkageType: ''
    returnType: size_t
    signature: 'static size_t get_hardware_random_value(unsigned char *buf, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:85,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:95,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:92,1
    - Dst: get_timer_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: ossl_rand_pool_add_additional_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - get_timer_bits
    - CRYPTO_THREAD_get_current_id
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_add_additional_data(RAND_POOL *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:43,1
    - Dst: TWO32TO64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:44,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: get_time_stamp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached:
    - clock_gettime
    - time
    - TWO32TO64
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t get_time_stamp(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_keep_random_devices_open(int keep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:106,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:117,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:114,1
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:113,1
    - Dst: get_time_stamp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - get_time_stamp
    - CRYPTO_THREAD_get_current_id
    - getpid
    - memset
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:126,1
    - Dst: randStatus
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:135,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:141,1
    - Dst: randBytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:139,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:133,1
    - Dst: taskDelay
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:153,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:158,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 166
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 166
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add_end
    - ossl_rand_pool_add_begin
    - randBytes
    - randStatus
    - taskDelay
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_pool_acquire_entropy(RAND_POOL *pool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:50,1
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:56,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:58,1
    - Dst: TWO32TO64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: get_timer_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: []
    functionsReached:
    - time
    - clock_gettime
    - TWO32TO64
    - OPENSSL_rdtsc
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t get_timer_bits(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 573
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 573
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:579,1
    - Dst: close_random_device
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - close_random_device
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_cleanup(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:644,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:655,1
    - Dst: get_random_device
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:678,1
    - Dst: close_random_device
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:696,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:730,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:737,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:745,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:647,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:673,1
    - Dst: read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:685,1
    - Dst: ossl_prov_acquire_entropy_from_tsc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:707,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:725,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:684,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:736,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:739,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:698,1
    - Dst: ossl_prov_acquire_entropy_from_cpu
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:713,1
    - Dst: RAND_query_egd_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:731,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:628,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:642,1
    - Dst: syscall_random
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:645,1
    - Dst: wait_random_seeded
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:667,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:672,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:700,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:688,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 747
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 747
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add_end
    - ossl_rand_pool_add_begin
    - get_random_device
    - close_random_device
    - wait_random_seeded
    - ossl_prov_acquire_entropy_from_tsc
    - RAND_query_egd_bytes
    - ossl_prov_acquire_entropy_from_cpu
    - OSSL_NELEM
    - ossl_rand_pool_entropy_available
    - syscall_random
    - ossl_rand_pool_bytes_needed
    - read
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_pool_acquire_entropy(RAND_POOL *pool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_random_device
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:560,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: close_random_device
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - check_random_device
    - close
    linkageType: ''
    returnType: void
    signature: 'static void close_random_device(size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_init(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shmdt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: cleanup_shm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - shmdt
    linkageType: ''
    returnType: void
    signature: 'static void cleanup_shm(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 589
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 589
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_cleanup
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_keep_random_devices_open(int keep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_cleanup(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_random_device
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:532,1
    - Dst: open
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:536,1
    - Dst: fstat
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:540,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 551
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 551
    functionName: get_random_device
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - check_random_device
    - open
    - fstat
    - close
    linkageType: ''
    returnType: int
    signature: 'static int get_random_device(size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:155,1
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:176,1
    - Dst: s$sleep
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:168,1
    - Dst: s$sleep2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:172,1
    - Dst: random
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:163,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:178,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 181
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 181
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - s$sleep2
    - ossl_rand_pool_add
    - random
    - clock_gettime
    - s$sleep
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_pool_acquire_entropy(RAND_POOL *pool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:237,1
    - Dst: sysctl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 268
    functionName: sysctl_random
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - sysctl
    - ossl_assert
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t sysctl_random(char *buf, size_t buflen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:814,1
    - Dst: TWO32TO64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:824,1
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:823,1
    - Dst: TWO32TO64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:815,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:827,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 828
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 828
    functionName: get_time_stamp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - gettimeofday
    - clock_gettime
    - time
    - TWO32TO64
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t get_time_stamp(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_cleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_keep_random_devices_open(int keep) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shmget
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:445,1
    - Dst: uname
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:455,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:457,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:456,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:458,1
    - Dst: open
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:466,1
    - Dst: FD_ZERO
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:468,1
    - Dst: FD_SET
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:469,1
    - Dst: select
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:470,1
    - Dst: read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:473,1
    - Dst: close
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:475,1
    - Dst: shmat
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:490,1
    - Dst: shmget
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:479,1
    - Dst: OPENSSL_atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:492,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 496
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 496
    functionName: wait_random_seeded
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - open
    - FD_SET
    - close
    - strchr
    - shmget
    - FD_ZERO
    - select
    - shmat
    - OPENSSL_atexit
    - atoi
    - uname
    - read
    linkageType: ''
    returnType: int
    signature: 'static int wait_random_seeded(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct random_device*
    constantsTouched: []
    func_position:
      end: 521
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 521
    functionName: check_random_device
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - fstat
    linkageType: ''
    returnType: int
    signature: 'static int check_random_device(struct random_device * rd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getentropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:363,1
    - Dst: CCRandomGenerateBytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:370,1
    - Dst: DSO_global_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:385,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:384,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:386,1
    - Dst: syscall
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:394,1
    - Dst: sysctl_random
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:396,1
    - Dst: getrandom
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:399,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 35
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 404
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 404
    functionName: syscall_random
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - getentropy
    - ERR_pop_to_mark
    - DSO_global_lookup
    - ERR_set_mark
    - CCRandomGenerateBytes
    - syscall
    - getrandom
    - sysctl_random
    linkageType: ''
    returnType: ssize_t
    signature: 'static ssize_t syscall_random(void *buf, size_t buflen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: wait_random_seeded
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int wait_random_seeded(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:762,1
    - Dst: getpid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:769,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:770,1
    - Dst: get_time_stamp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:771,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 774
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 774
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - get_time_stamp
    - CRYPTO_THREAD_get_current_id
    - getpid
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_pool_add_nonce_data(RAND_POOL *pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_rand_pool_keep_random_devices_open(int keep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:785,1
    - Dst: openssl_get_fork_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:793,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:794,1
    - Dst: get_timer_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:795,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 798
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 798
    functionName: ossl_rand_pool_add_additional_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - openssl_get_fork_id
    - CRYPTO_THREAD_get_current_id
    - get_timer_bits
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_rand_pool_add_additional_data(RAND_POOL *pool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:839,1
    - Dst: gethrtime
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:845,1
    - Dst: clock_gettime
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:865,1
    - Dst: read_wall_time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:850,1
    - Dst: TWO32TO64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:851,1
    - Dst: TWO32TO64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:866,1
    - Dst: gettimeofday
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:874,1
    - Dst: TWO32TO64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:875,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c:878,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 879
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 879
    functionName: get_timer_bits
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: []
    functionsReached:
    - read_wall_time
    - time
    - gethrtime
    - clock_gettime
    - TWO32TO64
    - gettimeofday
    - OPENSSL_rdtsc
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t get_timer_bits(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_tsc.c:39,1
    - Dst: ossl_rand_pool_add
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_tsc.c:40,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_tsc.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: ossl_prov_acquire_entropy_from_tsc
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/rands/seeding/rand_tsc.c
    functionUses: []
    functionsReached:
    - ossl_rand_pool_add
    - ossl_rand_pool_entropy_available
    - OPENSSL_rdtsc
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_prov_acquire_entropy_from_tsc(RAND_POOL *pool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:194,1
    - Dst: ossl_dh_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:201,1
    - Dst: ossl_dh_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: dh_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dh_params_fromdata
    - ossl_dh_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_import(void *keydata, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:318,1
    - Dst: DH_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:319,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:321,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:322,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:319,1
    - Dst: DH_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:322,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:324,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:325,1
    - Dst: DH_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:325,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:327,1
    - Dst: ossl_dh_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:330,1
    - Dst: ossl_dh_params_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:336,1
    - Dst: ossl_dh_key_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:337,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 338
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 338
    functionName: dh_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - DH_size
    - ossl_dh_params_todata
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - DH_security_bits
    - DH_bits
    - ossl_dh_key_todata
    - ossl_dh_key2buf
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int dh_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: dh_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_settable_params(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:385,1
    - Dst: DH_check_pub_key_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:394,1
    - Dst: ossl_dh_check_pub_key_partial
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:392,1
    - Dst: ossl_dh_is_named_safe_prime_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - dh
    - checktype
    argTypes:
    - DH*
    - int
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: dh_validate_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    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: 'static int dh_validate_public(const DH *dh, int checktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_init_base
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: dh_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - dh_gen_init_base
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 816
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 816
    functionName: dh_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_load(const void *reference, size_t reference_sz) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:221,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:227,1
    - Dst: ossl_dh_params_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:232,1
    - Dst: ossl_dh_key_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:238,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:241,1
    - Dst: param_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:246,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:247,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 251
    functionName: dh_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - param_cb
    - ossl_dh_params_todata
    - ossl_dh_key_todata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
      void *cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:371,1
    - Dst: ossl_dh_buf2key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 378
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 378
    functionName: dh_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - ossl_dh_buf2key
    linkageType: ''
    returnType: int
    signature: 'static int dh_set_params(void *key, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:402,1
    - Dst: ossl_dh_check_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: dh_validate_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - DH_get0_key
    - ossl_dh_check_priv_key
    linkageType: ''
    returnType: int
    signature: 'static int dh_validate_private(const DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_init_base
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: dhx_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - dh_gen_init_base
    linkageType: ''
    returnType: void*
    signature: 'static void *dhx_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:820,1
    - Dst: ossl_dh_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: dh_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dh_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_dup(const void *keydata_from, int selection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:80,1
    - Dst: ossl_dh_gen_type_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: dh_gen_type_name2id_w_default
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - strcmp
    - ossl_dh_gen_type_name2id
    linkageType: ''
    returnType: int
    signature: 'static int dh_gen_type_name2id_w_default(const char *name, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:115,1
    - Dst: DH_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:118,1
    - Dst: DH_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:117,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: dhx_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - DH_clear_flags
    - PROV_LIBCTX_OF
    - DH_set_flags
    - ossl_dh_new_ex
    linkageType: ''
    returnType: void*
    signature: 'static void *dhx_newdata(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:581,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:584,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:583,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:585,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:582,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:586,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:587,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:588,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:589,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:590,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 595
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 595
    functionName: dhx_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_int
    - OSSL_PARAM_size_t
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dhx_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_common_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:656,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:664,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:660,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:665,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:659,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:666,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:667,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:668,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:669,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:670,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:672,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 676
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 676
    functionName: dh_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - ERR_raise
    - dh_gen_common_set_params
    linkageType: ''
    returnType: int
    signature: 'static int dh_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: dh_freedata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - DH_free
    linkageType: ''
    returnType: void
    signature: 'static void dh_freedata(void *keydata) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:101,1
    - Dst: ossl_dh_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:102,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:102,1
    - Dst: DH_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:104,1
    - Dst: DH_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: dh_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - DH_clear_flags
    - DH_set_flags
    - PROV_LIBCTX_OF
    - ossl_dh_new_ex
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_newdata(void *provctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:610,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:643,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:612,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:621,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:632,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:636,1
    - Dst: dh_gen_common_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:602,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:607,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:606,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:613,1
    - Dst: dh_set_gen_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:618,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:627,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:623,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:637,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:609,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:615,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:620,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:645,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:628,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 649
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 649
    functionName: dhx_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - dh_set_gen_seed
    - dh_gen_common_set_params
    - OPENSSL_free
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int dhx_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:680,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:683,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: dh_gencb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - BN_GENCB_get_arg
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: 'static int dh_gencb(int p, int n, BN_GENCB *cb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:133,1
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:139,1
    - Dst: DH_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:143,1
    - Dst: DH_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:143,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:141,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: dh_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - DH_get0_p
    - DH_get0_priv_key
    - DH_get0_g
    - DH_get0_pub_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_has(const void *keydata, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: dh_import_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - dh_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_import_types(int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:501,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 505
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 505
    functionName: dh_gen_set_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dh_get0_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_gen_set_template(void *genctx, void *templ) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:697,1
    - Dst: ossl_dh_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:721,1
    - Dst: ossl_dh_get_named_group_uid_from_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:713,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:724,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:728,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:731,1
    - Dst: DH_set_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:772,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:741,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:773,1
    - Dst: ossl_dh_generate_ffc_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:760,1
    - Dst: ossl_dh_new_by_nid_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:716,1
    - Dst: ossl_ffc_params_set_pcounter
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:736,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:746,1
    - Dst: DH_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:778,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:719,1
    - Dst: ossl_ffc_params_set_gindex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:734,1
    - Dst: BN_GENCB_set
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:748,1
    - Dst: ossl_ffc_params_set_h
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:738,1
    - Dst: DH_generate_parameters_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:757,1
    - Dst: DH_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:775,1
    - Dst: DH_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:779,1
    - Dst: DH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:784,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:787,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 79
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 789
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 789
    functionName: dh_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ffc_set_digest
    - ossl_dh_new_by_nid_ex
    - ossl_prov_is_running
    - BN_GENCB_new
    - DH_generate_parameters_ex
    - DH_clear_flags
    - ossl_ffc_params_set_pcounter
    - BN_GENCB_set
    - ossl_dh_generate_ffc_parameters
    - DH_set_flags
    - DH_set_length
    - ossl_ffc_params_set_seed
    - ossl_ffc_params_set_gindex
    - DH_free
    - ossl_dh_get_named_group_uid_from_size
    - BN_GENCB_free
    - ossl_dh_get0_params
    - ossl_ffc_params_set_h
    - ossl_ffc_params_enable_flags
    - DH_generate_key
    - ossl_ffc_params_copy
    - ossl_dh_new_ex
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:153,1
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:161,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:170,1
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:160,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:164,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:171,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:174,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:181,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:182,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:184,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 187
    functionName: dh_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - ossl_ffc_params_cmp
    - DH_get0_priv_key
    - ossl_dh_get0_params
    - DH_get0_pub_key
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int dh_match(const void *keydata1, const void *keydata2, int
      selection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: dh_imexport_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_imexport_types(int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: dh_export_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - dh_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_export_types(int selection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:510,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - gctx
    - seed
    - seedlen
    argTypes:
    - struct dh_gen_ctx*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 520
    functionName: dh_set_gen_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_set_gen_seed(struct dh_gen_ctx *gctx, unsigned char
      *seed, size_t seedlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:798,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:799,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:801,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 802
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 802
    functionName: dh_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void dh_gen_cleanup(void *genctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: dh_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_gettable_params(void *provctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:413,1
    - Dst: DH_check_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:428,1
    - Dst: dh_validate_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:435,1
    - Dst: DH_check_params_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:426,1
    - Dst: dh_validate_public
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:432,1
    - Dst: ossl_dh_check_pairwise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:439,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 441
    functionName: dh_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - DH_check_params_ex
    - dh_validate_public
    - ossl_dh_check_pairwise
    - DH_check_ex
    - dh_validate_private
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dh_validate(const void *keydata, int selection, int checktype) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:532,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:537,1
    - Dst: ossl_ffc_name_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:547,1
    - Dst: dh_gen_type_name2id_w_default
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:536,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:541,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:549,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:550,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:554,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:555,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:557,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:558,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 561
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 561
    functionName: dh_gen_common_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ffc_named_group_get_uid
    - ossl_ffc_name_to_dh_named_group
    - ERR_raise
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - dh_gen_type_name2id_w_default
    linkageType: ''
    returnType: int
    signature: 'static int dh_gen_common_set_params(void *genctx, const OSSL_PARAM
      params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:446,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:478,1
    - Dst: dh_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:477,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:449,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - provctx
    - selection
    - params
    - type
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 482
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 482
    functionName: dh_gen_init_base
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - dh_gen_set_params
    - OPENSSL_free
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_gen_init_base(void *provctx, int selection, const
      OSSL_PARAM params[], int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:567,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:569,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:571,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:570,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: dh_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_size_t
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dh_gen_settable_params(ossl_unused void *genctx,
      ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: dhx_query_operation_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *dhx_query_operation_name(int operation_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:67,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:79,1
    - Dst: RSA_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:87,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:88,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:71,1
    - Dst: rsa_newdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames:
    - BIGNUM_const
    - BIGNUM
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: DEFINE_SPECIAL_STACK_OF_CONST
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - RSA_clear_flags
    - rsa_newdata
    - ossl_rsa_pss_params_30_is_unrestricted
    - RSA_set_flags
    - return
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: DEFINE_STACK_OF(BIGNUM)
    signature: 'DEFINE_STACK_OF(BIGNUM) DEFINE_SPECIAL_STACK_OF_CONST(BIGNUM_const,
      BIGNUM) static int pss_params_fromdata(RSA_PSS_PARAMS_30 *pss_params, int *defaults_set,
      const OSSL_PARAM params[], int rsa_type, OSSL_LIB_CTX *libctx){ if (!ossl_rsa_pss_params_30_fromdata(pss_params,
      defaults_set, params, libctx)) return 0; /* If not a PSS type RSA, sending us
      PSS parameters is wrong */ if (rsa_type != RSA_FLAG_TYPE_RSASSAPSS && !ossl_rsa_pss_params_30_is_unrestricted(pss_params))
      return 0; return 1;}static void *rsa_newdata(void *provctx){ OSSL_LIB_CTX *libctx
      = PROV_LIBCTX_OF(provctx); RSA *rsa; if (!ossl_prov_is_running()) return NULL;
      rsa = ossl_rsa_new_with_ctx(libctx); if (rsa != NULL) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: rsa_import_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - rsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_import_types(int selection) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:510,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:519,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:518,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:514,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:511,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:521,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:522,1
    - Dst: pss_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:526,1
    - Dst: ossl_rsa_acvp_test_gen_params_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:531,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 535
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 535
    functionName: rsa_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - pss_params_fromdata
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_BN
    - ossl_rsa_acvp_test_gen_params_new
    linkageType: ''
    returnType: int
    signature: 'static int rsa_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:582,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:602,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:607,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:588,1
    - Dst: BN_GENCB_set
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:609,1
    - Dst: ossl_rsa_acvp_test_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:613,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:618,1
    - Dst: ossl_rsa_pss_params_30_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:623,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:623,1
    - Dst: RSA_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:627,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:633,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:634,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:628,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 34
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 636
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 636
    functionName: rsa_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - RSA_free
    - BN_GENCB_new
    - RSA_clear_flags
    - RSA_set_flags
    - BN_GENCB_set
    - ossl_rsa_pss_params_30_copy
    - ossl_rsa_new_with_ctx
    - ossl_rsa_acvp_test_set_params
    - ossl_rsa_pss_params_30_is_unrestricted
    - BN_GENCB_free
    - RSA_generate_multi_prime_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: rsapss_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void*
    signature: 'static void *rsapss_load(const void *reference, size_t reference_sz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: rsa_export_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - rsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_export_types(int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_acvp_test_gen_params_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:645,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:648,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 650
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 650
    functionName: rsa_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_rsa_acvp_test_gen_params_free
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void rsa_gen_cleanup(void *genctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:683,1
    - Dst: ossl_rsa_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: rsa_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_rsa_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_dup(const void *keydata_from, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: rsapss_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *rsapss_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:95,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:101,1
    - Dst: RSA_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:103,1
    - Dst: RSA_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:104,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: rsapss_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - RSA_clear_flags
    - RSA_set_flags
    - ossl_rsa_new_with_ctx
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rsapss_newdata(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:119,1
    - Dst: RSA_get0_e
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:128,1
    - Dst: RSA_get0_d
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:130,1
    - Dst: RSA_get0_n
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: rsa_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - RSA_get0_e
    - RSA_get0_d
    - RSA_get0_n
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_has(const void *keydata, int selection) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:338,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:340,1
    - Dst: RSA_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:341,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:343,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:344,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:354,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:365,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:367,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:367,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:369,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:373,1
    - Dst: ossl_rsa_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:374,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:332,1
    - Dst: RSA_get0_n
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:335,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:338,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:333,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:337,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:341,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:344,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:353,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:362,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:351,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 375
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 375
    functionName: rsa_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - RSA_test_flags
    - ossl_rsa_pss_params_30_todata
    - ossl_rsa_todata
    - ossl_rsa_oaeppss_nid2name
    - RSA_size
    - RSA_security_bits
    - RSA_get0_n
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_pss_params_30_is_unrestricted
    - OSSL_PARAM_set_utf8_string
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: 'static int rsa_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:452,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:463,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:461,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:455,1
    - Dst: BN_set_word
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:464,1
    - Dst: rsa_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:474,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:480,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:481,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 4
    argNames:
    - provctx
    - selection
    - rsa_type
    - params
    argTypes:
    - void*
    - int
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 483
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 483
    functionName: gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - rsa_gen_set_params
    - OPENSSL_free
    - BN_new
    - OPENSSL_zalloc
    - BN_set_word
    - BN_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *gen_init(void *provctx, int selection, int rsa_type,
      const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:657,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - reference
    - reference_sz
    - expected_rsa_type
    argTypes:
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 669
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 669
    functionName: common_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - RSA_test_flags
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *common_load(const void *reference, size_t reference_sz,
      int expected_rsa_type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:140,1
    - Dst: RSA_get0_e
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:144,1
    - Dst: RSA_get0_n
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:149,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:144,1
    - Dst: RSA_get0_e
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:144,1
    - Dst: RSA_get0_n
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:150,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:153,1
    - Dst: RSA_get0_d
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:159,1
    - Dst: RSA_get0_d
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:160,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:163,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: rsa_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - RSA_get0_e
    - RSA_get0_n
    - RSA_get0_d
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int rsa_match(const void *keydata1, const void *keydata2, int
      selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: rsa_freedata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - RSA_free
    linkageType: ''
    returnType: void
    signature: 'static void rsa_freedata(void *keydata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: rsa_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: rsa_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_load(const void *reference, size_t reference_sz) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:179,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:185,1
    - Dst: ossl_rsa_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:191,1
    - Dst: pss_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:188,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:188,1
    - Dst: ossl_rsa_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 200
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 200
    functionName: rsa_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - RSA_test_flags
    - pss_params_fromdata
    - ossl_rsa_get0_libctx
    - ossl_rsa_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_import(void *keydata, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: rsa_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: rsa_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:206,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:217,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:222,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:223,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:211,1
    - Dst: ossl_rsa_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:228,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:231,1
    - Dst: param_callback
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:236,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:237,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:239,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_callback
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 241
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 241
    functionName: rsa_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - OSSL_PARAM_BLD_free
    - ossl_rsa_pss_params_30_todata
    - OSSL_PARAM_free
    - ossl_rsa_todata
    - OSSL_PARAM_BLD_new
    - param_callback
    - ossl_rsa_pss_params_30_is_unrestricted
    - OSSL_PARAM_BLD_to_param
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_export(void *keydata, int selection, OSSL_CALLBACK
      *param_callback, void *cbarg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:396,1
    - Dst: ossl_rsa_validate_pairwise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:405,1
    - Dst: ossl_rsa_validate_public
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:410,1
    - Dst: ossl_rsa_validate_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 413
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 413
    functionName: rsa_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_rsa_validate_private
    - ossl_rsa_validate_pairwise
    - ossl_rsa_validate_public
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_validate(const void *keydata, int selection, int checktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 574
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 574
    functionName: rsapss_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsapss_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: rsa_query_operation_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *rsa_query_operation_name(int operation_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:441,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:445,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: rsa_gencb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached:
    - BN_GENCB_get_arg
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: 'static int rsa_gencb(int p, int n, BN_GENCB *cb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: rsa_imexport_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_imexport_types(int selection) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:154,1
    - Dst: DSA_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:162,1
    - Dst: DSA_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:171,1
    - Dst: DSA_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:161,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:165,1
    - Dst: DSA_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:172,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:175,1
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:182,1
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:183,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:185,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: dsa_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - ossl_dsa_get0_params
    - ossl_ffc_params_cmp
    - DSA_get0_priv_key
    - DSA_get0_pub_key
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'static int dsa_match(const void *keydata1, const void *keydata2, int
      selection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:195,1
    - Dst: ossl_dsa_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:208,1
    - Dst: ossl_dsa_ffc_params_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: dsa_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_key_fromdata
    - ossl_dsa_ffc_params_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_import(void *keydata, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: dsa_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_gettable_params(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:105,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:111,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - dsa
    - bld
    - params
    - include_private
    argTypes:
    - DSA*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: dsa_key_todata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_param_build_set_bn
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: 'static int dsa_key_todata(DSA *dsa, OSSL_PARAM_BLD *bld, OSSL_PARAM
      params[], int include_private) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:560,1
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:576,1
    - Dst: BN_GENCB_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:572,1
    - Dst: BN_GENCB_set
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:574,1
    - Dst: ossl_dsa_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:562,1
    - Dst: ossl_ffc_params_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:579,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:583,1
    - Dst: ossl_ffc_params_set_gindex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:586,1
    - Dst: ossl_ffc_params_set_pcounter
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:588,1
    - Dst: ossl_ffc_params_set_h
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:590,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:616,1
    - Dst: DSA_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:610,1
    - Dst: BN_GENCB_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:619,1
    - Dst: ossl_ffc_set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:593,1
    - Dst: ossl_dsa_generate_ffc_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:598,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:603,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 62
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 621
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 621
    functionName: dsa_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - BN_GENCB_new
    - ossl_dsa_get0_params
    - ossl_ffc_set_digest
    - ossl_dsa_new
    - ossl_ffc_params_set_pcounter
    - DSA_generate_key
    - ossl_ffc_params_set_h
    - BN_GENCB_set
    - ossl_dsa_generate_ffc_parameters
    - ossl_ffc_params_enable_flags
    - ossl_ffc_params_set_seed
    - ossl_ffc_params_set_gindex
    - BN_GENCB_free
    - ossl_ffc_params_copy
    - DSA_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 648
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 648
    functionName: dsa_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_load(const void *reference, size_t reference_sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:90,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: dsa_gen_type_name2id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int dsa_gen_type_name2id(const char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:119,1
    - Dst: ossl_dsa_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:121,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: dsa_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_newdata(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:630,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:633,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:631,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 634
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 634
    functionName: dsa_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void dsa_gen_cleanup(void *genctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:652,1
    - Dst: ossl_dsa_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: dsa_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_dup(const void *keydata_from, int selection) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:222,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:228,1
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:233,1
    - Dst: ossl_ffc_params_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:233,1
    - Dst: dsa_key_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:238,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:241,1
    - Dst: param_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:246,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:247,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 251
    functionName: dsa_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_get0_params
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_free
    - param_cb
    - dsa_key_todata
    - OSSL_PARAM_BLD_new
    - ossl_ffc_params_todata
    - OSSL_PARAM_BLD_to_param
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_export(void *keydata, int selection, OSSL_CALLBACK
      *param_cb, void *cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: dsa_imexport_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_imexport_types(int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:371,1
    - Dst: ossl_dsa_check_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: dsa_validate_private
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_check_priv_key
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: 'static int dsa_validate_private(const DSA *dsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:407,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:428,1
    - Dst: dsa_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:427,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:413,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 432
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 432
    functionName: dsa_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - dsa_gen_set_params
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: dsa_import_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - dsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_import_types(int selection) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:382,1
    - Dst: dsa_validate_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:395,1
    - Dst: dsa_validate_domparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:389,1
    - Dst: ossl_dsa_check_pairwise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:400,1
    - Dst: dsa_validate_public
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 402
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 402
    functionName: dsa_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_check_pairwise
    - dsa_validate_domparams
    - dsa_validate_public
    - dsa_validate_private
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_validate(const void *keydata, int selection, int checktype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:439,1
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: dsa_gen_set_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_get0_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_gen_set_template(void *genctx, void *templ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: dsa_freedata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - DSA_free
    linkageType: ''
    returnType: void
    signature: 'static void dsa_freedata(void *keydata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: dsa_export_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - dsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_export_types(int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_check_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dsa
    - checktype
    argTypes:
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: dsa_validate_domparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_check_params
    linkageType: ''
    returnType: int
    signature: 'static int dsa_validate_domparams(const DSA *dsa, int checktype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:448,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - gctx
    - seed
    - seedlen
    argTypes:
    - struct dsa_gen_ctx*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: dsa_set_gen_seed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_set_gen_seed(struct dsa_gen_ctx *gctx, unsigned char
      *seed, size_t seedlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:527,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:530,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:529,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:528,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:531,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:532,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:533,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:534,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: dsa_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_int
    - OSSL_PARAM_size_t
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:134,1
    - Dst: DSA_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:142,1
    - Dst: DSA_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:144,1
    - Dst: DSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:144,1
    - Dst: DSA_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: dsa_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - DSA_get0_g
    - DSA_get0_p
    - DSA_get0_priv_key
    - DSA_get0_pub_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_has(const void *keydata, int selection) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:316,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:317,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:319,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:320,1
    - Dst: DSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:317,1
    - Dst: DSA_security_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:320,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:322,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:323,1
    - Dst: DSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:323,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:325,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:326,1
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:328,1
    - Dst: dsa_key_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:329,1
    - Dst: ossl_ffc_params_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:328,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: dsa_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - DSA_size
    - ossl_dsa_get0_params
    - DSA_bits
    - dsa_key_todata
    - DSA_security_bits
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - ossl_ffc_params_todata
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int dsa_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:360,1
    - Dst: ossl_dsa_check_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: dsa_validate_public
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_dsa_check_pub_key
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: 'static int dsa_validate_public(const DSA *dsa) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:481,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:507,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:511,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:499,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:515,1
    - Dst: dsa_gen_type_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:474,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:479,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:491,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:497,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:502,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:506,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:485,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:489,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:500,1
    - Dst: dsa_set_gen_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:494,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:471,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:475,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:483,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:487,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:496,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:516,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 521
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 521
    functionName: dsa_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OSSL_PARAM_get_size_t
    - dsa_gen_type_name2id
    - dsa_set_gen_seed
    - OPENSSL_free
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int dsa_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:543,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:546,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    constantsTouched: []
    func_position:
      end: 550
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 550
    functionName: dsa_gencb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: []
    functionsReached:
    - BN_GENCB_get_arg
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: 'static int dsa_gencb(int p, int n, BN_GENCB *cb) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:135,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:126,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:127,1
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:151,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:233,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:178,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:143,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:149,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:154,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:171,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:221,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:123,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:135,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:142,1
    - Dst: ossl_param_build_set_bn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:174,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:144,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:166,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:161,1
    - Dst: ossl_param_build_set_bn_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:226,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 72
    argCount: 5
    argNames:
    - eckey
    - tmpl
    - params
    - include_private
    - pub_key
    argTypes:
    - EC_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    - int
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 235
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 235
    functionName: key_to_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_param_build_set_bn_pad
    - EC_KEY_get0_group
    - BN_CTX_get
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_public_key
    - EC_KEY_get0_private_key
    - EC_POINT_point2buf
    - EC_POINT_get_affine_coordinates
    - BN_CTX_free
    - ossl_param_build_set_octet_string
    - EC_KEY_get_conv_form
    - ossl_param_build_set_bn
    - OSSL_PARAM_locate
    - EC_GROUP_order_bits
    - BN_CTX_new_ex
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int key_to_params(const EC_KEY *eckey, OSSL_PARAM_BLD
      *tmpl, OSSL_PARAM params[], int include_private, unsigned char **pub_key) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:331,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:332,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:336,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:339,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:339,1
    - Dst: EC_GROUP_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:345,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:350,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:351,1
    - Dst: EC_POINT_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:354,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:360,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:370,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:361,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:364,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 372
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 372
    functionName: ec_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ossl_ec_key_get_libctx
    - EC_GROUP_cmp
    - EC_KEY_get0_public_key
    - EC_KEY_get0_private_key
    - BN_cmp
    - BN_CTX_free
    - EC_POINT_cmp
    - BN_CTX_new_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ec_match(const void *keydata1, const void *keydata2, int
      selection) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:592,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:607,1
    - Dst: EC_GROUP_get_degree
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:605,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:606,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:597,1
    - Dst: EC_GROUP_get_trinomial_basis
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:613,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:614,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:619,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:620,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:622,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:624,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 632
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 632
    functionName: ec_get_ecm_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_GROUP_get_basis_type
    - ossl_param_build_set_utf8_string
    - EC_GROUP_get_degree
    - EC_GROUP_get_pentanomial_basis
    - EC_GROUP_get_field_type
    - EC_GROUP_get_trinomial_basis
    - ossl_param_build_set_int
    linkageType: ''
    returnType: int
    signature: 'static int ec_get_ecm_params(const EC_GROUP *group, OSSL_PARAM params[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:941,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:947,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:947,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:955,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:952,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:955,1
    - Dst: EC_GROUP_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:958,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:958,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:963,1
    - Dst: ossl_ec_key_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:965,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:972,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:974,1
    - Dst: ossl_ec_key_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:969,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 976
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 976
    functionName: ec_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ec_key_private_check
    - EC_KEY_get0_group
    - ossl_ec_key_get_libctx
    - ossl_ec_key_public_check
    - EC_GROUP_check_named_curve
    - EC_GROUP_check
    - BN_CTX_free
    - EC_KEY_get_flags
    - ossl_ec_key_public_check_quick
    - BN_CTX_new_ex
    - ossl_ec_key_pairwise_check
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ec_validate(const void *keydata, int selection, int checktype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_conv_form
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:248,1
    - Dst: ossl_ec_pt_format_id2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:249,1
    - Dst: ossl_ec_check_group_type_id2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:257,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:256,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:251,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:259,1
    - Dst: EC_KEY_get_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:264,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:265,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:270,1
    - Dst: ossl_param_build_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - ec
    - tmpl
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 274
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 274
    functionName: otherparams_to_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_param_build_set_utf8_string
    - EC_KEY_get_flags
    - EC_KEY_get_conv_form
    - ossl_ec_pt_format_id2name
    - EC_KEY_get_enc_flags
    - ossl_ec_check_group_type_id2name
    - ossl_param_build_set_int
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline int otherparams_to_params(const EC_KEY *ec, OSSL_PARAM_BLD
      *tmpl, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:382,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ec
    - sm2_wanted
    argTypes:
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: common_check_sm2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: 'static int common_check_sm2(const EC_KEY *ec, int sm2_wanted) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:652,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:653,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:655,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:660,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:707,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:704,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:664,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:716,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:719,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:733,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:760,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:646,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:661,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:663,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:669,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:710,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:715,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:726,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:737,1
    - Dst: EC_POINT_point2oct
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:745,1
    - Dst: otherparams_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:756,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:759,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:648,1
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:661,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:700,1
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:731,1
    - Dst: key_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:755,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:758,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:658,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:664,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:666,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:720,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:739,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:742,1
    - Dst: ec_get_ecm_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:752,1
    - Dst: ossl_ec_group_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:753,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:761,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 106
    argCount: 3
    argNames:
    - key
    - params
    - sm2
    argTypes:
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 763
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 763
    functionName: common_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - BN_CTX_free
    - ECDSA_size
    - BN_CTX_start
    - EC_GROUP_order_bits
    - BN_CTX_end
    - EC_POINT_point2oct
    - OPENSSL_free
    - OSSL_PARAM_set_int
    - ec_get_ecm_params
    - ossl_ec_group_todata
    - ossl_ec_key_get0_propq
    - key_to_params
    - otherparams_to_params
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EC_KEY_get_flags
    - OSSL_PARAM_locate
    - EC_KEY_decoded_from_explicit_params
    - OSSL_PARAM_set_utf8_string
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int common_get_params(void *key, OSSL_PARAM params[], int sm2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 882
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 882
    functionName: sm2_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2_gettable_params(ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ec_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1019,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1026,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1024,1
    - Dst: ec_gen_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1027,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1030
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1030
    functionName: sm2_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ec_gen_cleanup
    - OPENSSL_strdup
    - ERR_raise
    - ec_gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: ec_query_operation_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *ec_query_operation_name(int operation_id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:279,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:281,1
    - Dst: EC_KEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: ec_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_new_ex
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ec_newdata(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: ec_import_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ec_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ec_import_types(int selection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:996,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1002,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1007,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:999,1
    - Dst: ec_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1006,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1012
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1012
    functionName: ec_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ec_gen_set_params
    - OPENSSL_free
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ec_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1039,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1041,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1044,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - genctx
    - src
    argTypes:
    - void*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1047
    functionName: ec_gen_set_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_GROUP_free
    - ERR_raise
    - EC_GROUP_dup
    linkageType: ''
    returnType: int
    signature: 'static int ec_gen_set_group(void *genctx, const EC_GROUP *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1211,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1212,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1214,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1213,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1215,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1216,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1217,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1218,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1219,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1220,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1222,1
    - Dst: OSSL_PARAM_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1227
    functionName: ec_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    - OSSL_PARAM_BN
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ec_gen_settable_params(ossl_unused void *genctx,
      ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1388
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1388
    functionName: ec_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void*
    signature: 'static void *ec_load(const void *reference, size_t reference_sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1401,1
    - Dst: ossl_ec_key_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1404
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1404
    functionName: ec_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ec_key_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ec_dup(const void *keydata_from, int selection) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:480,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:490,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:492,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:518,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:512,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:506,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:514,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:485,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:491,1
    - Dst: param_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:511,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:517,1
    - Dst: ossl_ec_group_todata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:491,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:493,1
    - Dst: key_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:501,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:516,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:458,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:485,1
    - Dst: otherparams_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:504,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:515,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 520
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 520
    functionName: ec_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - ossl_ec_key_get_libctx
    - ossl_ec_group_todata
    - BN_CTX_end
    - OPENSSL_free
    - BN_CTX_free
    - param_cb
    - ossl_ec_key_get0_propq
    - BN_CTX_start
    - OSSL_PARAM_BLD_new
    - key_to_params
    - otherparams_to_params
    - BN_CTX_new_ex
    - OSSL_PARAM_BLD_to_param
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ec_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
      void *cbarg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 569
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 569
    functionName: ec_imexport_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline*
    signature: 'static ossl_inline const OSSL_PARAM *ec_imexport_types(int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_imexport_types
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: ec_export_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ec_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ec_export_types(int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 821
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 821
    functionName: ec_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ec_settable_params(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1055,1
    - Dst: ec_gen_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1059,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1057,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1060
    functionName: ec_gen_set_template
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ec_gen_set_group
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ec_gen_set_template(void *genctx, void *templ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1232,1
    - Dst: EC_KEY_set_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - group
    argTypes:
    - EC_KEY*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1236
    functionName: ec_gen_assign_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_set_group
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ec_gen_assign_group(EC_KEY *ec, EC_GROUP *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: sm2_query_operation_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *sm2_query_operation_name(int operation_id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: ec_freedata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: 'static void ec_freedata(void *keydata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: ec_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - common_get_params
    linkageType: ''
    returnType: int
    signature: 'static int ec_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_group_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:835,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:840,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:838,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:840,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:835,1
    - Dst: EC_KEY_oct2key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:845,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:847,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:852,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 853
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 853
    functionName: ec_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ossl_ec_key_get_libctx
    - BN_CTX_free
    - ossl_ec_key_otherparams_fromdata
    - OSSL_PARAM_locate_const
    - EC_KEY_oct2key
    - ossl_ec_group_set_params
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ec_set_params(void *key, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1351,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1353,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1354,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1352,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1355,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1356,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1357,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1358,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1359,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1360,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1361,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1363,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1364
    functionName: ec_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BN_free
    - EC_GROUP_free
    linkageType: ''
    returnType: void
    signature: 'static void ec_gen_cleanup(void *genctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:308,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:314,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:318,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:316,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: ec_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - EC_KEY_get0_private_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ec_has(const void *keydata, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 893
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 893
    functionName: sm2_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2_settable_params(ossl_unused void *provctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:902,1
    - Dst: EC_GROUP_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:913,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:908,1
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:908,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:913,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:917,1
    - Dst: ossl_ec_key_public_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:919,1
    - Dst: ossl_sm2_key_private_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:923,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:926,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:928,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 930
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 930
    functionName: sm2_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ossl_ec_key_get_libctx
    - ossl_ec_key_public_check
    - EC_GROUP_check
    - BN_CTX_free
    - ossl_ec_key_public_check_quick
    - ossl_sm2_key_private_check
    - BN_CTX_new_ex
    - ossl_ec_key_pairwise_check
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int sm2_validate(const void *keydata, int selection, int checktype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1371,1
    - Dst: common_check_sm2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - reference
    - reference_sz
    - sm2_wanted
    argTypes:
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1383
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1383
    functionName: common_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - common_check_sm2
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *common_load(const void *reference, size_t reference_sz,
      int sm2_wanted) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:289,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:291,1
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: sm2_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_new_by_curve_name_ex
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2_newdata(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:395,1
    - Dst: common_check_sm2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:416,1
    - Dst: ossl_ec_group_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:414,1
    - Dst: ossl_ec_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:423,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:426,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - keydata
    - selection
    - params
    - sm2_wanted
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 429
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 429
    functionName: common_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ec_group_fromdata
    - common_check_sm2
    - ossl_ec_key_otherparams_fromdata
    - ossl_ec_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int common_import(void *keydata, int selection, const OSSL_PARAM
      params[], int sm2_wanted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: sm2_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - common_get_params
    linkageType: ''
    returnType: int
    signature: 'static int sm2_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_INT_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1106,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1108,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1111,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1109,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1110,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1112,1
    - Dst: COPY_BN_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1114,1
    - Dst: COPY_BN_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1115,1
    - Dst: COPY_BN_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1116,1
    - Dst: COPY_BN_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1117,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1120,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1121,1
    - Dst: COPY_BN_PARAM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1118,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1128
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1128
    functionName: ec_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_GROUP_free
    - COPY_UTF8_PARAM
    - COPY_BN_PARAM
    - COPY_INT_PARAM
    - COPY_OCTET_PARAM
    linkageType: ''
    returnType: int
    signature: 'static int ec_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1247,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1257,1
    - Dst: ec_gen_set_group_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1253,1
    - Dst: EC_KEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1249,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1261,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1264,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1268,1
    - Dst: ec_gen_assign_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1273,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1277,1
    - Dst: ossl_ec_set_ecdh_cofactor_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1280,1
    - Dst: ossl_ec_set_check_group_type_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1283,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1288,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1290
    functionName: ec_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_generate_key
    - ossl_ec_set_ecdh_cofactor_mode
    - EC_GROUP_set_point_conversion_form
    - EC_KEY_new_ex
    - ossl_ec_pt_format_name2id
    - ec_gen_set_group_from_params
    - ossl_ec_encoding_name2id
    - ossl_ec_set_check_group_type_from_name
    - EC_GROUP_set_asn1_flag
    - ec_gen_assign_group
    - EC_KEY_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ec_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_import
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: ec_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - common_import
    linkageType: ''
    returnType: int
    signature: 'static int ec_import(void *keydata, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 804
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 804
    functionName: ec_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ec_gettable_params(void *provctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1137,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1142,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1159,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1147,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1153,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1169,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1170,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1171,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1172,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1176,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1190,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1186,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1193,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1202,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1181,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1203,1
    - Dst: EC_GROUP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1197,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 63
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ec_gen_ctx*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1205
    functionName: ec_gen_set_group_from_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_utf8_string
    - EC_GROUP_new_from_params
    - EC_GROUP_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_to_param
    linkageType: ''
    returnType: int
    signature: 'static int ec_gen_set_group_from_params(struct ec_gen_ctx *gctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_import
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: sm2_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - common_import
    linkageType: ''
    returnType: int
    signature: 'static int sm2_import(void *keydata, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1395
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1395
    functionName: sm2_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2_load(const void *reference, size_t reference_sz) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1304,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1316,1
    - Dst: ec_gen_set_group_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1308,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1319,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1312,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1323,1
    - Dst: ec_gen_assign_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1328,1
    - Dst: EC_KEY_generate_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1332,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1338,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1340
    functionName: sm2_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: []
    functionsReached:
    - EC_KEY_generate_key
    - EC_GROUP_set_point_conversion_form
    - EC_KEY_new_ex
    - ossl_ec_pt_format_name2id
    - ec_gen_set_group_from_params
    - ossl_ec_encoding_name2id
    - EC_GROUP_set_asn1_flag
    - ec_gen_assign_group
    - EC_KEY_free
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:32,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:44,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:41,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:35,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:39,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: ossl_kdf_data_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: KDF_DATA*
    signature: 'KDF_DATA *ossl_kdf_data_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_kdf_data_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - kdfdata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: kdf_freedata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_kdf_data_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_freedata(void *kdfdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:76,1
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - kdfdata
    argTypes:
    - KDF_DATA*
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: ossl_kdf_data_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: kdf_newdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_kdf_data_new
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_newdata(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:57,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:62,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - kdfdata
    argTypes:
    - KDF_DATA*
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: ossl_kdf_data_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_DOWN_REF
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_kdf_data_free(KDF_DATA *kdfdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: kdf_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int kdf_has(const void *keydata, int selection) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:280,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:286,1
    - Dst: key_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:291,1
    - Dst: param_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:298,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:294,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:299,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:301,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 303
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 303
    functionName: mac_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - param_cb
    - OSSL_PARAM_BLD_new
    - key_to_params
    - OSSL_PARAM_BLD_to_param
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int mac_export(void *keydata, int selection, OSSL_CALLBACK
      *param_cb, void *cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: mac_imexport_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *mac_imexport_types(int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: cmac_imexport_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *cmac_imexport_types(int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:529,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:530,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: mac_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    - ossl_prov_cipher_reset
    linkageType: ''
    returnType: void
    signature: 'static void mac_gen_cleanup(void *genctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:67,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:74,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:76,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - cmac
    argTypes:
    - OSSL_LIB_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: ossl_mac_key_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: MAC_KEY*
    signature: 'MAC_KEY *ossl_mac_key_new(OSSL_LIB_CTX *libctx, int cmac) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: mac_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - key_to_params
    linkageType: ''
    returnType: int
    signature: 'static int mac_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_mac_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:124,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: mac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_mac_key_new
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void*
    signature: 'static void *mac_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:475,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: cmac_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *cmac_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_mac_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:129,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: mac_new_cmac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_mac_key_new
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void*
    signature: 'static void *mac_new_cmac(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:487,1
    - Dst: ossl_mac_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:490,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:500,1
    - Dst: ossl_mac_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:501,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:491,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:511,1
    - Dst: ossl_mac_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:512,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:513,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:516,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - genctx
    - cb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 523
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 523
    functionName: mac_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_mac_key_free
    - ossl_prov_cipher_copy
    - ossl_mac_key_new
    - ossl_prov_cipher_reset
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *mac_gen(void *genctx, OSSL_CALLBACK *cb, void *cbarg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:162,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:178,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:174,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:177,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: mac_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - EVP_CIPHER_is_a
    - EVP_CIPHER_get0_name
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int mac_match(const void *keydata1, const void *keydata2, int
      selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: mac_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *mac_gettable_params(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:364,1
    - Dst: mac_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 369
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 369
    functionName: mac_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - mac_key_fromdata
    linkageType: ''
    returnType: int
    signature: 'static int mac_set_params(void *keydata, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:382,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:388,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:385,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: mac_gen_init_common
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *mac_gen_init_common(void *provctx, int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_gen_init_common
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:410,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:413,1
    - Dst: cmac_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: cmac_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - mac_gen_init_common
    - OPENSSL_free
    - cmac_gen_set_params
    linkageType: ''
    returnType: void*
    signature: 'static void *cmac_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:187,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:195,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:197,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:193,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:200,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:207,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:210,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:211,1
    - Dst: ossl_prov_cipher_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:213,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - MAC_KEY*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 228
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 228
    functionName: mac_key_fromdata
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - memcpy
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    - OSSL_PARAM_locate_const
    - ossl_prov_cipher_load_from_params
    linkageType: ''
    returnType: int
    signature: 'static int mac_key_fromdata(MAC_KEY *key, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:348,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:349,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: cmac_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *cmac_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: mac_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *mac_settable_params(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_gen_init_common
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:398,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:401,1
    - Dst: mac_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: mac_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - mac_gen_init_common
    - OPENSSL_free
    - mac_gen_set_params
    linkageType: ''
    returnType: void*
    signature: 'static void *mac_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:427,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:438,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:435,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:430,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 443
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 443
    functionName: mac_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_malloc
    - OSSL_PARAM_locate_const
    - ERR_raise
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int mac_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:93,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:98,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:97,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:99,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - MAC_KEY*
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: ossl_mac_key_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - OPENSSL_secure_clear_free
    - CRYPTO_DOWN_REF
    - ossl_prov_cipher_reset
    linkageType: ''
    returnType: void
    signature: 'void ossl_mac_key_free(MAC_KEY *mackey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_mac_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: mac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_mac_key_free
    linkageType: ''
    returnType: void
    signature: 'static void mac_free(void *mackey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:234,1
    - Dst: mac_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: mac_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - mac_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int mac_import(void *keydata, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mac_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:449,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:454,1
    - Dst: ossl_prov_cipher_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 459
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 459
    functionName: cmac_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - mac_gen_set_params
    - ossl_prov_cipher_load_from_params
    linkageType: ''
    returnType: int
    signature: 'static int cmac_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:115,1
    - Dst: CRYPTO_UP_REF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - MAC_KEY*
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: ossl_mac_key_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - CRYPTO_UP_REF
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ossl_mac_key_up_ref(MAC_KEY *mackey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: mac_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int mac_has(const void *keydata, int selection) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_build_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:250,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:256,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:265,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:258,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:263,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - key
    - tmpl
    - params
    argTypes:
    - MAC_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 270
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 270
    functionName: key_to_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_param_build_set_octet_string
    - ENGINE_get_id
    - EVP_CIPHER_get0_name
    - ossl_param_build_set_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int key_to_params(MAC_KEY *key, OSSL_PARAM_BLD *tmpl, OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: mac_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *mac_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:91,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:93,1
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: x25519_new_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *x25519_new_key(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: ecx_has
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_has(const void *keydata, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: x25519_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_get_params
    linkageType: ''
    returnType: int
    signature: 'static int x25519_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:330,1
    - Dst: ed_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: ed25519_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_get_params
    - ed_get_params
    linkageType: ''
    returnType: int
    signature: 'static int ed25519_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: x25519_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *x25519_settable_params(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:477,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:483,1
    - Dst: ecx_gen_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:488,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:480,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - provctx
    - selection
    - params
    - type
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    - ECX_KEY_TYPE
    constantsTouched: []
    func_position:
      end: 493
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 493
    functionName: ecx_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - ecx_gen_set_params
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecx_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[], ECX_KEY_TYPE type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: x448_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *x448_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: ed448_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *ed448_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:99,1
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:101,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: x448_new_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *x448_new_key(void *provctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:148,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:166,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:181,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 47
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 188
    functionName: ecx_match
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - CRYPTO_memcmp
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_match(const void *keydata1, const void *keydata2, int
      selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: ecx_imexport_types
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecx_imexport_types(int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: x448_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_get_params
    linkageType: ''
    returnType: int
    signature: 'static int x448_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:337,1
    - Dst: ed_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: ed448_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_get_params
    - ed_get_params
    linkageType: ''
    returnType: int
    signature: 'static int ed448_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: x448_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *x448_settable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: x25519_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *x25519_gen_init(void *provctx, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: ed25519_gen_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void*
    signature: 'static void *ed25519_gen_init(void *provctx, int selection, const
      OSSL_PARAM params[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:527,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:554,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:558,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:549,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:550,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:559,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 565
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 565
    functionName: ecx_gen_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_strcasecmp
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int ecx_gen_set_params(void *genctx, const OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x25519_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:727,1
    - Dst: ossl_x448_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:730,1
    - Dst: ossl_ed448_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:738,1
    - Dst: ossl_ed25519_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:733,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - ecx
    - type
    argTypes:
    - ECX_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 746
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 746
    functionName: ecx_key_pairwise_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_x448_public_from_private
    - ossl_x25519_public_from_private
    - ossl_ed25519_public_from_private
    - ossl_ed448_public_from_private
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: 'static int ecx_key_pairwise_check(const ECX_KEY *ecx, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:716,1
    - Dst: ossl_ecx_key_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: ecx_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecx_dup(const void *keydata_from, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: x25519_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_set_params
    linkageType: ''
    returnType: int
    signature: 'static int x25519_set_params(void *key, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: ed25519_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ed25519_set_params(void *key, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:696,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: ecx_gen_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void ecx_gen_cleanup(void *genctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: x448_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: 'static int x448_validate(const void *keydata, int selection, int checktype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: x448_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_set_params
    linkageType: ''
    returnType: int
    signature: 'static int x448_set_params(void *key, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: ed448_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ed448_set_params(void *key, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 712
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 712
    functionName: ecx_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'void *ecx_load(const void *reference, size_t reference_sz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: ed25519_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: 'static int ed25519_validate(const void *keydata, int selection, int
      checktype) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1000,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1023,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1017,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1007,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1019,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1026,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1029,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1032,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1034,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1036,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1055,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1049,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1054,1
    - Dst: s390x_ed448_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1043,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1048,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1053,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 41
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    constantsTouched: []
    func_position:
      end: 1057
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1057
    functionName: s390x_ecd_keygen448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_ecx_key_new
    - EVP_DigestFinalXOF
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - EVP_DigestInit_ex
    - s390x_ed448_mul
    - ossl_ecx_key_allocate_privkey
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: void*
    signature: 'static void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:107,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:109,1
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: ed25519_new_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ed25519_new_key(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:196,1
    - Dst: ossl_ecx_key_fromdata
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: ecx_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_import(void *keydata, int selection, const OSSL_PARAM
      params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:237,1
    - Dst: key_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:250,1
    - Dst: param_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:258,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:254,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:243,1
    - Dst: OSSL_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:259,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:261,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 263
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 263
    functionName: ecx_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_free
    - param_cb
    - OSSL_PARAM_BLD_new
    - key_to_params
    - OSSL_PARAM_BLD_to_param
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_export(void *keydata, int selection, OSSL_CALLBACK
      *param_cb, void *cbarg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:286,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:290,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:289,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:287,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:292,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:293,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:295,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:298,1
    - Dst: key_to_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 5
    argNames:
    - key
    - params
    - bits
    - secbits
    - size
    argTypes:
    - void*
    - OSSL_PARAM
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 303
    functionName: ecx_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - key_to_params
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int ecx_get_params(void *key, OSSL_PARAM params[], int bits,
      int secbits, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: x25519_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *x25519_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: ed25519_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ed25519_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: ed25519_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ed25519_settable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: ed448_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: 'static int ed448_validate(const void *keydata, int selection, int
      checktype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:115,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:117,1
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: ed448_new_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_ecx_key_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ed448_new_key(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_build_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:214,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - key
    - tmpl
    - params
    - include_private
    argTypes:
    - ECX_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: key_to_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_param_build_set_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int key_to_params(ECX_KEY *key, OSSL_PARAM_BLD *tmpl, OSSL_PARAM
      params[], int include_private) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:309,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: ed_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int ed_get_params(void *key, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: x448_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *x448_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: ed448_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ed448_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: ed448_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ed448_settable_params(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:837,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:852,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:842,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:858,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:854,1
    - Dst: s390x_x25519_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:865,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:870,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    constantsTouched: []
    func_position:
      end: 872
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 872
    functionName: s390x_ecx_keygen25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ecx_key_new
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - s390x_x25519_mul
    - ossl_ecx_key_allocate_privkey
    linkageType: ''
    returnType: void*
    signature: 'static void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:382,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:387,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ecxkey
    - propq
    argTypes:
    - ECX_KEY*
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: set_property_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int set_property_query(ECX_KEY *ecxkey, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:571,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 576
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 576
    functionName: ecx_gen_settable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecx_gen_settable_params(ossl_unused void
      *genctx, ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:635,1
    - Dst: s390x_ecx_keygen25519
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:640,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:639,1
    - Dst: ecx_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 643
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 643
    functionName: x25519_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - s390x_ecx_keygen25519
    - S390X_CAPBIT
    - ecx_gen
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *x25519_gen(void *genctx, OSSL_CALLBACK *osslcb, void
      *cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:663,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:667,1
    - Dst: s390x_ecd_keygen25519
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:671,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:668,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:670,1
    - Dst: ecx_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:673,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 674
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 674
    functionName: ed25519_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - s390x_ecd_keygen25519
    - S390X_CAPBIT
    - ecx_gen
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ed25519_gen(void *genctx, OSSL_CALLBACK *osslcb, void
      *cbarg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:753,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:760,1
    - Dst: ecx_key_pairwise_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:771,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - keydata
    - selection
    - type
    - keylen
    argTypes:
    - void*
    - int
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 774
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 774
    functionName: ecx_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ecx_key_pairwise_check
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecx_validate(const void *keydata, int selection, int type,
      size_t keylen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:883,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:904,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:900,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:888,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:898,1
    - Dst: s390x_x448_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:910,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:915,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    constantsTouched: []
    func_position:
      end: 917
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 917
    functionName: s390x_ecx_keygen448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ecx_key_new
    - s390x_x448_mul
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - ossl_ecx_key_allocate_privkey
    linkageType: ''
    returnType: void*
    signature: 'static void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:402,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:410,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:407,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:414,1
    - Dst: set_property_query
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 422
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 422
    functionName: ecx_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_locate_const
    - set_property_query
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int ecx_set_params(void *key, const OSSL_PARAM params[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:585,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:599,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:595,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:587,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:596,1
    - Dst: ossl_x25519_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:606,1
    - Dst: ossl_x448_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:611,1
    - Dst: ossl_ed25519_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:614,1
    - Dst: ossl_ed448_public_from_private
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:619,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:627,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 33
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    constantsTouched: []
    func_position:
      end: 629
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 629
    functionName: ecx_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ossl_x448_public_from_private
    - ERR_raise
    - ossl_x25519_public_from_private
    - ossl_ecx_key_new
    - ossl_ed25519_public_from_private
    - RAND_priv_bytes_ex
    - ossl_ecx_key_free
    - ossl_ed448_public_from_private
    - ossl_ecx_key_allocate_privkey
    linkageType: ''
    returnType: void*
    signature: 'static void *ecx_gen(struct ecx_gen_ctx *gctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:649,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:653,1
    - Dst: s390x_ecx_keygen448
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:654,1
    - Dst: ecx_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:656,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 657
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 657
    functionName: x448_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    - ecx_gen
    - s390x_ecx_keygen448
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *x448_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:680,1
    - Dst: s390x_ecd_keygen448
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:687,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:685,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:684,1
    - Dst: S390X_CAPBIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:686,1
    - Dst: ecx_gen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:689,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 690
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 690
    functionName: ed448_gen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - S390X_CAPBIT
    - ecx_gen
    - s390x_ecd_keygen448
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ed448_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: x25519_validate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: 'static int x25519_validate(const void *keydata, int selection, int
      checktype) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:932,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:952,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:940,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:956,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:950,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:959,1
    - Dst: EVP_Digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:962,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:963,1
    - Dst: s390x_ed25519_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:971,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:979,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    constantsTouched: []
    func_position:
      end: 981
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 981
    functionName: s390x_ecd_keygen25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - s390x_ed25519_mul
    - ossl_ecx_key_new
    - RAND_priv_bytes_ex
    - EVP_Digest
    - ossl_ecx_key_free
    - ossl_ecx_key_allocate_privkey
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: void*
    signature: 'static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: ossl_prov_get_keymgmt_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: []
    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_import
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: ossl_prov_get_keymgmt_import
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:62,1
    - Dst: ossl_prov_get_keymgmt_import
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:65,1
    - Dst: kmgmt_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:69,1
    - Dst: ossl_prov_get_keymgmt_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:63,1
    - Dst: kmgmt_import
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:70,1
    - Dst: kmgmt_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:71,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 4
    argNames:
    - fns
    - provctx
    - selection
    - params
    argTypes:
    - OSSL_DISPATCH*
    - void*
    - int
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: ossl_prov_import_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: []
    functionsReached:
    - kmgmt_import
    - ossl_prov_get_keymgmt_free
    - kmgmt_new
    - kmgmt_free
    - ossl_prov_get_keymgmt_import
    - ossl_prov_get_keymgmt_new
    linkageType: ''
    returnType: void*
    signature: 'void *ossl_prov_import_key(const OSSL_DISPATCH *fns, void *provctx,
      int selection, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: ossl_prov_get_keymgmt_export
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: []
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: ossl_prov_get_keymgmt_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: []
    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_prov_get_keymgmt_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:80,1
    - Dst: kmgmt_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - fns
    - key
    argTypes:
    - OSSL_DISPATCH*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: ossl_prov_free_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:90,1
    - Dst: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:95,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:101,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c:99,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - provctx
    - cin
    - data
    - len
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_BIO*
    - unsigned char**
    - long*
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: ossl_read_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: []
    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, long *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: epki2pki_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *epki2pki_newctx(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: epki2pki_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void epki2pki_freectx(void *vctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:69,1
    - Dst: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:75,1
    - Dst: d2i_X509_SIG
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:88,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:123,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:109,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:140,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:142,1
    - Dst: data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:145,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:147,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:87,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:84,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:76,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:95,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:117,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:134,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:136,1
    - Dst: X509_SIG_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:102,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:106,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:122,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:120,1
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:103,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:143,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:92,1
    - Dst: pw_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:94,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:115,1
    - Dst: PKCS8_pkey_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:125,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:138,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c:148,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    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*
    constantsTouched: []
    func_position:
      end: 150
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 150
    functionName: epki2pki_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: []
    functionsReached:
    - PKCS12_pbe_crypt_ex
    - BIO_free
    - ERR_set_mark
    - OSSL_PARAM_construct_int
    - OPENSSL_free
    - X509_SIG_get0
    - ossl_bio_new_from_core_bio
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS8_pkey_get0
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - ERR_clear_last_mark
    - d2i_PKCS8_PRIV_KEY_INFO
    - OSSL_PARAM_construct_octet_string
    - PROV_LIBCTX_OF
    - ERR_pop_to_mark
    - ERR_raise
    - X509_SIG_free
    - data_cb
    - pw_cb
    - d2i_X509_SIG
    - asn1_d2i_read_bio
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: 'static int epki2pki_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,
      OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: key2blob_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *key2blob_newctx(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - selection
    - selection_mask
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 85
    functionName: key2blob_check_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int key2blob_check_selection(int selection, int selection_mask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c:31,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c:38,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - provctx
    - cout
    - data
    - len
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: write_blob
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_free
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int write_blob(void *provctx, OSSL_CORE_BIO *cout, void *data,
      int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: key2blob_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void key2blob_freectx(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2o_ECPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c:93,1
    - Dst: write_blob
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c:95,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - vctx
    - key
    - selection
    - cout
    argTypes:
    - void*
    - void*
    - int
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: key2blob_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: []
    functionsReached:
    - i2o_ECPublicKey
    - OPENSSL_free
    - write_blob
    linkageType: ''
    returnType: int
    signature: 'static int key2blob_encode(void *vctx, const void *key, int selection,
      OSSL_CORE_BIO *cout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: spki2typespki_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *spki2typespki_newctx(void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_read_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:65,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:69,1
    - Dst: ossl_d2i_X509_PUBKEY_INTERNAL
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:68,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:78,1
    - Dst: X509_ALGOR_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:80,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:84,1
    - Dst: ossl_x509_algor_is_sm2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:85,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:86,1
    - Dst: OBJ_obj2txt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:89,1
    - Dst: ossl_X509_PUBKEY_INTERNAL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:92,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:100,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:104,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:106,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:108,1
    - Dst: data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:110,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:114,1
    - Dst: ossl_X509_PUBKEY_INTERNAL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:113,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:96,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    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*
    constantsTouched: []
    func_position:
      end: 116
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 116
    functionName: spki2typespki_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OBJ_obj2nid
    - strcpy
    - OPENSSL_free
    - data_cb
    - ossl_x509_algor_is_sm2
    - OSSL_PARAM_construct_utf8_string
    - X509_ALGOR_get0
    - ossl_read_der
    - ossl_d2i_X509_PUBKEY_INTERNAL
    - X509_PUBKEY_get0_param
    - OBJ_obj2txt
    - ossl_X509_PUBKEY_INTERNAL_free
    - OSSL_PARAM_construct_end
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int spki2typespki_decode(void *vctx, OSSL_CORE_BIO *cin, int
      selection, OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: spki2typespki_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void spki2typespki_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:86,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: key2ms_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void key2ms_freectx(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:56,1
    - Dst: i2b_PVK_bio_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:61,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:63,1
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cout
    - pkey
    argTypes:
    - struct key2ms_ctx_st*
    - OSSL_CORE_BIO*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: write_pvk
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - i2b_PVK_bio_ex
    - BIO_free
    - PROV_LIBCTX_OF
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int write_pvk(struct key2ms_ctx_st *ctx, OSSL_CORE_BIO *cout,
      EVP_PKEY *pkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:105,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: key2pvk_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: 'static int key2pvk_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:160,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:162,1
    - Dst: set1_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:160,1
    - Dst: write_pvk
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:163,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:164,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    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*
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: key2pvk_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - write_pvk
    - EVP_PKEY_new
    - set1_key
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: 'static int key2pvk_encode(void *vctx, const void *key, int selection,
      OSSL_CORE_BIO *cout, evp_pkey_set1_fn *set1_key, OSSL_PASSPHRASE_CALLBACK *pw_cb,
      void *pw_cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:40,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:47,1
    - Dst: i2b_PublicKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:45,1
    - Dst: i2b_PrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - cout
    - pkey
    - ispub
    argTypes:
    - struct key2ms_ctx_st*
    - OSSL_CORE_BIO*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: write_msblob
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - i2b_PublicKey_bio
    - BIO_free
    - i2b_PrivateKey_bio
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int write_msblob(struct key2ms_ctx_st *ctx, OSSL_CORE_BIO *cout,
      EVP_PKEY *pkey, int ispub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: key2pvk_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *key2pvk_settable_ctx_params(ossl_unused void
      *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: key2ms_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct key2ms_ctx_st*
    signature: 'static struct key2ms_ctx_st *key2ms_newctx(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - vctx
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: key2ms_does_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int key2ms_does_selection(void *vctx, int selection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:143,1
    - Dst: set1_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:143,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:145,1
    - Dst: write_msblob
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    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*
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: key2msblob_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - set1_key
    - EVP_PKEY_new
    - write_msblob
    linkageType: ''
    returnType: int
    signature: 'static int key2msblob_encode(void *vctx, const void *key, int selection,
      OSSL_CORE_BIO *cout, evp_pkey_set1_fn *set1_key, OSSL_PASSPHRASE_CALLBACK *pw_cb,
      void *pw_cbarg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:199,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:207,1
    - Dst: i2d_PKCS8_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:205,1
    - Dst: key_to_encp8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    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*
    constantsTouched: []
    func_position:
      end: 210
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 210
    functionName: key_to_epki_der_priv_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - key_to_encp8
    - i2d_PKCS8_bio
    - p2s
    - X509_SIG_free
    linkageType: ''
    returnType: int
    signature: 'static int key_to_epki_der_priv_bio(BIO *out, const void *key, int
      key_nid, ossl_unused const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:723,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:726,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:724,1
    - Dst: i2d_ECPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - veckey
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 728
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 728
    functionName: ec_pki_priv_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - i2d_ECPrivateKey
    - EC_KEY_set_enc_flags
    - EC_KEY_get_enc_flags
    linkageType: ''
    returnType: int
    signature: 'static int ec_pki_priv_to_der(const void *veckey, unsigned char **pder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 954
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 954
    functionName: key2any_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *key2any_newctx(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:227,1
    - Dst: X509_SIG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:235,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:233,1
    - Dst: key_to_encp8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:231,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    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*
    constantsTouched: []
    func_position:
      end: 238
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 238
    functionName: key_to_epki_pem_priv_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - key_to_encp8
    - p2s
    - X509_SIG_free
    - PEM_write_bio_PKCS8
    linkageType: ''
    returnType: int
    signature: 'static int key_to_epki_pem_priv_bio(BIO *out, const void *key, int
      key_nid, ossl_unused const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:590,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:599,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:595,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:591,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:594,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:601,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - dsa
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 603
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 603
    functionName: dsa_spki_pub_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - DSA_get0_pub_key
    - ASN1_STRING_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_spki_pub_to_der(const void *dsa, unsigned char **pder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:703,1
    - Dst: i2o_ECPublicKey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:707,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - eckey
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: ec_spki_pub_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - i2o_ECPublicKey
    - ERR_raise
    - EC_KEY_get0_public_key
    linkageType: ''
    returnType: int
    signature: 'static int ec_spki_pub_to_der(const void *eckey, unsigned char **pder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - rsa
    - expected_type
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 930
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 930
    functionName: rsa_check_key_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - RSA_test_flags
    linkageType: ''
    returnType: int
    signature: 'static int rsa_check_key_type(const void *rsa, int expected_type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:960,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:962,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 963
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 963
    functionName: key2any_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: 'static void key2any_freectx(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:71,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: free_asn1_data
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ASN1_OBJECT_free
    - ASN1_STRING_free
    linkageType: ''
    returnType: void
    signature: 'static void free_asn1_data(int type, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_PRIV_KEY_INFO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:89,1
    - Dst: k2d
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:90,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:91,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:93,1
    - Dst: PKCS8_pkey_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:91,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:94,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    argTypes:
    - void*
    - int
    - void*
    - int
    - i2d_of_void*
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: key_to_p8info
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_raise
    - PKCS8_pkey_set0
    - OPENSSL_free
    - OBJ_nid2obj
    - k2d
    - PKCS8_PRIV_KEY_INFO_new
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO*
    signature: 'static PKCS8_PRIV_KEY_INFO *key_to_p8info(const void *key, int key_nid,
      void *params, int params_type, i2d_of_void *k2d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_ASN1_write_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:402,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 9
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    - cb
    - cbarg
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    - pem_password_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: key_to_type_specific_pem_bio_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - PEM_ASN1_write_bio
    linkageType: ''
    returnType: int
    signature: 'static int key_to_type_specific_pem_bio_cb(BIO *out, const void *key,
      int key_nid, const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void *k2d,
      struct key2any_ctx_st *ctx, pem_password_cb *cb, void *cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_type_specific_pem_bio_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: key_to_type_specific_pem_pub_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - key_to_type_specific_pem_bio_cb
    linkageType: ''
    returnType: int
    signature: 'static int key_to_type_specific_pem_pub_bio(BIO *out, const void *key,
      int key_nid, const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void *k2d,
      struct key2any_ctx_st *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:445,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:448,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:458,1
    - Dst: i2d_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:455,1
    - Dst: i2d_DHxparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:453,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:459,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - dh
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 467
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 467
    functionName: prepare_dh_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_STRING_new
    - i2d_DHparams
    - ASN1_STRING_free
    - i2d_DHxparams
    linkageType: ''
    returnType: int
    signature: 'static int prepare_dh_params(const void *dh, int nid, int save, void
      **pstr, int *pstrtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:611,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:612,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:616,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:620,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:615,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - dsa
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 624
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 624
    functionName: dsa_pki_priv_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_to_ASN1_INTEGER
    - DSA_get0_priv_key
    - i2d_ASN1_INTEGER
    - ASN1_STRING_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dsa_pki_priv_to_der(const void *dsa, unsigned char **pder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:115,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:113,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:120,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - p8info
    - ctx
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - struct key2any_ctx_st*
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: p8info_to_encp8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ossl_pw_get_passphrase
    - ERR_raise
    - OPENSSL_cleanse
    - PKCS8_encrypt_ex
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: X509_SIG*
    signature: 'static X509_SIG *p8info_to_encp8(PKCS8_PRIV_KEY_INFO *p8info, struct
      key2any_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_type_specific_pem_bio_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: key_to_type_specific_pem_priv_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - key_to_type_specific_pem_bio_cb
    linkageType: ''
    returnType: int
    signature: 'static int key_to_type_specific_pem_priv_bio(BIO *out, const void
      *key, int key_nid, const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:475,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:476,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:484,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:480,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:479,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - dh
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 488
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 488
    functionName: dh_spki_pub_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - ASN1_STRING_clear_free
    - DH_get0_pub_key
    linkageType: ''
    returnType: int
    signature: 'static int dh_spki_pub_to_der(const void *dh, unsigned char **pder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DH_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:515,1
    - Dst: i2d_DHparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:517,1
    - Dst: i2d_DHxparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dh
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: dh_type_specific_params_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - i2d_DHxparams
    - DH_test_flags
    - i2d_DHparams
    linkageType: ''
    returnType: int
    signature: 'static int dh_type_specific_params_to_der(const void *dh, unsigned
      char **pder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:767,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:773,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:771,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vecxkey
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 779
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 779
    functionName: ecx_spki_pub_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'static int ecx_spki_pub_to_der(const void *vecxkey, unsigned char
      **pder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_type_specific_pem_bio_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: key_to_type_specific_pem_param_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - key_to_type_specific_pem_bio_cb
    linkageType: ''
    returnType: int
    signature: 'static int key_to_type_specific_pem_param_bio(BIO *out, const void
      *key, int key_nid, const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_to_epki_der_priv_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:253,1
    - Dst: free_asn1_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:265,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:263,1
    - Dst: key_to_p8info
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:260,1
    - Dst: p2s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:256,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    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*
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: key_to_pki_der_priv_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - free_asn1_data
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - key_to_p8info
    - key_to_epki_der_priv_bio
    - p2s
    linkageType: ''
    returnType: int
    signature: 'static int key_to_pki_der_priv_bio(BIO *out, const void *key, int
      key_nid, ossl_unused const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:316,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:326,1
    - Dst: i2d_X509_PUBKEY_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:323,1
    - Dst: key_to_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:320,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    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*
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: key_to_spki_der_pub_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_free
    - p2s
    - key_to_pubkey
    - i2d_X509_PUBKEY_bio
    linkageType: ''
    returnType: int
    signature: 'static int key_to_spki_der_pub_bio(BIO *out, const void *key, int
      key_nid, ossl_unused const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:671,1
    - Dst: OBJ_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:686,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:684,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:676,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:678,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:688,1
    - Dst: ASN1_OBJECT_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:689,1
    - Dst: prepare_ec_explicit_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:697,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 5
    argNames:
    - eckey
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 699
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 699
    functionName: prepare_ec_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - OBJ_length
    - EC_GROUP_get_curve_name
    - OBJ_nid2obj
    - ASN1_OBJECT_free
    - prepare_ec_explicit_params
    - EC_GROUP_get_asn1_flag
    linkageType: ''
    returnType: int
    signature: 'static int prepare_ec_params(const void *eckey, int nid, int save,
      void **pstr, int *pstrtype) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:839,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:866,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:849,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:843,1
    - Dst: WPACKET_init_null_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:862,1
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:867,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:868,1
    - Dst: ossl_DER_w_RSASSA_PSS_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:873,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:874,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:875,1
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:891,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:899,1
    - Dst: ASN1_STRING_set0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:894,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:879,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:876,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 5
    argNames:
    - rsa
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 906
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 906
    functionName: prepare_rsa_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - WPACKET_cleanup
    - RSA_test_flags
    - OPENSSL_free
    - ASN1_STRING_new
    - WPACKET_init_der
    - WPACKET_finish
    - ASN1_STRING_set0
    - ossl_DER_w_RSASSA_PSS_params
    - ossl_rsa_pss_params_30_is_unrestricted
    - WPACKET_init_null_der
    - OPENSSL_malloc
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int prepare_rsa_params(const void *rsa, int nid, int save,
      void **pstr, int *pstrtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:968,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 974
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 974
    functionName: key2any_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *key2any_settable_ctx_params(ossl_unused void
      *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - selection
    - selection_mask
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1043
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1043
    functionName: key2any_check_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int key2any_check_selection(int selection, int selection_mask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_to_epki_pem_priv_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:285,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:295,1
    - Dst: key_to_p8info
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:292,1
    - Dst: free_asn1_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:297,1
    - Dst: p2s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:288,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    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*
    constantsTouched: []
    func_position:
      end: 302
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 302
    functionName: key_to_pki_pem_priv_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - free_asn1_data
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - key_to_p8info
    - key_to_epki_pem_priv_bio
    - p2s
    linkageType: ''
    returnType: int
    signature: 'static int key_to_pki_pem_priv_bio(BIO *out, const void *key, int
      key_nid, ossl_unused const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:342,1
    - Dst: PEM_write_bio_X509_PUBKEY
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:349,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:354,1
    - Dst: key_to_pubkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:346,1
    - Dst: free_asn1_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:351,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    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*
    constantsTouched: []
    func_position:
      end: 356
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 356
    functionName: key_to_spki_pem_pub_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - free_asn1_data
    - X509_PUBKEY_free
    - PEM_write_bio_X509_PUBKEY
    - p2s
    - key_to_pubkey
    linkageType: ''
    returnType: int
    signature: 'static int key_to_spki_pem_pub_bio(BIO *out, const void *key, int
      key_nid, ossl_unused const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:496,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:497,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:501,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:500,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:505,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - dh
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 509
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 509
    functionName: dh_pki_priv_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BN_to_ASN1_INTEGER
    - DH_get0_priv_key
    - i2d_ASN1_INTEGER
    - ASN1_STRING_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int dh_pki_priv_to_der(const void *dh, unsigned char **pder) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:979,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:981,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:991,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:985,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:983,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:993,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:996,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1001,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1006,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1010
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1010
    functionName: key2any_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_free
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PARAM_get_int
    - ossl_prov_ctx_get0_libctx
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: int
    signature: 'static int key2any_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1056,1
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1059,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1063,1
    - Dst: writer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1065,1
    - Dst: checker
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1058,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1067,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:1069,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 21
    argCount: 11
    argNames:
    - ctx
    - cout
    - key
    - type
    - pemname
    - checker
    - writer
    - pwcb
    - pwcbarg
    - key2paramstring
    - key2der
    argTypes:
    - struct key2any_ctx_st*
    - OSSL_CORE_BIO*
    - void*
    - int
    - char*
    - check_key_type_fn*
    - key_to_der_fn*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - key_to_paramstring_fn*
    - i2d_of_void*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1072
    functionName: key2any_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_free
    - checker
    - writer
    - ossl_pw_set_ossl_passphrase_cb
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int key2any_encode(struct key2any_ctx_st *ctx, OSSL_CORE_BIO
      *cout, const void *key, int type, const char *pemname, check_key_type_fn *checker,
      key_to_der_fn *writer, OSSL_PASSPHRASE_CALLBACK *pwcb, void *pwcbarg, key_to_paramstring_fn
      *key2paramstring, i2d_of_void *key2der) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:644,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:647,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:653,1
    - Dst: i2d_ECParameters
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:651,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - eckey
    - pstr
    - pstrtype
    argTypes:
    - void*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 661
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 661
    functionName: prepare_ec_explicit_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ASN1_STRING_new
    - i2d_ECParameters
    - ASN1_STRING_free
    linkageType: ''
    returnType: int
    signature: 'static int prepare_ec_explicit_params(const void *eckey, void **pstr,
      int *pstrtype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_to_p8info
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:129,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:136,1
    - Dst: free_asn1_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:133,1
    - Dst: p8info_to_encp8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 6
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    - ctx
    argTypes:
    - void*
    - int
    - void*
    - int
    - i2d_of_void*
    - struct key2any_ctx_st*
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: key_to_encp8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - key_to_p8info
    - free_asn1_data
    - p8info_to_encp8
    linkageType: ''
    returnType: X509_SIG*
    signature: 'static X509_SIG *key_to_encp8(const void *key, int key_nid, void *params,
      int params_type, i2d_of_void *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: k2d
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:381,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:387,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:386,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    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*
    constantsTouched: []
    func_position:
      end: 389
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 389
    functionName: key_to_type_specific_der_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - BIO_write
    - k2d
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int key_to_type_specific_der_bio(BIO *out, const void *key,
      int key_nid, ossl_unused const char *pemname, key_to_paramstring_fn *p2s, i2d_of_void
      *k2d, struct key2any_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dh
    - expected_type
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: dh_check_key_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - DH_test_flags
    linkageType: ''
    returnType: int
    signature: 'static int dh_check_key_type(const void *dh, int expected_type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:549,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:552,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:559,1
    - Dst: i2d_DSAparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:556,1
    - Dst: ASN1_STRING_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - dsa
    - nid
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 567
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 567
    functionName: encode_dsa_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - i2d_DSAparams
    - ERR_raise
    - ASN1_STRING_new
    - ASN1_STRING_free
    linkageType: ''
    returnType: int
    signature: 'static int encode_dsa_params(const void *dsa, int nid, void **pstr,
      int *pstrtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:788,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:798,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - vecxkey
    - pder
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 803
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 803
    functionName: ecx_pki_priv_to_der
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - i2d_ASN1_OCTET_STRING
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ecx_pki_priv_to_der(const void *vecxkey, unsigned char
      **pder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:152,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:154,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:156,1
    - Dst: OBJ_nid2obj
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:154,1
    - Dst: k2d
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:153,1
    - Dst: X509_PUBKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:157,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    argTypes:
    - void*
    - int
    - void*
    - int
    - i2d_of_void
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: key_to_pubkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - X509_PUBKEY_new
    - ERR_raise
    - OPENSSL_free
    - OBJ_nid2obj
    - X509_PUBKEY_free
    - k2d
    - X509_PUBKEY_set0_param
    linkageType: ''
    returnType: X509_PUBKEY*
    signature: 'static X509_PUBKEY *key_to_pubkey(const void *key, int key_nid, void
      *params, int params_type, i2d_of_void k2d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:572,1
    - Dst: DSA_get0_g
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:574,1
    - Dst: DSA_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:573,1
    - Dst: encode_dsa_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c:577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - dsa
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: prepare_dsa_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: []
    functionsReached:
    - DSA_get0_q
    - DSA_get0_p
    - encode_dsa_params
    - DSA_get0_g
    linkageType: ''
    returnType: int
    signature: 'static int prepare_dsa_params(const void *dsa, int nid, int save,
      void **pstr, int *pstrtype) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_do_blob_header
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:116,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:114,1
    - Dst: ossl_blob_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:128,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:133,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:135,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:140,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:183,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:195,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:130,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:139,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:199,1
    - Dst: data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:203,1
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:98,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:117,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:150,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:184,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:193,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:207,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:111,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:151,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:201,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:208,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 95
    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*
    constantsTouched: []
    func_position:
      end: 212
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 212
    functionName: msblob2key_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: []
    functionsReached:
    - ossl_blob_length
    - ERR_pop_to_mark
    - ERR_raise
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - BIO_free
    - BIO_read
    - OPENSSL_free
    - data_cb
    - ERR_set_mark
    - OSSL_PARAM_construct_utf8_string
    - ossl_bio_new_from_core_bio
    - ossl_pw_set_ossl_passphrase_cb
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - ossl_do_blob_header
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int msblob2key_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,
      OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: msblob2key_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void msblob2key_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:251,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct msblob2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: rsa_adjust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: []
    functionsReached:
    - ossl_rsa_set0_libctx
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: 'static void rsa_adjust(void *key, struct msblob2key_ctx_st *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - desc
    argTypes:
    - void*
    - struct keytype_desc_st*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: msblob2key_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct msblob2key_ctx_st*
    signature: 'static struct msblob2key_ctx_st *msblob2key_newctx(void *provctx,
      const struct keytype_desc_st *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: msblob2key_does_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int msblob2key_does_selection(void *provctx, int selection) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:221,1
    - Dst: export
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c:232,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 5
    argNames:
    - vctx
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - void*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 235
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 235
    functionName: msblob2key_export_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: []
    functionsReached:
    - export
    - ossl_prov_get_keymgmt_export
    linkageType: ''
    returnType: int
    signature: 'static int msblob2key_export_object(void *vctx, const void *reference,
      size_t reference_sz, OSSL_CALLBACK *export_cb, void *export_cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:34,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:41,1
    - Dst: PEM_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:39,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 6
    argNames:
    - provctx
    - cin
    - pem_name
    - pem_header
    - data
    - len
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: read_pem
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: []
    functionsReached:
    - PEM_read_bio
    - BIO_free
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int read_pem(PROV_CTX *provctx, OSSL_CORE_BIO *cin, char **pem_name,
      char **pem_header, unsigned char **data, long *len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_pem
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:142,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:154,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:161,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:174,1
    - Dst: PEM_do_header
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:162,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:175,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:178,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:187,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:193,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:196,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:207,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:208,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:199,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:209,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:201,1
    - Dst: data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:203,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    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*
    constantsTouched: []
    func_position:
      end: 211
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 211
    functionName: pem2der_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: []
    functionsReached:
    - read_pem
    - OSSL_PARAM_construct_int
    - PEM_get_EVP_CIPHER_INFO
    - strcmp
    - OPENSSL_free
    - data_cb
    - OSSL_PARAM_construct_utf8_string
    - OSSL_NELEM
    - OSSL_PARAM_construct_end
    - PEM_do_header
    - OSSL_PARAM_construct_octet_string
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int pem2der_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,
      OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: pem2der_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *pem2der_newctx(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - num
    - w
    - data
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: pem2der_pass_helper
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pem2der_pass_helper(char *buf, int num, int w, void *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: pem2der_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void pem2der_freectx(void *vctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:225,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:239,1
    - Dst: DH_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:237,1
    - Dst: DH_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:244,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:246,1
    - Dst: ossl_dh_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:251,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:253,1
    - Dst: DH_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:260,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:264,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:277,1
    - Dst: ffc_params_to_text
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:273,1
    - Dst: DH_get_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:275,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:264,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:270,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:267,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 282
    functionName: dh_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - DH_get_length
    - ERR_raise
    - BN_num_bits
    - DH_get0_p
    - ffc_params_to_text
    - DH_get0_priv_key
    - ossl_dh_get0_params
    - print_labeled_bignum
    - DH_get0_pub_key
    linkageType: ''
    returnType: int
    signature: 'static int dh_to_text(BIO *out, const void *key, int selection) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:300,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:321,1
    - Dst: DSA_get0_priv_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:312,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:314,1
    - Dst: DSA_get0_pub_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:319,1
    - Dst: ossl_dsa_get0_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:326,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:328,1
    - Dst: DSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:335,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:339,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:342,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:345,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:339,1
    - Dst: ffc_params_to_text
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:348,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 352
    functionName: dsa_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ossl_dsa_get0_params
    - ERR_raise
    - DSA_get0_p
    - BN_num_bits
    - ffc_params_to_text
    - DSA_get0_priv_key
    - print_labeled_bignum
    - DSA_get0_pub_key
    linkageType: ''
    returnType: int
    signature: 'static int dsa_to_text(BIO *out, const void *key, int selection) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:366,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:367,1
    - Dst: EC_GROUP_get_curve
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:370,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:373,1
    - Dst: BN_CTX_get
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:368,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:374,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:378,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:378,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:382,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:383,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:384,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - out
    - group
    - ctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 385
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 385
    functionName: ec_param_explicit_curve_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - BN_CTX_get
    - EC_GROUP_get_basis_type
    - OBJ_nid2sn
    - print_labeled_bignum
    - EC_GROUP_get_field_type
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: 'static int ec_param_explicit_curve_to_text(BIO *out, const EC_GROUP
      *group, BN_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:436,1
    - Dst: EC_GROUP_get0_order
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:442,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:446,1
    - Dst: BN_CTX_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:439,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:441,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:448,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:449,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:452,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:452,1
    - Dst: ec_param_explicit_curve_to_text
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:453,1
    - Dst: ec_param_explicit_gen_to_text
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:454,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:455,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:457,1
    - Dst: BN_CTX_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:463,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:464,1
    - Dst: print_labeled_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:459,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 3
    argNames:
    - out
    - group
    - libctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 466
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 466
    functionName: ec_param_explicit_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ec_param_explicit_curve_to_text
    - BN_CTX_end
    - print_labeled_bignum
    - OBJ_nid2sn
    - EC_GROUP_get0_seed
    - ec_param_explicit_gen_to_text
    - EC_GROUP_get0_order
    - EC_GROUP_get_field_type
    - BN_CTX_free
    - EC_GROUP_get0_cofactor
    - BN_CTX_start
    - print_labeled_buf
    - EC_GROUP_get_seed_len
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: 'static int ec_param_explicit_to_text(BIO *out, const EC_GROUP *group,
      OSSL_LIB_CTX *libctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:500,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:505,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:517,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:520,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:504,1
    - Dst: EC_KEY_priv2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:523,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:528,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:531,1
    - Dst: EC_KEY_key2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:535,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:535,1
    - Dst: print_labeled_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:547,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:552,1
    - Dst: ec_param_to_text
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:550,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:541,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:553,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:540,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:550,1
    - Dst: print_labeled_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:544,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 555
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 555
    functionName: ec_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - EC_KEY_get0_group
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_public_key
    - EC_KEY_get0_private_key
    - OPENSSL_free
    - EC_KEY_key2buf
    - EC_KEY_get_conv_form
    - EC_KEY_priv2buf
    - print_labeled_buf
    - ec_param_to_text
    - OPENSSL_clear_free
    - EC_GROUP_order_bits
    linkageType: ''
    returnType: int
    signature: 'static int ec_to_text(BIO *out, const void *key, int selection) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:573,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:605,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:598,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:594,1
    - Dst: print_labeled_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:600,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:609,1
    - Dst: print_labeled_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:613,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 617
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 617
    functionName: ecx_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - print_labeled_buf
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ecx_to_text(BIO *out, const void *key, int selection) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:635,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:675,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:667,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:674,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:697,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:714,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:726,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:746,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:762,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:774,1
    - Dst: ossl_rsa_mgf_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:752,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:742,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:751,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:723,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:636,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:671,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:679,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:704,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:703,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:709,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:711,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:712,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:732,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:735,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:753,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:773,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:758,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:740,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:638,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:646,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:647,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:648,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:651,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:670,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:698,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:706,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:700,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:707,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:737,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:744,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:731,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:717,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:694,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:716,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:775,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:747,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:739,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:634,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:642,1
    - Dst: RSA_get0_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:665,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:681,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:686,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:666,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:688,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:689,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:691,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:692,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:725,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:701,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:695,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 145
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 777
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 777
    functionName: rsa_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - ossl_rsa_mgf_nid2name
    - sk_BIGNUM_const_new_null
    - sk_BIGNUM_const_free
    - ossl_rsa_get0_all_params
    - sk_BIGNUM_const_value
    - STACK_OF
    - BIO_printf
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_trailerfield
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_get0_pss_params_30
    - RSA_test_flags
    - sk_BIGNUM_const_num
    - BN_num_bits
    - print_labeled_bignum
    - ERR_raise
    - ossl_rsa_oaeppss_nid2name
    - RSA_get0_key
    - ossl_rsa_pss_params_30_maskgenalg
    - ossl_rsa_pss_params_30_maskgenhashalg
    linkageType: ''
    returnType: int
    signature: 'static int rsa_to_text(BIO *out, const void *key, int selection) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: key2text_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void key2text_freectx(ossl_unused void *vctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:397,1
    - Dst: EC_POINT_point2buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:417,1
    - Dst: print_labeled_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:421,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:422,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:398,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - out
    - group
    - ctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 424
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 424
    functionName: ec_param_explicit_gen_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - EC_POINT_point2buf
    - print_labeled_buf
    - EC_GROUP_get0_generator
    - OPENSSL_clear_free
    - EC_GROUP_get_point_conversion_form
    linkageType: ''
    returnType: int
    signature: 'static int ec_param_explicit_gen_to_text(BIO *out, const EC_GROUP
      *group, BN_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:471,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:473,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:479,1
    - Dst: EC_curve_nid2nist
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:482,1
    - Dst: OBJ_nid2sn
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:479,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:484,1
    - Dst: ec_param_explicit_to_text
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:486,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - out
    - group
    - libctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 488
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 488
    functionName: ec_param_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ec_param_explicit_to_text
    - OBJ_nid2sn
    - EC_GROUP_get_curve_name
    - EC_curve_nid2nist
    - EC_GROUP_get_asn1_flag
    linkageType: ''
    returnType: int
    signature: 'static int ec_param_to_text(BIO *out, const EC_GROUP *group, OSSL_LIB_CTX
      *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:799,1
    - Dst: key2text
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:805,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:806,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 7
    argNames:
    - vctx
    - key
    - selection
    - cout
    - (*key2text)
    - cb
    - cbarg
    argTypes:
    - void*
    - void*
    - int
    - OSSL_CORE_BIO*
    - int
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 809
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 809
    functionName: key2text_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_free
    - key2text
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int key2text_encode(void *vctx, const void *key, int selection,
      OSSL_CORE_BIO *cout, int (*key2text)(BIO *out, const void *key, int selection),
      OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:68,1
    - Dst: BN_num_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:71,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:74,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:69,1
    - Dst: bn_get_words
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:72,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:77,1
    - Dst: BN_bn2hex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:81,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:90,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:96,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:101,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:114,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:109,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:113,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:124,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:114,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 52
    argCount: 3
    argNames:
    - out
    - label
    - bn
    argTypes:
    - BIO*
    - char*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 126
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 126
    functionName: print_labeled_bignum
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - bn_get_words
    - BN_num_bytes
    - tolower
    - BN_is_zero
    - OPENSSL_free
    - BN_is_negative
    - BN_bn2hex
    linkageType: ''
    returnType: int
    signature: 'static int print_labeled_bignum(BIO *out, const char *label, const
      BIGNUM *bn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: key2text_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *key2text_newctx(void *provctx) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:164,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:169,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:181,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:178,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:165,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:184,1
    - Dst: print_labeled_bignum
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:187,1
    - Dst: print_labeled_buf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:191,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:195,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:199,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:203,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 36
    argCount: 2
    argNames:
    - out
    - ffc
    argTypes:
    - BIO*
    - FFC_PARAMS*
    constantsTouched: []
    func_position:
      end: 209
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 209
    functionName: ffc_params_to_text
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ossl_ffc_uid_to_dh_named_group
    - print_labeled_buf
    - print_labeled_bignum
    - ossl_ffc_named_group_get_name
    linkageType: ''
    returnType: int
    signature: 'static int ffc_params_to_text(BIO *out, const FFC_PARAMS *ffc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:137,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:148,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:152,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:144,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - out
    - label
    - buf
    - buflen
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: print_labeled_buf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: []
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: 'static int print_labeled_buf(BIO *out, const char *label, const unsigned
      char *buf, size_t buflen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:97,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:117,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:113,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:112,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:125,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:126,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:127,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:131,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:168,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:176,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:164,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:162,1
    - Dst: data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:172,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:170,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:154,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    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*
    constantsTouched: []
    func_position:
      end: 180
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 180
    functionName: pvk2key_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - BIO_free
    - ERR_GET_LIB
    - data_cb
    - OSSL_PARAM_construct_utf8_string
    - ossl_pw_set_ossl_passphrase_cb
    - ERR_peek_last_error
    - OSSL_PARAM_construct_end
    - ERR_clear_last_mark
    - PROV_LIBCTX_OF
    - ossl_bio_new_from_core_bio
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int pvk2key_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,
      OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: pvk2key_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void pvk2key_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:216,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct pvk2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: rsa_adjust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: []
    functionsReached:
    - ossl_rsa_set0_libctx
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: 'static void rsa_adjust(void *key, struct pvk2key_ctx_st *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - desc
    argTypes:
    - void*
    - struct keytype_desc_st*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: pvk2key_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct pvk2key_ctx_st*
    signature: 'static struct pvk2key_ctx_st *pvk2key_newctx(void *provctx, const
      struct keytype_desc_st *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:188,1
    - Dst: export
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c:199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 5
    argNames:
    - vctx
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - void*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: pvk2key_export_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: []
    functionsReached:
    - export
    - ossl_prov_get_keymgmt_export
    linkageType: ''
    returnType: int
    signature: 'static int pvk2key_export_object(void *vctx, const void *reference,
      size_t reference_sz, OSSL_CALLBACK *export_cb, void *export_cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: pvk2key_does_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int pvk2key_does_selection(void *provctx, int selection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - desc
    argTypes:
    - void*
    - struct keytype_desc_st*
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: der2key_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct der2key_ctx_st*
    signature: 'static struct der2key_ctx_st *der2key_newctx(void *provctx, const
      struct keytype_desc_st *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - selection
    - desc
    argTypes:
    - int
    - struct keytype_desc_st*
    constantsTouched: []
    func_position:
      end: 173
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 173
    functionName: der2key_check_selection
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int der2key_check_selection(int selection, const struct keytype_desc_st
      *desc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: dsa_d2i_PKCS8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_d2i_PKCS8(void **key, const unsigned char **der,
      long der_len, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: ec_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - EC_KEY_get_flags
    linkageType: ''
    returnType: int
    signature: 'static int ec_check(void *key, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:430,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: ecx_d2i_PKCS8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void*
    signature: 'static void *ecx_d2i_PKCS8(void **key, const unsigned char **der,
      long der_len, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: der2key_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void der2key_freectx(void *vctx) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:232,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:279,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:296,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:241,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:248,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:289,1
    - Dst: ossl_read_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:202,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:221,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:294,1
    - Dst: data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:298,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:303,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:198,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:208,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:214,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:287,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:246,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 96
    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*
    constantsTouched: []
    func_position:
      end: 306
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 306
    functionName: der2key_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - OSSL_PARAM_construct_int
    - OPENSSL_free
    - data_cb
    - ERR_set_mark
    - OSSL_PARAM_construct_utf8_string
    - ossl_read_der
    - OSSL_PARAM_construct_end
    - ERR_clear_last_mark
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int der2key_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,
      OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:419,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: ec_adjust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - ossl_ec_key_set0_libctx
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: 'static void ec_adjust(void *key, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:436,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: ecx_key_adjust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_ecx_key_set0_libctx
    linkageType: ''
    returnType: void
    signature: 'static void ecx_key_adjust(void *key, struct der2key_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 527
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: rsa_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - RSA_test_flags
    linkageType: ''
    returnType: int
    signature: 'static int rsa_check(void *key, struct der2key_ctx_st *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:107,1
    - Dst: OBJ_obj2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:109,1
    - Dst: key_from_pkcs8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:110,1
    - Dst: PKCS8_pkey_get0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:108,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:110,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 4
    argNames:
    - input_der
    - input_der_len
    - ctx
    - key_from_pkcs8
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    - key_from_pkcs8_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: der2key_decode_p8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - key_from_pkcs8
    - OBJ_obj2nid
    - PKCS8_pkey_get0
    - d2i_PKCS8_PRIV_KEY_INFO
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void*
    signature: 'static void *der2key_decode_p8(const unsigned char **input_der, long
      input_der_len, struct der2key_ctx_st *ctx, key_from_pkcs8_t *key_from_pkcs8) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_export
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:314,1
    - Dst: export
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 5
    argNames:
    - vctx
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - void*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: der2key_export_object
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - export
    - ossl_prov_get_keymgmt_export
    linkageType: ''
    returnType: int
    signature: 'static int der2key_export_object(void *vctx, const void *reference,
      size_t reference_sz, OSSL_CALLBACK *export_cb, void *export_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:386,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: dsa_adjust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_dsa_set0_libctx
    linkageType: ''
    returnType: void
    signature: 'static void dsa_adjust(void *key, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: sm2_d2i_PKCS8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2_d2i_PKCS8(void **key, const unsigned char **der,
      long der_len, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: rsa_d2i_PKCS8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_d2i_PKCS8(void **key, const unsigned char **der,
      long der_len, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:531,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: rsa_adjust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - ossl_rsa_set0_libctx
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: 'static void rsa_adjust(void *key, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: ec_d2i_PKCS8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void*
    signature: 'static void *ec_d2i_PKCS8(void **key, const unsigned char **der, long
      der_len, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: dh_d2i_PKCS8
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void*
    signature: 'static void *dh_d2i_PKCS8(void **key, const unsigned char **der, long
      der_len, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_set0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:351,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: dh_adjust
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_dh_set0_libctx
    linkageType: ''
    returnType: void
    signature: 'static void dh_adjust(void *key, struct der2key_ctx_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: any2obj_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void any2obj_freectx(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: any2obj_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void *any2obj_newctx(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:69,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:73,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:71,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:76,1
    - Dst: data_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - provctx
    - objtype
    - mem
    - data_cb
    - data_cbarg
    argTypes:
    - void*
    - int
    - BUF_MEM*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: any2obj_decode_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_int
    - data_cb
    - BUF_MEM_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int any2obj_decode_final(void *provctx, int objtype, BUF_MEM
      *mem, OSSL_CALLBACK *data_cb, void *data_cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:86,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:97,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:93,1
    - Dst: asn1_d2i_read_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:94,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:95,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:100,1
    - Dst: any2obj_decode_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 7
    argNames:
    - provctx
    - cin
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: der2obj_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - BIO_free
    - any2obj_decode_final
    - ERR_set_mark
    - BUF_MEM_free
    - asn1_d2i_read_bio
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int der2obj_decode(void *provctx, OSSL_CORE_BIO *cin, int selection,
      OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:125,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:139,1
    - Dst: ossl_blob_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:147,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:148,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:154,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:126,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:132,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:134,1
    - Dst: ossl_do_blob_header
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:141,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:153,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:160,1
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:112,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:131,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:127,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:156,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:162,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:149,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:171,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:142,1
    - Dst: any2obj_decode_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:167,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:172,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 7
    argNames:
    - provctx
    - cin
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 174
    functionName: msblob2obj_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: []
    functionsReached:
    - ossl_blob_length
    - ERR_pop_to_mark
    - ERR_raise
    - BIO_free
    - any2obj_decode_final
    - BUF_MEM_grow
    - BIO_read
    - ERR_set_mark
    - BUF_MEM_free
    - ossl_do_blob_header
    - BUF_MEM_new
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int msblob2obj_decode(void *provctx, OSSL_CORE_BIO *cin, int
      selection, OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:201,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:216,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:223,1
    - Dst: BUF_MEM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:192,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:209,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:227,1
    - Dst: BUF_MEM_grow
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:193,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:199,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:229,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:238,1
    - Dst: BIO_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:221,1
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:181,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:198,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:194,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:206,1
    - Dst: ossl_do_PVK_header
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:208,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:220,1
    - Dst: any2obj_decode_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:234,1
    - Dst: BUF_MEM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c:239,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 7
    argNames:
    - provctx
    - cin
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 241
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 241
    functionName: pvk2obj_decode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ERR_raise
    - BIO_free
    - any2obj_decode_final
    - BUF_MEM_grow
    - BIO_read
    - ossl_do_PVK_header
    - ERR_set_mark
    - BUF_MEM_free
    - BUF_MEM_new
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: 'static int pvk2obj_decode(void *provctx, OSSL_CORE_BIO *cin, int selection,
      OSSL_CALLBACK *data_cb, void *data_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:128,1
    - Dst: free_file_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:134,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - type
    - uri
    - provctx
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: new_file_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - free_file_ctx
    - OPENSSL_strdup
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct file_ctx_st*
    signature: 'static struct file_ctx_st *new_file_ctx(int type, const char *uri,
      void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: new_file_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:173,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:182,1
    - Dst: file_close
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:190,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:174,1
    - Dst: OPENSSL_DIR_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - path
    - uri
    - provctx
    argTypes:
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: file_open_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - file_close
    - ERR_raise_data
    - new_file_ctx
    - OPENSSL_DIR_read
    linkageType: ''
    returnType: void*
    signature: 'static void *file_open_dir(const char *path, const char *uri, void
      *provctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:331,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:338,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:340,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:335,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:333,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:342,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:346,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:347,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:349,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:358,1
    - Dst: d2i_X509_NAME
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:364,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:367,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:371,1
    - Dst: X509_NAME_hash_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:366,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:363,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:369,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 2
    argNames:
    - loaderctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 376
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 376
    functionName: file_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - X509_NAME_free
    - X509_NAME_hash_ex
    - OPENSSL_free
    - BIO_snprintf
    - OSSL_PARAM_get_int
    - ossl_prov_ctx_get0_libctx
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - d2i_X509_NAME
    - OSSL_PARAM_get_octet_string_ptr
    linkageType: ''
    returnType: int
    signature: 'static int file_set_ctx_params(void *loaderctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:555,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:559,1
    - Dst: ossl_ends_with_dirsep
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:557,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:558,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:558,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:561,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:563,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:567,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:568,1
    - Dst: OPENSSL_strlcat
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - struct file_ctx_st*
    - char*
    constantsTouched: []
    func_position:
      end: 572
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 572
    functionName: file_name_to_uri
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - assert
    - OPENSSL_strlcat
    - OPENSSL_zalloc
    - ossl_ends_with_dirsep
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static char *file_name_to_uri(struct file_ctx_st *ctx, const char
      *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:206,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:225,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:230,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:223,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:231,1
    - Dst: tolower
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:240,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:259,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:260,1
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:265,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:279,1
    - Dst: S_ISDIR
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:281,1
    - Dst: file_open_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:284,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:274,1
    - Dst: BIO_free_all
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:285,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:266,1
    - Dst: file_open_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:282,1
    - Dst: BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:283,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 288
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 288
    functionName: file_open
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - BIO_new_file
    - ERR_pop_to_mark
    - ERR_raise
    - BIO_free_all
    - tolower
    - ERR_set_mark
    - file_open_dir
    - stat
    - strncmp
    - ERR_raise_data
    - file_open_stream
    - S_ISDIR
    - ERR_clear_last_mark
    linkageType: ''
    returnType: void*
    signature: 'static void *file_open(void *provctx, const char *uri) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:577,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:616,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:592,1
    - Dst: ossl_isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:625,1
    - Dst: isdigit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:614,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - struct file_ctx_st*
    - char*
    constantsTouched: []
    func_position:
      end: 634
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 634
    functionName: file_name_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - ossl_isdigit
    - isdigit
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int file_name_check(struct file_ctx_st *ctx, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - decoder_inst
    - params
    - construct_data
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - OSSL_PARAM*
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 410
    functionName: file_load_construct
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int file_load_construct(OSSL_DECODER_INSTANCE *decoder_inst,
      const OSSL_PARAM *params, void *construct_data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_load_file
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:703,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:712,1
    - Dst: file_load_dir_entry
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:706,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 5
    argNames:
    - loaderctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 714
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 714
    functionName: file_load
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - file_load_dir_entry
    - file_load_file
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int file_load(void *loaderctx, OSSL_CALLBACK *object_cb, void
      *object_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - construct_data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: file_load_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void file_load_cleanup(void *construct_data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:643,1
    - Dst: file_name_check
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:663,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:654,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:644,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:655,1
    - Dst: file_name_to_uri
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:667,1
    - Dst: OPENSSL_DIR_read
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:677,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:684,1
    - Dst: object_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:685,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 5
    argNames:
    - ctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - struct file_ctx_st*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 688
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 688
    functionName: file_load_dir_entry
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_utf8_string
    - assert
    - file_name_check
    - OSSL_PARAM_int
    - OPENSSL_free
    - file_name_to_uri
    - OPENSSL_DIR_read
    - object_cb
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int file_load_dir_entry(struct file_ctx_st *ctx, OSSL_CALLBACK
      *object_cb, void *object_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:114,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:117,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:118,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: free_file_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_DECODER_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void free_file_ctx(struct file_ctx_st *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_file_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:157,1
    - Dst: free_file_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - source
    - uri
    - provctx
    argTypes:
    - BIO*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: file_open_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - free_file_ctx
    - new_file_ctx
    - ERR_raise
    linkageType: ''
    returnType: struct file_ctx_st*
    signature: 'static struct file_ctx_st *file_open_stream(BIO *source, const char
      *uri, void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:312,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:313,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:315,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: file_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *file_settable_ctx_params(void *provctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:447,1
    - Dst: ossl_decoder_from_algorithm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:474,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:499,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:433,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:452,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:484,1
    - Dst: OSSL_DECODER_CTX_add_extra
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:489,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:481,1
    - Dst: OSSL_DECODER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:425,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:445,1
    - Dst: ossl_decoder_instance_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:483,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:503,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:419,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:431,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:454,1
    - Dst: OSSL_DECODER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:477,1
    - Dst: ossl_decoder_instance_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:476,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:491,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:501,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 49
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    constantsTouched: []
    func_position:
      end: 511
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 511
    functionName: file_setup_decoders
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - ossl_decoder_instance_new
    - OSSL_DECODER_free
    - OSSL_DECODER_CTX_set_construct
    - ERR_raise
    - OSSL_DECODER_CTX_set_input_type
    - OSSL_DECODER_CTX_add_extra
    - ossl_decoder_from_algorithm
    - ossl_decoder_ctx_add_decoder_inst
    - ossl_prov_ctx_get0_libctx
    - OSSL_DECODER_CTX_set_input_structure
    - OSSL_DECODER_CTX_set_cleanup
    - ossl_decoder_instance_free
    - OSSL_DECODER_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int file_setup_decoders(struct file_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:733,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:734,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:738,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 740
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 740
    functionName: file_eof
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - BIO_pending
    - BIO_eof
    - assert
    linkageType: ''
    returnType: int
    signature: 'static int file_eof(void *loaderctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:756,1
    - Dst: free_file_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    constantsTouched: []
    func_position:
      end: 761
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 761
    functionName: file_close_stream
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - free_file_ctx
    - BIO_free
    linkageType: ''
    returnType: int
    signature: 'static int file_close_stream(struct file_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: file_setup_decoders
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:522,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:529,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:534,1
    - Dst: OSSL_DECODER_CTX_set_passphrase_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:530,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:535,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:536,1
    - Dst: ERR_peek_last_error
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:537,1
    - Dst: ERR_GET_LIB
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:538,1
    - Dst: ERR_GET_REASON
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:539,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:540,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:542,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    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*
    constantsTouched: []
    func_position:
      end: 544
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 544
    functionName: file_load_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - ERR_GET_REASON
    - ERR_pop_to_mark
    - ERR_GET_LIB
    - OSSL_DECODER_CTX_set_construct_data
    - ERR_set_mark
    - ERR_peek_last_error
    - BIO_eof
    - ERR_clear_last_mark
    - file_setup_decoders
    - OSSL_DECODER_CTX_set_passphrase_cb
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: int
    signature: 'static int file_load_file(struct file_ctx_st *ctx, OSSL_CALLBACK *object_cb,
      void *object_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_DIR_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:745,1
    - Dst: free_file_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: file_close_dir
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - free_file_ctx
    - OPENSSL_DIR_end
    linkageType: ''
    returnType: int
    signature: 'static int file_close_dir(struct file_ctx_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: file_close_dir
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:769,1
    - Dst: file_close_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:771,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 777
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 777
    functionName: file_close
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    functionsReached:
    - file_close_dir
    - assert
    - file_close_stream
    linkageType: ''
    returnType: int
    signature: 'static int file_close(void *loaderctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:293,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:300,1
    - Dst: file_open_stream
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - cin
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: file_attach
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: []
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:110,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:119,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:118,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:120,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: ecdsa_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecdsa_newctx(void *provctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - ec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: ecdsa_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ecdsa_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sign_init(void *vctx, void *ec, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_digest_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - mdname
    - ec
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: ecdsa_digest_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ecdsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_digest_sign_init(void *vctx, const char *mdname,
      void *ec, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 571
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 571
    functionName: ecdsa_set_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_set_ctx_md_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - ec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ecdsa_verify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ecdsa_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_verify_init(void *vctx, void *ec, const OSSL_PARAM
      params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:132,1
    - Dst: ossl_ec_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:137,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:144,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:146,1
    - Dst: ecdsa_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - vctx
    - ec
    - params
    - operation
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 156
    functionName: ecdsa_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_ec_check_key
    - EC_KEY_up_ref
    - ecdsa_set_ctx_params
    - EC_KEY_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_signverify_init(void *vctx, void *ec, const OSSL_PARAM
      params[], int operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_digest_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - mdname
    - ec
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: ecdsa_digest_verify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ecdsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_digest_verify_init(void *vctx, const char *mdname,
      void *ec, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: ecdsa_settable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecdsa_settable_ctx_md_params(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:363,1
    - Dst: ecdsa_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:369,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - vctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: ecdsa_digest_verify_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ecdsa_verify
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ecdsa_digest_verify_final(void *vctx, const unsigned char *sig,
      size_t siglen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:376,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:378,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:383,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:384,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:377,1
    - Dst: BN_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:385,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 387
    functionName: ecdsa_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - OPENSSL_free
    - BN_clear_free
    - EVP_MD_free
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: 'static void ecdsa_freectx(void *vctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:174,1
    - Dst: ECDSA_sign_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:195,1
    - Dst: ECDSA_sign_setup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:185,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 6
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 201
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 201
    functionName: ecdsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ECDSA_size
    - ECDSA_sign_setup
    - ECDSA_sign_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_sign(void *vctx, unsigned char *sig, size_t *siglen,
      size_t sigsize, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:225,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:227,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:245,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:253,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:256,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:268,1
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:264,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:274,1
    - Dst: ossl_digest_get_approved_nid_with_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:240,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:243,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:250,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:251,1
    - Dst: ossl_DER_w_algorithmIdentifier_ECDSA_with_MD
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:265,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:260,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:261,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:235,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:271,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:267,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:275,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:233,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:269,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - PROV_ECDSA_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 278
    functionName: ecdsa_setup_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - ossl_digest_get_approved_nid_with_sha1
    - EVP_MD_CTX_free
    - WPACKET_get_curr
    - OPENSSL_strlcpy
    - WPACKET_init_der
    - EVP_MD_get_size
    - ossl_DER_w_algorithmIdentifier_ECDSA_with_MD
    - ERR_raise_data
    - WPACKET_finish
    - EVP_MD_is_a
    - EVP_MD_free
    - EVP_MD_fetch
    - WPACKET_get_total_written
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_setup_md(PROV_ECDSA_CTX *ctx, const char *mdname,
      const char *mdprops) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - vctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: ecdsa_digest_signverify_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: 'int ecdsa_digest_signverify_update(void *vctx, const unsigned char
      *data, size_t datalen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:208,1
    - Dst: ECDSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: ecdsa_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ECDSA_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_verify(void *vctx, const unsigned char *sig, size_t
      siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:286,1
    - Dst: ecdsa_setup_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:290,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:301,1
    - Dst: ecdsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:289,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:296,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:305,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - vctx
    - mdname
    - ec
    - params
    - operation
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 308
    functionName: ecdsa_digest_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ecdsa_signverify_init
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ecdsa_setup_md
    - EVP_DigestInit_ex2
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_digest_signverify_init(void *vctx, const char *mdname,
      void *ec, const OSSL_PARAM params[], int operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:342,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:350,1
    - Dst: ecdsa_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: ecdsa_digest_sign_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - ecdsa_sign
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ecdsa_digest_sign_final(void *vctx, unsigned char *sig, size_t
      *siglen, size_t sigsize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 541
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 541
    functionName: ecdsa_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecdsa_settable_ctx_params(void *vctx, ossl_unused
      void *provctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:394,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:407,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:419,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:397,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:414,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:421,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:426,1
    - Dst: ecdsa_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:433,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 435
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 435
    functionName: ecdsa_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ecdsa_freectx
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - EC_KEY_up_ref
    - OPENSSL_zalloc
    - EVP_MD_CTX_copy_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *ecdsa_dupctx(void *vctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:487,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:488,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:497,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:500,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:492,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:503,1
    - Dst: ecdsa_setup_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:505,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:509,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:511,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 518
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 518
    functionName: ecdsa_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ecdsa_setup_md
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 551
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 551
    functionName: ecdsa_get_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_get_ctx_md_params(void *vctx, OSSL_PARAM *params) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:445,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:449,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:446,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:453,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:450,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:454,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 460
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 460
    functionName: ecdsa_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - EVP_MD_get0_name
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int ecdsa_get_ctx_params(void *vctx, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: ecdsa_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecdsa_gettable_ctx_params(ossl_unused void
      *vctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c:560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: ecdsa_gettable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *ecdsa_gettable_ctx_md_params(void *vctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:196,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:208,1
    - Dst: S390X_CAN_SIGN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:204,1
    - Dst: s390x_ed448_digestsign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:213,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:214,1
    - Dst: ossl_ed448_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:221,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:223,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 6
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 228
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 228
    functionName: ed448_digest_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - s390x_ed448_digestsign
    - ossl_ed448_sign
    - S390X_CAN_SIGN
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ed448_digest_sign(void *vpeddsactx, unsigned char *sigret, size_t
      *siglen, size_t sigsize, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:98,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:111,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:106,1
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:123,1
    - Dst: ossl_DER_w_algorithmIdentifier_ED25519
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:126,1
    - Dst: ossl_DER_w_algorithmIdentifier_ED448
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:129,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:133,1
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:134,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:137,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:138,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:141,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:139,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 4
    argNames:
    - vpeddsactx
    - mdname
    - vedkey
    - OSSL_PARAM
    argTypes:
    - void*
    - char*
    - void*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 146
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 146
    functionName: eddsa_digest_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - ERR_raise
    - ossl_DER_w_algorithmIdentifier_ED448
    - WPACKET_get_curr
    - WPACKET_init_der
    - ossl_ecx_key_up_ref
    - ossl_ecx_key_free
    - WPACKET_finish
    - ossl_DER_w_algorithmIdentifier_ED25519
    - WPACKET_get_total_written
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int eddsa_digest_signverify_init(void *vpeddsactx, const char
      *mdname, void *vedkey, ossl_unused const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:256,1
    - Dst: s390x_ed448_digestverify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:261,1
    - Dst: ossl_ed448_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:264,1
    - Dst: S390X_CAN_SIGN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - vpeddsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: ed448_digest_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - ossl_ed448_verify
    - S390X_CAN_SIGN
    - s390x_ed448_digestverify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ed448_digest_verify(void *vpeddsactx, const unsigned char *sig,
      size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:282,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:285,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:292,1
    - Dst: eddsa_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:300,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - vpeddsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 302
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 302
    functionName: eddsa_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_ecx_key_up_ref
    - eddsa_freectx
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *eddsa_dupctx(void *vpeddsactx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:381,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:385,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:382,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:389,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:384,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 392
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 392
    functionName: s390x_ed25519_digestsign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - s390x_flip_endian32
    - memcpy
    - OPENSSL_cleanse
    - s390x_kdsa
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_ed25519_digestsign(const ECX_KEY *edkey, unsigned
      char *sig, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:71,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:74,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:76,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - provctx
    - propq_unused
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: eddsa_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *eddsa_newctx(void *provctx, const char *propq_unused) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:237,1
    - Dst: S390X_CAN_SIGN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:241,1
    - Dst: ossl_ed25519_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:245,1
    - Dst: s390x_ed25519_digestverify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - vpeddsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: ed25519_digest_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - ossl_ed25519_verify
    - S390X_CAN_SIGN
    - s390x_ed25519_digestverify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ed25519_digest_verify(void *vpeddsactx, const unsigned char *sig,
      size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:155,1
    - Dst: S390X_CAN_SIGN
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:167,1
    - Dst: s390x_ed25519_digestsign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:172,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:173,1
    - Dst: ossl_ed25519_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:180,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 6
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 187
    functionName: ed25519_digest_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - s390x_ed25519_digestsign
    - ossl_ed25519_sign
    - S390X_CAN_SIGN
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int ed25519_digest_sign(void *vpeddsactx, unsigned char *sigret, size_t
      *siglen, size_t sigsize, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:272,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - vpeddsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: eddsa_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_ecx_key_free
    linkageType: ''
    returnType: void
    signature: 'static void eddsa_freectx(void *vpeddsactx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:312,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - vpeddsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 318
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 318
    functionName: eddsa_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int eddsa_get_ctx_params(void *vpeddsactx, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpeddsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: eddsa_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *eddsa_gettable_ctx_params(ossl_unused void
      *vpeddsactx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:406,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:414,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:409,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:410,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:407,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:415,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:416,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 419
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 419
    functionName: s390x_ed448_digestsign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    - s390x_flip_endian64
    - s390x_kdsa
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_ed448_digestsign(const ECX_KEY *edkey, unsigned char
      *sig, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:433,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:438,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:435,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:434,1
    - Dst: s390x_flip_endian32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 440
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 440
    functionName: s390x_ed25519_digestverify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - s390x_kdsa
    - s390x_flip_endian32
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_ed25519_digestverify(const ECX_KEY *edkey, const
      unsigned char *sig, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:455,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:458,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:456,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:457,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:459,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:460,1
    - Dst: s390x_flip_endian64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:461,1
    - Dst: s390x_kdsa
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 465
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 465
    functionName: s390x_ed448_digestverify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: []
    functionsReached:
    - s390x_kdsa
    - s390x_flip_endian64
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int s390x_ed448_digestverify(const ECX_KEY *edkey, const unsigned
      char *sig, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:163,1
    - Dst: ossl_sm2_internal_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 6
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: sm2sig_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - ECDSA_size
    - ossl_sm2_internal_sign
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_sign(void *vpsm2ctx, unsigned char *sig, size_t
      *siglen, size_t sigsize, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:330,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:331,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:334,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:333,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: sm2sig_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - free_md
    - OPENSSL_free
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: 'static void sm2sig_freectx(void *vpsm2ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:396,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:401,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:398,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:405,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:402,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:406,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:408,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 412
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 412
    functionName: sm2sig_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - EVP_MD_get0_name
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_get_ctx_params(void *vpsm2ctx, OSSL_PARAM *params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: sm2sig_get_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_get_ctx_md_params(void *vpsm2ctx, OSSL_PARAM *params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sm2_internal_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 5
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: sm2sig_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - ossl_sm2_internal_verify
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_verify(void *vpsm2ctx, const unsigned char *sig,
      size_t siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:342,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:368,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:363,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:358,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:353,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:370,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:375,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:379,1
    - Dst: sm2sig_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:384,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 386
    functionName: sm2sig_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - memcpy
    - EC_KEY_up_ref
    - OPENSSL_zalloc
    - sm2sig_freectx
    - EVP_MD_CTX_copy_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2sig_dupctx(void *vpsm2ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpsm2ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: sm2sig_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2sig_settable_ctx_params(ossl_unused void
      *vpsm2ctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: sm2sig_gettable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2sig_gettable_ctx_md_params(void *vpsm2ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:116,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:123,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:124,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:122,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:121,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: sm2sig_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - strcpy
    - OPENSSL_free
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2sig_newctx(void *provctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:197,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_SM2_CTX*
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: free_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: 'static void free_md(PROV_SM2_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:259,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:263,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:265,1
    - Dst: ossl_sm2_compute_z_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_SM2_CTX*
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: sm2sig_compute_z_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_sm2_compute_z_digest
    - EVP_DigestUpdate
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_compute_z_digest(PROV_SM2_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpsm2ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: sm2sig_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2sig_gettable_ctx_params(ossl_unused void
      *vpsm2ctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: sm2sig_set_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_set_ctx_md_params(void *vpsm2ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:95,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:110,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:105,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:104,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - psm2ctx
    - mdname
    argTypes:
    - PROV_SM2_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: sm2sig_set_mdname
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    - ERR_raise_data
    - EVP_MD_is_a
    - EVP_MD_fetch
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_set_mdname(PROV_SM2_CTX *psm2ctx, const char *mdname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:137,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:147,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:149,1
    - Dst: sm2sig_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:153,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - vpsm2ctx
    - ec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sm2sig_signature_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EC_KEY_up_ref
    - sm2sig_set_ctx_params
    - EC_KEY_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_signature_init(void *vpsm2ctx, void *ec, const OSSL_PARAM
      params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_signature_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:211,1
    - Dst: EVP_MD_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:221,1
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:231,1
    - Dst: sm2sig_set_mdname
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:212,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:216,1
    - Dst: ossl_DER_w_algorithmIdentifier_SM2_with_MD
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:232,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:233,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:234,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:235,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:237,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - vpsm2ctx
    - mdname
    - ec
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 248
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 248
    functionName: sm2sig_digest_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - sm2sig_signature_init
    - EVP_MD_CTX_new
    - WPACKET_get_curr
    - EVP_MD_get_type
    - WPACKET_init_der
    - WPACKET_finish
    - sm2sig_set_mdname
    - ossl_DER_w_algorithmIdentifier_SM2_with_MD
    - EVP_DigestInit_ex2
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_digest_signverify_init(void *vpsm2ctx, const char
      *mdname, void *ec, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_compute_z_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:279,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - vpsm2ctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: sm2sig_digest_signverify_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - sm2sig_compute_z_digest
    linkageType: ''
    returnType: int
    signature: 'int sm2sig_digest_signverify_update(void *vpsm2ctx, const unsigned
      char *data, size_t datalen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:438,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:464,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:450,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:463,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:452,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:468,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:472,1
    - Dst: sm2sig_set_mdname
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:474,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:475,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:478,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 482
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 482
    functionName: sm2sig_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - OPENSSL_free
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - sm2sig_set_mdname
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int sm2sig_set_ctx_params(void *vpsm2ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: sm2sig_settable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2sig_settable_ctx_md_params(void *vpsm2ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_compute_z_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:298,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:299,1
    - Dst: sm2sig_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: sm2sig_digest_sign_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_DigestFinal_ex
    - sm2sig_sign
    - sm2sig_compute_z_digest
    linkageType: ''
    returnType: int
    signature: 'int sm2sig_digest_sign_final(void *vpsm2ctx, unsigned char *sig, size_t
      *siglen, size_t sigsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:316,1
    - Dst: sm2sig_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:323,1
    - Dst: sm2sig_compute_z_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:319,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 324
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 324
    functionName: sm2sig_digest_verify_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - sm2sig_compute_z_digest
    - sm2sig_verify
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'int sm2sig_digest_verify_final(void *vpsm2ctx, const unsigned char
      *sig, size_t siglen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:102,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:112,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:105,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:111,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: dsa_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_newctx(void *provctx, const char *propq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - vpdsactx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: dsa_digest_signverify_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: 'int dsa_digest_signverify_update(void *vpdsactx, const unsigned char
      *data, size_t datalen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:404,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:407,1
    - Dst: DSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:417,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:421,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:426,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:428,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:432,1
    - Dst: dsa_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:439,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 441
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 441
    functionName: dsa_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - DSA_up_ref
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - OPENSSL_zalloc
    - dsa_freectx
    - EVP_MD_CTX_copy_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *dsa_dupctx(void *vpdsactx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:485,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:490,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:493,1
    - Dst: dsa_setup_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:498,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 503
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 503
    functionName: dsa_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - dsa_setup_md
    linkageType: ''
    returnType: int
    signature: 'static int dsa_set_ctx_params(void *vpdsactx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: dsa_get_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: 'static int dsa_get_ctx_md_params(void *vpdsactx, OSSL_PARAM *params) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:138,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:141,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:176,1
    - Dst: ossl_digest_get_approved_nid_with_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:129,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:131,1
    - Dst: ossl_DER_w_algorithmIdentifier_DSA_with_MD
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:170,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:128,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:148,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:149,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:158,1
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:169,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:159,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:172,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:173,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:180,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:135,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:143,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:151,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:154,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - PROV_DSA_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 183
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 183
    functionName: dsa_setup_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - ossl_digest_get_approved_nid_with_sha1
    - EVP_MD_CTX_free
    - WPACKET_get_curr
    - OPENSSL_strlcpy
    - WPACKET_init_der
    - ERR_raise_data
    - WPACKET_finish
    - EVP_MD_is_a
    - ossl_DER_w_algorithmIdentifier_DSA_with_MD
    - EVP_MD_free
    - EVP_MD_fetch
    - WPACKET_get_total_written
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int dsa_setup_md(PROV_DSA_CTX *ctx, const char *mdname, const
      char *mdprops) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:339,1
    - Dst: dsa_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:358,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - vpdsactx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: dsa_digest_sign_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_sign
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int dsa_digest_sign_final(void *vpdsactx, unsigned char *sig, size_t
      *siglen, size_t sigsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:451,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:453,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:456,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:457,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: dsa_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int dsa_get_ctx_params(void *vpdsactx, OSSL_PARAM *params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 543
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 543
    functionName: dsa_gettable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_gettable_ctx_md_params(void *vpdsactx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: dsa_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - vpdsactx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: dsa_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_settable_ctx_params(void *vpdsactx, ossl_unused
      void *provctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:190,1
    - Dst: ossl_dsa_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:200,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:195,1
    - Dst: DSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:202,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:207,1
    - Dst: dsa_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:213,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - vpdsactx
    - vdsa
    - params
    - operation
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 217
    functionName: dsa_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - DSA_up_ref
    - ERR_raise
    - ossl_dsa_check_key
    - dsa_set_ctx_params
    - DSA_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_signverify_init(void *vpdsactx, void *vdsa, const OSSL_PARAM
      params[], int operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vpdsactx
    - vdsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: dsa_verify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int dsa_verify_init(void *vpdsactx, void *vdsa, const OSSL_PARAM
      params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:369,1
    - Dst: dsa_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:382,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - vpdsactx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: dsa_digest_verify_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_verify
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int dsa_digest_verify_final(void *vpdsactx, const unsigned char *sig,
      size_t siglen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pdsactx
    argTypes:
    - PROV_DSA_CTX*
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: dsa_get_md_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    linkageType: ''
    returnType: size_t
    signature: 'static size_t dsa_get_md_size(const PROV_DSA_CTX *pdsactx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vpdsactx
    - vdsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: dsa_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int dsa_sign_init(void *vpdsactx, void *vdsa, const OSSL_PARAM
      params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:236,1
    - Dst: dsa_get_md_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:237,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:239,1
    - Dst: ossl_dsa_sign_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 6
    argNames:
    - vpdsactx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: dsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - DSA_size
    - dsa_get_md_size
    - ossl_dsa_sign_int
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_sign(void *vpdsactx, unsigned char *sig, size_t *siglen,
      size_t sigsize, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:389,1
    - Dst: DSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:395,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:390,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:391,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: dsa_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - OPENSSL_free
    - DSA_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: 'static void dsa_freectx(void *vpdsactx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_get_md_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:265,1
    - Dst: DSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:270,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - vpdsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: dsa_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_get_md_size
    - DSA_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_verify(void *vpdsactx, const unsigned char *sig, size_t
      siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_digest_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - vpdsactx
    - mdname
    - vdsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: dsa_digest_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int dsa_digest_sign_init(void *vpdsactx, const char *mdname,
      void *vdsa, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 553
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 553
    functionName: dsa_set_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int dsa_set_ctx_md_params(void *vpdsactx, const OSSL_PARAM
      params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:279,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:291,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:296,1
    - Dst: dsa_setup_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:285,1
    - Dst: dsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:282,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:302,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - vpdsactx
    - mdname
    - vdsa
    - params
    - operation
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 305
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 305
    functionName: dsa_digest_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_signverify_init
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - dsa_setup_md
    - EVP_DigestInit_ex2
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int dsa_digest_signverify_init(void *vpdsactx, const char *mdname,
      void *vdsa, const OSSL_PARAM params[], int operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_digest_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - vpdsactx
    - mdname
    - vdsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: dsa_digest_verify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - dsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: 'static int dsa_digest_verify_init(void *vpdsactx, const char *mdname,
      void *vdsa, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 563
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 563
    functionName: dsa_settable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *dsa_settable_ctx_md_params(void *vpdsactx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:54,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:61,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:57,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:63,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:62,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:67,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:71,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:75,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:80,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:81,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:82,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - provctx
    - propq
    - macname
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: mac_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - OPENSSL_strdup
    - ERR_raise
    - EVP_MAC_free
    - OPENSSL_free
    - OPENSSL_zalloc
    - EVP_MAC_CTX_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *mac_newctx(void *provctx, const char *propq, const char
      *macname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:157,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - vpmacctx
    - mac
    - maclen
    - macsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: mac_digest_sign_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    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, size_t macsize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:103,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:120,1
    - Dst: ossl_mac_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:115,1
    - Dst: ossl_mac_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:108,1
    - Dst: ENGINE_get_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:123,1
    - Dst: ossl_prov_set_macctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:126,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:134,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 4
    argNames:
    - vpmacctx
    - mdname
    - vkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 139
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 139
    functionName: mac_digest_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ENGINE_get_id
    - ossl_mac_key_free
    - ossl_prov_set_macctx
    - ossl_mac_key_up_ref
    - EVP_MAC_init
    - EVP_CIPHER_get0_name
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int mac_digest_sign_init(void *vpmacctx, const char *mdname,
      void *vkey, const OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:178,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:181,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:190,1
    - Dst: ossl_mac_key_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:193,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:198,1
    - Dst: mac_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:205,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - vpmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 207
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 207
    functionName: mac_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - EVP_MAC_CTX_dup
    - ossl_mac_key_up_ref
    - OPENSSL_zalloc
    - mac_freectx
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *mac_dupctx(void *vpmacctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:220,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:227,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:228,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - provctx
    - macname
    argTypes:
    - ossl_unused*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: mac_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - EVP_MAC_free
    - PROV_LIBCTX_OF
    - EVP_MAC_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *mac_settable_ctx_params(ossl_unused void
      *ctx, void *provctx, const char *macname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:167,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:170,1
    - Dst: ossl_mac_key_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:169,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - vpmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: mac_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    functionsReached:
    - ossl_mac_key_free
    - OPENSSL_free
    - EVP_MAC_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void mac_freectx(void *vpmacctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - vpmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: mac_digest_sign_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    functionsReached:
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: 'int mac_digest_sign_update(void *vpmacctx, const unsigned char *data,
      size_t datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - vpmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: mac_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: []
    functionsReached:
    - EVP_MAC_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int mac_set_ctx_params(void *vpmacctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - prsactx
    argTypes:
    - PROV_RSA_CTX*
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: rsa_get_md_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    linkageType: ''
    returnType: size_t
    signature: 'static size_t rsa_get_md_size(const PROV_RSA_CTX *prsactx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:231,1
    - Dst: ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:238,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:232,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:244,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:247,1
    - Dst: rsa_pss_compute_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:252,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:255,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:256,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:257,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:259,1
    - Dst: ossl_DER_w_algorithmIdentifier_RSA_PSS
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:260,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:263,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:268,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:275,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:274,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:278,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:273,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - aid_buf
    - buf_len
    - aid_len
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 280
    functionName: rsa_generate_signature_aid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_algorithmIdentifier_RSA_PSS
    - WPACKET_cleanup
    - ERR_raise
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - WPACKET_get_curr
    - WPACKET_init_der
    - ossl_rsa_pss_params_30_set_hashalg
    - WPACKET_get_total_written
    - ERR_raise_data
    - WPACKET_finish
    - rsa_pss_compute_saltlen
    - ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption
    - ossl_rsa_pss_params_30_set_saltlen
    - ossl_rsa_pss_params_30_set_defaults
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *rsa_generate_signature_aid(PROV_RSA_CTX *ctx,
      unsigned char *aid_buf, size_t buf_len, size_t *aid_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:486,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:486,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: setup_tbuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_size
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int setup_tbuf(PROV_RSA_CTX *ctx) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:569,1
    - Dst: clean_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:577,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:612,1
    - Dst: clean_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:634,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:638,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:605,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:600,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:518,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:537,1
    - Dst: rsa_get_md_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:519,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:542,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:554,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:573,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:575,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:566,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:587,1
    - Dst: rsa_pss_restricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:596,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:632,1
    - Dst: RSA_private_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:643,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:521,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:550,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:564,1
    - Dst: RSA_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:584,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:570,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:632,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:530,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:546,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:563,1
    - Dst: RSA_X931_hash_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:574,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:599,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:623,1
    - Dst: RSA_padding_add_PKCS1_PSS_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:625,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:629,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:651,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 6
    argNames:
    - vprsactx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 657
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 657
    functionName: rsa_sign
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_sign
    - RSA_padding_add_PKCS1_PSS_mgf1
    - ERR_raise
    - rsa_pss_restricted
    - RSA_sign_ASN1_OCTET_STRING
    - RSA_size
    - memcpy
    - RSA_private_encrypt
    - setup_tbuf
    - clean_tbuf
    - EVP_MD_get_size
    - RSA_X931_hash_id
    - ERR_raise_data
    - EVP_MD_is_a
    - rsa_get_md_size
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_sign(void *vprsactx, unsigned char *sig, size_t *siglen,
      size_t sigsize, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:766,1
    - Dst: RSA_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:771,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:778,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:773,1
    - Dst: rsa_verify_recover
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:780,1
    - Dst: rsa_get_md_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:793,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:795,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:801,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:803,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:806,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:827,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:832,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:829,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:814,1
    - Dst: RSA_verify_PKCS1_PSS_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:809,1
    - Dst: memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:838,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:820,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 5
    argNames:
    - vprsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 842
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 842
    functionName: rsa_verify
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_verify
    - ERR_raise
    - memcmp
    - RSA_verify_PKCS1_PSS_mgf1
    - setup_tbuf
    - rsa_verify_recover
    - ERR_raise_data
    - rsa_get_md_size
    - RSA_public_decrypt
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_verify(void *vprsactx, const unsigned char *sig, size_t
      siglen, const unsigned char *tbs, size_t tbslen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - vprsactx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 891
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 891
    functionName: rsa_digest_signverify_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: 'static int rsa_digest_signverify_update(void *vprsactx, const unsigned
      char *data, size_t datalen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:909,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:923,1
    - Dst: rsa_sign
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:927,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - vprsactx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 928
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 928
    functionName: rsa_digest_sign_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - rsa_sign
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_digest_sign_final(void *vprsactx, unsigned char *sig,
      size_t *siglen, size_t sigsize) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:987,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:992,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1008,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1004,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:990,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1012,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1017,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1019,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1024,1
    - Dst: rsa_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1031,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1033
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1033
    functionName: rsa_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_up_ref
    - OPENSSL_strdup
    - ERR_raise
    - rsa_freectx
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - OPENSSL_zalloc
    - EVP_MD_CTX_copy_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_dupctx(void *vprsactx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1426
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1426
    functionName: rsa_set_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int rsa_set_ctx_md_params(void *vprsactx, const OSSL_PARAM
      params[]) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:289,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:313,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:331,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:293,1
    - Dst: ossl_digest_rsa_sign_get_md_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:291,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:308,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:328,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:324,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:303,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:306,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:314,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:325,1
    - Dst: rsa_check_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:297,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:300,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:340,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:316,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:335,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:319,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:334,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - PROV_RSA_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 344
    functionName: rsa_setup_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_MD_up_ref
    - OPENSSL_strlcpy
    - ossl_digest_rsa_sign_get_md_nid
    - ERR_raise_data
    - rsa_check_padding
    - EVP_MD_is_a
    - EVP_MD_free
    - EVP_MD_fetch
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int rsa_setup_md(PROV_RSA_CTX *ctx, const char *mdname, const
      char *mdprops) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:496,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: clean_tbuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_size
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'static void clean_tbuf(PROV_RSA_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:662,1
    - Dst: rsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 666
    functionName: rsa_verify_recover_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - rsa_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_verify_recover_init(void *vprsactx, void *vrsa, const
      OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:850,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:858,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:865,1
    - Dst: rsa_setup_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:859,1
    - Dst: rsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:853,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:870,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 5
    argNames:
    - vprsactx
    - mdname
    - vrsa
    - params
    - operation
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 879
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 879
    functionName: rsa_digest_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - rsa_signverify_init
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_strcasecmp
    - rsa_setup_md
    - EVP_DigestInit_ex2
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_digest_signverify_init(void *vprsactx, const char *mdname,
      void *vrsa, const OSSL_PARAM params[], int operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:896,1
    - Dst: rsa_digest_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - vprsactx
    - mdname
    - vrsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 900
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 900
    functionName: rsa_digest_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - rsa_digest_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_digest_sign_init(void *vprsactx, const char *mdname,
      void *vrsa, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:933,1
    - Dst: rsa_digest_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - vprsactx
    - mdname
    - vrsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 937
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 937
    functionName: rsa_digest_verify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - rsa_digest_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_digest_verify_init(void *vprsactx, const char *mdname,
      void *vrsa, const OSSL_PARAM params[]) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1043,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1060,1
    - Dst: rsa_generate_signature_aid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1050,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1052,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1056,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1076,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1079,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1087,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1088,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1091,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1092,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1098,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1125,1
    - Dst: BIO_snprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1115,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1095,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 65
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1131
    functionName: rsa_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    - BIO_snprintf
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - rsa_generate_signature_aid
    linkageType: ''
    returnType: int
    signature: 'static int rsa_get_ctx_params(void *vprsactx, OSSL_PARAM *params) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1396
    functionName: rsa_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_settable_ctx_params(void *vprsactx, ossl_unused
      void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1436
    functionName: rsa_settable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_settable_ctx_md_params(void *vprsactx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:128,1
    - Dst: rsa_pss_restricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:134,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:140,1
    - Dst: RSA_X931_hash_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:133,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:142,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:143,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 4
    argNames:
    - prsactx
    - mdname
    - mgf1_mdname
    - mdnid
    argTypes:
    - PROV_RSA_CTX*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: rsa_check_padding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_X931_hash_id
    - ERR_raise
    - rsa_pss_restricted
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: 'static int rsa_check_padding(const PROV_RSA_CTX *prsactx, const char
      *mdname, const char *mgf1_mdname, int mdnid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:501,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: free_tbuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - clean_tbuf
    linkageType: ''
    returnType: void
    signature: 'static void free_tbuf(PROV_RSA_CTX *ctx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:678,1
    - Dst: setup_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:689,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:691,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:694,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:682,1
    - Dst: RSA_X931_hash_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:698,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:699,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:702,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:703,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:705,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:717,1
    - Dst: ossl_rsa_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:725,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:736,1
    - Dst: RSA_public_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:741,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:728,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:744,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:712,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 6
    argNames:
    - vprsactx
    - rout
    - routlen
    - routsize
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 750
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 750
    functionName: rsa_verify_recover
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - RSA_size
    - memcpy
    - setup_tbuf
    - EVP_MD_get_size
    - RSA_X931_hash_id
    - ERR_raise_data
    - RSA_public_decrypt
    - ossl_rsa_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_verify_recover(void *vprsactx, unsigned char *rout,
      size_t *routlen, size_t routsize, const unsigned char *sig, size_t siglen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 1406
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1406
    functionName: rsa_get_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: 'static int rsa_get_ctx_md_params(void *vprsactx, OSSL_PARAM *params) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:160,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:164,1
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - prsactx
    - min_saltlen
    argTypes:
    - PROV_RSA_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: rsa_check_parameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - RSA_size
    - ERR_raise
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: 'static int rsa_check_parameters(PROV_RSA_CTX *prsactx, int min_saltlen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:508,1
    - Dst: rsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: rsa_sign_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - rsa_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_sign_init(void *vprsactx, void *vrsa, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:755,1
    - Dst: rsa_signverify_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: rsa_verify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - rsa_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_verify_init(void *vprsactx, void *vrsa, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1146
    functionName: rsa_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_gettable_ctx_params(ossl_unused void
      *vprsactx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1416
    functionName: rsa_gettable_ctx_md_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_gettable_ctx_md_params(void *vprsactx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:177,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:182,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:184,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:183,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:180,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 195
    functionName: rsa_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_newctx(void *provctx, const char *propq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:356,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:365,1
    - Dst: rsa_check_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:363,1
    - Dst: ossl_digest_rsa_sign_get_md_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:362,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:357,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:367,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:370,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:372,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:374,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - PROV_RSA_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 383
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 383
    functionName: rsa_setup_mgf1_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - OPENSSL_strlcpy
    - ossl_digest_rsa_sign_get_md_nid
    - ERR_raise_data
    - rsa_check_padding
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int rsa_setup_mgf1_md(PROV_RSA_CTX *ctx, const char *mdname,
      const char *mdprops) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:946,1
    - Dst: rsa_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:962,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:959,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - vprsactx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 963
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 963
    functionName: rsa_digest_verify_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - EVP_DigestFinal_ex
    - rsa_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'int rsa_digest_verify_final(void *vprsactx, const unsigned char *sig,
      size_t siglen) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1174,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1191,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1238,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1258,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1289,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1304,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1309,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1326,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1329,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1333,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1338,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1185,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1202,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1248,1
    - Dst: rsa_pss_restricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1293,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1270,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1297,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1344,1
    - Dst: rsa_check_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1364,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1167,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1170,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1179,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1245,1
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1277,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1266,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1272,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1303,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1274,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1255,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1315,1
    - Dst: rsa_setup_mgf1_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1357,1
    - Dst: rsa_setup_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:1361,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 124
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 1368
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1368
    functionName: rsa_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_test_flags
    - ERR_raise
    - rsa_pss_restricted
    - strcmp
    - OSSL_PARAM_get_int
    - EVP_MD_get_size
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - ERR_raise_data
    - atoi
    - rsa_setup_md
    - rsa_check_padding
    - rsa_setup_mgf1_md
    linkageType: ''
    returnType: int
    signature: 'static int rsa_set_ctx_params(void *vprsactx, const OSSL_PARAM params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:202,1
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:205,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:204,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:204,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:209,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    constantsTouched: []
    func_position:
      end: 218
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 218
    functionName: rsa_pss_compute_saltlen
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - RSA_size
    - EVP_MD_get_size
    - ERR_raise_data
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: 'static int rsa_pss_compute_saltlen(PROV_RSA_CTX *ctx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:426,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:449,1
    - Dst: rsa_check_parameters
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:465,1
    - Dst: ossl_rsa_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:399,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:404,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:394,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:446,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:436,1
    - Dst: rsa_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:476,1
    - Dst: rsa_setup_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:464,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:390,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:402,1
    - Dst: OPENSSL_strlcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:453,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:472,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:414,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:423,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:425,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:427,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:433,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:441,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:428,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:432,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:456,1
    - Dst: rsa_setup_mgf1_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:463,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 4
    argNames:
    - vprsactx
    - vrsa
    - params
    - operation
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 480
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 480
    functionName: rsa_signverify_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_up_ref
    - RSA_test_flags
    - ERR_raise
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_oaeppss_nid2name
    - rsa_setup_mgf1_md
    - OPENSSL_strlcpy
    - rsa_check_parameters
    - ERR_raise_data
    - rsa_set_ctx_params
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_rsa_pss_params_30_hashalg
    - rsa_setup_md
    - ossl_rsa_check_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_signverify_init(void *vprsactx, void *vrsa, const OSSL_PARAM
      params[], int operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:972,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:973,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:974,1
    - Dst: free_tbuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:976,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:975,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:977,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 980
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 980
    functionName: rsa_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: []
    functionsReached:
    - RSA_free
    - EVP_MD_CTX_free
    - OPENSSL_free
    - OPENSSL_clear_free
    - EVP_MD_free
    - free_tbuf
    linkageType: ''
    returnType: void
    signature: 'static void rsa_freectx(void *vprsactx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:101,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: kdf_tls1_prf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_tls1_prf_new(void *provctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:170,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:176,1
    - Dst: ossl_prov_macctx_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:180,1
    - Dst: ossl_prov_macctx_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:177,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:175,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:185,1
    - Dst: ossl_prov_macctx_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:186,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:193,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:194,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:196,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:201,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:208,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:200,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 216
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 216
    functionName: kdf_tls1_prf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - ossl_prov_macctx_load_from_params
    - EVP_MAC_CTX_free
    - OPENSSL_strcasecmp
    - OSSL_PARAM_locate_const
    - OPENSSL_clear_free
    - PROV_LIBCTX_OF
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int kdf_tls1_prf_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:127,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:131,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:130,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:128,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: kdf_tls1_prf_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - OPENSSL_cleanse
    - memset
    - EVP_MAC_CTX_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_tls1_prf_reset(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:235,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: kdf_tls1_prf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kdf_tls1_prf_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:144,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:152,1
    - Dst: kdf_tls1_prf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:148,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:156,1
    - Dst: tls1_prf_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 164
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 164
    functionName: kdf_tls1_prf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - kdf_tls1_prf_set_ctx_params
    - ERR_raise
    - tls1_prf_alg
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_tls1_prf_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_tls1_prf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:117,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: kdf_tls1_prf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - kdf_tls1_prf_reset
    linkageType: ''
    returnType: void
    signature: 'static void kdf_tls1_prf_free(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:222,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:225,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:223,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: kdf_tls1_prf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_tls1_prf_settable_ctx_params( ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: kdf_tls1_prf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_tls1_prf_gettable_ctx_params( ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:297,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:303,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:311,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:299,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:306,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:313,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:317,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:320,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:324,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:328,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:332,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:346,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:347,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:337,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:334,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:348,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:339,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 47
    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
    constantsTouched: []
    func_position:
      end: 350
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 350
    functionName: tls1_prf_P_hash
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - EVP_MAC_final
    - EVP_MAC_update
    - memcpy
    - EVP_MAC_CTX_dup
    - EVP_MAC_CTX_free
    - OPENSSL_cleanse
    - EVP_MAC_init
    - EVP_MAC_CTX_get_mac_size
    linkageType: ''
    returnType: int
    signature: 'static int tls1_prf_P_hash(EVP_MAC_CTX *ctx_init, const unsigned char
      *sec, size_t sec_len, const unsigned char *seed, size_t seed_len, unsigned char
      *out, size_t olen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls1_prf_P_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:385,1
    - Dst: tls1_prf_P_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:394,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:390,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:389,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:396,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:401,1
    - Dst: tls1_prf_P_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c:406,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    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
    constantsTouched: []
    func_position:
      end: 410
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 410
    functionName: tls1_prf_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - tls1_prf_P_hash
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int tls1_prf_alg(EVP_MAC_CTX *mdctx, EVP_MAC_CTX *sha1ctx,
      const unsigned char *sec, size_t slen, const unsigned char *seed, size_t seed_len,
      unsigned char *out, size_t olen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:59,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:67,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:61,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:66,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:65,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:68,1
    - Dst: EVP_MD_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:70,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:74,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:79,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:81,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:83,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:90,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:87,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:91,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    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
    constantsTouched: []
    func_position:
      end: 93
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 93
    functionName: kdf_pbkdf1_do_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcpy
    - OPENSSL_cleanse
    - EVP_MD_size
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf1_do_derive(const unsigned char *pass, size_t
      passlen, const unsigned char *salt, size_t saltlen, uint64_t iter, const EVP_MD
      *md_type, unsigned char *out, size_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf1_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:124,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: kdf_pbkdf1_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - kdf_pbkdf1_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pbkdf1_free(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:99,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:102,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: kdf_pbkdf1_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_pbkdf1_new(void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:147,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:151,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: kdf_pbkdf1_set_membuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf1_set_membuf(unsigned char **buffer, size_t *buflen,
      const OSSL_PARAM *p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:185,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:190,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:194,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:187,1
    - Dst: kdf_pbkdf1_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:191,1
    - Dst: kdf_pbkdf1_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:195,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:198,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: kdf_pbkdf1_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_load_from_params
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_locate_const
    - kdf_pbkdf1_set_membuf
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf1_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:222,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: kdf_pbkdf1_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf1_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:113,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:114,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:116,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PBKDF1*
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: kdf_pbkdf1_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - OPENSSL_free
    - memset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pbkdf1_cleanup(KDF_PBKDF1 *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf1_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: kdf_pbkdf1_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - kdf_pbkdf1_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pbkdf1_reset(void *vctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:163,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:172,1
    - Dst: kdf_pbkdf1_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:163,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:176,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:167,1
    - Dst: kdf_pbkdf1_do_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 179
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 179
    functionName: kdf_pbkdf1_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_prov_digest_md
    - kdf_pbkdf1_do_derive
    - kdf_pbkdf1_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf1_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:208,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:210,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:209,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:211,1
    - Dst: OSSL_PARAM_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: kdf_pbkdf1_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_uint64
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_pbkdf1_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: kdf_pbkdf1_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_pbkdf1_gettable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:56,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:59,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: kdf_sshkdf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_sshkdf_new(void *provctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:104,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:107,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:109,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:113,1
    - Dst: kdf_sshkdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:104,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:117,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:125,1
    - Dst: SSHKDF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: kdf_sshkdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - SSHKDF
    - ossl_prov_digest_md
    - kdf_sshkdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_sshkdf_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:81,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:82,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:83,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:84,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: kdf_sshkdf_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - memset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_sshkdf_reset(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:182,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:184,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:185,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:183,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:186,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: kdf_sshkdf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_sshkdf_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: kdf_sshkdf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_sshkdf_gettable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_sshkdf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:71,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: kdf_sshkdf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - kdf_sshkdf_reset
    linkageType: ''
    returnType: void
    signature: 'static void kdf_sshkdf_free(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:92,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dst_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: sshkdf_set_membuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int sshkdf_set_membuf(unsigned char **dst, size_t *dst_len,
      const OSSL_PARAM *p) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:138,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:150,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:143,1
    - Dst: sshkdf_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:147,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:146,1
    - Dst: sshkdf_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:152,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:155,1
    - Dst: sshkdf_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:157,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:160,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:170,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 176
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 176
    functionName: kdf_sshkdf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_load_from_params
    - ERR_raise
    - sshkdf_set_membuf
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PARAM_locate_const
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int kdf_sshkdf_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:197,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: kdf_sshkdf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kdf_sshkdf_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:238,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:248,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:251,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:242,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:245,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:254,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:257,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:261,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:266,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:270,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:273,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:279,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:297,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:286,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:276,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:282,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:291,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c:298,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 47
    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
    constantsTouched: []
    func_position:
      end: 300
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 300
    functionName: SSHKDF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcpy
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: 'static int SSHKDF(const EVP_MD *evp_md, const unsigned char *key,
      size_t key_len, const unsigned char *xcghash, size_t xcghash_len, const unsigned
      char *session_id, size_t session_id_len, char type, unsigned char *okey, size_t
      okey_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pkcs12_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:166,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: kdf_pkcs12_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - kdf_pkcs12_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pkcs12_free(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:146,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: kdf_pkcs12_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_pkcs12_new(void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:183,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:193,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:188,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: pkcs12kdf_set_membuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12kdf_set_membuf(unsigned char **buffer, size_t *buflen,
      const OSSL_PARAM *p) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:227,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:232,1
    - Dst: pkcs12kdf_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:236,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:235,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:239,1
    - Dst: pkcs12kdf_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:240,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:243,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:244,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:247,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 251
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 251
    functionName: kdf_pkcs12_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - pkcs12kdf_set_membuf
    - ossl_prov_digest_load_from_params
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pkcs12_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:272,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: kdf_pkcs12_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pkcs12_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pkcs12_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: kdf_pkcs12_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - kdf_pkcs12_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pkcs12_reset(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:155,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:157,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:158,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PKCS12*
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: kdf_pkcs12_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - OPENSSL_free
    - memset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pkcs12_cleanup(KDF_PKCS12 *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:205,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:218,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:209,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:214,1
    - Dst: kdf_pkcs12_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:205,1
    - Dst: pkcs12kdf_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: kdf_pkcs12_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - pkcs12kdf_derive
    - kdf_pkcs12_set_ctx_params
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pkcs12_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:257,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:260,1
    - Dst: OSSL_PARAM_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:261,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:259,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:258,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: kdf_pkcs12_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_uint64
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_pkcs12_settable_ctx_params( ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: kdf_pkcs12_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_pkcs12_gettable_ctx_params( ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:83,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:105,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:131,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:59,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:72,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:73,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:81,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:101,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:61,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:67,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:95,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:96,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:102,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:100,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:129,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:133,1
    - Dst: EVP_MD_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:64,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:65,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:74,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:94,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:97,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c:132,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 112
    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
    constantsTouched: []
    func_position:
      end: 135
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 135
    functionName: pkcs12kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_get_block_size
    - memcpy
    - OPENSSL_free
    - EVP_MD_get_size
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int pkcs12kdf_derive(const unsigned char *pass, size_t passlen,
      const unsigned char *salt, size_t saltlen, int id, uint64_t iter, const EVP_MD
      *md_type, unsigned char *out, size_t n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:69,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:72,1
    - Dst: kdf_pbkdf2_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:78,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: kdf_pbkdf2_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - kdf_pbkdf2_init
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_pbkdf2_new(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf2_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:95,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: kdf_pbkdf2_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - kdf_pbkdf2_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pbkdf2_free(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:113,1
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:119,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:115,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PBKDF2*
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: kdf_pbkdf2_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - OSSL_PARAM_construct_utf8_string
    - ossl_prov_digest_load_from_params
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pbkdf2_init(KDF_PBKDF2 *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:149,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:158,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:153,1
    - Dst: kdf_pbkdf2_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:149,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:162,1
    - Dst: pbkdf2_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: kdf_pbkdf2_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - pbkdf2_derive
    - kdf_pbkdf2_set_ctx_params
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf2_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:219,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:220,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:222,1
    - Dst: OSSL_PARAM_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:223,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:221,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 228
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 228
    functionName: kdf_pbkdf2_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_uint64
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_pbkdf2_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: kdf_pbkdf2_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_pbkdf2_gettable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:84,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:85,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:86,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PBKDF2*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: kdf_pbkdf2_cleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - OPENSSL_free
    - memset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pbkdf2_cleanup(KDF_PBKDF2 *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf2_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:105,1
    - Dst: kdf_pbkdf2_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: kdf_pbkdf2_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - kdf_pbkdf2_init
    - kdf_pbkdf2_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void kdf_pbkdf2_reset(void *vctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:127,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:133,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: pbkdf2_set_membuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int pbkdf2_set_membuf(unsigned char **buffer, size_t *buflen,
      const OSSL_PARAM *p) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:172,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:183,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:182,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:188,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:179,1
    - Dst: pbkdf2_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:189,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:192,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:195,1
    - Dst: pbkdf2_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:198,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:202,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:203,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:207,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: kdf_pbkdf2_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_load_from_params
    - ERR_raise
    - OSSL_PARAM_get_uint64
    - pbkdf2_set_membuf
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf2_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:234,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: kdf_pbkdf2_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kdf_pbkdf2_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:285,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:308,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:304,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:300,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:294,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:313,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:318,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:320,1
    - Dst: HMAC_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:336,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:338,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:339,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:360,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:342,1
    - Dst: HMAC_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:344,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:347,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:359,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:346,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c:340,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 73
    argCount: 9
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - digest
    - key
    - keylen
    - lower_bound_checks
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - int
    - uint64_t
    - EVP_MD*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 362
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 362
    functionName: pbkdf2_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - HMAC_CTX_copy
    - HMAC_CTX_new
    - HMAC_Update
    - memcpy
    - EVP_MD_get_size
    - HMAC_Init_ex
    - HMAC_Final
    - HMAC_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int pbkdf2_derive(const char *pass, size_t passlen, const unsigned
      char *salt, int saltlen, uint64_t iter, const EVP_MD *digest, unsigned char
      *key, size_t keylen, int lower_bound_checks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:102,1
    - Dst: ossl_DER_w_octet_string_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:104,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:107,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:109,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pkt
    - der_oid
    - der_oidlen
    - pcounter
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: DER_w_keyinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_end_sequence
    - WPACKET_get_curr
    - ossl_DER_w_precompiled
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_octet_string_uint32
    linkageType: ''
    returnType: int
    signature: 'static int DER_w_keyinfo(WPACKET *pkt, const unsigned char *der_oid,
      size_t der_oidlen, unsigned char **pcounter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: der_encode_sharedinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:218,1
    - Dst: der_encode_sharedinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:231,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:227,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:223,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:225,1
    - Dst: WPACKET_get_curr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:241,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:259,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 28
    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**
    constantsTouched: []
    func_position:
      end: 261
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 261
    functionName: x942_encode_otherinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - WPACKET_get_curr
    - OPENSSL_zalloc
    - der_encode_sharedinfo
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int x942_encode_otherinfo(size_t keylen, const unsigned char
      *cek_oid, size_t cek_oid_len, const unsigned char *acvp, size_t acvp_len, const
      unsigned char *partyu, size_t partyu_len, const unsigned char *partyv, size_t
      partyv_len, const unsigned char *supp_pub, size_t supp_pub_len, const unsigned
      char *supp_priv, size_t supp_priv_len, unsigned char **der, size_t *der_len,
      unsigned char **out_ctr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:333,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:337,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: x942kdf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *x942kdf_new(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x942kdf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:367,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 370
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionName: x942kdf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - x942kdf_reset
    linkageType: ''
    returnType: void
    signature: 'static void x942kdf_free(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:386,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:389,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_X942*
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: x942kdf_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - ERR_raise
    - ossl_prov_digest_md
    linkageType: ''
    returnType: size_t
    signature: 'static size_t x942kdf_size(KDF_X942 *ctx) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:487,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:494,1
    - Dst: x942kdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:496,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:515,1
    - Dst: x942kdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:501,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:520,1
    - Dst: x942kdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:484,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:483,1
    - Dst: x942kdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:517,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:508,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:472,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:492,1
    - Dst: x942kdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:510,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:505,1
    - Dst: find_alg_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:531,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:481,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:478,1
    - Dst: x942kdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:489,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:504,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:499,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:524,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 68
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 538
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 538
    functionName: x942kdf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - x942kdf_set_buffer
    - ossl_prov_digest_load_from_params
    - find_alg_id
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int x942kdf_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:566,1
    - Dst: x942kdf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:567,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: x942kdf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    - x942kdf_size
    linkageType: ''
    returnType: int
    signature: 'static int x942kdf_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:82,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:94,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:92,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:85,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - libctx
    - algname
    - propq
    - id
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: find_alg_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_free
    - EVP_CIPHER_is_a
    - OSSL_NELEM
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: int
    signature: 'static int find_alg_id(OSSL_LIB_CTX *libctx, const char *algname,
      const char *propq, size_t *id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:279,1
    - Dst: EVP_MD_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:289,1
    - Dst: EVP_MD_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:288,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:283,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:293,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:303,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:304,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:305,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:308,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:315,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:324,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:317,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:323,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:325,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    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
    constantsTouched: []
    func_position:
      end: 327
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 327
    functionName: x942kdf_hash_kdm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - EVP_MD_CTX_free
    - memcpy
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - EVP_MD_CTX_create
    - EVP_DigestFinal_ex
    - EVP_DigestInit
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: int
    signature: 'static int x942kdf_hash_kdm(const EVP_MD *kdf_md, const unsigned char
      *z, size_t z_len, const unsigned char *other, size_t other_len, unsigned char
      *ctr, unsigned char *derived_key, size_t derived_key_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:121,1
    - Dst: WPACKET_init_null_der
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:122,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:123,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:125,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:127,1
    - Dst: ossl_DER_w_octet_string_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:129,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:130,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:131,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:132,1
    - Dst: DER_w_keyinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:133,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:135,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:134,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 36
    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**
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: der_encode_sharedinfo
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_end_sequence
    - DER_w_keyinfo
    - ossl_DER_w_precompiled
    - WPACKET_init_der
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_octet_string_uint32
    - WPACKET_finish
    - ossl_DER_w_octet_string
    - WPACKET_init_null_der
    linkageType: ''
    returnType: int
    signature: 'static int der_encode_sharedinfo(WPACKET *pkt, unsigned char *buf,
      size_t buflen, const unsigned char *der_oid, size_t der_oidlen, const unsigned
      char *acvp, size_t acvplen, const unsigned char *partyu, size_t partyulen, const
      unsigned char *partyv, size_t partyvlen, const unsigned char *supp_pub, size_t
      supp_publen, const unsigned char *supp_priv, size_t supp_privlen, uint32_t keylen_bits,
      unsigned char **pcounter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:350,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:353,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:354,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:352,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:351,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:355,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:356,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: x942kdf_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - memset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void x942kdf_reset(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:378,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - out
    - out_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 381
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 381
    functionName: x942kdf_set_buffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int x942kdf_set_buffer(unsigned char **out, size_t *out_len,
      const OSSL_PARAM *p) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:406,1
    - Dst: x942kdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:406,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:414,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:430,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:433,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:435,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:439,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:447,1
    - Dst: x942_encode_otherinfo
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:451,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:459,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:464,1
    - Dst: x942kdf_hash_kdm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:462,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 466
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 466
    functionName: x942kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - x942_encode_otherinfo
    - OPENSSL_free
    - ossl_prov_digest_md
    - x942kdf_set_ctx_params
    - x942kdf_hash_kdm
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int x942kdf_derive(void *vctx, unsigned char *key, size_t keylen,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:544,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:547,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:548,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:545,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:546,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:549,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:550,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:551,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:552,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:553,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:555,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 559
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 559
    functionName: x942kdf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *x942kdf_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 579
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 579
    functionName: x942kdf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *x942kdf_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - host
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: be32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t be32(uint32_t host) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:115,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:113,1
    - Dst: init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: kbkdf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - init
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kbkdf_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:139,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:143,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:140,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:141,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:142,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:144,1
    - Dst: init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: kbkdf_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - memset
    - EVP_MAC_CTX_free
    - init
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kbkdf_reset(void *vctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:238,1
    - Dst: kbkdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:220,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:227,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:232,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:242,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:246,1
    - Dst: be32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:251,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:253,1
    - Dst: derive
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:257,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:263,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:262,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 265
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 265
    functionName: kbkdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - derive
    - kbkdf_set_ctx_params
    - OPENSSL_cleanse
    - OPENSSL_zalloc
    - OPENSSL_clear_free
    - EVP_MAC_CTX_get_mac_size
    - be32
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kbkdf_derive(void *vctx, unsigned char *key, size_t keylen,
      const OSSL_PARAM params[]) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:299,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:301,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:319,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:323,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:315,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:327,1
    - Dst: ossl_prov_macctx_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:287,1
    - Dst: EVP_MAC_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:293,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:293,1
    - Dst: kbkdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:316,1
    - Dst: kbkdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:324,1
    - Dst: kbkdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:320,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:332,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:281,1
    - Dst: EVP_MAC_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:291,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:291,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:295,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:311,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:307,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:331,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:337,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:304,1
    - Dst: kbkdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:312,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:328,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 340
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 340
    functionName: kbkdf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - EVP_MAC_is_a
    - OPENSSL_strncasecmp
    - ERR_raise
    - EVP_MAC_CTX_get0_mac
    - ossl_prov_macctx_load_from_params
    - kbkdf_set_buffer
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - EVP_MAC_init
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int kbkdf_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:366,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: kbkdf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kbkdf_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KBKDF*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void init(KBKDF *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kbkdf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:129,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: kbkdf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - kbkdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void kbkdf_free(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:273,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - out
    - out_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: kbkdf_set_buffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int kbkdf_set_buffer(unsigned char **out, size_t *out_len,
      const OSSL_PARAM *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:346,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:347,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:348,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:349,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:350,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:351,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:352,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:353,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:354,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:355,1
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 360
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 360
    functionName: kbkdf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_int
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kbkdf_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: kbkdf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kbkdf_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:175,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:180,1
    - Dst: be32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:178,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:185,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:188,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:189,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:190,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:191,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:192,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:193,1
    - Dst: ossl_min
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:197,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:201,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:207,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c:197,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 14
    argNames:
    - ctx_init
    - mode
    - iv
    - iv_len
    - label
    - label_len
    - context
    - context_len
    - k_i
    - h
    - l
    - has_separator
    - ko
    - ko_len
    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
    constantsTouched: []
    func_position:
      end: 209
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 209
    functionName: derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: []
    functionsReached:
    - EVP_MAC_update
    - memcpy
    - EVP_MAC_CTX_dup
    - EVP_MAC_CTX_free
    - EVP_MAC_final
    - ossl_min
    - be32
    linkageType: ''
    returnType: int
    signature: 'static int derive(EVP_MAC_CTX *ctx_init, kbkdf_mode mode, unsigned
      char *iv, size_t iv_len, unsigned char *label, size_t label_len, unsigned char
      *context, size_t context_len, unsigned char *k_i, size_t h, uint32_t l, int
      has_separator, unsigned char *ko, size_t ko_len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:152,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:155,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:158,1
    - Dst: kdf_hkdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:155,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:160,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:164,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:168,1
    - Dst: HKDF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:175,1
    - Dst: HKDF_Extract
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:179,1
    - Dst: HKDF_Expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:183,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 186
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 186
    functionName: kdf_hkdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - HKDF_Extract
    - ERR_raise
    - HKDF
    - HKDF_Expand
    - ossl_prov_digest_md
    - PROV_LIBCTX_OF
    - kdf_hkdf_set_ctx_params
    linkageType: ''
    returnType: int
    signature: 'static int kdf_hkdf_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: kdf_hkdf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_hkdf_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:356,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: kdf_hkdf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_hkdf_gettable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:523,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:539,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:536,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:548,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:551,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:555,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:558,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:561,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:568,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:575,1
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:576,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    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
    constantsTouched: []
    func_position:
      end: 578
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 578
    functionName: HKDF_Expand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_new
    - HMAC_Update
    - memcpy
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - HMAC_Init_ex
    - HMAC_Final
    - HMAC_CTX_free
    linkageType: ''
    returnType: int
    signature: 'static int HKDF_Expand(const EVP_MD *evp_md, const unsigned char *prk,
      size_t prk_len, const unsigned char *info, size_t info_len, unsigned char *okm,
      size_t okm_len) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:190,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:200,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:202,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:204,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:197,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:206,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:209,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:216,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:221,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:229,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:236,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:234,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:238,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:226,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:227,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - KDF_HKDF*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 245
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 245
    functionName: hkdf_common_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_load_from_params
    - ERR_raise
    - OPENSSL_free
    - OSSL_PARAM_get_int
    - OPENSSL_strcasecmp
    - OSSL_PARAM_locate_const
    - OPENSSL_clear_free
    - PROV_LIBCTX_OF
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int hkdf_common_set_ctx_params(KDF_HKDF *ctx, const OSSL_PARAM
      params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:335,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:342,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:340,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:347,1
    - Dst: kdf_hkdf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 350
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 350
    functionName: kdf_hkdf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_octet_string
    - kdf_hkdf_size
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kdf_hkdf_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_null
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:258,1
    - Dst: WPACKET_init_static_len
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:261,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:273,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:265,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:270,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:274,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:278,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - p
    - out
    - outlen
    argTypes:
    - OSSL_PARAM*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 280
    functionName: setinfo_fromparams
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - WPACKET_cleanup
    - WPACKET_memcpy
    - WPACKET_init_null
    - WPACKET_init_static_len
    - OSSL_PARAM_locate_const
    - WPACKET_finish
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int setinfo_fromparams(const OSSL_PARAM *p, unsigned char *out,
      size_t *outlen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_common_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:732,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:741,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:740,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:736,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:743,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:748,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:749,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:751,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:756,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:758,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:759,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 763
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 763
    functionName: kdf_tls1_3_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - hkdf_common_set_ctx_params
    - OPENSSL_free
    - OSSL_PARAM_locate_const
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int kdf_tls1_3_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:644,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:663,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:664,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:665,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:658,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:668,1
    - Dst: prov_tls13_hkdf_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:671,1
    - Dst: HKDF_Extract
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:679,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:683,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    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
    constantsTouched: []
    func_position:
      end: 685
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 685
    functionName: prov_tls13_hkdf_generate_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - HKDF_Extract
    - EVP_MD_CTX_free
    - EVP_MD_CTX_new
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - prov_tls13_hkdf_expand
    linkageType: ''
    returnType: int
    signature: 'static int prov_tls13_hkdf_generate_secret(OSSL_LIB_CTX *libctx, const
      EVP_MD *md, const unsigned char *prevsecret, size_t prevsecretlen, const unsigned
      char *insecret, size_t insecretlen, const unsigned char *prefix, size_t prefixlen,
      const unsigned char *label, size_t labellen, unsigned char *out, size_t outlen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_common_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:290,1
    - Dst: setinfo_fromparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:298,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:294,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:303,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:308,1
    - Dst: setinfo_fromparams
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:313,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 317
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 317
    functionName: kdf_hkdf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - hkdf_common_set_ctx_params
    - setinfo_fromparams
    - OSSL_PARAM_locate_const
    - OPENSSL_clear_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'static int kdf_hkdf_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:693,1
    - Dst: prov_tls13_hkdf_generate_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:707,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:696,1
    - Dst: kdf_tls1_3_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:693,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:698,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:707,1
    - Dst: prov_tls13_hkdf_expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:716,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 722
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 722
    functionName: kdf_tls1_3_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - prov_tls13_hkdf_expand
    - kdf_tls1_3_set_ctx_params
    - ossl_prov_digest_md
    - prov_tls13_hkdf_generate_secret
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_tls1_3_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:770,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:771,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: kdf_tls1_3_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_tls1_3_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:93,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:96,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: kdf_hkdf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_hkdf_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:118,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:122,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:121,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:120,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:119,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:123,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:124,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: kdf_hkdf_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - OPENSSL_free
    - memset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_hkdf_reset(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_hkdf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:108,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: kdf_hkdf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - kdf_hkdf_reset
    linkageType: ''
    returnType: void
    signature: 'static void kdf_hkdf_free(void *vctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:132,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:141,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_HKDF*
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: kdf_hkdf_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - ERR_raise
    - ossl_prov_digest_md
    linkageType: ''
    returnType: size_t
    signature: 'static size_t kdf_hkdf_size(KDF_HKDF *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:458,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:468,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:469,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:463,1
    - Dst: EVP_Q_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    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
    constantsTouched: []
    func_position:
      end: 471
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 471
    functionName: HKDF_Extract
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - ERR_raise
    - EVP_MD_get0_name
    - EVP_Q_mac
    linkageType: ''
    returnType: int
    signature: 'static int HKDF_Extract(OSSL_LIB_CTX *libctx, const EVP_MD *evp_md,
      const unsigned char *salt, size_t salt_len, const unsigned char *ikm, size_t
      ikm_len, unsigned char *prk, size_t prk_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:412,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:424,1
    - Dst: HKDF_Expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:423,1
    - Dst: HKDF_Extract
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    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
    constantsTouched: []
    func_position:
      end: 427
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 427
    functionName: HKDF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - HKDF_Extract
    - HKDF_Expand
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: 'static int HKDF(OSSL_LIB_CTX *libctx, const EVP_MD *evp_md, const
      unsigned char *salt, size_t salt_len, const unsigned char *ikm, size_t ikm_len,
      const unsigned char *info, size_t info_len, unsigned char *okm, size_t okm_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_static_len
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:609,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:611,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:610,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:613,1
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:612,1
    - Dst: WPACKET_close
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:614,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:615,1
    - Dst: WPACKET_get_total_written
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:616,1
    - Dst: WPACKET_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:617,1
    - Dst: WPACKET_cleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:618,1
    - Dst: HKDF_Expand
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c:622,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    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
    constantsTouched: []
    func_position:
      end: 624
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 624
    functionName: prov_tls13_hkdf_expand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: []
    functionsReached:
    - WPACKET_close
    - WPACKET_sub_memcpy_u8
    - WPACKET_cleanup
    - WPACKET_memcpy
    - HKDF_Expand
    - WPACKET_init_static_len
    - WPACKET_put_bytes_u16
    - WPACKET_finish
    - WPACKET_start_sub_packet_u8
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: 'static int prov_tls13_hkdf_expand(const EVP_MD *md, const unsigned
      char *key, size_t keylen, const unsigned char *prefix, size_t prefixlen, const
      unsigned char *label, size_t labellen, const unsigned char *data, size_t datalen,
      unsigned char *out, size_t outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SCRYPT*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: kdf_scrypt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void kdf_scrypt_init(KDF_SCRYPT *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:81,1
    - Dst: kdf_scrypt_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:80,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: kdf_scrypt_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - OPENSSL_free
    - kdf_scrypt_reset
    linkageType: ''
    returnType: void
    signature: 'static void kdf_scrypt_free(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:127,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:128,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:131,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SCRYPT*
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: set_digest
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_MD_free
    - ERR_raise
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: 'static int set_digest(KDF_SCRYPT *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:156,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:160,1
    - Dst: set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:169,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:165,1
    - Dst: kdf_scrypt_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:156,1
    - Dst: scrypt_alg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 176
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 176
    functionName: kdf_scrypt_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - scrypt_alg
    - kdf_scrypt_set_ctx_params
    - set_digest
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kdf_scrypt_derive(void *vctx, unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:192,1
    - Dst: scrypt_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:193,1
    - Dst: scrypt_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:197,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:200,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:196,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:202,1
    - Dst: is_power_of_two
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:204,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:209,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:211,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:216,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:223,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:225,1
    - Dst: set_property_query
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:233,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:230,1
    - Dst: set_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:234,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:218,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 238
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 238
    functionName: kdf_scrypt_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - is_power_of_two
    - OSSL_PARAM_get_uint64
    - scrypt_set_membuf
    - OSSL_PARAM_locate_const
    - set_property_query
    - set_digest
    linkageType: ''
    returnType: int
    signature: 'static int kdf_scrypt_set_ctx_params(void *vctx, const OSSL_PARAM
      params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:260,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: kdf_scrypt_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int kdf_scrypt_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:299,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:301,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:304,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:308,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:310,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:313,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:306,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:312,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:315,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:317,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:323,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:316,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:322,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:332,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:295,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:300,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:298,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:302,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:303,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:305,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:311,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:314,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:307,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:309,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:321,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:327,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:320,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:328,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:297,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:318,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:324,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:326,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:319,1
    - Dst: R
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 106
    argCount: 1
    argNames:
    - inout
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 333
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 333
    functionName: salsa208_word_specification
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - R
    - memcpy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'static void salsa208_word_specification(uint32_t inout[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scryptBlockMix
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:367,1
    - Dst: scryptBlockMix
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:369,1
    - Dst: scryptBlockMix
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 6
    argNames:
    - B
    - r
    - N
    - X
    - T
    - V
    argTypes:
    - unsigned char*
    - uint64_t
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 387
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 387
    functionName: scryptROMix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - scryptBlockMix
    linkageType: ''
    returnType: void
    signature: 'static void scryptROMix(unsigned char *B, uint64_t r, uint64_t N,
      uint32_t *X, uint32_t *T, uint32_t *V) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:60,1
    - Dst: kdf_scrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:69,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:65,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:68,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: kdf_scrypt_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - kdf_scrypt_init
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kdf_scrypt_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:89,1
    - Dst: kdf_scrypt_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:91,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: kdf_scrypt_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - kdf_scrypt_init
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void kdf_scrypt_reset(void *vctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:109,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:114,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:119,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: scrypt_set_membuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int scrypt_set_membuf(unsigned char **buffer, size_t *buflen,
      const OSSL_PARAM *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:139,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:144,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - KDF_SCRYPT*
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: set_property_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int set_property_query(KDF_SCRYPT *ctx, const char *propq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: is_power_of_two
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int is_power_of_two(uint64_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:244,1
    - Dst: OSSL_PARAM_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:248,1
    - Dst: OSSL_PARAM_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:247,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:245,1
    - Dst: OSSL_PARAM_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:246,1
    - Dst: OSSL_PARAM_uint64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:249,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: kdf_scrypt_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_uint64
    - OSSL_PARAM_utf8_string
    - OSSL_PARAM_uint32
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_scrypt_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: kdf_scrypt_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kdf_scrypt_gettable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:340,1
    - Dst: salsa208_word_specification
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:345,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:348,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - B_
    - B
    - r
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 349
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 349
    functionName: scryptBlockMix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - salsa208_word_specification
    - memcpy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'static void scryptBlockMix(uint32_t *B_, uint32_t *B, uint64_t r) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:426,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:437,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:472,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:465,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:455,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:481,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:489,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:491,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:497,1
    - Dst: scryptROMix
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:502,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:512,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:510,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c:504,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    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*
    constantsTouched: []
    func_position:
      end: 514
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 514
    functionName: scrypt_alg
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_pkcs5_pbkdf2_hmac_ex
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - scryptROMix
    linkageType: ''
    returnType: int
    signature: 'static int scrypt_alg(const char *pass, size_t passlen, const unsigned
      char *salt, size_t saltlen, uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
      unsigned char *key, size_t keylen, EVP_MD *sha256, OSSL_LIB_CTX *libctx, const
      char *propq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:111,1
    - Dst: EVP_MD_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:117,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:130,1
    - Dst: EVP_DigestInit
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:121,1
    - Dst: EVP_MD_CTX_create
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:116,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:131,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:132,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:133,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:134,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:137,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:153,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:154,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:146,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:152,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:144,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 62
    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
    constantsTouched: []
    func_position:
      end: 156
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 156
    functionName: SSKDF_hash_kdm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - memcpy
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - EVP_MD_CTX_create
    - EVP_DigestFinal_ex
    - EVP_DigestInit
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: int
    signature: 'static int SSKDF_hash_kdm(const EVP_MD *kdf_md, const unsigned char
      *z, size_t z_len, const unsigned char *info, size_t info_len, unsigned int append_ctr,
      unsigned char *derived_key, size_t derived_key_len) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: kmac_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:232,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:254,1
    - Dst: EVP_MAC_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:238,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:252,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:241,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:255,1
    - Dst: EVP_MAC_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:256,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:259,1
    - Dst: EVP_MAC_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:266,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:268,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:271,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:277,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:279,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:281,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 63
    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
    constantsTouched: []
    func_position:
      end: 283
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 283
    functionName: SSKDF_mac_kdm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - EVP_MAC_final
    - EVP_MAC_update
    - memcpy
    - kmac_init
    - EVP_MAC_CTX_dup
    - EVP_MAC_CTX_free
    - OPENSSL_cleanse
    - EVP_MAC_init
    - OPENSSL_clear_free
    - EVP_MAC_CTX_get_mac_size
    linkageType: ''
    returnType: int
    signature: 'static int SSKDF_mac_kdm(EVP_MAC_CTX *ctx_init, const unsigned char
      *kmac_custom, size_t kmac_custom_len, size_t kmac_out_len, const unsigned char
      *salt, size_t salt_len, const unsigned char *z, size_t z_len, const unsigned
      char *info, size_t info_len, unsigned char *derived_key, size_t derived_key_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:289,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:293,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: sskdf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *sskdf_new(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sskdf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:317,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: sskdf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - sskdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void sskdf_free(void *vctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:340,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:345,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SSKDF*
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: sskdf_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_size
    - ERR_raise
    - ossl_prov_digest_md
    linkageType: ''
    returnType: size_t
    signature: 'static size_t sskdf_size(KDF_SSKDF *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:424,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:433,1
    - Dst: sskdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:424,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:428,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:438,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:440,1
    - Dst: SSKDF_hash_kdm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 446
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 446
    functionName: x963kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - ossl_prov_digest_md
    - sskdf_set_ctx_params
    - SSKDF_hash_kdm
    linkageType: ''
    returnType: int
    signature: 'static int x963kdf_derive(void *vctx, unsigned char *key, size_t keylen,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:499,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:502,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:503,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:501,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:500,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:504,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:505,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 510
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 510
    functionName: sskdf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_size_t
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sskdf_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: sskdf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sskdf_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:303,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:306,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:305,1
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:304,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:307,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: sskdf_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - memset
    - EVP_MAC_CTX_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void sskdf_reset(void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:327,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - out
    - out_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: sskdf_set_buffer
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int sskdf_set_buffer(unsigned char **out, size_t *out_len,
      const OSSL_PARAM *p) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:355,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:358,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:361,1
    - Dst: sskdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:355,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:369,1
    - Dst: EVP_MAC_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:371,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:374,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:377,1
    - Dst: EVP_MAC_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:384,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:389,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:410,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:396,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:394,1
    - Dst: SSKDF_mac_kdm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:401,1
    - Dst: SSKDF_hash_kdm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:413,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 416
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 416
    functionName: sskdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - EVP_MAC_is_a
    - ERR_raise
    - EVP_MAC_CTX_get0_mac
    - OPENSSL_zalloc
    - EVP_MD_get_size
    - SSKDF_hash_kdm
    - ossl_prov_digest_md
    - SSKDF_mac_kdm
    - sskdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int sskdf_derive(void *vctx, unsigned char *key, size_t keylen,
      const OSSL_PARAM params[]) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:452,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:462,1
    - Dst: ossl_prov_macctx_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:458,1
    - Dst: EVP_MAC_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:462,1
    - Dst: EVP_MAC_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:464,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:464,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:470,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:473,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:474,1
    - Dst: sskdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:475,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:482,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:486,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:478,1
    - Dst: sskdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:483,1
    - Dst: sskdf_set_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:479,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:488,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 493
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 493
    functionName: sskdf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - EVP_MAC_is_a
    - ossl_prov_digest_load_from_params
    - sskdf_set_buffer
    - EVP_MAC_CTX_get0_mac
    - ossl_prov_macctx_load_from_params
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_locate_const
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: 'static int sskdf_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:517,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:518,1
    - Dst: sskdf_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 520
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 520
    functionName: sskdf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    - sskdf_size
    linkageType: ''
    returnType: int
    signature: 'static int sskdf_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:168,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:190,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:172,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:187,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:170,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c:198,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    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**
    constantsTouched: []
    func_position:
      end: 203
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 203
    functionName: kmac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OPENSSL_zalloc
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - EVP_MAC_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'static int kmac_init(EVP_MAC_CTX *ctx, const unsigned char *custom,
      size_t custom_len, size_t kmac_out_len, size_t derived_key_len, unsigned char
      **out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: krb5kdf_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:78,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: krb5kdf_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - krb5kdf_reset
    linkageType: ''
    returnType: void
    signature: 'static void krb5kdf_free(void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:98,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dst_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: krb5kdf_set_membuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: 'static int krb5kdf_set_membuf(unsigned char **dst, size_t *dst_len,
      const OSSL_PARAM *p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:137,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:149,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:145,1
    - Dst: ossl_prov_cipher_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:142,1
    - Dst: krb5kdf_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:146,1
    - Dst: krb5kdf_set_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: krb5kdf_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - krb5kdf_set_membuf
    - PROV_LIBCTX_OF
    - ossl_prov_cipher_load_from_params
    linkageType: ''
    returnType: int
    signature: 'static int krb5kdf_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cipher_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:177,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:183,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:179,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: krb5kdf_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ossl_prov_cipher_cipher
    - EVP_CIPHER_get_key_length
    linkageType: ''
    returnType: int
    signature: 'static int krb5kdf_get_ctx_params(void *vctx, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:271,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 4
    argNames:
    - block
    - blocksize
    - constant
    - constant_len
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 323
    functionName: n_fold
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void n_fold(unsigned char *block, unsigned int blocksize, const
      unsigned char *constant, size_t constant_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:62,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:65,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: krb5kdf_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *krb5kdf_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cipher_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:88,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:90,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:91,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: krb5kdf_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - memset
    - ossl_prov_cipher_reset
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void krb5kdf_reset(void *vctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:116,1
    - Dst: krb5kdf_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:111,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:120,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:114,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:124,1
    - Dst: ossl_prov_cipher_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:127,1
    - Dst: KRB5KDF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: krb5kdf_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - krb5kdf_set_ctx_params
    - ossl_prov_cipher_cipher
    - ossl_prov_cipher_engine
    - KRB5KDF
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int krb5kdf_derive(void *vctx, unsigned char *key, size_t keylen,
      const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:161,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:162,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:163,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: krb5kdf_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *krb5kdf_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: krb5kdf_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *krb5kdf_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:331,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:337,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:346,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - cipher
    - engine
    - key
    - key_len
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 352
    functionName: cipher_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_set_key_length
    - EVP_CIPHER_CTX_get_key_length
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_set_padding
    linkageType: ''
    returnType: int
    signature: 'static int cipher_init(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
      ENGINE *engine, const unsigned char *key, size_t key_len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:374,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:386,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:379,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:395,1
    - Dst: cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:390,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:398,1
    - Dst: n_fold
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:403,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:410,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:415,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:419,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:431,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:450,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:463,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:427,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:462,1
    - Dst: cipher_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:434,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:453,1
    - Dst: fixup_des3_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:451,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 80
    argCount: 8
    argNames:
    - cipher
    - engine
    - key
    - key_len
    - constant
    - constant_len
    - okey
    - okey_len
    argTypes:
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 465
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 465
    functionName: KRB5KDF
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - ERR_raise
    - fixup_des3_key
    - EVP_CIPHER_CTX_get_block_size
    - memcpy
    - EVP_CIPHER_CTX_free
    - EVP_EncryptFinal_ex
    - OPENSSL_cleanse
    - EVP_CIPHER_get_nid
    - EVP_CIPHER_CTX_new
    - cipher_init
    - EVP_EncryptUpdate
    - n_fold
    linkageType: ''
    returnType: int
    signature: 'static int KRB5KDF(const EVP_CIPHER *cipher, ENGINE *engine, const
      unsigned char *key, size_t key_len, const unsigned char *constant, size_t constant_len,
      unsigned char *okey, size_t okey_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:227,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:235,1
    - Dst: DES_set_odd_parity
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:231,1
    - Dst: CRYPTO_memcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: fixup_des3_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: []
    functionsReached:
    - DES_set_odd_parity
    - CRYPTO_memcmp
    - memmove
    linkageType: ''
    returnType: int
    signature: 'static int fixup_des3_key(unsigned char *key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:45,1
    - Dst: BLAKE2_PARAM_INIT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:50,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - unused_provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: blake2_mac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - BLAKE2_PARAM_INIT
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *blake2_mac_new(void *unused_provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:93,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:96,1
    - Dst: BLAKE2_PARAM_SET_KEY_LENGTH
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:100,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct blake2_mac_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: blake2_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - BLAKE2_PARAM_SET_KEY_LENGTH
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int blake2_setkey(struct blake2_mac_data_st *macctx, const
      unsigned char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:77,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: blake2_mac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'static void blake2_mac_free(void *vmacctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLAKE2_UPDATE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: blake2_mac_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - BLAKE2_UPDATE
    linkageType: ''
    returnType: int
    signature: 'static int blake2_mac_update(void *vmacctx, const unsigned char *data,
      size_t datalen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:161,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:165,1
    - Dst: blake2_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:162,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:162,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: blake2_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    - blake2_mac_size
    linkageType: ''
    returnType: int
    signature: 'static int blake2_get_ctx_params(void *vmacctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: blake2_mac_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *blake2_mac_settable_ctx_params( ossl_unused
      void *ctx, ossl_unused void *p_ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:61,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: blake2_mac_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *blake2_mac_dup(void *vsrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: blake2_mac_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t blake2_mac_size(void *vmacctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:109,1
    - Dst: blake2_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:112,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:116,1
    - Dst: BLAKE2_INIT_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:119,1
    - Dst: blake2_mac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: blake2_mac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - blake2_setkey
    - ERR_raise
    - blake2_mac_set_ctx_params
    - BLAKE2_INIT_KEY
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int blake2_mac_init(void *vmacctx, const unsigned char *key,
      size_t keylen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:139,1
    - Dst: BLAKE2_FINAL
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:143,1
    - Dst: blake2_mac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: blake2_mac_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - BLAKE2_FINAL
    - blake2_mac_size
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int blake2_mac_final(void *vmacctx, unsigned char *out, size_t
      *outl, size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: blake2_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *blake2_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:196,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:199,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:208,1
    - Dst: BLAKE2_PARAM_SET_DIGEST_LENGTH
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:205,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:202,1
    - Dst: blake2_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:209,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:219,1
    - Dst: BLAKE2_PARAM_SET_PERSONAL
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:222,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:225,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:231,1
    - Dst: BLAKE2_PARAM_SET_SALT
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c:234,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 237
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 237
    functionName: blake2_mac_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: []
    functionsReached:
    - blake2_setkey
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - BLAKE2_PARAM_SET_SALT
    - BLAKE2_PARAM_SET_DIGEST_LENGTH
    - BLAKE2_PARAM_SET_PERSONAL
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int blake2_mac_set_ctx_params(void *vmacctx, const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct siphash_data_st*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: crounds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int crounds(struct siphash_data_st *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:77,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: siphash_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *siphash_dup(void *vsrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:59,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: siphash_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *siphash_new(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:101,1
    - Dst: crounds
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:101,1
    - Dst: drounds
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - struct siphash_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: siphash_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - drounds
    - crounds
    - SipHash_Init
    linkageType: ''
    returnType: int
    signature: 'static int siphash_setkey(struct siphash_data_st *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: siphash_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - SipHash_Update
    linkageType: ''
    returnType: int
    signature: 'static int siphash_update(void *vmacctx, const unsigned char *data,
      size_t datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:154,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:156,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: siphash_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_size_t
    - OSSL_PARAM_uint
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *siphash_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:184,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:187,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:186,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: siphash_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_size_t
    - OSSL_PARAM_uint
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *siphash_settable_ctx_params(ossl_unused void
      *ctx, void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct siphash_data_st*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: drounds
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int drounds(struct siphash_data_st *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: siphash_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void siphash_free(void *vmacctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: siphash_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - SipHash_hash_size
    linkageType: ''
    returnType: size_t
    signature: 'static size_t siphash_size(void *vmacctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:112,1
    - Dst: siphash_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:122,1
    - Dst: siphash_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: siphash_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - siphash_setkey
    - siphash_set_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int siphash_init(void *vmacctx, const unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: siphash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:141,1
    - Dst: SipHash_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:147,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: siphash_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - SipHash_Final
    - siphash_size
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int siphash_final(void *vmacctx, unsigned char *out, size_t
      *outl, size_t outsize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:168,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:172,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:171,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:169,1
    - Dst: siphash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:169,1
    - Dst: crounds
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:172,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:174,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:175,1
    - Dst: drounds
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: siphash_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - siphash_size
    - drounds
    - OSSL_PARAM_set_uint
    - crounds
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int siphash_get_ctx_params(void *vmacctx, OSSL_PARAM params[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:203,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:206,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:204,1
    - Dst: SipHash_set_hash_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:205,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:209,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:210,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:212,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:213,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:215,1
    - Dst: siphash_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c:217,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 220
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 220
    functionName: siphash_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: []
    functionsReached:
    - SipHash_set_hash_size
    - OSSL_PARAM_get_size_t
    - siphash_setkey
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: 'static int siphash_set_params(void *vmacctx, const OSSL_PARAM *params) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:47,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: poly1305_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *poly1305_new(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:84,1
    - Dst: Poly1305_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - struct poly1305_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: poly1305_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - Poly1305_Init
    linkageType: ''
    returnType: int
    signature: 'static int poly1305_setkey(struct poly1305_data_st *ctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:65,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: poly1305_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *poly1305_dup(void *vsrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Poly1305_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: poly1305_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - Poly1305_Update
    linkageType: ''
    returnType: int
    signature: 'static int poly1305_update(void *vmacctx, const unsigned char *data,
      size_t datalen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:146,1
    - Dst: poly1305_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:147,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: poly1305_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - poly1305_size
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int poly1305_get_params(OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: poly1305_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *poly1305_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: poly1305_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t poly1305_size(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: poly1305_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void poly1305_free(void *vmacctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:98,1
    - Dst: poly1305_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:98,1
    - Dst: poly1305_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: poly1305_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - poly1305_setkey
    - poly1305_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int poly1305_init(void *vmacctx, const unsigned char *key,
      size_t keylen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:125,1
    - Dst: Poly1305_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:128,1
    - Dst: poly1305_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: poly1305_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - poly1305_size
    - Poly1305_Final
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int poly1305_final(void *vmacctx, unsigned char *out, size_t
      *outl, size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: poly1305_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *poly1305_gettable_params(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:167,1
    - Dst: poly1305_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: poly1305_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - poly1305_setkey
    linkageType: ''
    returnType: int
    signature: 'static int poly1305_set_ctx_params(void *vmacctx, const OSSL_PARAM
      *params) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:165,1
    - Dst: kmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:170,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:169,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: kmac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_new
    - kmac_free
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: struct kmac_data_st*
    signature: 'static struct kmac_data_st *kmac_new(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:244,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:248,1
    - Dst: kmac_bytepad_encode_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:255,1
    - Dst: EVP_MD_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:245,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - kctx
    - key
    - keylen
    argTypes:
    - struct kmac_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: kmac_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_MD_get_block_size
    - ERR_raise
    - kmac_bytepad_encode_key
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: 'static int kmac_setkey(struct kmac_data_st *kctx, const unsigned char
      *key, size_t keylen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: get_encode_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int get_encode_size(size_t bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: kmac_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kmac_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:148,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:152,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:151,1
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:149,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: kmac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - ossl_prov_digest_reset
    - OPENSSL_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: 'static void kmac_free(void *vmacctx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:414,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:417,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:423,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:420,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:415,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:428,1
    - Dst: kmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:429,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:431,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:434,1
    - Dst: encode_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:437,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 442
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 442
    functionName: kmac_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - OSSL_PARAM_get_int
    - kmac_setkey
    - encode_string
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: 'static int kmac_set_ctx_params(void *vmacctx, const OSSL_PARAM *params) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:545,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:564,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:572,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:553,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:560,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 7
    argNames:
    - out
    - out_len
    - in1
    - in1_len
    - in2
    - in2_len
    - w
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 576
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 576
    functionName: bytepad
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - ossl_assert
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int bytepad(unsigned char *out, size_t *out_len, const unsigned
      char *in1, size_t in1_len, const unsigned char *in2, size_t in2_len, size_t
      w) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:283,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:308,1
    - Dst: EVP_MD_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:290,1
    - Dst: kmac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:303,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:275,1
    - Dst: kmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:279,1
    - Dst: kmac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:275,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:286,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:292,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:318,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:319,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:320,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:311,1
    - Dst: bytepad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:306,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:286,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:290,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:300,1
    - Dst: bytepad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:316,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:313,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 322
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 322
    functionName: kmac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    - EVP_MD_get_block_size
    - OPENSSL_free
    - bytepad
    - kmac_setkey
    - EVP_DigestInit_ex
    - kmac_set_ctx_params
    - ossl_prov_digest_md
    - OSSL_PARAM_octet_string
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kmac_init(void *vmacctx, const unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encode_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:471,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - out
    - out_max_len
    - out_len
    - bits
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: right_encode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - get_encode_size
    linkageType: ''
    returnType: int
    signature: 'static int right_encode(unsigned char *out, size_t out_max_len, size_t
      *out_len, size_t bits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_encode_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:508,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:512,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - out
    - out_max_len
    - out_len
    - in
    - in_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 525
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 525
    functionName: encode_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - ERR_raise
    - get_encode_size
    linkageType: ''
    returnType: int
    signature: 'static int encode_string(unsigned char *out, size_t out_max_len, size_t
      *out_len, const unsigned char *in, size_t in_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:371,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:376,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:372,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:375,1
    - Dst: EVP_MD_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:376,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: kmac_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - ossl_prov_digest_md
    - OSSL_PARAM_locate
    - EVP_MD_block_size
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int kmac_get_ctx_params(void *vmacctx, OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: encode_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:587,1
    - Dst: bytepad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:593,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:591,1
    - Dst: bytepad
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    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
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: kmac_bytepad_encode_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - bytepad
    - encode_string
    linkageType: ''
    returnType: int
    signature: 'static int kmac_bytepad_encode_key(unsigned char *out, size_t out_max_len,
      size_t *out_len, const unsigned char *in, size_t in_len, size_t w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:206,1
    - Dst: kmac_fetch_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: kmac256_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - kmac_fetch_new
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: void*
    signature: 'static void *kmac256_new(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kmac_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:179,1
    - Dst: kmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:185,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:184,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:183,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:189,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: kmac_fetch_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_load_from_params
    - kmac_new
    - kmac_free
    - EVP_MD_get_size
    - ossl_prov_digest_md
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void*
    signature: 'static void *kmac_fetch_new(void *provctx, const OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: kmac_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: 'static int kmac_update(void *vmacctx, const unsigned char *data, size_t
      datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: kmac_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *kmac_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:196,1
    - Dst: kmac_fetch_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: kmac128_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - kmac_fetch_new
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: void*
    signature: 'static void *kmac128_new(void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:218,1
    - Dst: kmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:227,1
    - Dst: kmac_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:221,1
    - Dst: ossl_prov_digest_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:226,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:225,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:235,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: kmac_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - kmac_new
    - kmac_free
    - ossl_prov_digest_copy
    - EVP_MD_CTX_copy
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *kmac_dup(void *vsrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:341,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:349,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:348,1
    - Dst: right_encode
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c:347,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 352
    functionName: kmac_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: []
    functionsReached:
    - right_encode
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int kmac_final(void *vmacctx, unsigned char *out, size_t *outl,
      size_t outsize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:54,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:59,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:57,1
    - Dst: CMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: cmac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - CMAC_CTX_new
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *cmac_new(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:112,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:113,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:115,1
    - Dst: ossl_prov_cipher_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct cmac_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: cmac_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_cipher_reset
    - CMAC_Init
    - ossl_prov_cipher_cipher
    - ossl_prov_cipher_engine
    linkageType: ''
    returnType: int
    signature: 'static int cmac_setkey(struct cmac_data_st *macctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:84,1
    - Dst: cmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:92,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:91,1
    - Dst: CMAC_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:90,1
    - Dst: cmac_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: cmac_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - CMAC_CTX_copy
    - ossl_prov_cipher_copy
    - cmac_free
    - cmac_new
    linkageType: ''
    returnType: void*
    signature: 'static void *cmac_dup(void *vsrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: cmac_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - CMAC_Update
    linkageType: ''
    returnType: int
    signature: 'static int cmac_update(void *vmacctx, const unsigned char *data, size_t
      datalen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:166,1
    - Dst: cmac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:167,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:171,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:170,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:167,1
    - Dst: cmac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: cmac_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    - cmac_size
    linkageType: ''
    returnType: int
    signature: 'static int cmac_get_ctx_params(void *vmacctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: cmac_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *cmac_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_get0_cipher_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:101,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:106,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: cmac_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - CMAC_CTX_get0_cipher_ctx
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_get_block_size
    linkageType: ''
    returnType: size_t
    signature: 'static size_t cmac_size(void *vmacctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:73,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:75,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: cmac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - ossl_prov_cipher_reset
    - CMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: 'static void cmac_free(void *vmacctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:124,1
    - Dst: cmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:127,1
    - Dst: cmac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:124,1
    - Dst: CMAC_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: cmac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - CMAC_Init
    - cmac_setkey
    - cmac_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int cmac_init(void *vmacctx, const unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:145,1
    - Dst: CMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: cmac_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - CMAC_Final
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int cmac_final(void *vmacctx, unsigned char *out, size_t *outl,
      size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: cmac_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *cmac_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:195,1
    - Dst: cmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:207,1
    - Dst: ossl_prov_cipher_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:201,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c:204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: cmac_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - PROV_LIBCTX_OF
    - ossl_prov_cipher_load_from_params
    - cmac_setkey
    linkageType: ''
    returnType: int
    signature: 'static int cmac_set_ctx_params(void *vmacctx, const OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:51,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:53,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: gmac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - EVP_CIPHER_CTX_free
    - ossl_prov_cipher_reset
    linkageType: ''
    returnType: void
    signature: 'static void gmac_free(void *vmacctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:79,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:87,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:86,1
    - Dst: gmac_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:82,1
    - Dst: gmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:88,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: gmac_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_copy
    - gmac_new
    - ossl_prov_cipher_copy
    - gmac_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *gmac_dup(void *vsrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:104,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:108,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct gmac_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: gmac_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_get_key_length
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: 'static int gmac_setkey(struct gmac_data_st *macctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:136,1
    - Dst: EVP_EncryptUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: gmac_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: 'static int gmac_update(void *vmacctx, const unsigned char *data, size_t
      datalen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:180,1
    - Dst: gmac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:181,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: gmac_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    - gmac_size
    linkageType: ''
    returnType: int
    signature: 'static int gmac_get_params(OSSL_PARAM params[]) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:206,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:217,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:217,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:214,1
    - Dst: ossl_prov_cipher_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:215,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:219,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:222,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:222,1
    - Dst: ossl_prov_cipher_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:223,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:228,1
    - Dst: gmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:230,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:233,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:239,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:237,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 243
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 243
    functionName: gmac_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_get_mode
    - ossl_prov_cipher_cipher
    - ossl_prov_cipher_engine
    - gmac_setkey
    - OSSL_PARAM_locate_const
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - PROV_LIBCTX_OF
    - ossl_prov_cipher_load_from_params
    linkageType: ''
    returnType: int
    signature: 'static int gmac_set_ctx_params(void *vmacctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: gmac_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t gmac_size(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:61,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:65,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:64,1
    - Dst: gmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: gmac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_new
    - gmac_free
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *gmac_new(void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:118,1
    - Dst: gmac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:118,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:122,1
    - Dst: gmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: gmac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_EncryptInit_ex
    - gmac_set_ctx_params
    - gmac_setkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int gmac_init(void *vmacctx, const unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:151,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:160,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:154,1
    - Dst: gmac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:157,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: gmac_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_get_params
    - EVP_EncryptFinal_ex
    - gmac_size
    - OSSL_PARAM_construct_octet_string
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int gmac_final(void *vmacctx, unsigned char *out, size_t *outl,
      size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: gmac_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *gmac_gettable_params(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: gmac_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *gmac_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:76,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:81,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:79,1
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: hmac_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - HMAC_CTX_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *hmac_new(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:143,1
    - Dst: EVP_MD_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - macctx
    argTypes:
    - struct hmac_data_st*
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: hmac_block_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - EVP_MD_block_size
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: 'static int hmac_block_size(struct hmac_data_st *macctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:107,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:117,1
    - Dst: hmac_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:109,1
    - Dst: ossl_prov_digest_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:120,1
    - Dst: HMAC_CTX_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:119,1
    - Dst: hmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:121,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:126,1
    - Dst: hmac_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:128,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:131,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: hmac_dup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    - HMAC_CTX_copy
    - memcpy
    - hmac_free
    - ossl_prov_digest_copy
    - OPENSSL_secure_malloc
    - hmac_new
    - memset
    linkageType: ''
    returnType: void*
    signature: 'static void *hmac_dup(void *vsrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:177,1
    - Dst: hmac_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:177,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:184,1
    - Dst: hmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: hmac_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - HMAC_Init_ex
    - hmac_set_ctx_params
    - hmac_setkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int hmac_init(void *vmacctx, const unsigned char *key, size_t
      keylen, const OSSL_PARAM params[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:227,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:234,1
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: hmac_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - HMAC_Final
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int hmac_final(void *vmacctx, unsigned char *out, size_t *outl,
      size_t outsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: hmac_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *hmac_gettable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:288,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - params
    - key
    - mask
    - flags
    argTypes:
    - OSSL_PARAM
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: set_flag
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: 'static int set_flag(const OSSL_PARAM params[], const char *key, int
      mask, int *flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - macctx
    argTypes:
    - struct hmac_data_st*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: hmac_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - HMAC_size
    linkageType: ''
    returnType: size_t
    signature: 'static size_t hmac_size(struct hmac_data_st *macctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:94,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:97,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:96,1
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: hmac_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_secure_clear_free
    - HMAC_CTX_free
    - OPENSSL_free
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: 'static void hmac_free(void *vmacctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:156,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:161,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:164,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:158,1
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:167,1
    - Dst: ossl_prov_digest_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct hmac_data_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: hmac_setkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    - HMAC_Init_ex
    - ossl_prov_digest_md
    - ossl_prov_digest_engine
    linkageType: ''
    returnType: int
    signature: 'static int hmac_setkey(struct hmac_data_st *macctx, const unsigned
      char *key, size_t keylen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:198,1
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:218,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:206,1
    - Dst: ssl3_cbc_digest_record
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: hmac_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - ssl3_cbc_digest_record
    - HMAC_Update
    - memcpy
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: 'static int hmac_update(void *vmacctx, const unsigned char *data, size_t
      datalen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:259,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:263,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:264,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:260,1
    - Dst: hmac_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:260,1
    - Dst: hmac_block_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: hmac_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - hmac_block_size
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - hmac_size
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: 'static int hmac_get_ctx_params(void *vmacctx, OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: hmac_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *hmac_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:308,1
    - Dst: HMAC_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:325,1
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:315,1
    - Dst: set_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:321,1
    - Dst: set_flag
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:318,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:327,1
    - Dst: hmac_setkey
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:330,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:334,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c:336,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 340
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 340
    functionName: hmac_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_load_from_params
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_locate_const
    - HMAC_CTX_set_flags
    - hmac_setkey
    - PROV_LIBCTX_OF
    - set_flag
    linkageType: ''
    returnType: int
    signature: 'static int hmac_set_ctx_params(void *vmacctx, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:83,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:85,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: rsa_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_newctx(void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: rsa_encrypt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - rsa_init
    linkageType: ''
    returnType: int
    signature: 'static int rsa_encrypt_init(void *vprsactx, void *vrsa, const OSSL_PARAM
      params[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:140,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:147,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:158,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:144,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:155,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:159,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:163,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:165,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:166,1
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:171,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:184,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:179,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:186,1
    - Dst: RSA_public_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:182,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 6
    argNames:
    - vprsactx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 194
    functionName: rsa_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    - RSA_size
    - OPENSSL_free
    - RSA_public_encrypt
    - EVP_MD_fetch
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_encrypt(void *vprsactx, unsigned char *out, size_t
      *outlen, size_t outsize, const unsigned char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:290,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:294,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:293,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:292,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: rsa_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - RSA_free
    - EVP_MD_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void rsa_freectx(void *vprsactx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:341,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:345,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:372,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:361,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:364,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:373,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:375,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:378,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:383,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:385,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:396,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:399,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:391,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:389,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:400,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:395,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 404
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 404
    functionName: rsa_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_uint
    - EVP_MD_get0_name
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_set_int
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: int
    signature: 'static int rsa_get_ctx_params(void *vprsactx, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: rsa_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_gettable_ctx_params(ossl_unused void
      *vprsactx, ossl_unused void *provctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:98,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:106,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:104,1
    - Dst: ossl_rsa_check_key
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:101,1
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:110,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:116,1
    - Dst: rsa_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:119,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - vprsactx
    - vrsa
    - params
    - operation
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: rsa_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_up_ref
    - RSA_test_flags
    - ERR_raise
    - rsa_set_ctx_params
    - ossl_rsa_check_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_init(void *vprsactx, void *vrsa, const OSSL_PARAM params[],
      int operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: rsa_decrypt_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - rsa_init
    linkageType: ''
    returnType: int
    signature: 'static int rsa_decrypt_init(void *vprsactx, void *vrsa, const OSSL_PARAM
      params[]) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:235,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:246,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:254,1
    - Dst: ossl_rsa_padding_check_PKCS1_type_2_TLS
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:272,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:268,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:212,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:236,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:278,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:252,1
    - Dst: constant_time_msb_s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:281,1
    - Dst: RSA_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:201,1
    - Dst: constant_time_select_s
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:281,1
    - Dst: constant_time_select_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:282,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:226,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:218,1
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:203,1
    - Dst: RSA_private_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:239,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:247,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:255,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:269,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:276,1
    - Dst: RSA_padding_check_PKCS1_OAEP_mgf1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:259,1
    - Dst: constant_time_msb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:282,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 6
    argNames:
    - vprsactx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 284
    functionName: rsa_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - constant_time_select_int
    - constant_time_select_s
    - RSA_size
    - OPENSSL_free
    - constant_time_msb
    - EVP_MD_fetch
    - RSA_padding_check_PKCS1_OAEP_mgf1
    - constant_time_msb_s
    - RSA_private_decrypt
    - OPENSSL_malloc
    - ossl_rsa_padding_check_PKCS1_type_2_TLS
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int rsa_decrypt(void *vprsactx, unsigned char *out, size_t
      *outlen, size_t outsize, const unsigned char *in, size_t inlen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:304,1
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:307,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:317,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:313,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:312,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:318,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:319,1
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:323,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:324,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:325,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:326,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 331
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 331
    functionName: rsa_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_up_ref
    - OPENSSL_free
    - EVP_MD_up_ref
    - OPENSSL_zalloc
    - EVP_MD_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *rsa_dupctx(void *vprsactx) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:451,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:529,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:502,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:515,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:463,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:492,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:505,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:527,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:436,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:450,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:442,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:457,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:474,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:509,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:516,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:522,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:534,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:538,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:446,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:439,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:499,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:543,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c:547,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 553
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 553
    functionName: rsa_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached:
    - strcmp
    - OPENSSL_free
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_uint
    - EVP_MD_free
    - EVP_MD_fetch
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: 'static int rsa_set_ctx_params(void *vprsactx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: rsa_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *rsa_settable_ctx_params(ossl_unused void
      *vprsactx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:62,1
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:64,1
    - Dst: sm2_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - vpsm2ctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: sm2_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - sm2_set_ctx_params
    - EC_KEY_free
    - EC_KEY_up_ref
    linkageType: ''
    returnType: int
    signature: 'static int sm2_init(void *vpsm2ctx, void *vkey, const OSSL_PARAM params[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm2_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:85,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:92,1
    - Dst: ossl_sm2_encrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:98,1
    - Dst: ossl_sm2_ciphertext_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - vpsm2ctx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: sm2_asym_encrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - ossl_sm2_encrypt
    - ERR_raise
    - sm2_get_md
    - ossl_sm2_ciphertext_size
    linkageType: ''
    returnType: int
    signature: 'static int sm2_asym_encrypt(void *vpsm2ctx, unsigned char *out, size_t
      *outlen, size_t outsize, const unsigned char *in, size_t inlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:124,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:127,1
    - Dst: ossl_prov_digest_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: sm2_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_reset
    - OPENSSL_free
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: 'static void sm2_freectx(void *vpsm2ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:163,1
    - Dst: EVP_MD_get0_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:168,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:167,1
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: sm2_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_utf8_string
    - ossl_prov_digest_md
    - OSSL_PARAM_locate
    - EVP_MD_get0_name
    linkageType: ''
    returnType: int
    signature: 'static int sm2_get_ctx_params(void *vpsm2ctx, OSSL_PARAM *params) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpsm2ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: sm2_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2_gettable_ctx_params(ossl_unused void
      *vpsm2ctx, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:49,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: sm2_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2_newctx(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:72,1
    - Dst: ossl_prov_digest_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - psm2ctx
    argTypes:
    - PROV_SM2_CTX*
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: sm2_get_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_fetch
    - ossl_prov_digest_md
    linkageType: ''
    returnType: EVP_MD*
    signature: 'static const EVP_MD *sm2_get_md(PROV_SM2_CTX *psm2ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm2_get_md
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:106,1
    - Dst: ossl_sm2_decrypt
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:117,1
    - Dst: ossl_sm2_plaintext_size
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 6
    argNames:
    - vpsm2ctx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: sm2_asym_decrypt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - sm2_get_md
    - ossl_sm2_plaintext_size
    - ossl_sm2_decrypt
    linkageType: ''
    returnType: int
    signature: 'static int sm2_asym_decrypt(void *vpsm2ctx, unsigned char *out, size_t
      *outlen, size_t outsize, const unsigned char *in, size_t inlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:135,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:143,1
    - Dst: EC_KEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:142,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:140,1
    - Dst: ossl_prov_digest_copy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:147,1
    - Dst: sm2_freectx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: sm2_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - sm2_freectx
    - OPENSSL_free
    - EC_KEY_up_ref
    - OPENSSL_zalloc
    - ossl_prov_digest_copy
    - memset
    linkageType: ''
    returnType: void*
    signature: 'static void *sm2_dupctx(void *vpsm2ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_load_from_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: sm2_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached:
    - ossl_prov_digest_load_from_params
    linkageType: ''
    returnType: int
    signature: 'static int sm2_set_ctx_params(void *vpsm2ctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - vpsm2ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: sm2_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sm2_settable_ctx_params(ossl_unused void
      *vpsm2ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: sha1_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *sha1_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha2_prov.c:52,1
    - Dst: ossl_sha1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha2_prov.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: sha1_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - ossl_sha1_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int sha1_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: md5_sha1_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/md5_sha1_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *md5_sha1_settable_ctx_params(ossl_unused
      void *ctx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/md5_sha1_prov.c:49,1
    - Dst: ossl_md5_sha1_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/md5_sha1_prov.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: md5_sha1_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/md5_sha1_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - ossl_md5_sha1_ctrl
    linkageType: ''
    returnType: int
    signature: 'static int md5_sha1_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:18,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:23,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:19,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:20,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:24,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:25,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:28,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:30,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:31,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:34,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:37,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c:36,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - params
    - blksz
    - paramsz
    - flags
    argTypes:
    - OSSL_PARAM
    - size_t
    - size_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 41
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 41
    functionName: ossl_digest_default_get_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'int ossl_digest_default_get_params(OSSL_PARAM params[], size_t blksz,
      size_t paramsz, unsigned long flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ossl_digest_default_gettable_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/digestcommon.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'const OSSL_PARAM *ossl_digest_default_gettable_params(void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: store64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void store64(uint8_t *dst, uint64_t w) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: load64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t load64(const uint8_t *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: store48
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void store48(uint8_t *dst, uint64_t w) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: load32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t load32(const uint8_t *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: store32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void store32(uint8_t *dst, uint32_t w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: load48
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t load48(const uint8_t *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint32_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: rotr32
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint32_t rotr32(const uint32_t w, const unsigned
      int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint64_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: rotr64
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline uint64_t rotr64(const uint64_t w, const unsigned
      int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - P
    - outlen
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ossl_blake2b_param_set_digest_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2b_param_set_digest_length(BLAKE2B_PARAM *P, uint8_t
      outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2B_CTX*
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: blake2b_init0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void blake2b_init0(BLAKE2B_CTX *S) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:69,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:74,1
    - Dst: load64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - S
    - P
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: blake2b_init_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - assert
    - blake2b_init0
    - load64
    linkageType: ''
    returnType: void
    signature: 'static void blake2b_init_param(BLAKE2B_CTX *S, const BLAKE2B_PARAM
      *P) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:110,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - P
    - personal
    - len
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: ossl_blake2b_param_set_personal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2b_param_set_personal(BLAKE2B_PARAM *P, const uint8_t
      *personal, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - P
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: ossl_blake2b_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - blake2b_init_param
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2b_init(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:273,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:295,1
    - Dst: blake2b_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:287,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:293,1
    - Dst: blake2b_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - c
    - data
    - datalen
    argTypes:
    - BLAKE2B_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 299
    functionName: ossl_blake2b_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - assert
    - blake2b_compress
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2b_update(BLAKE2B_CTX *c, const void *data, size_t datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - P
    - keylen
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: ossl_blake2b_param_set_key_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:117,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - P
    - salt
    - len
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: ossl_blake2b_param_set_salt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2b_param_set_salt(BLAKE2B_PARAM *P, const uint8_t *salt,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2B_CTX*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: blake2b_set_lastblock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void blake2b_set_lastblock(BLAKE2B_CTX *S) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:88,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:93,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:92,1
    - Dst: store64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:89,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - P
    argTypes:
    - BLAKE2B_PARAM*
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: ossl_blake2b_param_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - store64
    - store32
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2b_param_init(BLAKE2B_PARAM *P) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:138,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:144,1
    - Dst: ossl_blake2b_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:145,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - c
    - P
    - key
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    - void*
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: ossl_blake2b_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    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,
      const void *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:172,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:229,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:232,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:233,1
    - Dst: load64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:189,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:234,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:235,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:236,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:237,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:238,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:242,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:240,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:243,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:241,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 3
    argNames:
    - S
    - blocks
    - len
    argTypes:
    - BLAKE2B_CTX*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 254
    functionName: blake2b_compress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - ROUND
    - assert
    - load64
    linkageType: ''
    returnType: void
    signature: 'static void blake2b_compress(BLAKE2B_CTX *S, const uint8_t *blocks,
      size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_set_lastblock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:316,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:326,1
    - Dst: store64
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:323,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:318,1
    - Dst: blake2b_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:319,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:327,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - BLAKE2B_CTX*
    constantsTouched: []
    func_position:
      end: 332
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 332
    functionName: ossl_blake2b_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: []
    functionsReached:
    - blake2b_set_lastblock
    - blake2b_compress
    - store64
    - memcpy
    - OPENSSL_cleanse
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2b_final(unsigned char *md, BLAKE2B_CTX *c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:54,1
    - Dst: ossl_sha3_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - OSSL_PARAM
    argTypes:
    - void*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: keccak_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - ossl_sha3_reset
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int keccak_init(void *vctx, ossl_unused const OSSL_PARAM params[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:82,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:87,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - vctx
    - inp
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 102
    functionName: keccak_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int keccak_update(void *vctx, const unsigned char *inp, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_absorb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: generic_sha3_absorb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - SHA3_absorb
    linkageType: ''
    returnType: size_t
    signature: 'static size_t generic_sha3_absorb(void *vctx, const void *inp, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:162,1
    - Dst: s390x_klmd
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:164,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - md
    - vctx
    argTypes:
    - unsigned char*
    - void*
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: s390x_sha3_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - s390x_klmd
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int s390x_sha3_final(unsigned char *md, void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:263,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: keccak_dupctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void*
    signature: 'static void *keccak_dupctx(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: shake_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *shake_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:63,1
    - Dst: shake_set_ctx_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: keccak_init_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - shake_set_ctx_params
    - keccak_init
    linkageType: ''
    returnType: int
    signature: 'static int keccak_init_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsz
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: keccak_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int keccak_final(void *vctx, unsigned char *out, size_t *outl,
      size_t outsz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sha3_final
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - md
    - vctx
    argTypes:
    - unsigned char*
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: generic_sha3_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - ossl_sha3_final
    linkageType: ''
    returnType: int
    signature: 'static int generic_sha3_final(unsigned char *md, void *vctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:173,1
    - Dst: s390x_klmd
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - md
    - vctx
    argTypes:
    - unsigned char*
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: s390x_shake_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - s390x_klmd
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: 'static int s390x_shake_final(unsigned char *md, void *vctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: keccak_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'static void keccak_freectx(void *vctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:291,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:292,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: shake_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int shake_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_kimd
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - vctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: s390x_sha3_absorb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: []
    functionsReached:
    - s390x_kimd
    linkageType: ''
    returnType: size_t
    signature: 'static size_t s390x_sha3_absorb(void *vctx, const void *inp, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - NULLMD_CTX*
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: null_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/null_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_init(NULLMD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - NULLMD_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: null_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/null_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_update(NULLMD_CTX *ctx, const void *data, size_t datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - NULLMD_CTX*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: null_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/null_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int null_final(unsigned char *md, NULLMD_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_blake2s_param_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_prov.c:18,1
    - Dst: ossl_blake2s_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_prov.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: ossl_blake2s256_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_prov.c
    functionUses: []
    functionsReached:
    - ossl_blake2s_param_init
    - ossl_blake2s_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2s256_init(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_blake2b_param_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_prov.c:26,1
    - Dst: ossl_blake2b_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_prov.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: ossl_blake2b512_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2_prov.c
    functionUses: []
    functionsReached:
    - ossl_blake2b_init
    - ossl_blake2b_param_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2b512_init(void *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init0
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:65,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:70,1
    - Dst: load32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - S
    - P
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: blake2s_init_param
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - blake2s_init0
    - load32
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void blake2s_init_param(BLAKE2S_CTX *S, const BLAKE2S_PARAM
      *P) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2S_CTX*
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: blake2s_init0
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void blake2s_init0(BLAKE2S_CTX *S) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - P
    - outlen
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ossl_blake2s_param_set_digest_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2s_param_set_digest_length(BLAKE2S_PARAM *P, uint8_t
      outlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:104,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - P
    - personal
    - len
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: ossl_blake2s_param_set_personal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2s_param_set_personal(BLAKE2S_PARAM *P, const uint8_t
      *personal, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:131,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:137,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:139,1
    - Dst: ossl_blake2s_update
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - c
    - P
    - key
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: ossl_blake2s_init_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - blake2s_init_param
    - memcpy
    - OPENSSL_cleanse
    - ossl_blake2s_update
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2s_init_key(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P,
      const void *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:264,1
    - Dst: blake2s_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:265,1
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:284,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:286,1
    - Dst: blake2s_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - c
    - data
    - datalen
    argTypes:
    - BLAKE2S_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 290
    functionName: ossl_blake2s_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - blake2s_compress
    - assert
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2s_update(BLAKE2S_CTX *c, const void *data, size_t datalen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:83,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:87,1
    - Dst: store48
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:84,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - P
    argTypes:
    - BLAKE2S_PARAM*
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: ossl_blake2s_param_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - store32
    - memset
    - store48
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2s_param_init(BLAKE2S_PARAM *P) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - P
    - keylen
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: ossl_blake2s_param_set_key_length
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:111,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - P
    - salt
    - len
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: ossl_blake2s_param_set_salt
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ossl_blake2s_param_set_salt(BLAKE2S_PARAM *P, const uint8_t *salt,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2S_CTX*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: blake2s_set_lastblock
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: 'static ossl_inline void blake2s_set_lastblock(BLAKE2S_CTX *S) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init_param
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - c
    - P
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: ossl_blake2s_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - blake2s_init_param
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2s_init(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:165,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:225,1
    - Dst: load32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:182,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:222,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:226,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:227,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:228,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:229,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:230,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:231,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:232,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:234,1
    - Dst: ROUND
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 3
    argNames:
    - S
    - blocks
    - len
    argTypes:
    - BLAKE2S_CTX*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 245
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 245
    functionName: blake2s_compress
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - ROUND
    - load32
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void blake2s_compress(BLAKE2S_CTX *S, const uint8_t *blocks,
      size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_set_lastblock
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:307,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:309,1
    - Dst: store32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:314,1
    - Dst: blake2s_compress
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:310,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:317,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:318,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - BLAKE2S_CTX*
    constantsTouched: []
    func_position:
      end: 323
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 323
    functionName: ossl_blake2s_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    - blake2s_compress
    - blake2s_set_lastblock
    - store32
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ossl_blake2s_final(unsigned char *md, BLAKE2S_CTX *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: mdc2_settable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/mdc2_prov.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *mdc2_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/mdc2_prov.c:48,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/mdc2_prov.c:50,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/mdc2_prov.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: mdc2_set_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/implementations/digests/mdc2_prov.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int mdc2_set_ctx_params(void *vctx, const OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:177,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: bio_core_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - ossl_prov_bio_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long bio_core_ctrl(BIO *bio, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:199,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:200,1
    - Dst: ossl_prov_bio_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: bio_core_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    - BIO_get_data
    - ossl_prov_bio_free
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_free(BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:182,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: bio_core_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - ossl_prov_bio_gets
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_gets(BIO *bio, char *buf, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:209,1
    - Dst: BIO_meth_set_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:213,1
    - Dst: BIO_meth_set_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:212,1
    - Dst: BIO_meth_set_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:214,1
    - Dst: BIO_meth_set_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:211,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:215,1
    - Dst: BIO_meth_set_create
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:216,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:217,1
    - Dst: BIO_meth_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 223
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 223
    functionName: ossl_bio_prov_init_bio_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_gets
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_create
    - BIO_meth_free
    - BIO_meth_set_write_ex
    - BIO_meth_set_read_ex
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'BIO_METHOD *ossl_bio_prov_init_bio_method(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: ossl_prov_bio_write_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    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, size_t *written) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ossl_prov_bio_up_ref
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - c_bio_up_ref
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_bio_up_ref(OSSL_CORE_BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:166,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: bio_core_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - ossl_prov_bio_read_ex
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_read_ex(BIO *bio, char *data, size_t data_len,
      size_t *bytes_read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: ossl_prov_bio_gets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    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_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: ossl_prov_bio_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - c_bio_free
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_bio_free(OSSL_CORE_BIO *bio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:172,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: bio_core_write_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_bio_write_ex
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_write_ex(BIO *bio, const char *data, size_t data_len,
      size_t *written) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_BIO_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:31,1
    - Dst: OSSL_FUNC_BIO_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:39,1
    - Dst: OSSL_FUNC_BIO_write_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:43,1
    - Dst: OSSL_FUNC_BIO_new_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:35,1
    - Dst: OSSL_FUNC_BIO_gets
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:47,1
    - Dst: OSSL_FUNC_BIO_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:51,1
    - Dst: OSSL_FUNC_BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:55,1
    - Dst: OSSL_FUNC_BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:59,1
    - Dst: OSSL_FUNC_BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:63,1
    - Dst: OSSL_FUNC_BIO_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:67,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 73
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 73
    functionName: ossl_prov_bio_from_dispatch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - OSSL_FUNC_BIO_gets
    - OSSL_FUNC_BIO_up_ref
    - OSSL_FUNC_BIO_read_ex
    - OSSL_FUNC_BIO_ctrl
    - OSSL_FUNC_BIO_new_file
    - OSSL_FUNC_BIO_write_ex
    - OSSL_FUNC_BIO_free
    - OSSL_FUNC_BIO_new_membuf
    - OSSL_FUNC_BIO_vprintf
    - OSSL_FUNC_BIO_puts
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_bio_from_dispatch(const OSSL_DISPATCH *fns) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_new_membuf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - filename
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ossl_prov_bio_new_membuf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    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_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: ossl_prov_bio_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    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_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - format
    - ap
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: ossl_prov_bio_vprintf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    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: ossl_prov_bio_puts
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:187,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: bio_core_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_bio_puts
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_puts(BIO *bio, const char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_read_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: ossl_prov_bio_read_ex
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    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,
      size_t *bytes_read) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_new_file
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: ossl_prov_bio_new_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    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_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - OSSL_CORE_BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: ossl_prov_bio_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - c_bio_ctrl
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_bio_ctrl(OSSL_CORE_BIO *bio, int cmd, long num, void
      *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:152,1
    - Dst: ossl_prov_bio_vprintf
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:153,1
    - Dst: va_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - format
    - '...'
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: ossl_prov_bio_printf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - ossl_prov_bio_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_bio_printf(OSSL_CORE_BIO *bio, const char *format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: bio_core_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int bio_core_new(BIO *bio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:228,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:236,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:239,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:233,1
    - Dst: ossl_prov_bio_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - provctx
    - corebio
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_BIO*
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: ossl_bio_new_from_core_bio
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/bio_prov.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_set_data
    - ossl_prov_ctx_get0_core_bio_method
    - BIO_new
    - ossl_prov_bio_up_ref
    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/libspdm/os_stub/openssllib/openssl/providers/common/digest_to_nid.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - md
    - it
    - it_len
    argTypes:
    - EVP_MD*
    - OSSL_ITEM*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: ossl_digest_md_to_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/digest_to_nid.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/providers/common/digest_to_nid.c:55,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/digest_to_nid.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: ossl_digest_get_approved_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/digest_to_nid.c
    functionUses: []
    functionsReached:
    - ossl_digest_md_to_nid
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'int ossl_digest_get_approved_nid(const EVP_MD *md) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:29,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:35,1
    - Dst: OSSL_FUNC_get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:29,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:32,1
    - Dst: OSSL_FUNC_cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:32,1
    - Dst: OSSL_FUNC_get_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:35,1
    - Dst: set_func
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:38,1
    - Dst: OSSL_FUNC_cleanup_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 44
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 44
    functionName: ossl_prov_seeding_from_dispatch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c
    functionUses: []
    functionsReached:
    - set_func
    - OSSL_FUNC_get_entropy
    - OSSL_FUNC_cleanup_entropy
    - OSSL_FUNC_get_nonce
    - OSSL_FUNC_cleanup_nonce
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_seeding_from_dispatch(const OSSL_DISPATCH *fns) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_cleanup_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:59,1
    - Dst: ossl_prov_ctx_get0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - prov_ctx
    - buf
    - len
    argTypes:
    - PROV_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: ossl_prov_cleanup_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_get0_handle
    - c_cleanup_entropy
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_cleanup_entropy(PROV_CTX *prov_ctx, unsigned char *buf,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_cleanup_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:75,1
    - Dst: ossl_prov_ctx_get0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - prov_ctx
    - buf
    - len
    argTypes:
    - PROV_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ossl_prov_cleanup_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_get0_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: c_get_nonce
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:68,1
    - Dst: ossl_prov_ctx_get0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    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
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: ossl_prov_get_nonce
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_get0_handle
    - c_get_nonce
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_prov_get_nonce(PROV_CTX *prov_ctx, unsigned char **pout,
      size_t min_len, size_t max_len, const void *salt,size_t salt_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_get_entropy
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:51,1
    - Dst: ossl_prov_ctx_get0_handle
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - prov_ctx
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - PROV_CTX*
    - unsigned char**
    - int
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: ossl_prov_get_entropy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_seeding.c
    functionUses: []
    functionsReached:
    - ossl_prov_ctx_get0_handle
    - c_get_entropy
    linkageType: ''
    returnType: size_t
    signature: 'size_t ossl_prov_get_entropy(PROV_CTX *prov_ctx, unsigned char **pout,
      int entropy, size_t min_len, size_t max_len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_err.c:224,1
    - Dst: ERR_load_strings_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_err.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: ossl_err_load_PROV_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_err.c
    functionUses: []
    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_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ossl_prov_ctx_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_ctx_free(PROV_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - handle
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_HANDLE*
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ossl_prov_ctx_set0_handle
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_ctx_set0_handle(PROV_CTX *ctx, const OSSL_CORE_HANDLE
      *handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ossl_prov_ctx_get0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX*
    signature: 'OSSL_LIB_CTX *ossl_prov_ctx_get0_libctx(PROV_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ossl_prov_ctx_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: PROV_CTX*
    signature: 'PROV_CTX *ossl_prov_ctx_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - corebiometh
    argTypes:
    - PROV_CTX*
    - BIO_METHOD*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ossl_prov_ctx_set0_core_bio_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_ctx_set0_core_bio_method(PROV_CTX *ctx, BIO_METHOD
      *corebiometh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - libctx
    argTypes:
    - PROV_CTX*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: ossl_prov_ctx_set0_libctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_ctx_set0_libctx(PROV_CTX *ctx, OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: ossl_prov_ctx_get0_handle
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_CORE_HANDLE*
    signature: 'const OSSL_CORE_HANDLE *ossl_prov_ctx_get0_handle(PROV_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: ossl_prov_ctx_get0_core_bio_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_ctx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'BIO_METHOD *ossl_prov_ctx_get0_core_bio_method(PROV_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_security_check_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_fips.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: ossl_securitycheck_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_fips.c
    functionUses: []
    functionsReached:
    - FIPS_security_check_enabled
    linkageType: ''
    returnType: int
    signature: 'int ossl_securitycheck_enabled(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_fips.c:36,1
    - Dst: ossl_digest_get_approved_nid_with_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_fips.c:37,1
    - Dst: ossl_digest_get_approved_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_fips.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - md
    - sha1_allowed
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ossl_digest_rsa_sign_get_md_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_fips.c
    functionUses: []
    functionsReached:
    - ossl_digest_get_approved_nid
    - ossl_securitycheck_enabled
    - ossl_digest_get_approved_nid_with_sha1
    linkageType: ''
    returnType: int
    signature: 'int ossl_digest_rsa_sign_get_md_nid(OSSL_LIB_CTX *ctx, const EVP_MD
      *md, int sha1_allowed) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:251,1
    - Dst: ossl_digest_get_approved_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: ossl_digest_is_allowed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c
    functionUses: []
    functionsReached:
    - ossl_digest_get_approved_nid
    - ossl_securitycheck_enabled
    linkageType: ''
    returnType: int
    signature: 'int ossl_digest_is_allowed(OSSL_LIB_CTX *ctx, const EVP_MD *md) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:45,1
    - Dst: RSA_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:61,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:47,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:54,1
    - Dst: ossl_securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:60,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:64,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - rsa
    - operation
    argTypes:
    - OSSL_LIB_CTX*
    - RSA*
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: ossl_rsa_check_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c
    functionUses: []
    functionsReached:
    - ERR_raise_data
    - RSA_bits
    - RSA_test_flags
    - ossl_securitycheck_enabled
    linkageType: ''
    returnType: int
    signature: 'int ossl_rsa_check_key(OSSL_LIB_CTX *ctx, const RSA *rsa, int operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_get_approved_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:237,1
    - Dst: ossl_securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - md
    - sha1_allowed
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: ossl_digest_get_approved_nid_with_sha1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c
    functionUses: []
    functionsReached:
    - ossl_digest_get_approved_nid
    - ossl_securitycheck_enabled
    linkageType: ''
    returnType: int
    signature: 'int ossl_digest_get_approved_nid_with_sha1(OSSL_LIB_CTX *ctx, const
      EVP_MD *md, int sha1_allowed) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:152,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:165,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:164,1
    - Dst: DSA_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:159,1
    - Dst: DSA_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:160,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - dsa
    - sign
    argTypes:
    - OSSL_LIB_CTX*
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 191
    functionName: ossl_dsa_check_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c
    functionUses: []
    functionsReached:
    - DSA_get0_q
    - DSA_get0_p
    - BN_num_bits
    - ossl_securitycheck_enabled
    linkageType: ''
    returnType: int
    signature: 'int ossl_dsa_check_key(OSSL_LIB_CTX *ctx, const DSA *dsa, int sign) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:94,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:100,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:105,1
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:97,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:103,1
    - Dst: EC_curve_nid2nist
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:110,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:112,1
    - Dst: EC_GROUP_order_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:121,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:124,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - ec
    - protect
    argTypes:
    - OSSL_LIB_CTX*
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 140
    functionName: ossl_ec_check_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c
    functionUses: []
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - EC_GROUP_get_curve_name
    - EC_curve_nid2nist
    - ERR_raise_data
    - EC_GROUP_order_bits
    - ossl_securitycheck_enabled
    linkageType: ''
    returnType: int
    signature: 'int ossl_ec_check_key(OSSL_LIB_CTX *ctx, const EC_KEY *ec, int protect) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_securitycheck_enabled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:204,1
    - Dst: DH_get_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:221,1
    - Dst: DH_get0_q
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:212,1
    - Dst: DH_get0_p
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:211,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:216,1
    - Dst: BN_num_bits
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - dh
    argTypes:
    - OSSL_LIB_CTX*
    - DH*
    constantsTouched: []
    func_position:
      end: 231
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 231
    functionName: ossl_dh_check_key
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck.c
    functionUses: []
    functionsReached:
    - BN_num_bits
    - DH_get0_p
    - DH_get0_q
    - DH_get_nid
    - ossl_securitycheck_enabled
    linkageType: ''
    returnType: int
    signature: 'int ossl_dh_check_key(OSSL_LIB_CTX *ctx, const DH *dh) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/capabilities.c:208,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/capabilities.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: tls_group_capability
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/capabilities.c
    functionUses: []
    functionsReached:
    - OSSL_NELEM
    - cb
    linkageType: ''
    returnType: int
    signature: 'static int tls_group_capability(OSSL_CALLBACK *cb, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/capabilities.c:219,1
    - Dst: tls_group_capability
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/capabilities.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - provctx
    - capability
    - cb
    - arg
    argTypes:
    - void*
    - char*
    - OSSL_CALLBACK*
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: ossl_prov_get_capabilities
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/capabilities.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - tls_group_capability
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_get_capabilities(void *provctx, const char *capability,
      OSSL_CALLBACK *cb, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:25,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pc
    argTypes:
    - PROV_CIPHER*
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: ossl_prov_cipher_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_cipher_reset(PROV_CIPHER *pc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:56,1
    - Dst: ENGINE_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:74,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:78,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:64,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:69,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:79,1
    - Dst: ENGINE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:84,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - params
    - propquery
    - engine
    argTypes:
    - OSSL_PARAM
    - char**
    - ENGINE**
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: load_common
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - ENGINE_by_id
    - ENGINE_init
    - ENGINE_finish
    - OSSL_PARAM_locate_const
    - ENGINE_free
    linkageType: ''
    returnType: int
    signature: 'static int load_common(const OSSL_PARAM params[], const char **propquery,
      ENGINE **engine) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pc
    argTypes:
    - PROV_CIPHER*
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ossl_prov_cipher_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *ossl_prov_cipher_cipher(const PROV_CIPHER *pc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:141,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pd
    argTypes:
    - PROV_DIGEST*
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: ossl_prov_digest_reset
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_digest_reset(PROV_DIGEST *pd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:169,1
    - Dst: EVP_MD_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pd
    - libctx
    - mdname
    - propquery
    argTypes:
    - PROV_DIGEST*
    - OSSL_LIB_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: ossl_prov_digest_fetch
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *ossl_prov_digest_fetch(PROV_DIGEST *pd, OSSL_LIB_CTX
      *libctx, const char *mdname, const char *propquery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pd
    argTypes:
    - PROV_DIGEST*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: ossl_prov_digest_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *ossl_prov_digest_md(const PROV_DIGEST *pd) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:237,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:266,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:263,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:253,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:245,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:269,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:274,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:279,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:283,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:285,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 8
    argNames:
    - macctx
    - params
    - ciphername
    - mdname
    - engine
    - properties
    - key
    - keylen
    argTypes:
    - EVP_MAC_CTX*
    - OSSL_PARAM
    - char*
    - char*
    - char*
    - char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 287
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 287
    functionName: ossl_prov_set_macctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - EVP_MAC_CTX_set_params
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_set_macctx(EVP_MAC_CTX *macctx, const OSSL_PARAM params[],
      const char *ciphername, const char *mdname, const char *engine, const char *properties,
      const unsigned char *key, size_t keylen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: load_common
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:100,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:110,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:111,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:109,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:103,1
    - Dst: EVP_get_cipherbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:116,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:123,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - pc
    - params
    - ctx
    argTypes:
    - PROV_CIPHER*
    - OSSL_PARAM
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 127
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 127
    functionName: ossl_prov_cipher_load_from_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_free
    - EVP_get_cipherbyname
    - load_common
    - ERR_set_mark
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_fetch
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_cipher_load_from_params(PROV_CIPHER *pc, const OSSL_PARAM
      params[], OSSL_LIB_CTX *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:36,1
    - Dst: EVP_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:40,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:39,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER*
    - PROV_CIPHER*
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: ossl_prov_cipher_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - ENGINE_init
    - EVP_CIPHER_free
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_cipher_copy(PROV_CIPHER *dst, const PROV_CIPHER *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pc
    argTypes:
    - PROV_CIPHER*
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: ossl_prov_cipher_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ossl_prov_cipher_engine(const PROV_CIPHER *pc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:152,1
    - Dst: EVP_MD_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:156,1
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_DIGEST*
    - PROV_DIGEST*
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: ossl_prov_digest_copy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - EVP_MD_free
    - EVP_MD_up_ref
    - ENGINE_init
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_digest_copy(PROV_DIGEST *dst, const PROV_DIGEST *src) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: load_common
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:185,1
    - Dst: ossl_prov_digest_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:195,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:200,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:194,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:188,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:207,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:209,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - pd
    - params
    - ctx
    argTypes:
    - PROV_DIGEST*
    - OSSL_PARAM
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 211
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 211
    functionName: ossl_prov_digest_load_from_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ossl_prov_digest_fetch
    - EVP_get_digestbyname
    - load_common
    - ERR_set_mark
    - OSSL_PARAM_locate_const
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_digest_load_from_params(PROV_DIGEST *pd, const OSSL_PARAM
      params[], OSSL_LIB_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pd
    argTypes:
    - PROV_DIGEST*
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: ossl_prov_digest_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENGINE*
    signature: 'ENGINE *ossl_prov_digest_engine(const PROV_DIGEST *pd) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:300,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:317,1
    - Dst: EVP_MAC_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:314,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:316,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:305,1
    - Dst: EVP_MAC_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:319,1
    - Dst: ossl_prov_set_macctx
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:331,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c:335,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 6
    argNames:
    - macctx
    - params
    - macname
    - ciphername
    - mdname
    - libctx
    argTypes:
    - EVP_MAC_CTX**
    - OSSL_PARAM
    - char*
    - char*
    - char*
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 338
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 338
    functionName: ossl_prov_macctx_load_from_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached:
    - EVP_MAC_fetch
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - ossl_prov_set_macctx
    - OSSL_PARAM_locate_const
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: int
    signature: 'int ossl_prov_macctx_load_from_params(EVP_MAC_CTX **macctx, const
      OSSL_PARAM params[], const char *macname, const char *ciphername, const char
      *mdname, OSSL_LIB_CTX *libctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - OSSL_ALGORITHM_CAPABLE*
    - OSSL_ALGORITHM*
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: ossl_prov_cache_exported_algorithms
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/provider_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ossl_prov_cache_exported_algorithms(const OSSL_ALGORITHM_CAPABLE
      *in, OSSL_ALGORITHM *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ossl_securitycheck_enabled
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_default.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ossl_securitycheck_enabled(OSSL_LIB_CTX *libctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_get_approved_nid_with_sha1
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_default.c:38,1
    - Dst: ossl_digest_md_to_nid
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_default.c:40,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_default.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - md
    - sha1_allowed
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD*
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: ossl_digest_rsa_sign_get_md_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/securitycheck_default.c
    functionUses: []
    functionsReached:
    - ossl_digest_md_to_nid
    - OSSL_NELEM
    - ossl_digest_get_approved_nid_with_sha1
    linkageType: ''
    returnType: int
    signature: 'int ossl_digest_rsa_sign_get_md_nid(OSSL_LIB_CTX *ctx, const EVP_MD
      *md, ossl_unused int sha1_allowed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:249,1
    - Dst: MGF1_SHA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:259,1
    - Dst: MGF1_SHA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:257,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:250,1
    - Dst: MGF1_SHA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:258,1
    - Dst: MGF1_SHA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:260,1
    - Dst: MGF1_SHA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:261,1
    - Dst: MGF1_SHA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:262,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pkt
    - tag
    - pss
    argTypes:
    - WPACKET*
    - int
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 274
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 274
    functionName: DER_w_MaskGenAlgorithm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c
    functionUses: []
    functionsReached:
    - ossl_rsa_pss_params_30_maskgenalg
    - MGF1_SHA_CASE
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'static int DER_w_MaskGenAlgorithm(WPACKET *pkt, int tag, const RSA_PSS_PARAMS_30
      *pss) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:394,1
    - Dst: ossl_DER_w_algorithmIdentifier_RSA_PSS
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:397,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - tag
    - rsa
    argTypes:
    - WPACKET*
    - int
    - RSA*
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: ossl_DER_w_algorithmIdentifier_RSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c
    functionUses: []
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - ossl_DER_w_algorithmIdentifier_RSA_PSS
    - RSA_test_flags
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_RSA(WPACKET *pkt, int tag, RSA
      *rsa) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:376,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:384,1
    - Dst: RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:378,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:386,1
    - Dst: ossl_DER_w_RSASSA_PSS_params
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:387,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:388,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:389,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - pkt
    - tag
    - rsa_type
    - pss
    argTypes:
    - WPACKET*
    - int
    - int
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 390
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 390
    functionName: ossl_DER_w_algorithmIdentifier_RSA_PSS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c
    functionUses: []
    functionsReached:
    - RSA_CASE
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_RSASSA_PSS_params
    - ossl_rsa_pss_params_30_is_unrestricted
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_RSA_PSS(WPACKET *pkt, int tag,
      int rsa_type, const RSA_PSS_PARAMS_30 *pss) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:312,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:339,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:341,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:336,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:337,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:299,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:317,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:318,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:319,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:354,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:308,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:338,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:342,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:340,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:305,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:300,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:304,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:303,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:347,1
    - Dst: ossl_DER_w_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:349,1
    - Dst: ossl_DER_w_uint32
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:350,1
    - Dst: DER_w_MaskGenAlgorithm
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:351,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c:353,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - pkt
    - tag
    - pss
    argTypes:
    - WPACKET*
    - int
    - RSA_PSS_PARAMS_30*
    constantsTouched: []
    func_position:
      end: 355
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 355
    functionName: ossl_DER_w_RSASSA_PSS_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_end_sequence
    - ossl_rsa_pss_params_30_saltlen
    - ERR_raise
    - ossl_assert
    - DER_w_MaskGenAlgorithm
    - ossl_rsa_pss_params_30_trailerfield
    - ossl_DER_w_precompiled
    - ossl_DER_w_uint32
    - ossl_DER_w_begin_sequence
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_pss_params_30_is_unrestricted
    - OAEP_PSS_MD_CASE
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_RSASSA_PSS_params(WPACKET *pkt, int tag, const RSA_PSS_PARAMS_30
      *pss) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_key.c:16,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_key.c:21,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_key.c:19,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: ossl_DER_w_algorithmIdentifier_SM2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_SM2(WPACKET *pkt, int cont, EC_KEY
      *ec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_key.c:15,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_key.c:19,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_key.c:17,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: ossl_DER_w_algorithmIdentifier_EC
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_EC(WPACKET *pkt, int cont, EC_KEY
      *ec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:32,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:35,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:33,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:36,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:34,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:37,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:38,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:39,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:40,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:45,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:47,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pkt
    - tag
    - dsa
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - DSA*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: ossl_DER_w_algorithmIdentifier_DSA_with_MD
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_sig.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - MD_CASE
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_DSA_with_MD(WPACKET *pkt, int tag,
      DSA *dsa, int mdnid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:33,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:35,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:37,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:34,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:36,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:38,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:39,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:40,1
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:41,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:46,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:49,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pkt
    - cont
    - ec
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: ossl_DER_w_algorithmIdentifier_ECDSA_with_MD
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ec_sig.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - MD_CASE
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_ECDSA_with_MD(WPACKET *pkt, int
      cont, EC_KEY *ec, int mdnid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:40,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:42,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:53,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:50,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:54,1
    - Dst: ossl_DER_w_null
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:68,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:71,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:43,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:44,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:46,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:47,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:55,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:70,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:51,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:41,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:48,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:49,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:66,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:56,1
    - Dst: MD_with_RSA_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pkt
    - tag
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_rsa_sig.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_end_sequence
    - ossl_DER_w_null
    - MD_with_RSA_CASE
    - ossl_DER_w_precompiled
    - ossl_DER_w_begin_sequence
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption(WPACKET *pkt,
      int tag, int mdnid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_sig.c:29,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_sig.c:37,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_sig.c:36,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_sig.c:34,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - pkt
    - cont
    - ec
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: ossl_DER_w_algorithmIdentifier_SM2_with_MD
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_sm2_sig.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - MD_CASE
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_SM2_with_MD(WPACKET *pkt, int cont,
      EC_KEY *ec, int mdnid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_key.c:21,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_key.c:23,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_key.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - tag
    - dsa
    argTypes:
    - WPACKET*
    - int
    - DSA*
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: ossl_DER_w_algorithmIdentifier_DSA
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_dsa_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    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/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:15,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:17,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:19,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: ossl_DER_w_algorithmIdentifier_X25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    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/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:24,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:28,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:26,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: ossl_DER_w_algorithmIdentifier_X448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    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/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:42,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:44,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ossl_DER_w_algorithmIdentifier_ED448
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_ED448(WPACKET *pkt, int cont, ECX_KEY
      *ec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:33,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:37,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: ossl_DER_w_algorithmIdentifier_ED25519
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/providers/common/der/der_ecx_key.c
    functionUses: []
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: 'int ossl_DER_w_algorithmIdentifier_ED25519(WPACKET *pkt, int cont,
      ECX_KEY *ec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:286,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:294,1
    - Dst: ASN1_PCTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:287,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:288,1
    - Dst: ASN1_PCTX_set_str_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:291,1
    - Dst: OPENSSL_init_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:295,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:296,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - OPENSSL_init_ssl
    - CRYPTO_free_ex_index
    - ASN1_PCTX_new
    - ASN1_PCTX_set_str_flags
    - OPENSSL_init_crypto
    - ASN1_PCTX_set_flags
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:319,1
    - Dst: ASN1_item_print
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:321,1
    - Dst: ASN1_item_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:328,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:338,1
    - Dst: DO_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:337,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:347,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:352,1
    - Dst: DO_TEST_PRINT_OFFSET
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:362,1
    - Dst: DO_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:369,1
    - Dst: DO_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:364,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:358,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:344,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:319,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:322,1
    - Dst: ASN1_item_i2d
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:325,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:326,1
    - Dst: DO_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:333,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:340,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:342,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:341,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:343,1
    - Dst: DO_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:336,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:346,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:365,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:371,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:310,1
    - Dst: ASN1_item_d2i
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:311,1
    - Dst: DO_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:335,1
    - Dst: DO_TEST_PRINT_OFFSET
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:363,1
    - Dst: DO_TEST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:334,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:353,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:350,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:354,1
    - Dst: DO_TEST_PRINT_PCTX
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:368,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 374
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 374
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - BIO_s_null
    - DO_TEST_PRINT_OFFSET
    - BIO_free
    - DO_TEST
    - OPENSSL_free
    - ASN1_item_free
    - DO_TEST_PRINT_PCTX
    - ASN1_item_i2d
    - DO_TEST_NO_PRINT
    - ASN1_item_print
    - ASN1_ITEM_ptr
    - ASN1_item_d2i
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PCTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:378,1
    - Dst: FuzzerClearRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1.c
    functionUses: []
    functionsReached:
    - FuzzerClearRand
    - ASN1_PCTX_free
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:25,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:28,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:29,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:25,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - BIO_s_null
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c
    functionUses: []
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_parse_dump
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:36,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/asn1parse.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - ASN1_parse_dump
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:43,1
    - Dst: fopen
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:47,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:45,1
    - Dst: S_ISREG
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:43,1
    - Dst: fflush
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:46,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:50,1
    - Dst: fread
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:52,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:53,1
    - Dst: FuzzerTestOneInput
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:54,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:55,1
    - Dst: fclose
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:57,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: testfile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c
    functionUses: []
    functionsReached:
    - FuzzerTestOneInput
    - fflush
    - fread
    - OPENSSL_assert
    - S_ISREG
    - free
    - stat
    - malloc
    - printf
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void testfile(const char *pathname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerInitialize
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:63,1
    - Dst: malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:78,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:66,1
    - Dst: OPENSSL_DIR_read
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:75,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:81,1
    - Dst: strchr
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:83,1
    - Dst: strcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:88,1
    - Dst: testfile
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:89,1
    - Dst: OPENSSL_DIR_end
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:91,1
    - Dst: testfile
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:95,1
    - Dst: FuzzerCleanup
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:100,1
    - Dst: free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c:97,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 103
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/test-corpus.c
    functionUses: []
    functionsReached:
    - FuzzerInitialize
    - OPENSSL_DIR_end
    - strcpy
    - strchr
    - free
    - FuzzerCleanup
    - OPENSSL_DIR_read
    - malloc
    - testfile
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:17,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:19,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:18,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:28,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:30,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:30,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:32,1
    - Dst: X509_CRL_print
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:31,1
    - Dst: i2d_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:34,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:35,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:37,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c:39,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - d2i_X509_CRL
    - BIO_s_null
    - BIO_free
    - OPENSSL_free
    - X509_CRL_print
    - X509_CRL_free
    - BIO_new
    - i2d_X509_CRL
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/crl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:21,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:22,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:35,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:36,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:36,1
    - Dst: d2i_CMS_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:37,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:35,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:39,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:39,1
    - Dst: i2d_CMS_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:41,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:42,1
    - Dst: CMS_ContentInfo_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:43,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:47,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c
    functionUses: []
    functionsReached:
    - BIO_write
    - BIO_s_null
    - CMS_ContentInfo_free
    - ERR_clear_error
    - BIO_free
    - d2i_CMS_bio
    - OPENSSL_assert
    - BIO_s_mem
    - BIO_new
    - i2d_CMS_bio
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cms.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:32,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:35,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:36,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:34,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:33,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:37,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:39,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c
    functionUses: []
    functionsReached:
    - BN_CTX_new
    - ERR_clear_error
    - BN_new
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:71,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:72,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:87,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:89,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:92,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:96,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:99,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:101,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:103,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:105,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:106,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:108,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:110,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:111,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:117,1
    - Dst: BN_div
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:82,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:86,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:84,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:90,1
    - Dst: BN_mul
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:91,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:97,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:98,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:100,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:102,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:104,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:108,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:73,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:73,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:77,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:82,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:83,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:87,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:89,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:84,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:86,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:91,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:109,1
    - Dst: BN_add
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:92,1
    - Dst: puts
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:112,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:109,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:107,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:71,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:74,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:86,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:85,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:89,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:90,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:94,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:110,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:116,1
    - Dst: BN_is_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:108,1
    - Dst: printf
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:106,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 93
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 120
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c
    functionUses: []
    functionsReached:
    - puts
    - ERR_clear_error
    - BN_is_zero
    - BN_set_negative
    - OPENSSL_assert
    - BN_div
    - putchar
    - BN_is_negative
    - BN_mul
    - BN_bin2bn
    - BN_print_fp
    - printf
    - BN_add
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:124,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:128,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:125,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:126,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:127,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/bndiv.c
    functionUses: []
    functionsReached:
    - BN_free
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: fuzz_rand_freectx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'static void fuzz_rand_freectx(ossl_unused void *vrng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: fuzz_rand_uninstantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fuzz_rand_uninstantiate(ossl_unused void *vrng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: fuzz_rand_enable_locking
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fuzz_rand_enable_locking(ossl_unused void *vrng) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:98,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:100,1
    - Dst: OSSL_PARAM_uint
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - vrng
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: fuzz_rand_gettable_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_uint
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM*
    signature: 'static const OSSL_PARAM *fuzz_rand_gettable_ctx_params(ossl_unused
      void *vrng, ossl_unused void *provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:27,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: fuzz_rand_newctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *fuzz_rand_newctx( void *provctx, void *parent, const
      OSSL_DISPATCH *parent_dispatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - vrng
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - OSSL_PARAM
    argTypes:
    - ossl_unused*
    - ossl_unused unsigned
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    - ossl_unused
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: fuzz_rand_instantiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fuzz_rand_instantiate(ossl_unused void *vrng, ossl_unused
      unsigned int strength, ossl_unused int prediction_resistance, ossl_unused const
      unsigned char *pstr, ossl_unused size_t pstr_len, ossl_unused const OSSL_PARAM
      params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    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
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: fuzz_rand_generate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int fuzz_rand_generate(ossl_unused void *vdrbg, unsigned char
      *out, size_t outlen, ossl_unused unsigned int strength, ossl_unused int prediction_resistance,
      ossl_unused const unsigned char *adin, ossl_unused size_t adinlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:80,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:88,1
    - Dst: OSSL_PARAM_locate
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:84,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:81,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:85,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - vrng
    - params
    argTypes:
    - void*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: fuzz_rand_get_ctx_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: 'static int fuzz_rand_get_ctx_params(void *vrng, OSSL_PARAM params[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: fuzz_rand_query
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM*
    signature: 'static const OSSL_ALGORITHM *fuzz_rand_query(void *provctx, int operation_id,
      int *no_cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: fuzz_rand_provider_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached:
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: 'static int fuzz_rand_provider_init(const OSSL_CORE_HANDLE *handle,
      const OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:158,1
    - Dst: RAND_set_DRBG_type
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:159,1
    - Dst: exit
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:161,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: FuzzerSetRand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_try_load
    - RAND_set_DRBG_type
    - OSSL_PROVIDER_add_builtin
    - exit
    linkageType: ''
    returnType: void
    signature: 'void FuzzerSetRand(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: FuzzerClearRand
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/fuzz_rand.c
    functionUses: []
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: 'void FuzzerClearRand(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:21,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:22,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:31,1
    - Dst: SCT_LIST_print
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:34,1
    - Dst: d2i_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:31,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:33,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:33,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:35,1
    - Dst: i2d_SCT_LIST
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:37,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:40,1
    - Dst: SCT_LIST_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:42,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c:44,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c
    functionUses: []
    functionsReached:
    - i2d_SCT_LIST
    - ERR_clear_error
    - BIO_s_null
    - BIO_free
    - OPENSSL_free
    - SCT_LIST_free
    - d2i_SCT_LIST
    - STACK_OF
    - BIO_new
    - SCT_LIST_print
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/ct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:495,1
    - Dst: OPENSSL_init_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:497,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:499,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:498,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:496,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:500,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:501,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 506
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 506
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_ssl
    - CRYPTO_free_ex_index
    - sk_SSL_COMP_sort
    - OPENSSL_init_crypto
    - SSL_COMP_get_compression_methods
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c
    functionUses: []
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:551,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:552,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:617,1
    - Dst: PEM_read_bio_DSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:596,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:585,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:599,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:612,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:625,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:582,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:618,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:544,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:570,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:595,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:608,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:604,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:555,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:588,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:616,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:625,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:594,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:606,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:545,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:565,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:571,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:580,1
    - Dst: PEM_read_bio_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:584,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:607,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:577,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:607,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:643,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:649,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:650,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:553,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:564,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:579,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:587,1
    - Dst: SSLv23_method
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:541,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:583,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:620,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:609,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:606,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:543,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:541,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:557,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:601,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:619,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:589,1
    - Dst: SSL_read_early_data
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:632,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:573,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:602,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:576,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:603,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:563,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:574,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:578,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:594,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:611,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:639,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:556,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:562,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:561,1
    - Dst: PEM_read_bio_ECPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:572,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:575,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:613,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:610,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:595,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:546,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:554,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:570,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:582,1
    - Dst: ERR_print_errors_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:597,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:583,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:571,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:586,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:600,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:617,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:648,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:598,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c:618,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 152
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 653
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 653
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/server.c
    functionUses: []
    functionsReached:
    - SSL_CTX_use_certificate
    - BIO_free
    - SSL_set_accept_state
    - OPENSSL_assert
    - EVP_PKEY_free
    - SSL_CTX_use_PrivateKey
    - BIO_s_mem
    - SSL_do_handshake
    - BIO_new
    - SSL_new
    - X509_free
    - BIO_write
    - EVP_PKEY_assign_EC_KEY
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_cipher_list
    - PEM_read_bio_ECPrivateKey
    - SSL_set_bio
    - SSL_read_early_data
    - PEM_read_bio_X509
    - ERR_clear_error
    - PEM_read_bio_DSAPrivateKey
    - ERR_print_errors_fp
    - SSL_CTX_free
    - EVP_PKEY_new
    - EVP_PKEY_assign_RSA
    - SSL_free
    - EVP_PKEY_assign_DSA
    - SSL_read
    - SSL_CTX_new
    - SSLv23_method
    - d2i_X509
    - d2i_RSAPrivateKey
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:42,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:43,1
    - Dst: OPENSSL_init_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:44,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:46,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:45,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:47,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:48,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_ssl
    - CRYPTO_free_ex_index
    - sk_SSL_COMP_sort
    - OPENSSL_init_crypto
    - SSL_COMP_get_compression_methods
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c
    functionUses: []
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:74,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:75,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:76,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:79,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:84,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:98,1
    - Dst: SSL_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:99,1
    - Dst: SSL_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:66,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:74,1
    - Dst: SSL_read
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:91,1
    - Dst: SSL_set_min_proto_version
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:73,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:76,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:86,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:85,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:87,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:79,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:97,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:73,1
    - Dst: SSLv23_method
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:66,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:70,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:86,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c:81,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 102
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/client.c
    functionUses: []
    functionsReached:
    - SSL_set_bio
    - SSL_set_connect_state
    - BIO_write
    - SSL_free
    - SSL_set_cipher_list
    - BIO_free
    - SSL_read
    - ERR_clear_error
    - OPENSSL_assert
    - SSL_CTX_new
    - SSL_CTX_free
    - BIO_s_mem
    - SSL_set_min_proto_version
    - SSLv23_method
    - SSL_do_handshake
    - SSL_set_tlsext_host_name
    - BIO_new
    - SSL_new
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:19,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:22,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:20,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c
    functionUses: []
    functionsReached:
    - FuzzerSetRand
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cb(int ok, X509_STORE_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c
    functionUses: []
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: X509_print
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:58,1
    - Dst: i2d_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:63,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:64,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:84,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:90,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:99,1
    - Dst: X509_verify_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:107,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:120,1
    - Dst: X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:138,1
    - Dst: sk_X509_CRL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:142,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:136,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:53,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:49,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:59,1
    - Dst: d2i_X509_CRL
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:72,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:83,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:82,1
    - Dst: X509_STORE_set1_param
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:88,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:104,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:116,1
    - Dst: OCSP_cert_to_id
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:125,1
    - Dst: X509_STORE_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:133,1
    - Dst: OCSP_CERTID_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:139,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:43,1
    - Dst: X509_issuer_and_serial_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:61,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:77,1
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:79,1
    - Dst: X509_STORE_add_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:80,1
    - Dst: d2i_X509
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:67,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:86,1
    - Dst: sk_X509_CRL_push
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:103,1
    - Dst: OCSP_response_get1_basic
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:110,1
    - Dst: OCSP_basic_verify
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:123,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:145,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:134,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:140,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:53,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:44,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:85,1
    - Dst: X509_STORE_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:92,1
    - Dst: X509_STORE_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:96,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:121,1
    - Dst: OCSP_resp_find_status
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:128,1
    - Dst: X509_STORE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:135,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:137,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:141,1
    - Dst: sk_X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c:143,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 147
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/x509.c
    functionUses: []
    functionsReached:
    - OCSP_basic_verify
    - BIO_s_null
    - BIO_free
    - X509_VERIFY_PARAM_set_flags
    - X509_STORE_set_verify_cb
    - sk_X509_push
    - sk_X509_CRL_free
    - BIO_new
    - X509_issuer_and_serial_hash
    - STACK_OF
    - OCSP_response_get1_basic
    - X509_free
    - X509_STORE_CTX_set0_crls
    - OPENSSL_free
    - X509_verify_cert
    - X509_VERIFY_PARAM_free
    - X509_STORE_CTX_free
    - d2i_OCSP_RESPONSE
    - X509_STORE_add_cert
    - OCSP_resp_find_status
    - X509_STORE_CTX_new
    - X509_STORE_set1_param
    - X509_STORE_new
    - ERR_clear_error
    - d2i_X509_CRL
    - OCSP_cert_to_id
    - X509_CRL_free
    - i2d_X509
    - X509_STORE_free
    - OCSP_RESPONSE_free
    - sk_X509_CRL_new_null
    - X509_VERIFY_PARAM_new
    - X509_STORE_CTX_init
    - sk_X509_free
    - sk_X509_new_null
    - OCSP_CERTID_free
    - d2i_X509
    - sk_X509_CRL_push
    - X509_print
    - OCSP_BASICRESP_free
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:20,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:34,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:35,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:36,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:36,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:35,1
    - Dst: NCONF_load_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:37,1
    - Dst: NCONF_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:38,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:39,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/conf.c
    functionUses: []
    functionsReached:
    - NCONF_load_bio
    - BIO_write
    - NCONF_free
    - ERR_clear_error
    - BIO_free
    - OPENSSL_assert
    - BIO_s_mem
    - BIO_new
    - NCONF_new
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:23,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:65,1
    - Dst: BN_mod_exp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:76,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:77,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:83,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:84,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:94,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:98,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:97,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:89,1
    - Dst: BN_is_zero
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:71,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:67,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:67,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:76,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:81,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:82,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:95,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:99,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:101,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:64,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:66,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:66,1
    - Dst: BN_set_negative
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:68,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:86,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:88,1
    - Dst: putchar
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:90,1
    - Dst: BN_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:96,1
    - Dst: BN_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:100,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:87,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:41,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:44,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:43,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:45,1
    - Dst: BN_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:42,1
    - Dst: BN_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:46,1
    - Dst: BN_bin2bn
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:64,1
    - Dst: BN_mod_exp_simple
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:77,1
    - Dst: BN_cmp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:79,1
    - Dst: BN_print_fp
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 104
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c
    functionUses: []
    functionsReached:
    - ERR_clear_error
    - BN_set_negative
    - OPENSSL_assert
    - BN_is_zero
    - BN_new
    - putchar
    - BN_CTX_free
    - BN_CTX_new
    - BN_free
    - BN_bin2bn
    - BN_mod_exp_simple
    - BN_print_fp
    - BN_mod_exp
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/bignum.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: print_noop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int print_noop(const char *func, const char *file, int line,
      OSSL_CMP_severity level, const char *msg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:53,1
    - Dst: OSSL_CMP_exec_IR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:72,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:93,1
    - Dst: OSSL_CMP_exec_KUR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:79,1
    - Dst: X509_NAME_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:97,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:83,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:89,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:89,1
    - Dst: ASN1_INTEGER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:98,1
    - Dst: X509_NAME_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:52,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:59,1
    - Dst: X509_set_issuer_name
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:62,1
    - Dst: X509_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:58,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:66,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:67,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:68,1
    - Dst: OSSL_CMP_exec_P10CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:76,1
    - Dst: OSSL_CMP_exec_CR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:75,1
    - Dst: X509_set_serialNumber
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:63,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:86,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 99
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 99
    functionName: cmp_client_process_response
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_exec_GENM_ses
    - OSSL_CMP_exec_RR_ses
    - OSSL_CMP_exec_KUR_ses
    - X509_NAME_new
    - OSSL_CMP_CTX_set1_secretValue
    - X509_new
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - OSSL_CMP_CTX_set_log_cb
    - sk_OSSL_CMP_ITAV_pop_free
    - OSSL_CMP_CTX_set_transfer_cb
    - OSSL_CMP_exec_IR_ses
    - X509_set_issuer_name
    - ASN1_INTEGER_new
    - X509_set_serialNumber
    - OSSL_CMP_try_certreq
    - OSSL_CMP_exec_P10CR_ses
    - X509_NAME_free
    - OSSL_CMP_exec_CR_ses
    - ossl_cmp_msg_check_update
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: void
    signature: 'static void cmp_client_process_response(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG
      *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - srv_ctx
    - rr
    - issuer
    - serial
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - X509_NAME*
    - ASN1_INTEGER*
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: process_rr
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKISI*
    signature: 'static OSSL_CMP_PKISI *process_rr(OSSL_CMP_SRV_CTX *srv_ctx, const
      OSSL_CMP_MSG *rr, const X509_NAME *issuer, const ASN1_INTEGER *serial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: process_error
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'static void process_error(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *error, const OSSL_CMP_PKISI *statusInfo, const ASN1_INTEGER *errorCode, const
      OSSL_CMP_PKIFREETEXT *errorDetails) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - srv_ctx
    - pollReq
    - certReqId
    - certReq
    - check_after
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - int
    - OSSL_CMP_MSG**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: process_pollReq
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int process_pollReq(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *pollReq, int certReqId, OSSL_CMP_MSG **certReq, int64_t *check_after) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:21,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:24,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:23,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: FuzzerInitialize
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - FuzzerSetRand
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: 'int FuzzerInitialize(int *argc, char ***argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - rep
    - invalid_protection
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: allow_unprotected
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int allow_unprotected(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *rep, int invalid_protection, int expected_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:34,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: transfer_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_CTX_get_transfer_cb_arg
    linkageType: ''
    returnType: OSSL_CMP_MSG*
    signature: 'static OSSL_CMP_MSG *transfer_cb(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *req) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    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(X509)**
    - STACK_OF(X509)**
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: process_cert_request
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKISI*
    signature: 'static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,
      const OSSL_CMP_MSG *cert_req, int certReqId, const OSSL_CRMF_MSG *crm, const
      X509_REQ *p10cr, X509 **certOut, STACK_OF(X509) **chainOut, STACK_OF(X509) **caPubs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - srv_ctx
    - genm
    - in
    - out
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - STACK_OF(OSSL_CMP_ITAV)*
    - STACK_OF(OSSL_CMP_ITAV)**
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: process_genm
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int process_genm(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *genm, const STACK_OF(OSSL_CMP_ITAV) *in, STACK_OF(OSSL_CMP_ITAV) **out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - srv_ctx
    - certConf
    - certReqId
    - certHash
    - si
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - int
    - ASN1_OCTET_STRING*
    - OSSL_CMP_PKISI*
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: process_certConf
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int process_certConf(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *certConf, int certReqId, const ASN1_OCTET_STRING *certHash, const OSSL_CMP_PKISI
      *si) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d2i_OSSL_CMP_MSG_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:167,1
    - Dst: BIO_s_null
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:169,1
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:170,1
    - Dst: i2d_OSSL_CMP_MSG_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:173,1
    - Dst: cmp_client_process_response
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:179,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:186,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:181,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:181,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:165,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:169,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:171,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:176,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:188,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:193,1
    - Dst: OPENSSL_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:166,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:183,1
    - Dst: OSSL_CMP_SRV_process_request
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:186,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:189,1
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:165,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:166,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:175,1
    - Dst: ASN1_item_print
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:174,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:190,1
    - Dst: ERR_clear_error
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 197
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - BIO_s_null
    - i2d_OSSL_CMP_MSG_bio
    - BIO_free
    - OPENSSL_assert
    - BIO_s_mem
    - BIO_new
    - cmp_client_process_response
    - ASN1_ITEM_rptr
    - BIO_write
    - OSSL_CMP_CTX_new
    - OSSL_CMP_CTX_set_log_cb
    - OSSL_CMP_SRV_process_request
    - d2i_OSSL_CMP_MSG_bio
    - OSSL_CMP_SRV_CTX_free
    - ERR_clear_error
    - OSSL_CMP_SRV_CTX_new
    - OSSL_CMP_SRV_CTX_init
    - OSSL_CMP_CTX_free
    - ASN1_item_print
    - OSSL_CMP_MSG_free
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    linkageType: ''
    returnType: int
    signature: 'int FuzzerTestOneInput(const uint8_t *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: FuzzerCleanup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/fuzz/cmp.c
    functionUses: []
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: 'void FuzzerCleanup(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - cctx
    - name_flags
    - option_value
    - onoff
    argTypes:
    - SSL_CONF_CTX*
    - unsigned int
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 139
    functionName: ssl_set_option
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ssl_set_option(SSL_CONF_CTX *cctx, unsigned int name_flags,
      uint64_t option_value, int onoff) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:259,1
    - Dst: SSL_set_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: cmd_CipherString
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_set_cipher_list
    linkageType: ''
    returnType: int
    signature: 'static int cmd_CipherString(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: cmd_VerifyCAPath
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: 'static int cmd_VerifyCAPath(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_RequestCAPath
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: cmd_ClientCAPath
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - cmd_RequestCAPath
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ClientCAPath(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_conf_cmd_skip_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:962,1
    - Dst: ssl_conf_cmd_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 969
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 969
    functionName: SSL_CONF_cmd_value_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - ssl_conf_cmd_lookup
    - ssl_conf_cmd_skip_prefix
    linkageType: ''
    returnType: int
    signature: 'int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1039,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1043,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1046,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - cctx
    - pre
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1050
    functionName: SSL_CONF_CTX_set1_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:148,1
    - Dst: ssl_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:153,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - cctx
    - tbl
    - name
    - namelen
    - onoff
    argTypes:
    - SSL_CONF_CTX*
    - ssl_flag_tbl*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: ssl_match_option
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - strcmp
    - ssl_set_option
    linkageType: ''
    returnType: int
    signature: 'static int ssl_match_option(SSL_CONF_CTX *cctx, const ssl_flag_tbl
      *tbl, const char *name, int namelen, int onoff) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:270,1
    - Dst: SSL_set_ciphersuites
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: cmd_Ciphersuites
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_set_ciphersuites
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: 'static int cmd_Ciphersuites(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: cmd_VerifyCAFile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: 'static int cmd_VerifyCAFile(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:572,1
    - Dst: SSL_add_store_cert_subjects_to_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 576
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 576
    functionName: cmd_RequestCAStore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_add_store_cert_subjects_to_stack
    - sk_X509_NAME_new_null
    linkageType: ''
    returnType: int
    signature: 'static int cmd_RequestCAStore(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 976
    functionName: SSL_CONF_CTX_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SSL_CONF_CTX*
    signature: 'SSL_CONF_CTX *SSL_CONF_CTX_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - cctx
    - ssl
    argTypes:
    - SSL_CONF_CTX*
    - SSL*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1069
    functionName: SSL_CONF_CTX_set_ssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - cctx
    - ctx
    argTypes:
    - SSL_CONF_CTX*
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: SSL_CONF_CTX_set_ssl_ctx
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:192,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: cmd_SignatureAlgorithms
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set1_sigalgs_list
    - SSL_set1_sigalgs_list
    linkageType: ''
    returnType: int
    signature: 'static int cmd_SignatureAlgorithms(SSL_CONF_CTX *cctx, const char
      *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:235,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:239,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:236,1
    - Dst: strstr
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:243,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:247,1
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: cmd_ECDHParameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set1_groups_list
    - strcmp
    - SSL_set1_groups_list
    - OPENSSL_strcasecmp
    - strstr
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ECDHParameters(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - flags
    argTypes:
    - SSL_CONF_CTX*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1027
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1027
    functionName: SSL_CONF_CTX_set_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_RequestCAFile
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: cmd_ClientCAFile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - cmd_RequestCAFile
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ClientCAFile(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_RequestCAStore
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: cmd_ClientCAStore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - cmd_RequestCAStore
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ClientCAStore(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:852,1
    - Dst: ssl_conf_cmd_allowed
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:853,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:855,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:859,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 865
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 865
    functionName: ssl_conf_cmd_lookup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_strcasecmp
    - strcmp
    - ssl_conf_cmd_allowed
    - OSSL_NELEM
    linkageType: ''
    returnType: ssl_conf_cmd_tbl*
    signature: 'static const ssl_conf_cmd_tbl *ssl_conf_cmd_lookup(SSL_CONF_CTX *cctx,
      const char *cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:558,1
    - Dst: SSL_add_dir_cert_subjects_to_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: cmd_RequestCAPath
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_add_dir_cert_subjects_to_stack
    - sk_X509_NAME_new_null
    linkageType: ''
    returnType: int
    signature: 'static int cmd_RequestCAPath(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:592,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:592,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:599,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:604,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:595,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:605,1
    - Dst: BIO_eof
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:607,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:608,1
    - Dst: ERR_clear_last_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:611,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:614,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:628,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:624,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:629,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:620,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 631
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 631
    functionName: cmd_DHParameters
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - BIO_free
    - EVP_PKEY_free
    - BIO_s_file
    - SSL_set0_tmp_dh_pkey
    - ERR_set_mark
    - OSSL_DECODER_CTX_free
    - ERR_clear_last_mark
    - SSL_CTX_set0_tmp_dh_pkey
    - BIO_read_filename
    - BIO_eof
    - OSSL_DECODER_CTX_new_for_pkey
    - BIO_new
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: int
    signature: 'static int cmd_DHParameters(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:874,1
    - Dst: ssl_set_option
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:880,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - ssl_conf_cmd_tbl*
    constantsTouched: []
    func_position:
      end: 882
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 882
    functionName: ctrl_switch_option
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ssl_set_option
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int ctrl_switch_option(SSL_CONF_CTX *cctx, const ssl_conf_cmd_tbl
      * cmd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:323,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 329
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 329
    functionName: protocol_from_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int protocol_from_string(const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: protocol_from_string
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:342,1
    - Dst: ssl_set_version_bound
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - cctx
    - value
    - bound
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: min_max_proto
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - protocol_from_string
    - ssl_set_version_bound
    linkageType: ''
    returnType: int
    signature: 'static int min_max_proto(SSL_CONF_CTX *cctx, const char *value, int
      *bound) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_max_proto
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: cmd_MaxProtocol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - min_max_proto
    linkageType: ''
    returnType: int
    signature: 'static int cmd_MaxProtocol(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_FLAG_VFY_CLI
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:410,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:415,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:412,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:414,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:411,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:417,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:424,1
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 426
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 426
    functionName: cmd_VerifyMode
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_FLAG_VFY_SRV
    - OSSL_NELEM
    - CONF_parse_list
    - SSL_FLAG_VFY_CLI
    linkageType: ''
    returnType: int
    signature: 'static int cmd_VerifyMode(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:496,1
    - Dst: X509_STORE_load_file_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:501,1
    - Dst: X509_STORE_load_path
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:503,1
    - Dst: X509_STORE_load_store_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:505,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 5
    argNames:
    - cctx
    - CAfile
    - CApath
    - CAstore
    - verify_store
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 509
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 509
    functionName: do_store
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - X509_STORE_new
    - X509_STORE_load_file_ex
    - X509_STORE_load_store_ex
    - X509_STORE_load_path
    linkageType: ''
    returnType: int
    signature: 'static int do_store(SSL_CONF_CTX *cctx, const char *CAfile, const
      char *CApath, const char *CAstore, int verify_store) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: cmd_ChainCAFile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ChainCAFile(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: cmd_VerifyCAStore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: 'static int cmd_VerifyCAStore(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmd_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:994,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1003,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1005,1
    - Dst: SSL_set0_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1001,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    constantsTouched: []
    func_position:
      end: 1009
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1009
    functionName: SSL_CONF_CTX_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - sk_X509_NAME_pop_free
    - SSL_set0_CA_list
    - cmd_PrivateKey
    - SSL_CTX_set0_CA_list
    linkageType: ''
    returnType: int
    signature: 'int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:375,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:377,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:382,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:395,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:388,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:403,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:380,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:386,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:392,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:394,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:398,1
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:404,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:379,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:384,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:393,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:397,1
    - Dst: SSL_FLAG_TBL
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:391,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:374,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:378,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:383,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:396,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 405
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 405
    functionName: cmd_Options
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_FLAG_TBL
    - CONF_parse_list
    - SSL_FLAG_TBL_SRV
    - SSL_FLAG_TBL_INV
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int cmd_Options(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:433,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:442,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:443,1
    - Dst: SSL_use_certificate_chain_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:437,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 449
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 449
    functionName: cmd_Certificate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CTX_use_certificate_chain_file
    - OPENSSL_strdup
    - OPENSSL_free
    - SSL_use_certificate_chain_file
    linkageType: ''
    returnType: int
    signature: 'static int cmd_Certificate(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: cmd_ChainCAPath
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ChainCAPath(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: cmd_ChainCAStore
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ChainCAStore(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:544,1
    - Dst: SSL_add_file_cert_subjects_to_stack
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: cmd_RequestCAFile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_add_file_cert_subjects_to_stack
    - sk_X509_NAME_new_null
    linkageType: ''
    returnType: int
    signature: 'static int cmd_RequestCAFile(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1016,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1018,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1019,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:1017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1021
    functionName: SSL_CONF_CTX_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - sk_X509_NAME_pop_free
    linkageType: ''
    returnType: void
    signature: 'void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - cctx
    - flags
    argTypes:
    - SSL_CONF_CTX*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1033
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1033
    functionName: SSL_CONF_CTX_clear_flags
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned
      int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:279,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:283,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:281,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:280,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:282,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:284,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:285,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:286,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:287,1
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:290,1
    - Dst: CONF_parse_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: cmd_Protocol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_FLAG_TBL_INV
    - CONF_parse_list
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: 'static int cmd_Protocol(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_match_option
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - elem
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 185
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 185
    functionName: ssl_set_option_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - ssl_match_option
    linkageType: ''
    returnType: int
    signature: 'static int ssl_set_option_list(const char *elem, int len, void *usr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set1_client_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:204,1
    - Dst: SSL_CTX_set1_client_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: cmd_ClientSignatureAlgorithms
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_set1_client_sigalgs_list
    - SSL_CTX_set1_client_sigalgs_list
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ClientSignatureAlgorithms(SSL_CONF_CTX *cctx, const
      char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_Groups
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: cmd_Curves
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - cmd_Groups
    linkageType: ''
    returnType: int
    signature: 'static int cmd_Curves(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:457,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 461
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 461
    functionName: cmd_PrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_use_PrivateKey_file
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: 'static int cmd_PrivateKey(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:636,1
    - Dst: SSL_CTX_set_block_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:644,1
    - Dst: SSL_set_block_padding
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 649
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 649
    functionName: cmd_RecordPadding
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_set_block_padding
    - SSL_CTX_set_block_padding
    - atoi
    linkageType: ''
    returnType: int
    signature: 'static int cmd_RecordPadding(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - cctx
    - t
    argTypes:
    - SSL_CONF_CTX*
    - ssl_conf_cmd_tbl*
    constantsTouched: []
    func_position:
      end: 841
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 841
    functionName: ssl_conf_cmd_allowed
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ssl_conf_cmd_allowed(SSL_CONF_CTX *cctx, const ssl_conf_cmd_tbl
      * t) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:888,1
    - Dst: ssl_conf_cmd_skip_prefix
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:892,1
    - Dst: ctrl_switch_option
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:901,1
    - Dst: ssl_conf_cmd_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:895,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:913,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:921,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - cctx
    - cmd
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 924
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 924
    functionName: SSL_CONF_cmd
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - ssl_conf_cmd_lookup
    - ERR_raise_data
    - ssl_conf_cmd_skip_prefix
    - ctrl_switch_option
    linkageType: ''
    returnType: int
    signature: 'int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:215,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: cmd_Groups
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set1_groups_list
    - SSL_set1_groups_list
    linkageType: ''
    returnType: int
    signature: 'static int cmd_Groups(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_serverinfo_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: cmd_ServerInfoFile
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CTX_use_serverinfo_file
    linkageType: ''
    returnType: int
    signature: 'static int cmd_ServerInfoFile(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:655,1
    - Dst: SSL_set_num_tickets
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:661,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 664
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 664
    functionName: cmd_NumTickets
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CTX_set_num_tickets
    - atoi
    - SSL_set_num_tickets
    linkageType: ''
    returnType: int
    signature: 'static int cmd_NumTickets(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:943,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - cctx
    - pargc
    - pargv
    argTypes:
    - SSL_CONF_CTX*
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 958
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 958
    functionName: SSL_CONF_cmd_argv
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - SSL_CONF_cmd
    linkageType: ''
    returnType: int
    signature: 'int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_max_proto
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: cmd_MinProtocol
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - min_max_proto
    linkageType: ''
    returnType: int
    signature: 'static int cmd_MinProtocol(SSL_CONF_CTX *cctx, const char *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:811,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:814,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c:817,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - cctx
    - pcmd
    argTypes:
    - SSL_CONF_CTX*
    - char**
    constantsTouched: []
    func_position:
      end: 826
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 826
    functionName: ssl_conf_cmd_skip_prefix
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_conf.c
    functionUses: []
    functionsReached:
    - OPENSSL_strncasecmp
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int ssl_conf_cmd_skip_prefix(SSL_CONF_CTX *cctx, const char
      **pcmd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_load_SSL_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_err_legacy.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: ERR_load_SSL_strings
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_err_legacy.c
    functionUses: []
    functionsReached:
    - ossl_err_load_SSL_strings
    linkageType: ''
    returnType: int
    signature: 'int ERR_load_SSL_strings(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u32toLE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:98,1
    - Dst: u32toLE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:99,1
    - Dst: u32toLE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:101,1
    - Dst: u32toLE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: tls1_md5_final_raw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c
    functionUses: []
    functionsReached:
    - u32toLE
    linkageType: ''
    returnType: void
    signature: 'static void tls1_md5_final_raw(void *ctx, unsigned char *md_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: tls1_sha256_final_raw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c
    functionUses: []
    functionsReached:
    - l2n
    linkageType: ''
    returnType: void
    signature: 'static void tls1_sha256_final_raw(void *ctx, unsigned char *md_out) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:198,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:201,1
    - Dst: MD5_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:205,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:214,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:228,1
    - Dst: SHA256_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:229,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:362,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:265,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:363,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:244,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:501,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:510,1
    - Dst: SHA224_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:222,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:235,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:263,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:264,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:365,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:373,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:405,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:406,1
    - Dst: md_transform
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:407,1
    - Dst: md_transform
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:409,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:413,1
    - Dst: constant_time_ge_8_s
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:442,1
    - Dst: SHA1_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:215,1
    - Dst: SHA512_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:245,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:379,1
    - Dst: md_transform
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:414,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:420,1
    - Dst: constant_time_eq_8_s
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:432,1
    - Dst: constant_time_ge_8_s
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:441,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:448,1
    - Dst: constant_time_select_8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:466,1
    - Dst: md_final_raw
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:475,1
    - Dst: md_transform
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:416,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:493,1
    - Dst: md_transform
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:474,1
    - Dst: constant_time_eq_8_s
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:431,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:221,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:260,1
    - Dst: SHA384_Init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:236,1
    - Dst: md_transform
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:369,1
    - Dst: md_transform
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:404,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:412,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:481,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:485,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:500,1
    - Dst: EVP_DigestFinal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:504,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:489,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:491,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:492,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 265
    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
    constantsTouched: []
    func_position:
      end: 512
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 512
    functionName: ssl3_cbc_digest_record
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c
    functionUses: []
    functionsReached:
    - constant_time_eq_8_s
    - EVP_DigestInit_ex
    - md_final_raw
    - SHA512_Init
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - constant_time_ge_8_s
    - MD5_Init
    - md_transform
    - EVP_DigestFinal
    - memcpy
    - SHA224_Init
    - ossl_assert
    - EVP_MD_CTX_free
    - SHA256_Init
    - SHA1_Init
    - SHA384_Init
    - constant_time_select_8
    - EVP_MD_is_a
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ssl3_cbc_digest_record(const EVP_MD *md, unsigned char *md_out,
      size_t *md_out_size, const unsigned char *header, const unsigned char *data,
      size_t data_size, size_t data_plus_mac_plus_padding_size, const unsigned char
      *mac_secret, size_t mac_secret_length, char is_sslv3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:108,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:109,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:111,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:112,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tls1_sha1_final_raw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c
    functionUses: []
    functionsReached:
    - l2n
    linkageType: ''
    returnType: void
    signature: 'static void tls1_sha1_final_raw(void *ctx, unsigned char *md_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2n8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: tls1_sha512_final_raw
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_cbc.c
    functionUses: []
    functionsReached:
    - l2n8
    linkageType: ''
    returnType: void
    signature: 'static void tls1_sha512_final_raw(void *ctx, unsigned char *md_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:28,1
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:37,1
    - Dst: OPENSSL_atexit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:42,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:34,1
    - Dst: ssl_sort_cipher_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: (ossl_init_ssl_base)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c
    functionUses: []
    functionsReached:
    - OPENSSL_atexit
    - OSSL_TRACE
    - ssl_sort_cipher_list
    - SSL_COMP_get_compression_methods
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_ssl_base) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:56,1
    - Dst: ossl_err_load_SSL_strings
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: (ossl_init_load_ssl_strings)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c
    functionUses: []
    functionsReached:
    - OSSL_TRACE
    - ossl_err_load_SSL_strings
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (ossl_init_load_ssl_strings) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:78,1
    - Dst: ssl_comp_free_compression_methods_int
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: ssl_library_stop
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c
    functionUses: []
    functionsReached:
    - ssl_comp_free_compression_methods_int
    - OSSL_TRACE
    linkageType: ''
    returnType: void
    signature: 'static void ssl_library_stop(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:102,1
    - Dst: OPENSSL_init_crypto
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:114,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:117,1
    - Dst: RUN_ONCE_ALT
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:121,1
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - opts
    - settings
    argTypes:
    - uint64_t
    - OPENSSL_INIT_SETTINGS*
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: OPENSSL_init_ssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_init.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - RUN_ONCE
    - OPENSSL_init_crypto
    - RUN_ONCE_ALT
    linkageType: ''
    returnType: int
    signature: 'int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *
      settings) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames:
    - SSL_SESSION_ASN1
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: static_ASN1_SEQUENCE_END(SSL_SESSION_ASN1)
    signature: 'static_ASN1_SEQUENCE_END(SSL_SESSION_ASN1) IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(SSL_SESSION_ASN1)
      /* Utility functions for i2d_SSL_SESSION */ /* Initialise OCTET STRING from
      buffer and length */ static void ssl_session_oinit(ASN1_OCTET_STRING **dest,
      ASN1_OCTET_STRING *os, const unsigned char *data, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:100,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - os
    - data
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OCTET_STRING*
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: ssl_session_sinit
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c
    functionUses: []
    functionsReached:
    - ssl_session_oinit
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void ssl_session_sinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING
      *os, const char *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:216,1
    - Dst: OPENSSL_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pdst
    - src
    argTypes:
    - char**
    - ASN1_OCTET_STRING*
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: ssl_session_strndup
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: 'static int ssl_session_strndup(char **pdst, ASN1_OCTET_STRING *src) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:133,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:152,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:156,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:159,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:147,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:162,1
    - Dst: ssl_session_sinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:171,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:174,1
    - Dst: ssl_session_sinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:181,1
    - Dst: ssl_session_sinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:183,1
    - Dst: i2d_SSL_SESSION_ASN1
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:206,1
    - Dst: ssl_session_sinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:186,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:195,1
    - Dst: ssl_session_oinit
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - in
    - pp
    argTypes:
    - SSL_SESSION*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 208
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 208
    functionName: i2d_SSL_SESSION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c
    functionUses: []
    functionsReached:
    - ssl_session_oinit
    - ssl_session_sinit
    - i2d_SSL_SESSION_ASN1
    - memset
    linkageType: ''
    returnType: int
    signature: 'int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:265,1
    - Dst: ssl3_get_cipher_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:289,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:312,1
    - Dst: ssl_session_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:329,1
    - Dst: SSL_SESSION_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:397,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:272,1
    - Dst: SSL_SESSION_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:257,1
    - Dst: ssl_session_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:318,1
    - Dst: ssl_session_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:358,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:365,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:337,1
    - Dst: d2i_SSL_SESSION_ASN1
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:251,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:281,1
    - Dst: ssl_session_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:297,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:306,1
    - Dst: ssl_session_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:331,1
    - Dst: X509_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:314,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:377,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:387,1
    - Dst: M_ASN1_free_of
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:395,1
    - Dst: ssl_session_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:293,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:348,1
    - Dst: ssl_session_strndup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:325,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 114
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - SSL_SESSION**
    - unsigned char**
    - long
    constantsTouched: []
    func_position:
      end: 399
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 399
    functionName: d2i_SSL_SESSION
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c
    functionUses: []
    functionsReached:
    - X509_free
    - ERR_raise
    - time
    - ssl3_get_cipher_by_id
    - M_ASN1_free_of
    - ssl_session_memcpy
    - OPENSSL_free
    - SSL_SESSION_new
    - SSL_SESSION_free
    - ssl_session_calculate_timeout
    - d2i_SSL_SESSION_ASN1
    - ssl_session_strndup
    linkageType: ''
    returnType: SSL_SESSION*
    signature: 'SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char
      **pp, long length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - pdstlen
    - src
    - maxlen
    argTypes:
    - unsigned char*
    - size_t*
    - ASN1_OCTET_STRING*
    - size_t
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: ssl_session_memcpy
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_asn1.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int ssl_session_memcpy(unsigned char *dst, size_t *pdstlen,
      ASN1_OCTET_STRING *src, size_t maxlen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: SSL_test_functions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_utst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct openssl_ssl_test_functions*
    signature: 'const struct openssl_ssl_test_functions *SSL_test_functions(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: BIO_f_ssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD*
    signature: 'const BIO_METHOD *BIO_f_ssl(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:169,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:172,1
    - Dst: ssl_write_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:174,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:183,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:176,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:190,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:194,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:199,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:202,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:205,1
    - Dst: BIO_set_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:217,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:209,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 4
    argNames:
    - b
    - buf
    - size
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 220
    functionName: ssl_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - ssl_write_internal
    - BIO_set_retry_read
    - time
    - SSL_renegotiate
    - BIO_set_retry_write
    - BIO_set_retry_special
    - BIO_get_data
    - SSL_get_error
    - BIO_set_retry_reason
    linkageType: ''
    returnType: int
    signature: 'static int ssl_write(BIO *b, const char *buf, size_t size, size_t
      *written) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:77,1
    - Dst: BIO_get_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:81,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:80,1
    - Dst: BIO_get_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:78,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:82,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:83,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:84,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: ssl_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - SSL_free
    - BIO_clear_flags
    - BIO_get_init
    - OPENSSL_free
    - BIO_get_shutdown
    - BIO_set_init
    - SSL_shutdown
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: 'static int ssl_free(BIO *a) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:398,1
    - Dst: BIO_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    constantsTouched: []
    func_position:
      end: 409
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 409
    functionName: ssl_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_get_data
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: 'static long ssl_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:425,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:429,1
    - Dst: BIO_f_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:425,1
    - Dst: BIO_new_ssl_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:427,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:433,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:434,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: BIO_new_buffer_ssl_connect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_f_buffer
    - BIO_free
    - BIO_new_ssl_connect
    - BIO_push
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:463,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:466,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:470,1
    - Dst: BIO_f_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:463,1
    - Dst: SSL_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:465,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:472,1
    - Dst: BIO_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - client
    argTypes:
    - SSL_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: BIO_new_ssl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_f_ssl
    - BIO_new
    - SSL_set_accept_state
    - BIO_set_ssl
    - SSL_set_connect_state
    - SSL_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_ssl(SSL_CTX *ctx, int client) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:57,1
    - Dst: BIO_set_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:64,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:63,1
    - Dst: BIO_clear_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:66,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: ssl_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - ERR_raise
    - BIO_clear_flags
    - BIO_set_data
    - OPENSSL_zalloc
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: 'static int ssl_new(BIO *bi) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:100,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:114,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:107,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:103,1
    - Dst: ssl_read_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:105,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:121,1
    - Dst: SSL_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:125,1
    - Dst: BIO_set_retry_read
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:131,1
    - Dst: BIO_set_retry_write
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:134,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:137,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:145,1
    - Dst: BIO_set_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:155,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:141,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 4
    argNames:
    - b
    - buf
    - size
    - readbytes
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 158
    functionName: ssl_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - time
    - ssl_read_internal
    - SSL_renegotiate
    - BIO_set_retry_write
    - BIO_set_retry_special
    - BIO_get_data
    - SSL_get_error
    - BIO_set_retry_reason
    linkageType: ''
    returnType: int
    signature: 'static int ssl_read(BIO *b, char *buf, size_t size, size_t *readbytes) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:230,1
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:231,1
    - Dst: SSL_clear
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:244,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:252,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:261,1
    - Dst: ssl_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:282,1
    - Dst: SSL_get_rbio
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:290,1
    - Dst: BIO_set_next
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:294,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:295,1
    - Dst: BIO_get_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:307,1
    - Dst: BIO_set_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:345,1
    - Dst: SSL_set_connect_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:240,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:242,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:285,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:293,1
    - Dst: BIO_set_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:297,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:313,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:322,1
    - Dst: BIO_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:331,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:332,1
    - Dst: SSL_set_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:339,1
    - Dst: BIO_set_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:357,1
    - Dst: SSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:370,1
    - Dst: BIO_set_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:310,1
    - Dst: SSL_get_error
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:348,1
    - Dst: BIO_copy_next_retry
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:323,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:350,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:237,1
    - Dst: SSL_set_accept_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:263,1
    - Dst: BIO_set_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:287,1
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:270,1
    - Dst: BIO_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:318,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:356,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:369,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:380,1
    - Dst: SSL_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:316,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:250,1
    - Dst: ssl_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:283,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:321,1
    - Dst: SSL_do_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:346,1
    - Dst: BIO_get_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:357,1
    - Dst: BIO_set_retry_special
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:360,1
    - Dst: BIO_set_retry_reason
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:361,1
    - Dst: SSL_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:371,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:343,1
    - Dst: BIO_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:353,1
    - Dst: BIO_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:386,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 120
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 390
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 390
    functionName: ssl_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - SSL_set_accept_state
    - BIO_up_ref
    - BIO_ctrl
    - SSL_do_handshake
    - BIO_set_retry_reason
    - SSL_pending
    - BIO_set_flags
    - BIO_next
    - ssl_free
    - BIO_clear_retry_flags
    - SSL_set_bio
    - time
    - ssl_new
    - SSL_get_rbio
    - BIO_set_next
    - BIO_set_init
    - BIO_get_retry_reason
    - BIO_set_retry_special
    - SSL_shutdown
    - SSL_set_connect_state
    - SSL_get_error
    - SSL_free
    - BIO_pending
    - SSL_dup
    - BIO_copy_next_retry
    - BIO_get_shutdown
    - BIO_set_shutdown
    - BIO_push
    - SSL_clear
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: 'static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:415,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: ssl_puts
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_write
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int ssl_puts(BIO *bp, const char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:444,1
    - Dst: BIO_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:448,1
    - Dst: BIO_new_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:446,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:452,1
    - Dst: BIO_s_connect
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:444,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:453,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: BIO_new_ssl_connect
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_free
    - BIO_new_ssl
    - BIO_s_connect
    - BIO_push
    - BIO_new
    linkageType: ''
    returnType: BIO*
    signature: 'BIO *BIO_new_ssl_connect(SSL_CTX *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:481,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:486,1
    - Dst: SSL_copy_session_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:489,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:485,1
    - Dst: BIO_find_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - t
    - f
    argTypes:
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: BIO_ssl_copy_session_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_find_type
    - BIO_get_data
    - SSL_copy_session_id
    linkageType: ''
    returnType: int
    signature: 'int BIO_ssl_copy_session_id(BIO *t, BIO *f) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:498,1
    - Dst: SSL_shutdown
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:503,1
    - Dst: BIO_method_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:499,1
    - Dst: BIO_get_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c:501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: BIO_ssl_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/bio_ssl.c
    functionUses: []
    functionsReached:
    - BIO_method_type
    - BIO_get_data
    - SSL_shutdown
    - BIO_next
    linkageType: ''
    returnType: void
    signature: 'void BIO_ssl_shutdown(BIO *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_2_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: TLSv1_2_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_2_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_2_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_1_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: TLSv1_1_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_1_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_1_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: TLSv1_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslv3_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: SSLv3_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - sslv3_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *SSLv3_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_2_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: DTLSv1_2_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - dtlsv1_2_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *DTLSv1_2_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: DTLSv1_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - dtlsv1_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *DTLSv1_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: DTLSv1_client_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - dtlsv1_client_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *DTLSv1_client_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_2_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: TLSv1_2_server_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_2_server_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_2_server_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_2_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: TLSv1_2_client_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_2_client_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_2_client_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_1_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: TLSv1_1_server_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_1_server_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_1_server_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_1_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: TLSv1_1_client_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_1_client_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_1_client_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: TLSv1_server_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_server_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_server_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: TLSv1_client_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - tlsv1_client_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *TLSv1_client_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslv3_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: SSLv3_server_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - sslv3_server_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *SSLv3_server_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslv3_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: SSLv3_client_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - sslv3_client_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *SSLv3_client_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_2_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: DTLSv1_2_server_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - dtlsv1_2_server_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *DTLSv1_2_server_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_2_client_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: DTLSv1_2_client_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - dtlsv1_2_client_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *DTLSv1_2_client_method(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_server_method
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: DTLSv1_server_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/methods.c
    functionUses: []
    functionsReached:
    - dtlsv1_server_method
    linkageType: ''
    returnType: SSL_METHOD*
    signature: 'const SSL_METHOD *DTLSv1_server_method(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: SSL_alert_type_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *SSL_alert_type_string(int value) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_in_error
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c:122,1
    - Dst: SSL_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c:125,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 225
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 225
    functionName: SSL_state_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c
    functionUses: []
    functionsReached:
    - SSL_get_state
    - ossl_statem_in_error
    linkageType: ''
    returnType: char*
    signature: 'const char *SSL_state_string(const SSL *s) '
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_in_error
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c:15,1
    - Dst: SSL_get_state
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c:18,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 118
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 118
    functionName: SSL_state_string_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c
    functionUses: []
    functionsReached:
    - SSL_get_state
    - ossl_statem_in_error
    linkageType: ''
    returnType: char*
    signature: 'const char *SSL_state_string_long(const SSL *s) '
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 317
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 317
    functionName: SSL_alert_desc_string
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *SSL_alert_desc_string(int value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: SSL_alert_type_string_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *SSL_alert_type_string_long(int value) '
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 387
    functionName: SSL_alert_desc_string_long
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_stat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *SSL_alert_desc_string_long(int value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: SSL_add_ssl_module
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SSL_add_ssl_module(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_do_config
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: SSL_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: ssl_ctx_system_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c
    functionUses: []
    functionsReached:
    - ssl_do_config
    linkageType: ''
    returnType: void
    signature: 'void ssl_ctx_system_config(SSL_CTX *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_do_config
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - SSL_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: SSL_CTX_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c
    functionUses: []
    functionsReached:
    - ssl_do_config
    linkageType: ''
    returnType: int
    signature: 'int SSL_CTX_config(SSL_CTX *ctx, const char *name) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:34,1
    - Dst: ERR_raise_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:42,1
    - Dst: conf_ssl_get
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:46,1
    - Dst: conf_ssl_name_find
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:40,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:47,1
    - Dst: SSL_CONF_CTX_set_ssl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:55,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:59,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:66,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:67,1
    - Dst: conf_ssl_get_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:73,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:78,1
    - Dst: SSL_CONF_cmd
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:74,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:81,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c:82,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 4
    argNames:
    - s
    - ctx
    - name
    - system
    argTypes:
    - SSL*
    - SSL_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 84
    functionName: ssl_do_config
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_mcnf.c
    functionUses: []
    functionsReached:
    - SSL_CONF_CTX_free
    - conf_ssl_get_cmd
    - ERR_raise
    - SSL_CONF_cmd
    - SSL_CONF_CTX_new
    - OSSL_LIB_CTX_set0_default
    - SSL_CONF_CTX_set_flags
    - ERR_raise_data
    - SSL_CONF_CTX_set_ssl
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_finish
    - conf_ssl_name_find
    - conf_ssl_get
    linkageType: ''
    returnType: int
    signature: 'static int ssl_do_config(SSL *s, SSL_CTX *ctx, const char *name, int
      system) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_load_ssl_client_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:68,1
    - Dst: SSL_get_client_CA_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - s
    - px509
    - ppkey
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: tls_engine_load_ssl_client_cert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - SSL_get_client_CA_list
    - ENGINE_load_ssl_client_cert
    linkageType: ''
    returnType: int
    signature: 'int tls_engine_load_ssl_client_cert(SSL *s, X509 **px509, EVP_PKEY
      **ppkey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_cipher_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:37,1
    - Dst: ENGINE_get_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:39,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: tls_get_cipher_from_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - ENGINE_get_cipher_engine
    - ENGINE_get_cipher
    - ENGINE_finish
    linkageType: ''
    returnType: EVP_CIPHER*
    signature: 'const EVP_CIPHER *tls_get_cipher_from_engine(int nid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - SSL_HMAC*
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: ssl_hmac_old_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: 'int ssl_hmac_old_new(SSL_HMAC *ret) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Update
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - SSL_HMAC*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ssl_hmac_old_update
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - HMAC_Update
    linkageType: ''
    returnType: int
    signature: 'int ssl_hmac_old_update(SSL_HMAC *ctx, const unsigned char *data,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_size
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: ssl_hmac_old_size
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - HMAC_size
    linkageType: ''
    returnType: size_t
    signature: 'size_t ssl_hmac_old_size(const SSL_HMAC *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:155,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:156,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: ssl_dh_to_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_set1_DH
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ssl_dh_to_pkey(DH *dh) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - (*dh)
    argTypes:
    - SSL_CTX*
    - DH*
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: SSL_CTX_set_tmp_dh_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - SSL_CTX_callback_ctrl
    linkageType: ''
    returnType: void
    signature: 'void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, DH *(*dh) (SSL *ssl,
      int is_export, int keylength)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_digest_engine
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:56,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:59,1
    - Dst: ENGINE_get_digest
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: tls_get_digest_from_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - ENGINE_get_digest_engine
    - ENGINE_finish
    - ENGINE_get_digest
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *tls_get_digest_from_engine(int nid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ssl_hmac_old_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: 'void ssl_hmac_old_free(SSL_HMAC *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Init_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:116,1
    - Dst: EVP_get_digestbyname
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - len
    - md
    argTypes:
    - SSL_HMAC*
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: ssl_hmac_old_init
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Final
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - md
    - len
    argTypes:
    - SSL_HMAC*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: ssl_hmac_old_final
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    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: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: ssl_hmac_get0_HMAC_CTX
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HMAC_CTX*
    signature: 'HMAC_CTX *ssl_hmac_get0_HMAC_CTX(SSL_HMAC *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_callback_ctrl
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - (*dh)
    argTypes:
    - SSL*
    - DH*
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: SSL_set_tmp_dh_callback
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: tls_engine_finish
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: 'void tls_engine_finish(ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:77,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:78,1
    - Dst: ENGINE_get_ssl_client_cert_function
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:81,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:82,1
    - Dst: ENGINE_finish
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - e
    argTypes:
    - SSL_CTX*
    - ENGINE*
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: SSL_CTX_set_client_cert_engine
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - ENGINE_get_ssl_client_cert_function
    - ENGINE_init
    - ERR_raise
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: 'int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:171,1
    - Dst: tls1_set_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:181,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:178,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pext
    - pextlen
    - key
    argTypes:
    - uint16_t**
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: ssl_set_tmp_ecdh_groups
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/tls_depr.c
    functionUses: []
    functionsReached:
    - tls1_set_groups
    - EC_KEY_get0_group
    - ERR_raise
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: 'int ssl_set_tmp_ecdh_groups(uint16_t **pext, size_t *pextlen, void
      *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:16,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:27,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:16,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:21,1
    - Dst: dtls1_write_bytes
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:31,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - s
    - type
    - buf_
    - len
    - written
    argTypes:
    - SSL*
    - int
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 32
    functionName: dtls1_write_app_data_bytes
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c
    functionUses: []
    functionsReached:
    - dtls1_write_bytes
    - ossl_statem_get_in_handshake
    - ERR_raise
    - SSL_in_init
    linkageType: ''
    returnType: int
    signature: 'int dtls1_write_app_data_bytes(SSL *s, int type, const void *buf_,
      size_t len, size_t *written) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:44,1
    - Dst: do_dtls1_write
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:48,1
    - Dst: cb
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:66,1
    - Dst: BIO_flush
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c:53,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 70
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 70
    functionName: dtls1_dispatch_alert
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/d1_msg.c
    functionUses: []
    functionsReached:
    - BIO_flush
    - do_dtls1_write
    - cb
    - memset
    linkageType: ''
    returnType: int
    signature: 'int dtls1_dispatch_alert(SSL *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_srp_ctx_init_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 3340
      start: 3329
    functionDepth: 0
    functionLinenumber: 3329
    functionLinenumberEnd: 3340
    functionName: ssl3_new
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl_srp_ctx_init_intern
    linkageType: ''
    returnType: int
    signature: 'int ssl3_new(SSL *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - s
    - cmd
    - (*fp)
    argTypes:
    - SSL*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 3769
      start: 3744
    functionDepth: 0
    functionLinenumber: 3744
    functionLinenumberEnd: 3769
    functionName: ssl3_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void)) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - cmd
    - (*fp)
    argTypes:
    - SSL_CTX*
    - int
    - void
    constantsTouched: []
    func_position:
      end: 4055
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4055
    functionName: ssl3_ctx_callback_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4381,1
    - Dst: OPENSSL_memdup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - c
    - p
    - len
    argTypes:
    - CERT*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4393
      start: 4379
    functionDepth: 0
    functionLinenumber: 4379
    functionLinenumberEnd: 4393
    functionName: ssl3_set_req_cert_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: 'static int ssl3_set_req_cert_type(CERT *c, const unsigned char *p,
      size_t len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4799,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4803,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4805,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4807,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4806,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4808,1
    - Dst: SSL_IS_TLS13
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4812,1
    - Dst: EVP_PKEY_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4812,1
    - Dst: EVP_PKEY_CTX_set_dh_pad
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4813,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4815,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4839,1
    - Dst: ssl_gensecret
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4828,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4817,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4822,1
    - Dst: EVP_PKEY_derive
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4821,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4838,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - s
    - privkey
    - pubkey
    - gensecret
    argTypes:
    - SSL*
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    constantsTouched: []
    func_position:
      end: 4841
      start: 4791
    functionDepth: 0
    functionLinenumber: 4791
    functionLinenumberEnd: 4841
    functionName: ssl_derive
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - SSL_IS_TLS13
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_derive
    - OPENSSL_malloc
    - ssl_gensecret
    - OPENSSL_clear_free
    - EVP_PKEY_CTX_set_dh_pad
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: 'int ssl_derive(SSL *s, EVP_PKEY *privkey, EVP_PKEY *pubkey, int gensecret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_cleanup_key_block
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3347,1
    - Dst: ssl_evp_cipher_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3354,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3351,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3349,1
    - Dst: ssl_evp_md_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3355,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3357,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3358,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3359,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3360,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3361,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3364,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3374,1
    - Dst: ssl_srp_ctx_free_intern
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3372,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3365,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3368,1
    - Dst: ssl3_free_digest_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3363,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 3375
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3375
    functionName: ssl3_free
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_free_digest_list
    - OPENSSL_free
    - ssl_evp_cipher_free
    - EVP_PKEY_free
    - sk_X509_NAME_pop_free
    - ssl_srp_ctx_free_intern
    - ssl_evp_md_free
    - OPENSSL_clear_free
    - ssl3_cleanup_key_block
    - memset
    linkageType: ''
    returnType: void
    signature: 'void ssl3_free(SSL *s) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3787,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3784,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3806,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3831,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3846,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3880,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3843,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3885,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3894,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3923,1
    - Dst: tls1_set_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3926,1
    - Dst: ssl_cert_select_current
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3992,1
    - Dst: ssl_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3935,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3779,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3788,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3895,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3929,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3947,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3953,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3958,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3985,1
    - Dst: ssl_cert_set_current
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3995,1
    - Dst: ssl_cert_set1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3977,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3941,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3944,1
    - Dst: ssl_cert_add1_chain_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3983,1
    - Dst: ssl_dh_to_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3782,1
    - Dst: ssl_set_tmp_ecdh_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3809,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3876,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3893,1
    - Dst: tls1_set_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3910,1
    - Dst: ssl3_set_req_cert_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3932,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3938,1
    - Dst: sk_X509_new_null
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3952,1
    - Dst: sk_X509_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3957,1
    - Dst: sk_X509_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3971,1
    - Dst: ssl_cert_set0_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3979,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3795,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3827,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3833,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3836,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3841,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3880,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3881,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3884,1
    - Dst: tls1_set_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3915,1
    - Dst: tls1_set_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3920,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 116
    argCount: 4
    argNames:
    - ctx
    - cmd
    - larg
    - parg
    argTypes:
    - SSL_CTX*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 4001
      start: 3771
    functionDepth: 0
    functionLinenumber: 3771
    functionLinenumberEnd: 4001
    functionName: ssl3_ctx_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl_cert_get_cert_store
    - ssl_cert_set_current
    - EVP_PKEY_free
    - ssl_cert_set_cert_store
    - ssl_dh_to_pkey
    - sk_X509_push
    - ssl_cert_add0_chain_cert
    - ssl_cert_set0_chain
    - ssl_cert_set1_chain
    - OPENSSL_strdup
    - sk_X509_pop_free
    - tls1_set_sigalgs_list
    - OPENSSL_free
    - ssl_cert_select_current
    - tls1_set_groups_list
    - tls1_set_groups
    - ssl_set_tmp_ecdh_groups
    - memcpy
    - tls1_set_sigalgs
    - ssl_build_cert_chain
    - strlen
    - ERR_raise
    - ssl3_set_req_cert_type
    - ssl_cert_add1_chain_cert
    - SSL_CTX_set0_tmp_dh_pkey
    - sk_X509_new_null
    linkageType: ''
    returnType: long
    signature: 'long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - (*fp)
    argTypes:
    - SSL_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 4063
      start: 4057
    functionDepth: 0
    functionLinenumber: 4057
    functionLinenumberEnd: 4063
    functionName: SSL_CTX_set_tlsext_ticket_key_evp_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_in_before
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4403,1
    - Dst: ssl3_send_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 4444
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4444
    functionName: ssl3_shutdown
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_send_alert
    - SSL_in_before
    linkageType: ''
    returnType: int
    signature: 'int ssl3_shutdown(SSL *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls1_nid2group_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4962,1
    - Dst: tls1_group_id_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - s
    - nid
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 4970
      start: 4954
    functionDepth: 0
    functionLinenumber: 4954
    functionLinenumberEnd: 4970
    functionName: SSL_group_to_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - tls1_nid2group_id
    - tls1_group_id_lookup
    linkageType: ''
    returnType: char*
    signature: 'const char *SSL_group_to_name(SSL *s, int nid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_IS_TLS13
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4770,1
    - Dst: ssl_handshake_md
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4776,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4782,1
    - Dst: tls13_generate_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4776,1
    - Dst: ssl_generate_master_secret
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - s
    - pms
    - pmslen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4788
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4788
    functionName: ssl_gensecret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - SSL_IS_TLS13
    - ssl_generate_master_secret
    - ssl_handshake_md
    - tls13_generate_secret
    - tls13_generate_handshake_secret
    linkageType: ''
    returnType: int
    signature: 'int ssl_gensecret(SSL *s, unsigned char *pms, size_t pmslen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_get_cipher_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 4109
      start: 4104
    functionDepth: 0
    functionLinenumber: 4104
    functionLinenumberEnd: 4109
    functionName: ssl3_get_cipher_by_char
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_get_cipher_by_id
    linkageType: ''
    returnType: SSL_CIPHER*
    signature: 'const SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4448,1
    - Dst: ssl3_renegotiate_check
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4454
      start: 4446
    functionDepth: 0
    functionLinenumber: 4446
    functionLinenumberEnd: 4454
    functionName: ssl3_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_renegotiate_check
    - clear_sys_error
    linkageType: ''
    returnType: int
    signature: 'int ssl3_write(SSL *s, const void *buf, size_t len, size_t *written) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_read_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4490
      start: 4487
    functionDepth: 0
    functionLinenumber: 4487
    functionLinenumberEnd: 4490
    functionName: ssl3_read
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_read_internal
    linkageType: ''
    returnType: int
    signature: 'int ssl3_read(SSL *s, void *buf, size_t len, size_t *readbytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - c
    - pkt
    - len
    argTypes:
    - SSL_CIPHER*
    - WPACKET*
    - size_t*
    constantsTouched: []
    func_position:
      end: 4123
      start: 4111
    functionDepth: 0
    functionLinenumber: 4111
    functionLinenumberEnd: 4123
    functionName: ssl3_put_cipher_by_char
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4461,1
    - Dst: ssl3_renegotiate_check
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4463,1
    - Dst: ossl_statem_set_in_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4476,1
    - Dst: ossl_statem_set_in_handshake
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - s
    - buf
    - len
    - peek
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 4485
      start: 4456
    functionDepth: 0
    functionLinenumber: 4456
    functionLinenumberEnd: 4485
    functionName: ssl3_read_internal
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ossl_statem_set_in_handshake
    - ssl3_renegotiate_check
    - clear_sys_error
    linkageType: ''
    returnType: int
    signature: 'static int ssl3_read_internal(SSL *s, void *buf, size_t len, int peek,
      size_t *readbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_read_internal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 4495
      start: 4492
    functionDepth: 0
    functionLinenumber: 4492
    functionLinenumberEnd: 4495
    functionName: ssl3_peek
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_read_internal
    linkageType: ''
    returnType: int
    signature: 'int ssl3_peek(SSL *s, void *buf, size_t len, size_t *readbytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3250,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3252,1
    - Dst: qsort
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3255
      start: 3248
    functionDepth: 0
    functionLinenumber: 3248
    functionLinenumberEnd: 3255
    functionName: ssl_sort_cipher_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: 'void ssl_sort_cipher_list(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3317,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - s
    - pkt
    - htype
    argTypes:
    - SSL*
    - WPACKET*
    - int
    constantsTouched: []
    func_position:
      end: 3322
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3322
    functionName: ssl3_set_handshake_header
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - WPACKET_put_bytes_u8
    - WPACKET_start_sub_packet_u24
    linkageType: ''
    returnType: int
    signature: 'int ssl3_set_handshake_header(SSL *s, WPACKET *pkt, int htype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_cleanup_key_block
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3379,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3383,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3382,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3380,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3381,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3384,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3385,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3387,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3388,1
    - Dst: ssl3_free_digest_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3390,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3396,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3392,1
    - Dst: ssl_free_wbio_buffer
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3398,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3404,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 3410
      start: 3377
    functionDepth: 0
    functionLinenumber: 3377
    functionLinenumberEnd: 3410
    functionName: ssl3_clear
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_free_digest_list
    - OPENSSL_free
    - sk_X509_NAME_pop_free
    - EVP_PKEY_free
    - ssl_free_wbio_buffer
    - OPENSSL_clear_free
    - ssl3_cleanup_key_block
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ssl3_clear(SSL *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4071,1
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4077,1
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 4078
      start: 4065
    functionDepth: 0
    functionLinenumber: 4065
    functionLinenumberEnd: 4078
    functionName: ssl3_get_cipher_by_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - OBJ_bsearch_ssl_cipher_id
    linkageType: ''
    returnType: SSL_CIPHER*
    signature: 'const SSL_CIPHER *ssl3_get_cipher_by_id(uint32_t id) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4152,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4153,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4160,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4164,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4178,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4195,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4199,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4205,1
    - Dst: SSL_IS_TLS13
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4217,1
    - Dst: tls1_set_cert_validity
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4237,1
    - Dst: DTLS_VERSION_LT
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4249,1
    - Dst: ssl_security
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4294,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4323,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4154,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4184,1
    - Dst: sk_SSL_CIPHER_new_reserve
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4191,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4241,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4301,1
    - Dst: EVP_MD_is_a
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4310,1
    - Dst: SSL_IS_DTLS
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4248,1
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4140,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4156,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4158,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4159,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4161,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4181,1
    - Dst: tls1_suiteb
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4167,1
    - Dst: ssl_set_masks
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4238,1
    - Dst: SSL_IS_DTLS
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4245,1
    - Dst: OSSL_TRACE7
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4277,1
    - Dst: ssl_md
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4307,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4318,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4306,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4155,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4177,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4162,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4197,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4203,1
    - Dst: ssl_has_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4229,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4242,1
    - Dst: SSL_IS_TLS13
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4257,1
    - Dst: tls1_check_ec_tmp_key
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4286,1
    - Dst: DTLS_VERSION_GT
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4250,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4291,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 156
    argCount: 3
    argNames:
    - s
    - clnt
    - srvr
    argTypes:
    - SSL*
    - STACK_OF(SSL_CIPHER)*
    - STACK_OF(SSL_CIPHER)*
    constantsTouched: []
    func_position:
      end: 4326
      start: 4133
    functionDepth: 0
    functionLinenumber: 4133
    functionLinenumberEnd: 4326
    functionName: ssl3_choose_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - tls1_set_cert_validity
    - DTLS_VERSION_LT
    - ssl_set_masks
    - sk_SSL_CIPHER_find
    - STACK_OF
    - BIO_printf
    - sk_SSL_CIPHER_push
    - ssl_has_cert
    - OSSL_TRACE7
    - tls1_suiteb
    - SSL_IS_DTLS
    - sk_SSL_CIPHER_free
    - sk_SSL_CIPHER_new_reserve
    - OSSL_TRACE_END
    - sk_SSL_CIPHER_value
    - tls1_check_ec_tmp_key
    - sk_SSL_CIPHER_num
    - SSL_IS_TLS13
    - ssl_security
    - EVP_MD_is_a
    - DTLS_VERSION_GT
    - ssl_md
    linkageType: ''
    returnType: SSL_CIPHER*
    signature: 'const SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER)
      *clnt, STACK_OF(SSL_CIPHER) *srvr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4678,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4681,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4683,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4684,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4689,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pm
    argTypes:
    - SSL*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 4691
      start: 4671
    functionDepth: 0
    functionLinenumber: 4671
    functionLinenumberEnd: 4691
    functionName: ssl_generate_pkey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ssl_generate_pkey(SSL *s, EVP_PKEY *pm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3246
      start: 3238
    functionDepth: 0
    functionLinenumber: 3238
    functionLinenumberEnd: 3246
    functionName: cipher_compare
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int cipher_compare(const void *a, const void *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3295
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3295
    functionName: ssl3_default_timeout
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long ssl3_default_timeout(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - ssl
    - r
    - s
    - t
    - u
    - v
    - w
    - x
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 3269
      start: 3257
    functionDepth: 0
    functionLinenumber: 3257
    functionLinenumberEnd: 3269
    functionName: ssl_undefined_function_1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl_undefined_function
    linkageType: ''
    returnType: int
    signature: 'static int ssl_undefined_function_1(SSL *ssl, unsigned char *r, size_t
      s, const char * t, size_t u, const unsigned char * v, size_t w, int x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_do_write
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 3327
      start: 3324
    functionDepth: 0
    functionLinenumber: 3324
    functionLinenumberEnd: 3327
    functionName: ssl3_handshake_write
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl3_do_write
    linkageType: ''
    returnType: int
    signature: 'int ssl3_handshake_write(SSL *s) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3474,1
    - Dst: ssl_set_tmp_ecdh_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3477,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3556,1
    - Dst: ssl_cert_set1_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3564,1
    - Dst: tls1_group_id2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3621,1
    - Dst: tls1_group_id2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3653,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3660,1
    - Dst: tls1_set_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3663,1
    - Dst: ssl_build_cert_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3684,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3687,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3451,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3454,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3494,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3502,1
    - Dst: tls1_set_groups_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3634,1
    - Dst: tls1_shared_group
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3639,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3666,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3693,1
    - Dst: ssl3_set_req_cert_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3681,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3446,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3455,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3463,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3500,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3510,1
    - Dst: ssl_cert_set0_chain
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3566,1
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3505,1
    - Dst: ssl_cert_select_current
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3580,1
    - Dst: ssl_cert_set_current
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3601,1
    - Dst: tls1_group_id2nid
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3642,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3696,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3714,1
    - Dst: ssl_dh_to_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3449,1
    - Dst: ssl_cert_add1_chain_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3570,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3506,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3572,1
    - Dst: tls1_group_id_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3618,1
    - Dst: tls1_set_groups
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3630,1
    - Dst: SSL_IS_TLS13
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3649,1
    - Dst: tls1_set_sigalgs
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3657,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3723,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3690,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 151
    argCount: 4
    argNames:
    - s
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 3742
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3742
    functionName: ssl3_ctrl
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ssl_cert_set_current
    - tls1_group_id_lookup
    - EVP_PKEY_free
    - ssl_cert_set_cert_store
    - SSL_set0_tmp_dh_pkey
    - ssl_cert_get_cert_store
    - ssl_dh_to_pkey
    - ssl_cert_add0_chain_cert
    - ssl_cert_set0_chain
    - EVP_PKEY_up_ref
    - ssl_cert_set1_chain
    - OPENSSL_strdup
    - tls1_set_sigalgs_list
    - OPENSSL_free
    - ssl_cert_select_current
    - tls1_set_groups_list
    - tls1_set_groups
    - tls1_shared_group
    - ssl_set_tmp_ecdh_groups
    - tls1_group_id2nid
    - tls1_set_sigalgs
    - ssl_build_cert_chain
    - strlen
    - ERR_raise
    - ssl3_set_req_cert_type
    - SSL_IS_TLS13
    - ssl_cert_add1_chain_cert
    linkageType: ''
    returnType: long
    signature: 'long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4088,1
    - Dst: strcmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4092,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - stdname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4098
      start: 4080
    functionDepth: 0
    functionLinenumber: 4080
    functionLinenumberEnd: 4098
    functionName: ssl3_get_cipher_by_std_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: SSL_CIPHER*
    signature: 'const SSL_CIPHER *ssl3_get_cipher_by_std_name(const char *stdname) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4334,1
    - Dst: ssl_set_sig_mask
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4336,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4343,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4342,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4344,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4345,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4346,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4350,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4351,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4356,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4373,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4362,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4359,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4364,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL*
    - WPACKET*
    constantsTouched: []
    func_position:
      end: 4377
      start: 4328
    functionDepth: 0
    functionLinenumber: 4328
    functionLinenumberEnd: 4377
    functionName: ssl3_get_req_cert_type
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - WPACKET_put_bytes_u8
    - WPACKET_memcpy
    - ssl_set_sig_mask
    linkageType: ''
    returnType: int
    signature: 'int ssl3_get_req_cert_type(SSL *s, WPACKET *pkt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:3415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 3416
      start: 3413
    functionDepth: 0
    functionLinenumber: 3413
    functionLinenumberEnd: 3416
    functionName: srp_password_from_info_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *srp_password_from_info_cb(SSL *s, void *arg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4618,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4624,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4622,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4626,1
    - Dst: s2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4628,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4629,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4631,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4637,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4641,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4659,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4661,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 4
    argNames:
    - s
    - pms
    - pmslen
    - free_pms
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 4668
      start: 4599
    functionDepth: 0
    functionLinenumber: 4599
    functionLinenumberEnd: 4668
    functionName: ssl_generate_master_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    - OPENSSL_clear_free
    - s2n
    - OPENSSL_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: 'int ssl_generate_master_secret(SSL *s, unsigned char *pms, size_t
      pmslen, int free_pms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3300
      start: 3297
    functionDepth: 0
    functionLinenumber: 3297
    functionLinenumberEnd: 3300
    functionName: ssl3_num_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ssl3_num_ciphers(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4152,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4155,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4156,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4153,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4154,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4158,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4159,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4160,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4161,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4164
      start: 4151
    functionDepth: 0
    functionLinenumber: 4151
    functionLinenumberEnd: 4164
    functionName: (TLS_CIPHER)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_num
    linkageType: ''
    returnType: OSSL_TRACE_BEGIN
    signature: 'OSSL_TRACE_BEGIN (TLS_CIPHER) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_LAYER_read_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4519,1
    - Dst: SSL_in_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4521,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4520,1
    - Dst: ossl_statem_set_renegotiate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - s
    - initok
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 4535
      start: 4514
    functionDepth: 0
    functionLinenumber: 4514
    functionLinenumberEnd: 4535
    functionName: ssl3_renegotiate_check
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - RECORD_LAYER_write_pending
    - RECORD_LAYER_read_pending
    - ossl_statem_set_renegotiate
    - SSL_in_init
    linkageType: ''
    returnType: int
    signature: 'int ssl3_renegotiate_check(SSL *s, int initok) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4575,1
    - Dst: l2n
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4578,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4579,1
    - Dst: RAND_bytes_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4581,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4585,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4586,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4589,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4592,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - s
    - server
    - result
    - len
    - dgrd
    argTypes:
    - SSL*
    - int
    - unsigned char*
    - size_t
    - DOWNGRADE
    constantsTouched: []
    func_position:
      end: 4597
      start: 4563
    functionDepth: 0
    functionLinenumber: 4563
    functionLinenumberEnd: 4597
    functionName: ssl_fill_hello_random
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - ossl_assert
    - time
    - memcpy
    - l2n
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: 'int ssl_fill_hello_random(SSL *s, int server, unsigned char *result,
      size_t len, DOWNGRADE dgrd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls1_group_id_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4738,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4743,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4748,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4751,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4750,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4754,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4755,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4760,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - SSL*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 4762
      start: 4734
    functionDepth: 0
    functionLinenumber: 4734
    functionLinenumberEnd: 4762
    functionName: ssl_generate_param_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_paramgen_init
    - tls1_group_id_lookup
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_group_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - SSLfatal
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ssl_generate_param_group(SSL *s, uint16_t id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4854,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4861,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4860,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4858,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4862,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4866,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4868,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4872,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4873,1
    - Dst: ssl_gensecret
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4879,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4890,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4889,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 5
    argNames:
    - s
    - privkey
    - ct
    - ctlen
    - gensecret
    argTypes:
    - SSL*
    - EVP_PKEY*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 4892
      start: 4844
    functionDepth: 0
    functionLinenumber: 4844
    functionLinenumberEnd: 4892
    functionName: ssl_decapsulate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    - SSLfatal
    - EVP_PKEY_decapsulate_init
    - ssl_gensecret
    - OPENSSL_clear_free
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ssl_decapsulate(SSL *s, EVP_PKEY *privkey, const unsigned char
      *ct, size_t ctlen, int gensecret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3308
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3308
    functionName: ssl3_get_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSL_CIPHER*
    signature: 'const SSL_CIPHER *ssl3_get_cipher(unsigned int u) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4904,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4913,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4911,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4910,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4908,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4917,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4918,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4920,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4924,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4925,1
    - Dst: ssl_gensecret
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4931,1
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4948,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4949,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4950,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 5
    argNames:
    - s
    - pubkey
    - ctp
    - ctlenp
    - gensecret
    argTypes:
    - SSL*
    - EVP_PKEY*
    - unsigned char**
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 4952
      start: 4894
    functionDepth: 0
    functionLinenumber: 4894
    functionLinenumberEnd: 4952
    functionName: ssl_encapsulate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    - EVP_PKEY_encapsulate_init
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - SSLfatal
    - EVP_PKEY_encapsulate
    - ssl_gensecret
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int ssl_encapsulate(SSL *s, EVP_PKEY *pubkey, unsigned char **ctp,
      size_t *ctlenp, int gensecret) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 4504
      start: 4497
    functionDepth: 0
    functionLinenumber: 4497
    functionLinenumberEnd: 4504
    functionName: ssl3_renegotiate
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ssl3_renegotiate(SSL *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 4557
      start: 4543
    functionDepth: 0
    functionLinenumber: 4543
    functionLinenumberEnd: 4557
    functionName: ssl_get_algorithm2
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long ssl_get_algorithm2(SSL *s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls1_group_id_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4696,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4709,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4701,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4705,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4712,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4713,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4716,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4717,1
    - Dst: EVP_PKEY_keygen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4720,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4721,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4727,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c:4722,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - SSL*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 4729
      start: 4694
    functionDepth: 0
    functionLinenumber: 4694
    functionLinenumberEnd: 4729
    functionName: ssl_generate_pkey_group
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_lib.c
    functionUses: []
    functionsReached:
    - EVP_PKEY_keygen
    - tls1_group_id_lookup
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_group_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - SSLfatal
    linkageType: ''
    returnType: EVP_PKEY*
    signature: 'EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:104,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:112,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:107,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:113,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:108,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:114,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:115,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:119,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - rsa
    argTypes:
    - SSL_CTX*
    - RSA*
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: SSL_CTX_use_RSAPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_up_ref
    - ERR_raise
    - EVP_PKEY_free
    - SSL_CTX_use_PrivateKey
    - EVP_PKEY_new
    - EVP_PKEY_assign_RSA
    linkageType: ''
    returnType: int
    signature: 'int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:48,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:55,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:48,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:54,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:50,1
    - Dst: d2i_RSAPrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:60,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:63,1
    - Dst: SSL_get_default_passwd_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:64,1
    - Dst: SSL_get_default_passwd_cb_userdata
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:65,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:67,1
    - Dst: SSL_use_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:74,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:77,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:75,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:71,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - ssl
    - file
    - type
    argTypes:
    - SSL*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 79
    functionName: SSL_use_RSAPrivateKey_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c
    functionUses: []
    functionsReached:
    - RSA_free
    - ERR_raise
    - BIO_free
    - SSL_get_default_passwd_cb_userdata
    - BIO_s_file
    - PEM_read_bio_RSAPrivateKey
    - d2i_RSAPrivateKey_bio
    - SSL_get_default_passwd_cb
    - SSL_use_RSAPrivateKey
    - BIO_read_filename
    - BIO_new
    linkageType: ''
    returnType: int
    signature: 'int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:22,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:26,1
    - Dst: RSA_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:30,1
    - Dst: EVP_PKEY_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:25,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:31,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:32,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:33,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:37,1
    - Dst: EVP_PKEY_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ssl
    - rsa
    argTypes:
    - SSL*
    - RSA*
    constantsTouched: []
    func_position:
      end: 40
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 40
    functionName: SSL_use_RSAPrivateKey
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c
    functionUses: []
    functionsReached:
    - RSA_free
    - RSA_up_ref
    - ERR_raise
    - EVP_PKEY_free
    - EVP_PKEY_new
    - SSL_use_PrivateKey
    - EVP_PKEY_assign_RSA
    linkageType: ''
    returnType: int
    signature: 'int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:130,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:137,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:132,1
    - Dst: BIO_s_file
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:130,1
    - Dst: BIO_read_filename
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:136,1
    - Dst: d2i_RSAPrivateKey_bio
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:142,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:145,1
    - Dst: SSL_CTX_get_default_passwd_cb
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:146,1
    - Dst: SSL_CTX_get_default_passwd_cb_userdata
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:147,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:149,1
    - Dst: SSL_CTX_use_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:156,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:159,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:157,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 161
    functionName: SSL_CTX_use_RSAPrivateKey_file
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c
    functionUses: []
    functionsReached:
    - RSA_free
    - ERR_raise
    - BIO_free
    - BIO_s_file
    - PEM_read_bio_RSAPrivateKey
    - d2i_RSAPrivateKey_bio
    - SSL_CTX_get_default_passwd_cb
    - SSL_CTX_use_RSAPrivateKey
    - BIO_read_filename
    - BIO_new
    - SSL_CTX_get_default_passwd_cb_userdata
    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/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:88,1
    - Dst: SSL_use_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:93,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:89,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - d
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: SSL_use_RSAPrivateKey_ASN1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c
    functionUses: []
    functionsReached:
    - RSA_free
    - d2i_RSAPrivateKey
    - ERR_raise
    - SSL_use_RSAPrivateKey
    linkageType: ''
    returnType: int
    signature: 'int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const unsigned char *d, long
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:171,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:172,1
    - Dst: RSA_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:177,1
    - Dst: SSL_CTX_use_RSAPrivateKey
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - d
    - len
    argTypes:
    - SSL_CTX*
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: SSL_CTX_use_RSAPrivateKey_ASN1
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_rsa_legacy.c
    functionUses: []
    functionsReached:
    - RSA_free
    - d2i_RSAPrivateKey
    - ERR_raise
    - SSL_CTX_use_RSAPrivateKey
    linkageType: ''
    returnType: int
    signature: 'int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char
      *d, long len) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:105,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:126,1
    - Dst: COMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:139,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:154,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:174,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:153,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:194,1
    - Dst: EVP_CipherInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:222,1
    - Dst: tls_provider_set_tls_params
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:232,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:141,1
    - Dst: ssl_replace_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:163,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:164,1
    - Dst: COMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:169,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:196,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:216,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:231,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:119,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:120,1
    - Dst: ssl_replace_hash
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:130,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:131,1
    - Dst: COMP_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:136,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:160,1
    - Dst: RECORD_LAYER_reset_write_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:180,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:185,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:188,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:190,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:106,1
    - Dst: COMP_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:172,1
    - Dst: RECORD_LAYER_reset_read_sequence
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:147,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:220,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:223,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:231,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 120
    argCount: 2
    argNames:
    - s
    - which
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 241
    functionName: ssl3_change_cipher_state
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - ossl_assert
    - tls_provider_set_tls_params
    - EVP_CipherInit_ex
    - RECORD_LAYER_reset_read_sequence
    - memcpy
    - RECORD_LAYER_reset_write_sequence
    - EVP_CIPHER_get_key_length
    - EVP_MD_get_size
    - EVP_CIPHER_CTX_new
    - COMP_CTX_free
    - EVP_CIPHER_get_iv_length
    - ssl_replace_hash
    - COMP_CTX_new
    - EVP_CIPHER_get0_provider
    - SSLfatal
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: int
    signature: 'int ssl3_change_cipher_state(SSL *s, int which) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: ssl3_cleanup_key_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: 'void ssl3_cleanup_key_block(SSL *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:339,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: ssl3_free_digest_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - EVP_MD_CTX_free
    - BIO_free
    linkageType: ''
    returnType: void
    signature: 'void ssl3_free_digest_list(SSL *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:377,1
    - Dst: ssl_handshake_md
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:389,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:385,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:383,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:379,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:391,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:395,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:396,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:397,1
    - Dst: BIO_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:402,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - s
    - keep
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 407
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 407
    functionName: ssl3_digest_cached_records
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - BIO_free
    - EVP_MD_CTX_new
    - ssl_handshake_md
    - EVP_DigestInit_ex
    - BIO_get_mem_data
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: 'int ssl3_digest_cached_records(SSL *s, int keep) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_digest_cached_records
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:425,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:431,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:430,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:435,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:437,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:440,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:441,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:446,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:448,1
    - Dst: ssl3_digest_master_key_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:456,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:467,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:459,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:458,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:460,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:461,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - s
    - sender
    - len
    - p
    argTypes:
    - SSL*
    - char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 470
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 470
    functionName: ssl3_final_finish_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - ssl3_digest_cached_records
    - EVP_DigestUpdate
    - ssl3_digest_master_key_set_params
    - EVP_MD_CTX_new
    - EVP_MD_CTX_set_params
    - EVP_MD_CTX_free
    - EVP_MD_CTX_get_type
    - EVP_MD_CTX_get_size
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_copy_ex
    - SSLfatal
    linkageType: ''
    returnType: size_t
    signature: 'size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t len,
      unsigned char *p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:49,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:65,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:55,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:70,1
    - Dst: ssl_evp_md_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:83,1
    - Dst: ssl_evp_md_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:31,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:43,1
    - Dst: memset
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:47,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:53,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:57,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:64,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:56,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:82,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:33,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:34,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:36,1
    - Dst: ssl_evp_md_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:32,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:68,1
    - Dst: EVP_MD_CTX_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:81,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:50,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:51,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:54,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:59,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:60,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:78,1
    - Dst: ssl_evp_md_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:84,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 3
    argNames:
    - s
    - km
    - num
    argTypes:
    - SSL*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 86
    functionName: ssl3_generate_key_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcpy
    - ssl_evp_md_fetch
    - OPENSSL_cleanse
    - ssl_evp_md_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - SSLfatal
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int ssl3_generate_key_block(SSL *s, unsigned char *km, int
      num) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_get_evp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:255,1
    - Dst: ssl_evp_cipher_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:262,1
    - Dst: ssl_evp_md_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:264,1
    - Dst: SSLfatal_alert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:258,1
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:272,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:276,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:276,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:279,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:281,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:282,1
    - Dst: ssl3_generate_key_block
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:290,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 309
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 309
    functionName: ssl3_setup_key_block
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - ssl_evp_cipher_free
    - SSLfatal_alert
    - EVP_CIPHER_get_key_length
    - EVP_MD_get_size
    - ssl_evp_md_free
    - OPENSSL_malloc
    - SSLfatal
    - ssl_cipher_get_evp
    - ssl3_cleanup_key_block
    - ssl3_generate_key_block
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: 'int ssl3_setup_key_block(SSL *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:320,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:323,1
    - Dst: BIO_set_close
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:328,1
    - Dst: ssl3_free_digest_list
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:326,1
    - Dst: BIO_s_mem
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: ssl3_init_finished_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - BIO_set_close
    - BIO_s_mem
    - ssl3_free_digest_list
    - BIO_new
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: 'int ssl3_init_finished_mac(SSL *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:352,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:357,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:361,1
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:363,1
    - Dst: BIO_write
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 368
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 368
    functionName: ssl3_finish_mac
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - BIO_write
    - EVP_DigestUpdate
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: 'int ssl3_finish_mac(SSL *s, const unsigned char *buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:413,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - session
    - params
    argTypes:
    - SSL_SESSION*
    - OSSL_PARAM
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: ssl3_digest_master_key_set_params
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: void
    signature: 'void ssl3_digest_master_key_set_params(const SSL_SESSION *session,
      OSSL_PARAM params[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:493,1
    - Dst: CHARSET_EBCDIC
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:476,1
    - Dst: EVP_MD_CTX_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:487,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:497,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:498,1
    - Dst: strlen
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:499,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:500,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:501,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:503,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:508,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:509,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:505,1
    - Dst: EVP_DigestInit_ex
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:506,1
    - Dst: EVP_DigestUpdate
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c:507,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 5
    argNames:
    - s
    - out
    - p
    - len
    - secret_size
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 513
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 513
    functionName: ssl3_generate_master_secret
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached:
    - EVP_DigestUpdate
    - CHARSET_EBCDIC
    - EVP_MD_CTX_new
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - SSLfatal
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int ssl3_generate_master_secret(SSL *s, unsigned char *out, unsigned
      char *p, size_t len, size_t *secret_size) '
  - BBCount: 36
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 599
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 599
    functionName: ssl3_alert_code
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/s3_enc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ssl3_alert_code(int code) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1259,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1261,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1282,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1264,1
    - Dst: strncmp
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1266,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - meth
    - c
    - prule_str
    argTypes:
    - SSL_METHOD*
    - CERT*
    - char**
    constantsTouched: []
    func_position:
      end: 1302
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1302
    functionName: check_suiteb_cipher_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - strncmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int check_suiteb_cipher_list(const SSL_METHOD *meth, CERT *c,
      const char **prule_str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_get_cipher_by_std_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1936,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - stdname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1938
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1938
    functionName: OPENSSL_cipher_name
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - ssl3_get_cipher_by_std_name
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: char*
    signature: 'const char *OPENSSL_cipher_name(const char *stdname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1983
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1983
    functionName: SSL_COMP_get_compression_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(SSL_COMP)*
    signature: 'STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - comp
    argTypes:
    - SSL_COMP*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2091
    functionName: SSL_COMP_get_id
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int SSL_COMP_get_id(const SSL_COMP *comp) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:348,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:372,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:377,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:363,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:368,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:373,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:378,1
    - Dst: get_optional_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:415,1
    - Dst: get_optional_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:430,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:332,1
    - Dst: ossl_assert
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:349,1
    - Dst: ssl_evp_md_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:342,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:367,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:382,1
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:397,1
    - Dst: get_optional_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:428,1
    - Dst: get_optional_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:432,1
    - Dst: ERR_set_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:362,1
    - Dst: get_optional_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:422,1
    - Dst: get_optional_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:408,1
    - Dst: get_optional_pkey_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:401,1
    - Dst: ERR_pop_to_mark
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:383,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 445
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 445
    functionName: ssl_load_ciphers
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - ERR_pop_to_mark
    - ossl_assert
    - EVP_SIGNATURE_free
    - memcpy
    - ssl_evp_md_fetch
    - ssl_evp_cipher_fetch
    - get_optional_pkey_id
    - ERR_set_mark
    - EVP_MD_get_size
    - EVP_SIGNATURE_fetch
    - EVP_KEYEXCH_free
    - EVP_KEYEXCH_fetch
    linkageType: ''
    returnType: int
    signature: 'int ssl_load_ciphers(SSL_CTX *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_info_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:484,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:495,1
    - Dst: ssl_evp_cipher_up_ref
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - sslc
    - enc
    argTypes:
    - SSL_CTX*
    - SSL_CIPHER*
    - EVP_CIPHER**
    constantsTouched: []
    func_position:
      end: 508
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 508
    functionName: ssl_cipher_get_evp_cipher
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - ssl_evp_cipher_up_ref
    - ssl_cipher_info_lookup
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: int
    signature: 'int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,
      const EVP_CIPHER **enc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1315,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1323,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1324,1
    - Dst: ssl3_get_cipher_by_std_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1329
    functionName: ciphersuite_cb
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - memcpy
    - ssl3_get_cipher_by_std_name
    - sk_SSL_CIPHER_push
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: 'static int ciphersuite_cb(const char *elem, int len, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - meths
    argTypes:
    - STACK_OF(SSL_COMP)*
    constantsTouched: []
    func_position:
      end: 1989
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 1989
    functionName: SSL_COMP_set0_compression_methods
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF(SSL_COMP)*
    signature: 'STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
      *meths) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: COMP_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2027,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2043,1
    - Dst: load_builtin_compressions
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2051,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2039,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2045,1
    - Dst: sk_SSL_COMP_find
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2052,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2053,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2054,1
    - Dst: sk_SSL_COMP_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2057,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2058,1
    - Dst: ERR_raise
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2059,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - id
    - cm
    argTypes:
    - int
    - COMP_METHOD*
    constantsTouched: []
    func_position:
      end: 2063
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2063
    functionName: SSL_COMP_add_compression_method
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - sk_SSL_COMP_push
    - COMP_get_type
    - load_builtin_compressions
    - ERR_raise
    - OPENSSL_free
    - sk_SSL_COMP_find
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: 'int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - ssl
    - ptr
    - all
    argTypes:
    - SSL*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 2101
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2101
    functionName: ssl_get_cipher_by_char
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSL_CIPHER*
    signature: 'const SSL_CIPHER *ssl_get_cipher_by_char(SSL *ssl, const unsigned
      char *ptr, int all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SSL_COMP**
    - SSL_COMP**
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: sk_comp_cmp
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int sk_comp_cmp(const SSL_COMP *const *a, const SSL_COMP *const
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_md
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:631,1
    - Dst: ssl_get_algorithm2
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: ssl_handshake_md
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - ssl_get_algorithm2
    - ssl_md
    linkageType: ''
    returnType: EVP_MD*
    signature: 'const EVP_MD *ssl_handshake_md(SSL *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - head
    - curr
    - tail
    argTypes:
    - CIPHER_ORDER**
    - CIPHER_ORDER*
    - CIPHER_ORDER**
    constantsTouched: []
    func_position:
      end: 674
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 674
    functionName: ll_append_head
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ll_append_head(CIPHER_ORDER **head, CIPHER_ORDER *curr,
      CIPHER_ORDER **tail) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    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*
    constantsTouched: []
    func_position:
      end: 806
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 806
    functionName: ssl_cipher_collect_aliases
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ssl_cipher_collect_aliases(const SSL_CIPHER **ca_list,
      int num_of_group_aliases, uint32_t disabled_mkey, uint32_t disabled_auth, uint32_t
      disabled_enc, uint32_t disabled_mac, CIPHER_ORDER *head) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1376,1
    - Dst: sk_SSL_CIPHER_delete
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1388,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1385,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1376,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1386,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1391,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1392,1
    - Dst: sk_SSL_CIPHER_unshift
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1399,1
    - Dst: update_cipher_list_by_id
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1403,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1404,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:1408,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - cipher_list
    - cipher_list_by_id
    - tls13_ciphersuites
    argTypes:
    - SSL_CTX*
    - STACK_OF(SSL_CIPHER)**
    - STACK_OF(SSL_CIPHER)**
    - STACK_OF(SSL_CIPHER)*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1412
    functionName: update_cipher_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - sk_SSL_CIPHER_dup
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_free
    - sk_SSL_CIPHER_unshift
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_delete
    - update_cipher_list_by_id
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: 'static int update_cipher_list(SSL_CTX *ctx, STACK_OF(SSL_CIPHER) **cipher_list,
      STACK_OF(SSL_CIPHER) **cipher_list_by_id, STACK_OF(SSL_CIPHER) *tls13_ciphersuites) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_info_lookup
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2126
    functionName: SSL_CIPHER_get_digest_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    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/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:2139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2144
    functionName: SSL_CIPHER_get_auth_nid
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - ssl_cipher_info_lookup
    linkageType: ''
    returnType: int
    signature: 'int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2229
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2229
    functionName: OSSL_default_cipher_list
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *OSSL_default_cipher_list(void) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:820,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:864,1
    - Dst: BIO_printf
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:892,1
    - Dst: ll_append_tail
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:898,1
    - Dst: ll_append_tail
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:906,1
    - Dst: ll_append_head
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:916,1
    - Dst: ll_append_head
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:921,1
    - Dst: OSSL_TRACE_END
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:943,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 93
    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**
    constantsTouched: []
    func_position:
      end: 944
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 944
    functionName: ssl_cipher_apply_rule
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - BIO_printf
    - ll_append_tail
    - ll_append_head
    - OSSL_TRACE_END
    linkageType: ''
    returnType: void
    signature: 'static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey,
      uint32_t alg_auth, uint32_t alg_enc, uint32_t alg_mac, int min_tls, uint32_t
      algo_strength, int rule, int32_t strength_bits, CIPHER_ORDER **head_p, CIPHER_ORDER
      **tail_p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMP_zlib
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:457,1
    - Dst: OPENSSL_malloc
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:462,1
    - Dst: COMP_get_type
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:461,1
    - Dst: COMP_get_name
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:466,1
    - Dst: sk_SSL_COMP_new
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:459,1
    - Dst: sk_SSL_COMP_push
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:467,1
    - Dst: OPENSSL_free
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:468,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 473
    functionName: (do_load_builtin_compressions)
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - sk_SSL_COMP_push
    - COMP_get_type
    - sk_SSL_COMP_new
    - OPENSSL_free
    - COMP_get_name
    - sk_SSL_COMP_sort
    - COMP_zlib
    - OPENSSL_malloc
    linkageType: ''
    returnType: DEFINE_RUN_ONCE_STATIC
    signature: 'DEFINE_RUN_ONCE_STATIC (do_load_builtin_compressions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: load_builtin_compressions
    functionSourceFile: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c
    functionUses: []
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: 'static int load_builtin_compressions(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_md
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:636,1
    - Dst: ssl_get_algorithm2
      Src: /src/libspdm/os_stub/openssllib/openssl/ssl/ssl_ciph.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
 